diff options
Diffstat (limited to 'flow.c')
| -rw-r--r-- | flow.c | 17 |
1 files changed, 4 insertions, 13 deletions
@@ -544,15 +544,6 @@ found: return 1; } -static void kill_store(struct instruction *insn) -{ - if (insn) { - insn->bb = NULL; - insn->opcode = OP_SNOP; - kill_use(&insn->target); - } -} - /* Kill a pseudo that is dead on exit from the bb */ static void kill_dead_stores(pseudo_t pseudo, unsigned long generation, struct basic_block *bb, int local) { @@ -577,7 +568,7 @@ static void kill_dead_stores(pseudo_t pseudo, unsigned long generation, struct b if (insn->src == pseudo) { if (opcode == OP_LOAD) return; - kill_store(insn); + kill_instruction_force(insn); continue; } if (local) @@ -608,7 +599,7 @@ static void kill_dominated_stores(pseudo_t pseudo, struct instruction *insn, /* Unreachable store? Undo it */ if (!bb) { - kill_store(insn); + kill_instruction_force(insn); return; } if (bb->generation == generation) @@ -631,7 +622,7 @@ static void kill_dominated_stores(pseudo_t pseudo, struct instruction *insn, return; if (one->opcode == OP_LOAD) return; - kill_store(one); + kill_instruction_force(one); } END_FOR_EACH_PTR_REVERSE(one); if (!found) { @@ -723,7 +714,7 @@ external_visibility: FOR_EACH_PTR(pseudo->users, pu) { struct instruction *insn = pu->insn; if (insn->opcode == OP_STORE) - kill_store(insn); + kill_instruction_force(insn); } END_FOR_EACH_PTR(pu); } else { /* |
