Performs straight-line strength reduction on arithmetic expressions.
Declared in <llvm/Transforms/Scalar/StraightLineStrengthReduce.h>
class StraightLineStrengthReducePass
: public OptionalPassInfoMixin<StraightLineStrengthReducePass>
Unlike loop strength reduction, this pass reduces arithmetic redundancy in straight-line code (typically from unrolled loops) by rewriting dominated Add/Mul/GEP candidates relative to an earlier basis.
| Name | Description |
|---|---|
OptionalPassInfoMixin<StraightLineStrengthReducePass> | A CRTP mix-in for passes that can be skipped. |
| Name | Description |
|---|---|
run | Run straight-line strength reduction over the function. |
| Name | Description |
|---|---|
isRequired | Return false; optional passes may be skipped. |