[llvm-commits] [llvm] r59092 - in /llvm/trunk: include/llvm/LinkAllPasses.h include/llvm/Transforms/IPO.h lib/Transforms/Utils/DbgInfoRemover.cpp
Devang Patel
dpatel at apple.com
Tue Nov 11 15:57:34 PST 2008
Author: dpatel
Date: Tue Nov 11 17:57:33 2008
New Revision: 59092
URL: http://llvm.org/viewvc/llvm-project?rev=59092&view=rev
Log:
Undo previous check-in.
Modified:
llvm/trunk/include/llvm/LinkAllPasses.h
llvm/trunk/include/llvm/Transforms/IPO.h
llvm/trunk/lib/Transforms/Utils/DbgInfoRemover.cpp
Modified: llvm/trunk/include/llvm/LinkAllPasses.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/LinkAllPasses.h?rev=59092&r1=59091&r2=59092&view=diff
==============================================================================
--- llvm/trunk/include/llvm/LinkAllPasses.h (original)
+++ llvm/trunk/include/llvm/LinkAllPasses.h Tue Nov 11 17:57:33 2008
@@ -125,7 +125,6 @@
(void) llvm::createMergeFunctionsPass();
(void) llvm::createPrintModulePass(0);
(void) llvm::createPrintFunctionPass("", 0);
- (void) llvm::createRemoveDbgInfoPass();
(void)new llvm::IntervalPartition();
(void)new llvm::FindUsedTypes();
Modified: llvm/trunk/include/llvm/Transforms/IPO.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/IPO.h?rev=59092&r1=59091&r2=59092&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/IPO.h (original)
+++ llvm/trunk/include/llvm/Transforms/IPO.h Tue Nov 11 17:57:33 2008
@@ -200,13 +200,6 @@
///
ModulePass *createMergeFunctionsPass();
-//===----------------------------------------------------------------------===//
-//
-// RemoveDbgInfoPass - This pass removes debug info. intrinsics.
-//
-ModulePass *createRemoveDbgInfoPass();
-
-
} // End llvm namespace
#endif
Modified: llvm/trunk/lib/Transforms/Utils/DbgInfoRemover.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Utils/DbgInfoRemover.cpp?rev=59092&r1=59091&r2=59092&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Utils/DbgInfoRemover.cpp (original)
+++ llvm/trunk/lib/Transforms/Utils/DbgInfoRemover.cpp Tue Nov 11 17:57:33 2008
@@ -1,97 +0,0 @@
-//===- DbgInforemover.cpp - Remove Debug Info Intrinsics ------------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This is utility pass removes all debug information intrinsics from a
-// function.
-//
-//===----------------------------------------------------------------------===//
-
-#include "llvm/Transforms/IPO.h"
-#include "llvm/Module.h"
-#include "llvm/IntrinsicInst.h"
-#include "llvm/Pass.h"
-#include "llvm/ADT/SmallPtrSet.h"
-using namespace llvm;
-
-namespace {
- // Remove dbg intrinsics and related globals from this module.
- struct RemoveDbgInfoPass : public ModulePass {
- static char ID; // Pass identification, replacement for typeid
- RemoveDbgInfoPass() : ModulePass(&ID) {}
-
- void getAnalysisUsage(AnalysisUsage &Info) const {
- Info.setPreservesCFG();
- }
-
- bool runOnModule(Module &M) {
- bool Changed = false;
- DbgGlobals.clear();
-
- for (Module::iterator I = M.begin(), E = M.end(); I != E; ) {
- Function *F = I++;
- Changed |= cleanupFunction(*F);
- if (F->hasName() && !strncmp(F->getNameStart(), "llvm.dbg", 8))
- M.getFunctionList().erase(F);
- }
-
- for (Module::global_iterator GVI = M.global_begin(), E = M.global_end();
- GVI != E; ) {
- GlobalVariable *GV = GVI++;
- if (GV->hasName() && !strncmp(GV->getNameStart(), "llvm.dbg", 8)) {
- if (GV->hasInitializer())
- CollectDbgGlobals(GV->getInitializer());
- GV->replaceAllUsesWith(UndefValue::get(GV->getType()));
- GV->removeDeadConstantUsers();
- M.getGlobalList().erase(GV);
- }
- }
-
- for (SmallPtrSet<GlobalVariable *,8>::iterator CI = DbgGlobals.begin(),
- CE = DbgGlobals.end(); CI != CE; ) {
- GlobalVariable *GV = *CI++;
- GV->removeDeadConstantUsers();
- if (GV->use_empty())
- M.getGlobalList().erase(GV);
- }
- return Changed;
- }
-
- void CollectDbgGlobals(Constant *C) {
- if (GlobalVariable *GV = dyn_cast<GlobalVariable>(C))
- DbgGlobals.insert(GV);
- for (User::op_iterator I = C->op_begin(), E = C->op_end(); I != E; ++I)
- CollectDbgGlobals(cast<Constant>(*I));
- }
-
- bool cleanupFunction(Function &F) {
- SmallVector<Instruction *, 8> WorkList;
- for (Function::iterator BB = F.begin(), E = F.end(); BB != E; ++BB)
- for (BasicBlock::iterator I = BB->begin(), E = BB->end(); I != E; ++I)
- if (isa<DbgInfoIntrinsic>(I))
- WorkList.push_back(I);
-
- for (SmallVector<Instruction *, 8>::iterator WI = WorkList.begin(),
- WE = WorkList.end(); WI != WE; ++WI)
- (*WI)->eraseFromParent();
-
- return !WorkList.empty();
- }
-
- private:
- SmallPtrSet<GlobalVariable *, 8> DbgGlobals;
- };
-
- char RemoveDbgInfoPass::ID = 0;
- static RegisterPass<RemoveDbgInfoPass> X("remove-dbginfo",
- "Remove Debugging Information");
-}
-
-ModulePass *llvm::createRemoveDbgInfoPass() {
- return new RemoveDbgInfoPass();
-}
More information about the llvm-commits
mailing list