summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Transforms/Utils/Evaluator.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-05 21:10:45 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-05 21:10:45 +0000
commit1de3c7e79010c43300a2637c3020a1489a3dd0de (patch)
tree637d041245eb1fc7fee37ea9b5a5d14e9911e5f6 /llvm/lib/Transforms/Utils/Evaluator.cpp
parentf880d35b80dd7fda9ddfffeff7383614318b1bdb (diff)
downloadbcm5719-llvm-1de3c7e79010c43300a2637c3020a1489a3dd0de.tar.gz
bcm5719-llvm-1de3c7e79010c43300a2637c3020a1489a3dd0de.zip
IR: Introduce ConstantAggregate, NFC
Add a common parent class for ConstantArray, ConstantVector, and ConstantStruct called ConstantAggregate. These are the aggregate subclasses of Constant that take operands. This is mainly a cleanup, adding common `isa` target and removing duplicated code. However, it also simplifies caching which constants point transitively at `GlobalValue` (a possible future direction). llvm-svn: 265466
Diffstat (limited to 'llvm/lib/Transforms/Utils/Evaluator.cpp')
-rw-r--r--llvm/lib/Transforms/Utils/Evaluator.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Utils/Evaluator.cpp b/llvm/lib/Transforms/Utils/Evaluator.cpp
index 46e1dcc58dd..47cf5ff5b80 100644
--- a/llvm/lib/Transforms/Utils/Evaluator.cpp
+++ b/llvm/lib/Transforms/Utils/Evaluator.cpp
@@ -56,8 +56,7 @@ isSimpleEnoughValueToCommitHelper(Constant *C,
return true;
// Aggregate values are safe if all their elements are.
- if (isa<ConstantArray>(C) || isa<ConstantStruct>(C) ||
- isa<ConstantVector>(C)) {
+ if (isa<ConstantAggregate>(C)) {
for (Value *Op : C->operands())
if (!isSimpleEnoughValueToCommit(cast<Constant>(Op), SimpleConstants, DL))
return false;
OpenPOWER on IntegriCloud