A set of parameters used to control various transforms performed by the LoopUnroll pass. Each of the boolean parameters can be set to: true ‐ enabling the transformation. false ‐ disabling the transformation. None ‐ relying on a global default.
Synopsis
Declared in <llvm/Transforms/Scalar/LoopUnrollPass.h>
struct LoopUnrollOptions;
Description
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 |
|
|
Enables or disables partial unrolling. When disabled only full unrolling is allowed. |
|
Enables or disables loop peeling. |
|
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 |
If true, forget all loops when unrolling. If false, forget top‐most loop of the currently processed loops, which removes one entry at a time from the internal SCEV records. For large loops, the former is faster. |
|
If false, use a cost model to determine whether unrolling of a loop is profitable. If true, only loops that explicitly request unrolling via metadata are considered. All other loops are skipped. |
|
If true, consider calls as inline candidates and defer unrolling so that LTO post‐link inlining can consider them first. |
Created with MrDocs