On Mon, Jan 3, 2022 at 5:35 PM Alexander Monakov <amona...@ispras.ru> wrote: > > On Mon, 3 Jan 2022, Richard Biener wrote: > > > > @@ -5674,6 +5675,14 @@ gimple_verify_flow_info (void) > > > err = 1; > > > } > > > > > > + if (prev_stmt && stmt_starts_bb_p (stmt, prev_stmt)) > > > > stmt_starts_bb_p is really a helper used during CFG build, I'd rather > > test explicitely for a GIMPLE call with ECF_RETURNS_TWICE, or maybe, > > verify that iff a block has abnormal predecessors it starts with such > > a call (because IIRC we in some cases elide abnormal edges and then > > it's OK to move "down" the calls). So yes, if a block has abnormal preds > > it should start with a ECF_RETURNS_TWICE call, I think we cannot > > verify the reverse reliably - abnormal edges cannot easily be re-built > > in late stages (it's a bug that we do so during RTL expansion). > > Thanks, I could rewrite the patch along those lines, but I'm not sure where > this is going: the ~100 extra FAILs will still be there. What would the next > steps be for this patch and the initial tree-ssa-sink patch?
I approved the initial sink patch (maybe not clearly enough). Can you open a bugreport about the missing CFG verification and list the set of FAILs (all errors in some passes similar to the one you fixed in sinking I guess)? It indeed sounds like something to tackle during next stage1 (unless you already narrowed down the culprit to a single offender...) Richard. > > Alexander