summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
diff options
context:
space:
mode:
authorFiona Glaser <escha@apple.com>2015-08-29 23:04:38 +0000
committerFiona Glaser <escha@apple.com>2015-08-29 23:04:38 +0000
commit934765c1df9990b0edc77c20c3d8fdd6476dc65d (patch)
tree0e9918ed265a959697c9f862fcf74eddbe5a5583 /llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
parent79bf113dca6aac999c9588720d5d3e6c3ae39d48 (diff)
downloadbcm5719-llvm-934765c1df9990b0edc77c20c3d8fdd6476dc65d.tar.gz
bcm5719-llvm-934765c1df9990b0edc77c20c3d8fdd6476dc65d.zip
SelectionDAG: add missing ComputeSignBits case for SELECT_CC
Identical to SELECT, just with different operand numbers. llvm-svn: 246366
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 82537eb8923..7ccaaf72c37 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -2613,6 +2613,11 @@ unsigned SelectionDAG::ComputeNumSignBits(SDValue Op, unsigned Depth) const{
if (Tmp == 1) return 1; // Early out.
Tmp2 = ComputeNumSignBits(Op.getOperand(2), Depth+1);
return std::min(Tmp, Tmp2);
+ case ISD::SELECT_CC:
+ Tmp = ComputeNumSignBits(Op.getOperand(2), Depth+1);
+ if (Tmp == 1) return 1; // Early out.
+ Tmp2 = ComputeNumSignBits(Op.getOperand(3), Depth+1);
+ return std::min(Tmp, Tmp2);
case ISD::SMIN:
case ISD::SMAX:
case ISD::UMIN:
OpenPOWER on IntegriCloud