diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2012-09-28 09:33:53 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2012-09-28 09:33:53 +0000 |
commit | 156999f8b9cee34f2c0fd516f8d3050060ad2c14 (patch) | |
tree | 1df006821f26a8e6bc0a5118009c2cac9f5bd397 /llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp | |
parent | 8ffb55b2abe9af246f7ed1e0c5290ac1ff5f5a88 (diff) | |
download | bcm5719-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.cpp | 4 |
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; |