On Thu, May 19, 2016 at 04:00:22PM -0600, Jeff Law wrote:
> >     * function.c (make_epilogue_seq): Remove epilogue_end parameter.
> >     (thread_prologue_and_epilogue_insns): Remove bb_flags.  Restructure
> >     code.  Ignore sibcalls on EDGE_IGNORE edges.
> >     * shrink-wrap.c (handle_simple_exit): New function.  Set EDGE_IGNORE
> >     on edges for sibcalls that run without prologue.  The rest of the
> >     function is combined from...
> >     (fix_fake_fallthrough_edge): ... this, and ...
> >     (try_shrink_wrapping): ... a part of this.  Remove the bb_with
> >     function argument, make it a local variable.
> For some reason I found this patch awful to walk through.  In 
> retrospect, it might have been better break this down further. Not 
> because it's conceptually difficult to follow, but because the diffs 
> themselves are difficult to read.

Yeah, I should have realised that because the changelog was hard to write.

> I kept slicing out hunks when I could pair up the original code to its 
> new functional equivalent and hunks which were just "fluff" and kept 
> iterating until there was nothing left that seemed unreasonable.
> 
> OK for the trunk, but please watch closely for any fallout.

Thanks, and I will!


Segher

Reply via email to