clang
19.0.0git
|
Information used when generating a structured loop. More...
#include "/home/runner/work/llvm/llvm/repo/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. More... | |
llvm::MDNode * | getLoopID () const |
Get the loop id metadata for this loop. More... | |
llvm::BasicBlock * | getHeader () const |
Get the header block of this loop. More... | |
const LoopAttributes & | getAttributes () const |
Get the set of attributes active for this loop. More... | |
llvm::MDNode * | getAccessGroup () const |
Return this loop's access group or nullptr if it does not have one. More... | |
void | addIVDepMetadata (const ValueDecl *Array, llvm::Instruction *GEP) const |
void | finish () |
Create the loop's metadata. More... | |
const LoopInfo * | getParent () const |
Returns the first outer loop containing this loop if any, nullptr otherwise. More... | |
Information used when generating a structured loop.
Definition at line 168 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 691 of file CGLoopInfo.cpp.
References clang::CodeGen::LoopAttributes::ArraySYCLIVDepInfo, clang::CodeGen::LoopAttributes::CodeAlign, clang::CodeGen::LoopAttributes::DistributeEnable, clang::CodeGen::LoopAttributes::GlobalSYCLIVDepInfo, clang::CodeGen::LoopAttributes::InterleaveCount, clang::CodeGen::LoopAttributes::IsParallel, clang::CodeGen::LoopAttributes::MustProgress, clang::CodeGen::LoopAttributes::PipelineDisabled, clang::CodeGen::LoopAttributes::PipelineInitiationInterval, clang::CodeGen::LoopAttributes::SYCLIInterval, clang::CodeGen::LoopAttributes::SYCLIntelFPGAVariantCount, clang::CodeGen::LoopAttributes::SYCLLoopCoalesceEnable, clang::CodeGen::LoopAttributes::SYCLLoopCoalesceNLevels, clang::CodeGen::LoopAttributes::SYCLLoopPipeliningDisable, clang::CodeGen::LoopAttributes::SYCLLoopPipeliningEnable, clang::CodeGen::LoopAttributes::SYCLMaxConcurrencyNThreads, clang::CodeGen::LoopAttributes::SYCLMaxInterleavingNInvocations, clang::CodeGen::LoopAttributes::SYCLMaxReinvocationDelayNCycles, clang::CodeGen::LoopAttributes::SYCLNofusionEnable, clang::CodeGen::LoopAttributes::SYCLSpeculatedIterationsNIterations, 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::addIVDepMetadata | ( | const ValueDecl * | Array, |
llvm::Instruction * | GEP | ||
) | const |
Definition at line 1216 of file CGLoopInfo.cpp.
References Array.
Referenced by clang::CodeGen::LoopInfoStack::addIVDepMetadata().
void LoopInfo::finish | ( | ) |
Create the loop's metadata.
Must be called after its nested loops have been processed.
Definition at line 729 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 185 of file CGLoopInfo.h.
|
inline |
Get the set of attributes active for this loop.
Definition at line 182 of file CGLoopInfo.h.
|
inline |
Get the header block of this loop.
Definition at line 179 of file CGLoopInfo.h.
Referenced by clang::CodeGen::LoopInfoStack::InsertHelper().
|
inline |
Get the loop id metadata for this loop.
Definition at line 176 of file CGLoopInfo.h.
Referenced by clang::CodeGen::LoopInfoStack::InsertHelper().
|
inline |
Returns the first outer loop containing this loop if any, nullptr otherwise.
Definition at line 196 of file CGLoopInfo.h.
References Parent.