[InstCombine] Avoid infinite loop in insert/extract combine
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.
Loading
Please sign in to comment