summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGExpr.cpp
diff options
context:
space:
mode:
authorHal Finkel <hfinkel@anl.gov>2014-10-15 23:45:08 +0000
committerHal Finkel <hfinkel@anl.gov>2014-10-15 23:45:08 +0000
commit6fae849597cbadd829a5a3a52947ac588bbbe953 (patch)
tree5f0a0b6058754302d4a5721ae082aeacd8fa0a52 /clang/lib/CodeGen/CGExpr.cpp
parent68dc3c7ab2ccaa4a5a1459ba506ef340ed23a5ed (diff)
downloadbcm5719-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.cpp29
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
//===----------------------------------------------------------------------===//
OpenPOWER on IntegriCloud