diff options
author | Steven Bosscher <steven@gcc.gnu.org> | 2012-10-28 11:52:11 +0000 |
---|---|---|
committer | Steven Bosscher <steven@gcc.gnu.org> | 2012-10-28 11:52:11 +0000 |
commit | 10e09d09ae79cf194761ddb4054ba4687670bd7a (patch) | |
tree | 33dd73f7055ebe2827ac8d5bbc019cafd1b54a0e /gcc/function.c | |
parent | 588d995f14022d421a4f89d6ada1c5ed069169fb (diff) |
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.
git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@192890 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/function.c b/gcc/function.c index 9efbc3ad270..e23ac91daf3 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)) { |