--- Comment #7 from ebotcazou at gcc dot gnu dot org 2009-08-25 00:37
---
I tweaked IVOPTS a few months ago to help in similar cases on PowerPC:
2009-05-29 Eric Botcazou
* tree-ssa-loop-ivopts.c (strip_offset_1) : New case.
(force_expr_to_var_cost) : Likewise.
--- Comment #6 from sandra at codesourcery dot com 2009-08-24 22:36 ---
This bug appears to be fixed in mainline HEAD now. Here's an excerpt showing
the generated code for the inner loop in the example program now:
addiu $21,$28,%gp_rel(AA)
addiu $10,$28,%gp_rel(A)
--- Comment #5 from sandra at codesourcery dot com 2008-06-30 02:05 ---
Maybe I'm just being clueless here, but I don't understand why this bug was
re-categorized. In my original analysis, I traced the bad code directly to the
RA pass un-doing the results of previous optimizations. And
--- Comment #4 from hp at gcc dot gnu dot org 2008-06-02 23:11 ---
n
--
hp at gcc dot gnu dot org changed:
What|Removed |Added
CC|
--- Comment #3 from sandra at codesourcery dot com 2008-05-12 19:10 ---
One other tidbit: the MIPS SDE 3.4.4-based toolchain produced the desired code
for this test case. It's really a 4.* regression, not an enhancement.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36223
--- Comment #2 from pinskia at gcc dot gnu dot org 2008-05-12 19:09 ---
Actually this is an IV-opt issue rather than a RA/PRE issue.
For GCC 4.1.1 targeting an internal PPC port, I get the following on the tree
level at the end:
:;
D.2011 = (long int *) ivtmp.92;
MEM[base: &AA, index