On 11/20/18 12:40 PM, Uros Bizjak wrote: > Hello! > > Attached patch is a different approach to the problem of split return > copies in create_pre_exit. It turns out that for vzeroupper insertion > pass, we actually don't need to insert a mode switch before the return > copy, it is enough to split edge to exit block - so we can emit > vzeroupper at the function exit edge. > > Since x86 is the only target that uses optimize mode switching after > reload, I took the liberty and used !reload_completed for the > condition when we don't need to search for return copy. Sure, with the > big comment as evident from the patch. > > 2018-11-20 Uros Bizjak <ubiz...@gmail.com> > > PR target/88070 > * mode-switching.c (create_pre_exit): After reload, always split the > fallthrough edge to the exit block. > > testsuite/ChangeLog: > > 2018-11-20 Uros Bizjak <ubiz...@gmail.com> > > PR target/88070 > * gcc.target/i386/pr88070.c: New test. > > Patch was bootstrapped and regression tested on x86_64-linux-gnu {,-m32}. > > Committed to mainline SVN. > > Uros. > OK. But note this may have to be revisited for the GCN port.
jeff