From: Jeffrey A Law Date: Sun, 14 Feb 1999 23:43:25 +0000 (+0000) Subject: alias.c (init_alias_analysis): Avoid self-referential value when setting reg_known_va... X-Git-Tag: prereleases/egcs-1.1.2-prerelease-1~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=331178a8a4939083eea4fcfd7dcae6feefa4e7eb;p=thirdparty%2Fgcc.git alias.c (init_alias_analysis): Avoid self-referential value when setting reg_known_value from REG_EQUAL notes. Tue Feb 9 21:14:03 1999 J"orn Rennecke * alias.c (init_alias_analysis): Avoid self-referential value when setting reg_known_value from REG_EQUAL notes. From-SVN: r25210 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 9d7affa09776..4ae0e9938413 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ Sun Feb 14 23:05:34 1999 Jeffrey A Law (law@cygnus.com) + Tue Feb 9 21:14:03 1999 J"orn Rennecke + * alias.c (init_alias_analysis): Avoid self-referential value + when setting reg_known_value from REG_EQUAL notes. + Mon Aug 17 02:03:55 1998 Richard Henderson * regclass.c (allocate_reg_info): Respect MIN when clearing data. diff --git a/gcc/alias.c b/gcc/alias.c index de471394d561..281e353e1013 100644 --- a/gcc/alias.c +++ b/gcc/alias.c @@ -1174,7 +1174,8 @@ init_alias_analysis () && (((note = find_reg_note (insn, REG_EQUAL, 0)) != 0 && REG_N_SETS (REGNO (SET_DEST (set))) == 1) || (note = find_reg_note (insn, REG_EQUIV, NULL_RTX)) != 0) - && GET_CODE (XEXP (note, 0)) != EXPR_LIST) + && GET_CODE (XEXP (note, 0)) != EXPR_LIST + && ! reg_overlap_mentioned_p (SET_DEST (set), XEXP (note, 0))) { int regno = REGNO (SET_DEST (set)); reg_known_value[regno] = XEXP (note, 0);