namespace {
class VISIBILITY_HIDDEN AggExprEmitter : public StmtVisitor<AggExprEmitter> {
CodeGenFunction &CGF;
- llvm::LLVMBuilder &Builder;
+ llvm::LLVMFoldingBuilder &Builder;
llvm::Value *DestPtr;
bool VolatileDest;
public:
class VISIBILITY_HIDDEN ComplexExprEmitter
: public StmtVisitor<ComplexExprEmitter, ComplexPairTy> {
CodeGenFunction &CGF;
- llvm::LLVMBuilder &Builder;
+ llvm::LLVMFoldingBuilder &Builder;
public:
ComplexExprEmitter(CodeGenFunction &cgf) : CGF(cgf), Builder(CGF.Builder) {
}
class VISIBILITY_HIDDEN ScalarExprEmitter
: public StmtVisitor<ScalarExprEmitter, Value*> {
CodeGenFunction &CGF;
- llvm::LLVMBuilder &Builder;
+ llvm::LLVMFoldingBuilder &Builder;
public:
ScalarExprEmitter(CodeGenFunction &cgf) : CGF(cgf), Builder(CGF.Builder) {
TargetInfo &Target;
typedef std::pair<llvm::Value *, llvm::Value *> ComplexPairTy;
- llvm::LLVMBuilder Builder;
+ llvm::LLVMFoldingBuilder Builder;
const FunctionDecl *CurFuncDecl;
llvm::Function *CurFn;