re PR rtl-optimization/22509 (elemental.f90 testsuite failure (-fweb))

PR rtl-optimization/22509
	* local-alloc.c (memref_used_between_p): Check whether a function call
	could not reference the memref.

From-SVN: r106783
This commit is contained in:
Zdenek Dvorak 2005-11-11 14:38:07 +01:00 committed by Zdenek Dvorak
parent 8a4c09c833
commit 301a8f9577
2 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2005-11-11 Zdenek Dvorak <dvorakz@suse.cz>
PR rtl-optimization/22509
* local-alloc.c (memref_used_between_p): Check whether a function call
could not reference the memref.
2005-11-11 Ulrich Weigand <uweigand@de.ibm.com>
* postreload.c (reload_cse_simplify_operands): Fix bug in sorting

View File

@ -762,8 +762,19 @@ memref_used_between_p (rtx memref, rtx start, rtx end)
for (insn = NEXT_INSN (start); insn != NEXT_INSN (end);
insn = NEXT_INSN (insn))
if (INSN_P (insn) && memref_referenced_p (memref, PATTERN (insn)))
return 1;
{
if (!INSN_P (insn))
continue;
if (memref_referenced_p (memref, PATTERN (insn)))
return 1;
/* Nonconst functions may access memory. */
if (CALL_P (insn)
&& (! CONST_OR_PURE_CALL_P (insn)
|| pure_call_p (insn)))
return 1;
}
return 0;
}