LLVM  8.0.1
Public Member Functions | Friends | List of all members
llvm::Timer Class Reference

This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods. More...

#include "llvm/Support/Timer.h"

Public Member Functions

 Timer (StringRef Name, StringRef Description)
 
 Timer (StringRef Name, StringRef Description, TimerGroup &tg)
 
 Timer (const Timer &RHS)
 
const Timeroperator= (const Timer &T)
 
 ~Timer ()
 
 Timer ()
 Create an uninitialized timer, client must use 'init'. More...
 
void init (StringRef Name, StringRef Description)
 
void init (StringRef Name, StringRef Description, TimerGroup &tg)
 
const std::string & getName () const
 
const std::string & getDescription () const
 
bool isInitialized () const
 
bool isRunning () const
 Check if the timer is currently running. More...
 
bool hasTriggered () const
 Check if startTimer() has ever been called on this timer. More...
 
void startTimer ()
 Start the timer running. More...
 
void stopTimer ()
 Stop the timer. More...
 
void clear ()
 Clear the timer state. More...
 
TimeRecord getTotalTime () const
 Return the duration for which this timer has been running. More...
 

Friends

class TimerGroup
 

Detailed Description

This class is used to track the amount of time spent between invocations of its startTimer()/stopTimer() methods.

Given appropriate OS support it can also keep track of the RSS of the program at various points. By default, the Timer will print the amount of time it has captured to standard error when the last timer is destroyed, otherwise it is printed when its TimerGroup is destroyed. Timers do not print their information if they are never started.

Definition at line 77 of file Timer.h.

Constructor & Destructor Documentation

◆ Timer() [1/4]

llvm::Timer::Timer ( StringRef  Name,
StringRef  Description 
)
inlineexplicit

Definition at line 89 of file Timer.h.

References llvm::cl::init().

◆ Timer() [2/4]

llvm::Timer::Timer ( StringRef  Name,
StringRef  Description,
TimerGroup tg 
)
inline

Definition at line 92 of file Timer.h.

References llvm::cl::init().

◆ Timer() [3/4]

llvm::Timer::Timer ( const Timer RHS)
inline

Definition at line 95 of file Timer.h.

References assert().

◆ ~Timer()

Timer::~Timer ( )

Definition at line 104 of file Timer.cpp.

◆ Timer() [4/4]

llvm::Timer::Timer ( )
inlineexplicit

Create an uninitialized timer, client must use 'init'.

Definition at line 105 of file Timer.h.

References llvm::cl::init().

Member Function Documentation

◆ clear()

void Timer::clear ( )

Clear the timer state.

Definition at line 147 of file Timer.cpp.

Referenced by llvm::TimerGroup::clear().

◆ getDescription()

const std::string& llvm::Timer::getDescription ( ) const
inline

Definition at line 110 of file Timer.h.

◆ getName()

const std::string& llvm::Timer::getName ( ) const
inline

Definition at line 109 of file Timer.h.

References Name.

◆ getTotalTime()

TimeRecord llvm::Timer::getTotalTime ( ) const
inline

Return the duration for which this timer has been running.

Definition at line 131 of file Timer.h.

◆ hasTriggered()

bool llvm::Timer::hasTriggered ( ) const
inline

Check if startTimer() has ever been called on this timer.

Definition at line 117 of file Timer.h.

References clear().

Referenced by llvm::TimePassesHandler::print(), and llvm::TimerGroup::~TimerGroup().

◆ init() [1/2]

void Timer::init ( StringRef  Name,
StringRef  Description 
)

Definition at line 91 of file Timer.cpp.

References getDefaultTimerGroup(), and llvm::cl::init().

Referenced by llvm::TimeRecord::print().

◆ init() [2/2]

void Timer::init ( StringRef  Name,
StringRef  Description,
TimerGroup tg 
)

Definition at line 95 of file Timer.cpp.

References assert(), llvm::StringRef::begin(), and llvm::StringRef::end().

◆ isInitialized()

bool llvm::Timer::isInitialized ( ) const
inline

Definition at line 111 of file Timer.h.

Referenced by llvm::TimeRecord::print().

◆ isRunning()

bool llvm::Timer::isRunning ( ) const
inline

Check if the timer is currently running.

Definition at line 114 of file Timer.h.

Referenced by llvm::TimePassesHandler::print(), and llvm::TimerGroup::~TimerGroup().

◆ operator=()

const Timer& llvm::Timer::operator= ( const Timer T)
inline

Definition at line 98 of file Timer.h.

References assert().

◆ startTimer()

void Timer::startTimer ( )

Start the timer running.

Time between calls to startTimer/stopTimer is counted by the Timer class. Note that these calls must be correctly paired.

Definition at line 134 of file Timer.cpp.

References assert(), and llvm::TimeRecord::getCurrentTime().

Referenced by llvm::TimePassesHandler::print(), llvm::TimeRegion::TimeRegion(), and llvm::TimerGroup::~TimerGroup().

◆ stopTimer()

void Timer::stopTimer ( )

Stop the timer.

Definition at line 140 of file Timer.cpp.

References assert(), and llvm::TimeRecord::getCurrentTime().

Referenced by llvm::TimeRegion::~TimeRegion(), and llvm::TimerGroup::~TimerGroup().

Friends And Related Function Documentation

◆ TimerGroup

friend class TimerGroup
friend

Definition at line 134 of file Timer.h.


The documentation for this class was generated from the following files: