llvm-6502/lib
Jakob Stoklund Olesen aba6559370 Add an MRI::tracksLiveness() flag.
Late optimization passes like branch folding and tail duplication can
transform the machine code in a way that makes it expensive to keep the
register liveness information up to date. There is a fuzzy line between
register allocation and late scheduling where the liveness information
degrades.

The MRI::tracksLiveness() flag makes the line clear: While true,
liveness information is accurate, and can be used for register
scavenging. Once the flag is false, liveness information is not
accurate, and can only be used as a hint.

Late passes generally don't need the liveness information, but they will
sometimes use the register scavenger to help update it. The scavenger
enforces strict correctness, and we have to spend a lot of code to
update register liveness that may never be used.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@153511 91177308-0d34-0410-b5e6-96231b3b80d8
2012-03-27 15:13:58 +00:00
..
Analysis SCEV fix: Handle loop invariant loads. 2012-03-26 22:33:59 +00:00
Archive Include cstdio in a few place that depended on getting it transitively through StringExtras.h 2012-03-23 11:35:30 +00:00
AsmParser Convert assert(0) to llvm_unreachable 2012-02-07 05:05:23 +00:00
Bitcode llvm::SwitchInst 2012-03-11 06:09:17 +00:00
CodeGen Add an MRI::tracksLiveness() flag. 2012-03-27 15:13:58 +00:00
DebugInfo More dead code removal (using -Wunreachable-code) 2012-01-20 21:51:11 +00:00
ExecutionEngine Made RuntimeDyldMachO support vanilla i386 2012-03-26 20:45:52 +00:00
Linker It's possible for two types, which are isomorphic, to be added to the 2012-03-23 23:17:38 +00:00
MC Prune some includes 2012-03-27 07:54:11 +00:00
Object [Object/COFF]: Expose getSectionContents. 2012-03-19 20:27:37 +00:00
Support Fix GetMainExecutable on kFreeBSD. 2012-03-26 12:05:51 +00:00
TableGen Fix infinite loop in nested multiclasses. 2012-03-07 16:39:35 +00:00
Target Prune some includes 2012-03-27 07:54:11 +00:00
Transforms Make a seemingly tiny change to the inliner and fix the generated code 2012-03-27 10:48:28 +00:00
VMCore Add missing include of <new> 2012-03-26 14:04:17 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile