-void be_introduce_copies_pset(dom_front_info_t *info, pset *nodes) {
- int i, n = pset_count(nodes);
- ir_node *orig, *irn, **copy_nodes;
- static pset *empty_set = NULL;
+/*
+ ___ _ ____
+ |_ _|_ __ ___ ___ _ __| |_ | _ \ ___ _ __ _ __ ___
+ | || '_ \/ __|/ _ \ '__| __| | |_) / _ \ '__| '_ ` _ \
+ | || | | \__ \ __/ | | |_ | __/ __/ | | | | | | |
+ |___|_| |_|___/\___|_| \__| |_| \___|_| |_| |_| |_|
+
+*/
+
+ir_node *insert_Perm_after(const arch_env_t *arch_env,
+ const arch_register_class_t *cls,
+ dom_front_info_t *dom_front,
+ ir_node *pos)
+{
+ ir_node *bl = is_Block(pos) ? pos : get_nodes_block(pos);
+ ir_graph *irg = get_irn_irg(bl);
+ pset *live = pset_new_ptr_default();
+ FIRM_DBG_REGISTER(firm_dbg_module_t *dbg, "be.node");
+
+ ir_node *curr, *irn, *perm, **nodes;
+ int i, n;
+
+ DBG((dbg, LEVEL_1, "Insert Perm after: %+F\n", pos));
+
+ if(!be_liveness_nodes_live_at(arch_env, cls, pos, live));
+
+ n = pset_count(live);
+
+ if(n == 0) {
+ del_pset(live);
+ return NULL;
+ }
+
+ nodes = xmalloc(n * sizeof(nodes[0]));