aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorWilco Dijkstra <wdijkstr@arm.com>2014-12-02 11:55:08 +0000
committerJiong Wang <jiwang@gcc.gnu.org>2014-12-02 11:55:08 +0000
commit048f927a758755c84193759081d4283575280ed1 (patch)
treeb081f702ae7eab1beff5c64079da264f47300566 /gcc
parent47f4756ed1a23d93e586ad82e50e759fa4c24b6b (diff)
downloadgcc-048f927a758755c84193759081d4283575280ed1.zip
gcc-048f927a758755c84193759081d4283575280ed1.tar.gz
gcc-048f927a758755c84193759081d4283575280ed1.tar.bz2
[PATCH] Improve spillcost of literal pool loads
2014-12-02 Wilco Dijkstra <wdijkstr@arm.com> gcc/ ira-costs.c (scan_one_insn): Improve spill cost adjustment. gcc/testsuite gcc.target/aarch64/remat1.c: New testcase. From-SVN: r218266
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/ira-costs.c5
-rw-r--r--gcc/testsuite/ChangeLog4
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 91bde4f..09a5416 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-02 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * ira-costs.c (scan_one_insn): Improve spill cost adjustment.
+
2014-12-02 Martin Jambor <mjambor@suse.cz>
PR ipa/63814
diff --git a/gcc/ira-costs.c b/gcc/ira-costs.c
index 2dabead..72c00cc 100644
--- a/gcc/ira-costs.c
+++ b/gcc/ira-costs.c
@@ -1462,12 +1462,11 @@ scan_one_insn (rtx_insn *insn)
&& ((MEM_P (XEXP (note, 0))
&& !side_effects_p (SET_SRC (set)))
|| (CONSTANT_P (XEXP (note, 0))
- && targetm.legitimate_constant_p (GET_MODE (SET_DEST (set)),
- XEXP (note, 0))
+ && (! flag_pic || LEGITIMATE_PIC_OPERAND_P (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 = GENERAL_REGS;
+ enum reg_class cl = ALL_REGS;
rtx reg = SET_DEST (set);
int num = COST_INDEX (REGNO (reg));
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dff9d02..a17cc6c 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-02 Wilco Dijkstra <wilco.dijkstra@arm.com>
+
+ * gcc.target/aarch64/remat1.c: New testcase.
+
2014-12-01 Oleg Endo <olegendo@gcc.gnu.org>
PR rtl-optimization/59278