Commit 93fe8e92 by Richard Kenner Committed by Richard Kenner

emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.

	* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
	* function.c (fixup_var_refs): Add MAY_SHARE parameter.
	(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
	(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
	(pop_function_context): Compute MAY_SHARE parameter for
	fixup_var_refs.
	(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
	(gen_mem_addressof): Call fixup_var_refs with new parm.

From-SVN: r50493
parent 0a7ec763
Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> Sat Mar 9 07:20:01 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* emit-rtl.c (copy_most_rtx): Accept EXPR_LIST for may_share.
* function.c (fixup_var_refs): Add MAY_SHARE parameter.
(fixup_var_refs_insns, fixup_var_refs_insns_with_has): Likewise.
(fixup_var_refs_insn, fixup_var_refs_1): Likewise.
(pop_function_context): Compute MAY_SHARE parameter for
fixup_var_refs.
(fixup_var_refs_1, case MEM): Pass MAY_SHARE to copy_most_rtx, not VAR.
(gen_mem_addressof): Call fixup_var_refs with new parm.
* combine.c (make_extraction): Don't make extension of CONST_INT. * combine.c (make_extraction): Don't make extension of CONST_INT.
2002-03-09 Alexandre Oliva <aoliva@redhat.com> 2002-03-09 Alexandre Oliva <aoliva@redhat.com>
......
...@@ -2239,7 +2239,8 @@ reset_used_decls (blk) ...@@ -2239,7 +2239,8 @@ reset_used_decls (blk)
} }
/* Similar to `copy_rtx' except that if MAY_SHARE is present, it is /* Similar to `copy_rtx' except that if MAY_SHARE is present, it is
placed in the result directly, rather than being copied. */ placed in the result directly, rather than being copied. MAY_SHARE is
either a MEM of an EXPR_LIST of MEMs. */
rtx rtx
copy_most_rtx (orig, may_share) copy_most_rtx (orig, may_share)
...@@ -2251,7 +2252,9 @@ copy_most_rtx (orig, may_share) ...@@ -2251,7 +2252,9 @@ copy_most_rtx (orig, may_share)
RTX_CODE code; RTX_CODE code;
const char *format_ptr; const char *format_ptr;
if (orig == may_share) if (orig == may_share
|| (GET_CODE (may_share) == EXPR_LIST
&& in_expr_list_p (may_share, orig)))
return orig; return orig;
code = GET_CODE (orig); code = GET_CODE (orig);
......
Sat Mar 9 07:47:50 2002 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* gcc.c-torture/compile/20020309-1.c: New test.
2002-03-08 Jakub Jelinek <jakub@redhat.com> 2002-03-08 Jakub Jelinek <jakub@redhat.com>
* gcc.c-torture/execute/20020307-2.c: New test. * gcc.c-torture/execute/20020307-2.c: New test.
......
int
sub1 (char *p, int i)
{
char j = p[i];
{
void
sub2 ()
{
i = 2;
p = p + 2;
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment