summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/VirtRegMap.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2015-04-26 19:48:03 +0000
committerPhilip Reames <listmail@philipreames.com>2015-04-26 19:48:03 +0000
commit63294cbb6a2bc9a48aa2367e61136b13ab1ac12d (patch)
tree81462744b76fd93bdfb6bc343e2c3f11ac065b80 /llvm/lib/CodeGen/VirtRegMap.cpp
parent2e78fa49a82c496a0701b996bacf2868204bef64 (diff)
downloadbcm5719-llvm-63294cbb6a2bc9a48aa2367e61136b13ab1ac12d.tar.gz
bcm5719-llvm-63294cbb6a2bc9a48aa2367e61136b13ab1ac12d.zip
[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 llvm-svn: 235821
Diffstat (limited to 'llvm/lib/CodeGen/VirtRegMap.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud