#include <algorithm>
using namespace llvm;
-static Statistic NumDeadBlocks("branchfold", "Number of dead blocks removed");
-static Statistic NumBranchOpts("branchfold", "Number of branches optimized");
-static Statistic NumTailMerge ("branchfold", "Number of block tails merged");
+STATISTIC(NumDeadBlocks, "Number of dead blocks removed");
+STATISTIC(NumBranchOpts, "Number of branches optimized");
+STATISTIC(NumTailMerge , "Number of block tails merged");
static cl::opt<bool> EnableTailMerge("enable-tail-merge", cl::Hidden);
namespace {
#include <cmath>
using namespace llvm;
+STATISTIC(numIntervals, "Number of original intervals");
+STATISTIC(numIntervalsAfter, "Number of intervals after coalescing");
+STATISTIC(numJoins , "Number of interval joins performed");
+STATISTIC(numPeep , "Number of identity moves eliminated after coalescing");
+STATISTIC(numFolded , "Number of loads/stores folded into instructions");
+
namespace {
RegisterPass<LiveIntervals> X("liveintervals", "Live Interval Analysis");
- static Statistic numIntervals
- ("liveintervals", "Number of original intervals");
-
- static Statistic numIntervalsAfter
- ("liveintervals", "Number of intervals after coalescing");
-
- static Statistic numJoins
- ("liveintervals", "Number of interval joins performed");
-
- static Statistic numPeep
- ("liveintervals", "Number of identity moves eliminated after coalescing");
-
- static Statistic numFolded
- ("liveintervals", "Number of loads/stores folded into instructions");
-
static cl::opt<bool>
EnableJoining("join-liveintervals",
cl::desc("Coallesce copies (default=true)"),
//
//===----------------------------------------------------------------------===//
+#define DEBUG_TYPE "phielim"
#include "llvm/CodeGen/LiveVariables.h"
#include "llvm/CodeGen/Passes.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include <algorithm>
using namespace llvm;
+STATISTIC(NumAtomic, "Number of atomic phis lowered");
+//STATISTIC(NumSimple, "Number of simple phis lowered");
+
namespace {
- static Statistic NumAtomic("phielim", "Number of atomic phis lowered");
- static Statistic NumSimple("phielim", "Number of simple phis lowered");
-
struct VISIBILITY_HIDDEN PNE : public MachineFunctionPass {
bool runOnMachineFunction(MachineFunction &Fn) {
analyzePHINodes(Fn);
#include <cmath>
using namespace llvm;
-namespace {
-
- static Statistic NumIters
- ("regalloc", "Number of iterations performed");
- static Statistic NumBacktracks
- ("regalloc", "Number of times we had to backtrack");
+STATISTIC(NumIters , "Number of iterations performed");
+STATISTIC(NumBacktracks, "Number of times we had to backtrack");
- static RegisterRegAlloc
- linearscanRegAlloc("linearscan", " linear scan register allocator",
- createLinearScanRegisterAllocator);
+static RegisterRegAlloc
+linearscanRegAlloc("linearscan", " linear scan register allocator",
+ createLinearScanRegisterAllocator);
+namespace {
static unsigned numIterations = 0;
static unsigned numIntervals = 0;
#include <algorithm>
using namespace llvm;
-namespace {
- static Statistic NumStores("ra-local", "Number of stores added");
- static Statistic NumLoads ("ra-local", "Number of loads added");
- static Statistic NumFolded("ra-local", "Number of loads/stores folded "
- "into instructions");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
+STATISTIC(NumFolded, "Number of loads/stores folded into instructions");
+namespace {
static RegisterRegAlloc
localRegAlloc("local", " local register allocator",
createLocalRegisterAllocator);
#include "llvm/ADT/STLExtras.h"
using namespace llvm;
-namespace {
- static Statistic NumStores("ra-simple", "Number of stores added");
- static Statistic NumLoads ("ra-simple", "Number of loads added");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
+namespace {
static RegisterRegAlloc
simpleRegAlloc("simple", " simple register allocator",
createSimpleRegisterAllocator);
#include <algorithm>
using namespace llvm;
+STATISTIC(NodesCombined , "Number of dag nodes combined");
+STATISTIC(PreIndexedNodes , "Number of pre-indexed nodes created");
+STATISTIC(PostIndexedNodes, "Number of post-indexed nodes created");
+
namespace {
- static Statistic NodesCombined ("dagcombiner",
- "Number of dag nodes combined");
-
- static Statistic PreIndexedNodes ("pre_indexed_ops",
- "Number of pre-indexed nodes created");
- static Statistic PostIndexedNodes ("post_indexed_ops",
- "Number of post-indexed nodes created");
-
static cl::opt<bool>
CombinerAA("combiner-alias-analysis", cl::Hidden,
cl::desc("Turn on alias analysis during testing"));
#include <queue>
using namespace llvm;
-namespace {
- static Statistic NumNoops ("scheduler", "Number of noops inserted");
- static Statistic NumStalls("scheduler", "Number of pipeline stalls");
-}
+STATISTIC(NumNoops , "Number of noops inserted");
+STATISTIC(NumStalls, "Number of pipeline stalls");
static RegisterScheduler
tdListDAGScheduler("list-td", " Top-down list scheduler",
#include "llvm/ADT/STLExtras.h"
using namespace llvm;
-namespace {
- static Statistic NumTwoAddressInstrs("twoaddressinstruction",
- "Number of two-address instructions");
- static Statistic NumCommuted("twoaddressinstruction",
- "Number of instructions commuted to coalesce");
- static Statistic NumConvertedTo3Addr("twoaddressinstruction",
- "Number of instructions promoted to 3-address");
+STATISTIC(NumTwoAddressInstrs, "Number of two-address instructions");
+STATISTIC(NumCommuted , "Number of instructions commuted to coalesce");
+STATISTIC(NumConvertedTo3Addr, "Number of instructions promoted to 3-address");
+namespace {
struct VISIBILITY_HIDDEN TwoAddressInstructionPass
: public MachineFunctionPass {
virtual void getAnalysisUsage(AnalysisUsage &AU) const;
#include <algorithm>
using namespace llvm;
-namespace {
- static Statistic NumSpills("spiller", "Number of register spills");
- static Statistic NumStores("spiller", "Number of stores added");
- static Statistic NumLoads ("spiller", "Number of loads added");
- static Statistic NumReused("spiller", "Number of values reused");
- static Statistic NumDSE ("spiller", "Number of dead stores elided");
- static Statistic NumDCE ("spiller", "Number of copies elided");
+STATISTIC(NumSpills, "Number of register spills");
+STATISTIC(NumStores, "Number of stores added");
+STATISTIC(NumLoads , "Number of loads added");
+STATISTIC(NumReused, "Number of values reused");
+STATISTIC(NumDSE , "Number of dead stores elided");
+STATISTIC(NumDCE , "Number of copies elided");
+namespace {
enum SpillerName { simple, local };
static cl::opt<SpillerName>