llvm/lib
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
..
Analysis Fix typo in comment. 2015-04-24 15:46:41 +00:00
AsmParser IR: Add assembly/bitcode support for function metadata attachments 2015-04-24 22:04:41 +00:00
Bitcode IR: Add assembly/bitcode support for function metadata attachments 2015-04-24 22:04:41 +00:00
CodeGen Fix build error from accidental change 2015-04-24 23:34:46 +00:00
DebugInfo Move DIContext.h to common DebugInfo location. 2015-04-23 17:37:47 +00:00
ExecutionEngine Move DIContext.h to common DebugInfo location. 2015-04-23 17:37:47 +00:00
Fuzzer
IR IR: Add assembly/bitcode support for function metadata attachments 2015-04-24 22:04:41 +00:00
IRReader
LineEditor
Linker Linker: Copy over function metadata attachments 2015-04-24 22:07:31 +00:00
LTO [LTO API] add lto_codegen_set_should_internalize. 2015-04-17 17:10:09 +00:00
MC Revert accidentally committed "MC: Allow targets to stop symbol name quoting" 2015-04-23 23:34:51 +00:00
Object Change range-based for-loops to be -Wrange-loop-analysis clean. 2015-04-15 01:21:15 +00:00
Option
Passes
ProfileData
Support Assert that Process::FindInEnvPath() is passed a relative path. 2015-04-24 22:18:46 +00:00
TableGen [TableGen] Don't leak Expanders and Operators in SetTheory. 2015-04-24 06:49:44 +00:00
Target [bpf] fix build and remove a compiler warning in Release mode 2015-04-26 01:58:08 +00:00
Transforms [RewriteStatepointsForGC] Exclude constant values from being considered live at a safepoint 2015-04-26 19:48:03 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile