llvm-6502/lib
Philip Reames d92e9ef170 [RewriteStatepointsForGC] Use an actual liveness algorithm
When rewriting statepoints to make relocations explicit, we need to have a conservative but consistent notion of where a particular pointer is live at a particular site. The old code just used dominance, which is correct, but decidedly more conservative then it needed to be. This patch implements a simple dataflow algorithm that's run one per function (well, twice counting fixup after base pointer insertion). There's still lots of room to make this faster, but it's fast enough for all practical purposes today.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234657 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-10 22:53:14 +00:00
..
Analysis [CallSite] Make construction from Value* (or Instruction*) explicit. 2015-04-10 14:50:08 +00:00
AsmParser
Bitcode IR: Remove MDTupleTypedArrayWrapper::operator MDTuple*() 2015-04-07 16:50:39 +00:00
CodeGen [CodeGenPrepare] Report all changes made during instruction sinking 2015-04-10 22:25:36 +00:00
DebugInfo
ExecutionEngine Reduce dyn_cast<> to isa<> or cast<> where possible. 2015-04-10 11:24:51 +00:00
Fuzzer
IR DebugInfo: Stop leaking temporaries in DIBuilder::createCompileUnit() 2015-04-10 18:01:58 +00:00
IRReader
LineEditor
Linker
LTO Simplify use of formatted_raw_ostream. 2015-04-09 21:06:08 +00:00
MC Simplify use of formatted_raw_ostream. 2015-04-09 21:06:08 +00:00
Object
Option
Passes
ProfileData
Support Remember if lseek works in this FD. 2015-04-10 18:15:51 +00:00
TableGen Reduce dyn_cast<> to isa<> or cast<> where possible. 2015-04-10 11:24:51 +00:00
Target [PowerPC] Prefetching should also consider depth > 1 loops 2015-04-10 15:05:02 +00:00
Transforms [RewriteStatepointsForGC] Use an actual liveness algorithm 2015-04-10 22:53:14 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile