[Linux-ia64] Re: optimization/3783

From: Jessica Han <jessica_at_cup.hp.com>
Date: 2001-09-05 06:33:04
http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%26pr=3783%26database=gcc
 It seems this problem occurs only when we have POST_INC addressing mode.
With POST_INC, for rtl "set reg351, reg328 PLUS 1", attempt_auto_inc
(flow.c) will change reg328 into reg351 as an operand of POST_INC, but leave
the "PLUS" as is. Thus the RTL becomes "set reg 351, reg351 PLUS 1" and
causes the infinite recursion in canon_rtx. If I substitute "reg328 PLUS 1"
with POST_INC reg351, the testcase attached in GNAT will pass at compile
time.
   The fix I did is in attempt_auto_inc:
  <       validate_change (incr, &XEXP (y, opnum), q, 1);
  ---
  >       validate_change (incr, &y, inc, 1);
Is this the right thing to do? Thanks.
Received on Tue Sep 04 13:42:16 2001

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:05 EST