On 11/09/2017 07:34 PM, Alexandre Oliva wrote: > If find_bb_boundaries is given a block with zero or one nondebug insn > beside debug insns, it shouldn't purge dead edges, because without > debug insns we wouldn't purge them at that point. Doing so may change > the order in which edges are processed, and ultimately lead to > different transformations to the CFG and then to different > optimizations. > > We shouldn't, however, retain debug insns after control flow insns, so > if we find debug insns after a single insn that happens to be a > control flow insn, do the debug insn cleanups, but still refrain from > purging dead edges at that point. > > > for gcc/ChangeLog > > * cfgbuild.c (find_bb_boundaries): Don't purge dead edges if, > without debug insns, we wouldn't, but clean up debug insns > after a control flow insn nevertheless. OK. Seems to me like it's independent of the rest of the work and should go in immediately.
jeff