diff options
author | wehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-04 05:03:29 +0000 |
---|---|---|
committer | wehle <wehle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-04-04 05:03:29 +0000 |
commit | c955554ce3546834af823086e1e60fe8e8f74adf (patch) | |
tree | 540dcb2ec38a4d7571f50545eadd91725b7f7b97 /gcc/jump.c | |
parent | c5144efad50d69be3950517725625f18c7b11b3e (diff) | |
download | gcc-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.c | 20 |
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; } |