Parameters controlling transforms performed by the LoopUnroll pass.
Synopsis
Declared in <llvm/Transforms/Scalar/LoopUnrollPass.h>
struct LoopUnrollOptions;
Description
Each of the boolean parameters can be set to: true ‐ enabling the transformation. false ‐ disabling the transformation. None ‐ relying on a global default.
There is also OptLevel parameter, which is used for additional loop unroll tuning.
Intended use is to create a default object, modify parameters with additional setters and then pass it to LoopUnrollPass.
Member Functions
Name |
Description |
|
Construct LoopUnroll options with the given defaults. |
Sets the maximum full‐unroll count. |
|
Sets the optimization level used to tune loop unrolling. |
|
Enables or disables partial unrolling. When disabled only full unrolling is allowed. |
|
Enables or disables loop peeling. |
|
Sets whether to prepare for LTO by deferring unroll of inline candidates. |
|
Enables or disables loop peeling based on profile information. |
|
Enables or disables unrolling of loops with runtime trip count. |
|
Enables or disables the use of trip count upper bound in loop unrolling. |
Data Members
Name |
Description |
Whether to allow partial unrolling; None uses the global default. |
|
Whether to allow loop peeling; None uses the global default. |
|
Whether to allow profile‐based loop peeling; None uses the global default. |
|
Whether to allow unrolling of loops with a runtime trip count; None uses the global default. |
|
Whether to use a trip‐count upper bound when unrolling; None uses the global default. |
|
Whether to forget all loops in SCEV when unrolling. |
|
Maximum full‐unroll count; None uses the global default. |
|
Whether to unroll only loops that request it via metadata. |
|
Optimization level used to tune loop unrolling decisions. |
|
If true, consider calls as inline candidates and defer unrolling so that LTO post‐link inlining can consider them first. |
Created with MrDocs