[llvm-commits] [llvm] r139765 - in /llvm/trunk: include/llvm/CodeGen/LiveInterval.h lib/CodeGen/RegisterCoalescer.cpp test/CodeGen/X86/2011-09-14-valcoalesce.ll

Jakob Stoklund Olesen stoklund at 2pi.dk
Thu Sep 15 09:32:31 PDT 2011


On Sep 15, 2011, at 9:19 AM, Andrew Trick wrote:

> On Sep 14, 2011, at 7:46 PM, Jakob Stoklund Olesen wrote:
> 
>> 
>> How would this test actually fail? The miscompilation didn't cause llc to crash, right?
> 
> Nope. And verification does catch it. We really need post-coalescing interference verification based on SSA values.

That would be nice, but we would need to refer back to the LLVM IR values.  In this case, the coalescer was actively editing the code to put the wrong value be wrong.  Everything looks OK after coalescing, unless you compare against some side-table.

> I struggled with how to add CHECK lines that weren't ridiculously fragile.

Yep, known problem.

> Block's are "randomly" shuffled

-disable-branch-fold helps.

> , copies "randomly" coalesced on different paths, and registers "randomly" renamed. I can try to add some though if you think it's worthwhile.

Just a simple CHECK that a copy is inserted in the desired block.

I know this depends on coalescing order, but that is quite stable.

/jakob




More information about the llvm-commits mailing list