LLVM 22.0.0git
InstCount.cpp File Reference
#include "llvm/Analysis/InstCount.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/InstVisitor.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/IR/Instruction.def"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "instcount"
#define HANDLE_INST(N, OPCODE, CLASS)
#define HANDLE_INST(N, OPCODE, CLASS)

Functions

 STATISTIC (TotalInsts, "Number of instructions (of all types)")
 STATISTIC (TotalBlocks, "Number of basic blocks")
 STATISTIC (TotalFuncs, "Number of non-external functions")

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "instcount"

Definition at line 22 of file InstCount.cpp.

◆ HANDLE_INST [1/2]

#define HANDLE_INST ( N,
OPCODE,
CLASS )
Value:
STATISTIC(Num##OPCODE##Inst, "Number of " #OPCODE " insts");
#define STATISTIC(VARNAME, DESC)
Definition Statistic.h:171
#define OPCODE(NAME)

Definition at line 28 of file InstCount.cpp.

◆ HANDLE_INST [2/2]

#define HANDLE_INST ( N,
OPCODE,
CLASS )
Value:
void visit##OPCODE(CLASS &) { \
++Num##OPCODE##Inst; \
++TotalInsts; \
}
void visit(MachineFunction &MF, MachineBasicBlock &Start, std::function< void(MachineBasicBlock *)> op)

Definition at line 28 of file InstCount.cpp.

Function Documentation

◆ STATISTIC() [1/3]

STATISTIC ( TotalBlocks ,
"Number of basic blocks"  )

◆ STATISTIC() [2/3]

STATISTIC ( TotalFuncs ,
"Number of non-external functions"  )

◆ STATISTIC() [3/3]

STATISTIC ( TotalInsts ,
"Number of instructions (of all types)"  )