summaryrefslogtreecommitdiff
path: root/gcc/jump.c
diff options
context:
space:
mode:
authorwehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-04 05:03:29 +0000
committerwehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4>2001-04-04 05:03:29 +0000
commitc955554ce3546834af823086e1e60fe8e8f74adf (patch)
tree540dcb2ec38a4d7571f50545eadd91725b7f7b97 /gcc/jump.c
parentc5144efad50d69be3950517725625f18c7b11b3e (diff)
downloadgcc-c955554ce3546834af823086e1e60fe8e8f74adf.tar.gz
* rtl.h (set_noop_p): Declare.
* flow.c (set_noop_p): Move from here ... * rtlanal.c (set_noop_p): ... to here and enhance. * cse.c (delete_trivially_dead_insns): Use it. * gcse.c (hash_scan_set): Likewise. * jump.c (delete_noop_moves): Likewise. * recog.c (split_all_insns): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@41077 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/jump.c')
-rw-r--r--gcc/jump.c20
1 files changed, 1 insertions, 19 deletions
diff --git a/gcc/jump.c b/gcc/jump.c
index 5c5807394dc..6bd6edd9c48 100644
--- a/gcc/jump.c
+++ b/gcc/jump.c
@@ -956,15 +956,7 @@ delete_noop_moves (f)
/* Detect and delete no-op move instructions
resulting from not allocating a parameter in a register. */
- if (GET_CODE (body) == SET
- && (SET_DEST (body) == SET_SRC (body)
- || (GET_CODE (SET_DEST (body)) == MEM
- && GET_CODE (SET_SRC (body)) == MEM
- && rtx_equal_p (SET_SRC (body), SET_DEST (body))))
- && ! (GET_CODE (SET_DEST (body)) == MEM
- && MEM_VOLATILE_P (SET_DEST (body)))
- && ! (GET_CODE (SET_SRC (body)) == MEM
- && MEM_VOLATILE_P (SET_SRC (body))))
+ if (GET_CODE (body) == SET && set_noop_p (body))
delete_computation (insn);
/* Detect and ignore no-op move instructions
@@ -1073,16 +1065,6 @@ delete_noop_moves (f)
if (i < 0)
delete_insn (insn);
}
- /* Also delete insns to store bit fields if they are no-ops. */
- /* Not worth the hair to detect this in the big-endian case. */
- else if (! BYTES_BIG_ENDIAN
- && GET_CODE (body) == SET
- && GET_CODE (SET_DEST (body)) == ZERO_EXTRACT
- && XEXP (SET_DEST (body), 2) == const0_rtx
- && XEXP (SET_DEST (body), 0) == SET_SRC (body)
- && ! (GET_CODE (SET_SRC (body)) == MEM
- && MEM_VOLATILE_P (SET_SRC (body))))
- delete_insn (insn);
}
insn = next;
}