diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-01-25 02:10:46 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-01-25 02:10:46 +0000 |
commit | cf2b7ba4a762ae463ef45ee3f004ef6e309e5124 (patch) | |
tree | 04220319e01ace1db555ed4a32c593fd9918d4cf /clang | |
parent | c69d454d5aa427279c73d9e8e157f246159ce683 (diff) | |
download | bcm5719-llvm-cf2b7ba4a762ae463ef45ee3f004ef6e309e5124.tar.gz bcm5719-llvm-cf2b7ba4a762ae463ef45ee3f004ef6e309e5124.zip |
Get rid of some code that should be unnecessary.
llvm-svn: 62950
Diffstat (limited to 'clang')
-rw-r--r-- | clang/lib/CodeGen/CGExprConstant.cpp | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/clang/lib/CodeGen/CGExprConstant.cpp b/clang/lib/CodeGen/CGExprConstant.cpp index 716e295f3e0..32d126e5903 100644 --- a/clang/lib/CodeGen/CGExprConstant.cpp +++ b/clang/lib/CodeGen/CGExprConstant.cpp @@ -48,13 +48,6 @@ public: llvm::Constant *VisitParenExpr(ParenExpr *PE) { return Visit(PE->getSubExpr()); } - - llvm::Constant *VisitObjCStringLiteral(const ObjCStringLiteral *E) { - std::string S(E->getString()->getStrData(), - E->getString()->getByteLength()); - llvm::Constant *C = CGM.getObjCRuntime().GenerateConstantString(S); - return llvm::ConstantExpr::getBitCast(C, ConvertType(E->getType())); - } llvm::Constant *VisitCompoundLiteralExpr(CompoundLiteralExpr *E) { return Visit(E->getInitializer()); @@ -371,54 +364,9 @@ public: return llvm::ConstantArray::get(CGM.GetStringForStringLiteral(E), false); } - llvm::Constant *VisitAddrLabelExpr(const AddrLabelExpr *E) { - assert(CGF && "Invalid address of label expression outside function."); - llvm::Constant *C = - llvm::ConstantInt::get(llvm::Type::Int32Ty, - CGF->GetIDForAddrOfLabel(E->getLabel())); - return llvm::ConstantExpr::getIntToPtr(C, ConvertType(E->getType())); - } - - llvm::Constant *VisitUnaryAddrOf(const UnaryOperator *E) { - return EmitLValue(E->getSubExpr()); - } - llvm::Constant *VisitUnaryOffsetOf(const UnaryOperator *E) { - int64_t Val = E->evaluateOffsetOf(CGM.getContext()); - - assert(E->getType()->isIntegerType() && "Result type must be an integer!"); - - uint32_t ResultWidth = - static_cast<uint32_t>(CGM.getContext().getTypeSize(E->getType())); - return llvm::ConstantInt::get(llvm::APInt(ResultWidth, Val)); - } - llvm::Constant *VisitUnaryExtension(const UnaryOperator *E) { return Visit(E->getSubExpr()); } - - // Binary operators - - llvm::Constant *VisitCallExpr(const CallExpr *E) { - Expr::EvalResult Result; - if (E->Evaluate(Result, CGM.getContext())) { - if (Result.Val.isInt()) - return llvm::ConstantInt::get(Result.Val.getInt()); - if (Result.Val.isFloat()) - return llvm::ConstantFP::get(Result.Val.getFloat()); - } - - // Handle __builtin___CFStringMakeConstantString. - if (E->isBuiltinCall() ==Builtin::BI__builtin___CFStringMakeConstantString){ - const Expr *Arg = E->getArg(0)->IgnoreParenCasts(); - - const StringLiteral *Literal = cast<StringLiteral>(Arg); - std::string S(Literal->getStrData(), Literal->getByteLength()); - return CGM.GetAddrOfConstantCFString(S); - } - - CGM.ErrorUnsupported(E, "constant call expression"); - return llvm::Constant::getNullValue(ConvertType(E->getType())); - } // Utility methods const llvm::Type *ConvertType(QualType T) { |