aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/RegAllocBase.cpp
diff options
context:
space:
mode:
authorJakob Stoklund Olesen <stoklund@2pi.dk>2012-06-05 22:02:15 +0000
committerJakob Stoklund Olesen <stoklund@2pi.dk>2012-06-05 22:02:15 +0000
commit12e03dae448b32e7d43d6c40021cbc596cddebdd (patch)
treede5689b759fa7ab129ec85784bb7177ba61e3b67 /llvm/lib/CodeGen/RegAllocBase.cpp
parent54baf2e57dd3cd39f35b4cf8c1b644cf617ba907 (diff)
downloadllvm-12e03dae448b32e7d43d6c40021cbc596cddebdd.zip
llvm-12e03dae448b32e7d43d6c40021cbc596cddebdd.tar.gz
llvm-12e03dae448b32e7d43d6c40021cbc596cddebdd.tar.bz2
Add experimental support for register unit liveness.
Instead of computing a live interval per physreg, LiveIntervals can compute live intervals per register unit. This makes impossible the confusing situation where aliasing registers could have overlapping live intervals. It should also make fixed interferernce checking cheaper since registers have fewer register units than aliases. Live intervals for regunits are computed on demand, using MRI use-def chains and the new LiveRangeCalc class. Only regunits live in to ABI blocks are precomputed during LiveIntervals::runOnMachineFunction(). The regunit liveness computations don't depend on LiveVariables. llvm-svn: 158029
Diffstat (limited to 'llvm/lib/CodeGen/RegAllocBase.cpp')
0 files changed, 0 insertions, 0 deletions