From ba9fd986eb46d19b1d6cfff44c7c6055fc3bf4ee Mon Sep 17 00:00:00 2001 From: Benjamin Kramer Date: Sun, 29 Nov 2009 19:51:45 +0000 Subject: Simplify code. No functionality change. llvm-svn: 90087 --- clang/lib/CodeGen/CGExprComplex.cpp | 28 ++++++---------------------- 1 file changed, 6 insertions(+), 22 deletions(-) (limited to 'clang/lib/CodeGen/CGExprComplex.cpp') diff --git a/clang/lib/CodeGen/CGExprComplex.cpp b/clang/lib/CodeGen/CGExprComplex.cpp index 83becd9..7fa8ffb 100644 --- a/clang/lib/CodeGen/CGExprComplex.cpp +++ b/clang/lib/CodeGen/CGExprComplex.cpp @@ -260,34 +260,18 @@ public: /// load the real and imaginary pieces, returning them as Real/Imag. ComplexPairTy ComplexExprEmitter::EmitLoadOfComplex(llvm::Value *SrcPtr, bool isVolatile) { - llvm::SmallString<64> Name(SrcPtr->getName().begin(), - SrcPtr->getName().end()); - llvm::Value *Real=0, *Imag=0; if (!IgnoreReal) { - // FIXME: Clean this up once builder takes Twine/StringRef. - Name += ".realp"; - llvm::Value *RealPtr = Builder.CreateStructGEP(SrcPtr, 0, - Name.str().str().c_str()); - - Name.pop_back(); // .realp -> .real - // FIXME: Clean this up once builder takes Twine/StringRef. - Real = Builder.CreateLoad(RealPtr, isVolatile, - Name.str().str().c_str()); - Name.resize(Name.size()-4); // .real -> .imagp + llvm::Value *RealP = Builder.CreateStructGEP(SrcPtr, 0, + SrcPtr->getName() + ".realp"); + Real = Builder.CreateLoad(RealP, isVolatile, SrcPtr->getName() + ".real"); } if (!IgnoreImag) { - Name += "imagp"; - - // FIXME: Clean this up once builder takes Twine/StringRef. - llvm::Value *ImagPtr = Builder.CreateStructGEP(SrcPtr, 1, - Name.str().str().c_str()); - - Name.pop_back(); // .imagp -> .imag - // FIXME: Clean this up once builder takes Twine/StringRef. - Imag = Builder.CreateLoad(ImagPtr, isVolatile, Name.str().str().c_str()); + llvm::Value *ImagP = Builder.CreateStructGEP(SrcPtr, 1, + SrcPtr->getName() + ".imagp"); + Imag = Builder.CreateLoad(ImagP, isVolatile, SrcPtr->getName() + ".imag"); } return ComplexPairTy(Real, Imag); } -- cgit v1.1