LLVM 22.0.0git
Collaboration diagram for Pass Managers:

Functions

LLVM_C_ABI LLVMPassManagerRef LLVMCreatePassManager (void)
 Constructs a new whole-module pass pipeline.
LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule (LLVMModuleRef M)
 Constructs a new function-by-function pass pipeline over the module provider.
LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManager (LLVMModuleProviderRef MP)
 Deprecated: Use LLVMCreateFunctionPassManagerForModule instead.
LLVM_C_ABI LLVMBool LLVMRunPassManager (LLVMPassManagerRef PM, LLVMModuleRef M)
 Initializes, executes on the provided module, and finalizes all of the passes scheduled in the pass manager.
LLVM_C_ABI LLVMBool LLVMInitializeFunctionPassManager (LLVMPassManagerRef FPM)
 Initializes all of the function passes scheduled in the function pass manager.
LLVM_C_ABI LLVMBool LLVMRunFunctionPassManager (LLVMPassManagerRef FPM, LLVMValueRef F)
 Executes all of the function passes scheduled in the function pass manager on the provided function.
LLVM_C_ABI LLVMBool LLVMFinalizeFunctionPassManager (LLVMPassManagerRef FPM)
 Finalizes all of the function passes scheduled in the function pass manager.
LLVM_C_ABI void LLVMDisposePassManager (LLVMPassManagerRef PM)
 Frees the memory of a pass pipeline.

Detailed Description

Function Documentation

◆ LLVMCreateFunctionPassManager()

LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManager ( LLVMModuleProviderRef MP)

Deprecated: Use LLVMCreateFunctionPassManagerForModule instead.

Definition at line 4588 of file Core.cpp.

References LLVMCreateFunctionPassManagerForModule(), and P.

◆ LLVMCreateFunctionPassManagerForModule()

LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule ( LLVMModuleRef M)

Constructs a new function-by-function pass pipeline over the module provider.

It does not take ownership of the module provider. This type of pipeline is suitable for code generation and JIT compilation tasks.

See also
llvm::FunctionPassManager::FunctionPassManager

Definition at line 4584 of file Core.cpp.

References llvm::unwrap(), and llvm::wrap().

Referenced by LLVMCreateFunctionPassManager().

◆ LLVMCreatePassManager()

LLVM_C_ABI LLVMPassManagerRef LLVMCreatePassManager ( void )

Constructs a new whole-module pass pipeline.

This type of pipeline is suitable for link-time optimization and whole-module transformations.

See also
llvm::PassManager::PassManager

Definition at line 4580 of file Core.cpp.

References llvm::wrap().

◆ LLVMDisposePassManager()

LLVM_C_ABI void LLVMDisposePassManager ( LLVMPassManagerRef PM)

Frees the memory of a pass pipeline.

For function pipelines, does not free the module provider.

See also
llvm::PassManagerBase::~PassManagerBase.

Definition at line 4609 of file Core.cpp.

References llvm::unwrap().

◆ LLVMFinalizeFunctionPassManager()

LLVM_C_ABI LLVMBool LLVMFinalizeFunctionPassManager ( LLVMPassManagerRef FPM)

Finalizes all of the function passes scheduled in the function pass manager.

Returns 1 if any of the passes modified the module, 0 otherwise.

See also
llvm::FunctionPassManager::doFinalization

Definition at line 4605 of file Core.cpp.

References llvm::unwrap().

◆ LLVMInitializeFunctionPassManager()

LLVM_C_ABI LLVMBool LLVMInitializeFunctionPassManager ( LLVMPassManagerRef FPM)

Initializes all of the function passes scheduled in the function pass manager.

Returns 1 if any of the passes modified the module, 0 otherwise.

See also
llvm::FunctionPassManager::doInitialization

Definition at line 4597 of file Core.cpp.

References llvm::unwrap().

◆ LLVMRunFunctionPassManager()

LLVM_C_ABI LLVMBool LLVMRunFunctionPassManager ( LLVMPassManagerRef FPM,
LLVMValueRef F )

Executes all of the function passes scheduled in the function pass manager on the provided function.

Returns 1 if any of the passes modified the function, false otherwise.

See also
llvm::FunctionPassManager::run(Function&)

Definition at line 4601 of file Core.cpp.

References F, and llvm::unwrap().

◆ LLVMRunPassManager()

LLVM_C_ABI LLVMBool LLVMRunPassManager ( LLVMPassManagerRef PM,
LLVMModuleRef M )

Initializes, executes on the provided module, and finalizes all of the passes scheduled in the pass manager.

Returns 1 if any of the passes modified the module, 0 otherwise.

See also
llvm::PassManager::run(Module&)

Definition at line 4593 of file Core.cpp.

References llvm::unwrap().