[llvm-commits] [llvm] r122581 - /llvm/trunk/lib/CodeGen/MachineVerifier.cpp

Cameron Zwarich zwarich at apple.com
Mon Dec 27 17:43:27 PST 2010


On Dec 27, 2010, at 4:11 PM, Jakob Stoklund Olesen wrote:

> 
> On Dec 27, 2010, at 1:56 PM, Cameron Zwarich wrote:
> 
>> On Dec 27, 2010, at 1:30 PM, Jakob Stoklund Olesen wrote:
>> 
>>>> +          if (VNI->isPHIDef() && VNI->def == LiveInts->getMBBStartIdx(MFI)) {
>>> 
>>> One thing is still missing: In this case, it is also legal for the live interval not to be live out of the predecessor. That can happen if a PHI operand was <undef>.
>> 
>> What's an easy test-case for this? I don't think I saw it trigger on any of the existing tests.
> 
> It usually shows up when you are using bugpoint. It tends to insert lots of undefs.

There's one in CodeGen/X86/2008-05-21-CoalescerBug.ll, but it never triggers the false error. After phi elimination (either normal or strong), there is no live range or VN for the undef value, so the error is never emitted.

If I run the verifier between LiveIntervals and StrongPHIElimination, it does give a false error in checkPHIOps. I could fix that one. Right now, the verifier isn't really meant to run between LiveIntervals and phi elimination, but I should probably go through and fix all of the issues so that works right.

Cameron



More information about the llvm-commits mailing list