X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fopt%2Fproc_cloning.c;h=82cbebb0d6a138ca0d532795030a4369898a2e07;hb=6fc12bfcbdd053b869d868bfc8cb7b81f3a7a620;hp=5912784280537263a91a45f8700a2f73c2ca7240;hpb=9ab3d84833ffff735112b3a08558aa83258121ba;p=libfirm diff --git a/ir/opt/proc_cloning.c b/ir/opt/proc_cloning.c index 591278428..82cbebb0d 100644 --- a/ir/opt/proc_cloning.c +++ b/ir/opt/proc_cloning.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. * @@ -187,11 +187,7 @@ static void collect_irg_calls(ir_node *call, void *env) { if (is_Call(call)) { call_ptr = get_Call_ptr(call); - /* Call pointer must be a SymConst*/ - if (op_SymConst != get_irn_op(call_ptr)) - return; - /* Call pointer must be the address of an entity.*/ - if (get_SymConst_kind(call_ptr) != symconst_addr_ent) + if (! is_SymConst_addr_ent(call_ptr)) return; callee = get_SymConst_entity(call_ptr); @@ -269,6 +265,7 @@ static void set_preds(ir_node *irn, void *env) { irn_copy = get_irn_link(irn); if (is_Block(irn)) { + set_Block_MacroBlock(irn_copy, get_irn_link(get_Block_MacroBlock(irn))); for (i = get_Block_n_cfgpreds(irn) - 1; i >= 0; i--) { pred = get_Block_cfgpred(irn, i); /* "End" block must be handled extra, because it is not matured.*/