diff options
author | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-05 11:53:56 +0000 |
---|---|---|
committer | hp <hp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-12-05 11:53:56 +0000 |
commit | fbb30aa44b193dc71da5c4fb7ea98c180fe0fa07 (patch) | |
tree | 3b01fcfb43ae5a0dc880879a31c4e58e8eaf78c4 /gcc/resource.c | |
parent | 008fdc599e66fe98333135bfe3033152bffda299 (diff) | |
download | gcc-fbb30aa44b193dc71da5c4fb7ea98c180fe0fa07.tar.gz |
PR target/13256
* resource.h (enum mark_resource_type): Remove member MARK_DEST.
The only user changed as follows:
* resource.c (mark_set_resources) <case SET>: Always recurse for
SET_SRC (x).
<case SIGN_EXTRACT, case ZERO_EXTRACT>: Always recurse on
operands.
<case STRICT_LOW_PART>: Delete, deferring to default code.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74328 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/resource.c')
-rw-r--r-- | gcc/resource.c | 21 |
1 files changed, 5 insertions, 16 deletions
diff --git a/gcc/resource.c b/gcc/resource.c index 2aab94c525d..8e3bf8df37e 100644 --- a/gcc/resource.c +++ b/gcc/resource.c @@ -616,7 +616,7 @@ find_dead_or_set_registers (rtx target, struct resources *res, /* Given X, a part of an insn, and a pointer to a `struct resource', RES, indicate which resources are modified by the insn. If MARK_TYPE is MARK_SRC_DEST_CALL, also mark resources potentially - set by the called routine. If MARK_TYPE is MARK_DEST, only mark SET_DESTs + set by the called routine. If IN_DEST is nonzero, it means we are inside a SET. Otherwise, objects are being referenced instead of set. @@ -716,8 +716,7 @@ mark_set_resources (rtx x, struct resources *res, int in_dest, || GET_CODE (SET_SRC (x)) != CALL), mark_type); - if (mark_type != MARK_DEST) - mark_set_resources (SET_SRC (x), res, 0, MARK_SRC_DEST); + mark_set_resources (SET_SRC (x), res, 0, MARK_SRC_DEST); return; case CLOBBER: @@ -747,12 +746,9 @@ mark_set_resources (rtx x, struct resources *res, int in_dest, case SIGN_EXTRACT: case ZERO_EXTRACT: - if (! (mark_type == MARK_DEST && in_dest)) - { - mark_set_resources (XEXP (x, 0), res, in_dest, MARK_SRC_DEST); - mark_set_resources (XEXP (x, 1), res, 0, MARK_SRC_DEST); - mark_set_resources (XEXP (x, 2), res, 0, MARK_SRC_DEST); - } + mark_set_resources (XEXP (x, 0), res, in_dest, MARK_SRC_DEST); + mark_set_resources (XEXP (x, 1), res, 0, MARK_SRC_DEST); + mark_set_resources (XEXP (x, 2), res, 0, MARK_SRC_DEST); return; case MEM: @@ -799,13 +795,6 @@ mark_set_resources (rtx x, struct resources *res, int in_dest, } return; - case STRICT_LOW_PART: - if (! (mark_type == MARK_DEST && in_dest)) - { - mark_set_resources (XEXP (x, 0), res, 0, MARK_SRC_DEST); - return; - } - case UNSPEC_VOLATILE: case ASM_INPUT: /* Traditional asm's are always volatile. */ |