It seems that testing for a NULL insn->cond is not the right test, what must be done is to test if either of ->bb_{true,false} is NULL. Fixes: 556dbc8d75 ("Update usage chain for dead instructions") Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@xxxxxxxxx> --- simplify.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/simplify.c b/simplify.c index b5cd0ea77..3dea03b5e 100644 --- a/simplify.c +++ b/simplify.c @@ -221,7 +221,7 @@ void kill_instruction(struct instruction *insn) case OP_BR: insn->bb = NULL; repeat_phase |= REPEAT_CSE; - if (insn->cond) + if (insn->bb_true && insn->bb_false) kill_use(&insn->cond); return; } -- 2.11.0 -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html