aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib/Module/IntrinsicCleaner.cpp
diff options
context:
space:
mode:
authorJulian Büning <julian.buening@rwth-aachen.de>2018-05-12 19:49:07 +0200
committerCristian Cadar <c.cadar@imperial.ac.uk>2018-05-22 16:24:46 +0100
commit45dbf0624f6fe37d25ba401c2bf99b8315f8847b (patch)
tree94ebd15744b8ee84e1735f657774e5e1d1d862c0 /lib/Module/IntrinsicCleaner.cpp
parent1b8bad9dda673f1340b50c39334eb92ee8a8c306 (diff)
downloadklee-45dbf0624f6fe37d25ba401c2bf99b8315f8847b.tar.gz
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
Diffstat (limited to 'lib/Module/IntrinsicCleaner.cpp')
-rw-r--r--lib/Module/IntrinsicCleaner.cpp18
1 files changed, 8 insertions, 10 deletions
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<IntrinsicInst>(&*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