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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b4c3ca01e2020b5ce26bdf7db68f78f33d4fefbe
4
- data.tar.gz: 4580027aed01abdc1c9055dfd4d3736f1fae4606
3
+ metadata.gz: e559929d919c913ffacaef820430b37093a23adc
4
+ data.tar.gz: d98b42343be29f103dbbb9f518cc304542d0fdff
5
5
  SHA512:
6
- metadata.gz: b111187af62e59fd09acd472f241f0e64913832f956f99cf2fb3faf16806f7b61957840f4fe0246181a41521c9180d0b18420356915077635fa5a9690853b81e
7
- data.tar.gz: 108a673c529d5b7621c7206f169b8704473cc518fafed2e10880f2f96fbe58537e8b2f47cab56b5ac0dabf3c2ef7affa9a0166c0e2cf1511a1ba98b5f6ed824e
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
  }
@@ -4,12 +4,6 @@ module LLVM
4
4
  require 'llvm/version'
5
5
  require 'llvm/support'
6
6
 
7
- # @private
8
- module C
9
- extend ::FFI::Library
10
- ffi_lib ["LLVM-#{LLVM_VERSION}"]
11
- end
12
-
13
7
  module PointerIdentity
14
8
  # @private
15
9
  def to_ptr
@@ -4,7 +4,7 @@ require 'ffi'
4
4
 
5
5
  module LLVM::C
6
6
  extend FFI::Library
7
- ffi_lib 'LLVM-3.4'
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
- # (Not documented)
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
  #
@@ -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", "AArch64", "ARM", "Mips", "XCore", "MSP430", "CppBackend", "NVPTX", "Hexagon", "SystemZ", "R600"]
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.4/include -DNDEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -g -O2 -fomit-frame-pointer -fPIC "
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 'LLVM-3.4'
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
- # Reads a module from the specified path, returning via the OutMP parameter
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
- # Deprecated: Use LLVMGetBitcodeModuleInContext instead.
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
- # Deprecated: Use LLVMGetBitcodeModule instead.
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
- # (Not documented)
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
@@ -652,11 +652,19 @@ module LLVM
652
652
  end
653
653
 
654
654
  def unnamed_addr?
655
- Support::C.has_unnamed_addr(self) != 0
655
+ C.has_unnamed_addr(self) != 0
656
656
  end
657
657
 
658
658
  def unnamed_addr=(flag)
659
- Support::C.set_unnamed_addr(self, flag ? 1 : 0)
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
 
@@ -4,7 +4,7 @@ require 'ffi'
4
4
 
5
5
  module LLVM::C
6
6
  extend FFI::Library
7
- ffi_lib 'LLVM-3.4'
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
- # The top-level container for all LLVM global data. See the LLVMContext class.
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
- # < Function to be imported from DLL
477
+ # < Obsolete
455
478
  # :external_weak ::
456
- # < Function to be accessible from DLL
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
- # Convert value instances between types.
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 is_a_function(val)
2072
+ # @method is_a_global_alias(val)
1936
2073
  # @param [OpaqueValue] val
1937
2074
  # @return [OpaqueValue]
1938
2075
  # @scope class
1939
- attach_function :is_a_function, :LLVMIsAFunction, [OpaqueValue], OpaqueValue
2076
+ attach_function :is_a_global_alias, :LLVMIsAGlobalAlias, [OpaqueValue], OpaqueValue
1940
2077
 
1941
- # @}
2078
+ # (Not documented)
1942
2079
  #
1943
- # @method is_a_global_alias(val)
2080
+ # @method is_a_global_object(val)
1944
2081
  # @param [OpaqueValue] val
1945
2082
  # @return [OpaqueValue]
1946
2083
  # @scope class
1947
- attach_function :is_a_global_alias, :LLVMIsAGlobalAlias, [OpaqueValue], OpaqueValue
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 [unexposed] words
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, :char], OpaqueValue
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
- # Allocate and initialize structures needed to make LLVM safe for
5672
- # multithreading. The return value indicates whether multithreaded
5673
- # initialization succeeded. Must be executed in isolation from all
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
- # Deallocate structures necessary to make LLVM safe for multithreading.
5683
- # Must be executed in isolation from all other LLVM api calls.
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]