diff options
author | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-03-21 15:40:40 +0100 |
---|---|---|
committer | Luc Van Oostenryck <luc.vanoostenryck@gmail.com> | 2021-03-21 16:08:03 +0100 |
commit | 4c6929edf09a9d751b22531d899f6b10a7af0106 (patch) | |
tree | 9779346972b15ec980b5356ed7fe6e8c2505b8eb | |
parent | d1011daff5abcf5dd90d4b01be6e977bd23c6411 (diff) | |
download | sparse-4c6929edf09a9d751b22531d899f6b10a7af0106.tar.gz |
let find_dominating_parents() use insert_last_instruction()
Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
-rw-r--r-- | memops.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -65,8 +65,8 @@ static int find_dominating_parents(pseudo_t pseudo, struct instruction *insn, struct basic_block *parent; FOR_EACH_PTR(bb->parents, parent) { + struct instruction *phisrc; struct instruction *one; - struct instruction *br; pseudo_t phi; FOR_EACH_PTR_REVERSE(parent->insns, one) { @@ -95,12 +95,12 @@ no_dominance: continue; found_dominator: - br = delete_last_instruction(&parent->insns); - phi = alloc_phi(parent, one->target, one->type); + phisrc = alloc_phisrc(one->target, one->type); + phisrc->phi_node = insn; + insert_last_instruction(parent, phisrc); + phi = phisrc->target; phi->ident = phi->ident ? : one->target->ident; - add_instruction(&parent->insns, br); use_pseudo(insn, phi, add_pseudo(dominators, phi)); - phi->def->phi_node = insn; } END_FOR_EACH_PTR(parent); return 1; } |