--
ramana at gcc dot gnu dot org changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Last reconfir
--- Comment #4 from alexvod at google dot com 2009-04-23 16:39 ---
A more simple example of this issue:
void func(int*);
void test()
{
int a = 0;
while (1) {
func(&a);
if (a > 12) break;
}
}
GCC rev123918:
push{lr}
sub sp, sp, #12
mov
--
rguenth at gcc dot gnu dot org changed:
What|Removed |Added
Priority|P3 |P2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39837
--- Comment #3 from pinskia at gcc dot gnu dot org 2009-04-21 16:49 ---
mov r5, r4
add r5, r5, #8
.L2:
ldr r2, [r4, #8]
mov r1, r5
Wait, r4+8 is the same as r5 here so loop invariant should have used it.
--
pinskia at gcc dot gnu dot org c
--- Comment #2 from alexvod at google dot com 2009-04-21 16:47 ---
Created an attachment (id=17665)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17665&action=view)
gcc-rev123919.regr.c.139r.loop2_invariant
A dump of loop2_invariant phase from gcc rev123919
--
http://gcc.gnu.
--- Comment #1 from alexvod at google dot com 2009-04-21 16:45 ---
Created an attachment (id=17664)
--> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=17664&action=view)
gcc-rev123918.regr.c.139r.loop2_invariant
A dump of loop2_invariant phase with gcc rev123918
--
http://gcc.gnu.