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 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]