diff options
author | Hal Finkel <hfinkel@anl.gov> | 2014-10-15 23:45:08 +0000 |
---|---|---|
committer | Hal Finkel <hfinkel@anl.gov> | 2014-10-15 23:45:08 +0000 |
commit | 6fae849597cbadd829a5a3a52947ac588bbbe953 (patch) | |
tree | 5f0a0b6058754302d4a5721ae082aeacd8fa0a52 /clang/lib/CodeGen/CGExpr.cpp | |
parent | 68dc3c7ab2ccaa4a5a1459ba506ef340ed23a5ed (diff) | |
download | bcm5719-llvm-6fae849597cbadd829a5a3a52947ac588bbbe953.tar.gz bcm5719-llvm-6fae849597cbadd829a5a3a52947ac588bbbe953.zip |
Moving CGF::EmitAlignmentAssumption to IRBuilder
The functionality contained in CodeGenFunction::EmitAlignmentAssumption has
been moved to IRBuilder (so that it can also be used by LLVM-level code).
Remove this now-duplicate implementation in favor of the IRBuilder code.
llvm-svn: 219877
Diffstat (limited to 'clang/lib/CodeGen/CGExpr.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGExpr.cpp | 29 |
1 files changed, 0 insertions, 29 deletions
diff --git a/clang/lib/CodeGen/CGExpr.cpp b/clang/lib/CodeGen/CGExpr.cpp index b7504ca1223..927b163d605 100644 --- a/clang/lib/CodeGen/CGExpr.cpp +++ b/clang/lib/CodeGen/CGExpr.cpp @@ -715,35 +715,6 @@ EmitComplexPrePostIncDec(const UnaryOperator *E, LValue LV, return isPre ? IncVal : InVal; } -void CodeGenFunction::EmitAlignmentAssumption(llvm::Value *PtrValue, - unsigned Alignment, - llvm::Value *OffsetValue) { - llvm::Value *PtrIntValue = - Builder.CreatePtrToInt(PtrValue, IntPtrTy, "ptrint"); - - llvm::Value *Mask = llvm::ConstantInt::get(IntPtrTy, - Alignment > 0 ? Alignment - 1 : 0); - if (OffsetValue) { - bool IsOffsetZero = false; - if (llvm::ConstantInt *CI = dyn_cast<llvm::ConstantInt>(OffsetValue)) - IsOffsetZero = CI->isZero(); - - if (!IsOffsetZero) { - if (OffsetValue->getType() != IntPtrTy) - OffsetValue = Builder.CreateIntCast(OffsetValue, IntPtrTy, - /*isSigned*/true, "offsetcast"); - PtrIntValue = Builder.CreateSub(PtrIntValue, OffsetValue, "offsetptr"); - } - } - - llvm::Value *Zero = llvm::ConstantInt::get(IntPtrTy, 0); - llvm::Value *MaskedPtr = Builder.CreateAnd(PtrIntValue, Mask, "maskedptr"); - llvm::Value *InvCond = Builder.CreateICmpEQ(MaskedPtr, Zero, "maskcond"); - - llvm::Value *FnAssume = CGM.getIntrinsic(llvm::Intrinsic::assume); - Builder.CreateCall(FnAssume, InvCond); -} - //===----------------------------------------------------------------------===// // LValue Expression Emission //===----------------------------------------------------------------------===// |