diff options
author | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 15:59:40 +0000 |
---|---|---|
committer | ian <ian@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-03-23 15:59:40 +0000 |
commit | eafdc6c2639a6f42ff0a8520e1520c72dc412bce (patch) | |
tree | 1d2e8d636e2d097fbbf7d8d91bff95a8cd0968e0 /gcc/final.c | |
parent | b3e197fcb0709adb370f64086add6452a8604b45 (diff) | |
download | gcc-eafdc6c2639a6f42ff0a8520e1520c72dc412bce.tar.gz |
* final.c (final_scan_insn): Don't remove no-op instructions.
* reload1.c (reload): Remove simple no-op instructions even when
not optimizing.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96933 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/final.c')
-rw-r--r-- | gcc/final.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/gcc/final.c b/gcc/final.c index 9347efe6b47..906e50c00fe 100644 --- a/gcc/final.c +++ b/gcc/final.c @@ -1,6 +1,7 @@ /* Convert RTL to assembler code and output it, for GNU compiler. Copyright (C) 1987, 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, - 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. + 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 + Free Software Foundation, Inc. This file is part of GCC. @@ -2267,20 +2268,6 @@ final_scan_insn (rtx insn, FILE *file, int optimize ATTRIBUTE_UNUSED, } #endif -#ifndef STACK_REGS - /* Don't bother outputting obvious no-ops, even without -O. - This optimization is fast and doesn't interfere with debugging. - Don't do this if the insn is in a delay slot, since this - will cause an improper number of delay insns to be written. */ - if (final_sequence == 0 - && prescan >= 0 - && NONJUMP_INSN_P (insn) && GET_CODE (body) == SET - && REG_P (SET_SRC (body)) - && REG_P (SET_DEST (body)) - && REGNO (SET_SRC (body)) == REGNO (SET_DEST (body))) - break; -#endif - #ifdef HAVE_cc0 /* If this is a conditional branch, maybe modify it if the cc's are in a nonstandard state |