clang 20.0.0git
|
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. | |
Attributes that may be specified on loops.
Definition at line 36 of file CGLoopInfo.h.
State of loop vectorization or unrolling.
Enumerator | |
---|---|
Unspecified | |
Enable | |
Disable | |
Full |
Definition at line 44 of file CGLoopInfo.h.
Definition at line 456 of file CGLoopInfo.cpp.
void LoopAttributes::clear | ( | ) |
Definition at line 466 of file CGLoopInfo.cpp.
References CodeAlign, DistributeEnable, InterleaveCount, IsParallel, MustProgress, PipelineDisabled, PipelineInitiationInterval, UnrollAndJamCount, UnrollAndJamEnable, UnrollCount, UnrollEnable, Unspecified, VectorizeEnable, VectorizePredicateEnable, VectorizeScalable, and VectorizeWidth.
unsigned clang::CodeGen::LoopAttributes::CodeAlign |
Value for 'llvm.loop.align' metadata.
Definition at line 83 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setCodeAlign().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setDistributeState().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setInterleaveCount().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setParallel().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setMustProgress().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setPipelineDisabled().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setPipelineInitiationInterval().
unsigned clang::CodeGen::LoopAttributes::UnrollAndJamCount |
llvm.unroll.
Definition at line 71 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setUnrollAndJamCount().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setUnrollAndJamState().
unsigned clang::CodeGen::LoopAttributes::UnrollCount |
llvm.unroll.
Definition at line 68 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setUnrollCount().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setUnrollState().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setVectorizeEnable().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setVectorizePredicateState().
LVEnableState clang::CodeGen::LoopAttributes::VectorizeScalable |
Definition at line 62 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setVectorizeScalable().
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(), clang::CodeGen::LoopInfo::LoopInfo(), and clang::CodeGen::LoopInfoStack::setVectorizeWidth().