LLVM 17.0.0git
Public Member Functions | Public Attributes | List of all members
llvm::LoopVectorizeOptions Struct Reference

#include "llvm/Transforms/Vectorize/LoopVectorize.h"

Collaboration diagram for llvm::LoopVectorizeOptions:
Collaboration graph
[legend]

Public Member Functions

 LoopVectorizeOptions ()
 The current defaults when creating the pass with no arguments are: EnableLoopInterleaving = true and EnableLoopVectorization = true.
 
 LoopVectorizeOptions (bool InterleaveOnlyWhenForced, bool VectorizeOnlyWhenForced)
 
LoopVectorizeOptionssetInterleaveOnlyWhenForced (bool Value)
 
LoopVectorizeOptionssetVectorizeOnlyWhenForced (bool Value)
 

Public Attributes

bool InterleaveOnlyWhenForced
 If false, consider all loops for interleaving.
 
bool VectorizeOnlyWhenForced
 If false, consider all loops for vectorization.
 

Detailed Description

Definition at line 114 of file LoopVectorize.h.

Constructor & Destructor Documentation

◆ LoopVectorizeOptions() [1/2]

llvm::LoopVectorizeOptions::LoopVectorizeOptions ( )
inline

The current defaults when creating the pass with no arguments are: EnableLoopInterleaving = true and EnableLoopVectorization = true.

This means that interleaving default is consistent with the cl::opt flag, while vectorization is not. FIXME: The default for EnableLoopVectorization in the cl::opt should be set to true, and the corresponding change to account for this be made in opt.cpp. The initializations below will become: InterleaveOnlyWhenForced(!EnableLoopInterleaving) VectorizeOnlyWhenForced(!EnableLoopVectorization).

Definition at line 132 of file LoopVectorize.h.

◆ LoopVectorizeOptions() [2/2]

llvm::LoopVectorizeOptions::LoopVectorizeOptions ( bool  InterleaveOnlyWhenForced,
bool  VectorizeOnlyWhenForced 
)
inline

Definition at line 134 of file LoopVectorize.h.

Member Function Documentation

◆ setInterleaveOnlyWhenForced()

LoopVectorizeOptions & llvm::LoopVectorizeOptions::setInterleaveOnlyWhenForced ( bool  Value)
inline

Definition at line 139 of file LoopVectorize.h.

References InterleaveOnlyWhenForced.

◆ setVectorizeOnlyWhenForced()

LoopVectorizeOptions & llvm::LoopVectorizeOptions::setVectorizeOnlyWhenForced ( bool  Value)
inline

Definition at line 144 of file LoopVectorize.h.

References VectorizeOnlyWhenForced.

Member Data Documentation

◆ InterleaveOnlyWhenForced

bool llvm::LoopVectorizeOptions::InterleaveOnlyWhenForced

If false, consider all loops for interleaving.

If true, only loops that explicitly request interleaving are considered.

Definition at line 117 of file LoopVectorize.h.

Referenced by setInterleaveOnlyWhenForced().

◆ VectorizeOnlyWhenForced

bool llvm::LoopVectorizeOptions::VectorizeOnlyWhenForced

If false, consider all loops for vectorization.

If true, only loops that explicitly request vectorization are considered.

Definition at line 121 of file LoopVectorize.h.

Referenced by setVectorizeOnlyWhenForced().


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