[PATCH] Add a case to LiveIntervalAnalysis::HandleMoveUp
Vincent Lejeune
vljn at ovi.com
Wed Mar 6 14:01:43 PST 2013
Hi Jakob,
>
> Did you read my previous mail about the problem with live-out values? You
> didn't address the problem.
I actually don't understand what should be done for live out values.
For instance if I have the following LiveInterval :
[48r,64r:2)[64r,80r:3)[80r,96B:4)[96B,336r:0)[448B,640r:0)[640r,672r:1)[672r,688r:5)[688r,704r:6)[704r,816B:7)
With block boundaries :
[0B;80B][96B;240B][256B;432B][448B;800B]
My reasoning is the following :
LiveRange that represents live-out value in the first bloc is [80r;96B] ;
If I move 80r to 8B for instance, I'm expecting the the first three LiveRange to be :
[8r,48r:4)[48r,64r:2)[64r,96B:3)
ie val 3 is becoming the new live-out value, that ends where value 4 ended before.
> Andy said he is going to add a -verify-scheduler command line option that runs
> the machine code verifier before and after the MI scheduler. You should have
> some test cases that contains multiple basic blocks, and exercise this code with
> -stress-scheduler and -verify-sceuduler.
>
> You should also make sure that the LLVM nightly test suite still works for x86
> with -enable-misched -verify-scheduler -stress-scheduler.
>
> I would recommend that you read the code in LiveRangeCalc.cpp to better
> understand how live intervals work.
Thank for pointing me this, I was looking at LiveIntervalAnalysis.cpp to infer the inner working
of LiveInterval untill now but LiveRangeCalc.cpp is more informative.
Vincent
>
> /jakob
>
More information about the llvm-commits
mailing list