LLVM  14.0.0git
Typedefs | Functions
PassBuilder.h File Reference
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
Include dependency graph for PassBuilder.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef typedefLLVM_C_EXTERN_C_BEGIN struct LLVMOpaquePassBuilderOptions * LLVMPassBuilderOptionsRef
 A set of options passed which are attached to the Pass Manager upon run. More...
 

Functions

LLVMErrorRef LLVMRunPasses (LLVMModuleRef M, const char *Passes, LLVMTargetMachineRef TM, LLVMPassBuilderOptionsRef Options)
 Construct and run a set of passes over a module. More...
 
LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions (void)
 Create a new set of options for a PassBuilder. More...
 
void LLVMPassBuilderOptionsSetVerifyEach (LLVMPassBuilderOptionsRef Options, LLVMBool VerifyEach)
 Toggle adding the VerifierPass for the PassBuilder, ensuring all functions inside the module is valid. More...
 
void LLVMPassBuilderOptionsSetDebugLogging (LLVMPassBuilderOptionsRef Options, LLVMBool DebugLogging)
 Toggle debug logging when running the PassBuilder. More...
 
void LLVMPassBuilderOptionsSetLoopInterleaving (LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving)
 
void LLVMPassBuilderOptionsSetLoopVectorization (LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization)
 
void LLVMPassBuilderOptionsSetSLPVectorization (LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization)
 
void LLVMPassBuilderOptionsSetLoopUnrolling (LLVMPassBuilderOptionsRef Options, LLVMBool LoopUnrolling)
 
void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll (LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll)
 
void LLVMPassBuilderOptionsSetLicmMssaOptCap (LLVMPassBuilderOptionsRef Options, unsigned LicmMssaOptCap)
 
void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap (LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap)
 
void LLVMPassBuilderOptionsSetCallGraphProfile (LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile)
 
void LLVMPassBuilderOptionsSetMergeFunctions (LLVMPassBuilderOptionsRef Options, LLVMBool MergeFunctions)
 
void LLVMDisposePassBuilderOptions (LLVMPassBuilderOptionsRef Options)
 Dispose of a heap-allocated PassBuilderOptions instance. More...
 

Typedef Documentation

◆ LLVMPassBuilderOptionsRef

typedef typedefLLVM_C_EXTERN_C_BEGIN struct LLVMOpaquePassBuilderOptions* LLVMPassBuilderOptionsRef

A set of options passed which are attached to the Pass Manager upon run.

This corresponds to an llvm::LLVMPassBuilderOptions instance

The details for how the different properties of this structure are used can be found in the source for LLVMRunPasses

Definition at line 31 of file PassBuilder.h.

Function Documentation

◆ LLVMCreatePassBuilderOptions()

LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions ( void  )

Create a new set of options for a PassBuilder.

Ownership of the returned instance is given to the client, and they are responsible for it. The client should call LLVMDisposePassBuilderOptions to free the pass builder options.

Definition at line 82 of file PassBuilderBindings.cpp.

References llvm::wrap().

◆ LLVMDisposePassBuilderOptions()

void LLVMDisposePassBuilderOptions ( LLVMPassBuilderOptionsRef  Options)

Dispose of a heap-allocated PassBuilderOptions instance.

Definition at line 142 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetCallGraphProfile()

void LLVMPassBuilderOptionsSetCallGraphProfile ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  CallGraphProfile 
)

Definition at line 132 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetDebugLogging()

void LLVMPassBuilderOptionsSetDebugLogging ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  DebugLogging 
)

Toggle debug logging when running the PassBuilder.

Definition at line 91 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll()

void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  ForgetAllSCEVInLoopUnroll 
)

Definition at line 116 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap()

void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap ( LLVMPassBuilderOptionsRef  Options,
unsigned  LicmMssaNoAccForPromotionCap 
)

Definition at line 126 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetLicmMssaOptCap()

void LLVMPassBuilderOptionsSetLicmMssaOptCap ( LLVMPassBuilderOptionsRef  Options,
unsigned  LicmMssaOptCap 
)

Definition at line 121 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetLoopInterleaving()

void LLVMPassBuilderOptionsSetLoopInterleaving ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  LoopInterleaving 
)

Definition at line 96 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetLoopUnrolling()

void LLVMPassBuilderOptionsSetLoopUnrolling ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  LoopUnrolling 
)

Definition at line 111 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetLoopVectorization()

void LLVMPassBuilderOptionsSetLoopVectorization ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  LoopVectorization 
)

Definition at line 101 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetMergeFunctions()

void LLVMPassBuilderOptionsSetMergeFunctions ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  MergeFunctions 
)

Definition at line 137 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetSLPVectorization()

void LLVMPassBuilderOptionsSetSLPVectorization ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  SLPVectorization 
)

Definition at line 106 of file PassBuilderBindings.cpp.

References Options, and llvm::unwrap().

◆ LLVMPassBuilderOptionsSetVerifyEach()

void LLVMPassBuilderOptionsSetVerifyEach ( LLVMPassBuilderOptionsRef  Options,
LLVMBool  VerifyEach 
)

Toggle adding the VerifierPass for the PassBuilder, ensuring all functions inside the module is valid.

Definition at line 86 of file PassBuilderBindings.cpp.

References Options, llvm::unwrap(), and VerifyEach.

◆ LLVMRunPasses()

LLVMErrorRef LLVMRunPasses ( LLVMModuleRef  M,
const char *  Passes,
LLVMTargetMachineRef  TM,
LLVMPassBuilderOptionsRef  Options 
)

Construct and run a set of passes over a module.

This function takes a string with the passes that should be used. The format of this string is the same as opt's -passes argument for the new pass manager. Individual passes may be specified, separated by commas. Full pipelines may also be invoked using default<O3> and friends. See opt for full reference of the Passes format.