static Function * FinalReporting
llvm::Value * AlreadyInitializedPtr
A global variable, that keeps track if the performance monitor initialization has already been run.
llvm::Function * insertFinalReporting()
Create function "__polly_perf_final_reporting".
llvm::Function * getRDTSCP()
Get a reference to the intrinsic "{ i64, i32 } @llvm.x86.rdtscp()".
llvm::Value * CyclesTotalStartPtr
The cycle counter at the beginning of the program execution.
llvm::Value * CyclesInCurrentScopPtr
The total number of cycles spent in the current scop S.
void AppendScopReporting()
Append Scop reporting data to "__polly_perf_final_reporting".
void initialize()
Initialize the performance monitor.
void insertRegionEnd(llvm::Instruction *InsertBefore)
Mark the end of a timing region.
llvm::Value * CyclesInScopsPtr
The total number of cycles spent within scops.
llvm::Value * TripCountForCurrentScopPtr
The total number of times the current scop S is executed.
void addToGlobalConstructors(llvm::Function *Fn)
Add Function to list of global constructors.
llvm::Value * CyclesInScopStartPtr
The value of the cycle counter at the beginning of the last scop.
bool Supported
Indicates if performance profiling is supported on this architecture.
void insertRegionStart(llvm::Instruction *InsertBefore)
Mark the beginning of a timing region.
llvm::Function * getAtExit()
Get a reference to "int atexit(void (*function)(void))" function.
void addGlobalVariables()
Add global variables to module.
llvm::Function * insertInitFunction(llvm::Function *FinalReporting)
void addScopCounter()
Add per-scop tracking to module.
llvm::IRBuilder< llvm::ConstantFolder, IRInserter > PollyIRBuilder