Fix the infinite loop reported on https://reviews.llvm.org/D151807#4420467. collectShuffleElements() will widen vectors and replace extracts via replaceExtractElements(), to allow the next call of collectShuffleElements() to fold. However, it's possible for another fold to run first, and break the expected sequence again. To ensure this does not happen, directly rerun the collectShuffleElements() fold if we have adjusted extracts.
126 KiB
126 KiB