diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-11-26 20:06:54 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-04-07 21:04:59 -0700 |
commit | fbc2d3f727fbda346ef5810bc790075277dfebcf (patch) | |
tree | ad7d9a7801847fe4e68de08e3dd7d5cf0e418e98 /cse.c | |
parent | Clean up "linearize_symbol()" by making the function linearizer (diff) | |
download | sparse-fbc2d3f727fbda346ef5810bc790075277dfebcf.tar.gz sparse-fbc2d3f727fbda346ef5810bc790075277dfebcf.tar.bz2 sparse-fbc2d3f727fbda346ef5810bc790075277dfebcf.zip |
Be more careful about insn->bb pointers.
Make sure to clear them when turning operations into NOP's. And when
doing OP_LOAD->OP_PHI conversion, just re-use the target pseudo,
which means that we don't need to unnecessarily move all the uses
over.
Diffstat (limited to 'cse.c')
-rw-r--r-- | cse.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -226,6 +226,7 @@ static struct instruction * cse_one_instruction(struct instruction *insn, struct { convert_instruction_target(insn, def->target); insn->opcode = OP_NOP; + insn->bb = NULL; repeat_phase |= REPEAT_CSE; return def; } |