[LLVMdev] Strong PHI elimination asserts in RegisterCoalescer.C:1388

Cameron Zwarich zwarich at apple.com
Wed Jun 20 15:54:25 PDT 2012


I'm the person who wrote it, and it's not really maintained, as we decided we wanted to go in a different direction long-term by having fewer passes making independent coalescing decisions rather than more. At the time I stopped working on it, it worked fine on x86 but caused problems with armv7 NEON code.

If you file a PR with a test case, I am happy to take a quick look and try to fix it. There have been some changes to the backend that might not have been updated correctly in StrongPHIElimination.

Cameron

On Jun 20, 2012, at 3:47 PM, Andrew Clinton wrote:

> I've started using the strong PHI elimination pass, and it seems to work beautifully (producing much better placement of copy instructions) - though I'm seeing that it triggers an assert in debug+assert builds.  The assertion is on line 1388 of RegisterCoalescer.C.  Attached is the -debug output from the machine optimization part of the optimizer, for the simplest test case I could create that triggers this behavior.
> 
> Any idea what might be going wrong?  Are there known issues with strong PHI elimination?
> 
> Andrew
> <log_debug_coalescing.txt>_______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list