aboutsummaryrefslogtreecommitdiff
path: root/gcc/dse.c
diff options
context:
space:
mode:
authorRichard Sandiford <rdsandiford@googlemail.com>2012-04-21 18:55:18 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2012-04-21 18:55:18 +0000
commit9e412ca3ebe589537430ce89c4342ca08f251d69 (patch)
treeb0d6f2ebda9f50cb79a963c6fdd93ec04cda0025 /gcc/dse.c
parent1410c222604e2182f74242026fd924c717ced000 (diff)
downloadgcc-9e412ca3ebe589537430ce89c4342ca08f251d69.zip
gcc-9e412ca3ebe589537430ce89c4342ca08f251d69.tar.gz
gcc-9e412ca3ebe589537430ce89c4342ca08f251d69.tar.bz2
re PR bootstrap/53021 (bootstrap failure on Linux/ia32)
gcc/ PR bootstrap/53021 * rtl.def (ADDRESS): Use "i" rather than "w". * rtl.h (find_base_term): Delete. (may_be_sp_based_p): Declare. * rtl.c (rtx_code_size): Remove ADDRESS special case. * alias.h (UNIQUE_BASE_VALUE_SP, UNIQUE_BASE_VALUE_ARGP) (UNIQUE_BASE_VALUE_FP, UNIQUE_BASE_VALUE_HFP): Move to... * alias.c: ...here. (find_base_term): Make static. (may_be_sp_based_p): New function. * dse.c (record_store): Use it. * store-motion.c (store_killed_in_insn): Likewise. From-SVN: r186657
Diffstat (limited to 'gcc/dse.c')
-rw-r--r--gcc/dse.c6
1 files changed, 1 insertions, 5 deletions
diff --git a/gcc/dse.c b/gcc/dse.c
index 9f57613..19d9383 100644
--- a/gcc/dse.c
+++ b/gcc/dse.c
@@ -1499,11 +1499,7 @@ record_store (rtx body, bb_info_t bb_info)
}
else
{
- rtx base_term = find_base_term (XEXP (mem, 0));
- if (!base_term
- || (GET_CODE (base_term) == ADDRESS
- && GET_MODE (base_term) == Pmode
- && XWINT (base_term, 0) == UNIQUE_BASE_VALUE_SP))
+ if (may_be_sp_based_p (XEXP (mem, 0)))
insn_info->stack_pointer_based = true;
insn_info->contains_cselib_groups = true;