llvm::TransformationMode

The mode sets how eager a transformation should be applied.

Synopsis

Declared in <llvm/Transforms/Utils/LoopUtils.h>

enum TransformationMode;

Members

NameDescription
TM_Unspecified The pass can use heuristics to determine whether a transformation should be applied.
TM_Enable The transformation should be applied without considering a cost model.
TM_Disable The transformation should not be applied.
TM_Force Force is a flag and should not be used alone.
TM_ForcedByUser The transformation was directed by the user, e.g. by a #pragma in the source code. If the transformation could not be applied, a warning should be emitted.
TM_SuppressedByUser The transformation must not be applied. For instance, `#pragma clang loop unroll(disable)` explicitly forbids any unrolling to take place. Unlike general loop metadata, it must not be dropped. Most passes should not behave differently under TM_Disable and TM_SuppressedByUser.

Non-Member Functions

NameDescription
hasDistributeTransformationGet the distribute transformation mode for L.
hasLICMVersioningTransformationGet the LICM versioning transformation mode for L.
hasUnrollAndJamTransformationGet the unroll-and-jam transformation mode for L.
hasUnrollTransformationGet the unroll transformation mode for L.
hasVectorizeTransformationGet the vectorize transformation mode for L.