LLVM  14.0.0git
Public Member Functions | List of all members
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:
Inheritance graph
[legend]
Collaboration diagram for llvm::LoopBoundSplitPass:
Collaboration graph
[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. More...
 

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()

PreservedAnalyses llvm::LoopBoundSplitPass::run ( Loop L,
LoopAnalysisManager AM,
LoopStandardAnalysisResults AR,
LPMUpdater U 
)

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