class LoopBoundSplitPass
Declaration
class LoopBoundSplitPass : public PassInfoMixin { /* full declaration omitted */ };
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 } }
Declared at: llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h:34
Inherits from: PassInfoMixin
Method Overview
- public llvm::PreservedAnalyses run(llvm::Loop & L, llvm::LoopAnalysisManager & AM, llvm::LoopStandardAnalysisResults & AR, llvm::LPMUpdater & U)
Methods
ΒΆllvm::PreservedAnalyses run(
llvm::Loop& L,
llvm::LoopAnalysisManager& AM,
llvm::LoopStandardAnalysisResults& AR,
llvm::LPMUpdater& U)
llvm::PreservedAnalyses run(
llvm::Loop& L,
llvm::LoopAnalysisManager& AM,
llvm::LoopStandardAnalysisResults& AR,
llvm::LPMUpdater& U)
Declared at: llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h:36