Videre
This commit is contained in:
@@ -0,0 +1,85 @@
|
||||
from ctypes import c_uint
|
||||
|
||||
from llvmlite.binding import ffi
|
||||
|
||||
|
||||
def initialize():
|
||||
"""
|
||||
Initialize the LLVM core (deprecated).
|
||||
|
||||
This function is deprecated and will raise an error when called.
|
||||
LLVM initialization is now handled automatically and no longer
|
||||
requires explicit initialization calls.
|
||||
|
||||
Raises:
|
||||
RuntimeError: Always raised as this function is no longer needed.
|
||||
"""
|
||||
raise RuntimeError(
|
||||
"llvmlite.binding.initialize() is deprecated and will be removed. "
|
||||
"LLVM initialization is now handled automatically. "
|
||||
"Please remove calls to this function from your code and check for "
|
||||
"other behavioral changes that may have occurred due to LLVM updates."
|
||||
)
|
||||
|
||||
|
||||
def initialize_all_targets():
|
||||
"""
|
||||
Initialize all targets. Necessary before targets can be looked up
|
||||
via the :class:`Target` class.
|
||||
"""
|
||||
ffi.lib.LLVMPY_InitializeAllTargetInfos()
|
||||
ffi.lib.LLVMPY_InitializeAllTargets()
|
||||
ffi.lib.LLVMPY_InitializeAllTargetMCs()
|
||||
|
||||
|
||||
def initialize_all_asmprinters():
|
||||
"""
|
||||
Initialize all code generators. Necessary before generating
|
||||
any assembly or machine code via the :meth:`TargetMachine.emit_object`
|
||||
and :meth:`TargetMachine.emit_assembly` methods.
|
||||
"""
|
||||
ffi.lib.LLVMPY_InitializeAllAsmPrinters()
|
||||
|
||||
|
||||
def initialize_native_target():
|
||||
"""
|
||||
Initialize the native (host) target. Necessary before doing any
|
||||
code generation.
|
||||
"""
|
||||
ffi.lib.LLVMPY_InitializeNativeTarget()
|
||||
|
||||
|
||||
def initialize_native_asmprinter():
|
||||
"""
|
||||
Initialize the native ASM printer.
|
||||
"""
|
||||
ffi.lib.LLVMPY_InitializeNativeAsmPrinter()
|
||||
|
||||
|
||||
def initialize_native_asmparser():
|
||||
"""
|
||||
Initialize the native ASM parser.
|
||||
"""
|
||||
ffi.lib.LLVMPY_InitializeNativeAsmParser()
|
||||
|
||||
|
||||
def shutdown():
|
||||
ffi.lib.LLVMPY_Shutdown()
|
||||
|
||||
|
||||
# =============================================================================
|
||||
# Set function FFI
|
||||
|
||||
ffi.lib.LLVMPY_GetVersionInfo.restype = c_uint
|
||||
|
||||
|
||||
def _version_info():
|
||||
v = []
|
||||
x = ffi.lib.LLVMPY_GetVersionInfo()
|
||||
while x:
|
||||
v.append(x & 0xff)
|
||||
x >>= 8
|
||||
return tuple(reversed(v))
|
||||
|
||||
|
||||
llvm_version_info = _version_info()
|
||||
Reference in New Issue
Block a user