Lines Matching refs:Trace
1 //===- llvm/Analysis/Trace.h - Represent one trace of LLVM code -*- C++ -*-===//
10 // This class represents a single trace of LLVM basic blocks. A trace is a
11 // single entry, multiple exit, region of code that is often hot. Trace-based
13 // block: because the trace path is assumed to be hot, optimizations for the
30 class Trace {
35 /// Trace ctor - Make a new trace from a vector of basic blocks,
39 Trace(const std::vector<BasicBlock *> &vBB) : BasicBlocks (vBB) {}
42 /// of the trace.
46 /// operator[]/getBlock - Return basic block N in the trace.
51 /// getFunction - Return this trace's parent function.
55 /// getModule - Return this Module that contains this trace's parent
61 /// trace, or -1 if it is not in the trace.
69 /// contains - Returns true if this trace contains the given basic
76 /// Returns true if B1 occurs before B2 in the trace, or if it is the same
77 /// block as B2.. Both blocks must be in the trace.
81 assert(B1Idx != -1 && B2Idx != -1 && "Block is not in the trace!");
107 /// print - Write trace to output stream.
111 /// dump - Debugger convenience method; writes trace to standard error