diff options
author | Chris Lattner <sabre@nondot.org> | 2002-10-01 22:38:41 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2002-10-01 22:38:41 +0000 |
commit | a92f696b74a99325026ebbdbffd2a44317e0c10b (patch) | |
tree | 7f562b1d94677db5295c04d65530821d05c0d304 /lib/Transforms/IPO/RaiseAllocations.cpp | |
parent | 6ee6bbeb04b0213b3f2d60db3ba36fa71d6d9251 (diff) | |
download | llvm-a92f696b74a99325026ebbdbffd2a44317e0c10b.tar.gz llvm-a92f696b74a99325026ebbdbffd2a44317e0c10b.tar.bz2 llvm-a92f696b74a99325026ebbdbffd2a44317e0c10b.tar.xz |
Updates to work with recent Statistic's changes:
* Renamed StatisticReporter.h/cpp to Statistic.h/cpp
* Broke constructor to take two const char * arguments instead of one, so
that indendation can be taken care of automatically.
* Sort the list by pass name when printing
* Make sure to print all statistics as a group, instead of randomly when
the statistics dtors are called.
* Updated ProgrammersManual with new semantics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4002 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/RaiseAllocations.cpp')
-rw-r--r-- | lib/Transforms/IPO/RaiseAllocations.cpp | 43 |
1 files changed, 21 insertions, 22 deletions
diff --git a/lib/Transforms/IPO/RaiseAllocations.cpp b/lib/Transforms/IPO/RaiseAllocations.cpp index 2f4a1df842..75c2247755 100644 --- a/lib/Transforms/IPO/RaiseAllocations.cpp +++ b/lib/Transforms/IPO/RaiseAllocations.cpp @@ -12,32 +12,31 @@ #include "llvm/iMemory.h" #include "llvm/iOther.h" #include "llvm/Pass.h" -#include "Support/StatisticReporter.h" - -static Statistic<> NumRaised("raiseallocs\t- Number of allocations raised"); +#include "Support/Statistic.h" namespace { + Statistic<> NumRaised("raiseallocs", "Number of allocations raised"); -// RaiseAllocations - Turn %malloc and %free calls into the appropriate -// instruction. -// -class RaiseAllocations : public BasicBlockPass { - Function *MallocFunc; // Functions in the module we are processing - Function *FreeFunc; // Initialized by doPassInitializationVirt -public: - RaiseAllocations() : MallocFunc(0), FreeFunc(0) {} - - // doPassInitialization - For the raise allocations pass, this finds a - // declaration for malloc and free if they exist. + // RaiseAllocations - Turn %malloc and %free calls into the appropriate + // instruction. // - bool doInitialization(Module &M); - - // runOnBasicBlock - This method does the actual work of converting - // instructions over, assuming that the pass has already been initialized. - // - bool runOnBasicBlock(BasicBlock &BB); -}; - + class RaiseAllocations : public BasicBlockPass { + Function *MallocFunc; // Functions in the module we are processing + Function *FreeFunc; // Initialized by doPassInitializationVirt + public: + RaiseAllocations() : MallocFunc(0), FreeFunc(0) {} + + // doPassInitialization - For the raise allocations pass, this finds a + // declaration for malloc and free if they exist. + // + bool doInitialization(Module &M); + + // runOnBasicBlock - This method does the actual work of converting + // instructions over, assuming that the pass has already been initialized. + // + bool runOnBasicBlock(BasicBlock &BB); + }; + RegisterOpt<RaiseAllocations> X("raiseallocs", "Raise allocations from calls to instructions"); } // end anonymous namespace |