ruby-llvm 3.4.2 → 3.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/ext/ruby-llvm-support/support.cpp +0 -12
- data/lib/llvm.rb +0 -6
- data/lib/llvm/analysis_ffi.rb +5 -2
- data/lib/llvm/config.rb +3 -3
- data/lib/llvm/core/bitcode_ffi.rb +5 -7
- data/lib/llvm/core/value.rb +10 -2
- data/lib/llvm/core_ffi.rb +297 -108
- data/lib/llvm/execution_engine.rb +9 -2
- data/lib/llvm/execution_engine_ffi.rb +13 -2
- data/lib/llvm/linker.rb +3 -7
- data/lib/llvm/linker_ffi.rb +6 -3
- data/lib/llvm/support.rb +0 -8
- data/lib/llvm/target_ffi.rb +44 -78
- data/lib/llvm/transforms/builder_ffi.rb +1 -1
- data/lib/llvm/transforms/ipo_ffi.rb +2 -2
- data/lib/llvm/transforms/scalar_ffi.rb +18 -2
- data/lib/llvm/transforms/vectorize_ffi.rb +2 -2
- data/lib/llvm/version.rb +2 -2
- data/test/mcjit_test.rb +7 -0
- data/test/module_test.rb +4 -0
- data/test/target_test.rb +10 -10
- metadata +1 -2
- data/lib/llvm/support_ffi.rb +0 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e559929d919c913ffacaef820430b37093a23adc
|
4
|
+
data.tar.gz: d98b42343be29f103dbbb9f518cc304542d0fdff
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ad54d41292618fb2c48a56b89812e97ce66fd4a8708858d5137ac7064721fbe339eefe3c938f57af1c596acc8f019ff278f9e62d3a6e259e638cbd7dfcdd029
|
7
|
+
data.tar.gz: 2743c5a6ef7e374eb158f436d01ca39f1f0dd5f218957060f57fb54d5d205f14322ffc2957b39f4cf2f60e78feefd5cb314723fb11012d76885b0c001beecf6e
|
@@ -2,21 +2,9 @@
|
|
2
2
|
* Extended bindings for LLVM.
|
3
3
|
*/
|
4
4
|
|
5
|
-
#include <llvm-c/Core.h>
|
6
|
-
#include <llvm/IR/GlobalValue.h>
|
7
5
|
#include <llvm/Support/TargetSelect.h>
|
8
6
|
|
9
7
|
extern "C" {
|
10
|
-
using namespace llvm;
|
11
|
-
|
12
|
-
LLVMBool LLVMHasUnnamedAddr(LLVMValueRef global) {
|
13
|
-
return unwrap<GlobalValue>(global)->hasUnnamedAddr();
|
14
|
-
}
|
15
|
-
|
16
|
-
void LLVMSetUnnamedAddr(LLVMValueRef global, LLVMBool val) {
|
17
|
-
unwrap<GlobalValue>(global)->setUnnamedAddr(val != 0);
|
18
|
-
}
|
19
|
-
|
20
8
|
void LLVMInitializeAllTargetInfos() {
|
21
9
|
llvm::InitializeAllTargetInfos();
|
22
10
|
}
|
data/lib/llvm.rb
CHANGED
data/lib/llvm/analysis_ffi.rb
CHANGED
@@ -4,7 +4,7 @@ require 'ffi'
|
|
4
4
|
|
5
5
|
module LLVM::C
|
6
6
|
extend FFI::Library
|
7
|
-
ffi_lib
|
7
|
+
ffi_lib ["libLLVM-3.5.so.1", "LLVM-3.5"]
|
8
8
|
|
9
9
|
def self.attach_function(name, *_)
|
10
10
|
begin; super; rescue FFI::NotFoundError => e
|
@@ -12,7 +12,10 @@ module LLVM::C
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
#
|
15
|
+
# @defgroup LLVMCAnalysis Analysis
|
16
|
+
# @ingroup LLVMC
|
17
|
+
#
|
18
|
+
# @{
|
16
19
|
#
|
17
20
|
# <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:verifier_failure_action).</em>
|
18
21
|
#
|
data/lib/llvm/config.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Generated by ruby-llvm. Please do not change this file by hand.
|
2
2
|
module LLVM
|
3
3
|
module CONFIG
|
4
|
-
COMPONENTS = ["aarch64", "aarch64asmparser", "aarch64asmprinter", "aarch64codegen", "aarch64desc", "aarch64disassembler", "aarch64info", "aarch64utils", "all", "all-targets", "analysis", "arm", "armasmparser", "armasmprinter", "armcodegen", "armdesc", "armdisassembler", "arminfo", "asmparser", "asmprinter", "bitreader", "bitwriter", "codegen", "core", "cppbackend", "cppbackendcodegen", "cppbackendinfo", "debuginfo", "engine", "executionengine", "hexagon", "hexagonasmprinter", "hexagoncodegen", "hexagondesc", "hexagoninfo", "instcombine", "instrumentation", "interpreter", "ipa", "ipo", "irreader", "jit", "linker", "lto", "mc", "mcdisassembler", "mcjit", "mcparser", "mips", "mipsasmparser", "mipsasmprinter", "mipscodegen", "mipsdesc", "mipsdisassembler", "mipsinfo", "msp430", "msp430asmprinter", "msp430codegen", "msp430desc", "msp430info", "native", "nativecodegen", "nvptx", "nvptxasmprinter", "nvptxcodegen", "nvptxdesc", "nvptxinfo", "objcarcopts", "object", "option", "powerpc", "powerpcasmparser", "powerpcasmprinter", "powerpccodegen", "powerpcdesc", "powerpcinfo", "r600", "r600asmprinter", "r600codegen", "r600desc", "r600info", "runtimedyld", "scalaropts", "selectiondag", "sparc", "sparccodegen", "sparcdesc", "sparcinfo", "support", "systemz", "systemzasmparser", "systemzasmprinter", "systemzcodegen", "systemzdesc", "systemzdisassembler", "systemzinfo", "tablegen", "target", "transformutils", "vectorize", "x86", "x86asmparser", "x86asmprinter", "x86codegen", "x86desc", "x86disassembler", "x86info", "x86utils", "xcore", "xcoreasmprinter", "xcorecodegen", "xcoredesc", "xcoredisassembler", "xcoreinfo"]
|
5
|
-
TARGETS_BUILT = ["X86", "Sparc", "PowerPC", "
|
4
|
+
COMPONENTS = ["aarch64", "aarch64asmparser", "aarch64asmprinter", "aarch64codegen", "aarch64desc", "aarch64disassembler", "aarch64info", "aarch64utils", "all", "all-targets", "analysis", "arm", "armasmparser", "armasmprinter", "armcodegen", "armdesc", "armdisassembler", "arminfo", "asmparser", "asmprinter", "bitreader", "bitwriter", "codegen", "core", "cppbackend", "cppbackendcodegen", "cppbackendinfo", "debuginfo", "engine", "executionengine", "hexagon", "hexagonasmprinter", "hexagoncodegen", "hexagondesc", "hexagoninfo", "instcombine", "instrumentation", "interpreter", "ipa", "ipo", "irreader", "jit", "lineeditor", "linker", "lto", "mc", "mcanalysis", "mcdisassembler", "mcjit", "mcparser", "mips", "mipsasmparser", "mipsasmprinter", "mipscodegen", "mipsdesc", "mipsdisassembler", "mipsinfo", "msp430", "msp430asmprinter", "msp430codegen", "msp430desc", "msp430info", "native", "nativecodegen", "nvptx", "nvptxasmprinter", "nvptxcodegen", "nvptxdesc", "nvptxinfo", "objcarcopts", "object", "option", "powerpc", "powerpcasmparser", "powerpcasmprinter", "powerpccodegen", "powerpcdesc", "powerpcdisassembler", "powerpcinfo", "profiledata", "r600", "r600asmprinter", "r600codegen", "r600desc", "r600info", "runtimedyld", "scalaropts", "selectiondag", "sparc", "sparcasmparser", "sparcasmprinter", "sparccodegen", "sparcdesc", "sparcdisassembler", "sparcinfo", "support", "systemz", "systemzasmparser", "systemzasmprinter", "systemzcodegen", "systemzdesc", "systemzdisassembler", "systemzinfo", "tablegen", "target", "transformutils", "vectorize", "x86", "x86asmparser", "x86asmprinter", "x86codegen", "x86desc", "x86disassembler", "x86info", "x86utils", "xcore", "xcoreasmprinter", "xcorecodegen", "xcoredesc", "xcoredisassembler", "xcoreinfo"]
|
5
|
+
TARGETS_BUILT = ["X86", "Sparc", "PowerPC", "ARM", "AArch64", "Mips", "XCore", "MSP430", "CppBackend", "NVPTX", "Hexagon", "SystemZ", "R600"]
|
6
6
|
HOST_TARGET = "x86_64-pc-linux-gnu "
|
7
7
|
BUILD_MODE = "Release "
|
8
|
-
CFLAGS = "-I/usr/lib/llvm-3.
|
8
|
+
CFLAGS = "-I/usr/lib/llvm-3.5/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -fomit-frame-pointer -fPIC "
|
9
9
|
end
|
10
10
|
end
|
@@ -4,7 +4,7 @@ require 'ffi'
|
|
4
4
|
|
5
5
|
module LLVM::C
|
6
6
|
extend FFI::Library
|
7
|
-
ffi_lib
|
7
|
+
ffi_lib ["libLLVM-3.5.so.1", "LLVM-3.5"]
|
8
8
|
|
9
9
|
def self.attach_function(name, *_)
|
10
10
|
begin; super; rescue FFI::NotFoundError => e
|
@@ -33,9 +33,7 @@ module LLVM::C
|
|
33
33
|
# @scope class
|
34
34
|
attach_function :parse_bitcode_in_context, :LLVMParseBitcodeInContext, [:pointer, :pointer, :pointer, :pointer], :int
|
35
35
|
|
36
|
-
#
|
37
|
-
# a module provider which performs lazy deserialization. Returns 0 on success.
|
38
|
-
# Optionally returns a human-readable error message via OutMessage.
|
36
|
+
# (Not documented)
|
39
37
|
#
|
40
38
|
# @method get_bitcode_module_in_context(context_ref, mem_buf, out_m, out_message)
|
41
39
|
# @param [FFI::Pointer(ContextRef)] context_ref
|
@@ -56,7 +54,7 @@ module LLVM::C
|
|
56
54
|
# @scope class
|
57
55
|
attach_function :get_bitcode_module, :LLVMGetBitcodeModule, [:pointer, :pointer, :pointer], :int
|
58
56
|
|
59
|
-
#
|
57
|
+
# (Not documented)
|
60
58
|
#
|
61
59
|
# @method get_bitcode_module_provider_in_context(context_ref, mem_buf, out_mp, out_message)
|
62
60
|
# @param [FFI::Pointer(ContextRef)] context_ref
|
@@ -67,7 +65,7 @@ module LLVM::C
|
|
67
65
|
# @scope class
|
68
66
|
attach_function :get_bitcode_module_provider_in_context, :LLVMGetBitcodeModuleProviderInContext, [:pointer, :pointer, :pointer, :pointer], :int
|
69
67
|
|
70
|
-
#
|
68
|
+
# (Not documented)
|
71
69
|
#
|
72
70
|
# @method get_bitcode_module_provider(mem_buf, out_mp, out_message)
|
73
71
|
# @param [FFI::Pointer(MemoryBufferRef)] mem_buf
|
@@ -77,7 +75,7 @@ module LLVM::C
|
|
77
75
|
# @scope class
|
78
76
|
attach_function :get_bitcode_module_provider, :LLVMGetBitcodeModuleProvider, [:pointer, :pointer, :pointer], :int
|
79
77
|
|
80
|
-
#
|
78
|
+
# Writes a module to the specified path. Returns 0 on success.
|
81
79
|
#
|
82
80
|
# @method write_bitcode_to_file(m, path)
|
83
81
|
# @param [FFI::Pointer(ModuleRef)] m
|
data/lib/llvm/core/value.rb
CHANGED
@@ -652,11 +652,19 @@ module LLVM
|
|
652
652
|
end
|
653
653
|
|
654
654
|
def unnamed_addr?
|
655
|
-
|
655
|
+
C.has_unnamed_addr(self) != 0
|
656
656
|
end
|
657
657
|
|
658
658
|
def unnamed_addr=(flag)
|
659
|
-
|
659
|
+
C.set_unnamed_addr(self, flag ? 1 : 0)
|
660
|
+
end
|
661
|
+
|
662
|
+
def dll_storage_class
|
663
|
+
C.get_dll_storage_class(self)
|
664
|
+
end
|
665
|
+
|
666
|
+
def dll_storage_class=(klass)
|
667
|
+
C.set_dll_storage_class(self, klass)
|
660
668
|
end
|
661
669
|
end
|
662
670
|
|
data/lib/llvm/core_ffi.rb
CHANGED
@@ -4,7 +4,7 @@ require 'ffi'
|
|
4
4
|
|
5
5
|
module LLVM::C
|
6
6
|
extend FFI::Library
|
7
|
-
ffi_lib
|
7
|
+
ffi_lib ["libLLVM-3.5.so.1", "LLVM-3.5"]
|
8
8
|
|
9
9
|
def self.attach_function(name, *_)
|
10
10
|
begin; super; rescue FFI::NotFoundError => e
|
@@ -12,7 +12,29 @@ module LLVM::C
|
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
|
-
|
15
|
+
def for_each_value_subclass(macro)
|
16
|
+
macroARGUMENTmacroBASIC_BLOCKmacroINLINE_ASMmacroMD_NODEmacroMD_STRINGmacroUSERmacroCONSTANTmacroBLOCK_ADDRESSmacroCONSTANT_AGGREGATE_ZEROmacroCONSTANT_ARRAYmacroCONSTANT_DATA_SEQUENTIALmacroCONSTANT_DATA_ARRAYmacroCONSTANT_DATA_VECTORmacroCONSTANT_EXPRmacroCONSTANT_FPmacroCONSTANT_INTmacroCONSTANT_POINTER_NULLmacroCONSTANT_STRUCTmacroCONSTANT_VECTORmacroGLOBAL_VALUEmacroGLOBAL_ALIASmacroGLOBAL_OBJECTmacroFUNCTIONmacroGLOBAL_VARIABLEmacroUNDEF_VALUEmacroINSTRUCTIONmacroBINARY_OPERATORmacroCALL_INSTmacroINTRINSIC_INSTmacroDBG_INFO_INTRINSICmacroDBG_DECLARE_INSTmacroMEM_INTRINSICmacroMEM_CPY_INSTmacroMEM_MOVE_INSTmacroMEM_SET_INSTmacroCMP_INSTmacroF_CMP_INSTmacroI_CMP_INSTmacroEXTRACT_ELEMENT_INSTmacroGET_ELEMENT_PTR_INSTmacroINSERT_ELEMENT_INSTmacroINSERT_VALUE_INSTmacroLANDING_PAD_INSTmacroPHI_NODEmacroSELECT_INSTmacroSHUFFLE_VECTOR_INSTmacroSTORE_INSTmacroTERMINATOR_INSTmacroBRANCH_INSTmacroINDIRECT_BR_INSTmacroINVOKE_INSTmacroRETURN_INSTmacroSWITCH_INSTmacroUNREACHABLE_INSTmacroRESUME_INSTmacroUNARY_INSTRUCTIONmacroALLOCA_INSTmacroCAST_INSTmacroADDR_SPACE_CAST_INSTmacroBIT_CAST_INSTmacroFP_EXT_INSTmacroFP_TO_SI_INSTmacroFP_TO_UI_INSTmacroFP_TRUNC_INSTmacroINT_TO_PTR_INSTmacroPTR_TO_INT_INSTmacroS_EXT_INSTmacroSI_TO_FP_INSTmacroTRUNC_INSTmacroUI_TO_FP_INSTmacroZ_EXT_INSTmacroEXTRACT_VALUE_INSTmacroLOAD_INSTmacroVA_ARG_INST
|
17
|
+
end
|
18
|
+
|
19
|
+
# Used to pass regions of memory through LLVM interfaces.
|
20
|
+
#
|
21
|
+
# @see llvm::MemoryBuffer
|
22
|
+
class OpaqueMemoryBuffer < FFI::Struct
|
23
|
+
layout :dummy, :char
|
24
|
+
end
|
25
|
+
|
26
|
+
# This function permanently loads the dynamic library at the given path.
|
27
|
+
# It is safe to call this function multiple times for the same library.
|
28
|
+
#
|
29
|
+
# @see sys::DynamicLibrary::LoadLibraryPermanently()
|
30
|
+
#
|
31
|
+
# @method load_library_permanently(filename)
|
32
|
+
# @param [String] filename
|
33
|
+
# @return [Integer]
|
34
|
+
# @scope class
|
35
|
+
attach_function :load_library_permanently, :LLVMLoadLibraryPermanently, [:string], :int
|
36
|
+
|
37
|
+
# (Not documented)
|
16
38
|
class OpaqueContext < FFI::Struct
|
17
39
|
layout :dummy, :char
|
18
40
|
end
|
@@ -60,13 +82,6 @@ module LLVM::C
|
|
60
82
|
layout :dummy, :char
|
61
83
|
end
|
62
84
|
|
63
|
-
# Used to provide a module to JIT or interpreter.
|
64
|
-
#
|
65
|
-
# @see llvm::MemoryBuffer
|
66
|
-
class OpaqueMemoryBuffer < FFI::Struct
|
67
|
-
layout :dummy, :char
|
68
|
-
end
|
69
|
-
|
70
85
|
# @see llvm::PassManagerBase
|
71
86
|
class OpaquePassManager < FFI::Struct
|
72
87
|
layout :dummy, :char
|
@@ -84,6 +99,11 @@ module LLVM::C
|
|
84
99
|
layout :dummy, :char
|
85
100
|
end
|
86
101
|
|
102
|
+
# @see llvm::DiagnosticInfo
|
103
|
+
class OpaqueDiagnosticInfo < FFI::Struct
|
104
|
+
layout :dummy, :char
|
105
|
+
end
|
106
|
+
|
87
107
|
# (Not documented)
|
88
108
|
#
|
89
109
|
# <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:attribute).</em>
|
@@ -139,6 +159,8 @@ module LLVM::C
|
|
139
159
|
#
|
140
160
|
# :uw_table ::
|
141
161
|
#
|
162
|
+
# :non_lazy_bind ::
|
163
|
+
#
|
142
164
|
#
|
143
165
|
# @method _enum_attribute_
|
144
166
|
# @return [Symbol]
|
@@ -168,7 +190,8 @@ module LLVM::C
|
|
168
190
|
:inline_hint_attribute, 33554432,
|
169
191
|
:stack_alignment, 469762048,
|
170
192
|
:returns_twice, 536870912,
|
171
|
-
:uw_table, 1073741824
|
193
|
+
:uw_table, 1073741824,
|
194
|
+
:non_lazy_bind, 2147483648
|
172
195
|
]
|
173
196
|
|
174
197
|
# (Not documented)
|
@@ -451,9 +474,9 @@ module LLVM::C
|
|
451
474
|
# :dll_import ::
|
452
475
|
# < Like Internal, but omit from symbol table
|
453
476
|
# :dll_export ::
|
454
|
-
# <
|
477
|
+
# < Obsolete
|
455
478
|
# :external_weak ::
|
456
|
-
# <
|
479
|
+
# < Obsolete
|
457
480
|
# :ghost ::
|
458
481
|
# < ExternalWeak linkage description
|
459
482
|
# :common ::
|
@@ -507,6 +530,27 @@ module LLVM::C
|
|
507
530
|
:protected, 2
|
508
531
|
]
|
509
532
|
|
533
|
+
# (Not documented)
|
534
|
+
#
|
535
|
+
# <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:dll_storage_class).</em>
|
536
|
+
#
|
537
|
+
# === Options:
|
538
|
+
# :default ::
|
539
|
+
#
|
540
|
+
# :dll_import ::
|
541
|
+
#
|
542
|
+
# :dll_export ::
|
543
|
+
# < Function to be imported from DLL.
|
544
|
+
#
|
545
|
+
# @method _enum_dll_storage_class_
|
546
|
+
# @return [Symbol]
|
547
|
+
# @scope class
|
548
|
+
enum :dll_storage_class, [
|
549
|
+
:default, 0,
|
550
|
+
:dll_import, 1,
|
551
|
+
:dll_export, 2
|
552
|
+
]
|
553
|
+
|
510
554
|
# (Not documented)
|
511
555
|
#
|
512
556
|
# <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:call_conv).</em>
|
@@ -711,6 +755,11 @@ module LLVM::C
|
|
711
755
|
# < Release is similar to Acquire, but with
|
712
756
|
# a barrier of the sort necessary to release
|
713
757
|
# a lock.
|
758
|
+
# :sequentially_consistent ::
|
759
|
+
# < provides both an Acquire and a
|
760
|
+
# Release barrier (for fences and
|
761
|
+
# operations which both read and write
|
762
|
+
# memory).
|
714
763
|
#
|
715
764
|
# @method _enum_atomic_ordering_
|
716
765
|
# @return [Symbol]
|
@@ -721,7 +770,8 @@ module LLVM::C
|
|
721
770
|
:monotonic, 2,
|
722
771
|
:acquire, 4,
|
723
772
|
:release, 5,
|
724
|
-
:acquire_release, 6
|
773
|
+
:acquire_release, 6,
|
774
|
+
:sequentially_consistent, 7
|
725
775
|
]
|
726
776
|
|
727
777
|
# (Not documented)
|
@@ -775,6 +825,30 @@ module LLVM::C
|
|
775
825
|
:u_min, 10
|
776
826
|
]
|
777
827
|
|
828
|
+
# (Not documented)
|
829
|
+
#
|
830
|
+
# <em>This entry is only for documentation and no real method. The FFI::Enum can be accessed via #enum_type(:diagnostic_severity).</em>
|
831
|
+
#
|
832
|
+
# === Options:
|
833
|
+
# :ds_error ::
|
834
|
+
#
|
835
|
+
# :ds_warning ::
|
836
|
+
#
|
837
|
+
# :ds_remark ::
|
838
|
+
#
|
839
|
+
# :ds_note ::
|
840
|
+
#
|
841
|
+
#
|
842
|
+
# @method _enum_diagnostic_severity_
|
843
|
+
# @return [Symbol]
|
844
|
+
# @scope class
|
845
|
+
enum :diagnostic_severity, [
|
846
|
+
:ds_error, 0,
|
847
|
+
:ds_warning, 1,
|
848
|
+
:ds_remark, 2,
|
849
|
+
:ds_note, 3
|
850
|
+
]
|
851
|
+
|
778
852
|
# @}
|
779
853
|
#
|
780
854
|
# @method initialize_core(r)
|
@@ -837,6 +911,34 @@ module LLVM::C
|
|
837
911
|
# @scope class
|
838
912
|
attach_function :enable_pretty_stack_trace, :LLVMEnablePrettyStackTrace, [], :void
|
839
913
|
|
914
|
+
# @defgroup LLVMCCoreContext Contexts
|
915
|
+
#
|
916
|
+
# Contexts are execution states for the core LLVM IR system.
|
917
|
+
#
|
918
|
+
# Most types are tied to a context instance. Multiple contexts can
|
919
|
+
# exist simultaneously. A single context is not thread safe. However,
|
920
|
+
# different contexts can execute on different threads simultaneously.
|
921
|
+
#
|
922
|
+
# @{
|
923
|
+
#
|
924
|
+
# <em>This entry is only for documentation and no real method.</em>
|
925
|
+
#
|
926
|
+
# @method _callback_diagnostic_handler_(void)
|
927
|
+
# @param [FFI::Pointer(*Void)] void
|
928
|
+
# @return [OpaqueDiagnosticInfo]
|
929
|
+
# @scope class
|
930
|
+
callback :diagnostic_handler, [:pointer], OpaqueDiagnosticInfo
|
931
|
+
|
932
|
+
# (Not documented)
|
933
|
+
#
|
934
|
+
# <em>This entry is only for documentation and no real method.</em>
|
935
|
+
#
|
936
|
+
# @method _callback_yield_callback_(void)
|
937
|
+
# @param [FFI::Pointer(*Void)] void
|
938
|
+
# @return [OpaqueContext]
|
939
|
+
# @scope class
|
940
|
+
callback :yield_callback, [:pointer], OpaqueContext
|
941
|
+
|
840
942
|
# Create a new context.
|
841
943
|
#
|
842
944
|
# Every call to this function should be paired with a call to
|
@@ -854,6 +956,28 @@ module LLVM::C
|
|
854
956
|
# @scope class
|
855
957
|
attach_function :get_global_context, :LLVMGetGlobalContext, [], OpaqueContext
|
856
958
|
|
959
|
+
# Set the diagnostic handler for this context.
|
960
|
+
#
|
961
|
+
# @method context_set_diagnostic_handler(c, handler, diagnostic_context)
|
962
|
+
# @param [OpaqueContext] c
|
963
|
+
# @param [Proc(_callback_diagnostic_handler_)] handler
|
964
|
+
# @param [FFI::Pointer(*Void)] diagnostic_context
|
965
|
+
# @return [nil]
|
966
|
+
# @scope class
|
967
|
+
attach_function :context_set_diagnostic_handler, :LLVMContextSetDiagnosticHandler, [OpaqueContext, :diagnostic_handler, :pointer], :void
|
968
|
+
|
969
|
+
# Set the yield callback function for this context.
|
970
|
+
#
|
971
|
+
# @see LLVMContext::setYieldCallback()
|
972
|
+
#
|
973
|
+
# @method context_set_yield_callback(c, callback, opaque_handle)
|
974
|
+
# @param [OpaqueContext] c
|
975
|
+
# @param [Proc(_callback_yield_callback_)] callback
|
976
|
+
# @param [FFI::Pointer(*Void)] opaque_handle
|
977
|
+
# @return [nil]
|
978
|
+
# @scope class
|
979
|
+
attach_function :context_set_yield_callback, :LLVMContextSetYieldCallback, [OpaqueContext, :yield_callback, :pointer], :void
|
980
|
+
|
857
981
|
# Destroy a context instance.
|
858
982
|
#
|
859
983
|
# This should be called for every call to LLVMContextCreate() or memory
|
@@ -865,6 +989,27 @@ module LLVM::C
|
|
865
989
|
# @scope class
|
866
990
|
attach_function :context_dispose, :LLVMContextDispose, [OpaqueContext], :void
|
867
991
|
|
992
|
+
# Return a string representation of the DiagnosticInfo. Use
|
993
|
+
# LLVMDisposeMessage to free the string.
|
994
|
+
#
|
995
|
+
# @see DiagnosticInfo::print()
|
996
|
+
#
|
997
|
+
# @method get_diag_info_description(di)
|
998
|
+
# @param [OpaqueDiagnosticInfo] di
|
999
|
+
# @return [String]
|
1000
|
+
# @scope class
|
1001
|
+
attach_function :get_diag_info_description, :LLVMGetDiagInfoDescription, [OpaqueDiagnosticInfo], :string
|
1002
|
+
|
1003
|
+
# Return an enum LLVMDiagnosticSeverity.
|
1004
|
+
#
|
1005
|
+
# @see DiagnosticInfo::getSeverity()
|
1006
|
+
#
|
1007
|
+
# @method get_diag_info_severity(di)
|
1008
|
+
# @param [OpaqueDiagnosticInfo] di
|
1009
|
+
# @return [Symbol from _enum_diagnostic_severity_]
|
1010
|
+
# @scope class
|
1011
|
+
attach_function :get_diag_info_severity, :LLVMGetDiagInfoSeverity, [OpaqueDiagnosticInfo], :diagnostic_severity
|
1012
|
+
|
868
1013
|
# (Not documented)
|
869
1014
|
#
|
870
1015
|
# @method get_md_kind_id_in_context(c, name, s_len)
|
@@ -1762,15 +1907,7 @@ module LLVM::C
|
|
1762
1907
|
# @scope class
|
1763
1908
|
attach_function :is_undef, :LLVMIsUndef, [OpaqueValue], :int
|
1764
1909
|
|
1765
|
-
#
|
1766
|
-
#
|
1767
|
-
# Internally, an LLVMValueRef is "pinned" to a specific type. This
|
1768
|
-
# series of functions allows you to cast an instance to a specific
|
1769
|
-
# type.
|
1770
|
-
#
|
1771
|
-
# If the cast is not valid for the specified type, NULL is returned.
|
1772
|
-
#
|
1773
|
-
# @see llvm::dyn_cast_or_null<>
|
1910
|
+
# (Not documented)
|
1774
1911
|
#
|
1775
1912
|
# @method is_a_argument(val)
|
1776
1913
|
# @param [OpaqueValue] val
|
@@ -1778,7 +1915,7 @@ module LLVM::C
|
|
1778
1915
|
# @scope class
|
1779
1916
|
attach_function :is_a_argument, :LLVMIsAArgument, [OpaqueValue], OpaqueValue
|
1780
1917
|
|
1781
|
-
#
|
1918
|
+
# (Not documented)
|
1782
1919
|
#
|
1783
1920
|
# @method is_a_basic_block(val)
|
1784
1921
|
# @param [OpaqueValue] val
|
@@ -1786,7 +1923,7 @@ module LLVM::C
|
|
1786
1923
|
# @scope class
|
1787
1924
|
attach_function :is_a_basic_block, :LLVMIsABasicBlock, [OpaqueValue], OpaqueValue
|
1788
1925
|
|
1789
|
-
#
|
1926
|
+
# (Not documented)
|
1790
1927
|
#
|
1791
1928
|
# @method is_a_inline_asm(val)
|
1792
1929
|
# @param [OpaqueValue] val
|
@@ -1794,7 +1931,7 @@ module LLVM::C
|
|
1794
1931
|
# @scope class
|
1795
1932
|
attach_function :is_a_inline_asm, :LLVMIsAInlineAsm, [OpaqueValue], OpaqueValue
|
1796
1933
|
|
1797
|
-
#
|
1934
|
+
# (Not documented)
|
1798
1935
|
#
|
1799
1936
|
# @method is_amd_node(val)
|
1800
1937
|
# @param [OpaqueValue] val
|
@@ -1802,7 +1939,7 @@ module LLVM::C
|
|
1802
1939
|
# @scope class
|
1803
1940
|
attach_function :is_amd_node, :LLVMIsAMDNode, [OpaqueValue], OpaqueValue
|
1804
1941
|
|
1805
|
-
#
|
1942
|
+
# (Not documented)
|
1806
1943
|
#
|
1807
1944
|
# @method is_amd_string(val)
|
1808
1945
|
# @param [OpaqueValue] val
|
@@ -1810,7 +1947,7 @@ module LLVM::C
|
|
1810
1947
|
# @scope class
|
1811
1948
|
attach_function :is_amd_string, :LLVMIsAMDString, [OpaqueValue], OpaqueValue
|
1812
1949
|
|
1813
|
-
#
|
1950
|
+
# (Not documented)
|
1814
1951
|
#
|
1815
1952
|
# @method is_a_user(val)
|
1816
1953
|
# @param [OpaqueValue] val
|
@@ -1818,7 +1955,7 @@ module LLVM::C
|
|
1818
1955
|
# @scope class
|
1819
1956
|
attach_function :is_a_user, :LLVMIsAUser, [OpaqueValue], OpaqueValue
|
1820
1957
|
|
1821
|
-
#
|
1958
|
+
# (Not documented)
|
1822
1959
|
#
|
1823
1960
|
# @method is_a_constant(val)
|
1824
1961
|
# @param [OpaqueValue] val
|
@@ -1826,7 +1963,7 @@ module LLVM::C
|
|
1826
1963
|
# @scope class
|
1827
1964
|
attach_function :is_a_constant, :LLVMIsAConstant, [OpaqueValue], OpaqueValue
|
1828
1965
|
|
1829
|
-
#
|
1966
|
+
# (Not documented)
|
1830
1967
|
#
|
1831
1968
|
# @method is_a_block_address(val)
|
1832
1969
|
# @param [OpaqueValue] val
|
@@ -1834,7 +1971,7 @@ module LLVM::C
|
|
1834
1971
|
# @scope class
|
1835
1972
|
attach_function :is_a_block_address, :LLVMIsABlockAddress, [OpaqueValue], OpaqueValue
|
1836
1973
|
|
1837
|
-
#
|
1974
|
+
# (Not documented)
|
1838
1975
|
#
|
1839
1976
|
# @method is_a_constant_aggregate_zero(val)
|
1840
1977
|
# @param [OpaqueValue] val
|
@@ -1842,7 +1979,7 @@ module LLVM::C
|
|
1842
1979
|
# @scope class
|
1843
1980
|
attach_function :is_a_constant_aggregate_zero, :LLVMIsAConstantAggregateZero, [OpaqueValue], OpaqueValue
|
1844
1981
|
|
1845
|
-
#
|
1982
|
+
# (Not documented)
|
1846
1983
|
#
|
1847
1984
|
# @method is_a_constant_array(val)
|
1848
1985
|
# @param [OpaqueValue] val
|
@@ -1850,7 +1987,7 @@ module LLVM::C
|
|
1850
1987
|
# @scope class
|
1851
1988
|
attach_function :is_a_constant_array, :LLVMIsAConstantArray, [OpaqueValue], OpaqueValue
|
1852
1989
|
|
1853
|
-
#
|
1990
|
+
# (Not documented)
|
1854
1991
|
#
|
1855
1992
|
# @method is_a_constant_data_sequential(val)
|
1856
1993
|
# @param [OpaqueValue] val
|
@@ -1858,7 +1995,7 @@ module LLVM::C
|
|
1858
1995
|
# @scope class
|
1859
1996
|
attach_function :is_a_constant_data_sequential, :LLVMIsAConstantDataSequential, [OpaqueValue], OpaqueValue
|
1860
1997
|
|
1861
|
-
#
|
1998
|
+
# (Not documented)
|
1862
1999
|
#
|
1863
2000
|
# @method is_a_constant_data_array(val)
|
1864
2001
|
# @param [OpaqueValue] val
|
@@ -1866,7 +2003,7 @@ module LLVM::C
|
|
1866
2003
|
# @scope class
|
1867
2004
|
attach_function :is_a_constant_data_array, :LLVMIsAConstantDataArray, [OpaqueValue], OpaqueValue
|
1868
2005
|
|
1869
|
-
#
|
2006
|
+
# (Not documented)
|
1870
2007
|
#
|
1871
2008
|
# @method is_a_constant_data_vector(val)
|
1872
2009
|
# @param [OpaqueValue] val
|
@@ -1874,7 +2011,7 @@ module LLVM::C
|
|
1874
2011
|
# @scope class
|
1875
2012
|
attach_function :is_a_constant_data_vector, :LLVMIsAConstantDataVector, [OpaqueValue], OpaqueValue
|
1876
2013
|
|
1877
|
-
#
|
2014
|
+
# (Not documented)
|
1878
2015
|
#
|
1879
2016
|
# @method is_a_constant_expr(val)
|
1880
2017
|
# @param [OpaqueValue] val
|
@@ -1882,7 +2019,7 @@ module LLVM::C
|
|
1882
2019
|
# @scope class
|
1883
2020
|
attach_function :is_a_constant_expr, :LLVMIsAConstantExpr, [OpaqueValue], OpaqueValue
|
1884
2021
|
|
1885
|
-
#
|
2022
|
+
# (Not documented)
|
1886
2023
|
#
|
1887
2024
|
# @method is_a_constant_fp(val)
|
1888
2025
|
# @param [OpaqueValue] val
|
@@ -1890,7 +2027,7 @@ module LLVM::C
|
|
1890
2027
|
# @scope class
|
1891
2028
|
attach_function :is_a_constant_fp, :LLVMIsAConstantFP, [OpaqueValue], OpaqueValue
|
1892
2029
|
|
1893
|
-
#
|
2030
|
+
# (Not documented)
|
1894
2031
|
#
|
1895
2032
|
# @method is_a_constant_int(val)
|
1896
2033
|
# @param [OpaqueValue] val
|
@@ -1898,7 +2035,7 @@ module LLVM::C
|
|
1898
2035
|
# @scope class
|
1899
2036
|
attach_function :is_a_constant_int, :LLVMIsAConstantInt, [OpaqueValue], OpaqueValue
|
1900
2037
|
|
1901
|
-
#
|
2038
|
+
# (Not documented)
|
1902
2039
|
#
|
1903
2040
|
# @method is_a_constant_pointer_null(val)
|
1904
2041
|
# @param [OpaqueValue] val
|
@@ -1906,7 +2043,7 @@ module LLVM::C
|
|
1906
2043
|
# @scope class
|
1907
2044
|
attach_function :is_a_constant_pointer_null, :LLVMIsAConstantPointerNull, [OpaqueValue], OpaqueValue
|
1908
2045
|
|
1909
|
-
#
|
2046
|
+
# (Not documented)
|
1910
2047
|
#
|
1911
2048
|
# @method is_a_constant_struct(val)
|
1912
2049
|
# @param [OpaqueValue] val
|
@@ -1914,7 +2051,7 @@ module LLVM::C
|
|
1914
2051
|
# @scope class
|
1915
2052
|
attach_function :is_a_constant_struct, :LLVMIsAConstantStruct, [OpaqueValue], OpaqueValue
|
1916
2053
|
|
1917
|
-
#
|
2054
|
+
# (Not documented)
|
1918
2055
|
#
|
1919
2056
|
# @method is_a_constant_vector(val)
|
1920
2057
|
# @param [OpaqueValue] val
|
@@ -1922,7 +2059,7 @@ module LLVM::C
|
|
1922
2059
|
# @scope class
|
1923
2060
|
attach_function :is_a_constant_vector, :LLVMIsAConstantVector, [OpaqueValue], OpaqueValue
|
1924
2061
|
|
1925
|
-
#
|
2062
|
+
# (Not documented)
|
1926
2063
|
#
|
1927
2064
|
# @method is_a_global_value(val)
|
1928
2065
|
# @param [OpaqueValue] val
|
@@ -1930,23 +2067,31 @@ module LLVM::C
|
|
1930
2067
|
# @scope class
|
1931
2068
|
attach_function :is_a_global_value, :LLVMIsAGlobalValue, [OpaqueValue], OpaqueValue
|
1932
2069
|
|
1933
|
-
#
|
2070
|
+
# (Not documented)
|
1934
2071
|
#
|
1935
|
-
# @method
|
2072
|
+
# @method is_a_global_alias(val)
|
1936
2073
|
# @param [OpaqueValue] val
|
1937
2074
|
# @return [OpaqueValue]
|
1938
2075
|
# @scope class
|
1939
|
-
attach_function :
|
2076
|
+
attach_function :is_a_global_alias, :LLVMIsAGlobalAlias, [OpaqueValue], OpaqueValue
|
1940
2077
|
|
1941
|
-
#
|
2078
|
+
# (Not documented)
|
1942
2079
|
#
|
1943
|
-
# @method
|
2080
|
+
# @method is_a_global_object(val)
|
1944
2081
|
# @param [OpaqueValue] val
|
1945
2082
|
# @return [OpaqueValue]
|
1946
2083
|
# @scope class
|
1947
|
-
attach_function :
|
2084
|
+
attach_function :is_a_global_object, :LLVMIsAGlobalObject, [OpaqueValue], OpaqueValue
|
1948
2085
|
|
1949
|
-
#
|
2086
|
+
# (Not documented)
|
2087
|
+
#
|
2088
|
+
# @method is_a_function(val)
|
2089
|
+
# @param [OpaqueValue] val
|
2090
|
+
# @return [OpaqueValue]
|
2091
|
+
# @scope class
|
2092
|
+
attach_function :is_a_function, :LLVMIsAFunction, [OpaqueValue], OpaqueValue
|
2093
|
+
|
2094
|
+
# (Not documented)
|
1950
2095
|
#
|
1951
2096
|
# @method is_a_global_variable(val)
|
1952
2097
|
# @param [OpaqueValue] val
|
@@ -1954,7 +2099,7 @@ module LLVM::C
|
|
1954
2099
|
# @scope class
|
1955
2100
|
attach_function :is_a_global_variable, :LLVMIsAGlobalVariable, [OpaqueValue], OpaqueValue
|
1956
2101
|
|
1957
|
-
#
|
2102
|
+
# (Not documented)
|
1958
2103
|
#
|
1959
2104
|
# @method is_a_undef_value(val)
|
1960
2105
|
# @param [OpaqueValue] val
|
@@ -1962,7 +2107,7 @@ module LLVM::C
|
|
1962
2107
|
# @scope class
|
1963
2108
|
attach_function :is_a_undef_value, :LLVMIsAUndefValue, [OpaqueValue], OpaqueValue
|
1964
2109
|
|
1965
|
-
#
|
2110
|
+
# (Not documented)
|
1966
2111
|
#
|
1967
2112
|
# @method is_a_instruction(val)
|
1968
2113
|
# @param [OpaqueValue] val
|
@@ -1970,7 +2115,7 @@ module LLVM::C
|
|
1970
2115
|
# @scope class
|
1971
2116
|
attach_function :is_a_instruction, :LLVMIsAInstruction, [OpaqueValue], OpaqueValue
|
1972
2117
|
|
1973
|
-
#
|
2118
|
+
# (Not documented)
|
1974
2119
|
#
|
1975
2120
|
# @method is_a_binary_operator(val)
|
1976
2121
|
# @param [OpaqueValue] val
|
@@ -1978,7 +2123,7 @@ module LLVM::C
|
|
1978
2123
|
# @scope class
|
1979
2124
|
attach_function :is_a_binary_operator, :LLVMIsABinaryOperator, [OpaqueValue], OpaqueValue
|
1980
2125
|
|
1981
|
-
#
|
2126
|
+
# (Not documented)
|
1982
2127
|
#
|
1983
2128
|
# @method is_a_call_inst(val)
|
1984
2129
|
# @param [OpaqueValue] val
|
@@ -1986,7 +2131,7 @@ module LLVM::C
|
|
1986
2131
|
# @scope class
|
1987
2132
|
attach_function :is_a_call_inst, :LLVMIsACallInst, [OpaqueValue], OpaqueValue
|
1988
2133
|
|
1989
|
-
#
|
2134
|
+
# (Not documented)
|
1990
2135
|
#
|
1991
2136
|
# @method is_a_intrinsic_inst(val)
|
1992
2137
|
# @param [OpaqueValue] val
|
@@ -1994,7 +2139,7 @@ module LLVM::C
|
|
1994
2139
|
# @scope class
|
1995
2140
|
attach_function :is_a_intrinsic_inst, :LLVMIsAIntrinsicInst, [OpaqueValue], OpaqueValue
|
1996
2141
|
|
1997
|
-
#
|
2142
|
+
# (Not documented)
|
1998
2143
|
#
|
1999
2144
|
# @method is_a_dbg_info_intrinsic(val)
|
2000
2145
|
# @param [OpaqueValue] val
|
@@ -2002,7 +2147,7 @@ module LLVM::C
|
|
2002
2147
|
# @scope class
|
2003
2148
|
attach_function :is_a_dbg_info_intrinsic, :LLVMIsADbgInfoIntrinsic, [OpaqueValue], OpaqueValue
|
2004
2149
|
|
2005
|
-
#
|
2150
|
+
# (Not documented)
|
2006
2151
|
#
|
2007
2152
|
# @method is_a_dbg_declare_inst(val)
|
2008
2153
|
# @param [OpaqueValue] val
|
@@ -2010,7 +2155,7 @@ module LLVM::C
|
|
2010
2155
|
# @scope class
|
2011
2156
|
attach_function :is_a_dbg_declare_inst, :LLVMIsADbgDeclareInst, [OpaqueValue], OpaqueValue
|
2012
2157
|
|
2013
|
-
#
|
2158
|
+
# (Not documented)
|
2014
2159
|
#
|
2015
2160
|
# @method is_a_mem_intrinsic(val)
|
2016
2161
|
# @param [OpaqueValue] val
|
@@ -2018,7 +2163,7 @@ module LLVM::C
|
|
2018
2163
|
# @scope class
|
2019
2164
|
attach_function :is_a_mem_intrinsic, :LLVMIsAMemIntrinsic, [OpaqueValue], OpaqueValue
|
2020
2165
|
|
2021
|
-
#
|
2166
|
+
# (Not documented)
|
2022
2167
|
#
|
2023
2168
|
# @method is_a_mem_cpy_inst(val)
|
2024
2169
|
# @param [OpaqueValue] val
|
@@ -2026,7 +2171,7 @@ module LLVM::C
|
|
2026
2171
|
# @scope class
|
2027
2172
|
attach_function :is_a_mem_cpy_inst, :LLVMIsAMemCpyInst, [OpaqueValue], OpaqueValue
|
2028
2173
|
|
2029
|
-
#
|
2174
|
+
# (Not documented)
|
2030
2175
|
#
|
2031
2176
|
# @method is_a_mem_move_inst(val)
|
2032
2177
|
# @param [OpaqueValue] val
|
@@ -2034,7 +2179,7 @@ module LLVM::C
|
|
2034
2179
|
# @scope class
|
2035
2180
|
attach_function :is_a_mem_move_inst, :LLVMIsAMemMoveInst, [OpaqueValue], OpaqueValue
|
2036
2181
|
|
2037
|
-
#
|
2182
|
+
# (Not documented)
|
2038
2183
|
#
|
2039
2184
|
# @method is_a_mem_set_inst(val)
|
2040
2185
|
# @param [OpaqueValue] val
|
@@ -2042,7 +2187,7 @@ module LLVM::C
|
|
2042
2187
|
# @scope class
|
2043
2188
|
attach_function :is_a_mem_set_inst, :LLVMIsAMemSetInst, [OpaqueValue], OpaqueValue
|
2044
2189
|
|
2045
|
-
#
|
2190
|
+
# (Not documented)
|
2046
2191
|
#
|
2047
2192
|
# @method is_a_cmp_inst(val)
|
2048
2193
|
# @param [OpaqueValue] val
|
@@ -2050,7 +2195,7 @@ module LLVM::C
|
|
2050
2195
|
# @scope class
|
2051
2196
|
attach_function :is_a_cmp_inst, :LLVMIsACmpInst, [OpaqueValue], OpaqueValue
|
2052
2197
|
|
2053
|
-
#
|
2198
|
+
# (Not documented)
|
2054
2199
|
#
|
2055
2200
|
# @method is_af_cmp_inst(val)
|
2056
2201
|
# @param [OpaqueValue] val
|
@@ -2058,7 +2203,7 @@ module LLVM::C
|
|
2058
2203
|
# @scope class
|
2059
2204
|
attach_function :is_af_cmp_inst, :LLVMIsAFCmpInst, [OpaqueValue], OpaqueValue
|
2060
2205
|
|
2061
|
-
#
|
2206
|
+
# (Not documented)
|
2062
2207
|
#
|
2063
2208
|
# @method is_ai_cmp_inst(val)
|
2064
2209
|
# @param [OpaqueValue] val
|
@@ -2066,7 +2211,7 @@ module LLVM::C
|
|
2066
2211
|
# @scope class
|
2067
2212
|
attach_function :is_ai_cmp_inst, :LLVMIsAICmpInst, [OpaqueValue], OpaqueValue
|
2068
2213
|
|
2069
|
-
#
|
2214
|
+
# (Not documented)
|
2070
2215
|
#
|
2071
2216
|
# @method is_a_extract_element_inst(val)
|
2072
2217
|
# @param [OpaqueValue] val
|
@@ -2074,7 +2219,7 @@ module LLVM::C
|
|
2074
2219
|
# @scope class
|
2075
2220
|
attach_function :is_a_extract_element_inst, :LLVMIsAExtractElementInst, [OpaqueValue], OpaqueValue
|
2076
2221
|
|
2077
|
-
#
|
2222
|
+
# (Not documented)
|
2078
2223
|
#
|
2079
2224
|
# @method is_a_get_element_ptr_inst(val)
|
2080
2225
|
# @param [OpaqueValue] val
|
@@ -2082,7 +2227,7 @@ module LLVM::C
|
|
2082
2227
|
# @scope class
|
2083
2228
|
attach_function :is_a_get_element_ptr_inst, :LLVMIsAGetElementPtrInst, [OpaqueValue], OpaqueValue
|
2084
2229
|
|
2085
|
-
#
|
2230
|
+
# (Not documented)
|
2086
2231
|
#
|
2087
2232
|
# @method is_a_insert_element_inst(val)
|
2088
2233
|
# @param [OpaqueValue] val
|
@@ -2090,7 +2235,7 @@ module LLVM::C
|
|
2090
2235
|
# @scope class
|
2091
2236
|
attach_function :is_a_insert_element_inst, :LLVMIsAInsertElementInst, [OpaqueValue], OpaqueValue
|
2092
2237
|
|
2093
|
-
#
|
2238
|
+
# (Not documented)
|
2094
2239
|
#
|
2095
2240
|
# @method is_a_insert_value_inst(val)
|
2096
2241
|
# @param [OpaqueValue] val
|
@@ -2098,7 +2243,7 @@ module LLVM::C
|
|
2098
2243
|
# @scope class
|
2099
2244
|
attach_function :is_a_insert_value_inst, :LLVMIsAInsertValueInst, [OpaqueValue], OpaqueValue
|
2100
2245
|
|
2101
|
-
#
|
2246
|
+
# (Not documented)
|
2102
2247
|
#
|
2103
2248
|
# @method is_a_landing_pad_inst(val)
|
2104
2249
|
# @param [OpaqueValue] val
|
@@ -2106,7 +2251,7 @@ module LLVM::C
|
|
2106
2251
|
# @scope class
|
2107
2252
|
attach_function :is_a_landing_pad_inst, :LLVMIsALandingPadInst, [OpaqueValue], OpaqueValue
|
2108
2253
|
|
2109
|
-
#
|
2254
|
+
# (Not documented)
|
2110
2255
|
#
|
2111
2256
|
# @method is_aphi_node(val)
|
2112
2257
|
# @param [OpaqueValue] val
|
@@ -2114,7 +2259,7 @@ module LLVM::C
|
|
2114
2259
|
# @scope class
|
2115
2260
|
attach_function :is_aphi_node, :LLVMIsAPHINode, [OpaqueValue], OpaqueValue
|
2116
2261
|
|
2117
|
-
#
|
2262
|
+
# (Not documented)
|
2118
2263
|
#
|
2119
2264
|
# @method is_a_select_inst(val)
|
2120
2265
|
# @param [OpaqueValue] val
|
@@ -2122,7 +2267,7 @@ module LLVM::C
|
|
2122
2267
|
# @scope class
|
2123
2268
|
attach_function :is_a_select_inst, :LLVMIsASelectInst, [OpaqueValue], OpaqueValue
|
2124
2269
|
|
2125
|
-
#
|
2270
|
+
# (Not documented)
|
2126
2271
|
#
|
2127
2272
|
# @method is_a_shuffle_vector_inst(val)
|
2128
2273
|
# @param [OpaqueValue] val
|
@@ -2130,7 +2275,7 @@ module LLVM::C
|
|
2130
2275
|
# @scope class
|
2131
2276
|
attach_function :is_a_shuffle_vector_inst, :LLVMIsAShuffleVectorInst, [OpaqueValue], OpaqueValue
|
2132
2277
|
|
2133
|
-
#
|
2278
|
+
# (Not documented)
|
2134
2279
|
#
|
2135
2280
|
# @method is_a_store_inst(val)
|
2136
2281
|
# @param [OpaqueValue] val
|
@@ -2138,7 +2283,7 @@ module LLVM::C
|
|
2138
2283
|
# @scope class
|
2139
2284
|
attach_function :is_a_store_inst, :LLVMIsAStoreInst, [OpaqueValue], OpaqueValue
|
2140
2285
|
|
2141
|
-
#
|
2286
|
+
# (Not documented)
|
2142
2287
|
#
|
2143
2288
|
# @method is_a_terminator_inst(val)
|
2144
2289
|
# @param [OpaqueValue] val
|
@@ -2146,7 +2291,7 @@ module LLVM::C
|
|
2146
2291
|
# @scope class
|
2147
2292
|
attach_function :is_a_terminator_inst, :LLVMIsATerminatorInst, [OpaqueValue], OpaqueValue
|
2148
2293
|
|
2149
|
-
#
|
2294
|
+
# (Not documented)
|
2150
2295
|
#
|
2151
2296
|
# @method is_a_branch_inst(val)
|
2152
2297
|
# @param [OpaqueValue] val
|
@@ -2154,7 +2299,7 @@ module LLVM::C
|
|
2154
2299
|
# @scope class
|
2155
2300
|
attach_function :is_a_branch_inst, :LLVMIsABranchInst, [OpaqueValue], OpaqueValue
|
2156
2301
|
|
2157
|
-
#
|
2302
|
+
# (Not documented)
|
2158
2303
|
#
|
2159
2304
|
# @method is_a_indirect_br_inst(val)
|
2160
2305
|
# @param [OpaqueValue] val
|
@@ -2162,7 +2307,7 @@ module LLVM::C
|
|
2162
2307
|
# @scope class
|
2163
2308
|
attach_function :is_a_indirect_br_inst, :LLVMIsAIndirectBrInst, [OpaqueValue], OpaqueValue
|
2164
2309
|
|
2165
|
-
#
|
2310
|
+
# (Not documented)
|
2166
2311
|
#
|
2167
2312
|
# @method is_a_invoke_inst(val)
|
2168
2313
|
# @param [OpaqueValue] val
|
@@ -2170,7 +2315,7 @@ module LLVM::C
|
|
2170
2315
|
# @scope class
|
2171
2316
|
attach_function :is_a_invoke_inst, :LLVMIsAInvokeInst, [OpaqueValue], OpaqueValue
|
2172
2317
|
|
2173
|
-
#
|
2318
|
+
# (Not documented)
|
2174
2319
|
#
|
2175
2320
|
# @method is_a_return_inst(val)
|
2176
2321
|
# @param [OpaqueValue] val
|
@@ -2178,7 +2323,7 @@ module LLVM::C
|
|
2178
2323
|
# @scope class
|
2179
2324
|
attach_function :is_a_return_inst, :LLVMIsAReturnInst, [OpaqueValue], OpaqueValue
|
2180
2325
|
|
2181
|
-
#
|
2326
|
+
# (Not documented)
|
2182
2327
|
#
|
2183
2328
|
# @method is_a_switch_inst(val)
|
2184
2329
|
# @param [OpaqueValue] val
|
@@ -2186,7 +2331,7 @@ module LLVM::C
|
|
2186
2331
|
# @scope class
|
2187
2332
|
attach_function :is_a_switch_inst, :LLVMIsASwitchInst, [OpaqueValue], OpaqueValue
|
2188
2333
|
|
2189
|
-
#
|
2334
|
+
# (Not documented)
|
2190
2335
|
#
|
2191
2336
|
# @method is_a_unreachable_inst(val)
|
2192
2337
|
# @param [OpaqueValue] val
|
@@ -2194,7 +2339,7 @@ module LLVM::C
|
|
2194
2339
|
# @scope class
|
2195
2340
|
attach_function :is_a_unreachable_inst, :LLVMIsAUnreachableInst, [OpaqueValue], OpaqueValue
|
2196
2341
|
|
2197
|
-
#
|
2342
|
+
# (Not documented)
|
2198
2343
|
#
|
2199
2344
|
# @method is_a_resume_inst(val)
|
2200
2345
|
# @param [OpaqueValue] val
|
@@ -2202,7 +2347,7 @@ module LLVM::C
|
|
2202
2347
|
# @scope class
|
2203
2348
|
attach_function :is_a_resume_inst, :LLVMIsAResumeInst, [OpaqueValue], OpaqueValue
|
2204
2349
|
|
2205
|
-
#
|
2350
|
+
# (Not documented)
|
2206
2351
|
#
|
2207
2352
|
# @method is_a_unary_instruction(val)
|
2208
2353
|
# @param [OpaqueValue] val
|
@@ -2210,7 +2355,7 @@ module LLVM::C
|
|
2210
2355
|
# @scope class
|
2211
2356
|
attach_function :is_a_unary_instruction, :LLVMIsAUnaryInstruction, [OpaqueValue], OpaqueValue
|
2212
2357
|
|
2213
|
-
#
|
2358
|
+
# (Not documented)
|
2214
2359
|
#
|
2215
2360
|
# @method is_a_alloca_inst(val)
|
2216
2361
|
# @param [OpaqueValue] val
|
@@ -2218,7 +2363,7 @@ module LLVM::C
|
|
2218
2363
|
# @scope class
|
2219
2364
|
attach_function :is_a_alloca_inst, :LLVMIsAAllocaInst, [OpaqueValue], OpaqueValue
|
2220
2365
|
|
2221
|
-
#
|
2366
|
+
# (Not documented)
|
2222
2367
|
#
|
2223
2368
|
# @method is_a_cast_inst(val)
|
2224
2369
|
# @param [OpaqueValue] val
|
@@ -2226,7 +2371,7 @@ module LLVM::C
|
|
2226
2371
|
# @scope class
|
2227
2372
|
attach_function :is_a_cast_inst, :LLVMIsACastInst, [OpaqueValue], OpaqueValue
|
2228
2373
|
|
2229
|
-
#
|
2374
|
+
# (Not documented)
|
2230
2375
|
#
|
2231
2376
|
# @method is_a_addr_space_cast_inst(val)
|
2232
2377
|
# @param [OpaqueValue] val
|
@@ -2234,7 +2379,7 @@ module LLVM::C
|
|
2234
2379
|
# @scope class
|
2235
2380
|
attach_function :is_a_addr_space_cast_inst, :LLVMIsAAddrSpaceCastInst, [OpaqueValue], OpaqueValue
|
2236
2381
|
|
2237
|
-
#
|
2382
|
+
# (Not documented)
|
2238
2383
|
#
|
2239
2384
|
# @method is_a_bit_cast_inst(val)
|
2240
2385
|
# @param [OpaqueValue] val
|
@@ -2242,7 +2387,7 @@ module LLVM::C
|
|
2242
2387
|
# @scope class
|
2243
2388
|
attach_function :is_a_bit_cast_inst, :LLVMIsABitCastInst, [OpaqueValue], OpaqueValue
|
2244
2389
|
|
2245
|
-
#
|
2390
|
+
# (Not documented)
|
2246
2391
|
#
|
2247
2392
|
# @method is_afp_ext_inst(val)
|
2248
2393
|
# @param [OpaqueValue] val
|
@@ -2250,7 +2395,7 @@ module LLVM::C
|
|
2250
2395
|
# @scope class
|
2251
2396
|
attach_function :is_afp_ext_inst, :LLVMIsAFPExtInst, [OpaqueValue], OpaqueValue
|
2252
2397
|
|
2253
|
-
#
|
2398
|
+
# (Not documented)
|
2254
2399
|
#
|
2255
2400
|
# @method is_afp_to_si_inst(val)
|
2256
2401
|
# @param [OpaqueValue] val
|
@@ -2258,7 +2403,7 @@ module LLVM::C
|
|
2258
2403
|
# @scope class
|
2259
2404
|
attach_function :is_afp_to_si_inst, :LLVMIsAFPToSIInst, [OpaqueValue], OpaqueValue
|
2260
2405
|
|
2261
|
-
#
|
2406
|
+
# (Not documented)
|
2262
2407
|
#
|
2263
2408
|
# @method is_afp_to_ui_inst(val)
|
2264
2409
|
# @param [OpaqueValue] val
|
@@ -2266,7 +2411,7 @@ module LLVM::C
|
|
2266
2411
|
# @scope class
|
2267
2412
|
attach_function :is_afp_to_ui_inst, :LLVMIsAFPToUIInst, [OpaqueValue], OpaqueValue
|
2268
2413
|
|
2269
|
-
#
|
2414
|
+
# (Not documented)
|
2270
2415
|
#
|
2271
2416
|
# @method is_afp_trunc_inst(val)
|
2272
2417
|
# @param [OpaqueValue] val
|
@@ -2274,7 +2419,7 @@ module LLVM::C
|
|
2274
2419
|
# @scope class
|
2275
2420
|
attach_function :is_afp_trunc_inst, :LLVMIsAFPTruncInst, [OpaqueValue], OpaqueValue
|
2276
2421
|
|
2277
|
-
#
|
2422
|
+
# (Not documented)
|
2278
2423
|
#
|
2279
2424
|
# @method is_a_int_to_ptr_inst(val)
|
2280
2425
|
# @param [OpaqueValue] val
|
@@ -2282,7 +2427,7 @@ module LLVM::C
|
|
2282
2427
|
# @scope class
|
2283
2428
|
attach_function :is_a_int_to_ptr_inst, :LLVMIsAIntToPtrInst, [OpaqueValue], OpaqueValue
|
2284
2429
|
|
2285
|
-
#
|
2430
|
+
# (Not documented)
|
2286
2431
|
#
|
2287
2432
|
# @method is_a_ptr_to_int_inst(val)
|
2288
2433
|
# @param [OpaqueValue] val
|
@@ -2290,7 +2435,7 @@ module LLVM::C
|
|
2290
2435
|
# @scope class
|
2291
2436
|
attach_function :is_a_ptr_to_int_inst, :LLVMIsAPtrToIntInst, [OpaqueValue], OpaqueValue
|
2292
2437
|
|
2293
|
-
#
|
2438
|
+
# (Not documented)
|
2294
2439
|
#
|
2295
2440
|
# @method is_as_ext_inst(val)
|
2296
2441
|
# @param [OpaqueValue] val
|
@@ -2298,7 +2443,7 @@ module LLVM::C
|
|
2298
2443
|
# @scope class
|
2299
2444
|
attach_function :is_as_ext_inst, :LLVMIsASExtInst, [OpaqueValue], OpaqueValue
|
2300
2445
|
|
2301
|
-
#
|
2446
|
+
# (Not documented)
|
2302
2447
|
#
|
2303
2448
|
# @method is_asi_to_fp_inst(val)
|
2304
2449
|
# @param [OpaqueValue] val
|
@@ -2306,7 +2451,7 @@ module LLVM::C
|
|
2306
2451
|
# @scope class
|
2307
2452
|
attach_function :is_asi_to_fp_inst, :LLVMIsASIToFPInst, [OpaqueValue], OpaqueValue
|
2308
2453
|
|
2309
|
-
#
|
2454
|
+
# (Not documented)
|
2310
2455
|
#
|
2311
2456
|
# @method is_a_trunc_inst(val)
|
2312
2457
|
# @param [OpaqueValue] val
|
@@ -2314,7 +2459,7 @@ module LLVM::C
|
|
2314
2459
|
# @scope class
|
2315
2460
|
attach_function :is_a_trunc_inst, :LLVMIsATruncInst, [OpaqueValue], OpaqueValue
|
2316
2461
|
|
2317
|
-
#
|
2462
|
+
# (Not documented)
|
2318
2463
|
#
|
2319
2464
|
# @method is_aui_to_fp_inst(val)
|
2320
2465
|
# @param [OpaqueValue] val
|
@@ -2322,7 +2467,7 @@ module LLVM::C
|
|
2322
2467
|
# @scope class
|
2323
2468
|
attach_function :is_aui_to_fp_inst, :LLVMIsAUIToFPInst, [OpaqueValue], OpaqueValue
|
2324
2469
|
|
2325
|
-
#
|
2470
|
+
# (Not documented)
|
2326
2471
|
#
|
2327
2472
|
# @method is_az_ext_inst(val)
|
2328
2473
|
# @param [OpaqueValue] val
|
@@ -2330,7 +2475,7 @@ module LLVM::C
|
|
2330
2475
|
# @scope class
|
2331
2476
|
attach_function :is_az_ext_inst, :LLVMIsAZExtInst, [OpaqueValue], OpaqueValue
|
2332
2477
|
|
2333
|
-
#
|
2478
|
+
# (Not documented)
|
2334
2479
|
#
|
2335
2480
|
# @method is_a_extract_value_inst(val)
|
2336
2481
|
# @param [OpaqueValue] val
|
@@ -2338,7 +2483,7 @@ module LLVM::C
|
|
2338
2483
|
# @scope class
|
2339
2484
|
attach_function :is_a_extract_value_inst, :LLVMIsAExtractValueInst, [OpaqueValue], OpaqueValue
|
2340
2485
|
|
2341
|
-
#
|
2486
|
+
# (Not documented)
|
2342
2487
|
#
|
2343
2488
|
# @method is_a_load_inst(val)
|
2344
2489
|
# @param [OpaqueValue] val
|
@@ -2346,7 +2491,7 @@ module LLVM::C
|
|
2346
2491
|
# @scope class
|
2347
2492
|
attach_function :is_a_load_inst, :LLVMIsALoadInst, [OpaqueValue], OpaqueValue
|
2348
2493
|
|
2349
|
-
#
|
2494
|
+
# (Not documented)
|
2350
2495
|
#
|
2351
2496
|
# @method is_ava_arg_inst(val)
|
2352
2497
|
# @param [OpaqueValue] val
|
@@ -2512,10 +2657,10 @@ module LLVM::C
|
|
2512
2657
|
# @method const_int_of_arbitrary_precision(int_ty, num_words, words)
|
2513
2658
|
# @param [OpaqueType] int_ty
|
2514
2659
|
# @param [Integer] num_words
|
2515
|
-
# @param [
|
2660
|
+
# @param [FFI::Pointer(*U_long)] words
|
2516
2661
|
# @return [OpaqueValue]
|
2517
2662
|
# @scope class
|
2518
|
-
attach_function :const_int_of_arbitrary_precision, :LLVMConstIntOfArbitraryPrecision, [OpaqueType, :uint, :
|
2663
|
+
attach_function :const_int_of_arbitrary_precision, :LLVMConstIntOfArbitraryPrecision, [OpaqueType, :uint, :pointer], OpaqueValue
|
2519
2664
|
|
2520
2665
|
# Obtain a constant value for an integer parsed from a string.
|
2521
2666
|
#
|
@@ -3352,7 +3497,42 @@ module LLVM::C
|
|
3352
3497
|
# @scope class
|
3353
3498
|
attach_function :set_visibility, :LLVMSetVisibility, [OpaqueValue, :visibility], :void
|
3354
3499
|
|
3500
|
+
# (Not documented)
|
3501
|
+
#
|
3502
|
+
# @method get_dll_storage_class(global)
|
3503
|
+
# @param [OpaqueValue] global
|
3504
|
+
# @return [Symbol from _enum_dll_storage_class_]
|
3505
|
+
# @scope class
|
3506
|
+
attach_function :get_dll_storage_class, :LLVMGetDLLStorageClass, [OpaqueValue], :dll_storage_class
|
3507
|
+
|
3508
|
+
# (Not documented)
|
3509
|
+
#
|
3510
|
+
# @method set_dll_storage_class(global, class_)
|
3511
|
+
# @param [OpaqueValue] global
|
3512
|
+
# @param [Symbol from _enum_dll_storage_class_] class_
|
3513
|
+
# @return [nil]
|
3514
|
+
# @scope class
|
3515
|
+
attach_function :set_dll_storage_class, :LLVMSetDLLStorageClass, [OpaqueValue, :dll_storage_class], :void
|
3516
|
+
|
3517
|
+
# (Not documented)
|
3518
|
+
#
|
3519
|
+
# @method has_unnamed_addr(global)
|
3520
|
+
# @param [OpaqueValue] global
|
3521
|
+
# @return [Integer]
|
3522
|
+
# @scope class
|
3523
|
+
attach_function :has_unnamed_addr, :LLVMHasUnnamedAddr, [OpaqueValue], :int
|
3524
|
+
|
3525
|
+
# (Not documented)
|
3526
|
+
#
|
3527
|
+
# @method set_unnamed_addr(global, has_unnamed_addr)
|
3528
|
+
# @param [OpaqueValue] global
|
3529
|
+
# @param [Integer] has_unnamed_addr
|
3530
|
+
# @return [nil]
|
3531
|
+
# @scope class
|
3532
|
+
attach_function :set_unnamed_addr, :LLVMSetUnnamedAddr, [OpaqueValue, :int], :void
|
3533
|
+
|
3355
3534
|
# Obtain the preferred alignment of the value.
|
3535
|
+
# @see llvm::AllocaInst::getAlignment()
|
3356
3536
|
# @see llvm::LoadInst::getAlignment()
|
3357
3537
|
# @see llvm::StoreInst::getAlignment()
|
3358
3538
|
# @see llvm::GlobalValue::getAlignment()
|
@@ -3364,6 +3544,7 @@ module LLVM::C
|
|
3364
3544
|
attach_function :get_alignment, :LLVMGetAlignment, [OpaqueValue], :uint
|
3365
3545
|
|
3366
3546
|
# Set the preferred alignment of the value.
|
3547
|
+
# @see llvm::AllocaInst::setAlignment()
|
3367
3548
|
# @see llvm::LoadInst::setAlignment()
|
3368
3549
|
# @see llvm::StoreInst::setAlignment()
|
3369
3550
|
# @see llvm::GlobalValue::setAlignment()
|
@@ -5482,6 +5663,17 @@ module LLVM::C
|
|
5482
5663
|
# @scope class
|
5483
5664
|
attach_function :build_ptr_diff, :LLVMBuildPtrDiff, [OpaqueBuilder, OpaqueValue, OpaqueValue, :string], OpaqueValue
|
5484
5665
|
|
5666
|
+
# (Not documented)
|
5667
|
+
#
|
5668
|
+
# @method build_fence(b, ordering, single_thread, name)
|
5669
|
+
# @param [OpaqueBuilder] b
|
5670
|
+
# @param [Symbol from _enum_atomic_ordering_] ordering
|
5671
|
+
# @param [Integer] single_thread
|
5672
|
+
# @param [String] name
|
5673
|
+
# @return [OpaqueValue]
|
5674
|
+
# @scope class
|
5675
|
+
attach_function :build_fence, :LLVMBuildFence, [OpaqueBuilder, :atomic_ordering, :int, :string], OpaqueValue
|
5676
|
+
|
5485
5677
|
# (Not documented)
|
5486
5678
|
#
|
5487
5679
|
# @method build_atomic_rmw(b, op, ptr, val, ordering, single_thread)
|
@@ -5668,20 +5860,17 @@ module LLVM::C
|
|
5668
5860
|
# @scope class
|
5669
5861
|
attach_function :dispose_pass_manager, :LLVMDisposePassManager, [OpaquePassManager], :void
|
5670
5862
|
|
5671
|
-
#
|
5672
|
-
#
|
5673
|
-
#
|
5674
|
-
# other LLVM api calls.
|
5675
|
-
# @see llvm::llvm_start_multithreaded
|
5863
|
+
# Deprecated: Multi-threading can only be enabled/disabled with the compile
|
5864
|
+
# time define LLVM_ENABLE_THREADS. This function always returns
|
5865
|
+
# LLVMIsMultithreaded().
|
5676
5866
|
#
|
5677
5867
|
# @method start_multithreaded()
|
5678
5868
|
# @return [Integer]
|
5679
5869
|
# @scope class
|
5680
5870
|
attach_function :start_multithreaded, :LLVMStartMultithreaded, [], :int
|
5681
5871
|
|
5682
|
-
#
|
5683
|
-
#
|
5684
|
-
# @see llvm::llvm_stop_multithreaded
|
5872
|
+
# Deprecated: Multi-threading can only be enabled/disabled with the compile
|
5873
|
+
# time define LLVM_ENABLE_THREADS.
|
5685
5874
|
#
|
5686
5875
|
# @method stop_multithreaded()
|
5687
5876
|
# @return [nil]
|