aboutsummaryrefslogtreecommitdiff
path: root/cse.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@ppc970.osdl.org>2004-11-26 20:06:54 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-04-07 21:04:59 -0700
commitfbc2d3f727fbda346ef5810bc790075277dfebcf (patch)
treead7d9a7801847fe4e68de08e3dd7d5cf0e418e98 /cse.c
parentClean up "linearize_symbol()" by making the function linearizer (diff)
downloadsparse-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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/cse.c b/cse.c
index 7aa7fa2..b55c602 100644
--- a/cse.c
+++ b/cse.c
@@ -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;
}