LLVM  13.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. More...
 
 LoopVectorizeOptions (bool InterleaveOnlyWhenForced, bool VectorizeOnlyWhenForced)
 
LoopVectorizeOptionssetInterleaveOnlyWhenForced (bool Value)
 
LoopVectorizeOptionssetVectorizeOnlyWhenForced (bool Value)
 

Public Attributes

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

Detailed Description

Definition at line 83 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 101 of file LoopVectorize.h.

◆ LoopVectorizeOptions() [2/2]

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

Definition at line 103 of file LoopVectorize.h.

Member Function Documentation

◆ setInterleaveOnlyWhenForced()

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

Definition at line 108 of file LoopVectorize.h.

References InterleaveOnlyWhenForced.

◆ setVectorizeOnlyWhenForced()

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

Definition at line 113 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 86 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 90 of file LoopVectorize.h.

Referenced by setVectorizeOnlyWhenForced().


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