Richard Henderson wrote: > The create_basic_block function will do the right thing > with ordering the block label and the block note. No > need for us to work hard at that within bb-reorder.
This causes: FAIL: gcc.dg/tree-prof/bb-reorg.c compilation, -fprofile-use -D_PROFILE_USE (internal compiler error) UNRESOLVED: gcc.dg/tree-prof/bb-reorg.c execution, -fprofile-use -D_PROFILE_USE FAIL: gcc.dg/tree-prof/pr34999.c compilation, -fprofile-use -D_PROFILE_USE (internal compiler error) UNRESOLVED: gcc.dg/tree-prof/pr34999.c execution, -fprofile-use -D_PROFILE_USE because after this patch: > @@ -1597,35 +1593,27 @@ fix_crossing_conditional_branches (void) > new_label = block_label (new_bb); > else > { > + basic_block last_bb; > + rtx new_jump; > + > /* Create new basic block to be dest for > conditional jump. */ > > - new_bb = create_basic_block (NULL, NULL, last_bb); > - new_bb->aux = last_bb->aux; > - last_bb->aux = new_bb; > - last_bb = new_bb; > /* Put appropriate instructions in new bb. */ > > new_label = gen_label_rtx (); > - emit_label_before (new_label, BB_HEAD (new_bb)); > + emit_label (new_label); > BB_HEAD (new_bb) = new_label; new_bb is now always NULL at this point, and the assignment crashes. I guess that assignment should now be just deleted as well, since this is done by create_basic_block later? Bye, Ulrich -- Dr. Ulrich Weigand GNU Toolchain for Linux on System z and Cell BE ulrich.weig...@de.ibm.com