summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/Expr.cpp
diff options
context:
space:
mode:
authorNate Begeman <natebegeman@mac.com>2008-05-13 21:03:02 +0000
committerNate Begeman <natebegeman@mac.com>2008-05-13 21:03:02 +0000
commitd386215916b2919940a968bb64b964585f8c34b0 (patch)
treed778feeb8580ed5b900c3b4e03aeb56d0aa18404 /clang/lib/AST/Expr.cpp
parentbb3aef4ee35d189d652cf57ba01f9cf26dd2e2ef (diff)
downloadbcm5719-llvm-d386215916b2919940a968bb64b964585f8c34b0.tar.gz
bcm5719-llvm-d386215916b2919940a968bb64b964585f8c34b0.zip
Remove AST dependency on VMCore by switching ExtVectorElementExpr off Constant.
llvm-svn: 51068
Diffstat (limited to 'clang/lib/AST/Expr.cpp')
-rw-r--r--clang/lib/AST/Expr.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/clang/lib/AST/Expr.cpp b/clang/lib/AST/Expr.cpp
index 61c21b06756..2ac30b4c8cb 100644
--- a/clang/lib/AST/Expr.cpp
+++ b/clang/lib/AST/Expr.cpp
@@ -1057,9 +1057,9 @@ bool ExtVectorElementExpr::containsDuplicateElements() const {
}
/// getEncodedElementAccess - We encode the fields as a llvm ConstantArray.
-llvm::Constant *ExtVectorElementExpr::getEncodedElementAccess() const {
+void ExtVectorElementExpr::getEncodedElementAccess(
+ llvm::SmallVectorImpl<unsigned> &Elts) const {
const char *compStr = Accessor.getName();
- llvm::SmallVector<llvm::Constant *, 8> Indices;
bool isHi = !strcmp(compStr, "hi");
bool isLo = !strcmp(compStr, "lo");
@@ -1080,9 +1080,8 @@ llvm::Constant *ExtVectorElementExpr::getEncodedElementAccess() const {
else
Index = ExtVectorType::getAccessorIdx(compStr[i]);
- Indices.push_back(llvm::ConstantInt::get(llvm::Type::Int32Ty, Index));
+ Elts.push_back(Index);
}
- return llvm::ConstantVector::get(&Indices[0], Indices.size());
}
unsigned
OpenPOWER on IntegriCloud