clang: clang::CodeGen::LoopInfoStack Class Reference (original) (raw)
A stack of loop information corresponding to loop nesting levels. More...
#include "[/work/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGLoopInfo.h](CGLoopInfo%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| LoopInfoStack () | |
| void | push (llvm::BasicBlock *Header, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc) |
| Begin a new structured loop. | |
| void | push (llvm::BasicBlock *Header, clang::ASTContext &Ctx, const clang::CodeGenOptions &CGOpts, llvm::ArrayRef< const Attr * > Attrs, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc, bool MustProgress=false) |
| Begin a new structured loop. | |
| void | pop () |
| End the current loop. | |
| llvm::MDNode * | getCurLoopID () const |
| Return the top loop id metadata. | |
| bool | getCurLoopParallel () const |
| Return true if the top loop is parallel. | |
| void | InsertHelper (llvm::Instruction *I) const |
| Function called by the CodeGenFunction when an instruction is created. | |
| void | setParallel (bool Enable=true) |
| Set the next pushed loop as parallel. | |
| void | setVectorizeEnable (bool Enable=true) |
| Set the next pushed loop 'vectorize.enable'. | |
| void | setDistributeState (bool Enable=true) |
| Set the next pushed loop as a distribution candidate. | |
| void | setUnrollState (const LoopAttributes::LVEnableState &State) |
| Set the next pushed loop unroll state. | |
| void | setVectorizePredicateState (const LoopAttributes::LVEnableState &State) |
| Set the next pushed vectorize predicate state. | |
| void | setUnrollAndJamState (const LoopAttributes::LVEnableState &State) |
| Set the next pushed loop unroll_and_jam state. | |
| void | setVectorizeWidth (unsigned W) |
| Set the vectorize width for the next loop pushed. | |
| void | setVectorizeScalable (const LoopAttributes::LVEnableState &State) |
| void | setInterleaveCount (unsigned C) |
| Set the interleave count for the next loop pushed. | |
| void | setUnrollCount (unsigned C) |
| Set the unroll count for the next loop pushed. | |
| void | setUnrollAndJamCount (unsigned C) |
| Set the unroll count for the next loop pushed. | |
| void | setPipelineDisabled (bool S) |
| Set the pipeline disabled state. | |
| void | setPipelineInitiationInterval (unsigned C) |
| Set the pipeline initiation interval. | |
| void | setCodeAlign (unsigned C) |
| Set value of code align for the next loop pushed. | |
| void | setMustProgress (bool P) |
| Set no progress for the next loop pushed. | |
| bool | hasInfo () const |
| Returns true if there is LoopInfo on the stack. | |
| const LoopInfo & | getInfo () const |
| Return the LoopInfo for the current loop. |
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 207 of file CGLoopInfo.h.
| clang::CodeGen::LoopInfoStack::LoopInfoStack ( ) | inline |
|---|
◆ getCurLoopID()
| llvm::MDNode * clang::CodeGen::LoopInfoStack::getCurLoopID ( ) const | inline |
|---|
◆ getCurLoopParallel()
| bool clang::CodeGen::LoopInfoStack::getCurLoopParallel ( ) const | inline |
|---|
◆ getInfo()
| const LoopInfo & clang::CodeGen::LoopInfoStack::getInfo ( ) const | inline |
|---|
◆ hasInfo()
| bool clang::CodeGen::LoopInfoStack::hasInfo ( ) const | inline |
|---|
◆ InsertHelper()
| void LoopInfoStack::InsertHelper | ( | llvm::Instruction * | I | ) | const |
|---|
◆ pop()
| void LoopInfoStack::pop | ( | ) |
|---|
◆ push() [1/2]
Begin a new structured loop.
Stage attributes from the Attrs list. The staged attributes are applied to the loop and then cleared.
◆ push() [2/2]
| 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.
◆ setCodeAlign()
| void clang::CodeGen::LoopInfoStack::setCodeAlign ( unsigned C) | inline |
|---|
Set value of code align for the next loop pushed.
Definition at line 296 of file CGLoopInfo.h.
References clang::C.
◆ setDistributeState()
| void clang::CodeGen::LoopInfoStack::setDistributeState ( bool Enable = true) | inline |
|---|
◆ setInterleaveCount()
| void clang::CodeGen::LoopInfoStack::setInterleaveCount ( unsigned C) | inline |
|---|
Set the interleave count for the next loop pushed.
Definition at line 279 of file CGLoopInfo.h.
References clang::C.
◆ setMustProgress()
| void clang::CodeGen::LoopInfoStack::setMustProgress ( bool P) | inline |
|---|
Set no progress for the next loop pushed.
Definition at line 299 of file CGLoopInfo.h.
◆ setParallel()
| void clang::CodeGen::LoopInfoStack::setParallel ( bool Enable = true) | inline |
|---|
◆ setPipelineDisabled()
| void clang::CodeGen::LoopInfoStack::setPipelineDisabled ( bool S) | inline |
|---|
Set the pipeline disabled state.
Definition at line 288 of file CGLoopInfo.h.
◆ setPipelineInitiationInterval()
| void clang::CodeGen::LoopInfoStack::setPipelineInitiationInterval ( unsigned C) | inline |
|---|
◆ setUnrollAndJamCount()
| void clang::CodeGen::LoopInfoStack::setUnrollAndJamCount ( unsigned C) | inline |
|---|
◆ setUnrollAndJamState()
Set the next pushed loop unroll_and_jam state.
Definition at line 267 of file CGLoopInfo.h.
◆ setUnrollCount()
| void clang::CodeGen::LoopInfoStack::setUnrollCount ( unsigned C) | inline |
|---|
◆ setUnrollState()
Set the next pushed loop unroll state.
Definition at line 257 of file CGLoopInfo.h.
◆ setVectorizeEnable()
| void clang::CodeGen::LoopInfoStack::setVectorizeEnable ( bool Enable = true) | inline |
|---|
◆ setVectorizePredicateState()
Set the next pushed vectorize predicate state.
Definition at line 262 of file CGLoopInfo.h.
◆ setVectorizeScalable()
◆ setVectorizeWidth()
| void clang::CodeGen::LoopInfoStack::setVectorizeWidth ( unsigned W) | inline |
|---|
The documentation for this class was generated from the following files:
- lib/CodeGen/CGLoopInfo.h
- lib/CodeGen/CGLoopInfo.cpp