clang  19.0.0git
Public Member Functions | List of all members
clang::CodeGen::LoopInfo Class Reference

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 LoopAttributesgetAttributes () 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 LoopInfogetParent () const
 Returns the first outer loop containing this loop if any, nullptr otherwise. More...
 

Detailed Description

Information used when generating a structured loop.

Definition at line 168 of file CGLoopInfo.h.

Constructor & Destructor Documentation

◆ LoopInfo()

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.

Member Function Documentation

◆ addIVDepMetadata()

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().

◆ finish()

void LoopInfo::finish ( )

◆ getAccessGroup()

llvm::MDNode* clang::CodeGen::LoopInfo::getAccessGroup ( ) const
inline

Return this loop's access group or nullptr if it does not have one.

Definition at line 185 of file CGLoopInfo.h.

◆ getAttributes()

const LoopAttributes& clang::CodeGen::LoopInfo::getAttributes ( ) const
inline

Get the set of attributes active for this loop.

Definition at line 182 of file CGLoopInfo.h.

◆ getHeader()

llvm::BasicBlock* clang::CodeGen::LoopInfo::getHeader ( ) const
inline

Get the header block of this loop.

Definition at line 179 of file CGLoopInfo.h.

Referenced by clang::CodeGen::LoopInfoStack::InsertHelper().

◆ getLoopID()

llvm::MDNode* clang::CodeGen::LoopInfo::getLoopID ( ) const
inline

Get the loop id metadata for this loop.

Definition at line 176 of file CGLoopInfo.h.

Referenced by clang::CodeGen::LoopInfoStack::InsertHelper().

◆ getParent()

const LoopInfo* clang::CodeGen::LoopInfo::getParent ( ) const
inline

Returns the first outer loop containing this loop if any, nullptr otherwise.

Definition at line 196 of file CGLoopInfo.h.

References Parent.


The documentation for this class was generated from the following files: