This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PR target/20126, RFC] loop DEST_ADDR biv replacement may fail
On Wed, Mar 09, 2005 at 01:02:08AM -0300, Alexandre Oliva wrote:
> On Mar 8, 2005, Jakub Jelinek <jakub@redhat.com> wrote:
>
> > Unfortunately, it seems to break ada bootstrap on at least x86-64 and i386:
>
> Odd... It surely completed bootstrap for me with default build flags.
Your code hits just once on ali.adb
stage1/gnat1 -I- -I. -Iada -I../../gcc/ada -quiet -dumpbase ali.adb -O2 -gnatpg \
-gnata -gnatO ada/ali.o ../../gcc/ada/ali.adb -o foo.s
(gdb) p debug_rtx(v->insn)
(insn 1571 1568 1573 (set (mem/s/v/j:QI (plus:SI (reg:SI 349 [ D.4388 ])
(symbol_ref:SI ("ali__cumulative_restrictions") [flags 0x2] <var_decl 0xb7c0ea8c ali__cumulative_restrictions>)) [5 ali__cumulative_restrictions.set S1 A8])
(const_int 1 [0x1])) -1 (nil)
(nil))
(gdb) p debug_rtx(*v->location)
(plus:SI (reg:SI 349 [ D.4388 ])
(symbol_ref:SI ("ali__cumulative_restrictions") [flags 0x2] <var_decl 0xb7c0ea8c ali__cumulative_restrictions>))
(gdb) p debug_rtx(v->new_reg)
(plus:SI (reg:SI 1953)
(symbol_ref:SI ("ali__cumulative_restrictions") [flags 0x2] <var_decl 0xb7c0ea8c ali__cumulative_restrictions>))
Note that recog_memoized (v->insn) is -1 even without the change, not sure what would
fix that up. But it certainly shows that *v->location doesn't have to be
a simple pseudo, so gen_move_insn might not work.
Jakub