diff options
author | Richard Sandiford <rdsandiford@googlemail.com> | 2012-04-21 18:55:18 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2012-04-21 18:55:18 +0000 |
commit | 9e412ca3ebe589537430ce89c4342ca08f251d69 (patch) | |
tree | b0d6f2ebda9f50cb79a963c6fdd93ec04cda0025 /gcc/store-motion.c | |
parent | 1410c222604e2182f74242026fd924c717ced000 (diff) | |
download | gcc-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/store-motion.c')
-rw-r--r-- | gcc/store-motion.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/gcc/store-motion.c b/gcc/store-motion.c index 03b2c3d..e00cb16 100644 --- a/gcc/store-motion.c +++ b/gcc/store-motion.c @@ -395,7 +395,7 @@ store_killed_in_pat (const_rtx x, const_rtx pat, int after) static bool store_killed_in_insn (const_rtx x, const_rtx x_regs, const_rtx insn, int after) { - const_rtx reg, base, note, pat; + const_rtx reg, note, pat; if (! NONDEBUG_INSN_P (insn)) return false; @@ -410,14 +410,8 @@ store_killed_in_insn (const_rtx x, const_rtx x_regs, const_rtx insn, int after) /* But even a const call reads its parameters. Check whether the base of some of registers used in mem is stack pointer. */ for (reg = x_regs; reg; reg = XEXP (reg, 1)) - { - base = find_base_term (XEXP (reg, 0)); - if (!base - || (GET_CODE (base) == ADDRESS - && GET_MODE (base) == Pmode - && XEXP (base, 0) == stack_pointer_rtx)) - return true; - } + if (may_be_sp_based_p (XEXP (reg, 0))) + return true; return false; } |