alias.c (rtx_equal_for_memref_p, [...]): Don't assume args are REG.

* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
	args are REG.
	* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
	* function.c (assign_parms): Use INTVAL for a CONST_INT.

From-SVN: r39139
This commit is contained in:
Richard Kenner 2001-01-19 13:04:23 -05:00
parent fa7aa1feb6
commit 831ecbd460
4 changed files with 14 additions and 5 deletions

View File

@ -1,9 +1,17 @@
Fri Jan 19 13:02:56 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* alias.c (rtx_equal_for_memref_p, case ADDRESSOF): Don't assume
args are REG.
* expr.c (store_constructor): Don't look at MEM_ALIAS_SET unless MEM.
* function.c (assign_parms): Use INTVAL for a CONST_INT.
2001-01-19 Jason Merrill <jason@redhat.com>
* dwarf2out.c (gen_subprogram_die): Don't reuse the in-class decl
for the abstract instance of an inline function.
Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>, J"orn Rennecke <amylaar@redhat.com>
Fri Jan 19 14:31:35 2001 Alexandre Oliva <aoliva@redhat.com>
J"orn Rennecke <amylaar@redhat.com>
* reload1.c (move2add_note_store): Treat all registers directly or
indirectly derived from a base register as members of the same set
@ -19,7 +27,7 @@ Fri Jan 19 09:18:42 2001 J"orn Rennecke <amylaar@redhat.com>
Thu Jan 18 06:43:04 2001 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* flow.c (mark_set_1, case PARALLEL): Now case; rework to allow
* flow.c (mark_set_1, case PARALLEL): New case; rework to allow
entry to be EXPR_LIST.
* rtlanal.c (reg_overlap_mentioned_p): Allow PARALLEL in SET to
be an EXPR_LIST (but not null, which other code doesn't allow).

View File

@ -1007,8 +1007,8 @@ rtx_equal_for_memref_p (x, y)
return 0;
case ADDRESSOF:
return (REGNO (XEXP (x, 0)) == REGNO (XEXP (y, 0))
&& XINT (x, 1) == XINT (y, 1));
return (XINT (x, 1) == XINT (y, 1)
&& rtx_equal_for_memref_p (XEXP (x, 0), XEXP (y, 0)));
default:
break;

View File

@ -4785,6 +4785,7 @@ store_constructor (exp, target, align, cleared, size)
store_constructor_field (target, bitsize, bitpos, mode, value,
type, align, cleared,
TYPE_NONALIASED_COMPONENT (type)
&& GET_CODE (target) == MEM
? MEM_ALIAS_SET (target) :
get_alias_set (elttype));

View File

@ -4564,7 +4564,7 @@ assign_parms (fndecl)
&& GET_CODE (XEXP (XVECEXP (entry_parm, 0, i), 0)) == REG
&& (GET_MODE (XEXP (XVECEXP (entry_parm, 0, i), 0))
== passed_mode)
&& XINT (XEXP (XVECEXP (entry_parm, 0, i), 1), 0) == 0)
&& INTVAL (XEXP (XVECEXP (entry_parm, 0, i), 1)) == 0)
{
entry_parm = XEXP (XVECEXP (entry_parm, 0, i), 0);
DECL_INCOMING_RTL (parm) = entry_parm;