[X86] Add freeze(pshufd/permilps(x,imm)) -> pshufd/permilps(freeze(x),imm) folding
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 22 Oct 2022 20:33:37 +0000 (21:33 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sun, 23 Oct 2022 09:39:12 +0000 (10:39 +0100)
commitc175d880a4694a66bc8be8a0e5ce333fbc14cf47
tree21972e3ced4b88a4a78b6a9bc8ee58c2f400465e
parent480e9a9e0b5def98b5646ebcb319dfed10994dc6
[X86] Add freeze(pshufd/permilps(x,imm)) -> pshufd/permilps(freeze(x),imm) folding

Add X86 isGuaranteedNotToBeUndefOrPoisonForTargetNode / canCreateUndefOrPoisonForTargetNode overrides and add X86ISD::PSHUFD/VPERMILPI handling.
llvm/lib/Target/X86/X86ISelLowering.cpp
llvm/lib/Target/X86/X86ISelLowering.h
llvm/test/CodeGen/X86/freeze-vector.ll