This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/15014] [tree-ssa] [regression] labels after are removed even though they are used


------- Additional Comments From steven at gcc dot gnu dot org  2004-05-04 12:05 -------
Tree SSA produces the following .s file at -O:

.L2:
        movl    $.L2, %eax
        movl    $.L3, %edx
        subl    %edx, %eax
        movl    %eax, a(%rip)
        movl    $0, %eax
        ret

And obviously the problem is that .L3 is never defined.

What are the semantics of this test case, is it allowed
to move the label around to another place?  GCC 3.3.1
clearly does, and it produces this (also at -O):

.L2:
        leal    .L2(%rip), %eax
        leal    .L3(%rip), %edx
        subl    %edx, %eax
        movl    %eax, a(%rip)
.L3:
        movl    $0, %eax
        ret



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2004-04-19 16:03:48         |2004-05-04 12:05:25
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15014


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]