From 45dbf0624f6fe37d25ba401c2bf99b8315f8847b Mon Sep 17 00:00:00 2001 From: Julian Büning Date: Sat, 12 May 2018 19:49:07 +0200 Subject: some housekeeping in Passes.h and IntrinsicCleaner.cpp This commit addresses the following: * remove unused variables block_split (::runOnBasicBlock) and LI (::IntrinsicCleanerPass) in IntrinsicCleanerPass * add `dirty = true` to `Intrinsic::vacopy` case * use `eraseFromParent()` methods instead of `removeFromParent()` and `delete` * add `override` keyword to `runOn{Module,Function}` methods --- lib/Module/IntrinsicCleaner.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'lib/Module/IntrinsicCleaner.cpp') diff --git a/lib/Module/IntrinsicCleaner.cpp b/lib/Module/IntrinsicCleaner.cpp index 10b5df08..4e3c3796 100644 --- a/lib/Module/IntrinsicCleaner.cpp +++ b/lib/Module/IntrinsicCleaner.cpp @@ -45,15 +45,13 @@ bool IntrinsicCleanerPass::runOnModule(Module &M) { bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) { bool dirty = false; - bool block_split=false; LLVMContext &ctx = M.getContext(); unsigned WordSize = DataLayout.getPointerSizeInBits() / 8; - for (BasicBlock::iterator i = b.begin(), ie = b.end(); - (i != ie) && (block_split == false);) { + for (BasicBlock::iterator i = b.begin(), ie = b.end(); i != ie;) { IntrinsicInst *ii = dyn_cast(&*i); - // increment now since LowerIntrinsic deletion makes iterator invalid. - ++i; + // increment now since deletion of instructions makes iterator invalid. + ++i; if(ii) { switch (ii->getIntrinsicID()) { case Intrinsic::vastart: @@ -89,8 +87,8 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) { pSrc = GetElementPtrInst::Create(pSrc, off, std::string(), ii); val = new LoadInst(pSrc, std::string(), ii); new StoreInst(val, pDst, ii); } - ii->removeFromParent(); - delete ii; + ii->eraseFromParent(); + dirty = true; break; } @@ -176,20 +174,20 @@ bool IntrinsicCleanerPass::runOnBasicBlock(BasicBlock &b, Module &M) { resultStruct = builder.CreateInsertValue(resultStruct, overflow, 1); ii->replaceAllUsesWith(resultStruct); - ii->removeFromParent(); - delete ii; + ii->eraseFromParent(); dirty = true; break; } case Intrinsic::dbg_value: - case Intrinsic::dbg_declare: + case Intrinsic::dbg_declare: { // Remove these regardless of lower intrinsics flag. This can // be removed once IntrinsicLowering is fixed to not have bad // caches. ii->eraseFromParent(); dirty = true; break; + } case Intrinsic::trap: { // Intrisic instruction "llvm.trap" found. Directly lower it to -- cgit 1.4.1