aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/ConstantFold.cpp
diff options
context:
space:
mode:
authorJuneyoung Lee <aqjune@gmail.com>2021-01-05 10:09:49 +0900
committerJuneyoung Lee <aqjune@gmail.com>2021-01-06 12:10:33 +0900
commit29f8628d1fc8d96670e13562c4d92fc916bd0ce1 (patch)
tree1da50486f952374694247a04233515a2ff98c1e8 /llvm/lib/IR/ConstantFold.cpp
parent8444a2494d3d58baae373e66f8a7070e03c62cc2 (diff)
downloadllvm-29f8628d1fc8d96670e13562c4d92fc916bd0ce1.zip
llvm-29f8628d1fc8d96670e13562c4d92fc916bd0ce1.tar.gz
llvm-29f8628d1fc8d96670e13562c4d92fc916bd0ce1.tar.bz2
[Constant] Add containsPoisonElement
This patch - Adds containsPoisonElement that checks existence of poison in constant vector elements, - Renames containsUndefElement to containsUndefOrPoisonElement to clarify its behavior & updates its uses properly With this patch, isGuaranteedNotToBeUndefOrPoison's tests w.r.t constant vectors are added because its analysis is improved. Thanks! Reviewed By: nikic Differential Revision: https://reviews.llvm.org/D94053
Diffstat (limited to 'llvm/lib/IR/ConstantFold.cpp')
-rw-r--r--llvm/lib/IR/ConstantFold.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/IR/ConstantFold.cpp b/llvm/lib/IR/ConstantFold.cpp
index 4774568..03cb108 100644
--- a/llvm/lib/IR/ConstantFold.cpp
+++ b/llvm/lib/IR/ConstantFold.cpp
@@ -811,7 +811,7 @@ Constant *llvm::ConstantFoldSelectInstruction(Constant *Cond,
return true;
if (C->getType()->isVectorTy())
- return !C->containsUndefElement() && !C->containsConstantExpression();
+ return !C->containsPoisonElement() && !C->containsConstantExpression();
// TODO: Recursively analyze aggregates or other constants.
return false;