clang 22.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 443 of file CGLoopInfo.cpp.
References CodeAlign, DistributeEnable, false, InterleaveCount, IsParallel, LoopAttributes(), MustProgress, PipelineDisabled, PipelineInitiationInterval, UnrollAndJamCount, UnrollAndJamEnable, UnrollCount, UnrollEnable, Unspecified, VectorizeEnable, VectorizePredicateEnable, VectorizeScalable, and VectorizeWidth.
Referenced by LoopAttributes().
void LoopAttributes::clear | ( | ) |
Definition at line 453 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(), and LoopAttributes().
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().
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().
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().
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().
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().
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().
unsigned clang::CodeGen::LoopAttributes::UnrollAndJamCount |
llvm.unroll.
Definition at line 71 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().
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().
unsigned clang::CodeGen::LoopAttributes::UnrollCount |
llvm.unroll.
Definition at line 68 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().
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().
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().
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().
LVEnableState clang::CodeGen::LoopAttributes::VectorizeScalable |
Definition at line 62 of file CGLoopInfo.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), and LoopAttributes().
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().