[llvm-commits] [llvm] r130568 - /llvm/trunk/lib/CodeGen/Passes.cpp

Duncan Sands baldrick at free.fr
Sat Apr 30 05:07:58 PDT 2011


Hi Jakob, this probably broke the i386 dragonegg buildbot:
http://google1.osuosl.org:8011/builders/dragonegg-i386-linux/builds/1251

The failure is:
cc1plus: lib/CodeGen/RegAllocGreedy.cpp:809: 
void<unnamed>::RAGreedy::splitAroundRegion(llvm::LiveInterval&, 
<unnamed>::RAGreedy::GlobalSplitCandidate&, 
llvm::SmallVectorImpl<llvm::LiveInterval*>&): Assertion `SegStart >= Intf.last() 
&& "Couldn't avoid interference"' failed.
Stack dump:
0.	Running pass 'Greedy Register Allocator' on function 
'@_ZN4llvm16InstrInfoEmitter14GetOperandInfoERKNS_18CodeGenInstructionE'
g++: Internal error: Aborted (program cc1plus)

I can try to get you a testcase if you like.

Ciao, Duncan.

> Author: stoklund
> Date: Fri Apr 29 20:37:54 2011
> New Revision: 130568
>
> URL: http://llvm.org/viewvc/llvm-project?rev=130568&view=rev
> Log:
> Use a greedy algorithm for allocating registers.
>
> Modified:
>      llvm/trunk/lib/CodeGen/Passes.cpp
>
> Modified: llvm/trunk/lib/CodeGen/Passes.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/Passes.cpp?rev=130568&r1=130567&r2=130568&view=diff
> ==============================================================================
> --- llvm/trunk/lib/CodeGen/Passes.cpp (original)
> +++ llvm/trunk/lib/CodeGen/Passes.cpp Fri Apr 29 20:37:54 2011
> @@ -57,8 +57,8 @@
>
>     // This forces linking of the greedy register allocator, so -regalloc=greedy
>     // works in clang.
> -  if (Ctor == createGreedyRegisterAllocator)
> -    return createGreedyRegisterAllocator();
> +  if (Ctor == createLinearScanRegisterAllocator)
> +    return createLinearScanRegisterAllocator();
>
>     if (Ctor != createDefaultRegisterAllocator)
>       return Ctor();
> @@ -68,6 +68,6 @@
>     case CodeGenOpt::None:
>       return createFastRegisterAllocator();
>     default:
> -    return createLinearScanRegisterAllocator();
> +    return createGreedyRegisterAllocator();
>     }
>   }
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list