/*
- * 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.
*
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);
* @return The environment
*/
static trace_env_t *trace_init(const be_irg_t *birg) {
- trace_env_t *env = xcalloc(1, sizeof(*env));
+ trace_env_t *env = XMALLOCZ(trace_env_t);
ir_graph *irg = be_get_birg_irg(birg);
int nn = get_irg_last_idx(irg);