diff options
author | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-12-08 11:17:15 +0000 |
---|---|---|
committer | kenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4> | 1993-12-08 11:17:15 +0000 |
commit | 6d6214e0b31ce02fa4dcf7d59bbf59bfd8388d58 (patch) | |
tree | 686b874aa80c2cc69c92a042d93871e5f12fcdc3 /gcc/flow.c | |
parent | b16b4faa4d27ac52f6daba3a5b37a267d8711206 (diff) | |
download | gcc-6d6214e0b31ce02fa4dcf7d59bbf59bfd8388d58.tar.gz |
(mark_used_regs, case CLOBBER): Refine previous change to just look at
the address of a MEM inside a CLOBBER.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@6195 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flow.c')
-rw-r--r-- | gcc/flow.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/flow.c b/gcc/flow.c index 7b89279e63b..d3836957f77 100644 --- a/gcc/flow.c +++ b/gcc/flow.c @@ -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. */ |