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)

Declared at: llvm/include/llvm/Transforms/Scalar/LoopBoundSplit.h:36

Parameters

llvm::Loop& L
llvm::LoopAnalysisManager& AM
llvm::LoopStandardAnalysisResults& AR
llvm::LPMUpdater& U