On Thu, Mar 14, 2019 at 11:30:21AM +0800, H.J. Lu wrote: > We need to split the basic block if we create new insns, which may > throw exceptions, in the middle of the basic blocks. > > Tested on AVX2 and AVX512 machines with and without > > --with-arch=native > > OK for trunk?
That looks much better, I see you chose to follow what lower-subreg.c does here. I just wonder if instead of the sbitmap of blocks to check for splitting it wouldn't be more efficient to have an auto_vec<rtx_insn *> holding the exact set_insns that need splitting after them and just grab the bb using BLOCK_FOR_INSN. Jakub