Commit 21863332 authored by Hans Wennborg's avatar Hans Wennborg
Browse files

Merge r168037 from trunk:

  Make GlobalOpt be conservative with TLS variables (PR14309)

  For global variables that get the same value stored into them
  everywhere, GlobalOpt will replace them with a constant. The problem is
  that a thread-local GlobalVariable looks like one value (the address of
  the TLS var), but is different between threads.

  This patch introduces Constant::isThreadDependent() which returns true
  for thread-local variables and constants which depend on them (e.g. a GEP
  into a thread-local array), and teaches GlobalOpt not to track such
  values.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/branches/release_32@168192 91177308-0d34-0410-b5e6-96231b3b80d8
parent 3481efbe
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment