clang 10.0.0git

Public Types | Public Member Functions | Public Attributes | List of all members
clang::CodeGen::LoopAttributes Struct Reference

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

`#include "/work/www-prereleases/10.0.0/rc1/docsbuild/clang/lib/CodeGen/CGLoopInfo.h"`

Collaboration diagram for clang::CodeGen::LoopAttributes:
[legend]

## 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. More...
LVEnableState | VectorizeEnable
| Value for llvm.loop.vectorize.enable metadata. More...
LVEnableState | UnrollEnable
| Value for llvm.loop.unroll.* metadata (enable, disable, or full). More...
LVEnableState | UnrollAndJamEnable
| Value for llvm.loop.unroll_and_jam.* metadata (enable, disable, or full). More...
LVEnableState | VectorizePredicateEnable
| Value for llvm.loop.vectorize.predicate metadata. More...
unsigned | VectorizeWidth
| Value for llvm.loop.vectorize.width metadata. More...
unsigned | InterleaveCount
| Value for llvm.loop.interleave.count metadata. More...
unsigned | UnrollCount
| llvm.unroll. More...
unsigned | UnrollAndJamCount
| llvm.unroll. More...
LVEnableState | DistributeEnable
| Value for llvm.loop.distribute.enable metadata. More...
bool | PipelineDisabled
| Value for llvm.loop.pipeline.disable metadata. More...
unsigned | PipelineInitiationInterval
| Value for llvm.loop.pipeline.iicount metadata. More...

## Detailed Description

Attributes that may be specified on loops.

Definition at line 35 of file CGLoopInfo.h.

## Member Enumeration Documentation

## ◆ LVEnableState

enum clang::CodeGen::LoopAttributes::LVEnableState

State of loop vectorization or unrolling.

Enumerator
Unspecified |
Enable |
Disable |
Full |

Definition at line 43 of file CGLoopInfo.h.

## Constructor & Destructor Documentation

## ◆ LoopAttributes()

LoopAttributes::LoopAttributes | ( | bool | IsParallel = `false` | ) |
| explicit

Definition at line 432 of file CGLoopInfo.cpp.

References clang::Unspecified.

## Member Function Documentation

## ◆ clear()

void LoopAttributes::clear | ( |  | ) |

Definition at line 441 of file CGLoopInfo.cpp.

References DistributeEnable, InterleaveCount, IsParallel, PipelineDisabled, PipelineInitiationInterval, UnrollAndJamCount, UnrollAndJamEnable, UnrollCount, UnrollEnable, Unspecified, VectorizeEnable, VectorizePredicateEnable, and VectorizeWidth.

## Member Data Documentation

## ◆ DistributeEnable

LVEnableState clang::CodeGen::LoopAttributes::DistributeEnable

Value for llvm.loop.distribute.enable metadata.

Definition at line 70 of file CGLoopInfo.h.

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

## ◆ InterleaveCount

unsigned clang::CodeGen::LoopAttributes::InterleaveCount

Value for llvm.loop.interleave.count metadata.

Definition at line 61 of file CGLoopInfo.h.

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

## ◆ IsParallel

bool clang::CodeGen::LoopAttributes::IsParallel

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

Definition at line 40 of file CGLoopInfo.h.

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

## ◆ PipelineDisabled

bool clang::CodeGen::LoopAttributes::PipelineDisabled

Value for llvm.loop.pipeline.disable metadata.

Definition at line 73 of file CGLoopInfo.h.

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

## ◆ PipelineInitiationInterval

unsigned clang::CodeGen::LoopAttributes::PipelineInitiationInterval

Value for llvm.loop.pipeline.iicount metadata.

Definition at line 76 of file CGLoopInfo.h.

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

## ◆ UnrollAndJamCount

unsigned clang::CodeGen::LoopAttributes::UnrollAndJamCount

llvm.unroll.

Definition at line 67 of file CGLoopInfo.h.

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

## ◆ UnrollAndJamEnable

LVEnableState clang::CodeGen::LoopAttributes::UnrollAndJamEnable

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

Definition at line 52 of file CGLoopInfo.h.

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

## ◆ UnrollCount

unsigned clang::CodeGen::LoopAttributes::UnrollCount

llvm.unroll.

Definition at line 64 of file CGLoopInfo.h.

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

## ◆ UnrollEnable

LVEnableState clang::CodeGen::LoopAttributes::UnrollEnable

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

Definition at line 49 of file CGLoopInfo.h.

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

## ◆ VectorizeEnable

LVEnableState clang::CodeGen::LoopAttributes::VectorizeEnable

Value for llvm.loop.vectorize.enable metadata.

Definition at line 46 of file CGLoopInfo.h.

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

## ◆ VectorizePredicateEnable

LVEnableState clang::CodeGen::LoopAttributes::VectorizePredicateEnable

Value for llvm.loop.vectorize.predicate metadata.

Definition at line 55 of file CGLoopInfo.h.

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

## ◆ VectorizeWidth

unsigned clang::CodeGen::LoopAttributes::VectorizeWidth

Value for llvm.loop.vectorize.width metadata.

Definition at line 58 of file CGLoopInfo.h.

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

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

- lib/CodeGen/CGLoopInfo.h
- lib/CodeGen/CGLoopInfo.cpp