aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/loop.c4
-rw-r--r--gcc/reload1.c1
3 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 757f7c0..b345fd7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2003-03-29 Alan Modra <amodra@bigpond.net.au>
+
+ * reload1.c (reload_as_needed): Allow a USE in asm reloads.
+
+ * loop.c: (find_mem_in_note_1, find_mem_in_note): Comment.
+
2003-03-28 Nathanael Nerode <neroden@gcc.gnu.org>
* configure.in: Clarify comments.
diff --git a/gcc/loop.c b/gcc/loop.c
index 7feb77d..35ed161 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -10400,6 +10400,8 @@ try_swap_copy_prop (loop, replacement, regno)
}
}
+/* Worker function for find_mem_in_note, called via for_each_rtx. */
+
static int
find_mem_in_note_1 (x, data)
rtx *x;
@@ -10414,6 +10416,8 @@ find_mem_in_note_1 (x, data)
return 0;
}
+/* Returns the first MEM found in NOTE by depth-first search. */
+
static rtx
find_mem_in_note (note)
rtx note;
diff --git a/gcc/reload1.c b/gcc/reload1.c
index de995a0..1ae8990 100644
--- a/gcc/reload1.c
+++ b/gcc/reload1.c
@@ -3940,6 +3940,7 @@ reload_as_needed (live_known)
if (asm_noperands (PATTERN (insn)) >= 0)
for (p = NEXT_INSN (prev); p != next; p = NEXT_INSN (p))
if (p != insn && INSN_P (p)
+ && GET_CODE (PATTERN (p)) != USE
&& (recog_memoized (p) < 0
|| (extract_insn (p), ! constrain_operands (1))))
{