Thanks to visit codestin.com
Credit goes to llvm.org

LLVM 22.0.0git

Functions in this group relate to indirect functions. More...

Collaboration diagram for IFuncs:

Functions

LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc (LLVMModuleRef M, const char *Name, size_t NameLen, LLVMTypeRef Ty, unsigned AddrSpace, LLVMValueRef Resolver)
 Add a global indirect function to a module under a specified name.
LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalIFunc (LLVMModuleRef M, const char *Name, size_t NameLen)
 Obtain a GlobalIFunc value from a Module by its name.
LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobalIFunc (LLVMModuleRef M)
 Obtain an iterator to the first GlobalIFunc in a Module.
LLVM_C_ABI LLVMValueRef LLVMGetLastGlobalIFunc (LLVMModuleRef M)
 Obtain an iterator to the last GlobalIFunc in a Module.
LLVM_C_ABI LLVMValueRef LLVMGetNextGlobalIFunc (LLVMValueRef IFunc)
 Advance a GlobalIFunc iterator to the next GlobalIFunc.
LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobalIFunc (LLVMValueRef IFunc)
 Decrement a GlobalIFunc iterator to the previous GlobalIFunc.
LLVM_C_ABI LLVMValueRef LLVMGetGlobalIFuncResolver (LLVMValueRef IFunc)
 Retrieves the resolver function associated with this indirect function, or NULL if it doesn't not exist.
LLVM_C_ABI void LLVMSetGlobalIFuncResolver (LLVMValueRef IFunc, LLVMValueRef Resolver)
 Sets the resolver function associated with this indirect function.
LLVM_C_ABI void LLVMEraseGlobalIFunc (LLVMValueRef IFunc)
 Remove a global indirect function from its parent module and delete it.
LLVM_C_ABI void LLVMRemoveGlobalIFunc (LLVMValueRef IFunc)
 Remove a global indirect function from its parent module.

Detailed Description

Functions in this group relate to indirect functions.

Functions in this group expect LLVMValueRef instances that correspond to llvm::GlobalIFunc instances.

Function Documentation

◆ LLVMAddGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc ( LLVMModuleRef M,
const char * Name,
size_t NameLen,
LLVMTypeRef Ty,
unsigned AddrSpace,
LLVMValueRef Resolver )

Add a global indirect function to a module under a specified name.

See also
llvm::GlobalIFunc::create()

Definition at line 2689 of file Core.cpp.

References llvm::GlobalIFunc::create(), llvm::GlobalValue::ExternalLinkage, llvm::unwrap(), and llvm::wrap().

◆ LLVMEraseGlobalIFunc()

LLVM_C_ABI void LLVMEraseGlobalIFunc ( LLVMValueRef IFunc)

Remove a global indirect function from its parent module and delete it.

See also
llvm::GlobalIFunc::eraseFromParent()

Definition at line 2744 of file Core.cpp.

References llvm::unwrap().

◆ LLVMGetFirstGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobalIFunc ( LLVMModuleRef M)

Obtain an iterator to the first GlobalIFunc in a Module.

See also
llvm::Module::ifunc_begin()

Definition at line 2704 of file Core.cpp.

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

◆ LLVMGetGlobalIFuncResolver()

LLVM_C_ABI LLVMValueRef LLVMGetGlobalIFuncResolver ( LLVMValueRef IFunc)

Retrieves the resolver function associated with this indirect function, or NULL if it doesn't not exist.

See also
llvm::GlobalIFunc::getResolver()

Definition at line 2736 of file Core.cpp.

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

◆ LLVMGetLastGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMGetLastGlobalIFunc ( LLVMModuleRef M)

Obtain an iterator to the last GlobalIFunc in a Module.

See also
llvm::Module::ifunc_end()

Definition at line 2712 of file Core.cpp.

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

◆ LLVMGetNamedGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalIFunc ( LLVMModuleRef M,
const char * Name,
size_t NameLen )

Obtain a GlobalIFunc value from a Module by its name.

The returned value corresponds to a llvm::GlobalIFunc value.

See also
llvm::Module::getNamedIFunc()

Definition at line 2699 of file Core.cpp.

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

◆ LLVMGetNextGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMGetNextGlobalIFunc ( LLVMValueRef IFunc)

Advance a GlobalIFunc iterator to the next GlobalIFunc.

Returns NULL if the iterator was already at the end and there are no more global aliases.

Definition at line 2720 of file Core.cpp.

References llvm::GlobalValue::getParent(), I, llvm::Module::ifunc_end(), llvm::unwrap(), and llvm::wrap().

◆ LLVMGetPreviousGlobalIFunc()

LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobalIFunc ( LLVMValueRef IFunc)

Decrement a GlobalIFunc iterator to the previous GlobalIFunc.

Returns NULL if the iterator was already at the beginning and there are no previous global aliases.

Definition at line 2728 of file Core.cpp.

References llvm::GlobalValue::getParent(), I, llvm::Module::ifunc_begin(), llvm::unwrap(), and llvm::wrap().

◆ LLVMRemoveGlobalIFunc()

LLVM_C_ABI void LLVMRemoveGlobalIFunc ( LLVMValueRef IFunc)

Remove a global indirect function from its parent module.

This unlinks the global indirect function from its containing module but keeps it alive.

See also
llvm::GlobalIFunc::removeFromParent()

Definition at line 2748 of file Core.cpp.

References llvm::unwrap().

◆ LLVMSetGlobalIFuncResolver()

LLVM_C_ABI void LLVMSetGlobalIFuncResolver ( LLVMValueRef IFunc,
LLVMValueRef Resolver )

Sets the resolver function associated with this indirect function.

See also
llvm::GlobalIFunc::setResolver()

Definition at line 2740 of file Core.cpp.

References llvm::unwrap().