summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
diff options
context:
space:
mode:
authorNick Lewycky <nicholas@mxc.ca>2012-09-28 09:33:53 +0000
committerNick Lewycky <nicholas@mxc.ca>2012-09-28 09:33:53 +0000
commit156999f8b9cee34f2c0fd516f8d3050060ad2c14 (patch)
tree1df006821f26a8e6bc0a5118009c2cac9f5bd397 /llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
parent8ffb55b2abe9af246f7ed1e0c5290ac1ff5f5a88 (diff)
downloadbcm5719-llvm-156999f8b9cee34f2c0fd516f8d3050060ad2c14.tar.gz
bcm5719-llvm-156999f8b9cee34f2c0fd516f8d3050060ad2c14.zip
Surprisingly, we missed a trivial case here. Fix that!
llvm-svn: 164814
Diffstat (limited to 'llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp')
-rw-r--r--llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
index 70483ceb062..0ba7340e642 100644
--- a/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+++ b/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
@@ -930,6 +930,10 @@ Instruction *InstCombiner::visitSelectInst(SelectInst &SI) {
Value *V = Builder->CreateShuffleVector(TrueVal, FalseVal, MaskVal);
return ReplaceInstUsesWith(SI, V);
}
+
+ if (isa<ConstantAggregateZero>(CondVal)) {
+ return ReplaceInstUsesWith(SI, FalseVal);
+ }
}
return 0;
OpenPOWER on IntegriCloud