|
LLVM
8.0.1
|
Profile instances are thread-compatible. More...
#include "llvm/XRay/Profile.h"
Classes | |
| struct | Block |
| struct | Data |
Public Types | |
| using | ThreadID = uint64_t |
| using | PathID = unsigned |
| using | FuncID = int32_t |
| using | const_iterator = BlockList::const_iterator |
Public Member Functions | |
| Expected< std::vector< FuncID > > | expandPath (PathID P) const |
| Provides a sequence of function IDs from a previously interned PathID. More... | |
| PathID | internPath (ArrayRef< FuncID > P) |
| The stack represented in |P| must be in stack order (leaf to root). More... | |
| Error | addBlock (Block &&B) |
| Appends a fully-formed Block instance into the Profile. More... | |
| Profile ()=default | |
| ~Profile ()=default | |
| Profile (Profile &&O) noexcept | |
| Profile & | operator= (Profile &&O) noexcept |
| Profile (const Profile &) | |
| Profile & | operator= (const Profile &) |
| const_iterator | begin () const |
| const_iterator | end () const |
| bool | empty () const |
Friends | |
| void | swap (Profile &L, Profile &R) |
| using llvm::xray::Profile::const_iterator = BlockList::const_iterator |
| using llvm::xray::Profile::FuncID = int32_t |
| using llvm::xray::Profile::PathID = unsigned |
| using llvm::xray::Profile::ThreadID = uint64_t |
|
default |
Referenced by operator=().
|
default |
|
inlinenoexcept |
Definition at line 26 of file Profile.cpp.
References B, llvm::cantFail(), internPath(), llvm::xray::Profile::Block::PathData, and llvm::xray::Profile::Block::Thread.
Appends a fully-formed Block instance into the Profile.
Returns an error condition in the following cases:
Definition at line 122 of file Profile.cpp.
References B, llvm::make_error_code(), and llvm::Error::success().
Referenced by llvm::xray::mergeProfilesByStack(), llvm::xray::mergeProfilesByThread(), and llvm::xray::profileFromTrace().
|
inline |
|
inline |
| Expected< std::vector< Profile::FuncID > > llvm::xray::Profile::expandPath | ( | PathID | P | ) | const |
Provides a sequence of function IDs from a previously interned PathID.
Returns an error if |P| had not been interned before into the Profile.
Definition at line 132 of file Profile.cpp.
References llvm::make_error_code().
| Profile::PathID llvm::xray::Profile::internPath | ( | ArrayRef< FuncID > | P | ) |
The stack represented in |P| must be in stack order (leaf to root).
This will always return the same PathID for |P| that has the same sequence.
Definition at line 144 of file Profile.cpp.
References llvm::ArrayRef< T >::empty(), llvm::find_if(), N, and llvm::reverse().
Referenced by llvm::xray::mergeProfilesByStack(), llvm::xray::mergeProfilesByThread(), Profile(), and llvm::xray::profileFromTrace().
Definition at line 94 of file Profile.h.
References llvm::RISCVFenceField::O, and Profile().
Definition at line 38 of file Profile.cpp.
References llvm::RISCVFenceField::O, and P.
1.8.13