diff options
| author | J"orn Rennecke <amylaar@cygnus.co.uk> | 1998-02-13 12:40:29 +0000 |
|---|---|---|
| committer | Joern Rennecke <amylaar@gcc.gnu.org> | 1998-02-13 12:40:29 +0000 |
| commit | fcdc0d6e6167ef2887ede475210f21a90898c5f1 (patch) | |
| tree | 6a925779458f601a118c1111003deb72d2bfd0a1 /gcc/sched.c | |
| parent | b7673cdb66d14f70c2d43cf14806dd73b73c84b6 (diff) | |
| download | gcc-fcdc0d6e6167ef2887ede475210f21a90898c5f1.zip gcc-fcdc0d6e6167ef2887ede475210f21a90898c5f1.tar.gz gcc-fcdc0d6e6167ef2887ede475210f21a90898c5f1.tar.bz2 | |
sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn was deleted.
* sched.c (update_flow_info, REG_WAS_0): Ignore if setting insn
was deleted.
* haifa-sched.c (update_flow_info, REG_WAS_0): Likewise.
From-SVN: r17963
Diffstat (limited to 'gcc/sched.c')
| -rw-r--r-- | gcc/sched.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/sched.c b/gcc/sched.c index b95241b..2fae2d4 100644 --- a/gcc/sched.c +++ b/gcc/sched.c @@ -3854,6 +3854,14 @@ update_flow_info (notes, first, last, orig_insn) break; case REG_WAS_0: + /* If the insn that set the register to 0 was deleted, this + note cannot be relied on any longer. The destination might + even have been moved to memory. + This was observed for SH4 with execute/920501-6.c compilation, + -O2 -fomit-frame-pointer -finline-functions . */ + if (GET_CODE (XEXP (note, 0)) == NOTE + || INSN_DELETED_P (XEXP (note, 0))) + break; /* This note applies to the dest of the original insn. Find the first new insn that now has the same dest, and move the note there. */ |
