On Thu, Dec 14, 2017 at 04:08:45PM -0200, Alexandre Oliva wrote: > On Dec 13, 2017, Alexandre Oliva <aol...@redhat.com> wrote: > > > On Dec 12, 2017, David Edelsohn <dje....@gmail.com> wrote: > >> Rainer, > >> PR83396 opened. you can add Solaris to the list of targets. > > > Andreas, > > > Here's a fix for the ia64 regression you mentioned in that PR. > > And here's a patch that fixes the two other ia64 build failures you'd > mentioned. > > Regstrapped on x86_64- and i686-linux-gnu by myself; bootstrapped on > ia64-linux-gnu by yourself IIUC, though with some weird bootstrap > compare errors I'm very curious to learn more about. > > Ok to install? > > Emitting markers before labels turned out to not be worth the trouble. > The markers outside BBs confuse the ebb scheduler, and they don't add > any useful information. I'll arrange for markers to be moved past > labels, even in gimple, but for now this will fix the two remaining > known problems on ia64. > > for gcc/ChangeLog > > PR bootstrap/83396 > * cfgexpand.c (expand_gimple_basic_block): Expand label first, > even if there are markers before it. > * cfgrtl.c (rtl_verify_bb_layout): Reject DEBUG_INSNs outside BBs.
Ok, but please work on reversion of everything that has been changed in order to support those (on RTL e.g. the var-tracking.c for (insn = get_first_insn (bb); insn != BB_HEAD (bb->next_bb) ? next = NEXT_INSN (insn), true : false; insn = next) and rtx_insn *next; bool outside_bb = true; for (insn = get_first_insn (bb); insn != BB_HEAD (bb->next_bb); insn = next) { if (insn == BB_HEAD (bb)) outside_bb = false; else if (insn == NEXT_INSN (BB_END (bb))) outside_bb = true; ... if (outside_bb) { /* Ignore non-debug insns outside of basic blocks. */ if (!DEBUG_INSN_P (insn)) continue; /* Debug binds shouldn't appear outside of bbs. */ gcc_assert (!DEBUG_BIND_INSN_P (insn)); } and the NULL BLOCK_FOR_INSN stuff, on GIMPLE the gsi_after_labels changes, the tree-cfg.c verification needs to be changed to disallow even the markers before labels, ...). That can be done incrementally, it is better to unbreak the tree ASAP. Jakub