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 class manages callbacks registration, as well as provides a way for PassInstrumentation to pass ...
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.