aboutsummaryrefslogtreecommitdiff
path: root/gcc/ssa.c
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@gcc.gnu.org>2000-06-27 07:12:20 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2000-06-27 07:12:20 +0000
commit7e1b651358e09f4012ea6eb996b1df99a14d0a5a (patch)
treeb2be4dbc53e2ad34967510b6d9839452d974c94c /gcc/ssa.c
parentad69b5b6698dc2339b4c227da0319371690dc8ef (diff)
downloadgcc-7e1b651358e09f4012ea6eb996b1df99a14d0a5a.zip
gcc-7e1b651358e09f4012ea6eb996b1df99a14d0a5a.tar.gz
gcc-7e1b651358e09f4012ea6eb996b1df99a14d0a5a.tar.bz2
Correct previous botched commit.
From-SVN: r34728
Diffstat (limited to 'gcc/ssa.c')
-rw-r--r--gcc/ssa.c20
1 files changed, 9 insertions, 11 deletions
diff --git a/gcc/ssa.c b/gcc/ssa.c
index 46fa38f..e4bdc9b 100644
--- a/gcc/ssa.c
+++ b/gcc/ssa.c
@@ -784,10 +784,16 @@ rename_block (bb, idom)
not to the old version inner insn.) */
if (get_insns () != NULL_RTX)
{
+ rtx seq;
int i;
emit (PATTERN (insn));
- PATTERN (insn) = gen_sequence ();
+ seq = gen_sequence ();
+ /* We really want a SEQUENCE of SETs, not a SEQUENCE
+ of INSNs. */
+ for (i = 0; i < XVECLEN (seq, 0); i++)
+ XVECEXP (seq, 0, i) = PATTERN (XVECEXP (seq, 0, i));
+ PATTERN (insn) = seq;
}
end_sequence ();
@@ -1833,17 +1839,9 @@ rename_equivalent_regs (reg_partition)
if (slen <= 1)
abort();
- PATTERN (insn) = PATTERN (XVECEXP (s, 0, slen-1));
+ PATTERN (insn) = XVECEXP (s, 0, slen-1);
for (i = 0; i < slen - 1; i++)
- {
- rtx new_insn;
- rtx old_insn = XVECEXP (s, 0, i);
-
- new_insn = emit_block_insn_before (PATTERN (old_insn),
- insn, b);
- REG_NOTES (new_insn) = REG_NOTES (old_insn);
- }
-
+ emit_block_insn_before (XVECEXP (s, 0, i), insn, b);
}
}