Performs straight‐line strength reduction on arithmetic expressions.

Synopsis

Declared in <llvm/Transforms/Scalar/StraightLineStrengthReduce.h>

class StraightLineStrengthReducePass
    : public OptionalPassInfoMixin<StraightLineStrengthReducePass>

Description

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.

Base Classes

Name

Description

OptionalPassInfoMixin<StraightLineStrengthReducePass>

A CRTP mix‐in for passes that can be skipped.

Member Functions

Name

Description

run

Run straight‐line strength reduction over the function.

Static Member Functions

Name

Description

isRequired

Return false; optional passes may be skipped.

Created with MrDocs