clang
10.0.0git
|
A stack of loop information corresponding to loop nesting levels. More...
#include "/work/www-prereleases/10.0.0/rc2/docsbuild/clang/lib/CodeGen/CGLoopInfo.h"
Public Member Functions | |
LoopInfoStack () | |
void | push (llvm::BasicBlock *Header, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc) |
Begin a new structured loop. More... | |
void | push (llvm::BasicBlock *Header, clang::ASTContext &Ctx, llvm::ArrayRef< const Attr *> Attrs, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc) |
Begin a new structured loop. More... | |
void | pop () |
End the current loop. More... | |
llvm::MDNode * | getCurLoopID () const |
Return the top loop id metadata. More... | |
bool | getCurLoopParallel () const |
Return true if the top loop is parallel. More... | |
void | InsertHelper (llvm::Instruction *I) const |
Function called by the CodeGenFunction when an instruction is created. More... | |
void | setParallel (bool Enable=true) |
Set the next pushed loop as parallel. More... | |
void | setVectorizeEnable (bool Enable=true) |
Set the next pushed loop 'vectorize.enable'. More... | |
void | setDistributeState (bool Enable=true) |
Set the next pushed loop as a distribution candidate. More... | |
void | setUnrollState (const LoopAttributes::LVEnableState &State) |
Set the next pushed loop unroll state. More... | |
void | setVectorizePredicateState (const LoopAttributes::LVEnableState &State) |
Set the next pushed vectorize predicate state. More... | |
void | setUnrollAndJamState (const LoopAttributes::LVEnableState &State) |
Set the next pushed loop unroll_and_jam state. More... | |
void | setVectorizeWidth (unsigned W) |
Set the vectorize width for the next loop pushed. More... | |
void | setInterleaveCount (unsigned C) |
Set the interleave count for the next loop pushed. More... | |
void | setUnrollCount (unsigned C) |
Set the unroll count for the next loop pushed. More... | |
void | setUnrollAndJamCount (unsigned C) |
Set the unroll count for the next loop pushed. More... | |
void | setPipelineDisabled (bool S) |
Set the pipeline disabled state. More... | |
void | setPipelineInitiationInterval (unsigned C) |
Set the pipeline initiation interval. More... | |
A stack of loop information corresponding to loop nesting levels.
This stack can be used to prepare attributes which are applied when a loop is emitted.
Definition at line 190 of file CGLoopInfo.h.
|
inline |
Definition at line 195 of file CGLoopInfo.h.
|
inline |
|
inline |
Return true if the top loop is parallel.
Definition at line 215 of file CGLoopInfo.h.
References getInfo().
void LoopInfoStack::InsertHelper | ( | llvm::Instruction * | I | ) | const |
Function called by the CodeGenFunction when an instruction is created.
Definition at line 765 of file CGLoopInfo.cpp.
References clang::CodeGen::LoopInfo::getHeader(), getInfo(), and clang::CodeGen::LoopInfo::getLoopID().
void LoopInfoStack::pop | ( | ) |
End the current loop.
Definition at line 759 of file CGLoopInfo.cpp.
void clang::CodeGen::LoopInfoStack::push | ( | llvm::BasicBlock * | Header, |
const llvm::DebugLoc & | StartLoc, | ||
const llvm::DebugLoc & | EndLoc | ||
) |
Begin a new structured loop.
The set of staged attributes will be applied to the loop and then cleared.
Referenced by clang::CodeGen::LoopInfo::finish().
void clang::CodeGen::LoopInfoStack::push | ( | llvm::BasicBlock * | Header, |
clang::ASTContext & | Ctx, | ||
llvm::ArrayRef< const Attr *> | Attrs, | ||
const llvm::DebugLoc & | StartLoc, | ||
const llvm::DebugLoc & | EndLoc | ||
) |
Begin a new structured loop.
Stage attributes from the Attrs list. The staged attributes are applied to the loop and then cleared.
Set the next pushed loop as a distribution candidate.
Definition at line 233 of file CGLoopInfo.h.
|
inline |
Set the interleave count for the next loop pushed.
Definition at line 257 of file CGLoopInfo.h.
Set the next pushed loop as parallel.
Definition at line 224 of file CGLoopInfo.h.
Referenced by emitSimdlenSafelenClause().
|
inline |
Set the pipeline disabled state.
Definition at line 266 of file CGLoopInfo.h.
|
inline |
Set the pipeline initiation interval.
Definition at line 269 of file CGLoopInfo.h.
References getInfo().
|
inline |
Set the unroll count for the next loop pushed.
Definition at line 263 of file CGLoopInfo.h.
|
inline |
Set the next pushed loop unroll_and_jam state.
Definition at line 249 of file CGLoopInfo.h.
References State.
|
inline |
Set the unroll count for the next loop pushed.
Definition at line 260 of file CGLoopInfo.h.
|
inline |
Set the next pushed loop unroll state.
Definition at line 239 of file CGLoopInfo.h.
References State.
Set the next pushed loop 'vectorize.enable'.
Definition at line 227 of file CGLoopInfo.h.
|
inline |
Set the next pushed vectorize predicate state.
Definition at line 244 of file CGLoopInfo.h.
References State.
|
inline |
Set the vectorize width for the next loop pushed.
Definition at line 254 of file CGLoopInfo.h.
Referenced by emitSimdlenSafelenClause().