A pass that sets load/store/mem‐intrinsic alignments from assume bundles.
Synopsis
Declared in <llvm/Transforms/Scalar/AlignmentFromAssumptions.h>
struct AlignmentFromAssumptionsPass
: OptionalPassInfoMixin<AlignmentFromAssumptionsPass>
Description
Uses ScalarEvolution to interpret align operand bundles on @llvm.assume calls and strengthen the alignments of dominated loads, stores, and memory intrinsics. The main motivation is complex alignment assumptions on vector memory operations that appear after vectorization and unrolling.
Base Classes
Name |
Description |
A CRTP mix‐in for passes that can be skipped. |
Member Functions
Name |
Description |
Extract pointer, alignment, and offset SCEVs from an assume align bundle. |
|
Apply one assume align bundle to dominated users of the aligned pointer. |
|
Run the pass over |
|
Run the transformation using already‐fetched analyses (legacy PM glue). |
Static Member Functions
Name |
Description |
Return false; optional passes may be skipped. |