llvm-6502/lib/Transforms
Philip Reames a404b6f421 [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint
There can be various constant pointers in the IR which do not get relocated at a safepoint. One example is the address of a global variable. Another example is a pointer created via inttoptr. Note that the optimizer itself likes to create such inttoptrs when locally propagating constants through dynamically dead code.

To deal with this, we need to exclude uses of constants from contributing to the liveness of a safepoint which might reach that use. At some later date, it might be worth exploring what could be done to support the relocation of various special types of "constants", but that's future work.

Differential Revision: http://reviews.llvm.org/D9236



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235821 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-26 19:48:03 +00:00
..
Hello [CMake] Add LLVM_LINK_COMPONENTS to loadable modules, LLVMHello and BugpointPasses, on Win32. 2014-07-13 13:36:48 +00:00
InstCombine [x86] instcombine more cases of insertps into a shufflevector 2015-04-25 20:55:25 +00:00
Instrumentation DebugInfo: Delete subclasses of DIScope 2015-04-20 22:10:08 +00:00
IPO Move Value.isDereferenceablePointer to ValueTracking [NFC] 2015-04-23 17:36:48 +00:00
ObjCARC Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
Scalar [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint 2015-04-26 19:48:03 +00:00
Utils SimplifyCFG: Correctly handle switch lookup tables which fully cover the input type and use bit tests to check for holes 2015-04-24 20:57:56 +00:00
Vectorize Fix a couple of typos in comments. 2015-04-24 00:10:27 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile