diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1993-12-08 06:17:15 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1993-12-08 06:17:15 -0500 |
commit | 2f1553a4d5f3ad1885ba3fe308b4b6f3b75d2854 (patch) | |
tree | 686b874aa80c2cc69c92a042d93871e5f12fcdc3 /gcc | |
parent | aae678414b17b8ec35ee8479c4909a7cb43d4195 (diff) | |
download | gcc-2f1553a4d5f3ad1885ba3fe308b4b6f3b75d2854.zip gcc-2f1553a4d5f3ad1885ba3fe308b4b6f3b75d2854.tar.gz gcc-2f1553a4d5f3ad1885ba3fe308b4b6f3b75d2854.tar.bz2 |
(mark_used_regs, case CLOBBER): Refine previous change to just look at
the address of a MEM inside a CLOBBER.
From-SVN: r6195
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/flow.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -1,5 +1,5 @@ /* Data flow analysis for GNU compiler. - Copyright (C) 1987, 1988, 1992 Free Software Foundation, Inc. + Copyright (C) 1987, 1988, 1992, 1993 Free Software Foundation, Inc. This file is part of GNU CC. @@ -2170,6 +2170,13 @@ mark_used_regs (needed, live, x, final, insn) return; #endif + case CLOBBER: + /* If we are clobbering a MEM, mark any registers inside the address + as being used. */ + if (GET_CODE (XEXP (x, 0)) == MEM) + mark_used_regs (needed, live, XEXP (XEXP (x, 0), 0), final, insn); + return; + case MEM: /* Invalidate the data for the last MEM stored. We could do this only if the addresses conflict, but this doesn't seem worthwhile. */ |