aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorH.J. Lu <hongjiu.lu@intel.com>2014-12-03 13:16:25 +0000
committerH.J. Lu <hjl@gcc.gnu.org>2014-12-03 05:16:25 -0800
commitcca81ac8b0b04ac6a69875469721f4406d0af4f2 (patch)
tree088498f1a4c071110d59c0036a46b309301a8be7 /gcc
parenta6a0570f151b9a4fd42dec96182439e53c19241a (diff)
downloadgcc-cca81ac8b0b04ac6a69875469721f4406d0af4f2.zip
gcc-cca81ac8b0b04ac6a69875469721f4406d0af4f2.tar.gz
gcc-cca81ac8b0b04ac6a69875469721f4406d0af4f2.tar.bz2
Revert r218266
gcc/ PR rtl-optimization/64151 PR rtl-optimization/64156 * ira-costs.c (scan_one_insn): Revert r218266. gcc/testsuite/ PR rtl-optimization/64151 PR rtl-optimization/64156 * gcc.target/aarch64/remat1.c: Removed. Revert r218267. From-SVN: r218312
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/ira-costs.c5
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.target/aarch64/remat1.c20
4 files changed, 15 insertions, 22 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 5e3920e..2e9d9c6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/64151
+ PR rtl-optimization/64156
+ * ira-costs.c (scan_one_insn): Revert r218266.
+
2014-12-03 Richard Biener <rguenther@suse.de>
* builtins.c (fold_builtin_fpclassify): Change to take
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 72c00cc..2dabead 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -1462,11 +1462,12 @@ scan_one_insn (rtx_insn *insn)
&& ((MEM_P (XEXP (note, 0))
&& !side_effects_p (SET_SRC (set)))
|| (CONSTANT_P (XEXP (note, 0))
- && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (XEXP (note, 0)))
+ && targetm.legitimate_constant_p (GET_MODE (SET_DEST (set)),
+ XEXP (note, 0))
&& REG_N_SETS (REGNO (SET_DEST (set))) == 1))
&& general_operand (SET_SRC (set), GET_MODE (SET_SRC (set))))
{
- enum reg_class cl = ALL_REGS;
+ enum reg_class cl = GENERAL_REGS;
rtx reg = SET_DEST (set);
int num = COST_INDEX (REGNO (reg));
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 61427fc..a4ec974 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2014-12-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR rtl-optimization/64151
+ PR rtl-optimization/64156
+ * gcc.target/aarch64/remat1.c: Removed. Revert r218267.
+
2014-12-03 Tom de Vries <tom@codesourcery.com>
PR rtl-optimization/63957
diff --git a/gcc/testsuite/gcc.target/aarch64/remat1.c b/gcc/testsuite/gcc.target/aarch64/remat1.c
deleted file mode 100644
index 999577e..0000000
--- a/gcc/testsuite/gcc.target/aarch64/remat1.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-O2 -fomit-frame-pointer -fcaller-saves -ffixed-d8 -ffixed-d9 -ffixed-d10 -ffixed-d11 -ffixed-d12 -ffixed-d13 -ffixed-d14 -ffixed-d15" } */
-
-/* Under high register pressure FP immediates should be rematerialized
- as literal loads rather than being caller-saved to the stack. */
-
-void
-g (void);
-
-float
-f (float x)
-{
- x += 3.1f;
- g ();
- x *= 3.1f;
- return x;
-}
-
-/* { dg-final { scan-assembler-times "ldr\ts\[0-9]+, .LC0" 2 } } */
-