aboutsummaryrefslogtreecommitdiff
path: root/gcc/lra-constraints.c
diff options
context:
space:
mode:
authorVladimir Makarov <vmakarov@redhat.com>2014-01-31 23:56:46 +0000
committerVladimir Makarov <vmakarov@gcc.gnu.org>2014-01-31 23:56:46 +0000
commit6334f3e99b0e24cdddf6dc6c72c4ce970791c1af (patch)
tree5e5480a634f05c28a3cab0845eb268ed9a4f6156 /gcc/lra-constraints.c
parenteecd8b7c00ff2770b9899cb9c9de1addebdb6415 (diff)
downloadgcc-6334f3e99b0e24cdddf6dc6c72c4ce970791c1af.zip
gcc-6334f3e99b0e24cdddf6dc6c72c4ce970791c1af.tar.gz
gcc-6334f3e99b0e24cdddf6dc6c72c4ce970791c1af.tar.bz2
re PR bootstrap/59985 (stage2/3 compare error on lto-streamer-in.o)
2014-01-31 Vladimir Makarov <vmakarov@redhat.com> PR bootstrap/59985 * lra-constraints.c (process_alt_operands): Update reload_sum only on the first pass. 2014-01-31 Vladimir Makarov <vmakarov@redhat.com> PR bootstrap/59985 * gcc.target/arm/pr59985.C: New. From-SVN: r207375
Diffstat (limited to 'gcc/lra-constraints.c')
-rw-r--r--gcc/lra-constraints.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/lra-constraints.c b/gcc/lra-constraints.c
index cb64ee1..ada1baf 100644
--- a/gcc/lra-constraints.c
+++ b/gcc/lra-constraints.c
@@ -2178,7 +2178,11 @@ process_alt_operands (int only_alternative)
(operand_reg[nop])]
.last_reload);
- if (last_reload > bb_reload_num)
+ /* The value of reload_sum has sense only if we
+ process insns in their order. It happens only on
+ the first constraints sub-pass when we do most of
+ reload work. */
+ if (lra_constraint_iter == 1 && last_reload > bb_reload_num)
reload_sum += last_reload - bb_reload_num;
}
/* If this is a constant that is reloaded into the