From 49935def640a19b6dccf69c33be65d3798ea218a Mon Sep 17 00:00:00 2001 From: Lukas Zaoral Date: Tue, 24 Aug 2021 13:59:32 +0200 Subject: llvm13: CreateGEP no longer accepts nullptr See: https://reviews.llvm.org/D105653 --- lib/Module/IntrinsicCleaner.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'lib/Module') diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp index 5e720e45..f4b867e5 100644 --- a/lib/Module/IntrinsicCleaner.cpp +++ b/lib/Module/IntrinsicCleaner.cpp @@ -106,19 +106,20 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) { auto pDst = Builder.CreatePointerCast(dst, i64p, "vacopy.cast.dst"); auto pSrc = Builder.CreatePointerCast(src, i64p, "vacopy.cast.src"); - auto pType = pSrc->getType()->getPointerElementType(); + auto pSrcType = pSrc->getType()->getPointerElementType(); + auto pDstType = pDst->getType()->getPointerElementType(); - auto val = Builder.CreateLoad(pType, pSrc); + auto val = Builder.CreateLoad(pSrcType, pSrc); Builder.CreateStore(val, pDst, ii); auto off = ConstantInt::get(Type::getInt64Ty(ctx), 1); - pDst = Builder.CreateGEP(nullptr, pDst, off, std::string()); - pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string()); - val = Builder.CreateLoad(pType, pSrc); + pDst = Builder.CreateGEP(pDstType, pDst, off); + pSrc = Builder.CreateGEP(pSrcType, pSrc, off); + val = Builder.CreateLoad(pSrcType, pSrc); Builder.CreateStore(val, pDst); - pDst = Builder.CreateGEP(nullptr, pDst, off, std::string()); - pSrc = Builder.CreateGEP(nullptr, pSrc, off, std::string()); - val = Builder.CreateLoad(pType, pSrc); + pDst = Builder.CreateGEP(pDstType, pDst, off); + pSrc = Builder.CreateGEP(pSrcType, pSrc, off); + val = Builder.CreateLoad(pSrcType, pSrc); Builder.CreateStore(val, pDst); } ii->eraseFromParent(); -- cgit 1.4.1