aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Kuvyrkov <maxim@codesourcery.com>2010-07-27 19:46:26 +0000
committerMaxim Kuvyrkov <mkuvyrkov@gcc.gnu.org>2010-07-27 19:46:26 +0000
commit9b9ee6d392b6f4f50bacb299e8e1350b1173add8 (patch)
tree6caf8931be6e01dce34922aff7cd4807d94a3de3
parentd37c3c6271c02adcc159e84630e33de8ee8471b7 (diff)
downloadgcc-9b9ee6d392b6f4f50bacb299e8e1350b1173add8.zip
gcc-9b9ee6d392b6f4f50bacb299e8e1350b1173add8.tar.gz
gcc-9b9ee6d392b6f4f50bacb299e8e1350b1173add8.tar.bz2
re PR rtl-optimization/40956 (Constants are never candidates for hoisting)
PR rtl-optimization/40956 * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple constants. From-SVN: r162596
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 0deef9c..9a28043 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,11 @@
2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+ PR rtl-optimization/40956
+ * config/arm/arm.c (thumb1_size_rtx_costs): Fix cost of simple
+ constants.
+
+2010-07-27 Maxim Kuvyrkov <maxim@codesourcery.com>
+
PR target/42495
PR middle-end/42574
* config/arm/arm.c (legitimize_pic_address): Use
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 1146418..9f00416 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -7013,7 +7013,7 @@ thumb1_size_rtx_costs (rtx x, enum rtx_code code, enum rtx_code outer)
if (outer == SET)
{
if ((unsigned HOST_WIDE_INT) INTVAL (x) < 256)
- return 0;
+ return COSTS_N_INSNS (1);
/* See split "TARGET_THUMB1 && satisfies_constraint_J". */
if (INTVAL (x) >= -255 && INTVAL (x) <= -1)
return COSTS_N_INSNS (2);