aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linearize.h
diff options
context:
space:
mode:
Diffstat (limited to 'linearize.h')
-rw-r--r--linearize.h8
1 files changed, 7 insertions, 1 deletions
diff --git a/linearize.h b/linearize.h
index 17e8c38a..7909b01f 100644
--- a/linearize.h
+++ b/linearize.h
@@ -109,7 +109,7 @@ struct instruction {
};
struct /* phi source */ {
pseudo_t phi_src;
- struct instruction_list *phi_users;
+ struct instruction *phi_node;
};
struct /* unops */ {
pseudo_t src;
@@ -291,6 +291,12 @@ static inline void use_pseudo(struct instruction *insn, pseudo_t p, pseudo_t *pp
add_pseudo_user_ptr(alloc_pseudo_user(insn, pp), &p->users);
}
+static inline void link_phi(struct instruction *node, pseudo_t phi)
+{
+ use_pseudo(node, phi, add_pseudo(&node->phi_list, phi));
+ phi->def->phi_node = node;
+}
+
static inline void remove_bb_from_list(struct basic_block_list **list, struct basic_block *entry, int count)
{
delete_ptr_list_entry((struct ptr_list **)list, entry, count);