Skip to content

Latest commit

 

History

History
98 lines (66 loc) · 2.24 KB

value-references.rst

File metadata and controls

98 lines (66 loc) · 2.24 KB

Value references

llvmlite.binding

A value reference is a wrapper around an LLVM value for you to inspect. You cannot create a value reference yourself. You get them from methods of the ModuleRef class.

Enumerations

The linkage types allowed for global values are:

  • external

  • available_externally

  • linkonce_any

  • linkonce_odr

  • linkonce_odr_autohide

  • weak_any

  • weak_odr

  • appending

  • internal

  • private

  • dllimport

  • dllexport

  • external_weak

  • ghost

  • common

  • linker_private

  • linker_private_weak

The visibility styles allowed for global values are:

  • default

  • hidden

  • protected

The storage classes allowed for global values are:

  • default

  • dllimport

  • dllexport

The ValueRef class

A wrapper around an LLVM value. The attributes available are:

  • is_declaration

    • True---The global value is a mere declaration.
    • False---The global value is defined in the given module.
  • linkage

    The linkage type---a Linkage instance---for this value. This attribute can be set.

  • module

    The module---a ModuleRef instance---that this value is defined in.

  • name

    This value's name, as a string. This attribute can be set.

  • type

    This value's LLVM type. An opaque object is returned that can be used with, for example, TargetData.get_abi_size.

  • storage_class

    The storage class---a StorageClass instance---for this value. This attribute can be set.

  • visibility

    The visibility style---a Visibility instance---for this value. This attribute can be set.