LLVM 24.0.0git
llvm::LoopVectorizeOptions Struct Reference

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

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 86 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 104 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and VectorizeOnlyWhenForced.

Referenced by setInterleaveOnlyWhenForced(), and setVectorizeOnlyWhenForced().

◆ LoopVectorizeOptions() [2/2]

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

Definition at line 106 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and VectorizeOnlyWhenForced.

Member Function Documentation

◆ setInterleaveOnlyWhenForced()

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

Definition at line 111 of file LoopVectorize.h.

References InterleaveOnlyWhenForced, and LoopVectorizeOptions().

◆ setVectorizeOnlyWhenForced()

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

Definition at line 116 of file LoopVectorize.h.

References LoopVectorizeOptions(), and 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 89 of file LoopVectorize.h.

Referenced by LoopVectorizeOptions(), LoopVectorizeOptions(), and 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 93 of file LoopVectorize.h.

Referenced by LoopVectorizeOptions(), LoopVectorizeOptions(), and setVectorizeOnlyWhenForced().


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