clang 22.0.0git
clang::CodeGen::LoopAttributes Struct Reference

Attributes that may be specified on loops. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CGLoopInfo.h"

Public Types

enum  LVEnableState { Unspecified , Enable , Disable , Full }
 State of loop vectorization or unrolling. More...

Public Member Functions

 LoopAttributes (bool IsParallel=false)
void clear ()

Public Attributes

bool IsParallel
 Generate llvm.loop.parallel metadata for loads and stores.
LVEnableState VectorizeEnable
 Value for llvm.loop.vectorize.enable metadata.
LVEnableState UnrollEnable
 Value for llvm.loop.unroll.* metadata (enable, disable, or full).
LVEnableState UnrollAndJamEnable
 Value for llvm.loop.unroll_and_jam.* metadata (enable, disable, or full).
LVEnableState VectorizePredicateEnable
 Value for llvm.loop.vectorize.predicate metadata.
unsigned VectorizeWidth
 Value for llvm.loop.vectorize.width metadata.
LVEnableState VectorizeScalable
unsigned InterleaveCount
 Value for llvm.loop.interleave.count metadata.
unsigned UnrollCount
 llvm.unroll.
unsigned UnrollAndJamCount
 llvm.unroll.
LVEnableState DistributeEnable
 Value for llvm.loop.distribute.enable metadata.
bool PipelineDisabled
 Value for llvm.loop.pipeline.disable metadata.
unsigned PipelineInitiationInterval
 Value for llvm.loop.pipeline.iicount metadata.
unsigned CodeAlign
 Value for 'llvm.loop.align' metadata.
bool MustProgress
 Value for whether the loop is required to make progress.

Detailed Description

Attributes that may be specified on loops.

Definition at line 36 of file CGLoopInfo.h.

Member Enumeration Documentation

◆ LVEnableState

State of loop vectorization or unrolling.

Enumerator
Unspecified 
Enable 
Disable 
Full 

Definition at line 44 of file CGLoopInfo.h.

Constructor & Destructor Documentation

◆ LoopAttributes()

Member Function Documentation

◆ clear()

Member Data Documentation

◆ CodeAlign

unsigned clang::CodeGen::LoopAttributes::CodeAlign

Value for 'llvm.loop.align' metadata.

Definition at line 83 of file CGLoopInfo.h.

Referenced by clear(), and LoopAttributes().

◆ DistributeEnable

LVEnableState clang::CodeGen::LoopAttributes::DistributeEnable

Value for llvm.loop.distribute.enable metadata.

Definition at line 74 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ InterleaveCount

unsigned clang::CodeGen::LoopAttributes::InterleaveCount

Value for llvm.loop.interleave.count metadata.

Definition at line 65 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ IsParallel

bool clang::CodeGen::LoopAttributes::IsParallel

Generate llvm.loop.parallel metadata for loads and stores.

Definition at line 41 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CodeGen::LoopInfoStack::getCurLoopParallel(), and LoopAttributes().

◆ MustProgress

bool clang::CodeGen::LoopAttributes::MustProgress

Value for whether the loop is required to make progress.

Definition at line 86 of file CGLoopInfo.h.

Referenced by clear(), and LoopAttributes().

◆ PipelineDisabled

bool clang::CodeGen::LoopAttributes::PipelineDisabled

Value for llvm.loop.pipeline.disable metadata.

Definition at line 77 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ PipelineInitiationInterval

unsigned clang::CodeGen::LoopAttributes::PipelineInitiationInterval

Value for llvm.loop.pipeline.iicount metadata.

Definition at line 80 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ UnrollAndJamCount

unsigned clang::CodeGen::LoopAttributes::UnrollAndJamCount

llvm.unroll.

Definition at line 71 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ UnrollAndJamEnable

LVEnableState clang::CodeGen::LoopAttributes::UnrollAndJamEnable

Value for llvm.loop.unroll_and_jam.* metadata (enable, disable, or full).

Definition at line 53 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ UnrollCount

unsigned clang::CodeGen::LoopAttributes::UnrollCount

llvm.unroll.

Definition at line 68 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ UnrollEnable

LVEnableState clang::CodeGen::LoopAttributes::UnrollEnable

Value for llvm.loop.unroll.* metadata (enable, disable, or full).

Definition at line 50 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ VectorizeEnable

LVEnableState clang::CodeGen::LoopAttributes::VectorizeEnable

Value for llvm.loop.vectorize.enable metadata.

Definition at line 47 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ VectorizePredicateEnable

LVEnableState clang::CodeGen::LoopAttributes::VectorizePredicateEnable

Value for llvm.loop.vectorize.predicate metadata.

Definition at line 56 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ VectorizeScalable

LVEnableState clang::CodeGen::LoopAttributes::VectorizeScalable

Definition at line 62 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().

◆ VectorizeWidth

unsigned clang::CodeGen::LoopAttributes::VectorizeWidth

Value for llvm.loop.vectorize.width metadata.

Definition at line 59 of file CGLoopInfo.h.

Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().


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