aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-09-27 09:17:33 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-09-27 09:17:33 -0700
commit23b8ba8182bafbb4ad3c4477b6a4063544165a47 (patch)
tree15e869ffaddf800e940f7b8713046b12faaaa4c0 /gcc/emit-rtl.c
parent0b0f416385667e0b43b3b82069b55f2d0da43e89 (diff)
downloadgcc-23b8ba8182bafbb4ad3c4477b6a4063544165a47.zip
gcc-23b8ba8182bafbb4ad3c4477b6a4063544165a47.tar.gz
gcc-23b8ba8182bafbb4ad3c4477b6a4063544165a47.tar.bz2
* emit-rtl.c (active_insn_p): Revert last change.
From-SVN: r57590
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c33
1 files changed, 5 insertions, 28 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 3dd4799..889064f 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -3021,34 +3021,11 @@ int
active_insn_p (insn)
rtx insn;
{
- if (GET_CODE (insn) == CALL_INSN || GET_CODE (insn) == JUMP_INSN)
- return true;
- if (GET_CODE (insn) == INSN)
- {
- if (reload_completed)
- {
- rtx pat = PATTERN (insn);
-
- /* After reload, remaining USE insns are noops. */
- if (GET_CODE (pat) == USE)
- return false;
-
- if (GET_CODE (pat) == CLOBBER)
- {
- /* ??? Don't skip past the clobber of the return register.
- If we eliminate it, we risk a variety of life analysis
- problems on broken code. */
- if (GET_CODE (XEXP (pat, 0)) == REG
- && REG_FUNCTION_VALUE_P (XEXP (pat, 0)))
- return true;
-
- /* Otherwise, clobbers don't do anything either. */
- return false;
- }
- }
- return true;
- }
- return false;
+ return (GET_CODE (insn) == CALL_INSN || GET_CODE (insn) == JUMP_INSN
+ || (GET_CODE (insn) == INSN
+ && (! reload_completed
+ || (GET_CODE (PATTERN (insn)) != USE
+ && GET_CODE (PATTERN (insn)) != CLOBBER))));
}
rtx