This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/39837] [4.3/4.4/4.5 regression] extra spills due to RTL LICM
- From: "sandra at codesourcery dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Jul 2010 21:07:23 -0000
- Subject: [Bug rtl-optimization/39837] [4.3/4.4/4.5 regression] extra spills due to RTL LICM
- References: <bug-39837-17592@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #11 from sandra at codesourcery dot com 2010-07-10 21:07 -------
I just checked to see if this is still a problem. As of r162042, the example
in comment #1 produces the same (bad) output as GCC 4.4.1. However, the example
in comment #4 looks fixed to me, with this output:
test:
push {r0, r1, r2, lr}
mov r3, #0
str r3, [sp, #4]
.L2:
add r0, sp, #4
bl func
ldr r3, [sp, #4]
cmp r3, #12
ble .L2
@ sp needed for prologue
pop {r0, r1, r2, pc}
As it was the latter test case that caused this to be marked as a duplicate of
PR 36758, maybe the original test case is tripping over a different problem and
needs to be re-examined?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39837