no environment anymore for emitters
[libfirm] / ir / be / bessaconstr.c
index a5c1a35..d73bc7c 100644 (file)
@@ -144,9 +144,8 @@ static
 ir_node *get_def_at_idom(be_ssa_construction_env_t *env, ir_node *block)
 {
        ir_node *dom = get_Block_idom(block);
-       ir_node *def = search_def_end_of_block(env, dom);
-
-       return def;
+       assert(dom != NULL);
+       return search_def_end_of_block(env, dom);
 }
 
 static
@@ -203,7 +202,6 @@ ir_node *search_def(be_ssa_construction_env_t *env, ir_node *at)
                return create_phi(env, block, node);
        }
 
-
        DBG((dbg, LEVEL_3, "\t...continue at idom (after checking block)\n"));
        return get_def_at_idom(env, block);
 }
@@ -353,6 +351,8 @@ void be_ssa_construction_fix_users(be_ssa_construction_env_t *env,
                if(env->ignore_uses != NULL     &&
                   ir_nodeset_contains(env->ignore_uses, use))
                        continue;
+               if(is_Anchor(use))
+                       continue;
 
                if(is_Phi(use)) {
                        ir_node *block = get_nodes_block(use);