ruby-llvm 3.4.2 → 3.5.0
Sign up to get free protection for your applications and to get access to all the features.
- 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]
|