]> granicus.if.org Git - llvm/commit
[InstCombine] avoid infinite loop from shuffle-extract-insert sequence (PR30923)
authorSanjay Patel <spatel@rotateright.com>
Thu, 10 Nov 2016 00:15:14 +0000 (00:15 +0000)
committerSanjay Patel <spatel@rotateright.com>
Thu, 10 Nov 2016 00:15:14 +0000 (00:15 +0000)
commit9c5e4bac4a745f6a621dcf2803fa89f6bbe51862
treea46142a82033f12426d691da59cb46eb171be5aa
parent027f4d03c6ed7406b0be1ccd6a9e1edd5c6a9e1c
[InstCombine] avoid infinite loop from shuffle-extract-insert sequence (PR30923)

Removing the limitation in visitInsertElementInst() causes several regressions
because we're not prepared to fold sequences of shuffles or inserts and extracts
separated by shuffles. Fixing that appears to be a difficult mission because we
are purposely trying to avoid creating shuffles with arbitrary shuffle masks
because some targets may choke on those.

https://llvm.org/bugs/show_bug.cgi?id=30923

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286423 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/InstCombine/InstCombineVectorOps.cpp
test/Transforms/InstCombine/insert-extract-shuffle.ll