[LLVMdev] LiveIntervals analysis problem

Andrew Trick atrick at apple.com
Sun Feb 17 12:39:06 PST 2013


On Feb 14, 2013, at 8:26 AM, Tomas Minac <minac.tomas at gmail.com> wrote:

> Hello everyone,
> 
> please I need your help.
> 
> To reproduce my problem I created simple pass for backends (TestPass.cpp in attached files). That pass I call from Mips backend in this way (MipsTargetMachine.cpp):
> bool MipsPassConfig::addPreRegAlloc() {
>     addPass(createTestPass());
>     return false;
> }
> 
> The problem becomes, when I am trying compile file ldtoa.ll (in attached files). Compiling process ends with errors from LiveIntervalsAnalysis. Everything is ok without TestPass.
> 
> I don't understand what's going on. My pass doesn't do anything but call analyse. It is strange that the compiling process fails few passes after my pass.
> 
> Some suggestions?
> 
> Greetings,
> Tom
> 
> P.S.: I work with LLVM 3.2 release.

Hi Tom. LiveIntervals does not know how to recompute itself after coalescing. So if you add a preRegAlloc pass, you *must* preserve LiveIntervalsAnalysis.

-Andy



More information about the llvm-dev mailing list