aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorSteven Bosscher <steven@gcc.gnu.org>2012-10-28 11:52:11 +0000
committerSteven Bosscher <steven@gcc.gnu.org>2012-10-28 11:52:11 +0000
commit5d517141037264e94ae503a0f883f074aad2b8fb (patch)
tree33dd73f7055ebe2827ac8d5bbc019cafd1b54a0e /gcc/function.c
parent68cc8feb2f06207424b05f9f938a2b549f12cb9e (diff)
downloadgcc-5d517141037264e94ae503a0f883f074aad2b8fb.zip
gcc-5d517141037264e94ae503a0f883f074aad2b8fb.tar.gz
gcc-5d517141037264e94ae503a0f883f074aad2b8fb.tar.bz2
re PR rtl-optimization/38711 (ira should not be using df-lr except at -O1.)
PR rtl-optimization/38711 * ira.c (ira): Remove DF_LIVE if the problem is in the stack. (do_reload): Add it back at the end for -O2 and higher. * function.c (thread_prologue_and_epilogue_insns): Use REG_SET_TO_HARD_REG_SET instead of CLEAR_HARD_REG_SET and reg_set_to_hard_reg_set. From-SVN: r192890
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 9efbc3a..e23ac91 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -6176,8 +6176,7 @@ thread_prologue_and_epilogue_insns (void)
CLEAR_HARD_REG_BIT (prologue_clobbered, STACK_POINTER_REGNUM);
if (frame_pointer_needed)
CLEAR_HARD_REG_BIT (prologue_clobbered, HARD_FRAME_POINTER_REGNUM);
- CLEAR_HARD_REG_SET (live_on_edge);
- reg_set_to_hard_reg_set (&live_on_edge,
+ REG_SET_TO_HARD_REG_SET (live_on_edge,
df_get_live_in (entry_edge->dest));
if (hard_reg_set_intersect_p (live_on_edge, prologue_clobbered))
{