[DAG] canCreateUndefOrPoison - add freeze(rot(x,y)) -> rot(freeze(x),freeze(y)) support
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 22 Oct 2022 16:11:53 +0000 (17:11 +0100)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Sat, 22 Oct 2022 16:24:53 +0000 (17:24 +0100)
commit89111707ec3abbd50197076c13b15b176656138a
tree5ac040a24b07289fc4083555b74cfed859fdd11e
parent5bb00cd309b9509b86715822ba88c5fe214a2796
[DAG] canCreateUndefOrPoison - add freeze(rot(x,y)) -> rot(freeze(x),freeze(y)) support

The rotation amount is always modulo, so won't introduce poison/undef
llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
llvm/test/CodeGen/X86/freeze-binary.ll