This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]