[LLVMbugs] [Bug 865] Coalescer is really confused or something

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Mon Aug 21 15:26:16 PDT 2006


http://llvm.org/bugs/show_bug.cgi?id=865

sabre at nondot.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |REOPENED
         Resolution|FIXED                       |



------- Additional Comments From sabre at nondot.org  2006-08-21 17:26 -------
This is definitely an improvement, but not enough.  The generated code now looks like this:

_foo:
        movl 8(%esp), %ecx
        movl 4(%esp), %edx
LBB1_1: #cond_true
        movl %edx, %eax
        incl %edx
        cmpl $40, %ecx
        jl LBB1_1       #cond_true
LBB1_2: #bb12
        ret

This is *clearly* better than having two movs, but it would be better to have:

_foo:
        movl 8(%esp), %ecx
        movl 4(%esp), %eax
LBB1_1: #cond_true
        incl %eax
        cmpl $40, %ecx
        jl LBB1_1       #cond_true
LBB1_2: #bb12
        ret

I think that this is a coallescing problem, the PHI live-range isn't getting coallesced with the copy into 
EAX at the end properly or something.

-Chris



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list