Do not mark the transformed as visited. It makes no sense at all.
[libfirm] / ir / ana / irlivechk.c
index 39090bc..c31b2b9 100644 (file)
@@ -112,6 +112,7 @@ static INLINE int is_liveness_node(const ir_node *irn)
        case iro_Block:
        case iro_Bad:
        case iro_End:
+       case iro_Anchor:
                return 0;
        default:;
        }
@@ -243,7 +244,7 @@ static INLINE void compute_back_edge_chains(lv_chk_t *lv)
 
 lv_chk_t *lv_chk_new(ir_graph *irg, const dfs_t *dfs)
 {
-       lv_chk_t *res = xmalloc(sizeof(res[0]));
+       lv_chk_t *res = XMALLOC(lv_chk_t);
        struct obstack *obst;
        int i;
 
@@ -312,7 +313,7 @@ lv_chk_t *lv_chk_new(ir_graph *irg, const dfs_t *dfs)
 
 void lv_chk_free(lv_chk_t *lv)
 {
-       obstack_free(phase_obst(&lv->ph), NULL);
+       phase_free(&lv->ph);
        xfree(lv);
 }