Module: LLVM::C

Extended by:
FFI::Library
Defined in:
lib/llvm/target.rb,
lib/llvm/core_ffi.rb,
lib/llvm/linker_ffi.rb,
lib/llvm/target_ffi.rb,
lib/llvm/core_ffi_v2.rb,
lib/llvm/analysis_ffi.rb,
lib/llvm/pass_builder.rb,
lib/llvm/core/bitcode_ffi.rb,
lib/llvm/execution_engine_ffi.rb

Defined Under Namespace

Modules: TargetWrappers Classes: MCJITCompilerOptions, OpaqueExecutionEngine, OpaqueGenericValue, OpaqueMCJITMemoryManager, OpaqueTargetData, OpaqueTargetLibraryInfotData, OpaqueTargetMachine, Target

Class Method Summary collapse

Class Method Details

._callback_diagnostic_handler_(diagnostic_info_ref, void) ⇒ FFI::Pointer(DiagnosticInfoRef)

Contexts are execution states for the core LLVM IR system.

Most types are tied to a context instance. Multiple contexts can exist simultaneously. A single context is not thread safe. However, different contexts can execute on different threads simultaneously.

@{

This entry is only for documentation and no real method.



871
# File 'lib/llvm/core_ffi.rb', line 871

callback :diagnostic_handler, [:pointer, :pointer], :pointer

._callback_memory_manager_allocate_code_section_callback_(uint8_t, opaque, size, alignment, section_id, section_name) ⇒ Integer

– Operations on memory managers ————————————-===

This entry is only for documentation and no real method.



364
# File 'lib/llvm/execution_engine_ffi.rb', line 364

callback :memory_manager_allocate_code_section_callback, [:uchar, :pointer, :ulong, :uint, :uint, :string], :uchar

._callback_memory_manager_allocate_data_section_callback_(uint8_t, opaque, size, alignment, section_id, section_name, is_read_only) ⇒ Integer

(Not documented)

This entry is only for documentation and no real method.



380
# File 'lib/llvm/execution_engine_ffi.rb', line 380

callback :memory_manager_allocate_data_section_callback, [:uchar, :pointer, :ulong, :uint, :uint, :string, :int], :uchar

._callback_memory_manager_finalize_memory_callback_(bool, opaque, err_msg) ⇒ Integer

(Not documented)

This entry is only for documentation and no real method.



392
# File 'lib/llvm/execution_engine_ffi.rb', line 392

callback :memory_manager_finalize_memory_callback, [:int, :pointer, :pointer], :int

._callback_yield_callback_(context_ref, void) ⇒ FFI::Pointer(ContextRef)

(Not documented)

This entry is only for documentation and no real method.



882
# File 'lib/llvm/core_ffi.rb', line 882

callback :yield_callback, [:pointer, :pointer], :pointer

._enum_atomic_ordering_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:atomic_ordering).

Options:

:not_atomic
:unordered

< A load or store which is not atomic

:monotonic

< Lowest level of atomicity, guarantees

somewhat sane results, lock free.
:acquire

< guarantees that if you take all the

operations affecting a specific address,
a consistent ordering exists
:release

< Acquire provides a barrier of the sort

necessary to acquire a lock to access other
memory with normal loads and stores.
:acquire_release

< Release is similar to Acquire, but with

a barrier of the sort necessary to release
a lock.
:sequentially_consistent

< provides both an Acquire and a

Release barrier (for fences and
operations which both read and write
 memory).


736
737
738
739
740
741
742
743
744
# File 'lib/llvm/core_ffi.rb', line 736

enum :atomic_ordering, [
  :not_atomic, 0,
  :unordered, 1,
  :monotonic, 2,
  :acquire, 4,
  :release, 5,
  :acquire_release, 6,
  :sequentially_consistent, 7
]

._enum_atomic_rmw_bin_op_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:atomic_rmw_bin_op).

Options:

:xchg
:add

< Set the new value and return the one old

:sub

< Add a value and return the old one

:and_

< Subtract a value and return the old one

:nand

< And a value and return the old one

:or_

< Not-And a value and return the old one

:xor

< OR a value and return the old one

:max

< Xor a value and return the old one

:min

< Sets the value if it’s greater than the

original using a signed comparison and return
the old one
:u_max

< Sets the value if it’s Smaller than the

original using a signed comparison and return
the old one
:u_min

< Sets the value if it’s greater than the

original using an unsigned comparison and return
the old one


783
784
785
786
787
788
789
790
791
792
793
794
795
# File 'lib/llvm/core_ffi.rb', line 783

enum :atomic_rmw_bin_op, [
  :xchg, 0,
  :add, 1,
  :sub, 2,
  :and_, 3,
  :nand, 4,
  :or_, 5,
  :xor, 6,
  :max, 7,
  :min, 8,
  :u_max, 9,
  :u_min, 10
]

._enum_attribute_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:attribute).

Options:

:z_ext_attribute
:s_ext_attribute
:no_return_attribute
:in_reg_attribute
:struct_ret_attribute
:no_unwind_attribute
:no_alias_attribute
:by_val_attribute
:nest_attribute
:read_none_attribute
:read_only_attribute
:no_inline_attribute
:always_inline_attribute
:optimize_for_size_attribute
:stack_protect_attribute
:stack_protect_req_attribute
:alignment
:no_capture_attribute
:no_red_zone_attribute
:no_implicit_float_attribute
:naked_attribute
:inline_hint_attribute
:stack_alignment
:returns_twice
:uw_table
:non_lazy_bind


116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
# File 'lib/llvm/core_ffi.rb', line 116

enum :attribute, [
  :z_ext_attribute, 1,
  :s_ext_attribute, 2,
  :no_return_attribute, 4,
  :in_reg_attribute, 8,
  :struct_ret_attribute, 16,
  :no_unwind_attribute, 32,
  :no_alias_attribute, 64,
  :by_val_attribute, 128,
  :nest_attribute, 256,
  :read_none_attribute, 512,
  :read_only_attribute, 1024,
  :no_inline_attribute, 2048,
  :always_inline_attribute, 4096,
  :optimize_for_size_attribute, 8192,
  :stack_protect_attribute, 16384,
  :stack_protect_req_attribute, 32768,
  :alignment, 2031616,
  :no_capture_attribute, 2097152,
  :no_red_zone_attribute, 4194304,
  :no_implicit_float_attribute, 8388608,
  :naked_attribute, 16777216,
  :inline_hint_attribute, 33554432,
  :stack_alignment, 469762048,
  :returns_twice, 536870912,
  :uw_table, 1073741824,
  :non_lazy_bind, 2147483648
]

._enum_byte_ordering_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:byte_ordering).

Options:

:big_endian
:little_endian


28
29
30
31
# File 'lib/llvm/target_ffi.rb', line 28

enum :byte_ordering, [
  :big_endian, 0,
  :little_endian, 1
]

._enum_call_conv_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:call_conv).

Options:

:c
:fast
:cold
:web_kit_js
:any_reg
:x86_stdcall
:x86_fastcall


546
547
548
549
550
551
552
553
554
# File 'lib/llvm/core_ffi.rb', line 546

enum :call_conv, [
  :c, 0,
  :fast, 8,
  :cold, 9,
  :web_kit_js, 12,
  :any_reg, 13,
  :x86_stdcall, 64,
  :x86_fastcall, 65
]

._enum_code_gen_file_type_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:code_gen_file_type).

Options:

:assembly
:object


426
427
428
429
# File 'lib/llvm/target_ffi.rb', line 426

enum :code_gen_file_type, [
  :assembly, 0,
  :object, 1
]

._enum_code_gen_opt_level_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:code_gen_opt_level).

Options:

:none
:less
:default
:aggressive


352
353
354
355
356
357
# File 'lib/llvm/target_ffi.rb', line 352

enum :code_gen_opt_level, [
  :none, 0,
  :less, 1,
  :default, 2,
  :aggressive, 3
]

._enum_code_model_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:code_model).

Options:

:default
:jit_default
:small
:kernel
:medium
:large


404
405
406
407
408
409
410
411
# File 'lib/llvm/target_ffi.rb', line 404

enum :code_model, [
  :default, 0,
  :jit_default, 1,
  :small, 2,
  :kernel, 3,
  :medium, 4,
  :large, 5
]

._enum_diagnostic_severity_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:diagnostic_severity).

Options:

:ds_error
:ds_warning
:ds_remark
:ds_note


814
815
816
817
818
819
# File 'lib/llvm/core_ffi.rb', line 814

enum :diagnostic_severity, [
  :ds_error, 0,
  :ds_warning, 1,
  :ds_remark, 2,
  :ds_note, 3
]

._enum_dll_storage_class_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:dll_storage_class).

Options:

:default
:dll_import
:dll_export

< Function to be imported from DLL.



517
518
519
520
521
# File 'lib/llvm/core_ffi.rb', line 517

enum :dll_storage_class, [
  :default, 0,
  :dll_import, 1,
  :dll_export, 2
]

._enum_int_predicate_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:int_predicate).

Options:

:eq
:ne

< equal

:ugt

< not equal

:uge

< unsigned greater than

:ult

< unsigned greater or equal

:ule

< unsigned less than

:sgt

< unsigned less or equal

:sge

< signed greater than

:slt

< signed greater or equal

:sle

< signed less than



585
586
587
588
589
590
591
592
593
594
595
596
# File 'lib/llvm/core_ffi.rb', line 585

enum :int_predicate, [
  :eq, 32,
  :ne, 33,
  :ugt, 34,
  :uge, 35,
  :ult, 36,
  :ule, 37,
  :sgt, 38,
  :sge, 39,
  :slt, 40,
  :sle, 41
]

._enum_landing_pad_clause_ty_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:landing_pad_clause_ty).

Options:

:catch
:filter

< A catch clause



671
672
673
674
# File 'lib/llvm/core_ffi.rb', line 671

enum :landing_pad_clause_ty, [
  :catch, 0,
  :filter, 1
]

._enum_linkage_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:linkage).

Options:

:external
:available_externally

< Externally visible function

:link_once_any
:link_once_odr

< Keep one copy of function when linking (inline)

:link_once_odr_auto_hide

< Same, but only replaced by something

equivalent.
:weak_any

< Obsolete

:weak_odr

< Keep one copy of function when linking (weak)

:appending

< Same, but only replaced by something

equivalent.
:internal

< Special purpose, only applies to global arrays

:private

< Rename collisions when linking (static

functions)
:dll_import

< Like Internal, but omit from symbol table

:dll_export

< Obsolete

:external_weak

< Obsolete

:ghost

< ExternalWeak linkage description

:common

< Obsolete

:linker_private

< Tentative definitions

:linker_private_weak

< Like Private, but linker removes.



461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
# File 'lib/llvm/core_ffi.rb', line 461

enum :linkage, [
  :external, 0,
  :available_externally, 1,
  :link_once_any, 2,
  :link_once_odr, 3,
  :link_once_odr_auto_hide, 4,
  :weak_any, 5,
  :weak_odr, 6,
  :appending, 7,
  :internal, 8,
  :private, 9,
  :dll_import, 10,
  :dll_export, 11,
  :external_weak, 12,
  :ghost, 13,
  :common, 14,
  :linker_private, 15,
  :linker_private_weak, 16
]

._enum_linker_mode_Symbol

This enum is provided for backwards-compatibility only. It has no effect.

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:linker_mode).

Options:

:destroy_source
:preserve_source_removed

This is the default behavior.



28
29
30
31
# File 'lib/llvm/linker_ffi.rb', line 28

enum :linker_mode, [
  :destroy_source, 0,
  :preserve_source_removed, 1
]

._enum_opcode_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:opcode).

Options:

:ret

Terminator Instructions

:br
:switch
:indirect_br
:invoke
:unreachable

removed 6 due to API changes

:add

Standard Binary Operators

:f_add
:sub
:f_sub
:mul
:f_mul
:u_div
:s_div
:f_div
:u_rem
:s_rem
:f_rem
:shl

Logical Operators

:l_shr
:a_shr
:and_
:or_
:xor
:alloca

Memory Operators

:load
:store
:get_element_ptr
:trunc

Cast Operators

:z_ext
:s_ext
:fp_to_ui
:fp_to_si
:ui_to_fp
:si_to_fp
:fp_trunc
:fp_ext
:ptr_to_int
:int_to_ptr
:bit_cast
:addr_space_cast
:i_cmp

Other Operators

:f_cmp
:phi
:call
:select
:user_op1
:user_op2
:va_arg
:extract_element
:insert_element
:shuffle_vector
:extract_value
:insert_value
:fence

Atomic operators

:atomic_cmp_xchg
:atomic_rmw
:resume

Exception Handling Operators

:landing_pad
:cleanup_ret
:catch_ret
:catch_pad
:cleanup_pad
:catch_switch


282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/llvm/core_ffi.rb', line 282

enum :opcode, [
  :ret, 1,
  :br, 2,
  :switch, 3,
  :indirect_br, 4,
  :invoke, 5,
  :unreachable, 7,
  :add, 8,
  :f_add, 9,
  :sub, 10,
  :f_sub, 11,
  :mul, 12,
  :f_mul, 13,
  :u_div, 14,
  :s_div, 15,
  :f_div, 16,
  :u_rem, 17,
  :s_rem, 18,
  :f_rem, 19,
  :shl, 20,
  :l_shr, 21,
  :a_shr, 22,
  :and_, 23,
  :or_, 24,
  :xor, 25,
  :alloca, 26,
  :load, 27,
  :store, 28,
  :get_element_ptr, 29,
  :trunc, 30,
  :z_ext, 31,
  :s_ext, 32,
  :fp_to_ui, 33,
  :fp_to_si, 34,
  :ui_to_fp, 35,
  :si_to_fp, 36,
  :fp_trunc, 37,
  :fp_ext, 38,
  :ptr_to_int, 39,
  :int_to_ptr, 40,
  :bit_cast, 41,
  :addr_space_cast, 60,
  :i_cmp, 42,
  :f_cmp, 43,
  :phi, 44,
  :call, 45,
  :select, 46,
  :user_op1, 47,
  :user_op2, 48,
  :va_arg, 49,
  :extract_element, 50,
  :insert_element, 51,
  :shuffle_vector, 52,
  :extract_value, 53,
  :insert_value, 54,
  :fence, 55,
  :atomic_cmp_xchg, 56,
  :atomic_rmw, 57,
  :resume, 58,
  :landing_pad, 59,
  :cleanup_ret, 61,
  :catch_ret, 62,
  :catch_pad, 63,
  :cleanup_pad, 64,
  :catch_switch, 65
]

._enum_real_predicate_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:real_predicate).

Options:

:predicate_false
:oeq

< Always false (always folded)

:ogt

< True if ordered and equal

:oge

< True if ordered and greater than

:olt

< True if ordered and greater than or equal

:ole

< True if ordered and less than

:one

< True if ordered and less than or equal

:ord

< True if ordered and operands are unequal

:uno

< True if ordered (no nans)

:ueq

< True if unordered: isnan(X) | isnan(Y)

:ugt

< True if unordered or equal

:uge

< True if unordered or greater than

:ult

< True if unordered, greater than, or equal

:ule

< True if unordered or less than

:une

< True if unordered, less than, or equal

:predicate_true

< True if unordered or not equal



639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
# File 'lib/llvm/core_ffi.rb', line 639

enum :real_predicate, [
  :predicate_false, 0,
  :oeq, 1,
  :ogt, 2,
  :oge, 3,
  :olt, 4,
  :ole, 5,
  :one, 6,
  :ord, 7,
  :uno, 8,
  :ueq, 9,
  :ugt, 10,
  :uge, 11,
  :ult, 12,
  :ule, 13,
  :une, 14,
  :predicate_true, 15
]

._enum_reloc_mode_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:reloc_mode).

Options:

:default
:static
:pic
:dynamic_no_pic


376
377
378
379
380
381
# File 'lib/llvm/target_ffi.rb', line 376

enum :reloc_mode, [
  :default, 0,
  :static, 1,
  :pic, 2,
  :dynamic_no_pic, 3
]

._enum_thread_local_mode_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:thread_local_mode).

Options:

:not_thread_local
:general_dynamic_tls_model
:local_dynamic_tls_model
:initial_exec_tls_model
:local_exec_tls_model


695
696
697
698
699
700
701
# File 'lib/llvm/core_ffi.rb', line 695

enum :thread_local_mode, [
  :not_thread_local, 0,
  :general_dynamic_tls_model, 1,
  :local_dynamic_tls_model, 2,
  :initial_exec_tls_model, 3,
  :local_exec_tls_model, 4
]

._enum_type_kind_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:type_kind).

Options:

:void
:half

< type with no size

:float

< 16 bit floating point type

:double

< 32 bit floating point type

:x86_fp80

< 64 bit floating point type

:fp128

< 80 bit floating point type (X87)

:ppc_fp128

< 128 bit floating point type (112-bit mantissa)

:label

< 128 bit floating point type (two 64-bits)

:integer

< Labels

:function

< Arbitrary bit width integers

:struct

< Functions

:array

< Structures

:pointer

< Arrays

:vector

< Pointers

:metadata

< SIMD ‘packed’ format, or other vector type

:x86_mmx

< Metadata

:token

< X86 MMX



392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
# File 'lib/llvm/core_ffi.rb', line 392

enum :type_kind, [
  :void, 0,
  :half, 1,
  :float, 2,
  :double, 3,
  :x86_fp80, 4,
  :fp128, 5,
  :ppc_fp128, 6,
  :label, 7,
  :integer, 8,
  :function, 9,
  :struct, 10,
  :array, 11,
  :pointer, 12,
  :vector, 13,
  :metadata, 14,
  :x86_mmx, 15,
  :token, 16,
  :scalable_vector, 17,
  :bfloat, 18,
  :x86_amx, 19,
]

._enum_verifier_failure_action_Symbol

@{

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:verifier_failure_action).

Options:

:abort_process
:print_message

verifier will print to stderr and abort()

:return_status

verifier will print to stderr and return 1



33
34
35
36
37
# File 'lib/llvm/analysis_ffi.rb', line 33

enum :verifier_failure_action, [
  :abort_process, 0,
  :print_message, 1,
  :return_status, 2
]

._enum_visibility_Symbol

(Not documented)

This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:visibility).

Options:

:default
:hidden

< The GV is visible

:protected

< The GV is hidden



496
497
498
499
500
# File 'lib/llvm/core_ffi.rb', line 496

enum :visibility, [
  :default, 0,
  :hidden, 1,
  :protected, 2
]

.abi_alignment_of_type(td, ty) ⇒ Integer

(Not documented)



258
# File 'lib/llvm/target_ffi.rb', line 258

attach_function :abi_alignment_of_type, :LLVMABIAlignmentOfType, [OpaqueTargetData, :pointer], :uint

.abi_size_of_type(td, ty) ⇒ Integer

(Not documented)



249
# File 'lib/llvm/target_ffi.rb', line 249

attach_function :abi_size_of_type, :LLVMABISizeOfType, [OpaqueTargetData, :pointer], :ulong_long

.add_alias(m, ty, aliasee, name) ⇒ FFI::Pointer(ValueRef)

This group contains function that operate on global alias values.

@{

See Also:

  • llvmllvm::GlobalAlias


3496
# File 'lib/llvm/core_ffi.rb', line 3496

attach_function :add_alias, :LLVMAddAlias, [:pointer, :pointer, :pointer, :string], :pointer

.add_analysis_passes(t, pm) ⇒ nil

Adds the target-specific analysis passes to the pass manager.



626
# File 'lib/llvm/target_ffi.rb', line 626

attach_function :add_analysis_passes, :LLVMAddAnalysisPasses, [OpaqueTargetMachine, :pointer], :void

.add_case(switch, on_val, dest) ⇒ nil

Add a case to the switch instruction



4562
# File 'lib/llvm/core_ffi.rb', line 4562

attach_function :add_case, :LLVMAddCase, [:pointer, :pointer, :pointer], :void

.add_clause(landing_pad, clause_val) ⇒ nil

Add a catch or filter clause to the landingpad instruction



4580
# File 'lib/llvm/core_ffi.rb', line 4580

attach_function :add_clause, :LLVMAddClause, [:pointer, :pointer], :void

.add_destination(indirect_br, dest) ⇒ nil

Add a destination to the indirectbr instruction



4571
# File 'lib/llvm/core_ffi.rb', line 4571

attach_function :add_destination, :LLVMAddDestination, [:pointer, :pointer], :void

.add_function(m, name, function_ty) ⇒ FFI::Pointer(ValueRef)

Add a function to a module under a specified name.

See Also:

  • llvmllvm::Functionllvm::Function::Create()


1177
# File 'lib/llvm/core_ffi.rb', line 1177

attach_function :add_function, :LLVMAddFunction, [:pointer, :string, :pointer], :pointer

.add_global(m, ty, name) ⇒ FFI::Pointer(ValueRef)

This group contains functions that operate on global variable values.

@{

See Also:

  • llvmllvm::GlobalVariable


3350
# File 'lib/llvm/core_ffi.rb', line 3350

attach_function :add_global, :LLVMAddGlobal, [:pointer, :pointer, :string], :pointer

.add_global_in_address_space(m, ty, name, address_space) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3361
# File 'lib/llvm/core_ffi.rb', line 3361

attach_function :add_global_in_address_space, :LLVMAddGlobalInAddressSpace, [:pointer, :pointer, :string, :uint], :pointer

.add_global_mapping(ee, global, addr) ⇒ nil

(Not documented)



322
# File 'lib/llvm/execution_engine_ffi.rb', line 322

attach_function :add_global_mapping, :LLVMAddGlobalMapping, [OpaqueExecutionEngine, :pointer, :pointer], :void

.add_incoming(phi_node, incoming_values, incoming_blocks, count) ⇒ nil

Add an incoming value to the end of a PHI list.



4312
# File 'lib/llvm/core_ffi.rb', line 4312

attach_function :add_incoming, :LLVMAddIncoming, [:pointer, :pointer, :pointer, :uint], :void

.add_module(ee, m) ⇒ nil

(Not documented)



266
# File 'lib/llvm/execution_engine_ffi.rb', line 266

attach_function :add_module, :LLVMAddModule, [OpaqueExecutionEngine, :pointer], :void

.add_named_metadata_operand(m, name, val) ⇒ nil

Add an operand to named metadata.

See Also:

  • llvmllvm::Modulellvm::Module::getNamedMetadata()
  • llvmllvm::MDNodellvm::MDNode::addOperand()


1165
# File 'lib/llvm/core_ffi.rb', line 1165

attach_function :add_named_metadata_operand, :LLVMAddNamedMetadataOperand, [:pointer, :string, :pointer], :void

.add_symbol(symbol_name, symbol_value) ⇒ nil

(Not documented)



53
# File 'lib/llvm/core_ffi.rb', line 53

attach_function :add_symbol, :LLVMAddSymbol, [:string, :pointer], :void

.add_target_dependent_function_attr(fn, a, v) ⇒ nil

Add a target-dependent attribute to a function

See Also:

  • llvmllvm::AttrBuilderllvm::AttrBuilder::addAttribute()


3596
# File 'lib/llvm/core_ffi.rb', line 3596

attach_function :add_target_dependent_function_attr, :LLVMAddTargetDependentFunctionAttr, [:pointer, :string, :string], :void

.add_target_library_info(tli, pm) ⇒ nil

(Not documented)



153
# File 'lib/llvm/target_ffi.rb', line 153

attach_function :add_target_library_info, :LLVMAddTargetLibraryInfo, [OpaqueTargetLibraryInfotData, :pointer], :void

.align_of(ty) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2891
# File 'lib/llvm/core_ffi.rb', line 2891

attach_function :align_of, :LLVMAlignOf, [:pointer], :pointer

.append_basic_block(fn, name) ⇒ FFI::Pointer(BasicBlockRef)

Append a basic block to the end of a function using the global context.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::Create()


3938
# File 'lib/llvm/core_ffi.rb', line 3938

attach_function :append_basic_block, :LLVMAppendBasicBlock, [:pointer, :string], :pointer

.append_basic_block_in_context(c, fn, name) ⇒ FFI::Pointer(BasicBlockRef)

Append a basic block to the end of a function.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::Create()


3926
# File 'lib/llvm/core_ffi.rb', line 3926

attach_function :append_basic_block_in_context, :LLVMAppendBasicBlockInContext, [:pointer, :pointer, :string], :pointer

.array_type(element_type, element_count) ⇒ FFI::Pointer(TypeRef)

Create a fixed size array type that refers to a specific type.

The created type will exist in the context that its element type exists in.

See Also:

  • llvmllvm::ArrayTypellvm::ArrayType::get()


1674
# File 'lib/llvm/core_ffi.rb', line 1674

attach_function :array_type, :LLVMArrayType, [:pointer, :uint], :pointer

.attach_function(name, *_) ⇒ Object



9
10
11
12
13
# File 'lib/llvm/core_ffi.rb', line 9

def self.attach_function(name, *_)
  begin; super; rescue FFI::NotFoundError => e
    (class << self; self; end).class_eval { define_method(name) { |*_| raise e } }
  end
end

.basic_block_as_value(bb) ⇒ FFI::Pointer(ValueRef)

Convert a basic block instance to a value type.



3799
# File 'lib/llvm/core_ffi.rb', line 3799

attach_function :basic_block_as_value, :LLVMBasicBlockAsValue, [:pointer], :pointer

.block_address(f, bb) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3201
# File 'lib/llvm/core_ffi.rb', line 3201

attach_function :block_address, :LLVMBlockAddress, [:pointer, :pointer], :pointer

.build_a_shr(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4831
# File 'lib/llvm/core_ffi.rb', line 4831

attach_function :build_a_shr, :LLVMBuildAShr, [:pointer, :pointer, :pointer, :string], :pointer

.build_add(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

Arithmetic



4600
# File 'lib/llvm/core_ffi.rb', line 4600

attach_function :build_add, :LLVMBuildAdd, [:pointer, :pointer, :pointer, :string], :pointer

.build_addr_space_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5184
# File 'lib/llvm/core_ffi.rb', line 5184

attach_function :build_addr_space_cast, :LLVMBuildAddrSpaceCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_aggregate_ret(builder_ref, ret_vals, n) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4482
# File 'lib/llvm/core_ffi.rb', line 4482

attach_function :build_aggregate_ret, :LLVMBuildAggregateRet, [:pointer, :pointer, :uint], :pointer

.build_alloca(builder_ref, ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4957
# File 'lib/llvm/core_ffi.rb', line 4957

attach_function :build_alloca, :LLVMBuildAlloca, [:pointer, :pointer, :string], :pointer

.build_and(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4842
# File 'lib/llvm/core_ffi.rb', line 4842

attach_function :build_and, :LLVMBuildAnd, [:pointer, :pointer, :pointer, :string], :pointer

.build_array_alloca(builder_ref, ty, val, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4968
# File 'lib/llvm/core_ffi.rb', line 4968

attach_function :build_array_alloca, :LLVMBuildArrayAlloca, [:pointer, :pointer, :pointer, :string], :pointer

.build_array_malloc(builder_ref, ty, val, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4947
# File 'lib/llvm/core_ffi.rb', line 4947

attach_function :build_array_malloc, :LLVMBuildArrayMalloc, [:pointer, :pointer, :pointer, :string], :pointer

.build_atomic_rmw(b, op, ptr, val, ordering, single_thread) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5432
# File 'lib/llvm/core_ffi.rb', line 5432

attach_function :build_atomic_rmw, :LLVMBuildAtomicRMW, [:pointer, :atomic_rmw_bin_op, :pointer, :pointer, :atomic_ordering, :int], :pointer

.build_bin_op(b, op, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4876
# File 'lib/llvm/core_ffi.rb', line 4876

attach_function :build_bin_op, :LLVMBuildBinOp, [:pointer, :opcode, :pointer, :pointer, :string], :pointer

.build_bit_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5173
# File 'lib/llvm/core_ffi.rb', line 5173

attach_function :build_bit_cast, :LLVMBuildBitCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_br(builder_ref, dest) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4491
# File 'lib/llvm/core_ffi.rb', line 4491

attach_function :build_br, :LLVMBuildBr, [:pointer, :pointer], :pointer

.build_cast(b, op, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5229
# File 'lib/llvm/core_ffi.rb', line 5229

attach_function :build_cast, :LLVMBuildCast, [:pointer, :opcode, :pointer, :pointer, :string], :pointer

.build_cond_br(builder_ref, if_, then_, else_) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4502
# File 'lib/llvm/core_ffi.rb', line 4502

attach_function :build_cond_br, :LLVMBuildCondBr, [:pointer, :pointer, :pointer, :pointer], :pointer

.build_exact_s_div(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4754
# File 'lib/llvm/core_ffi.rb', line 4754

attach_function :build_exact_s_div, :LLVMBuildExactSDiv, [:pointer, :pointer, :pointer, :string], :pointer

.build_extract_element(builder_ref, vec_val, index, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5330
# File 'lib/llvm/core_ffi.rb', line 5330

attach_function :build_extract_element, :LLVMBuildExtractElement, [:pointer, :pointer, :pointer, :string], :pointer

.build_extract_value(builder_ref, agg_val, index, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5365
# File 'lib/llvm/core_ffi.rb', line 5365

attach_function :build_extract_value, :LLVMBuildExtractValue, [:pointer, :pointer, :uint, :string], :pointer

.build_f_add(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4633
# File 'lib/llvm/core_ffi.rb', line 4633

attach_function :build_f_add, :LLVMBuildFAdd, [:pointer, :pointer, :pointer, :string], :pointer

.build_f_cmp(builder_ref, op, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5286
# File 'lib/llvm/core_ffi.rb', line 5286

attach_function :build_f_cmp, :LLVMBuildFCmp, [:pointer, :real_predicate, :pointer, :pointer, :string], :pointer

.build_f_div(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4765
# File 'lib/llvm/core_ffi.rb', line 4765

attach_function :build_f_div, :LLVMBuildFDiv, [:pointer, :pointer, :pointer, :string], :pointer

.build_f_mul(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4721
# File 'lib/llvm/core_ffi.rb', line 4721

attach_function :build_f_mul, :LLVMBuildFMul, [:pointer, :pointer, :pointer, :string], :pointer

.build_f_neg(builder_ref, v, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4916
# File 'lib/llvm/core_ffi.rb', line 4916

attach_function :build_f_neg, :LLVMBuildFNeg, [:pointer, :pointer, :string], :pointer

.build_f_rem(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4798
# File 'lib/llvm/core_ffi.rb', line 4798

attach_function :build_f_rem, :LLVMBuildFRem, [:pointer, :pointer, :pointer, :string], :pointer

.build_f_sub(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4677
# File 'lib/llvm/core_ffi.rb', line 4677

attach_function :build_f_sub, :LLVMBuildFSub, [:pointer, :pointer, :pointer, :string], :pointer

.build_fence(b, ordering, single_thread, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5419
# File 'lib/llvm/core_ffi.rb', line 5419

attach_function :build_fence, :LLVMBuildFence, [:pointer, :atomic_ordering, :int, :string], :pointer

.build_fp_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5262
# File 'lib/llvm/core_ffi.rb', line 5262

attach_function :build_fp_cast, :LLVMBuildFPCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_fp_ext(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5140
# File 'lib/llvm/core_ffi.rb', line 5140

attach_function :build_fp_ext, :LLVMBuildFPExt, [:pointer, :pointer, :pointer, :string], :pointer

.build_fp_to_si(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5096
# File 'lib/llvm/core_ffi.rb', line 5096

attach_function :build_fp_to_si, :LLVMBuildFPToSI, [:pointer, :pointer, :pointer, :string], :pointer

.build_fp_to_ui(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5085
# File 'lib/llvm/core_ffi.rb', line 5085

attach_function :build_fp_to_ui, :LLVMBuildFPToUI, [:pointer, :pointer, :pointer, :string], :pointer

.build_fp_trunc(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5129
# File 'lib/llvm/core_ffi.rb', line 5129

attach_function :build_fp_trunc, :LLVMBuildFPTrunc, [:pointer, :pointer, :pointer, :string], :pointer

.build_free(builder_ref, pointer_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4977
# File 'lib/llvm/core_ffi.rb', line 4977

attach_function :build_free, :LLVMBuildFree, [:pointer, :pointer], :pointer

.build_global_string(b, str, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4997
# File 'lib/llvm/core_ffi.rb', line 4997

attach_function :build_global_string, :LLVMBuildGlobalString, [:pointer, :string, :string], :pointer

.build_global_string_ptr(b, str, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5007
# File 'lib/llvm/core_ffi.rb', line 5007

attach_function :build_global_string_ptr, :LLVMBuildGlobalStringPtr, [:pointer, :string, :string], :pointer

.build_i_cmp(builder_ref, op, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

Comparisons



5274
# File 'lib/llvm/core_ffi.rb', line 5274

attach_function :build_i_cmp, :LLVMBuildICmp, [:pointer, :int_predicate, :pointer, :pointer, :string], :pointer

.build_indirect_br(b, addr, num_dests) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4523
# File 'lib/llvm/core_ffi.rb', line 4523

attach_function :build_indirect_br, :LLVMBuildIndirectBr, [:pointer, :pointer, :uint], :pointer

.build_insert_element(builder_ref, vec_val, elt_val, index, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5342
# File 'lib/llvm/core_ffi.rb', line 5342

attach_function :build_insert_element, :LLVMBuildInsertElement, [:pointer, :pointer, :pointer, :pointer, :string], :pointer

.build_insert_value(builder_ref, agg_val, elt_val, index, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5377
# File 'lib/llvm/core_ffi.rb', line 5377

attach_function :build_insert_value, :LLVMBuildInsertValue, [:pointer, :pointer, :pointer, :uint, :string], :pointer

.build_int_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5251
# File 'lib/llvm/core_ffi.rb', line 5251

attach_function :build_int_cast, :LLVMBuildIntCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_int_to_ptr(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5162
# File 'lib/llvm/core_ffi.rb', line 5162

attach_function :build_int_to_ptr, :LLVMBuildIntToPtr, [:pointer, :pointer, :pointer, :string], :pointer

.build_is_not_null(builder_ref, val, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5397
# File 'lib/llvm/core_ffi.rb', line 5397

attach_function :build_is_not_null, :LLVMBuildIsNotNull, [:pointer, :pointer, :string], :pointer

.build_is_null(builder_ref, val, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5387
# File 'lib/llvm/core_ffi.rb', line 5387

attach_function :build_is_null, :LLVMBuildIsNull, [:pointer, :pointer, :string], :pointer

.build_l_shr(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4820
# File 'lib/llvm/core_ffi.rb', line 4820

attach_function :build_l_shr, :LLVMBuildLShr, [:pointer, :pointer, :pointer, :string], :pointer

.build_landing_pad(b, ty, pers_fn, num_clauses, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4535
# File 'lib/llvm/core_ffi.rb', line 4535

attach_function :build_landing_pad, :LLVMBuildLandingPad, [:pointer, :pointer, :pointer, :uint, :string], :pointer

.build_malloc(builder_ref, ty, name) ⇒ FFI::Pointer(ValueRef)

Memory



4936
# File 'lib/llvm/core_ffi.rb', line 4936

attach_function :build_malloc, :LLVMBuildMalloc, [:pointer, :pointer, :string], :pointer

.build_mul(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4688
# File 'lib/llvm/core_ffi.rb', line 4688

attach_function :build_mul, :LLVMBuildMul, [:pointer, :pointer, :pointer, :string], :pointer

.build_neg(builder_ref, v, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4886
# File 'lib/llvm/core_ffi.rb', line 4886

attach_function :build_neg, :LLVMBuildNeg, [:pointer, :pointer, :string], :pointer

.build_not(builder_ref, v, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4926
# File 'lib/llvm/core_ffi.rb', line 4926

attach_function :build_not, :LLVMBuildNot, [:pointer, :pointer, :string], :pointer

.build_nsw_add(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4611
# File 'lib/llvm/core_ffi.rb', line 4611

attach_function :build_nsw_add, :LLVMBuildNSWAdd, [:pointer, :pointer, :pointer, :string], :pointer

.build_nsw_mul(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4699
# File 'lib/llvm/core_ffi.rb', line 4699

attach_function :build_nsw_mul, :LLVMBuildNSWMul, [:pointer, :pointer, :pointer, :string], :pointer

.build_nsw_neg(b, v, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4896
# File 'lib/llvm/core_ffi.rb', line 4896

attach_function :build_nsw_neg, :LLVMBuildNSWNeg, [:pointer, :pointer, :string], :pointer

.build_nsw_sub(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4655
# File 'lib/llvm/core_ffi.rb', line 4655

attach_function :build_nsw_sub, :LLVMBuildNSWSub, [:pointer, :pointer, :pointer, :string], :pointer

.build_nuw_add(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4622
# File 'lib/llvm/core_ffi.rb', line 4622

attach_function :build_nuw_add, :LLVMBuildNUWAdd, [:pointer, :pointer, :pointer, :string], :pointer

.build_nuw_mul(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4710
# File 'lib/llvm/core_ffi.rb', line 4710

attach_function :build_nuw_mul, :LLVMBuildNUWMul, [:pointer, :pointer, :pointer, :string], :pointer

.build_nuw_neg(b, v, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4906
# File 'lib/llvm/core_ffi.rb', line 4906

attach_function :build_nuw_neg, :LLVMBuildNUWNeg, [:pointer, :pointer, :string], :pointer

.build_nuw_sub(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4666
# File 'lib/llvm/core_ffi.rb', line 4666

attach_function :build_nuw_sub, :LLVMBuildNUWSub, [:pointer, :pointer, :pointer, :string], :pointer

.build_or(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4853
# File 'lib/llvm/core_ffi.rb', line 4853

attach_function :build_or, :LLVMBuildOr, [:pointer, :pointer, :pointer, :string], :pointer

.build_phi(builder_ref, ty, name) ⇒ FFI::Pointer(ValueRef)

Miscellaneous instructions



5296
# File 'lib/llvm/core_ffi.rb', line 5296

attach_function :build_phi, :LLVMBuildPhi, [:pointer, :pointer, :string], :pointer

.build_pointer_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5240
# File 'lib/llvm/core_ffi.rb', line 5240

attach_function :build_pointer_cast, :LLVMBuildPointerCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_ptr_diff(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5408
# File 'lib/llvm/core_ffi.rb', line 5408

attach_function :build_ptr_diff, :LLVMBuildPtrDiff, [:pointer, :pointer, :pointer, :string], :pointer

.build_ptr_to_int(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5151
# File 'lib/llvm/core_ffi.rb', line 5151

attach_function :build_ptr_to_int, :LLVMBuildPtrToInt, [:pointer, :pointer, :pointer, :string], :pointer

.build_resume(b, exn) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4544
# File 'lib/llvm/core_ffi.rb', line 4544

attach_function :build_resume, :LLVMBuildResume, [:pointer, :pointer], :pointer

.build_ret(builder_ref, v) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4472
# File 'lib/llvm/core_ffi.rb', line 4472

attach_function :build_ret, :LLVMBuildRet, [:pointer, :pointer], :pointer

.build_ret_void(builder_ref) ⇒ FFI::Pointer(ValueRef)

Terminators



4463
# File 'lib/llvm/core_ffi.rb', line 4463

attach_function :build_ret_void, :LLVMBuildRetVoid, [:pointer], :pointer

.build_s_div(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4743
# File 'lib/llvm/core_ffi.rb', line 4743

attach_function :build_s_div, :LLVMBuildSDiv, [:pointer, :pointer, :pointer, :string], :pointer

.build_s_ext(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5074
# File 'lib/llvm/core_ffi.rb', line 5074

attach_function :build_s_ext, :LLVMBuildSExt, [:pointer, :pointer, :pointer, :string], :pointer

.build_s_ext_or_bit_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5206
# File 'lib/llvm/core_ffi.rb', line 5206

attach_function :build_s_ext_or_bit_cast, :LLVMBuildSExtOrBitCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_s_rem(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4787
# File 'lib/llvm/core_ffi.rb', line 4787

attach_function :build_s_rem, :LLVMBuildSRem, [:pointer, :pointer, :pointer, :string], :pointer

.build_select(builder_ref, if_, then_, else_, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5308
# File 'lib/llvm/core_ffi.rb', line 5308

attach_function :build_select, :LLVMBuildSelect, [:pointer, :pointer, :pointer, :pointer, :string], :pointer

.build_shl(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4809
# File 'lib/llvm/core_ffi.rb', line 4809

attach_function :build_shl, :LLVMBuildShl, [:pointer, :pointer, :pointer, :string], :pointer

.build_shuffle_vector(builder_ref, v1, v2, mask, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5354
# File 'lib/llvm/core_ffi.rb', line 5354

attach_function :build_shuffle_vector, :LLVMBuildShuffleVector, [:pointer, :pointer, :pointer, :pointer, :string], :pointer

.build_si_to_fp(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5118
# File 'lib/llvm/core_ffi.rb', line 5118

attach_function :build_si_to_fp, :LLVMBuildSIToFP, [:pointer, :pointer, :pointer, :string], :pointer

.build_store(builder_ref, val, ptr) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4987
# File 'lib/llvm/core_ffi.rb', line 4987

attach_function :build_store, :LLVMBuildStore, [:pointer, :pointer, :pointer], :pointer

.build_sub(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4644
# File 'lib/llvm/core_ffi.rb', line 4644

attach_function :build_sub, :LLVMBuildSub, [:pointer, :pointer, :pointer, :string], :pointer

.build_switch(builder_ref, v, else_, num_cases) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4513
# File 'lib/llvm/core_ffi.rb', line 4513

attach_function :build_switch, :LLVMBuildSwitch, [:pointer, :pointer, :pointer, :uint], :pointer

.build_trunc(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

Casts



5052
# File 'lib/llvm/core_ffi.rb', line 5052

attach_function :build_trunc, :LLVMBuildTrunc, [:pointer, :pointer, :pointer, :string], :pointer

.build_trunc_or_bit_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5217
# File 'lib/llvm/core_ffi.rb', line 5217

attach_function :build_trunc_or_bit_cast, :LLVMBuildTruncOrBitCast, [:pointer, :pointer, :pointer, :string], :pointer

.build_u_div(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4732
# File 'lib/llvm/core_ffi.rb', line 4732

attach_function :build_u_div, :LLVMBuildUDiv, [:pointer, :pointer, :pointer, :string], :pointer

.build_u_rem(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4776
# File 'lib/llvm/core_ffi.rb', line 4776

attach_function :build_u_rem, :LLVMBuildURem, [:pointer, :pointer, :pointer, :string], :pointer

.build_ui_to_fp(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5107
# File 'lib/llvm/core_ffi.rb', line 5107

attach_function :build_ui_to_fp, :LLVMBuildUIToFP, [:pointer, :pointer, :pointer, :string], :pointer

.build_unreachable(builder_ref) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4552
# File 'lib/llvm/core_ffi.rb', line 4552

attach_function :build_unreachable, :LLVMBuildUnreachable, [:pointer], :pointer

.build_va_arg(builder_ref, list, ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5319
# File 'lib/llvm/core_ffi.rb', line 5319

attach_function :build_va_arg, :LLVMBuildVAArg, [:pointer, :pointer, :pointer, :string], :pointer

.build_xor(builder_ref, lhs, rhs, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4864
# File 'lib/llvm/core_ffi.rb', line 4864

attach_function :build_xor, :LLVMBuildXor, [:pointer, :pointer, :pointer, :string], :pointer

.build_z_ext(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5063
# File 'lib/llvm/core_ffi.rb', line 5063

attach_function :build_z_ext, :LLVMBuildZExt, [:pointer, :pointer, :pointer, :string], :pointer

.build_z_ext_or_bit_cast(builder_ref, val, dest_ty, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



5195
# File 'lib/llvm/core_ffi.rb', line 5195

attach_function :build_z_ext_or_bit_cast, :LLVMBuildZExtOrBitCast, [:pointer, :pointer, :pointer, :string], :pointer

.byte_order(td) ⇒ Symbol from _enum_byte_ordering_

(Not documented)



169
# File 'lib/llvm/target_ffi.rb', line 169

attach_function :byte_order, :LLVMByteOrder, [OpaqueTargetData], :byte_ordering

.call_frame_alignment_of_type(td, ty) ⇒ Integer

(Not documented)



267
# File 'lib/llvm/target_ffi.rb', line 267

attach_function :call_frame_alignment_of_type, :LLVMCallFrameAlignmentOfType, [OpaqueTargetData, :pointer], :uint

.clear_insertion_position(builder) ⇒ nil

(Not documented)



4402
# File 'lib/llvm/core_ffi.rb', line 4402

attach_function :clear_insertion_position, :LLVMClearInsertionPosition, [:pointer], :void

.clone_module(m) ⇒ FFI::Pointer(ModuleRef)

Return an exact copy of the specified module.



1006
# File 'lib/llvm/core_ffi.rb', line 1006

attach_function :clone_module, :LLVMCloneModule, [:pointer], :pointer

.const_add(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2948
# File 'lib/llvm/core_ffi.rb', line 2948

attach_function :const_add, :LLVMConstAdd, [:pointer, :pointer], :pointer

.const_addr_space_cast(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3123
# File 'lib/llvm/core_ffi.rb', line 3123

attach_function :const_addr_space_cast, :LLVMConstAddrSpaceCast, [:pointer, :pointer], :pointer

.const_all_ones(ty) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value referring to the instance of a type consisting of all ones.

This is only valid for integer types.

See Also:

  • llvmllvm::Constantllvm::Constant::getAllOnesValue()


2603
# File 'lib/llvm/core_ffi.rb', line 2603

attach_function :const_all_ones, :LLVMConstAllOnes, [:pointer], :pointer

.const_array(element_ty, constant_vals, length) ⇒ FFI::Pointer(ValueRef)

Create a ConstantArray from values.

See Also:

  • llvmllvm::ConstantArrayllvm::ConstantArray::get()


2835
# File 'lib/llvm/core_ffi.rb', line 2835

attach_function :const_array, :LLVMConstArray, [:pointer, :pointer, :uint], :pointer

.const_bit_cast(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3114
# File 'lib/llvm/core_ffi.rb', line 3114

attach_function :const_bit_cast, :LLVMConstBitCast, [:pointer, :pointer], :pointer

.const_extract_element(vector_constant, index_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3160
# File 'lib/llvm/core_ffi.rb', line 3160

attach_function :const_extract_element, :LLVMConstExtractElement, [:pointer, :pointer], :pointer

.const_f_cmp(predicate, lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3049
# File 'lib/llvm/core_ffi.rb', line 3049

attach_function :const_f_cmp, :LLVMConstFCmp, [:real_predicate, :pointer, :pointer], :pointer

.const_f_neg(constant_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2931
# File 'lib/llvm/core_ffi.rb', line 2931

attach_function :const_f_neg, :LLVMConstFNeg, [:pointer], :pointer

.const_gep(constant_val, constant_indices, num_indices) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3068
# File 'lib/llvm/core_ffi.rb', line 3068

attach_function :const_gep, :LLVMConstGEP, [:pointer, :pointer, :uint], :pointer

.const_i_cmp(predicate, lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3039
# File 'lib/llvm/core_ffi.rb', line 3039

attach_function :const_i_cmp, :LLVMConstICmp, [:int_predicate, :pointer, :pointer], :pointer

.const_in_bounds_gep(constant_val, constant_indices, num_indices) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3078
# File 'lib/llvm/core_ffi.rb', line 3078

attach_function :const_in_bounds_gep, :LLVMConstInBoundsGEP, [:pointer, :pointer, :uint], :pointer

.const_inline_asm(ty, asm_string, constraints, has_side_effects, is_align_stack) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3192
# File 'lib/llvm/core_ffi.rb', line 3192

attach_function :const_inline_asm, :LLVMConstInlineAsm, [:pointer, :string, :string, :int, :int], :pointer

.const_insert_element(vector_constant, element_value_constant, index_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3170
# File 'lib/llvm/core_ffi.rb', line 3170

attach_function :const_insert_element, :LLVMConstInsertElement, [:pointer, :pointer, :pointer], :pointer

.const_int(int_ty, n, sign_extend) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value for an integer type.

The returned value corresponds to a llvm::ConstantInt.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::get()


2640
# File 'lib/llvm/core_ffi.rb', line 2640

attach_function :const_int, :LLVMConstInt, [:pointer, :ulong_long, :int], :pointer

.const_int_get_s_ext_value(constant_val) ⇒ Integer

Obtain the sign extended value for an integer constant value.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::getSExtValue()


2733
# File 'lib/llvm/core_ffi.rb', line 2733

attach_function :const_int_get_s_ext_value, :LLVMConstIntGetSExtValue, [:pointer], :long_long

.const_int_get_z_ext_value(constant_val) ⇒ Integer

Obtain the zero extended value for an integer constant value.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::getZExtValue()


2723
# File 'lib/llvm/core_ffi.rb', line 2723

attach_function :const_int_get_z_ext_value, :LLVMConstIntGetZExtValue, [:pointer], :ulong_long

.const_int_of_arbitrary_precision(int_ty, num_words, words) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value for an integer of arbitrary precision.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::get()


2652
# File 'lib/llvm/core_ffi.rb', line 2652

attach_function :const_int_of_arbitrary_precision, :LLVMConstIntOfArbitraryPrecision, [:pointer, :uint, :pointer], :pointer

.const_int_of_string(int_ty, text, radix) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value for an integer parsed from a string.

A similar API, LLVMConstIntOfStringAndSize is also available. If the string’s length is available, it is preferred to call that function instead.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::get()


2668
# File 'lib/llvm/core_ffi.rb', line 2668

attach_function :const_int_of_string, :LLVMConstIntOfString, [:pointer, :string, :uchar], :pointer

.const_int_of_string_and_size(int_ty, text, s_len, radix) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value for an integer parsed from a string with specified length.

See Also:

  • llvmllvm::ConstantIntllvm::ConstantInt::get()


2682
# File 'lib/llvm/core_ffi.rb', line 2682

attach_function :const_int_of_string_and_size, :LLVMConstIntOfStringAndSize, [:pointer, :string, :uint, :uchar], :pointer

.const_int_to_ptr(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3105
# File 'lib/llvm/core_ffi.rb', line 3105

attach_function :const_int_to_ptr, :LLVMConstIntToPtr, [:pointer, :pointer], :pointer

.const_mul(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3002
# File 'lib/llvm/core_ffi.rb', line 3002

attach_function :const_mul, :LLVMConstMul, [:pointer, :pointer], :pointer

.const_named_struct(struct_ty, constant_vals, count) ⇒ FFI::Pointer(ValueRef)

Create a non-anonymous ConstantStruct from values.

See Also:

  • llvmllvm::ConstantStructllvm::ConstantStruct::get()


2847
# File 'lib/llvm/core_ffi.rb', line 2847

attach_function :const_named_struct, :LLVMConstNamedStruct, [:pointer, :pointer, :uint], :pointer

.const_neg(constant_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2907
# File 'lib/llvm/core_ffi.rb', line 2907

attach_function :const_neg, :LLVMConstNeg, [:pointer], :pointer

.const_not(constant_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2939
# File 'lib/llvm/core_ffi.rb', line 2939

attach_function :const_not, :LLVMConstNot, [:pointer], :pointer

.const_nsw_add(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2957
# File 'lib/llvm/core_ffi.rb', line 2957

attach_function :const_nsw_add, :LLVMConstNSWAdd, [:pointer, :pointer], :pointer

.const_nsw_mul(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3011
# File 'lib/llvm/core_ffi.rb', line 3011

attach_function :const_nsw_mul, :LLVMConstNSWMul, [:pointer, :pointer], :pointer

.const_nsw_neg(constant_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2915
# File 'lib/llvm/core_ffi.rb', line 2915

attach_function :const_nsw_neg, :LLVMConstNSWNeg, [:pointer], :pointer

.const_nsw_sub(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2984
# File 'lib/llvm/core_ffi.rb', line 2984

attach_function :const_nsw_sub, :LLVMConstNSWSub, [:pointer, :pointer], :pointer

.const_null(ty) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value referring to the null instance of a type.

See Also:

  • llvmllvm::Constantllvm::Constant::getNullValue()


2590
# File 'lib/llvm/core_ffi.rb', line 2590

attach_function :const_null, :LLVMConstNull, [:pointer], :pointer

.const_nuw_add(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2966
# File 'lib/llvm/core_ffi.rb', line 2966

attach_function :const_nuw_add, :LLVMConstNUWAdd, [:pointer, :pointer], :pointer

.const_nuw_mul(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3020
# File 'lib/llvm/core_ffi.rb', line 3020

attach_function :const_nuw_mul, :LLVMConstNUWMul, [:pointer, :pointer], :pointer

.const_nuw_neg(constant_val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2923
# File 'lib/llvm/core_ffi.rb', line 2923

attach_function :const_nuw_neg, :LLVMConstNUWNeg, [:pointer], :pointer

.const_nuw_sub(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2993
# File 'lib/llvm/core_ffi.rb', line 2993

attach_function :const_nuw_sub, :LLVMConstNUWSub, [:pointer, :pointer], :pointer

.const_pointer_cast(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3141
# File 'lib/llvm/core_ffi.rb', line 3141

attach_function :const_pointer_cast, :LLVMConstPointerCast, [:pointer, :pointer], :pointer

.const_pointer_null(ty) ⇒ FFI::Pointer(ValueRef)

Obtain a constant that is a constant pointer pointing to NULL for a specified type.



2622
# File 'lib/llvm/core_ffi.rb', line 2622

attach_function :const_pointer_null, :LLVMConstPointerNull, [:pointer], :pointer

.const_ptr_to_int(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3096
# File 'lib/llvm/core_ffi.rb', line 3096

attach_function :const_ptr_to_int, :LLVMConstPtrToInt, [:pointer, :pointer], :pointer

.const_real(real_ty, n) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value referring to a double floating point value.



2691
# File 'lib/llvm/core_ffi.rb', line 2691

attach_function :const_real, :LLVMConstReal, [:pointer, :double], :pointer

.const_real_get_double(constant_val, loses_info) ⇒ Float

Obtain the double value for an floating point constant value. losesInfo indicates if some precision was lost in the conversion.

See Also:

  • llvmllvm::ConstantFPllvm::ConstantFP::getDoubleValue


2745
# File 'lib/llvm/core_ffi.rb', line 2745

attach_function :const_real_get_double, :LLVMConstRealGetDouble, [:pointer, :pointer], :double

.const_real_of_string(real_ty, text) ⇒ FFI::Pointer(ValueRef)

Obtain a constant for a floating point value parsed from a string.

A similar API, LLVMConstRealOfStringAndSize is also available. It should be used if the input string’s length is known.



2703
# File 'lib/llvm/core_ffi.rb', line 2703

attach_function :const_real_of_string, :LLVMConstRealOfString, [:pointer, :string], :pointer

.const_real_of_string_and_size(real_ty, text, s_len) ⇒ FFI::Pointer(ValueRef)

Obtain a constant for a floating point value parsed from a string.



2713
# File 'lib/llvm/core_ffi.rb', line 2713

attach_function :const_real_of_string_and_size, :LLVMConstRealOfStringAndSize, [:pointer, :string, :uint], :pointer

.const_select(constant_condition, constant_if_true, constant_if_false) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3151
# File 'lib/llvm/core_ffi.rb', line 3151

attach_function :const_select, :LLVMConstSelect, [:pointer, :pointer, :pointer], :pointer

.const_shl(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3058
# File 'lib/llvm/core_ffi.rb', line 3058

attach_function :const_shl, :LLVMConstShl, [:pointer, :pointer], :pointer

.const_shuffle_vector(vector_a_constant, vector_b_constant, mask_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3180
# File 'lib/llvm/core_ffi.rb', line 3180

attach_function :const_shuffle_vector, :LLVMConstShuffleVector, [:pointer, :pointer, :pointer], :pointer

.const_string(str, length, dont_null_terminate) ⇒ FFI::Pointer(ValueRef)

Create a ConstantDataSequential with string content in the global context.

This is the same as LLVMConstStringInContext except it operates on the global context.

See Also:

  • LLVMConstStringInContext()
  • llvmllvm::ConstantDataArrayllvm::ConstantDataArray::getString()


2774
# File 'lib/llvm/core_ffi.rb', line 2774

attach_function :const_string, :LLVMConstString, [:string, :uint, :int], :pointer

.const_string_in_context(c, str, length, dont_null_terminate) ⇒ FFI::Pointer(ValueRef)

Create a ConstantDataSequential and initialize it with a string.

See Also:

  • llvmllvm::ConstantDataArrayllvm::ConstantDataArray::getString()


2758
# File 'lib/llvm/core_ffi.rb', line 2758

attach_function :const_string_in_context, :LLVMConstStringInContext, [:pointer, :string, :uint, :int], :pointer

.const_struct(constant_vals, count, packed) ⇒ FFI::Pointer(ValueRef)

Create a ConstantStruct in the global Context.

This is the same as LLVMConstStructInContext except it operates on the global Context.

See Also:

  • LLVMConstStructInContext()


2823
# File 'lib/llvm/core_ffi.rb', line 2823

attach_function :const_struct, :LLVMConstStruct, [:pointer, :uint, :int], :pointer

.const_struct_in_context(c, constant_vals, count, packed) ⇒ FFI::Pointer(ValueRef)

Create an anonymous ConstantStruct with the specified values.

See Also:

  • llvmllvm::ConstantStructllvm::ConstantStruct::getAnon()


2808
# File 'lib/llvm/core_ffi.rb', line 2808

attach_function :const_struct_in_context, :LLVMConstStructInContext, [:pointer, :pointer, :uint, :int], :pointer

.const_sub(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2975
# File 'lib/llvm/core_ffi.rb', line 2975

attach_function :const_sub, :LLVMConstSub, [:pointer, :pointer], :pointer

.const_trunc(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3087
# File 'lib/llvm/core_ffi.rb', line 3087

attach_function :const_trunc, :LLVMConstTrunc, [:pointer, :pointer], :pointer

.const_trunc_or_bit_cast(constant_val, to_type) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3132
# File 'lib/llvm/core_ffi.rb', line 3132

attach_function :const_trunc_or_bit_cast, :LLVMConstTruncOrBitCast, [:pointer, :pointer], :pointer

.const_vector(scalar_constant_vals, size) ⇒ FFI::Pointer(ValueRef)

Create a ConstantVector from values.

See Also:

  • llvmllvm::ConstantVectorllvm::ConstantVector::get()


2869
# File 'lib/llvm/core_ffi.rb', line 2869

attach_function :const_vector, :LLVMConstVector, [:pointer, :uint], :pointer

.const_xor(lhs_constant, rhs_constant) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3029
# File 'lib/llvm/core_ffi.rb', line 3029

attach_function :const_xor, :LLVMConstXor, [:pointer, :pointer], :pointer

.context_createFFI::Pointer(ContextRef)

Create a new context.

Every call to this function should be paired with a call to LLVMContextDispose() or the context will leak memory.



892
# File 'lib/llvm/core_ffi.rb', line 892

attach_function :context_create, :LLVMContextCreate, [], :pointer

.context_dispose(c) ⇒ nil

Destroy a context instance.

This should be called for every call to LLVMContextCreate() or memory will be leaked.



932
# File 'lib/llvm/core_ffi.rb', line 932

attach_function :context_dispose, :LLVMContextDispose, [:pointer], :void

.context_set_diagnostic_handler(c, handler, diagnostic_context) ⇒ nil

Set the diagnostic handler for this context.



909
# File 'lib/llvm/core_ffi.rb', line 909

attach_function :context_set_diagnostic_handler, :LLVMContextSetDiagnosticHandler, [:pointer, :diagnostic_handler, :pointer], :void

.context_set_yield_callback(c, callback, opaque_handle) ⇒ nil

Set the yield callback function for this context.

See Also:

  • LLVMContext::setYieldCallback()


921
# File 'lib/llvm/core_ffi.rb', line 921

attach_function :context_set_yield_callback, :LLVMContextSetYieldCallback, [:pointer, :yield_callback, :pointer], :void

.copy_string_rep_of_target_data(td) ⇒ String

(Not documented)



161
# File 'lib/llvm/target_ffi.rb', line 161

attach_function :copy_string_rep_of_target_data, :LLVMCopyStringRepOfTargetData, [OpaqueTargetData], :string

.count_basic_blocks(fn) ⇒ Integer

Obtain the number of basic blocks in a function.



3850
# File 'lib/llvm/core_ffi.rb', line 3850

attach_function :count_basic_blocks, :LLVMCountBasicBlocks, [:pointer], :uint

.count_incoming(phi_node) ⇒ Integer

Obtain the number of incoming basic blocks to a PHI node.



4320
# File 'lib/llvm/core_ffi.rb', line 4320

attach_function :count_incoming, :LLVMCountIncoming, [:pointer], :uint

.count_param_types(function_ty) ⇒ Integer

Obtain the number of parameters this function accepts.



1532
# File 'lib/llvm/core_ffi.rb', line 1532

attach_function :count_param_types, :LLVMCountParamTypes, [:pointer], :uint

.count_params(fn) ⇒ Integer

Obtain the number of parameters in a function.

See Also:

  • llvmllvm::Functionllvm::Function::arg_size()


3606
# File 'lib/llvm/core_ffi.rb', line 3606

attach_function :count_params, :LLVMCountParams, [:pointer], :uint

.count_struct_element_types(struct_ty) ⇒ Integer

Get the number of elements defined inside the structure.

See Also:

  • llvmllvm::StructTypellvm::StructType::getNumElements()


1621
# File 'lib/llvm/core_ffi.rb', line 1621

attach_function :count_struct_element_types, :LLVMCountStructElementTypes, [:pointer], :uint

.create_builderFFI::Pointer(BuilderRef)

(Not documented)



4358
# File 'lib/llvm/core_ffi.rb', line 4358

attach_function :create_builder, :LLVMCreateBuilder, [], :pointer

.create_builder_in_context(c) ⇒ FFI::Pointer(BuilderRef)

An instruction builder represents a point within a basic block and is the exclusive means of building instructions using the C interface.

@{



4351
# File 'lib/llvm/core_ffi.rb', line 4351

attach_function :create_builder_in_context, :LLVMCreateBuilderInContext, [:pointer], :pointer

.create_execution_engine_for_module(out_ee, m, out_error) ⇒ Integer

– Operations on execution engines ———————————–===



145
# File 'lib/llvm/execution_engine_ffi.rb', line 145

attach_function :create_execution_engine_for_module, :LLVMCreateExecutionEngineForModule, [:pointer, :pointer, :pointer], :int

.create_function_pass_manager(mp) ⇒ FFI::Pointer(PassManagerRef)

Deprecated: Use LLVMCreateFunctionPassManagerForModule instead.



5551
# File 'lib/llvm/core_ffi.rb', line 5551

attach_function :create_function_pass_manager, :LLVMCreateFunctionPassManager, [:pointer], :pointer

.create_function_pass_manager_for_module(m) ⇒ FFI::Pointer(PassManagerRef)

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 llvm::FunctionPassManager::FunctionPassManager


5543
# File 'lib/llvm/core_ffi.rb', line 5543

attach_function :create_function_pass_manager_for_module, :LLVMCreateFunctionPassManagerForModule, [:pointer], :pointer

.create_generic_value_of_float(ty, n) ⇒ OpaqueGenericValue

(Not documented)



93
# File 'lib/llvm/execution_engine_ffi.rb', line 93

attach_function :create_generic_value_of_float, :LLVMCreateGenericValueOfFloat, [:pointer, :double], OpaqueGenericValue

.create_generic_value_of_int(ty, n, is_signed) ⇒ OpaqueGenericValue

– Operations on generic values ————————————–===



76
# File 'lib/llvm/execution_engine_ffi.rb', line 76

attach_function :create_generic_value_of_int, :LLVMCreateGenericValueOfInt, [:pointer, :ulong_long, :int], OpaqueGenericValue

.create_generic_value_of_pointer(p) ⇒ OpaqueGenericValue

(Not documented)



84
# File 'lib/llvm/execution_engine_ffi.rb', line 84

attach_function :create_generic_value_of_pointer, :LLVMCreateGenericValueOfPointer, [:pointer], OpaqueGenericValue

.create_interpreter_for_module(out_interp, m, out_error) ⇒ Integer

(Not documented)



155
# File 'lib/llvm/execution_engine_ffi.rb', line 155

attach_function :create_interpreter_for_module, :LLVMCreateInterpreterForModule, [:pointer, :pointer, :pointer], :int

.create_jit_compiler_for_module(out_jit, m, opt_level, out_error) ⇒ Integer

(Not documented)



166
# File 'lib/llvm/execution_engine_ffi.rb', line 166

attach_function :create_jit_compiler_for_module, :LLVMCreateJITCompilerForModule, [:pointer, :pointer, :uint, :pointer], :int

.create_mcjit_compiler_for_module(out_jit, m, options, size_of_options, out_error) ⇒ Integer

Create an MCJIT execution engine for a module, with the given options. It is the responsibility of the caller to ensure that all fields in Options up to the given SizeOfOptions are initialized. It is correct to pass a smaller value of SizeOfOptions that omits some fields. The canonical way of using this is:

LLVMMCJITCompilerOptions options; LLVMInitializeMCJITCompilerOptions(&options, sizeof(options)); … fill in those options you care about LLVMCreateMCJITCompilerForModule(&jit, mod, &options, sizeof(options),

&error);

Note that this is also correct, though possibly suboptimal:

LLVMCreateMCJITCompilerForModule(&jit, mod, 0, 0, &error);



201
# File 'lib/llvm/execution_engine_ffi.rb', line 201

attach_function :create_mcjit_compiler_for_module, :LLVMCreateMCJITCompilerForModule, [:pointer, :pointer, MCJITCompilerOptions, :ulong, :pointer], :int

.create_memory_buffer_with_contents_of_file(path, out_mem_buf, out_message) ⇒ Integer

@{



5461
# File 'lib/llvm/core_ffi.rb', line 5461

attach_function :create_memory_buffer_with_contents_of_file, :LLVMCreateMemoryBufferWithContentsOfFile, [:string, :pointer, :pointer], :int

.create_memory_buffer_with_memory_range(input_data, input_data_length, buffer_name, requires_null_terminator) ⇒ FFI::Pointer(MemoryBufferRef)

(Not documented)



5481
# File 'lib/llvm/core_ffi.rb', line 5481

attach_function :create_memory_buffer_with_memory_range, :LLVMCreateMemoryBufferWithMemoryRange, [:string, :ulong, :string, :int], :pointer

.create_memory_buffer_with_memory_range_copy(input_data, input_data_length, buffer_name) ⇒ FFI::Pointer(MemoryBufferRef)

(Not documented)



5491
# File 'lib/llvm/core_ffi.rb', line 5491

attach_function :create_memory_buffer_with_memory_range_copy, :LLVMCreateMemoryBufferWithMemoryRangeCopy, [:string, :ulong, :string], :pointer

.create_memory_buffer_with_stdin(out_mem_buf, out_message) ⇒ Integer

(Not documented)



5470
# File 'lib/llvm/core_ffi.rb', line 5470

attach_function :create_memory_buffer_with_stdin, :LLVMCreateMemoryBufferWithSTDIN, [:pointer, :pointer], :int

.create_message(message) ⇒ String

– Error handling —————————————————-===



844
# File 'lib/llvm/core_ffi.rb', line 844

attach_function :create_message, :LLVMCreateMessage, [:string], :string

.create_module_provider_for_existing_module(m) ⇒ FFI::Pointer(ModuleProviderRef)

Changes the type of M so it can be passed to FunctionPassManagers and the JIT. They take ModuleProviders for historical reasons.



5441
# File 'lib/llvm/core_ffi.rb', line 5441

attach_function :create_module_provider_for_existing_module, :LLVMCreateModuleProviderForExistingModule, [:pointer], :pointer

.create_pass_managerFFI::Pointer(PassManagerRef)

Constructs a new whole-module pass pipeline. This type of pipeline is

suitable for link-time optimization and whole-module transformations.
@see llvm::PassManager::PassManager


5532
# File 'lib/llvm/core_ffi.rb', line 5532

attach_function :create_pass_manager, :LLVMCreatePassManager, [], :pointer

.create_simple_mcjit_memory_manager(opaque, allocate_code_section, allocate_data_section, finalize_memory, destroy) ⇒ OpaqueMCJITMemoryManager

Create a simple custom MCJIT memory manager. This memory manager can intercept allocations in a module-oblivious way. This will return NULL if any of the passed functions are NULL.



412
# File 'lib/llvm/execution_engine_ffi.rb', line 412

attach_function :create_simple_mcjit_memory_manager, :LLVMCreateSimpleMCJITMemoryManager, [:pointer, :memory_manager_allocate_code_section_callback, :memory_manager_allocate_data_section_callback, :memory_manager_finalize_memory_callback, :pointer], OpaqueMCJITMemoryManager

.create_target_data(string_rep) ⇒ OpaqueTargetData

(Not documented)



136
# File 'lib/llvm/target_ffi.rb', line 136

attach_function :create_target_data, :LLVMCreateTargetData, [:string], OpaqueTargetData

.create_target_data_layout(t) ⇒ OpaqueTargetData

Create a DataLayout based on the targetMachine.



574
# File 'lib/llvm/target_ffi.rb', line 574

attach_function :create_target_data_layout, :LLVMCreateTargetDataLayout, [OpaqueTargetMachine], OpaqueTargetData

.create_target_machine(t, triple, cpu, features, level, reloc, code_model) ⇒ OpaqueTargetMachine

Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine



519
# File 'lib/llvm/target_ffi.rb', line 519

attach_function :create_target_machine, :LLVMCreateTargetMachine, [Target, :string, :string, :string, :code_gen_opt_level, :reloc_mode, :code_model], OpaqueTargetMachine

.delete_basic_block(bb) ⇒ nil

Remove a basic block from a function and delete it.

This deletes the basic block from its containing function and deletes the basic block itself.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::eraseFromParent()


3977
# File 'lib/llvm/core_ffi.rb', line 3977

attach_function :delete_basic_block, :LLVMDeleteBasicBlock, [:pointer], :void

.delete_function(fn) ⇒ nil

Remove a function from its containing module and deletes it.

See Also:

  • llvmllvm::Functionllvm::Function::eraseFromParent()


3506
# File 'lib/llvm/core_ffi.rb', line 3506

attach_function :delete_function, :LLVMDeleteFunction, [:pointer], :void

.delete_global(global_var) ⇒ nil

(Not documented)



3410
# File 'lib/llvm/core_ffi.rb', line 3410

attach_function :delete_global, :LLVMDeleteGlobal, [:pointer], :void

.dispose_builder(builder) ⇒ nil

(Not documented)



4429
# File 'lib/llvm/core_ffi.rb', line 4429

attach_function :dispose_builder, :LLVMDisposeBuilder, [:pointer], :void

.dispose_execution_engine(ee) ⇒ nil

(Not documented)



209
# File 'lib/llvm/execution_engine_ffi.rb', line 209

attach_function :dispose_execution_engine, :LLVMDisposeExecutionEngine, [OpaqueExecutionEngine], :void

.dispose_generic_value(gen_val) ⇒ nil

(Not documented)



135
# File 'lib/llvm/execution_engine_ffi.rb', line 135

attach_function :dispose_generic_value, :LLVMDisposeGenericValue, [OpaqueGenericValue], :void

.dispose_mcjit_memory_manager(mm) ⇒ nil

(Not documented)



420
# File 'lib/llvm/execution_engine_ffi.rb', line 420

attach_function :dispose_mcjit_memory_manager, :LLVMDisposeMCJITMemoryManager, [OpaqueMCJITMemoryManager], :void

.dispose_memory_buffer(mem_buf) ⇒ nil

(Not documented)



5515
# File 'lib/llvm/core_ffi.rb', line 5515

attach_function :dispose_memory_buffer, :LLVMDisposeMemoryBuffer, [:pointer], :void

.dispose_message(message) ⇒ nil

(Not documented)



852
# File 'lib/llvm/core_ffi.rb', line 852

attach_function :dispose_message, :LLVMDisposeMessage, [:string], :void

.dispose_module(m) ⇒ nil

Destroy a module instance.

This must be called for every created module or memory will be leaked.



1017
# File 'lib/llvm/core_ffi.rb', line 1017

attach_function :dispose_module, :LLVMDisposeModule, [:pointer], :void

.dispose_module_provider(m) ⇒ nil

Destroys the module M.



5449
# File 'lib/llvm/core_ffi.rb', line 5449

attach_function :dispose_module_provider, :LLVMDisposeModuleProvider, [:pointer], :void

.dispose_pass_manager(pm) ⇒ nil

Frees the memory of a pass pipeline. For function pipelines, does not free

the module provider.
@see llvm::PassManagerBase::~PassManagerBase.


5605
# File 'lib/llvm/core_ffi.rb', line 5605

attach_function :dispose_pass_manager, :LLVMDisposePassManager, [:pointer], :void

.dispose_target_data(td) ⇒ nil

(Not documented)



144
# File 'lib/llvm/target_ffi.rb', line 144

attach_function :dispose_target_data, :LLVMDisposeTargetData, [OpaqueTargetData], :void

.dispose_target_machine(t) ⇒ nil

Dispose the LLVMTargetMachineRef instance generated by

LLVMCreateTargetMachine.


528
# File 'lib/llvm/target_ffi.rb', line 528

attach_function :dispose_target_machine, :LLVMDisposeTargetMachine, [OpaqueTargetMachine], :void

.double_typeFFI::Pointer(TypeRef)

(Not documented)



1473
# File 'lib/llvm/core_ffi.rb', line 1473

attach_function :double_type, :LLVMDoubleType, [], :pointer

.double_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 64-bit floating point type from a context.



1425
# File 'lib/llvm/core_ffi.rb', line 1425

attach_function :double_type_in_context, :LLVMDoubleTypeInContext, [:pointer], :pointer

.dump_module(m) ⇒ nil

Dump a representation of a module to stderr.

See Also:

  • Module::dump()


1069
# File 'lib/llvm/core_ffi.rb', line 1069

attach_function :dump_module, :LLVMDumpModule, [:pointer], :void

.dump_type(val) ⇒ nil

Dump a representation of a type to stderr.

See Also:

  • llvmllvm::Typellvm::Type::dump()


1274
# File 'lib/llvm/core_ffi.rb', line 1274

attach_function :dump_type, :LLVMDumpType, [:pointer], :void

.dump_value(val) ⇒ nil

Dump a representation of a value to stderr.

See Also:

  • llvmllvm::Valuellvm::Value::dump()


1826
# File 'lib/llvm/core_ffi.rb', line 1826

attach_function :dump_value, :LLVMDumpValue, [:pointer], :void

.element_at_offset(td, struct_ty, offset) ⇒ Integer

(Not documented)



295
# File 'lib/llvm/target_ffi.rb', line 295

attach_function :element_at_offset, :LLVMElementAtOffset, [OpaqueTargetData, :pointer, :ulong_long], :uint

.finalize_function_pass_manager(fpm) ⇒ Integer

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

manager. Returns 1 if any of the passes modified the module, 0 otherwise.
@see llvm::FunctionPassManager::doFinalization


5595
# File 'lib/llvm/core_ffi.rb', line 5595

attach_function :finalize_function_pass_manager, :LLVMFinalizeFunctionPassManager, [:pointer], :int

.find_function(ee, name, out_fn) ⇒ Integer

(Not documented)



287
# File 'lib/llvm/execution_engine_ffi.rb', line 287

attach_function :find_function, :LLVMFindFunction, [OpaqueExecutionEngine, :string, :pointer], :int

.float_typeFFI::Pointer(TypeRef)

(Not documented)



1466
# File 'lib/llvm/core_ffi.rb', line 1466

attach_function :float_type, :LLVMFloatType, [], :pointer

.float_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 32-bit floating point type from a context.



1417
# File 'lib/llvm/core_ffi.rb', line 1417

attach_function :float_type_in_context, :LLVMFloatTypeInContext, [:pointer], :pointer

.fp128_typeFFI::Pointer(TypeRef)

(Not documented)



1487
# File 'lib/llvm/core_ffi.rb', line 1487

attach_function :fp128_type, :LLVMFP128Type, [], :pointer

.fp128_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 128-bit floating point type (112-bit mantissa) from a context.



1442
# File 'lib/llvm/core_ffi.rb', line 1442

attach_function :fp128_type_in_context, :LLVMFP128TypeInContext, [:pointer], :pointer

.free_machine_code_for_function(ee, f) ⇒ nil

(Not documented)



257
# File 'lib/llvm/execution_engine_ffi.rb', line 257

attach_function :free_machine_code_for_function, :LLVMFreeMachineCodeForFunction, [OpaqueExecutionEngine, :pointer], :void

.function_type(return_type, param_types, param_count, is_var_arg) ⇒ FFI::Pointer(TypeRef)

Obtain a function type consisting of a specified signature.

The function is defined as a tuple of a return Type, a list of parameter types, and whether the function is variadic.



1508
# File 'lib/llvm/core_ffi.rb', line 1508

attach_function :function_type, :LLVMFunctionType, [:pointer, :pointer, :uint, :int], :pointer

.generic_value_int_width(gen_val_ref) ⇒ Integer

(Not documented)



101
# File 'lib/llvm/execution_engine_ffi.rb', line 101

attach_function :generic_value_int_width, :LLVMGenericValueIntWidth, [OpaqueGenericValue], :uint

.generic_value_to_float(ty_ref, gen_val) ⇒ Float

(Not documented)



127
# File 'lib/llvm/execution_engine_ffi.rb', line 127

attach_function :generic_value_to_float, :LLVMGenericValueToFloat, [:pointer, OpaqueGenericValue], :double

.generic_value_to_int(gen_val, is_signed) ⇒ Integer

(Not documented)



110
# File 'lib/llvm/execution_engine_ffi.rb', line 110

attach_function :generic_value_to_int, :LLVMGenericValueToInt, [OpaqueGenericValue, :int], :ulong_long

.generic_value_to_pointer(gen_val) ⇒ FFI::Pointer(*Void)

(Not documented)



118
# File 'lib/llvm/execution_engine_ffi.rb', line 118

attach_function :generic_value_to_pointer, :LLVMGenericValueToPointer, [OpaqueGenericValue], :pointer

.get_alignment(v) ⇒ Integer

Obtain the preferred alignment of the value.

See Also:

  • llvmllvm::AllocaInstllvm::AllocaInst::getAlignment()
  • llvmllvm::LoadInstllvm::LoadInst::getAlignment()
  • llvmllvm::StoreInstllvm::StoreInst::getAlignment()
  • llvmllvm::GlobalValuellvm::GlobalValue::getAlignment()


3321
# File 'lib/llvm/core_ffi.rb', line 3321

attach_function :get_alignment, :LLVMGetAlignment, [:pointer], :uint

.get_array_length(array_ty) ⇒ Integer

Obtain the length of an array type.

This only works on types that represent arrays.

See Also:

  • llvmllvm::ArrayTypellvm::ArrayType::getNumElements()


1686
# File 'lib/llvm/core_ffi.rb', line 1686

attach_function :get_array_length, :LLVMGetArrayLength, [:pointer], :uint

.get_as_string(c, out) ⇒ String

Get the given constant data sequential as a string.

See Also:

  • ConstantDataSequential::getAsString()


2795
# File 'lib/llvm/core_ffi.rb', line 2795

attach_function :get_as_string, :LLVMGetAsString, [:pointer, :pointer], :string

.get_basic_block_parent(bb) ⇒ FFI::Pointer(ValueRef)

Obtain the function to which a basic block belongs.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::getParent()


3825
# File 'lib/llvm/core_ffi.rb', line 3825

attach_function :get_basic_block_parent, :LLVMGetBasicBlockParent, [:pointer], :pointer

.get_basic_block_terminator(bb) ⇒ FFI::Pointer(ValueRef)

Obtain the terminator instruction for a basic block.

If the basic block does not have a terminator (it is not well-formed if it doesn’t), then NULL is returned.

The returned LLVMValueRef corresponds to a llvm::TerminatorInst.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::getTerminator()


3840
# File 'lib/llvm/core_ffi.rb', line 3840

attach_function :get_basic_block_terminator, :LLVMGetBasicBlockTerminator, [:pointer], :pointer

.get_basic_blocks(fn, basic_blocks) ⇒ nil

Obtain all of the basic blocks in a function.

This operates on a function value. The BasicBlocks parameter is a pointer to a pre-allocated array of LLVMBasicBlockRef of at least LLVMCountBasicBlocks() in length. This array is populated with LLVMBasicBlockRef instances.



3864
# File 'lib/llvm/core_ffi.rb', line 3864

attach_function :get_basic_blocks, :LLVMGetBasicBlocks, [:pointer, :pointer], :void

.get_bitcode_module(mem_buf, out_m, out_message) ⇒ Integer

(Not documented)



84
# File 'lib/llvm/core/bitcode_ffi.rb', line 84

attach_function :get_bitcode_module, :LLVMGetBitcodeModule, [:pointer, :pointer, :pointer], :int

.get_bitcode_module2(mem_buf, out_m) ⇒ Integer

(Not documented)



93
# File 'lib/llvm/core/bitcode_ffi.rb', line 93

attach_function :get_bitcode_module2, :LLVMGetBitcodeModule2, [:pointer, :pointer], :int

.get_bitcode_module_in_context(context_ref, mem_buf, out_m, out_message) ⇒ Integer

(Not documented)



64
# File 'lib/llvm/core/bitcode_ffi.rb', line 64

attach_function :get_bitcode_module_in_context, :LLVMGetBitcodeModuleInContext, [:pointer, :pointer, :pointer, :pointer], :int

.get_bitcode_module_in_context2(context_ref, mem_buf, out_m) ⇒ Integer

(Not documented)



74
# File 'lib/llvm/core/bitcode_ffi.rb', line 74

attach_function :get_bitcode_module_in_context2, :LLVMGetBitcodeModuleInContext2, [:pointer, :pointer, :pointer], :int

.get_buffer_size(mem_buf) ⇒ Integer

(Not documented)



5507
# File 'lib/llvm/core_ffi.rb', line 5507

attach_function :get_buffer_size, :LLVMGetBufferSize, [:pointer], :ulong

.get_buffer_start(mem_buf) ⇒ String

(Not documented)



5499
# File 'lib/llvm/core_ffi.rb', line 5499

attach_function :get_buffer_start, :LLVMGetBufferStart, [:pointer], :string

.get_condition(branch) ⇒ FFI::Pointer(ValueRef)

Return the condition of a branch instruction.

This only works on llvm::BranchInst instructions.

See Also:

  • llvmllvm::BranchInstllvm::BranchInst::getCondition


4276
# File 'lib/llvm/core_ffi.rb', line 4276

attach_function :get_condition, :LLVMGetCondition, [:pointer], :pointer

.get_const_opcode(constant_val) ⇒ Symbol from _enum_opcode_

Functions in this group correspond to APIs on llvm::ConstantExpr.

@{

See Also:

  • llvm::ConstantExpr.


2883
# File 'lib/llvm/core_ffi.rb', line 2883

attach_function :get_const_opcode, :LLVMGetConstOpcode, [:pointer], :opcode

.get_current_debug_location(builder) ⇒ FFI::Pointer(ValueRef)

(Not documented)



4446
# File 'lib/llvm/core_ffi.rb', line 4446

attach_function :get_current_debug_location, :LLVMGetCurrentDebugLocation, [:pointer], :pointer

.get_data_layout(m) ⇒ String

Obtain the data layout for a module.

See Also:

  • Module::getDataLayout()


1027
# File 'lib/llvm/core_ffi.rb', line 1027

attach_function :get_data_layout, :LLVMGetDataLayout, [:pointer], :string

.get_default_target_tripleString

Get a triple for the host machine as a string. The result needs to be

disposed with LLVMDisposeMessage.


617
# File 'lib/llvm/target_ffi.rb', line 617

attach_function :get_default_target_triple, :LLVMGetDefaultTargetTriple, [], :string

.get_diag_info_description(di) ⇒ String

Return a string representation of the DiagnosticInfo. Use LLVMDisposeMessage to free the string.

See Also:

  • DiagnosticInfo::print()


943
# File 'lib/llvm/core_ffi.rb', line 943

attach_function :get_diag_info_description, :LLVMGetDiagInfoDescription, [:pointer], :string

.get_diag_info_severity(di) ⇒ Symbol from _enum_diagnostic_severity_

Return an enum LLVMDiagnosticSeverity.

See Also:

  • DiagnosticInfo::getSeverity()


953
# File 'lib/llvm/core_ffi.rb', line 953

attach_function :get_diag_info_severity, :LLVMGetDiagInfoSeverity, [:pointer], :diagnostic_severity

.get_dll_storage_class(global) ⇒ Symbol from _enum_dll_storage_class_

(Not documented)



3283
# File 'lib/llvm/core_ffi.rb', line 3283

attach_function :get_dll_storage_class, :LLVMGetDLLStorageClass, [:pointer], :dll_storage_class

.get_element_as_constant(c, idx) ⇒ FFI::Pointer(ValueRef)

Get an element at specified index as a constant.

See Also:

  • ConstantDataSequential::getElementAsConstant()


2858
# File 'lib/llvm/core_ffi.rb', line 2858

attach_function :get_element_as_constant, :LLVMGetElementAsConstant, [:pointer, :uint], :pointer

.get_element_type(ty) ⇒ FFI::Pointer(TypeRef)

Obtain the type of elements within a sequential type.

This works on array, vector, and pointer types.

See Also:

  • llvmllvm::SequentialTypellvm::SequentialType::getElementType()


1660
# File 'lib/llvm/core_ffi.rb', line 1660

attach_function :get_element_type, :LLVMGetElementType, [:pointer], :pointer

.get_entry_basic_block(fn) ⇒ FFI::Pointer(BasicBlockRef)

Obtain the basic block that corresponds to the entry point of a function.

See Also:

  • llvmllvm::Functionllvm::Function::getEntryBlock()


3914
# File 'lib/llvm/core_ffi.rb', line 3914

attach_function :get_entry_basic_block, :LLVMGetEntryBasicBlock, [:pointer], :pointer

.get_execution_engine_target_data(ee) ⇒ FFI::Pointer(TargetDataRef)

(Not documented)



304
# File 'lib/llvm/execution_engine_ffi.rb', line 304

attach_function :get_execution_engine_target_data, :LLVMGetExecutionEngineTargetData, [OpaqueExecutionEngine], :pointer

.get_execution_engine_target_machine(ee) ⇒ FFI::Pointer(TargetMachineRef)

(Not documented)



312
# File 'lib/llvm/execution_engine_ffi.rb', line 312

attach_function :get_execution_engine_target_machine, :LLVMGetExecutionEngineTargetMachine, [OpaqueExecutionEngine], :pointer

.get_f_cmp_predicate(inst) ⇒ Symbol from _enum_real_predicate_

Obtain the float predicate of an instruction.

This is only valid for instructions that correspond to llvm::FCmpInst or llvm::ConstantExpr whose opcode is llvm::Instruction::FCmp.

See Also:

  • llvmllvm::FCmpInstllvm::FCmpInst::getPredicate()


4143
# File 'lib/llvm/core_ffi.rb', line 4143

attach_function :get_f_cmp_predicate, :LLVMGetFCmpPredicate, [:pointer], :real_predicate

.get_first_basic_block(fn) ⇒ FFI::Pointer(BasicBlockRef)

Obtain the first basic block in a function.

The returned basic block can be used as an iterator. You will likely eventually call into LLVMGetNextBasicBlock() with it.

See Also:

  • llvmllvm::Functionllvm::Function::begin()


3877
# File 'lib/llvm/core_ffi.rb', line 3877

attach_function :get_first_basic_block, :LLVMGetFirstBasicBlock, [:pointer], :pointer

.get_first_function(m) ⇒ FFI::Pointer(ValueRef)

Obtain an iterator to the first Function in a Module.

See Also:

  • llvmllvm::Modulellvm::Module::begin()


1200
# File 'lib/llvm/core_ffi.rb', line 1200

attach_function :get_first_function, :LLVMGetFirstFunction, [:pointer], :pointer

.get_first_global(m) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3378
# File 'lib/llvm/core_ffi.rb', line 3378

attach_function :get_first_global, :LLVMGetFirstGlobal, [:pointer], :pointer

.get_first_instruction(bb) ⇒ FFI::Pointer(ValueRef)

Obtain the first instruction in a basic block.

The returned LLVMValueRef corresponds to a llvm::Instruction instance.



4023
# File 'lib/llvm/core_ffi.rb', line 4023

attach_function :get_first_instruction, :LLVMGetFirstInstruction, [:pointer], :pointer

.get_first_param(fn) ⇒ FFI::Pointer(ValueRef)

Obtain the first parameter to a function.

See Also:

  • llvmllvm::Functionllvm::Function::arg_begin()


3660
# File 'lib/llvm/core_ffi.rb', line 3660

attach_function :get_first_param, :LLVMGetFirstParam, [:pointer], :pointer

.get_first_targetTarget

Returns the first llvm::Target in the registered targets list.



436
# File 'lib/llvm/target_ffi.rb', line 436

attach_function :get_first_target, :LLVMGetFirstTarget, [], Target

.get_first_use(val) ⇒ FFI::Pointer(UseRef)

Obtain the first use of a value.

Uses are obtained in an iterator fashion. First, call this function to obtain a reference to the first use. Then, call LLVMGetNextUse() on that instance and all subsequently obtained instances until LLVMGetNextUse() returns NULL.

See Also:

  • llvmllvm::Valuellvm::Value::use_begin()


2503
# File 'lib/llvm/core_ffi.rb', line 2503

attach_function :get_first_use, :LLVMGetFirstUse, [:pointer], :pointer

.get_function_address(ee, name) ⇒ Integer

(Not documented)



349
# File 'lib/llvm/execution_engine_ffi.rb', line 349

attach_function :get_function_address, :LLVMGetFunctionAddress, [OpaqueExecutionEngine, :string], :ulong

.get_function_call_conv(fn) ⇒ Integer

Obtain the calling function of a function.

The returned value corresponds to the LLVMCallConv enumeration.

See Also:

  • llvmllvm::Functionllvm::Function::getCallingConv()


3549
# File 'lib/llvm/core_ffi.rb', line 3549

attach_function :get_function_call_conv, :LLVMGetFunctionCallConv, [:pointer], :uint

.get_gc(fn) ⇒ String

Obtain the name of the garbage collector to use during code generation.

See Also:

  • llvmllvm::Functionllvm::Function::getGC()


3574
# File 'lib/llvm/core_ffi.rb', line 3574

attach_function :get_gc, :LLVMGetGC, [:pointer], :string

.get_global_contextFFI::Pointer(ContextRef)

Obtain the global context instance.



899
# File 'lib/llvm/core_ffi.rb', line 899

attach_function :get_global_context, :LLVMGetGlobalContext, [], :pointer

.get_global_parent(global) ⇒ FFI::Pointer(ModuleRef)

This group contains functions that operate on global values. Functions in this group relate to functions in the llvm::GlobalValue class tree.

@{

See Also:

  • llvmllvm::GlobalValue


3216
# File 'lib/llvm/core_ffi.rb', line 3216

attach_function :get_global_parent, :LLVMGetGlobalParent, [:pointer], :pointer

.get_global_pass_registryFFI::Pointer(PassRegistryRef)

Return the global pass registry, for use with initialization functions.

@see llvm::PassRegistry::getPassRegistry


5523
# File 'lib/llvm/core_ffi.rb', line 5523

attach_function :get_global_pass_registry, :LLVMGetGlobalPassRegistry, [], :pointer

.get_global_value_address(ee, name) ⇒ Integer

(Not documented)



340
# File 'lib/llvm/execution_engine_ffi.rb', line 340

attach_function :get_global_value_address, :LLVMGetGlobalValueAddress, [OpaqueExecutionEngine, :string], :ulong

.get_i_cmp_predicate(inst) ⇒ Symbol from _enum_int_predicate_

Obtain the predicate of an instruction.

This is only valid for instructions that correspond to llvm::ICmpInst or llvm::ConstantExpr whose opcode is llvm::Instruction::ICmp.

See Also:

  • llvmllvm::ICmpInstllvm::ICmpInst::getPredicate()


4130
# File 'lib/llvm/core_ffi.rb', line 4130

attach_function :get_i_cmp_predicate, :LLVMGetICmpPredicate, [:pointer], :int_predicate

.get_incoming_block(phi_node, index) ⇒ FFI::Pointer(BasicBlockRef)

Obtain an incoming value to a PHI node as an LLVMBasicBlockRef.



4338
# File 'lib/llvm/core_ffi.rb', line 4338

attach_function :get_incoming_block, :LLVMGetIncomingBlock, [:pointer, :uint], :pointer

.get_incoming_value(phi_node, index) ⇒ FFI::Pointer(ValueRef)

Obtain an incoming value to a PHI node as an LLVMValueRef.



4329
# File 'lib/llvm/core_ffi.rb', line 4329

attach_function :get_incoming_value, :LLVMGetIncomingValue, [:pointer, :uint], :pointer

.get_initializer(global_var) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3418
# File 'lib/llvm/core_ffi.rb', line 3418

attach_function :get_initializer, :LLVMGetInitializer, [:pointer], :pointer

.get_insert_block(builder) ⇒ FFI::Pointer(BasicBlockRef)

(Not documented)



4394
# File 'lib/llvm/core_ffi.rb', line 4394

attach_function :get_insert_block, :LLVMGetInsertBlock, [:pointer], :pointer

.get_instruction_call_conv(instr) ⇒ Integer

Obtain the calling convention for a call instruction.

This is the opposite of LLVMSetInstructionCallConv(). Reads its usage.

See Also:

  • LLVMSetInstructionCallConv()


4184
# File 'lib/llvm/core_ffi.rb', line 4184

attach_function :get_instruction_call_conv, :LLVMGetInstructionCallConv, [:pointer], :uint

.get_instruction_opcode(inst) ⇒ Symbol from _enum_opcode_

Obtain the code opcode for an individual instruction.

See Also:

  • llvmllvm::Instructionllvm::Instruction::getOpCode()


4117
# File 'lib/llvm/core_ffi.rb', line 4117

attach_function :get_instruction_opcode, :LLVMGetInstructionOpcode, [:pointer], :opcode

.get_instruction_parent(inst) ⇒ FFI::Pointer(BasicBlockRef)

Obtain the basic block to which an instruction belongs.

See Also:

  • llvmllvm::Instructionllvm::Instruction::getParent()


4070
# File 'lib/llvm/core_ffi.rb', line 4070

attach_function :get_instruction_parent, :LLVMGetInstructionParent, [:pointer], :pointer

.get_int_type_width(integer_ty) ⇒ Integer

(Not documented)



1401
# File 'lib/llvm/core_ffi.rb', line 1401

attach_function :get_int_type_width, :LLVMGetIntTypeWidth, [:pointer], :uint

.get_intrinsic_id(fn) ⇒ Integer

Obtain the ID number from a function instance.

See Also:

  • llvmllvm::Functionllvm::Function::getIntrinsicID()


3537
# File 'lib/llvm/core_ffi.rb', line 3537

attach_function :get_intrinsic_id, :LLVMGetIntrinsicID, [:pointer], :uint

.get_last_basic_block(fn) ⇒ FFI::Pointer(BasicBlockRef)

Obtain the last basic block in a function.

See Also:

  • llvmllvm::Functionllvm::Function::end()


3887
# File 'lib/llvm/core_ffi.rb', line 3887

attach_function :get_last_basic_block, :LLVMGetLastBasicBlock, [:pointer], :pointer

.get_last_function(m) ⇒ FFI::Pointer(ValueRef)

Obtain an iterator to the last Function in a Module.

See Also:

  • llvmllvm::Modulellvm::Module::end()


1210
# File 'lib/llvm/core_ffi.rb', line 1210

attach_function :get_last_function, :LLVMGetLastFunction, [:pointer], :pointer

.get_last_global(m) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3386
# File 'lib/llvm/core_ffi.rb', line 3386

attach_function :get_last_global, :LLVMGetLastGlobal, [:pointer], :pointer

.get_last_instruction(bb) ⇒ FFI::Pointer(ValueRef)

Obtain the last instruction in a basic block.

The returned LLVMValueRef corresponds to an LLVM:Instruction.



4033
# File 'lib/llvm/core_ffi.rb', line 4033

attach_function :get_last_instruction, :LLVMGetLastInstruction, [:pointer], :pointer

.get_last_param(fn) ⇒ FFI::Pointer(ValueRef)

Obtain the last parameter to a function.

See Also:

  • llvmllvm::Functionllvm::Function::arg_end()


3670
# File 'lib/llvm/core_ffi.rb', line 3670

attach_function :get_last_param, :LLVMGetLastParam, [:pointer], :pointer

.get_linkage(global) ⇒ Symbol from _enum_linkage_

(Not documented)



3232
# File 'lib/llvm/core_ffi.rb', line 3232

attach_function :get_linkage, :LLVMGetLinkage, [:pointer], :linkage

.get_md_kind_id(name, s_len) ⇒ Integer

(Not documented)



972
# File 'lib/llvm/core_ffi.rb', line 972

attach_function :get_md_kind_id, :LLVMGetMDKindID, [:string, :uint], :uint

.get_md_kind_id_in_context(c, name, s_len) ⇒ Integer

(Not documented)



963
# File 'lib/llvm/core_ffi.rb', line 963

attach_function :get_md_kind_id_in_context, :LLVMGetMDKindIDInContext, [:pointer, :string, :uint], :uint

.get_md_node_num_operands(v) ⇒ Object

Obtain the number of operands from an MDNode value.



3774
# File 'lib/llvm/core_ffi.rb', line 3774

attach_function :get_md_node_num_operands, :LLVMGetMDNodeNumOperands, [:pointer], :uint

.get_md_node_operands(v, dest) ⇒ nil

Obtain the given MDNode’s operands.

The passed LLVMValueRef pointer should point to enough memory to hold all of the operands of the given MDNode (see LLVMGetMDNodeNumOperands) as LLVMValueRefs. This memory will be populated with the LLVMValueRefs of the MDNode’s operands.



3791
# File 'lib/llvm/core_ffi.rb', line 3791

attach_function :get_md_node_operands, :LLVMGetMDNodeOperands, [:pointer, :pointer], :void

.get_md_string(v, len) ⇒ Object

Obtain the underlying string from a MDString value.



3763
# File 'lib/llvm/core_ffi.rb', line 3763

attach_function :get_md_string, :LLVMGetMDString, [:pointer, :pointer], :string

.get_metadata(val, kind_id) ⇒ FFI::Pointer(ValueRef)

Return metadata associated with an instruction value.



4050
# File 'lib/llvm/core_ffi.rb', line 4050

attach_function :get_metadata, :LLVMGetMetadata, [:pointer, :uint], :pointer

.get_module_context(m) ⇒ FFI::Pointer(ContextRef)

Obtain the context to which this module is associated.

See Also:

  • Module::getContext()


1114
# File 'lib/llvm/core_ffi.rb', line 1114

attach_function :get_module_context, :LLVMGetModuleContext, [:pointer], :pointer

.get_module_data_layout(m) ⇒ OpaqueTargetData

(Not documented)



119
# File 'lib/llvm/target_ffi.rb', line 119

attach_function :get_module_data_layout, :LLVMGetModuleDataLayout, [:pointer], OpaqueTargetData

.get_named_function(m, name) ⇒ FFI::Pointer(ValueRef)

Obtain a Function value from a Module by its name.

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

See Also:

  • llvmllvm::Modulellvm::Module::getFunction()


1190
# File 'lib/llvm/core_ffi.rb', line 1190

attach_function :get_named_function, :LLVMGetNamedFunction, [:pointer, :string], :pointer

.get_named_global(m, name) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3370
# File 'lib/llvm/core_ffi.rb', line 3370

attach_function :get_named_global, :LLVMGetNamedGlobal, [:pointer, :string], :pointer

.get_named_metadata_num_operands(m, name) ⇒ Integer

Obtain the number of operands for named metadata in a module.

See Also:

  • llvmllvm::Modulellvm::Module::getNamedMetadata()


1134
# File 'lib/llvm/core_ffi.rb', line 1134

attach_function :get_named_metadata_num_operands, :LLVMGetNamedMetadataNumOperands, [:pointer, :string], :uint

.get_named_metadata_operands(m, name, dest) ⇒ nil

Obtain the named metadata operands for a module.

The passed LLVMValueRef pointer should refer to an array of LLVMValueRef at least LLVMGetNamedMetadataNumOperands long. This array will be populated with the LLVMValueRef instances. Each instance corresponds to a llvm::MDNode.

See Also:

  • llvmllvm::Modulellvm::Module::getNamedMetadata()
  • llvmllvm::MDNodellvm::MDNode::getOperand()


1152
# File 'lib/llvm/core_ffi.rb', line 1152

attach_function :get_named_metadata_operands, :LLVMGetNamedMetadataOperands, [:pointer, :string, :pointer], :void

.get_next_basic_block(bb) ⇒ FFI::Pointer(BasicBlockRef)

Advance a basic block iterator.



3895
# File 'lib/llvm/core_ffi.rb', line 3895

attach_function :get_next_basic_block, :LLVMGetNextBasicBlock, [:pointer], :pointer

.get_next_function(fn) ⇒ FFI::Pointer(ValueRef)

Advance a Function iterator to the next Function.

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



1221
# File 'lib/llvm/core_ffi.rb', line 1221

attach_function :get_next_function, :LLVMGetNextFunction, [:pointer], :pointer

.get_next_global(global_var) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3394
# File 'lib/llvm/core_ffi.rb', line 3394

attach_function :get_next_global, :LLVMGetNextGlobal, [:pointer], :pointer

.get_next_instruction(inst) ⇒ FFI::Pointer(ValueRef)

Obtain the instruction that occurs after the one specified.

The next instruction will be from the same basic block.

If this is the last instruction in a basic block, NULL will be returned.



4083
# File 'lib/llvm/core_ffi.rb', line 4083

attach_function :get_next_instruction, :LLVMGetNextInstruction, [:pointer], :pointer

.get_next_param(arg) ⇒ FFI::Pointer(ValueRef)

Obtain the next parameter to a function.

This takes an LLVMValueRef obtained from LLVMGetFirstParam() (which is actually a wrapped iterator) and obtains the next parameter from the underlying iterator.



3682
# File 'lib/llvm/core_ffi.rb', line 3682

attach_function :get_next_param, :LLVMGetNextParam, [:pointer], :pointer

.get_next_target(t) ⇒ Target

Returns the next llvm::Target given a previous one (or null if there’s none)



444
# File 'lib/llvm/target_ffi.rb', line 444

attach_function :get_next_target, :LLVMGetNextTarget, [Target], Target

.get_next_use(u) ⇒ FFI::Pointer(UseRef)

Obtain the next use of a value.

This effectively advances the iterator. It returns NULL if you are on the final use and no more are available.



2514
# File 'lib/llvm/core_ffi.rb', line 2514

attach_function :get_next_use, :LLVMGetNextUse, [:pointer], :pointer

.get_num_operands(val) ⇒ Integer

Obtain the number of operands in a llvm::User value.

See Also:

  • llvmllvm::Userllvm::User::getNumOperands()


2580
# File 'lib/llvm/core_ffi.rb', line 2580

attach_function :get_num_operands, :LLVMGetNumOperands, [:pointer], :int

.get_num_successors(term) ⇒ Integer

Return the number of successors that this terminator has.

See Also:

  • llvmllvm::TerminatorInstllvm::TerminatorInst::getNumSuccessors


4229
# File 'lib/llvm/core_ffi.rb', line 4229

attach_function :get_num_successors, :LLVMGetNumSuccessors, [:pointer], :uint

.get_operand(val, index) ⇒ FFI::Pointer(ValueRef)

Obtain an operand at a specific index in a llvm::User value.

See Also:

  • llvmllvm::Userllvm::User::getOperand()


2547
# File 'lib/llvm/core_ffi.rb', line 2547

attach_function :get_operand, :LLVMGetOperand, [:pointer, :uint], :pointer

.get_operand_use(val, index) ⇒ FFI::Pointer(UseRef)

Obtain the use of an operand at a specific index in a llvm::User value.

See Also:

  • llvmllvm::Userllvm::User::getOperandUse()


2558
# File 'lib/llvm/core_ffi.rb', line 2558

attach_function :get_operand_use, :LLVMGetOperandUse, [:pointer, :uint], :pointer

.get_ordering(memory_access_inst) ⇒ Symbol from _enum_atomic_ordering_

(Not documented)



5032
# File 'lib/llvm/core_ffi.rb', line 5032

attach_function :get_ordering, :LLVMGetOrdering, [:pointer], :atomic_ordering

.get_param(fn, index) ⇒ FFI::Pointer(ValueRef)

Obtain the parameter at the specified index.

Parameters are indexed from 0.

See Also:

  • llvmllvm::Functionllvm::Function::arg_begin()


3636
# File 'lib/llvm/core_ffi.rb', line 3636

attach_function :get_param, :LLVMGetParam, [:pointer, :uint], :pointer

.get_param_parent(inst) ⇒ FFI::Pointer(ValueRef)

Obtain the function to which this argument belongs.

Unlike other functions in this group, this one takes an LLVMValueRef that corresponds to a llvm::Attribute.

The returned LLVMValueRef is the llvm::Function to which this argument belongs.



3650
# File 'lib/llvm/core_ffi.rb', line 3650

attach_function :get_param_parent, :LLVMGetParamParent, [:pointer], :pointer

.get_param_types(function_ty, dest) ⇒ nil

Obtain the types of a function’s parameters.

The Dest parameter should point to a pre-allocated array of LLVMTypeRef at least LLVMCountParamTypes() large. On return, the first LLVMCountParamTypes() entries in the array will be populated with LLVMTypeRef instances.



1549
# File 'lib/llvm/core_ffi.rb', line 1549

attach_function :get_param_types, :LLVMGetParamTypes, [:pointer, :pointer], :void

.get_params(fn, params) ⇒ nil

Obtain the parameters in a function.

The takes a pointer to a pre-allocated array of LLVMValueRef that is at least LLVMCountParams() long. This array will be filled with LLVMValueRef instances which correspond to the parameters the function receives. Each LLVMValueRef corresponds to a llvm::Argument instance.

See Also:

  • llvmllvm::Functionllvm::Function::arg_begin()


3623
# File 'lib/llvm/core_ffi.rb', line 3623

attach_function :get_params, :LLVMGetParams, [:pointer, :pointer], :void

.get_personality_fn(fn) ⇒ FFI::Pointer(ValueRef)

Obtain the personality function attached to the function.

See Also:

  • llvmllvm::Functionllvm::Function::getPersonalityFn()


3516
# File 'lib/llvm/core_ffi.rb', line 3516

attach_function :get_personality_fn, :LLVMGetPersonalityFn, [:pointer], :pointer

.get_pointer_address_space(pointer_ty) ⇒ Integer

Obtain the address space of a pointer type.

This only works on types that represent pointers.

See Also:

  • llvmllvm::PointerTypellvm::PointerType::getAddressSpace()


1712
# File 'lib/llvm/core_ffi.rb', line 1712

attach_function :get_pointer_address_space, :LLVMGetPointerAddressSpace, [:pointer], :uint

.get_pointer_to_global(ee, global) ⇒ FFI::Pointer(*Void)

(Not documented)



331
# File 'lib/llvm/execution_engine_ffi.rb', line 331

attach_function :get_pointer_to_global, :LLVMGetPointerToGlobal, [OpaqueExecutionEngine, :pointer], :pointer

.get_previous_basic_block(bb) ⇒ FFI::Pointer(BasicBlockRef)

Go backwards in a basic block iterator.



3903
# File 'lib/llvm/core_ffi.rb', line 3903

attach_function :get_previous_basic_block, :LLVMGetPreviousBasicBlock, [:pointer], :pointer

.get_previous_function(fn) ⇒ FFI::Pointer(ValueRef)

Decrement a Function iterator to the previous Function.

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



1232
# File 'lib/llvm/core_ffi.rb', line 1232

attach_function :get_previous_function, :LLVMGetPreviousFunction, [:pointer], :pointer

.get_previous_global(global_var) ⇒ FFI::Pointer(ValueRef)

(Not documented)



3402
# File 'lib/llvm/core_ffi.rb', line 3402

attach_function :get_previous_global, :LLVMGetPreviousGlobal, [:pointer], :pointer

.get_previous_instruction(inst) ⇒ FFI::Pointer(ValueRef)

Obtain the instruction that occurred before this one.

If the instruction is the first instruction in a basic block, NULL will be returned.



4094
# File 'lib/llvm/core_ffi.rb', line 4094

attach_function :get_previous_instruction, :LLVMGetPreviousInstruction, [:pointer], :pointer

.get_previous_param(arg) ⇒ FFI::Pointer(ValueRef)

Obtain the previous parameter to a function.

This is the opposite of LLVMGetNextParam().



3692
# File 'lib/llvm/core_ffi.rb', line 3692

attach_function :get_previous_param, :LLVMGetPreviousParam, [:pointer], :pointer

.get_return_type(function_ty) ⇒ FFI::Pointer(TypeRef)

Obtain the Type this function Type returns.



1524
# File 'lib/llvm/core_ffi.rb', line 1524

attach_function :get_return_type, :LLVMGetReturnType, [:pointer], :pointer

.get_section(global) ⇒ String

(Not documented)



3249
# File 'lib/llvm/core_ffi.rb', line 3249

attach_function :get_section, :LLVMGetSection, [:pointer], :string

.get_struct_element_types(struct_ty, dest) ⇒ nil

Get the elements within a structure.

The function is passed the address of a pre-allocated array of LLVMTypeRef at least LLVMCountStructElementTypes() long. After invocation, this array will be populated with the structure’s elements. The objects in the destination array will have a lifetime of the structure type itself, which is the lifetime of the context it is contained in.



1637
# File 'lib/llvm/core_ffi.rb', line 1637

attach_function :get_struct_element_types, :LLVMGetStructElementTypes, [:pointer, :pointer], :void

.get_struct_name(ty) ⇒ String

Obtain the name of a structure.

See Also:

  • llvmllvm::StructTypellvm::StructType::getName()


1598
# File 'lib/llvm/core_ffi.rb', line 1598

attach_function :get_struct_name, :LLVMGetStructName, [:pointer], :string

.get_successor(term, i) ⇒ FFI::Pointer(BasicBlockRef)

Return the specified successor.

See Also:

  • llvmllvm::TerminatorInstllvm::TerminatorInst::getSuccessor


4240
# File 'lib/llvm/core_ffi.rb', line 4240

attach_function :get_successor, :LLVMGetSuccessor, [:pointer, :uint], :pointer

.get_switch_default_dest(switch_instr) ⇒ FFI::Pointer(BasicBlockRef)

Obtain the default destination basic block of a switch instruction.

This only works on llvm::SwitchInst instructions.

See Also:

  • llvmllvm::SwitchInstllvm::SwitchInst::getDefaultDest()


4301
# File 'lib/llvm/core_ffi.rb', line 4301

attach_function :get_switch_default_dest, :LLVMGetSwitchDefaultDest, [:pointer], :pointer

.get_target(m) ⇒ String

Obtain the target triple for a module.

See Also:

  • Module::getTargetTriple()


1048
# File 'lib/llvm/core_ffi.rb', line 1048

attach_function :get_target, :LLVMGetTarget, [:pointer], :string

.get_target_description(t) ⇒ String

Returns the description of a target. See llvm::Target::getDescription



481
# File 'lib/llvm/target_ffi.rb', line 481

attach_function :get_target_description, :LLVMGetTargetDescription, [Target], :string

.get_target_from_name(name) ⇒ Target

Finds the target corresponding to the given name and stores it in p T.

Returns 0 on success.


453
# File 'lib/llvm/target_ffi.rb', line 453

attach_function :get_target_from_name, :LLVMGetTargetFromName, [:string], Target

.get_target_from_triple(triple, t, error_message) ⇒ Integer

Finds the target corresponding to the given triple and stores it in p T.

Returns 0 on success. Optionally returns any error in ErrorMessage.
Use LLVMDisposeMessage to dispose the message.


465
# File 'lib/llvm/target_ffi.rb', line 465

attach_function :get_target_from_triple, :LLVMGetTargetFromTriple, [:string, :pointer, :pointer], :int

.get_target_machine_cpu(t) ⇒ String

Returns the cpu used creating this target machine. See

llvm::TargetMachine::getCPU. The result needs to be disposed with
LLVMDisposeMessage.


556
# File 'lib/llvm/target_ffi.rb', line 556

attach_function :get_target_machine_cpu, :LLVMGetTargetMachineCPU, [OpaqueTargetMachine], :string

.get_target_machine_feature_string(t) ⇒ String

Returns the feature string used creating this target machine. See

llvm::TargetMachine::getFeatureString. The result needs to be disposed with
LLVMDisposeMessage.


566
# File 'lib/llvm/target_ffi.rb', line 566

attach_function :get_target_machine_feature_string, :LLVMGetTargetMachineFeatureString, [OpaqueTargetMachine], :string

.get_target_machine_target(t) ⇒ Target

Returns the Target used in a TargetMachine



536
# File 'lib/llvm/target_ffi.rb', line 536

attach_function :get_target_machine_target, :LLVMGetTargetMachineTarget, [OpaqueTargetMachine], Target

.get_target_machine_triple(t) ⇒ String

Returns the triple used creating this target machine. See

llvm::TargetMachine::getTriple. The result needs to be disposed with
LLVMDisposeMessage.


546
# File 'lib/llvm/target_ffi.rb', line 546

attach_function :get_target_machine_triple, :LLVMGetTargetMachineTriple, [OpaqueTargetMachine], :string

.get_target_name(t) ⇒ String

Returns the name of a target. See llvm::Target::getName



473
# File 'lib/llvm/target_ffi.rb', line 473

attach_function :get_target_name, :LLVMGetTargetName, [Target], :string

.get_thread_local_mode(global_var) ⇒ Symbol from _enum_thread_local_mode_

(Not documented)



3453
# File 'lib/llvm/core_ffi.rb', line 3453

attach_function :get_thread_local_mode, :LLVMGetThreadLocalMode, [:pointer], :thread_local_mode

.get_type_by_name(m, name) ⇒ FFI::Pointer(TypeRef)

Obtain a Type from a module by its registered name.



1123
# File 'lib/llvm/core_ffi.rb', line 1123

attach_function :get_type_by_name, :LLVMGetTypeByName, [:pointer, :string], :pointer

.get_type_context(ty) ⇒ FFI::Pointer(ContextRef)

Obtain the context to which this type instance is associated.

See Also:

  • llvmllvm::Typellvm::Type::getContext()


1264
# File 'lib/llvm/core_ffi.rb', line 1264

attach_function :get_type_context, :LLVMGetTypeContext, [:pointer], :pointer

.get_type_kind(ty) ⇒ Symbol from _enum_type_kind_

Obtain the enumerated type of a Type instance.

See Also:

  • llvm::Type:getTypeID()


1242
# File 'lib/llvm/core_ffi.rb', line 1242

attach_function :get_type_kind, :LLVMGetTypeKind, [:pointer], :type_kind

.get_undef(ty) ⇒ FFI::Pointer(ValueRef)

Obtain a constant value referring to an undefined value of a type.

See Also:

  • llvmllvm::UndefValuellvm::UndefValue::get()


2613
# File 'lib/llvm/core_ffi.rb', line 2613

attach_function :get_undef, :LLVMGetUndef, [:pointer], :pointer

.get_used_value(u) ⇒ FFI::Pointer(ValueRef)

Obtain the value this use corresponds to.

See Also:

  • llvm::Use::get().


2536
# File 'lib/llvm/core_ffi.rb', line 2536

attach_function :get_used_value, :LLVMGetUsedValue, [:pointer], :pointer

.get_user(u) ⇒ FFI::Pointer(ValueRef)

Obtain the user value for a user.

The returned value corresponds to a llvm::User type.

See Also:

  • llvmllvm::Usellvm::Use::getUser()


2526
# File 'lib/llvm/core_ffi.rb', line 2526

attach_function :get_user, :LLVMGetUser, [:pointer], :pointer

.get_value_name(val) ⇒ String

Obtain the string name of a value.

See Also:

  • llvmllvm::Valuellvm::Value::getName()


1805
# File 'lib/llvm/core_ffi.rb', line 1805

attach_function :get_value_name, :LLVMGetValueName, [:pointer], :string

.get_vector_size(vector_ty) ⇒ Integer

Obtain the number of elements in a vector type.

This only works on types that represent vectors.

See Also:

  • llvmllvm::VectorTypellvm::VectorType::getNumElements()


1739
# File 'lib/llvm/core_ffi.rb', line 1739

attach_function :get_vector_size, :LLVMGetVectorSize, [:pointer], :uint

.get_visibility(global) ⇒ Symbol from _enum_visibility_

(Not documented)



3266
# File 'lib/llvm/core_ffi.rb', line 3266

attach_function :get_visibility, :LLVMGetVisibility, [:pointer], :visibility

.get_volatile(memory_access_inst) ⇒ Integer

(Not documented)



5015
# File 'lib/llvm/core_ffi.rb', line 5015

attach_function :get_volatile, :LLVMGetVolatile, [:pointer], :int

.half_typeFFI::Pointer(TypeRef)

Obtain a floating point type from the global context.

These map to the functions in this group of the same name.



1459
# File 'lib/llvm/core_ffi.rb', line 1459

attach_function :half_type, :LLVMHalfType, [], :pointer

.half_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 16-bit floating point type from a context.



1409
# File 'lib/llvm/core_ffi.rb', line 1409

attach_function :half_type_in_context, :LLVMHalfTypeInContext, [:pointer], :pointer

.has_metadata(val) ⇒ Integer

Determine whether an instruction has any metadata attached.



4041
# File 'lib/llvm/core_ffi.rb', line 4041

attach_function :has_metadata, :LLVMHasMetadata, [:pointer], :int

.has_unnamed_addr(global) ⇒ Integer

(Not documented)



3300
# File 'lib/llvm/core_ffi.rb', line 3300

attach_function :has_unnamed_addr, :LLVMHasUnnamedAddr, [:pointer], :int

.initialize_all_asm_parsersnil

(Not documented)



76
# File 'lib/llvm/target_ffi.rb', line 76

attach_function :initialize_all_asm_parsers, :LLVMInitializeAllAsmParsers, [], :void

.initialize_all_asm_printersnil

(Not documented)



69
# File 'lib/llvm/target_ffi.rb', line 69

attach_function :initialize_all_asm_printers, :LLVMInitializeAllAsmPrinters, [], :void

.initialize_all_disassemblersnil

(Not documented)



83
# File 'lib/llvm/target_ffi.rb', line 83

attach_function :initialize_all_disassemblers, :LLVMInitializeAllDisassemblers, [], :void

.initialize_all_target_infosnil

(Not documented)



48
# File 'lib/llvm/target_ffi.rb', line 48

attach_function :initialize_all_target_infos, :LLVMInitializeAllTargetInfos, [], :void

.initialize_all_target_m_csnil

(Not documented)



62
# File 'lib/llvm/target_ffi.rb', line 62

attach_function :initialize_all_target_m_cs, :LLVMInitializeAllTargetMCs, [], :void

.initialize_all_targetsnil

(Not documented)



55
# File 'lib/llvm/target_ffi.rb', line 55

attach_function :initialize_all_targets, :LLVMInitializeAllTargets, [], :void

.initialize_core(r) ⇒ nil

@}



827
# File 'lib/llvm/core_ffi.rb', line 827

attach_function :initialize_core, :LLVMInitializeCore, [:pointer], :void

.initialize_function_pass_manager(fpm) ⇒ Integer

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 llvm::FunctionPassManager::doInitialization


5573
# File 'lib/llvm/core_ffi.rb', line 5573

attach_function :initialize_function_pass_manager, :LLVMInitializeFunctionPassManager, [:pointer], :int

.initialize_mcjit_compiler_options(options, size_of_options) ⇒ nil

(Not documented)



175
# File 'lib/llvm/execution_engine_ffi.rb', line 175

attach_function :initialize_mcjit_compiler_options, :LLVMInitializeMCJITCompilerOptions, [MCJITCompilerOptions, :ulong], :void

.initialize_native_asm_parserInteger

(Not documented)



97
# File 'lib/llvm/target_ffi.rb', line 97

attach_function :initialize_native_asm_parser, :LLVMInitializeNativeAsmParser, [], :int

.initialize_native_asm_printerInteger

(Not documented)



104
# File 'lib/llvm/target_ffi.rb', line 104

attach_function :initialize_native_asm_printer, :LLVMInitializeNativeAsmPrinter, [], :int

.initialize_native_disassemblerInteger

(Not documented)



111
# File 'lib/llvm/target_ffi.rb', line 111

attach_function :initialize_native_disassembler, :LLVMInitializeNativeDisassembler, [], :int

.initialize_native_targetInteger

(Not documented)



90
# File 'lib/llvm/target_ffi.rb', line 90

attach_function :initialize_native_target, :LLVMInitializeNativeTarget, [], :int

.insert_basic_block(insert_before_bb, name) ⇒ FFI::Pointer(BasicBlockRef)

Insert a basic block in a function using the global context.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::Create()


3964
# File 'lib/llvm/core_ffi.rb', line 3964

attach_function :insert_basic_block, :LLVMInsertBasicBlock, [:pointer, :string], :pointer

.insert_basic_block_in_context(c, bb, name) ⇒ FFI::Pointer(BasicBlockRef)

Insert a basic block in a function before another basic block.

The function to add to is determined by the function of the passed basic block.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::Create()


3953
# File 'lib/llvm/core_ffi.rb', line 3953

attach_function :insert_basic_block_in_context, :LLVMInsertBasicBlockInContext, [:pointer, :pointer, :string], :pointer

.insert_into_builder(builder, instr) ⇒ nil

(Not documented)



4411
# File 'lib/llvm/core_ffi.rb', line 4411

attach_function :insert_into_builder, :LLVMInsertIntoBuilder, [:pointer, :pointer], :void

.insert_into_builder_with_name(builder, instr, name) ⇒ nil

(Not documented)



4421
# File 'lib/llvm/core_ffi.rb', line 4421

attach_function :insert_into_builder_with_name, :LLVMInsertIntoBuilderWithName, [:pointer, :pointer, :string], :void

.instruction_clone(inst) ⇒ FFI::Pointer(ValueRef)

Create a copy of ‘this’ instruction that is identical in all ways except the following:

* The instruction has no parent
* The instruction has no name

See Also:

  • llvmllvm::Instructionllvm::Instruction::clone()


4156
# File 'lib/llvm/core_ffi.rb', line 4156

attach_function :instruction_clone, :LLVMInstructionClone, [:pointer], :pointer

.instruction_erase_from_parent(inst) ⇒ nil

Remove and delete an instruction.

The instruction specified is removed from its containing building block and then deleted.

See Also:

  • llvmllvm::Instructionllvm::Instruction::eraseFromParent()


4107
# File 'lib/llvm/core_ffi.rb', line 4107

attach_function :instruction_erase_from_parent, :LLVMInstructionEraseFromParent, [:pointer], :void

.int128_typeFFI::Pointer(TypeRef)

(Not documented)



1385
# File 'lib/llvm/core_ffi.rb', line 1385

attach_function :int128_type, :LLVMInt128Type, [], :pointer

.int128_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1333
# File 'lib/llvm/core_ffi.rb', line 1333

attach_function :int128_type_in_context, :LLVMInt128TypeInContext, [:pointer], :pointer

.int16_typeFFI::Pointer(TypeRef)

(Not documented)



1364
# File 'lib/llvm/core_ffi.rb', line 1364

attach_function :int16_type, :LLVMInt16Type, [], :pointer

.int16_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1309
# File 'lib/llvm/core_ffi.rb', line 1309

attach_function :int16_type_in_context, :LLVMInt16TypeInContext, [:pointer], :pointer

.int1_typeFFI::Pointer(TypeRef)

Obtain an integer type from the global context with a specified bit width.



1350
# File 'lib/llvm/core_ffi.rb', line 1350

attach_function :int1_type, :LLVMInt1Type, [], :pointer

.int1_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain an integer type from a context with specified bit width.



1293
# File 'lib/llvm/core_ffi.rb', line 1293

attach_function :int1_type_in_context, :LLVMInt1TypeInContext, [:pointer], :pointer

.int32_typeFFI::Pointer(TypeRef)

(Not documented)



1371
# File 'lib/llvm/core_ffi.rb', line 1371

attach_function :int32_type, :LLVMInt32Type, [], :pointer

.int32_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1317
# File 'lib/llvm/core_ffi.rb', line 1317

attach_function :int32_type_in_context, :LLVMInt32TypeInContext, [:pointer], :pointer

.int64_typeFFI::Pointer(TypeRef)

(Not documented)



1378
# File 'lib/llvm/core_ffi.rb', line 1378

attach_function :int64_type, :LLVMInt64Type, [], :pointer

.int64_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1325
# File 'lib/llvm/core_ffi.rb', line 1325

attach_function :int64_type_in_context, :LLVMInt64TypeInContext, [:pointer], :pointer

.int8_typeFFI::Pointer(TypeRef)

(Not documented)



1357
# File 'lib/llvm/core_ffi.rb', line 1357

attach_function :int8_type, :LLVMInt8Type, [], :pointer

.int8_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1301
# File 'lib/llvm/core_ffi.rb', line 1301

attach_function :int8_type_in_context, :LLVMInt8TypeInContext, [:pointer], :pointer

.int_ptr_type(td) ⇒ FFI::Pointer(TypeRef)

(Not documented)



194
# File 'lib/llvm/target_ffi.rb', line 194

attach_function :int_ptr_type, :LLVMIntPtrType, [OpaqueTargetData], :pointer

.int_ptr_type_for_as(td, as) ⇒ FFI::Pointer(TypeRef)

(Not documented)



203
# File 'lib/llvm/target_ffi.rb', line 203

attach_function :int_ptr_type_for_as, :LLVMIntPtrTypeForAS, [OpaqueTargetData, :uint], :pointer

.int_ptr_type_for_as_in_context(c, td, as) ⇒ FFI::Pointer(TypeRef)

(Not documented)



222
# File 'lib/llvm/target_ffi.rb', line 222

attach_function :int_ptr_type_for_as_in_context, :LLVMIntPtrTypeForASInContext, [:pointer, OpaqueTargetData, :uint], :pointer

.int_ptr_type_in_context(c, td) ⇒ FFI::Pointer(TypeRef)

(Not documented)



212
# File 'lib/llvm/target_ffi.rb', line 212

attach_function :int_ptr_type_in_context, :LLVMIntPtrTypeInContext, [:pointer, OpaqueTargetData], :pointer

.int_type(num_bits) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1393
# File 'lib/llvm/core_ffi.rb', line 1393

attach_function :int_type, :LLVMIntType, [:uint], :pointer

.int_type_in_context(c, num_bits) ⇒ FFI::Pointer(TypeRef)

(Not documented)



1342
# File 'lib/llvm/core_ffi.rb', line 1342

attach_function :int_type_in_context, :LLVMIntTypeInContext, [:pointer, :uint], :pointer

.is_a_addr_space_cast_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2352
# File 'lib/llvm/core_ffi.rb', line 2352

attach_function :is_a_addr_space_cast_inst, :LLVMIsAAddrSpaceCastInst, [:pointer], :pointer

.is_a_alloca_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2336
# File 'lib/llvm/core_ffi.rb', line 2336

attach_function :is_a_alloca_inst, :LLVMIsAAllocaInst, [:pointer], :pointer

.is_a_argument(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1856
# File 'lib/llvm/core_ffi.rb', line 1856

attach_function :is_a_argument, :LLVMIsAArgument, [:pointer], :pointer

.is_a_basic_block(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1864
# File 'lib/llvm/core_ffi.rb', line 1864

attach_function :is_a_basic_block, :LLVMIsABasicBlock, [:pointer], :pointer

.is_a_binary_operator(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2056
# File 'lib/llvm/core_ffi.rb', line 2056

attach_function :is_a_binary_operator, :LLVMIsABinaryOperator, [:pointer], :pointer

.is_a_bit_cast_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2360
# File 'lib/llvm/core_ffi.rb', line 2360

attach_function :is_a_bit_cast_inst, :LLVMIsABitCastInst, [:pointer], :pointer

.is_a_block_address(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1896
# File 'lib/llvm/core_ffi.rb', line 1896

attach_function :is_a_block_address, :LLVMIsABlockAddress, [:pointer], :pointer

.is_a_branch_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2232
# File 'lib/llvm/core_ffi.rb', line 2232

attach_function :is_a_branch_inst, :LLVMIsABranchInst, [:pointer], :pointer

.is_a_call_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2064
# File 'lib/llvm/core_ffi.rb', line 2064

attach_function :is_a_call_inst, :LLVMIsACallInst, [:pointer], :pointer

.is_a_cast_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2344
# File 'lib/llvm/core_ffi.rb', line 2344

attach_function :is_a_cast_inst, :LLVMIsACastInst, [:pointer], :pointer

.is_a_catch_pad_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2312
# File 'lib/llvm/core_ffi.rb', line 2312

attach_function :is_a_catch_pad_inst, :LLVMIsACatchPadInst, [:pointer], :pointer

.is_a_catch_return_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2296
# File 'lib/llvm/core_ffi.rb', line 2296

attach_function :is_a_catch_return_inst, :LLVMIsACatchReturnInst, [:pointer], :pointer

.is_a_cleanup_pad_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2320
# File 'lib/llvm/core_ffi.rb', line 2320

attach_function :is_a_cleanup_pad_inst, :LLVMIsACleanupPadInst, [:pointer], :pointer

.is_a_cleanup_return_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2288
# File 'lib/llvm/core_ffi.rb', line 2288

attach_function :is_a_cleanup_return_inst, :LLVMIsACleanupReturnInst, [:pointer], :pointer

.is_a_cmp_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2128
# File 'lib/llvm/core_ffi.rb', line 2128

attach_function :is_a_cmp_inst, :LLVMIsACmpInst, [:pointer], :pointer

.is_a_constant(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1888
# File 'lib/llvm/core_ffi.rb', line 1888

attach_function :is_a_constant, :LLVMIsAConstant, [:pointer], :pointer

.is_a_constant_aggregate_zero(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1904
# File 'lib/llvm/core_ffi.rb', line 1904

attach_function :is_a_constant_aggregate_zero, :LLVMIsAConstantAggregateZero, [:pointer], :pointer

.is_a_constant_array(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1912
# File 'lib/llvm/core_ffi.rb', line 1912

attach_function :is_a_constant_array, :LLVMIsAConstantArray, [:pointer], :pointer

.is_a_constant_data_array(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1928
# File 'lib/llvm/core_ffi.rb', line 1928

attach_function :is_a_constant_data_array, :LLVMIsAConstantDataArray, [:pointer], :pointer

.is_a_constant_data_sequential(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1920
# File 'lib/llvm/core_ffi.rb', line 1920

attach_function :is_a_constant_data_sequential, :LLVMIsAConstantDataSequential, [:pointer], :pointer

.is_a_constant_data_vector(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1936
# File 'lib/llvm/core_ffi.rb', line 1936

attach_function :is_a_constant_data_vector, :LLVMIsAConstantDataVector, [:pointer], :pointer

.is_a_constant_expr(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1944
# File 'lib/llvm/core_ffi.rb', line 1944

attach_function :is_a_constant_expr, :LLVMIsAConstantExpr, [:pointer], :pointer

.is_a_constant_fp(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1952
# File 'lib/llvm/core_ffi.rb', line 1952

attach_function :is_a_constant_fp, :LLVMIsAConstantFP, [:pointer], :pointer

.is_a_constant_int(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1960
# File 'lib/llvm/core_ffi.rb', line 1960

attach_function :is_a_constant_int, :LLVMIsAConstantInt, [:pointer], :pointer

.is_a_constant_pointer_null(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1968
# File 'lib/llvm/core_ffi.rb', line 1968

attach_function :is_a_constant_pointer_null, :LLVMIsAConstantPointerNull, [:pointer], :pointer

.is_a_constant_struct(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1976
# File 'lib/llvm/core_ffi.rb', line 1976

attach_function :is_a_constant_struct, :LLVMIsAConstantStruct, [:pointer], :pointer

.is_a_constant_token_none(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1984
# File 'lib/llvm/core_ffi.rb', line 1984

attach_function :is_a_constant_token_none, :LLVMIsAConstantTokenNone, [:pointer], :pointer

.is_a_constant_vector(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1992
# File 'lib/llvm/core_ffi.rb', line 1992

attach_function :is_a_constant_vector, :LLVMIsAConstantVector, [:pointer], :pointer

.is_a_dbg_declare_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2088
# File 'lib/llvm/core_ffi.rb', line 2088

attach_function :is_a_dbg_declare_inst, :LLVMIsADbgDeclareInst, [:pointer], :pointer

.is_a_dbg_info_intrinsic(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2080
# File 'lib/llvm/core_ffi.rb', line 2080

attach_function :is_a_dbg_info_intrinsic, :LLVMIsADbgInfoIntrinsic, [:pointer], :pointer

.is_a_extract_element_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2152
# File 'lib/llvm/core_ffi.rb', line 2152

attach_function :is_a_extract_element_inst, :LLVMIsAExtractElementInst, [:pointer], :pointer

.is_a_extract_value_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2456
# File 'lib/llvm/core_ffi.rb', line 2456

attach_function :is_a_extract_value_inst, :LLVMIsAExtractValueInst, [:pointer], :pointer

.is_a_funclet_pad_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2304
# File 'lib/llvm/core_ffi.rb', line 2304

attach_function :is_a_funclet_pad_inst, :LLVMIsAFuncletPadInst, [:pointer], :pointer

.is_a_function(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2024
# File 'lib/llvm/core_ffi.rb', line 2024

attach_function :is_a_function, :LLVMIsAFunction, [:pointer], :pointer

.is_a_get_element_ptr_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2160
# File 'lib/llvm/core_ffi.rb', line 2160

attach_function :is_a_get_element_ptr_inst, :LLVMIsAGetElementPtrInst, [:pointer], :pointer

.is_a_global_alias(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2008
# File 'lib/llvm/core_ffi.rb', line 2008

attach_function :is_a_global_alias, :LLVMIsAGlobalAlias, [:pointer], :pointer

.is_a_global_object(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2016
# File 'lib/llvm/core_ffi.rb', line 2016

attach_function :is_a_global_object, :LLVMIsAGlobalObject, [:pointer], :pointer

.is_a_global_value(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2000
# File 'lib/llvm/core_ffi.rb', line 2000

attach_function :is_a_global_value, :LLVMIsAGlobalValue, [:pointer], :pointer

.is_a_global_variable(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2032
# File 'lib/llvm/core_ffi.rb', line 2032

attach_function :is_a_global_variable, :LLVMIsAGlobalVariable, [:pointer], :pointer

.is_a_indirect_br_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2240
# File 'lib/llvm/core_ffi.rb', line 2240

attach_function :is_a_indirect_br_inst, :LLVMIsAIndirectBrInst, [:pointer], :pointer

.is_a_inline_asm(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1872
# File 'lib/llvm/core_ffi.rb', line 1872

attach_function :is_a_inline_asm, :LLVMIsAInlineAsm, [:pointer], :pointer

.is_a_insert_element_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2168
# File 'lib/llvm/core_ffi.rb', line 2168

attach_function :is_a_insert_element_inst, :LLVMIsAInsertElementInst, [:pointer], :pointer

.is_a_insert_value_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2176
# File 'lib/llvm/core_ffi.rb', line 2176

attach_function :is_a_insert_value_inst, :LLVMIsAInsertValueInst, [:pointer], :pointer

.is_a_instruction(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2048
# File 'lib/llvm/core_ffi.rb', line 2048

attach_function :is_a_instruction, :LLVMIsAInstruction, [:pointer], :pointer

.is_a_int_to_ptr_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2400
# File 'lib/llvm/core_ffi.rb', line 2400

attach_function :is_a_int_to_ptr_inst, :LLVMIsAIntToPtrInst, [:pointer], :pointer

.is_a_intrinsic_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2072
# File 'lib/llvm/core_ffi.rb', line 2072

attach_function :is_a_intrinsic_inst, :LLVMIsAIntrinsicInst, [:pointer], :pointer

.is_a_invoke_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2248
# File 'lib/llvm/core_ffi.rb', line 2248

attach_function :is_a_invoke_inst, :LLVMIsAInvokeInst, [:pointer], :pointer

.is_a_landing_pad_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2184
# File 'lib/llvm/core_ffi.rb', line 2184

attach_function :is_a_landing_pad_inst, :LLVMIsALandingPadInst, [:pointer], :pointer

.is_a_load_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2464
# File 'lib/llvm/core_ffi.rb', line 2464

attach_function :is_a_load_inst, :LLVMIsALoadInst, [:pointer], :pointer

.is_a_mem_cpy_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2104
# File 'lib/llvm/core_ffi.rb', line 2104

attach_function :is_a_mem_cpy_inst, :LLVMIsAMemCpyInst, [:pointer], :pointer

.is_a_mem_intrinsic(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2096
# File 'lib/llvm/core_ffi.rb', line 2096

attach_function :is_a_mem_intrinsic, :LLVMIsAMemIntrinsic, [:pointer], :pointer

.is_a_mem_move_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2112
# File 'lib/llvm/core_ffi.rb', line 2112

attach_function :is_a_mem_move_inst, :LLVMIsAMemMoveInst, [:pointer], :pointer

.is_a_mem_set_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2120
# File 'lib/llvm/core_ffi.rb', line 2120

attach_function :is_a_mem_set_inst, :LLVMIsAMemSetInst, [:pointer], :pointer

.is_a_ptr_to_int_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2408
# File 'lib/llvm/core_ffi.rb', line 2408

attach_function :is_a_ptr_to_int_inst, :LLVMIsAPtrToIntInst, [:pointer], :pointer

.is_a_resume_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2280
# File 'lib/llvm/core_ffi.rb', line 2280

attach_function :is_a_resume_inst, :LLVMIsAResumeInst, [:pointer], :pointer

.is_a_return_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2256
# File 'lib/llvm/core_ffi.rb', line 2256

attach_function :is_a_return_inst, :LLVMIsAReturnInst, [:pointer], :pointer

.is_a_select_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2200
# File 'lib/llvm/core_ffi.rb', line 2200

attach_function :is_a_select_inst, :LLVMIsASelectInst, [:pointer], :pointer

.is_a_shuffle_vector_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2208
# File 'lib/llvm/core_ffi.rb', line 2208

attach_function :is_a_shuffle_vector_inst, :LLVMIsAShuffleVectorInst, [:pointer], :pointer

.is_a_store_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2216
# File 'lib/llvm/core_ffi.rb', line 2216

attach_function :is_a_store_inst, :LLVMIsAStoreInst, [:pointer], :pointer

.is_a_switch_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2264
# File 'lib/llvm/core_ffi.rb', line 2264

attach_function :is_a_switch_inst, :LLVMIsASwitchInst, [:pointer], :pointer

.is_a_terminator_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2224
# File 'lib/llvm/core_ffi.rb', line 2224

attach_function :is_a_terminator_inst, :LLVMIsATerminatorInst, [:pointer], :pointer

.is_a_trunc_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2432
# File 'lib/llvm/core_ffi.rb', line 2432

attach_function :is_a_trunc_inst, :LLVMIsATruncInst, [:pointer], :pointer

.is_a_unary_instruction(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2328
# File 'lib/llvm/core_ffi.rb', line 2328

attach_function :is_a_unary_instruction, :LLVMIsAUnaryInstruction, [:pointer], :pointer

.is_a_undef_value(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2040
# File 'lib/llvm/core_ffi.rb', line 2040

attach_function :is_a_undef_value, :LLVMIsAUndefValue, [:pointer], :pointer

.is_a_unreachable_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2272
# File 'lib/llvm/core_ffi.rb', line 2272

attach_function :is_a_unreachable_inst, :LLVMIsAUnreachableInst, [:pointer], :pointer

.is_a_user(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



1880
# File 'lib/llvm/core_ffi.rb', line 1880

attach_function :is_a_user, :LLVMIsAUser, [:pointer], :pointer

.is_af_cmp_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2136
# File 'lib/llvm/core_ffi.rb', line 2136

attach_function :is_af_cmp_inst, :LLVMIsAFCmpInst, [:pointer], :pointer

.is_afp_ext_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2368
# File 'lib/llvm/core_ffi.rb', line 2368

attach_function :is_afp_ext_inst, :LLVMIsAFPExtInst, [:pointer], :pointer

.is_afp_to_si_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2376
# File 'lib/llvm/core_ffi.rb', line 2376

attach_function :is_afp_to_si_inst, :LLVMIsAFPToSIInst, [:pointer], :pointer

.is_afp_to_ui_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2384
# File 'lib/llvm/core_ffi.rb', line 2384

attach_function :is_afp_to_ui_inst, :LLVMIsAFPToUIInst, [:pointer], :pointer

.is_afp_trunc_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2392
# File 'lib/llvm/core_ffi.rb', line 2392

attach_function :is_afp_trunc_inst, :LLVMIsAFPTruncInst, [:pointer], :pointer

.is_ai_cmp_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2144
# File 'lib/llvm/core_ffi.rb', line 2144

attach_function :is_ai_cmp_inst, :LLVMIsAICmpInst, [:pointer], :pointer

.is_amd_node(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2480
# File 'lib/llvm/core_ffi.rb', line 2480

attach_function :is_amd_node, :LLVMIsAMDNode, [:pointer], :pointer

.is_amd_string(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2488
# File 'lib/llvm/core_ffi.rb', line 2488

attach_function :is_amd_string, :LLVMIsAMDString, [:pointer], :pointer

.is_aphi_node(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2192
# File 'lib/llvm/core_ffi.rb', line 2192

attach_function :is_aphi_node, :LLVMIsAPHINode, [:pointer], :pointer

.is_as_ext_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2416
# File 'lib/llvm/core_ffi.rb', line 2416

attach_function :is_as_ext_inst, :LLVMIsASExtInst, [:pointer], :pointer

.is_asi_to_fp_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2424
# File 'lib/llvm/core_ffi.rb', line 2424

attach_function :is_asi_to_fp_inst, :LLVMIsASIToFPInst, [:pointer], :pointer

.is_aui_to_fp_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2440
# File 'lib/llvm/core_ffi.rb', line 2440

attach_function :is_aui_to_fp_inst, :LLVMIsAUIToFPInst, [:pointer], :pointer

.is_ava_arg_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2472
# File 'lib/llvm/core_ffi.rb', line 2472

attach_function :is_ava_arg_inst, :LLVMIsAVAArgInst, [:pointer], :pointer

.is_az_ext_inst(val) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2448
# File 'lib/llvm/core_ffi.rb', line 2448

attach_function :is_az_ext_inst, :LLVMIsAZExtInst, [:pointer], :pointer

.is_conditional(branch) ⇒ Integer

Return if a branch is conditional.

This only works on llvm::BranchInst instructions.

See Also:

  • llvmllvm::BranchInstllvm::BranchInst::isConditional


4264
# File 'lib/llvm/core_ffi.rb', line 4264

attach_function :is_conditional, :LLVMIsConditional, [:pointer], :int

.is_constant(val) ⇒ Integer

Determine whether the specified constant instance is constant.



295
# File 'lib/llvm/core_ffi_v2.rb', line 295

attach_function :is_constant, :LLVMIsConstant, [:pointer], :bool

.is_constant_string(c) ⇒ Integer

Returns true if the specified constant is an array of i8.

See Also:

  • ConstantDataSequential::getAsString()


2784
# File 'lib/llvm/core_ffi.rb', line 2784

attach_function :is_constant_string, :LLVMIsConstantString, [:pointer], :int

.is_declaration(global) ⇒ Integer

(Not documented)



3224
# File 'lib/llvm/core_ffi.rb', line 3224

attach_function :is_declaration, :LLVMIsDeclaration, [:pointer], :int

.is_externally_initialized(global_var) ⇒ Integer

(Not documented)



3470
# File 'lib/llvm/core_ffi.rb', line 3470

attach_function :is_externally_initialized, :LLVMIsExternallyInitialized, [:pointer], :int

.is_function_var_arg(function_ty) ⇒ Integer

Returns whether a function type is variadic.



1516
# File 'lib/llvm/core_ffi.rb', line 1516

attach_function :is_function_var_arg, :LLVMIsFunctionVarArg, [:pointer], :int

.is_global_constant(global_var) ⇒ Integer

(Not documented)



331
# File 'lib/llvm/core_ffi_v2.rb', line 331

attach_function :is_global_constant, :LLVMIsGlobalConstant, [:pointer], :bool

.is_literal_struct(struct_ty) ⇒ Bool

Determine whether a structure is literal.

See Also:

  • llvmllvm::StructTypellvm::StructType::isLiteral()


148
# File 'lib/llvm/core_ffi_v2.rb', line 148

attach_function :is_literal_struct, :LLVMIsLiteralStruct, [:pointer], :bool

.is_multithreadedInteger

Check whether LLVM is executing in thread-safe mode or not.

@see llvm::llvm_is_multithreaded


5630
# File 'lib/llvm/core_ffi.rb', line 5630

attach_function :is_multithreaded, :LLVMIsMultithreaded, [], :int

.is_null(val) ⇒ Integer

Determine whether a value instance is null.

See Also:

  • llvmllvm::Constantllvm::Constant::isNullValue()


313
# File 'lib/llvm/core_ffi_v2.rb', line 313

attach_function :is_null, :LLVMIsNull, [:pointer], :bool

.is_opaque_struct(struct_ty) ⇒ Bool

Determine whether a structure is opaque.

See Also:

  • llvmllvm::StructTypellvm::StructType::isOpaque()


138
# File 'lib/llvm/core_ffi_v2.rb', line 138

attach_function :is_opaque_struct, :LLVMIsOpaqueStruct, [:pointer], :bool

.is_packed_struct(struct_ty) ⇒ Bool

Determine whether a structure is packed.

See Also:

  • llvmllvm::StructTypellvm::StructType::isPacked()


128
# File 'lib/llvm/core_ffi_v2.rb', line 128

attach_function :is_packed_struct, :LLVMIsPackedStruct, [:pointer], :bool

.is_tail_call(call_inst) ⇒ Integer

Obtain whether a call instruction is a tail call.

This only works on llvm::CallInst instructions.

See Also:

  • llvmllvm::CallInstllvm::CallInst::isTailCall()


4206
# File 'lib/llvm/core_ffi.rb', line 4206

attach_function :is_tail_call, :LLVMIsTailCall, [:pointer], :int

.is_thread_local(global_var) ⇒ Integer

(Not documented)



323
# File 'lib/llvm/core_ffi_v2.rb', line 323

attach_function :is_thread_local, :LLVMIsThreadLocal, [:pointer], :bool

.is_undef(val) ⇒ Integer

Determine whether a value instance is undefined.



303
# File 'lib/llvm/core_ffi_v2.rb', line 303

attach_function :is_undef, :LLVMIsUndef, [:pointer], :bool

.label_typeFFI::Pointer(TypeRef)

(Not documented)



1778
# File 'lib/llvm/core_ffi.rb', line 1778

attach_function :label_type, :LLVMLabelType, [], :pointer

.label_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Create a label type in a context.



1755
# File 'lib/llvm/core_ffi.rb', line 1755

attach_function :label_type_in_context, :LLVMLabelTypeInContext, [:pointer], :pointer

(Not documented)



30
# File 'lib/llvm/execution_engine_ffi.rb', line 30

attach_function :link_in_interpreter, :LLVMLinkInInterpreter, [], :void

@{



23
# File 'lib/llvm/execution_engine_ffi.rb', line 23

attach_function :link_in_mcjit, :LLVMLinkInMCJIT, [], :void

Links the source module into the destination module. The source module is destroyed. The return value is true if an error occurred, false otherwise. Use the diagnostic handler to get any diagnostic message.



43
# File 'lib/llvm/linker_ffi.rb', line 43

attach_function :link_modules2, :LLVMLinkModules2, [:pointer, :pointer], :int

.load_library_permanently(filename) ⇒ Integer

(Not documented)



21
# File 'lib/llvm/core_ffi.rb', line 21

attach_function :load_library_permanently, :LLVMLoadLibraryPermanently, [:string], :int

.md_node(vals, count) ⇒ FFI::Pointer(ValueRef)

Obtain a MDNode value from the global context.



3750
# File 'lib/llvm/core_ffi.rb', line 3750

attach_function :md_node, :LLVMMDNode, [:pointer, :uint], :pointer

.md_node_in_context(c, vals, count) ⇒ FFI::Pointer(ValueRef)

Obtain a MDNode value from a context.

The returned value corresponds to the llvm::MDNode class.



3741
# File 'lib/llvm/core_ffi.rb', line 3741

attach_function :md_node_in_context, :LLVMMDNodeInContext, [:pointer, :pointer, :uint], :pointer

.md_string(str, s_len) ⇒ FFI::Pointer(ValueRef)

Obtain a MDString value from the global context.



3729
# File 'lib/llvm/core_ffi.rb', line 3729

attach_function :md_string, :LLVMMDString, [:string, :uint], :pointer

.md_string_in_context(c, str, s_len) ⇒ FFI::Pointer(ValueRef)

Obtain a MDString value from a context.

The returned instance corresponds to the llvm::MDString class.

The instance is specified by string data of a specified length. The string content is copied, so the backing memory can be freed after this function returns.



3720
# File 'lib/llvm/core_ffi.rb', line 3720

attach_function :md_string_in_context, :LLVMMDStringInContext, [:pointer, :string, :uint], :pointer

.module_create_with_name(module_id) ⇒ FFI::Pointer(ModuleRef)

Create a new, empty module in the global context.

This is equivalent to calling LLVMModuleCreateWithNameInContext with LLVMGetGlobalContext() as the context parameter.

Every invocation should be paired with LLVMDisposeModule() or memory will be leaked.



986
# File 'lib/llvm/core_ffi.rb', line 986

attach_function :module_create_with_name, :LLVMModuleCreateWithName, [:string], :pointer

.module_create_with_name_in_context(module_id, c) ⇒ FFI::Pointer(ModuleRef)

Create a new, empty module in a specific context.

Every invocation should be paired with LLVMDisposeModule() or memory will be leaked.



998
# File 'lib/llvm/core_ffi.rb', line 998

attach_function :module_create_with_name_in_context, :LLVMModuleCreateWithNameInContext, [:string, :pointer], :pointer

.move_basic_block_after(bb, move_pos) ⇒ nil

Move a basic block to after another one.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::moveAfter()


4012
# File 'lib/llvm/core_ffi.rb', line 4012

attach_function :move_basic_block_after, :LLVMMoveBasicBlockAfter, [:pointer, :pointer], :void

.move_basic_block_before(bb, move_pos) ⇒ nil

Move a basic block to before another one.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::moveBefore()


4001
# File 'lib/llvm/core_ffi.rb', line 4001

attach_function :move_basic_block_before, :LLVMMoveBasicBlockBefore, [:pointer, :pointer], :void

.offset_of_element(td, struct_ty, element) ⇒ Integer

(Not documented)



305
# File 'lib/llvm/target_ffi.rb', line 305

attach_function :offset_of_element, :LLVMOffsetOfElement, [OpaqueTargetData, :pointer, :uint], :ulong_long

.parse_bitcode(mem_buf, out_module, out_message) ⇒ Integer

(Not documented)



23
# File 'lib/llvm/core/bitcode_ffi.rb', line 23

attach_function :parse_bitcode, :LLVMParseBitcode, [:pointer, :pointer, :pointer], :int

.parse_bitcode2(mem_buf, out_module) ⇒ Integer

(Not documented)



32
# File 'lib/llvm/core/bitcode_ffi.rb', line 32

attach_function :parse_bitcode2, :LLVMParseBitcode2, [:pointer, :pointer], :int

.parse_bitcode_in_context(context_ref, mem_buf, out_module, out_message) ⇒ Integer

(Not documented)



43
# File 'lib/llvm/core/bitcode_ffi.rb', line 43

attach_function :parse_bitcode_in_context, :LLVMParseBitcodeInContext, [:pointer, :pointer, :pointer, :pointer], :int

.parse_bitcode_in_context2(context_ref, mem_buf, out_module) ⇒ Integer

(Not documented)



53
# File 'lib/llvm/core/bitcode_ffi.rb', line 53

attach_function :parse_bitcode_in_context2, :LLVMParseBitcodeInContext2, [:pointer, :pointer, :pointer], :int

.parse_command_line_options(argc, argv, overview) ⇒ nil

This function parses the given arguments using the LLVM command line parser. Note that the only stable thing about this function is its signature; you cannot rely on any particular set of command line arguments being interpreted the same way across LLVM versions.

See Also:

  • llvmllvm::clllvm::cl::ParseCommandLineOptions()


36
# File 'lib/llvm/core_ffi.rb', line 36

attach_function :parse_command_line_options, :LLVMParseCommandLineOptions, [:int, :pointer, :string], :void

.pointer_size(td) ⇒ Integer

(Not documented)



177
# File 'lib/llvm/target_ffi.rb', line 177

attach_function :pointer_size, :LLVMPointerSize, [OpaqueTargetData], :uint

.pointer_size_for_as(td, as) ⇒ Integer

(Not documented)



186
# File 'lib/llvm/target_ffi.rb', line 186

attach_function :pointer_size_for_as, :LLVMPointerSizeForAS, [OpaqueTargetData, :uint], :uint

.pointer_type(element_type, address_space) ⇒ FFI::Pointer(TypeRef)

Create a pointer type that points to a defined type.

The created type will exist in the context that its pointee type exists in.

See Also:

  • llvmllvm::PointerTypellvm::PointerType::get()


1700
# File 'lib/llvm/core_ffi.rb', line 1700

attach_function :pointer_type, :LLVMPointerType, [:pointer, :uint], :pointer

.position_builder(builder, block, instr) ⇒ nil

(Not documented)



4368
# File 'lib/llvm/core_ffi.rb', line 4368

attach_function :position_builder, :LLVMPositionBuilder, [:pointer, :pointer, :pointer], :void

.position_builder_at_end(builder, block) ⇒ nil

(Not documented)



4386
# File 'lib/llvm/core_ffi.rb', line 4386

attach_function :position_builder_at_end, :LLVMPositionBuilderAtEnd, [:pointer, :pointer], :void

.position_builder_before(builder, instr) ⇒ nil

(Not documented)



4377
# File 'lib/llvm/core_ffi.rb', line 4377

attach_function :position_builder_before, :LLVMPositionBuilderBefore, [:pointer, :pointer], :void

.ppcfp128_typeFFI::Pointer(TypeRef)

(Not documented)



1494
# File 'lib/llvm/core_ffi.rb', line 1494

attach_function :ppcfp128_type, :LLVMPPCFP128Type, [], :pointer

.ppcfp128_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 128-bit floating point type (two 64-bits) from a context.



1450
# File 'lib/llvm/core_ffi.rb', line 1450

attach_function :ppcfp128_type_in_context, :LLVMPPCFP128TypeInContext, [:pointer], :pointer

.preferred_alignment_of_global(td, global_var) ⇒ Integer

(Not documented)



285
# File 'lib/llvm/target_ffi.rb', line 285

attach_function :preferred_alignment_of_global, :LLVMPreferredAlignmentOfGlobal, [OpaqueTargetData, :pointer], :uint

.preferred_alignment_of_type(td, ty) ⇒ Integer

(Not documented)



276
# File 'lib/llvm/target_ffi.rb', line 276

attach_function :preferred_alignment_of_type, :LLVMPreferredAlignmentOfType, [OpaqueTargetData, :pointer], :uint

Print a representation of a module to a file. The ErrorMessage needs to be disposed with LLVMDisposeMessage. Returns 0 on success, 1 otherwise.

See Also:

  • Module::print()


1082
# File 'lib/llvm/core_ffi.rb', line 1082

attach_function :print_module_to_file, :LLVMPrintModuleToFile, [:pointer, :string, :pointer], :int

Return a string representation of the module. Use LLVMDisposeMessage to free the string.

See Also:

  • Module::print()


1093
# File 'lib/llvm/core_ffi.rb', line 1093

attach_function :print_module_to_string, :LLVMPrintModuleToString, [:pointer], :string

Return a string representation of the type. Use LLVMDisposeMessage to free the string.

See Also:

  • llvmllvm::Typellvm::Type::print()


1285
# File 'lib/llvm/core_ffi.rb', line 1285

attach_function :print_type_to_string, :LLVMPrintTypeToString, [:pointer], :string

Return a string representation of the value. Use LLVMDisposeMessage to free the string.

See Also:

  • llvmllvm::Valuellvm::Value::print()


1837
# File 'lib/llvm/core_ffi.rb', line 1837

attach_function :print_value_to_string, :LLVMPrintValueToString, [:pointer], :string

(Not documented)



296
# File 'lib/llvm/execution_engine_ffi.rb', line 296

attach_function :recompile_and_relink_function, :LLVMRecompileAndRelinkFunction, [OpaqueExecutionEngine, :pointer], :pointer

.remove_basic_block_from_parent(bb) ⇒ nil

Remove a basic block from a function.

This deletes the basic block from its containing function but keep the basic block alive.

See Also:

  • llvmllvm::BasicBlockllvm::BasicBlock::removeFromParent()


3990
# File 'lib/llvm/core_ffi.rb', line 3990

attach_function :remove_basic_block_from_parent, :LLVMRemoveBasicBlockFromParent, [:pointer], :void

.remove_module(ee, m, out_mod, out_error) ⇒ Integer

(Not documented)



277
# File 'lib/llvm/execution_engine_ffi.rb', line 277

attach_function :remove_module, :LLVMRemoveModule, [OpaqueExecutionEngine, :pointer, :pointer, :pointer], :int

.replace_all_uses_with(old_val, new_val) ⇒ nil

Replace all uses of a value with another one.

See Also:

  • llvmllvm::Valuellvm::Value::replaceAllUsesWith()


1848
# File 'lib/llvm/core_ffi.rb', line 1848

attach_function :replace_all_uses_with, :LLVMReplaceAllUsesWith, [:pointer, :pointer], :void

.run_function(ee, f, num_args, args) ⇒ OpaqueGenericValue

(Not documented)



248
# File 'lib/llvm/execution_engine_ffi.rb', line 248

attach_function :run_function, :LLVMRunFunction, [OpaqueExecutionEngine, :pointer, :uint, :pointer], OpaqueGenericValue

.run_function_as_main(ee, f, arg_c, arg_v, env_p) ⇒ Integer

(Not documented)



237
# File 'lib/llvm/execution_engine_ffi.rb', line 237

attach_function :run_function_as_main, :LLVMRunFunctionAsMain, [OpaqueExecutionEngine, :pointer, :uint, :pointer, :pointer], :int

.run_function_pass_manager(fpm, f) ⇒ Integer

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 llvm::FunctionPassManager::run(Function&)


5585
# File 'lib/llvm/core_ffi.rb', line 5585

attach_function :run_function_pass_manager, :LLVMRunFunctionPassManager, [:pointer, :pointer], :int

.run_pass_manager(pm, m) ⇒ Integer

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 llvm::PassManager::run(Module&)


5563
# File 'lib/llvm/core_ffi.rb', line 5563

attach_function :run_pass_manager, :LLVMRunPassManager, [:pointer, :pointer], :int

.run_passes(pmb, opt_level) ⇒ nil

/**

* Construct and run a set of passes over a module
*
* This function takes a string with the passes that should be used. The format
* of this string is the same as opt's -passes argument for the new pass
* manager. Individual passes may be specified, separated by commas. Full
* pipelines may also be invoked using `default<O3>` and friends. See opt for
* full reference of the Passes format.
*/

LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,

LLVMTargetMachineRef TM,
LLVMPassBuilderOptionsRef Options);


740
# File 'lib/llvm/pass_builder.rb', line 740

attach_function :run_passes, :LLVMRunPasses, [:pointer, :string, :pointer, :pointer], :pointer

.run_static_constructors(ee) ⇒ nil

(Not documented)



217
# File 'lib/llvm/execution_engine_ffi.rb', line 217

attach_function :run_static_constructors, :LLVMRunStaticConstructors, [OpaqueExecutionEngine], :void

.run_static_destructors(ee) ⇒ nil

(Not documented)



225
# File 'lib/llvm/execution_engine_ffi.rb', line 225

attach_function :run_static_destructors, :LLVMRunStaticDestructors, [OpaqueExecutionEngine], :void

.search_for_address_of_symbol(symbol_name) ⇒ FFI::Pointer(*Void)

(Not documented)



44
# File 'lib/llvm/core_ffi.rb', line 44

attach_function :search_for_address_of_symbol, :LLVMSearchForAddressOfSymbol, [:string], :pointer

.set_alignment(v, bytes) ⇒ nil

Set the preferred alignment of the value.

See Also:

  • llvmllvm::AllocaInstllvm::AllocaInst::setAlignment()
  • llvmllvm::LoadInstllvm::LoadInst::setAlignment()
  • llvmllvm::StoreInstllvm::StoreInst::setAlignment()
  • llvmllvm::GlobalValuellvm::GlobalValue::setAlignment()


3334
# File 'lib/llvm/core_ffi.rb', line 3334

attach_function :set_alignment, :LLVMSetAlignment, [:pointer, :uint], :void

.set_cleanup(landing_pad, val) ⇒ nil

Set the ‘cleanup’ flag in the landingpad instruction



4589
# File 'lib/llvm/core_ffi.rb', line 4589

attach_function :set_cleanup, :LLVMSetCleanup, [:pointer, :int], :void

.set_condition(branch, cond) ⇒ nil

Set the condition of a branch instruction.

This only works on llvm::BranchInst instructions.

See Also:

  • llvmllvm::BranchInstllvm::BranchInst::setCondition


4289
# File 'lib/llvm/core_ffi.rb', line 4289

attach_function :set_condition, :LLVMSetCondition, [:pointer, :pointer], :void

.set_current_debug_location(builder, l) ⇒ nil

Metadata



4438
# File 'lib/llvm/core_ffi.rb', line 4438

attach_function :set_current_debug_location, :LLVMSetCurrentDebugLocation, [:pointer, :pointer], :void

.set_data_layout(m, triple) ⇒ nil

Set the data layout for a module.

See Also:

  • Module::setDataLayout()


1038
# File 'lib/llvm/core_ffi.rb', line 1038

attach_function :set_data_layout, :LLVMSetDataLayout, [:pointer, :string], :void

.set_dll_storage_class(global, class_) ⇒ nil

(Not documented)



3292
# File 'lib/llvm/core_ffi.rb', line 3292

attach_function :set_dll_storage_class, :LLVMSetDLLStorageClass, [:pointer, :dll_storage_class], :void

.set_externally_initialized(global_var, is_ext_init) ⇒ nil

(Not documented)



3479
# File 'lib/llvm/core_ffi.rb', line 3479

attach_function :set_externally_initialized, :LLVMSetExternallyInitialized, [:pointer, :int], :void

.set_function_call_conv(fn, cc) ⇒ nil

Set the calling convention of a function.

See Also:

  • llvmllvm::Functionllvm::Function::setCallingConv()


3563
# File 'lib/llvm/core_ffi.rb', line 3563

attach_function :set_function_call_conv, :LLVMSetFunctionCallConv, [:pointer, :uint], :void

.set_gc(fn, name) ⇒ nil

Define the garbage collector to use during code generation.

See Also:

  • llvmllvm::Functionllvm::Function::setGC()


3585
# File 'lib/llvm/core_ffi.rb', line 3585

attach_function :set_gc, :LLVMSetGC, [:pointer, :string], :void

.set_global_constant(global_var, is_constant) ⇒ nil

(Not documented)



3445
# File 'lib/llvm/core_ffi.rb', line 3445

attach_function :set_global_constant, :LLVMSetGlobalConstant, [:pointer, :int], :void

.set_initializer(global_var, constant_val) ⇒ nil

(Not documented)



3427
# File 'lib/llvm/core_ffi.rb', line 3427

attach_function :set_initializer, :LLVMSetInitializer, [:pointer, :pointer], :void

.set_inst_debug_location(builder, inst) ⇒ nil

(Not documented)



4455
# File 'lib/llvm/core_ffi.rb', line 4455

attach_function :set_inst_debug_location, :LLVMSetInstDebugLocation, [:pointer, :pointer], :void

.set_instr_param_alignment(instr, index, align) ⇒ nil

(Not documented)



4194
# File 'lib/llvm/core_ffi.rb', line 4194

attach_function :set_instr_param_alignment, :LLVMSetInstrParamAlignment, [:pointer, :uint, :uint], :void

.set_instruction_call_conv(instr, cc) ⇒ nil

Set the calling convention for a call instruction.

This expects an LLVMValueRef that corresponds to a llvm::CallInst or llvm::InvokeInst.

See Also:

  • llvmllvm::CallInstllvm::CallInst::setCallingConv()
  • llvmllvm::InvokeInstllvm::InvokeInst::setCallingConv()


4171
# File 'lib/llvm/core_ffi.rb', line 4171

attach_function :set_instruction_call_conv, :LLVMSetInstructionCallConv, [:pointer, :uint], :void

.set_linkage(global, linkage) ⇒ nil

(Not documented)



3241
# File 'lib/llvm/core_ffi.rb', line 3241

attach_function :set_linkage, :LLVMSetLinkage, [:pointer, :linkage], :void

.set_metadata(val, kind_id, node) ⇒ nil

Set metadata associated with an instruction value.



4060
# File 'lib/llvm/core_ffi.rb', line 4060

attach_function :set_metadata, :LLVMSetMetadata, [:pointer, :uint, :pointer], :void

.set_module_data_layout(m, dl) ⇒ nil

(Not documented)



128
# File 'lib/llvm/target_ffi.rb', line 128

attach_function :set_module_data_layout, :LLVMSetModuleDataLayout, [:pointer, OpaqueTargetData], :void

.set_module_inline_asm(m, asm) ⇒ nil

Set inline assembly for a module.

See Also:

  • Module::setModuleInlineAsm()


1104
# File 'lib/llvm/core_ffi.rb', line 1104

attach_function :set_module_inline_asm, :LLVMSetModuleInlineAsm, [:pointer, :string], :void

.set_operand(user, index, val) ⇒ nil

Set an operand at a specific index in a llvm::User value.

See Also:

  • llvmllvm::Userllvm::User::setOperand()


2570
# File 'lib/llvm/core_ffi.rb', line 2570

attach_function :set_operand, :LLVMSetOperand, [:pointer, :uint, :pointer], :void

.set_ordering(memory_access_inst, ordering) ⇒ nil

(Not documented)



5041
# File 'lib/llvm/core_ffi.rb', line 5041

attach_function :set_ordering, :LLVMSetOrdering, [:pointer, :atomic_ordering], :void

.set_param_alignment(arg, align) ⇒ nil

Set the alignment for a function parameter.

See Also:

  • llvmllvm::Argumentllvm::Argument::addAttr()
  • llvmllvm::AttrBuilderllvm::AttrBuilder::addAlignmentAttr()


3704
# File 'lib/llvm/core_ffi.rb', line 3704

attach_function :set_param_alignment, :LLVMSetParamAlignment, [:pointer, :uint], :void

.set_personality_fn(fn, personality_fn) ⇒ nil

Set the personality function attached to the function.

See Also:

  • llvmllvm::Functionllvm::Function::setPersonalityFn()


3527
# File 'lib/llvm/core_ffi.rb', line 3527

attach_function :set_personality_fn, :LLVMSetPersonalityFn, [:pointer, :pointer], :void

.set_section(global, section) ⇒ nil

(Not documented)



3258
# File 'lib/llvm/core_ffi.rb', line 3258

attach_function :set_section, :LLVMSetSection, [:pointer, :string], :void

.set_successor(term, i, block) ⇒ nil

Update the specified successor to point at the provided block.

See Also:

  • llvmllvm::TerminatorInstllvm::TerminatorInst::setSuccessor


4252
# File 'lib/llvm/core_ffi.rb', line 4252

attach_function :set_successor, :LLVMSetSuccessor, [:pointer, :uint, :pointer], :void

.set_tail_call(call_inst, is_tail_call) ⇒ nil

Set whether a call instruction is a tail call.

This only works on llvm::CallInst instructions.

See Also:

  • llvmllvm::CallInstllvm::CallInst::setTailCall()


4219
# File 'lib/llvm/core_ffi.rb', line 4219

attach_function :set_tail_call, :LLVMSetTailCall, [:pointer, :int], :void

.set_target(m, triple) ⇒ nil

Set the target triple for a module.

See Also:

  • Module::setTargetTriple()


1059
# File 'lib/llvm/core_ffi.rb', line 1059

attach_function :set_target, :LLVMSetTarget, [:pointer, :string], :void

.set_target_machine_asm_verbosity(t, verbose_asm) ⇒ nil

Set the target machine’s ASM verbosity.



583
# File 'lib/llvm/target_ffi.rb', line 583

attach_function :set_target_machine_asm_verbosity, :LLVMSetTargetMachineAsmVerbosity, [OpaqueTargetMachine, :int], :void

.set_thread_local(global_var, is_thread_local) ⇒ nil

(Not documented)



3436
# File 'lib/llvm/core_ffi.rb', line 3436

attach_function :set_thread_local, :LLVMSetThreadLocal, [:pointer, :int], :void

.set_thread_local_mode(global_var, mode) ⇒ nil

(Not documented)



3462
# File 'lib/llvm/core_ffi.rb', line 3462

attach_function :set_thread_local_mode, :LLVMSetThreadLocalMode, [:pointer, :thread_local_mode], :void

.set_unnamed_addr(global, has_unnamed_addr) ⇒ nil

(Not documented)



3309
# File 'lib/llvm/core_ffi.rb', line 3309

attach_function :set_unnamed_addr, :LLVMSetUnnamedAddr, [:pointer, :int], :void

.set_value_name(val, name) ⇒ nil

Set the string name of a value.

See Also:

  • llvmllvm::Valuellvm::Value::setName()


1816
# File 'lib/llvm/core_ffi.rb', line 1816

attach_function :set_value_name, :LLVMSetValueName, [:pointer, :string], :void

.set_visibility(global, viz) ⇒ nil

(Not documented)



3275
# File 'lib/llvm/core_ffi.rb', line 3275

attach_function :set_visibility, :LLVMSetVisibility, [:pointer, :visibility], :void

.set_volatile(memory_access_inst, is_volatile) ⇒ nil

(Not documented)



5024
# File 'lib/llvm/core_ffi.rb', line 5024

attach_function :set_volatile, :LLVMSetVolatile, [:pointer, :int], :void

.shutdownnil

Deallocate and destroy all ManagedStatic variables.

@see llvm::llvm_shutdown
@see ManagedStatic


836
# File 'lib/llvm/core_ffi.rb', line 836

attach_function :shutdown, :LLVMShutdown, [], :void

.size_of(ty) ⇒ FFI::Pointer(ValueRef)

(Not documented)



2899
# File 'lib/llvm/core_ffi.rb', line 2899

attach_function :size_of, :LLVMSizeOf, [:pointer], :pointer

.size_of_type_in_bits(td, ty) ⇒ Integer

(Not documented)



231
# File 'lib/llvm/target_ffi.rb', line 231

attach_function :size_of_type_in_bits, :LLVMSizeOfTypeInBits, [OpaqueTargetData, :pointer], :ulong_long

.start_multithreadedInteger

Deprecated: Multi-threading can only be enabled/disabled with the compile

time define LLVM_ENABLE_THREADS.  This function always returns
LLVMIsMultithreaded().


5614
# File 'lib/llvm/core_ffi.rb', line 5614

attach_function :start_multithreaded, :LLVMStartMultithreaded, [], :int

.stop_multithreadednil

Deprecated: Multi-threading can only be enabled/disabled with the compile

time define LLVM_ENABLE_THREADS.


5622
# File 'lib/llvm/core_ffi.rb', line 5622

attach_function :stop_multithreaded, :LLVMStopMultithreaded, [], :void

.store_size_of_type(td, ty) ⇒ Integer

(Not documented)



240
# File 'lib/llvm/target_ffi.rb', line 240

attach_function :store_size_of_type, :LLVMStoreSizeOfType, [OpaqueTargetData, :pointer], :ulong_long

.struct_create_named(c, name) ⇒ FFI::Pointer(TypeRef)

Create an empty structure in a context having a specified name.

See Also:

  • llvmllvm::StructTypellvm::StructType::create()


1588
# File 'lib/llvm/core_ffi.rb', line 1588

attach_function :struct_create_named, :LLVMStructCreateNamed, [:pointer, :string], :pointer

.struct_get_type_at_index(struct_ty, i) ⇒ FFI::Pointer(TypeRef)

Get the type of the element at a given index in the structure.

See Also:

  • llvmllvm::StructTypellvm::StructType::getTypeAtIndex()


1648
# File 'lib/llvm/core_ffi.rb', line 1648

attach_function :struct_get_type_at_index, :LLVMStructGetTypeAtIndex, [:pointer, :uint], :pointer

.struct_set_body(struct_ty, element_types, element_count, packed) ⇒ nil

Set the contents of a structure type.

See Also:

  • llvmllvm::StructTypellvm::StructType::setBody()


1611
# File 'lib/llvm/core_ffi.rb', line 1611

attach_function :struct_set_body, :LLVMStructSetBody, [:pointer, :pointer, :uint, :int], :void

.struct_type(element_types, element_count, packed) ⇒ FFI::Pointer(TypeRef)

Create a new structure type in the global context.

See Also:

  • llvmllvm::StructTypellvm::StructType::create()


1577
# File 'lib/llvm/core_ffi.rb', line 1577

attach_function :struct_type, :LLVMStructType, [:pointer, :uint, :int], :pointer

.struct_type_in_context(c, element_types, element_count, packed) ⇒ FFI::Pointer(TypeRef)

Create a new structure type in a context.

A structure is specified by a list of inner elements/types and whether these can be packed together.

See Also:

  • llvmllvm::StructTypellvm::StructType::create()


1565
# File 'lib/llvm/core_ffi.rb', line 1565

attach_function :struct_type_in_context, :LLVMStructTypeInContext, [:pointer, :pointer, :uint, :int], :pointer

.target_has_asm_backend(t) ⇒ Integer

Returns if the target as an ASM backend (required for emitting output)



505
# File 'lib/llvm/target_ffi.rb', line 505

attach_function :target_has_asm_backend, :LLVMTargetHasAsmBackend, [Target], :int

.target_has_jit(t) ⇒ Integer

Returns if the target has a JIT



489
# File 'lib/llvm/target_ffi.rb', line 489

attach_function :target_has_jit, :LLVMTargetHasJIT, [Target], :int

.target_has_target_machine(t) ⇒ Integer

Returns if the target has a TargetMachine associated



497
# File 'lib/llvm/target_ffi.rb', line 497

attach_function :target_has_target_machine, :LLVMTargetHasTargetMachine, [Target], :int

.target_machine_emit_to_file(t, m, filename, codegen, error_message) ⇒ Integer

Emits an asm or object file for the given module to the filename. This

wraps several c++ only classes (among them a file stream). Returns any
error in ErrorMessage. Use LLVMDisposeMessage to dispose the message.


597
# File 'lib/llvm/target_ffi.rb', line 597

attach_function :target_machine_emit_to_file, :LLVMTargetMachineEmitToFile, [OpaqueTargetMachine, :pointer, :string, :code_gen_file_type, :pointer], :int

.target_machine_emit_to_memory_buffer(t, m, codegen, error_message, out_mem_buf) ⇒ Integer

Compile the LLVM IR stored in p M and store the result in p OutMemBuf.



609
# File 'lib/llvm/target_ffi.rb', line 609

attach_function :target_machine_emit_to_memory_buffer, :LLVMTargetMachineEmitToMemoryBuffer, [OpaqueTargetMachine, :pointer, :code_gen_file_type, :pointer, :pointer], :int

.type_is_sized(ty) ⇒ Integer

Whether the type has a known size.

Things that don’t have a size are abstract types, labels, and void.a

See Also:

  • llvmllvm::Typellvm::Type::isSized()


1254
# File 'lib/llvm/core_ffi.rb', line 1254

attach_function :type_is_sized, :LLVMTypeIsSized, [:pointer], :int

.type_of(val) ⇒ FFI::Pointer(TypeRef)

Obtain the type of a value.

See Also:

  • llvmllvm::Valuellvm::Value::getType()


1795
# File 'lib/llvm/core_ffi.rb', line 1795

attach_function :type_of, :LLVMTypeOf, [:pointer], :pointer

.value_as_basic_block(val) ⇒ FFI::Pointer(BasicBlockRef)

Convert an LLVMValueRef to an LLVMBasicBlockRef instance.



3815
# File 'lib/llvm/core_ffi.rb', line 3815

attach_function :value_as_basic_block, :LLVMValueAsBasicBlock, [:pointer], :pointer

.value_is_basic_block(val) ⇒ Integer

Determine whether an LLVMValueRef is itself a basic block.



3807
# File 'lib/llvm/core_ffi.rb', line 3807

attach_function :value_is_basic_block, :LLVMValueIsBasicBlock, [:pointer], :int

.vector_type(element_type, element_count) ⇒ FFI::Pointer(TypeRef)

Create a vector type that contains a defined type and has a specific number of elements.

The created type will exist in the context thats its element type exists in.

See Also:

  • llvmllvm::VectorTypellvm::VectorType::get()


1727
# File 'lib/llvm/core_ffi.rb', line 1727

attach_function :vector_type, :LLVMVectorType, [:pointer, :uint], :pointer

.verify_function(fn, action) ⇒ Integer

Verifies that a single function is valid, taking the specified action. Useful

for debugging.


59
# File 'lib/llvm/analysis_ffi.rb', line 59

attach_function :verify_function, :LLVMVerifyFunction, [:pointer, :verifier_failure_action], :int

.verify_module(m, action, out_message) ⇒ Integer

Verifies that a module is valid, taking the specified action if not.

Optionally returns a human-readable description of any invalid constructs.
OutMessage must be disposed with LLVMDisposeMessage.


49
# File 'lib/llvm/analysis_ffi.rb', line 49

attach_function :verify_module, :LLVMVerifyModule, [:pointer, :verifier_failure_action, :pointer], :int

.view_function_cfg(fn) ⇒ nil

Open up a ghostview window that displays the CFG of the current function.

Useful for debugging.


68
# File 'lib/llvm/analysis_ffi.rb', line 68

attach_function :view_function_cfg, :LLVMViewFunctionCFG, [:pointer], :void

.view_function_cfg_only(fn) ⇒ nil

(Not documented)



76
# File 'lib/llvm/analysis_ffi.rb', line 76

attach_function :view_function_cfg_only, :LLVMViewFunctionCFGOnly, [:pointer], :void

.void_typeFFI::Pointer(TypeRef)

These are similar to the above functions except they operate on the global context.



1771
# File 'lib/llvm/core_ffi.rb', line 1771

attach_function :void_type, :LLVMVoidType, [], :pointer

.void_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Create a void type in a context.



1747
# File 'lib/llvm/core_ffi.rb', line 1747

attach_function :void_type_in_context, :LLVMVoidTypeInContext, [:pointer], :pointer

.write_bitcode_to_fd(m, fd, should_close, unbuffered) ⇒ Integer

Writes a module to an open file descriptor. Returns 0 on success.



113
# File 'lib/llvm/core/bitcode_ffi.rb', line 113

attach_function :write_bitcode_to_fd, :LLVMWriteBitcodeToFD, [:pointer, :int, :int, :int], :int

.write_bitcode_to_file(m, path) ⇒ Integer

Writes a module to the specified path. Returns 0 on success.



102
# File 'lib/llvm/core/bitcode_ffi.rb', line 102

attach_function :write_bitcode_to_file, :LLVMWriteBitcodeToFile, [:pointer, :string], :int

.write_bitcode_to_file_handle(m, handle) ⇒ Integer

Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file

descriptor. Returns 0 on success. Closes the Handle.


123
# File 'lib/llvm/core/bitcode_ffi.rb', line 123

attach_function :write_bitcode_to_file_handle, :LLVMWriteBitcodeToFileHandle, [:pointer, :int], :int

.write_bitcode_to_memory_buffer(m) ⇒ FFI::Pointer(MemoryBufferRef)

Writes a module to a new memory buffer and returns it.



131
# File 'lib/llvm/core/bitcode_ffi.rb', line 131

attach_function :write_bitcode_to_memory_buffer, :LLVMWriteBitcodeToMemoryBuffer, [:pointer], :pointer

.x86amx_typeFFI::Pointer(TypeRef)

(Not documented)



107
# File 'lib/llvm/core_ffi_v2.rb', line 107

attach_function :x86amx_type, :LLVMX86AMXType, [], :pointer

.x86fp80_typeFFI::Pointer(TypeRef)

(Not documented)



1480
# File 'lib/llvm/core_ffi.rb', line 1480

attach_function :x86fp80_type, :LLVMX86FP80Type, [], :pointer

.x86fp80_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Obtain a 80-bit floating point type (X87) from a context.



1433
# File 'lib/llvm/core_ffi.rb', line 1433

attach_function :x86fp80_type_in_context, :LLVMX86FP80TypeInContext, [:pointer], :pointer

.x86mmx_typeFFI::Pointer(TypeRef)

(Not documented)



1785
# File 'lib/llvm/core_ffi.rb', line 1785

attach_function :x86mmx_type, :LLVMX86MMXType, [], :pointer

.x86mmx_type_in_context(c) ⇒ FFI::Pointer(TypeRef)

Create a X86 MMX type in a context.



1763
# File 'lib/llvm/core_ffi.rb', line 1763

attach_function :x86mmx_type_in_context, :LLVMX86MMXTypeInContext, [:pointer], :pointer