[PATCH] D143593: [InstCombine] Don't fold freeze poison when it's used in shufflevector

Manuel Brito via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Feb 13 11:35:39 PST 2023


ManuelJBrito added inline comments.


================
Comment at: llvm/lib/Transforms/InstCombine/InstructionCombining.cpp:4024
+          match(U, m_Shuffle(m_Specific(&I), m_Value())))
+        return nullptr;
+    }
----------------
RKSimon wrote:
> I'm worried this will start to  fail as soon as we have bitcasts inserted in the use chain somewhere - something that occurs a lot with x86 shuffles for instance.
I'm afraid you are correct.
I'm thinking we can either disable the folding for bitcasts or check the usages of the bitcast and block the folding if it is used in a shufflevector.
Not sure if the first option is too aggressive. While the second option would require to visit the usages recursively.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143593/new/

https://reviews.llvm.org/D143593



More information about the llvm-commits mailing list