class LoopUnrollPass

Declaration

class LoopUnrollPass : public PassInfoMixin { /* full declaration omitted */ };

Description

Loop unroll pass that will support both full and partial unrolling. It is a function pass to have access to function and module analyses. It will also put loops into canonical form (simplified and LCSSA).

Declared at: llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h:133

Inherits from: PassInfoMixin

Member Variables

private llvm::LoopUnrollOptions UnrollOpts

Method Overview

  • public LoopUnrollPass(llvm::LoopUnrollOptions UnrollOpts = {})
  • public void printPipeline(llvm::raw_ostream & OS, function_ref<llvm::StringRef (llvm::StringRef)> MapClassName2PassName)
  • public llvm::PreservedAnalyses run(llvm::Function & F, llvm::FunctionAnalysisManager & AM)

Methods

LoopUnrollPass(
    llvm::LoopUnrollOptions UnrollOpts = {})

Description

This uses the target information (or flags) to control the thresholds for different unrolling stategies but supports all of them.

Declared at: llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h:139

Parameters

llvm::LoopUnrollOptions UnrollOpts = {}

void printPipeline(
    llvm::raw_ostream& OS,
    function_ref<llvm::StringRef(llvm::StringRef)>
        MapClassName2PassName)

Declared at: llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h:143

Parameters

llvm::raw_ostream& OS
function_ref<llvm::StringRef(llvm::StringRef)> MapClassName2PassName

llvm::PreservedAnalyses run(
    llvm::Function& F,
    llvm::FunctionAnalysisManager& AM)

Declared at: llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h:142

Parameters

llvm::Function& F
llvm::FunctionAnalysisManager& AM