Utility class for getting and setting loop vectorizer hints.
Synopsis
Declared in <llvm/Transforms/Vectorize/LoopVectorizationLegality.h>
class LoopVectorizeHints;
Description
Hints are stored as loop metadata. This class keeps a number of loop annotations locally (as member variables) and can, upon request, write them back as metadata on the loop. It will initially scan the loop for existing metadata, and will update the local values based on information in the loop. We cannot write all values to metadata, as the mere presence of some info, for example 'force', means a decision has been made. So, we need to be careful NOT to add them if the user hasn't specifically asked so.
Enums
Name |
Description |
Whether vectorization is forced on or off. |
|
Preference between scalable and fixed‐width vectorization. |
Member Functions
Name |
Description |
|
Construct hints for loop |
Return true if enabling hints allow reordering of scalar‐loop operations. |
|
Return true if vectorization of |
|
Dumps all the hint information. |
|
Return whether vectorization is forced enabled or disabled. |
|
Return the requested interleave count, or a default when unset. |
|
Return the already‐vectorized hint value. |
|
Return the predicate/force hint for masked vectorization. |
|
Return the requested vectorization width. |
|
Return true if the loop may contain unsafe floating‐point math. |
|
Return true if scalable vectors are always preferred when feasible. |
|
Return true if scalable vectorization has been explicitly disabled. |
|
Mark the loop L as already vectorized by setting the width to 1. |
|
Mark the loop as containing potentially unsafe floating‐point math. |
Created with MrDocs