|
clang 24.0.0git
|
Attributes that may be specified on loops. More...
#include "clang/CodeGenUtils/LoopAttributes.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. | |
| bool | LICMDisabled |
| Value for llvm.licm.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 31 of file LoopAttributes.h.
State of loop vectorization or unrolling.
| Enumerator | |
|---|---|
| Unspecified | |
| Enable | |
| Disable | |
| Full | |
Definition at line 39 of file LoopAttributes.h.
Definition at line 18 of file LoopAttributes.cpp.
References CodeAlign, DistributeEnable, false, InterleaveCount, IsParallel, LICMDisabled, LoopAttributes(), MustProgress, PipelineDisabled, PipelineInitiationInterval, UnrollAndJamCount, UnrollAndJamEnable, UnrollCount, UnrollEnable, Unspecified, VectorizeEnable, VectorizePredicateEnable, VectorizeScalable, and VectorizeWidth.
Referenced by LoopAttributes().
| void clang::CodeGenUtils::LoopAttributes::clear | ( | ) |
Definition at line 29 of file LoopAttributes.cpp.
References CodeAlign, DistributeEnable, InterleaveCount, IsParallel, LICMDisabled, MustProgress, PipelineDisabled, PipelineInitiationInterval, UnrollAndJamCount, UnrollAndJamEnable, UnrollCount, UnrollEnable, Unspecified, VectorizeEnable, VectorizePredicateEnable, VectorizeScalable, and VectorizeWidth.
| unsigned clang::CodeGenUtils::LoopAttributes::CodeAlign |
Value for 'llvm.loop.align' metadata.
Definition at line 81 of file LoopAttributes.h.
Referenced by clear(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::DistributeEnable |
Value for llvm.loop.distribute.enable metadata.
Definition at line 69 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| unsigned clang::CodeGenUtils::LoopAttributes::InterleaveCount |
Value for llvm.loop.interleave.count metadata.
Definition at line 60 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| bool clang::CodeGenUtils::LoopAttributes::IsParallel |
Generate llvm.loop.parallel metadata for loads and stores.
Definition at line 36 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CodeGen::LoopInfoStack::getCurLoopParallel(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| bool clang::CodeGenUtils::LoopAttributes::LICMDisabled |
Value for llvm.licm.disable metadata.
Definition at line 75 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| bool clang::CodeGenUtils::LoopAttributes::MustProgress |
Value for whether the loop is required to make progress.
Definition at line 84 of file LoopAttributes.h.
Referenced by clear(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| bool clang::CodeGenUtils::LoopAttributes::PipelineDisabled |
Value for llvm.loop.pipeline.disable metadata.
Definition at line 72 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| unsigned clang::CodeGenUtils::LoopAttributes::PipelineInitiationInterval |
Value for llvm.loop.pipeline.iicount metadata.
Definition at line 78 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| unsigned clang::CodeGenUtils::LoopAttributes::UnrollAndJamCount |
llvm.unroll.
Definition at line 66 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::UnrollAndJamEnable |
Value for llvm.loop.unroll_and_jam.* metadata (enable, disable, or full).
Definition at line 48 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| unsigned clang::CodeGenUtils::LoopAttributes::UnrollCount |
llvm.unroll.
Definition at line 63 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::UnrollEnable |
Value for llvm.loop.unroll.* metadata (enable, disable, or full).
Definition at line 45 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::VectorizeEnable |
Value for llvm.loop.vectorize.enable metadata.
Definition at line 42 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::VectorizePredicateEnable |
Value for llvm.loop.vectorize.predicate metadata.
Definition at line 51 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| LVEnableState clang::CodeGenUtils::LoopAttributes::VectorizeScalable |
Definition at line 57 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().
| unsigned clang::CodeGenUtils::LoopAttributes::VectorizeWidth |
Value for llvm.loop.vectorize.width metadata.
Definition at line 54 of file LoopAttributes.h.
Referenced by clear(), clang::CodeGen::LoopInfo::finish(), clang::CIRGen::CIRGenFunction::getLoopHints(), LoopAttributes(), and clang::CodeGenUtils::updateLoopAttributes().