clang 20.0.0git
|
Information used when generating a structured loop. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGLoopInfo.h"
Public Member Functions | |
LoopInfo (llvm::BasicBlock *Header, const LoopAttributes &Attrs, const llvm::DebugLoc &StartLoc, const llvm::DebugLoc &EndLoc, LoopInfo *Parent) | |
Construct a new LoopInfo for the loop with entry Header. | |
llvm::MDNode * | getLoopID () const |
Get the loop id metadata for this loop. | |
llvm::BasicBlock * | getHeader () const |
Get the header block of this loop. | |
const LoopAttributes & | getAttributes () const |
Get the set of attributes active for this loop. | |
llvm::MDNode * | getAccessGroup () const |
Return this loop's access group or nullptr if it does not have one. | |
void | finish () |
Create the loop's metadata. | |
const LoopInfo * | getParent () const |
Returns the first outer loop containing this loop if any, nullptr otherwise. | |
Information used when generating a structured loop.
Definition at line 90 of file CGLoopInfo.h.
LoopInfo::LoopInfo | ( | llvm::BasicBlock * | Header, |
const LoopAttributes & | Attrs, | ||
const llvm::DebugLoc & | StartLoc, | ||
const llvm::DebugLoc & | EndLoc, | ||
LoopInfo * | Parent | ||
) |
Construct a new LoopInfo for the loop with entry Header.
Definition at line 484 of file CGLoopInfo.cpp.
References clang::CodeGen::LoopAttributes::CodeAlign, clang::CodeGen::LoopAttributes::DistributeEnable, clang::CodeGen::LoopAttributes::InterleaveCount, clang::CodeGen::LoopAttributes::IsParallel, clang::CodeGen::LoopAttributes::MustProgress, clang::CodeGen::LoopAttributes::PipelineDisabled, clang::CodeGen::LoopAttributes::PipelineInitiationInterval, clang::CodeGen::LoopAttributes::UnrollAndJamCount, clang::CodeGen::LoopAttributes::UnrollAndJamEnable, clang::CodeGen::LoopAttributes::UnrollCount, clang::CodeGen::LoopAttributes::UnrollEnable, clang::CodeGen::LoopAttributes::Unspecified, clang::CodeGen::LoopAttributes::VectorizeEnable, clang::CodeGen::LoopAttributes::VectorizePredicateEnable, clang::CodeGen::LoopAttributes::VectorizeScalable, and clang::CodeGen::LoopAttributes::VectorizeWidth.
void LoopInfo::finish | ( | ) |
Create the loop's metadata.
Must be called after its nested loops have been processed.
Definition at line 512 of file CGLoopInfo.cpp.
References clang::CodeGen::LoopAttributes::Disable, clang::CodeGen::LoopAttributes::DistributeEnable, clang::CodeGen::LoopAttributes::Enable, clang::CodeGen::LoopAttributes::Full, clang::CodeGen::LoopAttributes::InterleaveCount, clang::CodeGen::LoopAttributes::IsParallel, clang::CodeGen::LoopAttributes::PipelineDisabled, clang::CodeGen::LoopAttributes::PipelineInitiationInterval, clang::CodeGen::LoopAttributes::UnrollAndJamCount, clang::CodeGen::LoopAttributes::UnrollAndJamEnable, clang::CodeGen::LoopAttributes::UnrollCount, clang::CodeGen::LoopAttributes::UnrollEnable, clang::CodeGen::LoopAttributes::Unspecified, clang::CodeGen::LoopAttributes::VectorizeEnable, clang::CodeGen::LoopAttributes::VectorizePredicateEnable, clang::CodeGen::LoopAttributes::VectorizeScalable, and clang::CodeGen::LoopAttributes::VectorizeWidth.
|
inline |
Return this loop's access group or nullptr if it does not have one.
Definition at line 107 of file CGLoopInfo.h.
|
inline |
Get the set of attributes active for this loop.
Definition at line 104 of file CGLoopInfo.h.
Referenced by clang::CodeGen::LoopInfoStack::getCurLoopParallel().
|
inline |
Get the header block of this loop.
Definition at line 101 of file CGLoopInfo.h.
Referenced by clang::CodeGen::LoopInfoStack::InsertHelper().
|
inline |
Get the loop id metadata for this loop.
Definition at line 98 of file CGLoopInfo.h.
Referenced by clang::CodeGen::LoopInfoStack::getCurLoopID(), and clang::CodeGen::LoopInfoStack::InsertHelper().
|
inline |
Returns the first outer loop containing this loop if any, nullptr otherwise.
Definition at line 115 of file CGLoopInfo.h.
References Parent.