struct LoopVectorizeOptions

Declaration

struct LoopVectorizeOptions { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:115

Member Variables

public bool InterleaveOnlyWhenForced
If false, consider all loops for interleaving. If true, only loops that explicitly request interleaving are considered.
public bool VectorizeOnlyWhenForced
If false, consider all loops for vectorization. If true, only loops that explicitly request vectorization are considered.

Method Overview

Methods

LoopVectorizeOptions()

Description

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).

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:133

LoopVectorizeOptions(
    bool InterleaveOnlyWhenForced,
    bool VectorizeOnlyWhenForced)

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:135

Parameters

bool InterleaveOnlyWhenForced
bool VectorizeOnlyWhenForced

llvm::LoopVectorizeOptions&
setInterleaveOnlyWhenForced(bool Value)

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:140

Parameters

bool Value

llvm::LoopVectorizeOptions&
setVectorizeOnlyWhenForced(bool Value)

Declared at: llvm/include/llvm/Transforms/Vectorize/LoopVectorize.h:145

Parameters

bool Value