clang  10.0.0svn
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 "/opt/doxygen-docs/src/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h"

Collaboration diagram for clang::CodeGen::LoopAttributes:
Collaboration graph
[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

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 431 of file CGLoopInfo.cpp.

References clang::Unspecified.

Member Function Documentation

◆ clear()

void LoopAttributes::clear ( )

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: