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 = {})
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)
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)
llvm::PreservedAnalyses run(
llvm::Function& F,
llvm::FunctionAnalysisManager& AM)
Declared at: llvm/include/llvm/Transforms/Scalar/LoopUnrollPass.h:142