diff options
author | Chris Lattner <sabre@nondot.org> | 2010-01-07 01:20:20 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-01-07 01:20:20 +0000 |
commit | 4039bd055086ec741132afe32f1ab7fdf5ebd710 (patch) | |
tree | d0bf0027ed34a210889bcb4a4ec2c78d993bbc3e /lib/Transforms/IPO/GlobalOpt.cpp | |
parent | a0e9a2475cd6e45966a591de8e0740a102fe0dfe (diff) |
handle ConstantVector while I'm in here.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92892 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/GlobalOpt.cpp')
-rw-r--r-- | lib/Transforms/IPO/GlobalOpt.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/GlobalOpt.cpp b/lib/Transforms/IPO/GlobalOpt.cpp index 294904212e..ee260e9488 100644 --- a/lib/Transforms/IPO/GlobalOpt.cpp +++ b/lib/Transforms/IPO/GlobalOpt.cpp @@ -2133,6 +2133,9 @@ static Constant *EvaluateStoreInto(Constant *Init, Constant *Val, if (ConstantArray *CA = dyn_cast<ConstantArray>(Init)) { for (User::op_iterator i = CA->op_begin(), e = CA->op_end(); i != e; ++i) Elts.push_back(cast<Constant>(*i)); + } else if (ConstantVector *CV = dyn_cast<ConstantVector>(Init)) { + for (User::op_iterator i = CV->op_begin(), e = CV->op_end(); i != e; ++i) + Elts.push_back(cast<Constant>(*i)); } else if (isa<ConstantAggregateZero>(Init)) { Elts.assign(NumElts, Constant::getNullValue(InitTy->getElementType())); } else { |