[llvm-commits] [llvm] r150768 - /llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
NAKAMURA Takumi
geek4civic at gmail.com
Thu Feb 16 16:51:06 PST 2012
2012/2/17 Lang Hames <lhames at gmail.com>:
> Author: lhames
> Date: Thu Feb 16 18:18:18 2012
> New Revision: 150768
>
> URL: http://llvm.org/viewvc/llvm-project?rev=150768&view=rev
> Log:
> Turn off assertion, conservatively compute liveness for live-in un-allocatable registers.
>
> Modified:
> llvm/trunk/lib/CodeGen/LiveIntervalAnalysis.cpp
> @@ -526,15 +527,16 @@
>
> // Live-in register might not be used at all.
> if (!SeenDefUse) {
> - if (isAllocatable(interval.reg) || isReserved(interval.reg)) {
> - // This must be an entry block or landing pad - we asserted so on entry
> - // to the function. For these blocks the interval is dead on entry, so
> - // we won't emit a live-range for it.
> + if (isAllocatable(interval.reg) ||
> + !isRegLiveIntoSuccessor(MBB, interval.reg)) {
> + // Allocatable registers are never live through.
> + // Non-allocatable registers that aren't live into any successors also
> + // aren't live through.
> DEBUG(dbgs() << " dead");
> return;
> } else {
isRegLiveIntoSuccessor() is used regardles of NDEBUG, to be failing to
build on -Asserts.
More information about the llvm-commits
mailing list