15#ifndef LLVM_IR_PASSTIMINGINFO_H
16#define LLVM_IR_PASSTIMINGINFO_H
28class PassInstrumentationCallbacks;
48 using PassInvocationID = std::pair<StringRef, unsigned>;
99 void startAnalysisTimer(
StringRef PassID);
100 void stopAnalysisTimer(
StringRef PassID);
aarch64 AArch64 CCMP Pass
This file defines the StringMap class.
#define LLVM_DUMP_METHOD
Mark debug helper function definitions like dump() that should not be stripped from debug builds.
PassInstrumentationCallbacks PIC
This file defines the SmallVector class.
This is a 'vector' (really, a variable-sized array), optimized for the case when the array is small.
StringMap - This is an unconventional map that is specialized for handling keys that are "strings",...
StringRef - Represent a constant reference to a string, i.e.
This class implements -time-passes functionality for new pass manager.
void registerCallbacks(PassInstrumentationCallbacks &PIC)
TimePassesHandler(const TimePassesHandler &)=delete
void print()
Prints out timing information and then resets the timers.
~TimePassesHandler()
Destructor handles the print action if it has not been handled before.
void operator=(const TimePassesHandler &)=delete
void setOutStream(raw_ostream &OutStream)
Set a custom output stream for subsequent reporting.
The TimerGroup class is used to group together related timers into a single report that is printed wh...
This class is used to track the amount of time spent between invocations of its startTimer()/stopTime...
This class implements an extremely fast bulk output stream that can only output to a stream.
This is an optimization pass for GlobalISel generic memory operations.
void reportAndResetTimings(raw_ostream *OutStream=nullptr)
If -time-passes has been specified, report the timings immediately and then reset the timers to zero.
Timer * getPassTimer(Pass *)
Request the timer for this legacy-pass-manager's pass instance.
This class manages callbacks registration, as well as provides a way for PassInstrumentation to pass ...