aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Transforms
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-11-19 19:01:37 +0000
committerDevang Patel <dpatel@apple.com>2008-11-19 19:01:37 +0000
commitb144e19e5e4dc0dc5c99bfb2e3942a5e83a656ab (patch)
treefc7f15a460df581f72c07e3164c4df5351daab7c /lib/Transforms
parent7c047571d84d007e5ba50a3a1c83f44c0c952244 (diff)
downloadexternal_llvm-b144e19e5e4dc0dc5c99bfb2e3942a5e83a656ab.zip
external_llvm-b144e19e5e4dc0dc5c99bfb2e3942a5e83a656ab.tar.gz
external_llvm-b144e19e5e4dc0dc5c99bfb2e3942a5e83a656ab.tar.bz2
Do not use separate utility to walk all instructions and remove dead dbg intrinsics. Let instcombiner do this job.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59659 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms')
-rw-r--r--lib/Transforms/Utils/DbgInfoUtils.cpp60
1 files changed, 0 insertions, 60 deletions
diff --git a/lib/Transforms/Utils/DbgInfoUtils.cpp b/lib/Transforms/Utils/DbgInfoUtils.cpp
deleted file mode 100644
index 4bd116a..0000000
--- a/lib/Transforms/Utils/DbgInfoUtils.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-//===-- DbgInfoUtils.cpp - DbgInfo Utilities -------------------------------==//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Utility functions to manipulate debugging information.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Transforms/Utils/DbgInfoUtils.h"
-#include "llvm/IntrinsicInst.h"
-
-using namespace llvm;
-
-/// RemoveDeadDbgIntrinsics - Remove dead dbg intrinsics from this
-/// basic block.
-void llvm::RemoveDeadDbgIntrinsics(BasicBlock &BB) {
- BasicBlock::iterator BI = BB.begin(), BE = BB.end();
- if (BI == BE) return;
-
- Instruction *Prev = BI; ++BI;
- while (BI != BE) {
- Instruction *Next = BI; ++BI;
- DbgInfoIntrinsic *DBI_Prev = dyn_cast<DbgInfoIntrinsic>(Prev);
- if (!DBI_Prev) {
- Prev = Next;
- continue;
- }
-
- // If there are two consecutive llvm.dbg.stoppoint calls then
- // it is likely that the optimizer deleted code in between these
- // two intrinsics.
- DbgInfoIntrinsic *DBI_Next = dyn_cast<DbgInfoIntrinsic>(Next);
- if (DBI_Next
- && DBI_Prev->getIntrinsicID() == llvm::Intrinsic::dbg_stoppoint
- && DBI_Next->getIntrinsicID() == llvm::Intrinsic::dbg_stoppoint)
- Prev->eraseFromParent();
-
- // If a llvm.dbg.stoppoint is placed just before an unconditional
- // branch then remove the llvm.dbg.stoppoint intrinsic.
- else if (BranchInst *UC = dyn_cast<BranchInst>(Next)) {
- if (UC->isUnconditional()
- && DBI_Prev->getIntrinsicID() == llvm::Intrinsic::dbg_stoppoint)
- Prev->eraseFromParent();
- }
-
- Prev = Next;
- }
-}
-
-/// RemoveDeadDbgIntrinsics - Remove dead dbg intrinsics from this function.
-void llvm::RemoveDeadDbgIntrinsics(Function &F) {
- for (Function::iterator FI = F.begin(), FE = F.end();
- FI != FE; ++FI)
- RemoveDeadDbgIntrinsics(*FI);
-}