diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-10-30 19:31:08 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2017-10-30 19:31:08 +0000 |
commit | 017f896adb9d41702d0727e7e008917a8a8d5bc3 (patch) | |
tree | 6e9de042a4dd326c9fdd3b23e02e16b11b129378 /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | |
parent | dfd9e7dda8df80855c454aaa78603f6d94902368 (diff) | |
download | bcm5719-llvm-017f896adb9d41702d0727e7e008917a8a8d5bc3.tar.gz bcm5719-llvm-017f896adb9d41702d0727e7e008917a8a8d5bc3.zip |
[SelectionDAG] Add VSELECT demanded elts support to computeKnownBits
llvm-svn: 316947
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r-- | llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp index a7b19ee3fc2..16d157a3152 100644 --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp @@ -2417,22 +2417,22 @@ void SelectionDAG::computeKnownBits(SDValue Op, KnownBits &Known, } case ISD::SELECT: case ISD::VSELECT: - computeKnownBits(Op.getOperand(2), Known, Depth+1); + computeKnownBits(Op.getOperand(2), Known, DemandedElts, Depth+1); // If we don't know any bits, early out. if (Known.isUnknown()) break; - computeKnownBits(Op.getOperand(1), Known2, Depth+1); + computeKnownBits(Op.getOperand(1), Known2, DemandedElts, Depth+1); // Only known if known in both the LHS and RHS. Known.One &= Known2.One; Known.Zero &= Known2.Zero; break; case ISD::SELECT_CC: - computeKnownBits(Op.getOperand(3), Known, Depth+1); + computeKnownBits(Op.getOperand(3), Known, DemandedElts, Depth+1); // If we don't know any bits, early out. if (Known.isUnknown()) break; - computeKnownBits(Op.getOperand(2), Known2, Depth+1); + computeKnownBits(Op.getOperand(2), Known2, DemandedElts, Depth+1); // Only known if known in both the LHS and RHS. Known.One &= Known2.One; |