Value references

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

class llvmlite.binding.Linkage

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
class llvmlite.binding.Visibility

The visibility styles allowed for global values are:

  • default
  • hidden
  • protected
class llvmlite.binding.StorageClass

The storage classes allowed for global values are:

  • default
  • dllimport
  • dllexport

The ValueRef class

class llvmlite.binding.ValueRef

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.