From: Michael Beck Date: Fri, 13 Jul 2007 13:46:03 +0000 (+0000) Subject: improved safety: added a assert() if proj's are placed X-Git-Url: http://nsz.repo.hu/git/?a=commitdiff_plain;h=1fde3210e4538b4b794c5eb172db985f3c5fa221;p=libfirm improved safety: added a assert() if proj's are placed ignore Proj nodes in place_floats_early() [r15116] --- diff --git a/ir/ir/irgopt.c b/ir/ir/irgopt.c index 73be48872..a7420fd2f 100644 --- a/ir/ir/irgopt.c +++ b/ir/ir/irgopt.c @@ -1748,6 +1748,13 @@ place_floats_early(ir_node *n, waitq *worklist) { assert(irn_not_visited(n)); mark_irn_visited(n); +#ifndef CAN_PLACE_PROJS + while (is_Proj(n)) { + n = get_Proj_pred(n); + mark_irn_visited(n); + } +#endif + /* Place floating nodes. */ if (get_irn_pinned(n) == op_pin_state_floats) { ir_node *curr_block = get_irn_n(n, -1); diff --git a/ir/ir/iropt.c b/ir/ir/iropt.c index 3e2cace0e..c84d81848 100644 --- a/ir/ir/iropt.c +++ b/ir/ir/iropt.c @@ -4381,6 +4381,7 @@ static ir_node *get_block_Proj(const ir_node *self) { static void set_block_Proj(ir_node *self, ir_node *blk) { (void) self; (void) blk; + assert(blk == get_block_Proj(self) && "trying to move Proj in another block!"); } /**