LLVM 22.0.0git
llvm::LoopBoundSplitPass Class Reference

This pass transforms loops that contain a conditional branch with induction variable. More...

#include "llvm/Transforms/Scalar/LoopBoundSplit.h"

Inheritance diagram for llvm::LoopBoundSplitPass:
[legend]

Public Member Functions

PreservedAnalyses run (Loop &L, LoopAnalysisManager &AM, LoopStandardAnalysisResults &AR, LPMUpdater &U)
Public Member Functions inherited from llvm::PassInfoMixin< LoopBoundSplitPass >
void printPipeline (raw_ostream &OS, function_ref< StringRef(StringRef)> MapClassName2PassName)

Additional Inherited Members

Static Public Member Functions inherited from llvm::PassInfoMixin< LoopBoundSplitPass >
static StringRef name ()
 Gets the name of the pass we are mixed into.

Detailed Description

This pass transforms loops that contain a conditional branch with induction variable.

For example, it transforms left code to right code:

                         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 } }

Definition at line 34 of file LoopBoundSplit.h.

Member Function Documentation

◆ run()


The documentation for this class was generated from the following files: