Commit ba61874c 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.

llvm-svn: 168192
parent 9f4e22d1
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment