[all-commits] [llvm/llvm-project] 233def: [DAGCombiner] Prevent unfoldMaskedMerge from creat...
Craig Topper via All-commits
all-commits at lists.llvm.org
Mon Nov 15 17:27:39 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 233def40f7adfc92db4492e7d612e6ff1d85931f
https://github.com/llvm/llvm-project/commit/233def40f7adfc92db4492e7d612e6ff1d85931f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2021-11-15 (Mon, 15 Nov 2021)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/test/CodeGen/X86/unfold-masked-merge-scalar-variablemask.ll
Log Message:
-----------
[DAGCombiner] Prevent unfoldMaskedMerge from creating an AND with two inverted inputs.
It's possible that the mask is already a NOT. At least if InstCombine
hasn't canonicalized the input. In that case we will form an ANDN with
X instead of with Y. So we don't need to worry about Y being a constant.
We might need to check that X isn't a constant instead, but we don't
have a test case for that yet.
This fixes a size regression found when trying to enable this combine
for RISCV in D113937.
Differential Revision: https://reviews.llvm.org/D113948
More information about the All-commits
mailing list