X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fbe%2Fbeschedtrace.c;h=e64296b8179a1263425f18f7658b98041d57fd1f;hb=89dc24503c04139bb05504059b291d6d89f99661;hp=55a47ad5910d1366a9a9c5c9bf42fa6962ef53d4;hpb=ef6316dc389a9ecef0d5db9f3f3b3f52b85940aa;p=libfirm diff --git a/ir/be/beschedtrace.c b/ir/be/beschedtrace.c index 55a47ad59..e64296b81 100644 --- a/ir/be/beschedtrace.c +++ b/ir/be/beschedtrace.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2008 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -394,8 +394,16 @@ static void trace_preprocess_block(trace_env_t *env, ir_node *block) { foreach_out_edge(block, edge) { ir_node *succ = get_edge_src_irn(edge); - if (is_Anchor(succ)) + if (is_Block(succ)) { + /* A Block-Block edge. This should be the MacroBlock + * edge, ignore it. */ + assert(get_Block_MacroBlock(succ) == block && "Block-Block edge found"); continue; + } + if (is_Anchor(succ)) { + /* ignore a keep alive edge */ + continue; + } if (is_root(succ, block)) { mark_root_node(env, succ); set_irn_link(succ, root);