[llvm-commits] CVS: llvm/lib/Transforms/Scalar/ADCE.cpp BreakCriticalEdges.cpp ConstantProp.cpp CorrelatedExprs.cpp DCE.cpp DecomposeMultiDimRefs.cpp GCSE.cpp IndVarSimplify.cpp InstructionCombining.cpp LICM.cpp LoopPreheaders.cpp LowerAllocations.cpp PiNodeInsertion.cpp PromoteMemoryToRegister.cpp RaiseAllocations.cpp Reassociate.cpp SCCP.cpp SimplifyCFG.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Oct 1 17:39:06 PDT 2002
Changes in directory llvm/lib/Transforms/Scalar:
ADCE.cpp updated: 1.47 -> 1.48
BreakCriticalEdges.cpp updated: 1.4 -> 1.5
ConstantProp.cpp updated: 1.38 -> 1.39
CorrelatedExprs.cpp updated: 1.4 -> 1.5
DCE.cpp updated: 1.46 -> 1.47
DecomposeMultiDimRefs.cpp updated: 1.25 -> 1.26
GCSE.cpp updated: 1.23 -> 1.24
IndVarSimplify.cpp updated: 1.30 -> 1.31
InstructionCombining.cpp updated: 1.58 -> 1.59
LICM.cpp updated: 1.18 -> 1.19
LoopPreheaders.cpp updated: 1.3 -> 1.4
LowerAllocations.cpp updated: 1.32 -> 1.33
PiNodeInsertion.cpp updated: 1.7 -> 1.8
PromoteMemoryToRegister.cpp updated: 1.31 -> 1.32
RaiseAllocations.cpp updated: 1.13 -> 1.14
Reassociate.cpp updated: 1.10 -> 1.11
SCCP.cpp updated: 1.60 -> 1.61
SimplifyCFG.cpp updated: 1.5 -> 1.6
---
Log message:
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.
---
Diffs of the changes:
Index: llvm/lib/Transforms/Scalar/ADCE.cpp
diff -u llvm/lib/Transforms/Scalar/ADCE.cpp:1.47 llvm/lib/Transforms/Scalar/ADCE.cpp:1.48
--- llvm/lib/Transforms/Scalar/ADCE.cpp:1.47 Tue Sep 10 18:46:10 2002
+++ llvm/lib/Transforms/Scalar/ADCE.cpp Tue Oct 1 17:38:40 2002
@@ -17,16 +17,14 @@
#include "llvm/Support/CFG.h"
#include "Support/STLExtras.h"
#include "Support/DepthFirstIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <algorithm>
-#include <iostream>
using std::cerr;
using std::vector;
-static Statistic<> NumBlockRemoved("adce\t\t- Number of basic blocks removed");
-static Statistic<> NumInstRemoved ("adce\t\t- Number of instructions removed");
-
namespace {
+ Statistic<> NumBlockRemoved("adce", "Number of basic blocks removed");
+ Statistic<> NumInstRemoved ("adce", "Number of instructions removed");
//===----------------------------------------------------------------------===//
// ADCE Class
Index: llvm/lib/Transforms/Scalar/BreakCriticalEdges.cpp
diff -u llvm/lib/Transforms/Scalar/BreakCriticalEdges.cpp:1.4 llvm/lib/Transforms/Scalar/BreakCriticalEdges.cpp:1.5
--- llvm/lib/Transforms/Scalar/BreakCriticalEdges.cpp:1.4 Thu Sep 26 11:18:51 2002
+++ llvm/lib/Transforms/Scalar/BreakCriticalEdges.cpp Tue Oct 1 17:38:40 2002
@@ -14,10 +14,10 @@
#include "llvm/iTerminators.h"
#include "llvm/iPHINode.h"
#include "llvm/Support/CFG.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
namespace {
- Statistic<> NumBroken("break-crit-edges\t- Number of blocks inserted");
+ Statistic<> NumBroken("break-crit-edges", "Number of blocks inserted");
struct BreakCriticalEdges : public FunctionPass {
virtual bool runOnFunction(Function &F);
Index: llvm/lib/Transforms/Scalar/ConstantProp.cpp
diff -u llvm/lib/Transforms/Scalar/ConstantProp.cpp:1.38 llvm/lib/Transforms/Scalar/ConstantProp.cpp:1.39
--- llvm/lib/Transforms/Scalar/ConstantProp.cpp:1.38 Fri Jul 26 16:12:40 2002
+++ llvm/lib/Transforms/Scalar/ConstantProp.cpp Tue Oct 1 17:38:40 2002
@@ -17,12 +17,12 @@
#include "llvm/Instruction.h"
#include "llvm/Pass.h"
#include "llvm/Support/InstIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <set>
-static Statistic<> NumInstKilled("constprop - Number of instructions killed");
-
namespace {
+ Statistic<> NumInstKilled("constprop", "Number of instructions killed");
+
struct ConstantPropogation : public FunctionPass {
bool runOnFunction(Function &F);
Index: llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp
diff -u llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.4 llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.5
--- llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp:1.4 Tue Sep 24 10:43:56 2002
+++ llvm/lib/Transforms/Scalar/CorrelatedExprs.cpp Tue Oct 1 17:38:40 2002
@@ -32,13 +32,13 @@
#include "llvm/Support/ConstantRange.h"
#include "llvm/Support/CFG.h"
#include "Support/PostOrderIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <algorithm>
namespace {
- Statistic<>NumSetCCRemoved("cee\t\t- Number of setcc instruction eliminated");
- Statistic<>NumOperandsCann("cee\t\t- Number of operands cannonicalized");
- Statistic<>BranchRevectors("cee\t\t- Number of branches revectored");
+ Statistic<> NumSetCCRemoved("cee", "Number of setcc instruction eliminated");
+ Statistic<> NumOperandsCann("cee", "Number of operands cannonicalized");
+ Statistic<> BranchRevectors("cee", "Number of branches revectored");
class ValueInfo;
class Relation {
Index: llvm/lib/Transforms/Scalar/DCE.cpp
diff -u llvm/lib/Transforms/Scalar/DCE.cpp:1.46 llvm/lib/Transforms/Scalar/DCE.cpp:1.47
--- llvm/lib/Transforms/Scalar/DCE.cpp:1.46 Fri Jul 26 16:12:40 2002
+++ llvm/lib/Transforms/Scalar/DCE.cpp Tue Oct 1 17:38:40 2002
@@ -14,17 +14,17 @@
#include "llvm/Instruction.h"
#include "llvm/Pass.h"
#include "llvm/Support/InstIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <set>
-static Statistic<> DIEEliminated("die\t\t- Number of insts removed");
-static Statistic<> DCEEliminated("dce\t\t- Number of insts removed");
+namespace {
+ Statistic<> DIEEliminated("die", "Number of insts removed");
+ Statistic<> DCEEliminated("dce", "Number of insts removed");
-//===----------------------------------------------------------------------===//
-// DeadInstElimination pass implementation
-//
+ //===--------------------------------------------------------------------===//
+ // DeadInstElimination pass implementation
+ //
-namespace {
struct DeadInstElimination : public BasicBlockPass {
virtual bool runOnBasicBlock(BasicBlock &BB) {
bool Changed = false;
Index: llvm/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp
diff -u llvm/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp:1.25 llvm/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp:1.26
--- llvm/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp:1.25 Mon Sep 16 11:40:07 2002
+++ llvm/lib/Transforms/Scalar/DecomposeMultiDimRefs.cpp Tue Oct 1 17:38:41 2002
@@ -16,10 +16,10 @@
#include "llvm/iOther.h"
#include "llvm/BasicBlock.h"
#include "llvm/Pass.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
namespace {
- Statistic<> NumAdded("lowerrefs\t\t- # of getelementptr instructions added");
+ Statistic<> NumAdded("lowerrefs", "# of getelementptr instructions added");
struct DecomposePass : public BasicBlockPass {
virtual bool runOnBasicBlock(BasicBlock &BB);
Index: llvm/lib/Transforms/Scalar/GCSE.cpp
diff -u llvm/lib/Transforms/Scalar/GCSE.cpp:1.23 llvm/lib/Transforms/Scalar/GCSE.cpp:1.24
--- llvm/lib/Transforms/Scalar/GCSE.cpp:1.23 Fri Aug 30 17:53:30 2002
+++ llvm/lib/Transforms/Scalar/GCSE.cpp Tue Oct 1 17:38:41 2002
@@ -13,13 +13,13 @@
#include "llvm/Analysis/Dominators.h"
#include "llvm/Analysis/ValueNumbering.h"
#include "llvm/Support/InstIterator.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <algorithm>
namespace {
- Statistic<> NumInstRemoved("gcse\t\t- Number of instructions removed");
- Statistic<> NumLoadRemoved("gcse\t\t- Number of loads removed");
- Statistic<> NumNonInsts ("gcse\t\t- Number of instructions removed due "
+ Statistic<> NumInstRemoved("gcse", "Number of instructions removed");
+ Statistic<> NumLoadRemoved("gcse", "Number of loads removed");
+ Statistic<> NumNonInsts ("gcse", "Number of instructions removed due "
"to non-instruction values");
class GCSE : public FunctionPass {
Index: llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
diff -u llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.30 llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.31
--- llvm/lib/Transforms/Scalar/IndVarSimplify.cpp:1.30 Tue Sep 10 12:04:01 2002
+++ llvm/lib/Transforms/Scalar/IndVarSimplify.cpp Tue Oct 1 17:38:41 2002
@@ -14,11 +14,11 @@
#include "llvm/Constants.h"
#include "llvm/Support/CFG.h"
#include "Support/STLExtras.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
namespace {
- Statistic<> NumRemoved ("indvars\t\t- Number of aux indvars removed");
- Statistic<> NumInserted("indvars\t\t- Number of cannonical indvars added");
+ Statistic<> NumRemoved ("indvars", "Number of aux indvars removed");
+ Statistic<> NumInserted("indvars", "Number of cannonical indvars added");
}
// InsertCast - Cast Val to Ty, setting a useful name on the cast if Val has a
Index: llvm/lib/Transforms/Scalar/InstructionCombining.cpp
diff -u llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.58 llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.59
--- llvm/lib/Transforms/Scalar/InstructionCombining.cpp:1.58 Mon Sep 23 18:39:43 2002
+++ llvm/lib/Transforms/Scalar/InstructionCombining.cpp Tue Oct 1 17:38:41 2002
@@ -25,14 +25,14 @@
#include "llvm/Pass.h"
#include "llvm/Support/InstIterator.h"
#include "llvm/Support/InstVisitor.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <algorithm>
-static Statistic<> NumCombined ("instcombine\t- Number of insts combined");
-static Statistic<> NumConstProp("instcombine\t- Number of constant folds");
-static Statistic<> NumDeadInst ("instcombine\t- Number of dead inst eliminate");
-
namespace {
+ Statistic<> NumCombined ("instcombine", "Number of insts combined");
+ Statistic<> NumConstProp("instcombine", "Number of constant folds");
+ Statistic<> NumDeadInst ("instcombine", "Number of dead inst eliminated");
+
class InstCombiner : public FunctionPass,
public InstVisitor<InstCombiner, Instruction*> {
// Worklist of all of the instructions that need to be simplified.
Index: llvm/lib/Transforms/Scalar/LICM.cpp
diff -u llvm/lib/Transforms/Scalar/LICM.cpp:1.18 llvm/lib/Transforms/Scalar/LICM.cpp:1.19
--- llvm/lib/Transforms/Scalar/LICM.cpp:1.18 Sun Sep 29 17:26:07 2002
+++ llvm/lib/Transforms/Scalar/LICM.cpp Tue Oct 1 17:38:41 2002
@@ -13,14 +13,14 @@
#include "llvm/iMemory.h"
#include "llvm/Support/InstVisitor.h"
#include "Support/STLExtras.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include "llvm/Assembly/Writer.h"
#include <algorithm>
using std::string;
namespace {
- Statistic<>NumHoisted("licm\t\t- Number of instructions hoisted out of loop");
- Statistic<> NumHoistedLoads("licm\t\t- Number of load insts hoisted");
+ Statistic<> NumHoisted("licm", "Number of instructions hoisted out of loop");
+ Statistic<> NumHoistedLoads("licm", "Number of load insts hoisted");
struct LICM : public FunctionPass, public InstVisitor<LICM> {
virtual bool runOnFunction(Function &F);
Index: llvm/lib/Transforms/Scalar/LoopPreheaders.cpp
diff -u llvm/lib/Transforms/Scalar/LoopPreheaders.cpp:1.3 llvm/lib/Transforms/Scalar/LoopPreheaders.cpp:1.4
--- llvm/lib/Transforms/Scalar/LoopPreheaders.cpp:1.3 Sun Sep 29 16:41:38 2002
+++ llvm/lib/Transforms/Scalar/LoopPreheaders.cpp Tue Oct 1 17:38:41 2002
@@ -13,10 +13,10 @@
#include "llvm/iPHINode.h"
#include "llvm/Constant.h"
#include "llvm/Support/CFG.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
namespace {
- Statistic<> NumInserted("preheaders\t- Number of pre-header nodes inserted");
+ Statistic<> NumInserted("preheaders", "Number of pre-header nodes inserted");
struct Preheaders : public FunctionPass {
virtual bool runOnFunction(Function &F);
Index: llvm/lib/Transforms/Scalar/LowerAllocations.cpp
diff -u llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.32 llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.33
--- llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.32 Wed Sep 25 18:47:47 2002
+++ llvm/lib/Transforms/Scalar/LowerAllocations.cpp Tue Oct 1 17:38:41 2002
@@ -13,12 +13,12 @@
#include "llvm/Constants.h"
#include "llvm/Pass.h"
#include "llvm/Target/TargetData.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
-static Statistic<> NumLowered("lowerallocs\t- Number of allocations lowered");
using std::vector;
namespace {
+ Statistic<> NumLowered("lowerallocs", "Number of allocations lowered");
/// LowerAllocations - Turn malloc and free instructions into %malloc and
/// %free calls.
Index: llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp
diff -u llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.7 llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.8
--- llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.7 Tue Sep 10 17:38:47 2002
+++ llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp Tue Oct 1 17:38:41 2002
@@ -29,16 +29,15 @@
#include "llvm/Analysis/Dominators.h"
#include "llvm/Pass.h"
#include "llvm/Function.h"
-#include "llvm/BasicBlock.h"
#include "llvm/iTerminators.h"
#include "llvm/iOperators.h"
#include "llvm/iPHINode.h"
#include "llvm/Support/CFG.h"
-#include "Support/StatisticReporter.h"
-
-static Statistic<> NumInserted("pinodes\t\t- Number of Pi nodes inserted");
+#include "Support/Statistic.h"
namespace {
+ Statistic<> NumInserted("pinodes", "Number of Pi nodes inserted");
+
struct PiNodeInserter : public FunctionPass {
virtual bool runOnFunction(Function &F);
Index: llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp
diff -u llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.31 llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.32
--- llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.31 Tue Sep 24 16:19:41 2002
+++ llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp Tue Oct 1 17:38:41 2002
@@ -23,18 +23,17 @@
#include "llvm/iPHINode.h"
#include "llvm/iTerminators.h"
#include "llvm/Function.h"
-#include "llvm/BasicBlock.h"
#include "llvm/Constant.h"
#include "llvm/Type.h"
-#include "Support/StatisticReporter.h"
-
-static Statistic<> NumPromoted("mem2reg\t\t- Number of alloca's promoted");
+#include "Support/Statistic.h"
using std::vector;
using std::map;
using std::set;
namespace {
+ Statistic<> NumPromoted("mem2reg", "Number of alloca's promoted");
+
struct PromotePass : public FunctionPass {
vector<AllocaInst*> Allocas; // the alloca instruction..
map<Instruction*, unsigned> AllocaLookup; // reverse mapping of above
Index: llvm/lib/Transforms/Scalar/RaiseAllocations.cpp
diff -u llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.13 llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.14
--- llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.13 Fri Sep 13 22:04:02 2002
+++ llvm/lib/Transforms/Scalar/RaiseAllocations.cpp Tue Oct 1 17:38:41 2002
@@ -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
Index: llvm/lib/Transforms/Scalar/Reassociate.cpp
diff -u llvm/lib/Transforms/Scalar/Reassociate.cpp:1.10 llvm/lib/Transforms/Scalar/Reassociate.cpp:1.11
--- llvm/lib/Transforms/Scalar/Reassociate.cpp:1.10 Tue Sep 10 12:04:02 2002
+++ llvm/lib/Transforms/Scalar/Reassociate.cpp Tue Oct 1 17:38:41 2002
@@ -18,20 +18,19 @@
#include "llvm/Transforms/Scalar.h"
#include "llvm/Function.h"
-#include "llvm/BasicBlock.h"
#include "llvm/iOperators.h"
#include "llvm/Type.h"
#include "llvm/Pass.h"
#include "llvm/Constant.h"
#include "llvm/Support/CFG.h"
#include "Support/PostOrderIterator.h"
-#include "Support/StatisticReporter.h"
-
-static Statistic<> NumLinear ("reassociate\t- Number of insts linearized");
-static Statistic<> NumChanged("reassociate\t- Number of insts reassociated");
-static Statistic<> NumSwapped("reassociate\t- Number of insts with operands swapped");
+#include "Support/Statistic.h"
namespace {
+ Statistic<> NumLinear ("reassociate","Number of insts linearized");
+ Statistic<> NumChanged("reassociate","Number of insts reassociated");
+ Statistic<> NumSwapped("reassociate","Number of insts with operands swapped");
+
class Reassociate : public FunctionPass {
std::map<BasicBlock*, unsigned> RankMap;
public:
Index: llvm/lib/Transforms/Scalar/SCCP.cpp
diff -u llvm/lib/Transforms/Scalar/SCCP.cpp:1.60 llvm/lib/Transforms/Scalar/SCCP.cpp:1.61
--- llvm/lib/Transforms/Scalar/SCCP.cpp:1.60 Fri Aug 30 18:39:00 2002
+++ llvm/lib/Transforms/Scalar/SCCP.cpp Tue Oct 1 17:38:41 2002
@@ -24,17 +24,17 @@
#include "llvm/Pass.h"
#include "llvm/Support/InstVisitor.h"
#include "Support/STLExtras.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <algorithm>
#include <set>
using std::cerr;
-static Statistic<> NumInstRemoved("sccp\t\t- Number of instructions removed");
-
// InstVal class - This class represents the different lattice values that an
// instruction may occupy. It is a simple class with value semantics.
//
namespace {
+ Statistic<> NumInstRemoved("sccp", "Number of instructions removed");
+
class InstVal {
enum {
undefined, // This instruction has no known value
Index: llvm/lib/Transforms/Scalar/SimplifyCFG.cpp
diff -u llvm/lib/Transforms/Scalar/SimplifyCFG.cpp:1.5 llvm/lib/Transforms/Scalar/SimplifyCFG.cpp:1.6
--- llvm/lib/Transforms/Scalar/SimplifyCFG.cpp:1.5 Tue Sep 24 16:18:40 2002
+++ llvm/lib/Transforms/Scalar/SimplifyCFG.cpp Tue Oct 1 17:38:41 2002
@@ -16,12 +16,12 @@
#include "llvm/Module.h"
#include "llvm/Support/CFG.h"
#include "llvm/Pass.h"
-#include "Support/StatisticReporter.h"
+#include "Support/Statistic.h"
#include <set>
-static Statistic<> NumSimpl("cfgsimplify\t- Number of blocks simplified");
-
namespace {
+ Statistic<> NumSimpl("cfgsimplify", "Number of blocks simplified");
+
struct CFGSimplifyPass : public FunctionPass {
virtual bool runOnFunction(Function &F);
};
More information about the llvm-commits
mailing list