diff options
author | Devang Patel <dpatel@apple.com> | 2008-11-19 19:01:37 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-11-19 19:01:37 +0000 |
commit | b144e19e5e4dc0dc5c99bfb2e3942a5e83a656ab (patch) | |
tree | fc7f15a460df581f72c07e3164c4df5351daab7c /lib/Transforms | |
parent | 7c047571d84d007e5ba50a3a1c83f44c0c952244 (diff) | |
download | external_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.cpp | 60 |
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); -} |