On Thu, Jul 5, 2012 at 2:44 PM, Michael Matz <m...@suse.de> wrote: > Hi, > > On Wed, 4 Jul 2012, Steven Bosscher wrote: > >> On Wed, Jul 4, 2012 at 7:02 PM, Ulrich Weigand <uweig...@de.ibm.com> wrote: >> > Any suggestions how to fix this? Should tail merging detect >> > __builtin_unreachable and not merge such block? >> >> That seems to be the most straight-forward thing to do. I don't think >> there are any other passes that do this kind of code merging. > > What do we gain by delaying to remove these blocks until RTL? AFAICS not > much if anything. So removing those on the tree level would make more > sense.
The gain is to derive assertions from the conditional guarding these blocks and optimize using that knowledge. Richard. > > Ciao, > Michael.