[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