This pass transforms loops that contain a conditional branch with induction variable. For example, it transforms left code to right code:

Synopsis

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

class LoopBoundSplitPass
    : public OptionalPassInfoMixin<LoopBoundSplitPass>

Description

newbound = min(n, c) while (iv < n) { while(iv < newbound) { A A if (iv < c) B B C C } if (iv != n) { while (iv < n) { A C } }

Base Classes

Name

Description

OptionalPassInfoMixin<LoopBoundSplitPass>

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

Member Functions

Name

Description

run

Run loop bound splitting over the loop.

Static Member Functions

Name

Description

isRequired

Return false; optional passes may be skipped.

Created with MrDocs