This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/15014] [tree-ssa] [regression] labels after are removed even though they are used
- From: "steven at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 4 May 2004 12:05:27 -0000
- Subject: [Bug middle-end/15014] [tree-ssa] [regression] labels after are removed even though they are used
- References: <20040419154104.15014.pinskia@gcc.gnu.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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