summaryrefslogtreecommitdiff
path: root/gcc/ssa.c
diff options
context:
space:
mode:
authorgeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-27 07:12:20 +0000
committergeoffk <geoffk@138bc75d-0d04-0410-961f-82ee72b054a4>2000-06-27 07:12:20 +0000
commitea46026672345c7a14e4c1da7b8fe4b0b73beb4f (patch)
treeb2be4dbc53e2ad34967510b6d9839452d974c94c /gcc/ssa.c
parenta1a1a8c862e72714c2c4d330e271af1de3061478 (diff)
downloadgcc-ea46026672345c7a14e4c1da7b8fe4b0b73beb4f.tar.gz
Correct previous botched commit.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34728 138bc75d-0d04-0410-961f-82ee72b054a4
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 46fa38f8253..e4bdc9bdcf5 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);
}
}