summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-03 13:16:25 +0000
committerhjl <hjl@138bc75d-0d04-0410-961f-82ee72b054a4>2014-12-03 13:16:25 +0000
commit4468904c4f4b9b30dfabe7b0af7affdd4becd1d2 (patch)
tree088498f1a4c071110d59c0036a46b309301a8be7 /gcc
parent9d8847676688093d6513263dfba3d51994bfe404 (diff)
downloadgcc-4468904c4f4b9b30dfabe7b0af7affdd4becd1d2.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@218312 138bc75d-0d04-0410-961f-82ee72b054a4
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 5e3920e0d9a..2e9d9c6c99a 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 72c00cccdd2..2dabead6269 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 61427fc8ef8..a4ec974c26a 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 999577e48be..00000000000
--- 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 } } */
-