diff options
author | Xinliang David Li <davidxl@google.com> | 2016-06-15 21:51:30 +0000 |
---|---|---|
committer | Xinliang David Li <davidxl@google.com> | 2016-06-15 21:51:30 +0000 |
commit | 1eaecefaf9cac9b5bbf54932eda0013ec32d041d (patch) | |
tree | 5e26a9ab131a920a63dd6c9b5ad3d4bcb3db789c /llvm/lib/Transforms/Utils | |
parent | 844e2df94b09603bfe2f40b1bcb32822f069e815 (diff) | |
download | bcm5719-llvm-1eaecefaf9cac9b5bbf54932eda0013ec32d041d.tar.gz bcm5719-llvm-1eaecefaf9cac9b5bbf54932eda0013ec32d041d.zip |
[PM] Port Add discriminator pass to new PM
llvm-svn: 272847
Diffstat (limited to 'llvm/lib/Transforms/Utils')
-rw-r--r-- | llvm/lib/Transforms/Utils/AddDiscriminators.cpp | 30 | ||||
-rw-r--r-- | llvm/lib/Transforms/Utils/Utils.cpp | 2 |
2 files changed, 23 insertions, 9 deletions
diff --git a/llvm/lib/Transforms/Utils/AddDiscriminators.cpp b/llvm/lib/Transforms/Utils/AddDiscriminators.cpp index 2a6b6eb1b0b..baf65b628b6 100644 --- a/llvm/lib/Transforms/Utils/AddDiscriminators.cpp +++ b/llvm/lib/Transforms/Utils/AddDiscriminators.cpp @@ -52,6 +52,7 @@ // http://wiki.dwarfstd.org/index.php?title=Path_Discriminators //===----------------------------------------------------------------------===// +#include "llvm/Transforms/Utils/AddDiscriminators.h" #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseSet.h" #include "llvm/IR/BasicBlock.h" @@ -73,20 +74,22 @@ using namespace llvm; #define DEBUG_TYPE "add-discriminators" namespace { -struct AddDiscriminators : public FunctionPass { +// The legacy pass of AddDiscriminators. +struct AddDiscriminatorsLegacyPass : public FunctionPass { static char ID; // Pass identification, replacement for typeid - AddDiscriminators() : FunctionPass(ID) { - initializeAddDiscriminatorsPass(*PassRegistry::getPassRegistry()); + AddDiscriminatorsLegacyPass() : FunctionPass(ID) { + initializeAddDiscriminatorsLegacyPassPass(*PassRegistry::getPassRegistry()); } bool runOnFunction(Function &F) override; }; + } // end anonymous namespace -char AddDiscriminators::ID = 0; -INITIALIZE_PASS_BEGIN(AddDiscriminators, "add-discriminators", +char AddDiscriminatorsLegacyPass::ID = 0; +INITIALIZE_PASS_BEGIN(AddDiscriminatorsLegacyPass, "add-discriminators", "Add DWARF path discriminators", false, false) -INITIALIZE_PASS_END(AddDiscriminators, "add-discriminators", +INITIALIZE_PASS_END(AddDiscriminatorsLegacyPass, "add-discriminators", "Add DWARF path discriminators", false, false) // Command line option to disable discriminator generation even in the @@ -96,8 +99,9 @@ static cl::opt<bool> NoDiscriminators( "no-discriminators", cl::init(false), cl::desc("Disable generation of discriminator information.")); +// Create the legacy AddDiscriminatorsPass. FunctionPass *llvm::createAddDiscriminatorsPass() { - return new AddDiscriminators(); + return new AddDiscriminatorsLegacyPass(); } /// \brief Assign DWARF discriminators. @@ -151,7 +155,7 @@ FunctionPass *llvm::createAddDiscriminatorsPass() { /// lexical block for I2 and all the instruction in B2 that share the same /// file and line location as I2. This new lexical block will have a /// different discriminator number than I1. -bool AddDiscriminators::runOnFunction(Function &F) { +bool addDiscriminators(Function &F) { // If the function has debug information, but the user has disabled // discriminators, do nothing. // Simlarly, if the function has no debug info, do nothing. @@ -240,3 +244,13 @@ bool AddDiscriminators::runOnFunction(Function &F) { } return Changed; } + +bool AddDiscriminatorsLegacyPass::runOnFunction(Function &F) { + return addDiscriminators(F); +} +PreservedAnalyses AddDiscriminatorsPass::run(Function &F, + AnalysisManager<Function> &AM) { + addDiscriminators(F); + // Only modifies debug info. + return PreservedAnalyses::all(); +} diff --git a/llvm/lib/Transforms/Utils/Utils.cpp b/llvm/lib/Transforms/Utils/Utils.cpp index 60cb635aae5..e363dd40da7 100644 --- a/llvm/lib/Transforms/Utils/Utils.cpp +++ b/llvm/lib/Transforms/Utils/Utils.cpp @@ -21,7 +21,7 @@ using namespace llvm; /// initializeTransformUtils - Initialize all passes in the TransformUtils /// library. void llvm::initializeTransformUtils(PassRegistry &Registry) { - initializeAddDiscriminatorsPass(Registry); + initializeAddDiscriminatorsLegacyPassPass(Registry); initializeBreakCriticalEdgesPass(Registry); initializeInstNamerPass(Registry); initializeLCSSAWrapperPassPass(Registry); |