[llvm] [llvm] annotate interfaces in llvm-c for DLL export (PR #141701)
Andrew Rogers via llvm-commits
llvm-commits at lists.llvm.org
Tue May 27 21:21:50 PDT 2025
https://github.com/andrurogerz updated https://github.com/llvm/llvm-project/pull/141701
>From 40a05f0ce22fffecd3ff4224bf58120e03734a10 Mon Sep 17 00:00:00 2001
From: Andrew Rogers <andrurogerz at gmail.com>
Date: Tue, 27 May 2025 14:58:58 -0700
Subject: [PATCH 1/4] [llvm] define LLVM_C_ABI in a new llvm-c/Visibility.h
header
---
llvm/include/llvm-c/Visibility.h | 40 +++++++++++++++++++
llvm/include/llvm/Support/Compiler.h | 5 ---
.../lib/Target/X86/AsmParser/X86AsmParser.cpp | 1 +
.../X86/Disassembler/X86Disassembler.cpp | 1 +
.../lib/Target/X86/MCA/X86CustomBehaviour.cpp | 1 +
.../X86/MCTargetDesc/X86MCTargetDesc.cpp | 1 +
.../Target/X86/TargetInfo/X86TargetInfo.cpp | 1 +
llvm/lib/Target/X86/X86AsmPrinter.cpp | 1 +
llvm/lib/Target/X86/X86TargetMachine.cpp | 1 +
9 files changed, 47 insertions(+), 5 deletions(-)
create mode 100644 llvm/include/llvm-c/Visibility.h
diff --git a/llvm/include/llvm-c/Visibility.h b/llvm/include/llvm-c/Visibility.h
new file mode 100644
index 0000000000000..bdb30cd704419
--- /dev/null
+++ b/llvm/include/llvm-c/Visibility.h
@@ -0,0 +1,40 @@
+/*===-- llvm-c/Visibility.h - Visibility macros for llvm-c ------*- C++ -*-===*\
+|* *|
+|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *|
+|* Exceptions. *|
+|* See https://llvm.org/LICENSE.txt for license information. *|
+|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *|
+|* *|
+|*===----------------------------------------------------------------------===*|
+|* *|
+|* This header defines visibility macros used for the LLVM C interface. These *|
+|* macros are used to annotate C functions that should be exported as part of *|
+|* *|
+\*===----------------------------------------------------------------------===*/
+
+#ifndef LLVM_C_VISIBILITY_H
+#define LLVM_C_VISIBILITY_H
+
+/// LLVM_C_ABI is the export/visibility macro used to mark symbols declared in
+/// llvm-c as exported when llvm is built as a shared library.
+
+#if defined(LLVM_BUILD_LLVM_DYLIB) || defined(LLVM_BUILD_SHARED_LIBS) || \
+ defined(LLVM_ENABLE_PLUGINS)
+#if defined(LLVM_BUILD_STATIC)
+#define LLVM_C_ABI
+#elif defined(_WIN32) && !defined(__MINGW32__)
+#if defined(LLVM_EXPORTS)
+#define LLVM_C_ABI __declspec(dllexport)
+#else
+#define LLVM_C_ABI __declspec(dllimport)
+#endif
+#elif defined(__has_attribute) && __has_attribute(visibility)
+#define LLVM_C_ABI __attribute__((visibility("default")))
+#else
+#define LLVM_C_ABI
+#endif
+#else
+#define LLVM_C_ABI
+#endif
+
+#endif
diff --git a/llvm/include/llvm/Support/Compiler.h b/llvm/include/llvm/Support/Compiler.h
index 4864071ed87a8..c9c742dbd3034 100644
--- a/llvm/include/llvm/Support/Compiler.h
+++ b/llvm/include/llvm/Support/Compiler.h
@@ -172,10 +172,6 @@
/// macro matches the LLVM_ABI macro on Windows, on other platforms it does
/// nothing.
///
-/// LLVM_C_ABI is used to annotated functions and data that need to be exported
-/// for the libllvm-c API. This used both for the llvm-c headers and for the
-/// functions declared in the different Target's c++ source files that don't
-/// include the header forward declaring them.
#ifndef LLVM_ABI_GENERATING_ANNOTATIONS
// Marker to add to classes or functions in public headers that should not have
// export macros added to them by the clang tool
@@ -225,7 +221,6 @@
#define LLVM_EXPORT_TEMPLATE
#define LLVM_ABI_EXPORT
#endif
-#define LLVM_C_ABI LLVM_ABI
#endif
#if defined(__GNUC__)
diff --git a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
index 1e0f9a82a73b8..ad5637fd28f5c 100644
--- a/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
+++ b/llvm/lib/Target/X86/AsmParser/X86AsmParser.cpp
@@ -14,6 +14,7 @@
#include "MCTargetDesc/X86TargetStreamer.h"
#include "TargetInfo/X86TargetInfo.h"
#include "X86Operand.h"
+#include "llvm-c/Visibility.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/SmallVector.h"
diff --git a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
index 4a1f9a77f6a51..4927b453458ef 100644
--- a/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
+++ b/llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp
@@ -77,6 +77,7 @@
#include "MCTargetDesc/X86MCTargetDesc.h"
#include "TargetInfo/X86TargetInfo.h"
#include "X86DisassemblerDecoder.h"
+#include "llvm-c/Visibility.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCDisassembler/MCDisassembler.h"
#include "llvm/MC/MCExpr.h"
diff --git a/llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp b/llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp
index a04689f3c7569..817e88d8a0bc0 100644
--- a/llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp
+++ b/llvm/lib/Target/X86/MCA/X86CustomBehaviour.cpp
@@ -14,6 +14,7 @@
#include "X86CustomBehaviour.h"
#include "MCTargetDesc/X86BaseInfo.h"
#include "TargetInfo/X86TargetInfo.h"
+#include "llvm-c/Visibility.h"
#include "llvm/MC/TargetRegistry.h"
namespace llvm {
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
index 2eb22b239aa48..cc7bcd678cb31 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
@@ -17,6 +17,7 @@
#include "X86IntelInstPrinter.h"
#include "X86MCAsmInfo.h"
#include "X86TargetStreamer.h"
+#include "llvm-c/Visibility.h"
#include "llvm/ADT/APInt.h"
#include "llvm/DebugInfo/CodeView/CodeView.h"
#include "llvm/MC/MCDwarf.h"
diff --git a/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp b/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
index c8df3c29bb046..550050e50b43a 100644
--- a/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
+++ b/llvm/lib/Target/X86/TargetInfo/X86TargetInfo.cpp
@@ -7,6 +7,7 @@
//===----------------------------------------------------------------------===//
#include "TargetInfo/X86TargetInfo.h"
+#include "llvm-c/Visibility.h"
#include "llvm/MC/TargetRegistry.h"
using namespace llvm;
diff --git a/llvm/lib/Target/X86/X86AsmPrinter.cpp b/llvm/lib/Target/X86/X86AsmPrinter.cpp
index 24eda602effd1..df29ba93a4c52 100644
--- a/llvm/lib/Target/X86/X86AsmPrinter.cpp
+++ b/llvm/lib/Target/X86/X86AsmPrinter.cpp
@@ -21,6 +21,7 @@
#include "X86InstrInfo.h"
#include "X86MachineFunctionInfo.h"
#include "X86Subtarget.h"
+#include "llvm-c/Visibility.h"
#include "llvm/Analysis/StaticDataProfileInfo.h"
#include "llvm/BinaryFormat/COFF.h"
#include "llvm/BinaryFormat/ELF.h"
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp
index 6c27b7211263f..1eafc19939103 100644
--- a/llvm/lib/Target/X86/X86TargetMachine.cpp
+++ b/llvm/lib/Target/X86/X86TargetMachine.cpp
@@ -19,6 +19,7 @@
#include "X86Subtarget.h"
#include "X86TargetObjectFile.h"
#include "X86TargetTransformInfo.h"
+#include "llvm-c/Visibility.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Analysis/TargetTransformInfo.h"
>From 1406c81f48b5a18f8bcb67ddd23f3ebe780361c8 Mon Sep 17 00:00:00 2001
From: Andrew Rogers <andrurogerz at gmail.com>
Date: Tue, 27 May 2025 16:52:47 -0700
Subject: [PATCH 2/4] [llvm] IDS auto codemod for llvm-c library
---
llvm/include/llvm-c/Analysis.h | 9 +-
llvm/include/llvm-c/BitReader.h | 17 +-
llvm/include/llvm-c/BitWriter.h | 9 +-
llvm/include/llvm-c/Comdat.h | 11 +-
llvm/include/llvm-c/Core.h | 1337 +++++++++---------
llvm/include/llvm-c/DebugInfo.h | 189 +--
llvm/include/llvm-c/Disassembler.h | 13 +-
llvm/include/llvm-c/Error.h | 15 +-
llvm/include/llvm-c/ErrorHandling.h | 7 +-
llvm/include/llvm-c/ExecutionEngine.h | 77 +-
llvm/include/llvm-c/IRReader.h | 3 +-
llvm/include/llvm-c/LLJIT.h | 41 +-
llvm/include/llvm-c/LLJITUtils.h | 3 +-
llvm/include/llvm-c/Linker.h | 3 +-
llvm/include/llvm-c/Object.h | 75 +-
llvm/include/llvm-c/Orc.h | 137 +-
llvm/include/llvm-c/OrcEE.h | 7 +-
llvm/include/llvm-c/Remarks.h | 51 +-
llvm/include/llvm-c/Support.h | 9 +-
llvm/include/llvm-c/Target.h | 45 +-
llvm/include/llvm-c/TargetMachine.h | 75 +-
llvm/include/llvm-c/Transforms/PassBuilder.h | 35 +-
llvm/include/llvm-c/blake3.h | 19 +-
23 files changed, 1105 insertions(+), 1082 deletions(-)
diff --git a/llvm/include/llvm-c/Analysis.h b/llvm/include/llvm-c/Analysis.h
index 270b145a4d27e..e34d34dcf8939 100644
--- a/llvm/include/llvm-c/Analysis.h
+++ b/llvm/include/llvm-c/Analysis.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_ANALYSIS_H
#define LLVM_C_ANALYSIS_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -41,17 +42,17 @@ typedef enum {
/* Verifies that a module is valid, taking the specified action if not.
Optionally returns a human-readable description of any invalid constructs.
OutMessage must be disposed with LLVMDisposeMessage. */
-LLVMBool LLVMVerifyModule(LLVMModuleRef M, LLVMVerifierFailureAction Action,
+LLVM_C_ABI LLVMBool LLVMVerifyModule(LLVMModuleRef M, LLVMVerifierFailureAction Action,
char **OutMessage);
/* Verifies that a single function is valid, taking the specified action. Useful
for debugging. */
-LLVMBool LLVMVerifyFunction(LLVMValueRef Fn, LLVMVerifierFailureAction Action);
+LLVM_C_ABI LLVMBool LLVMVerifyFunction(LLVMValueRef Fn, LLVMVerifierFailureAction Action);
/* Open up a ghostview window that displays the CFG of the current function.
Useful for debugging. */
-void LLVMViewFunctionCFG(LLVMValueRef Fn);
-void LLVMViewFunctionCFGOnly(LLVMValueRef Fn);
+LLVM_C_ABI void LLVMViewFunctionCFG(LLVMValueRef Fn);
+LLVM_C_ABI void LLVMViewFunctionCFGOnly(LLVMValueRef Fn);
/**
* @}
diff --git a/llvm/include/llvm-c/BitReader.h b/llvm/include/llvm-c/BitReader.h
index 088107468d4fb..781cfe2f6b00b 100644
--- a/llvm/include/llvm-c/BitReader.h
+++ b/llvm/include/llvm-c/BitReader.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_BITREADER_H
#define LLVM_C_BITREADER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -36,20 +37,20 @@ LLVM_C_EXTERN_C_BEGIN
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMParseBitcode2. */
-LLVMBool LLVMParseBitcode(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule,
+LLVM_C_ABI LLVMBool LLVMParseBitcode(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule,
char **OutMessage);
/* Builds a module from the bitcode in the specified memory buffer, returning a
reference to the module via the OutModule parameter. Returns 0 on success. */
-LLVMBool LLVMParseBitcode2(LLVMMemoryBufferRef MemBuf,
+LLVM_C_ABI LLVMBool LLVMParseBitcode2(LLVMMemoryBufferRef MemBuf,
LLVMModuleRef *OutModule);
/* This is deprecated. Use LLVMParseBitcodeInContext2. */
-LLVMBool LLVMParseBitcodeInContext(LLVMContextRef ContextRef,
+LLVM_C_ABI LLVMBool LLVMParseBitcodeInContext(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf,
LLVMModuleRef *OutModule, char **OutMessage);
-LLVMBool LLVMParseBitcodeInContext2(LLVMContextRef ContextRef,
+LLVM_C_ABI LLVMBool LLVMParseBitcodeInContext2(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf,
LLVMModuleRef *OutModule);
@@ -57,7 +58,7 @@ LLVMBool LLVMParseBitcodeInContext2(LLVMContextRef ContextRef,
a module provider which performs lazy deserialization. Returns 0 on success.
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMGetBitcodeModuleInContext2. */
-LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef,
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf,
LLVMModuleRef *OutM, char **OutMessage);
@@ -68,15 +69,15 @@ LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef,
*
* Takes ownership of \p MemBuf if (and only if) the module was read
* successfully. */
-LLVMBool LLVMGetBitcodeModuleInContext2(LLVMContextRef ContextRef,
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModuleInContext2(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf,
LLVMModuleRef *OutM);
/* This is deprecated. Use LLVMGetBitcodeModule2. */
-LLVMBool LLVMGetBitcodeModule(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModule(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
char **OutMessage);
-LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM);
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM);
/**
* @}
diff --git a/llvm/include/llvm-c/BitWriter.h b/llvm/include/llvm-c/BitWriter.h
index ea84b6593d126..d93f32195815b 100644
--- a/llvm/include/llvm-c/BitWriter.h
+++ b/llvm/include/llvm-c/BitWriter.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_BITWRITER_H
#define LLVM_C_BITWRITER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -34,18 +35,18 @@ LLVM_C_EXTERN_C_BEGIN
/*===-- Operations on modules ---------------------------------------------===*/
/** Writes a module to the specified path. Returns 0 on success. */
-int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path);
+LLVM_C_ABI int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path);
/** Writes a module to an open file descriptor. Returns 0 on success. */
-int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose,
+LLVM_C_ABI int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose,
int Unbuffered);
/** Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file
descriptor. Returns 0 on success. Closes the Handle. */
-int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle);
+LLVM_C_ABI int LLVMWriteBitcodeToFileHandle(LLVMModuleRef M, int Handle);
/** Writes a module to a new memory buffer and returns it. */
-LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M);
+LLVM_C_ABI LLVMMemoryBufferRef LLVMWriteBitcodeToMemoryBuffer(LLVMModuleRef M);
/**
* @}
diff --git a/llvm/include/llvm-c/Comdat.h b/llvm/include/llvm-c/Comdat.h
index 8002bc0581af7..216107c52715d 100644
--- a/llvm/include/llvm-c/Comdat.h
+++ b/llvm/include/llvm-c/Comdat.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_COMDAT_H
#define LLVM_C_COMDAT_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -43,35 +44,35 @@ typedef enum {
*
* @see llvm::Module::getOrInsertComdat()
*/
-LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M, const char *Name);
/**
* Get the Comdat assigned to the given global object.
*
* @see llvm::GlobalObject::getComdat()
*/
-LLVMComdatRef LLVMGetComdat(LLVMValueRef V);
+LLVM_C_ABI LLVMComdatRef LLVMGetComdat(LLVMValueRef V);
/**
* Assign the Comdat to the given global object.
*
* @see llvm::GlobalObject::setComdat()
*/
-void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C);
+LLVM_C_ABI void LLVMSetComdat(LLVMValueRef V, LLVMComdatRef C);
/*
* Get the conflict resolution selection kind for the Comdat.
*
* @see llvm::Comdat::getSelectionKind()
*/
-LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C);
+LLVM_C_ABI LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C);
/*
* Set the conflict resolution selection kind for the Comdat.
*
* @see llvm::Comdat::setSelectionKind()
*/
-void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
+LLVM_C_ABI void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
/**
* @}
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index 6857944e6875f..76752b1ced011 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -15,6 +15,7 @@
#ifndef LLVM_C_CORE_H
#define LLVM_C_CORE_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/Deprecated.h"
#include "llvm-c/ErrorHandling.h"
#include "llvm-c/ExternC.h"
@@ -536,7 +537,7 @@ typedef unsigned LLVMGEPNoWrapFlags;
/** Deallocate and destroy all ManagedStatic variables.
@see llvm::llvm_shutdown
@see ManagedStatic */
-void LLVMShutdown(void);
+LLVM_C_ABI void LLVMShutdown(void);
/*===-- Version query -----------------------------------------------------===*/
@@ -546,12 +547,12 @@ void LLVMShutdown(void);
* The version components are returned via the function's three output
* parameters or skipped if a NULL pointer was supplied.
*/
-void LLVMGetVersion(unsigned *Major, unsigned *Minor, unsigned *Patch);
+LLVM_C_ABI void LLVMGetVersion(unsigned *Major, unsigned *Minor, unsigned *Patch);
/*===-- Error handling ----------------------------------------------------===*/
-char *LLVMCreateMessage(const char *Message);
-void LLVMDisposeMessage(char *Message);
+LLVM_C_ABI char *LLVMCreateMessage(const char *Message);
+LLVM_C_ABI void LLVMDisposeMessage(char *Message);
/**
* @defgroup LLVMCCoreContext Contexts
@@ -574,36 +575,36 @@ typedef void (*LLVMYieldCallback)(LLVMContextRef, void *);
* Every call to this function should be paired with a call to
* LLVMContextDispose() or the context will leak memory.
*/
-LLVMContextRef LLVMContextCreate(void);
+LLVM_C_ABI LLVMContextRef LLVMContextCreate(void);
/**
* Obtain the global context instance.
*/
-LLVMContextRef LLVMGetGlobalContext(void);
+LLVM_C_ABI LLVMContextRef LLVMGetGlobalContext(void);
/**
* Set the diagnostic handler for this context.
*/
-void LLVMContextSetDiagnosticHandler(LLVMContextRef C,
+LLVM_C_ABI void LLVMContextSetDiagnosticHandler(LLVMContextRef C,
LLVMDiagnosticHandler Handler,
void *DiagnosticContext);
/**
* Get the diagnostic handler of this context.
*/
-LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler(LLVMContextRef C);
+LLVM_C_ABI LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler(LLVMContextRef C);
/**
* Get the diagnostic context of this context.
*/
-void *LLVMContextGetDiagnosticContext(LLVMContextRef C);
+LLVM_C_ABI void *LLVMContextGetDiagnosticContext(LLVMContextRef C);
/**
* Set the yield callback function for this context.
*
* @see LLVMContext::setYieldCallback()
*/
-void LLVMContextSetYieldCallback(LLVMContextRef C, LLVMYieldCallback Callback,
+LLVM_C_ABI void LLVMContextSetYieldCallback(LLVMContextRef C, LLVMYieldCallback Callback,
void *OpaqueHandle);
/**
@@ -611,7 +612,7 @@ void LLVMContextSetYieldCallback(LLVMContextRef C, LLVMYieldCallback Callback,
*
* @see LLVMContext::shouldDiscardValueNames()
*/
-LLVMBool LLVMContextShouldDiscardValueNames(LLVMContextRef C);
+LLVM_C_ABI LLVMBool LLVMContextShouldDiscardValueNames(LLVMContextRef C);
/**
* Set whether the given context discards all value names.
@@ -621,7 +622,7 @@ LLVMBool LLVMContextShouldDiscardValueNames(LLVMContextRef C);
*
* @see LLVMContext::setDiscardValueNames()
*/
-void LLVMContextSetDiscardValueNames(LLVMContextRef C, LLVMBool Discard);
+LLVM_C_ABI void LLVMContextSetDiscardValueNames(LLVMContextRef C, LLVMBool Discard);
/**
* Destroy a context instance.
@@ -629,7 +630,7 @@ void LLVMContextSetDiscardValueNames(LLVMContextRef C, LLVMBool Discard);
* This should be called for every call to LLVMContextCreate() or memory
* will be leaked.
*/
-void LLVMContextDispose(LLVMContextRef C);
+LLVM_C_ABI void LLVMContextDispose(LLVMContextRef C);
/**
* Return a string representation of the DiagnosticInfo. Use
@@ -637,23 +638,23 @@ void LLVMContextDispose(LLVMContextRef C);
*
* @see DiagnosticInfo::print()
*/
-char *LLVMGetDiagInfoDescription(LLVMDiagnosticInfoRef DI);
+LLVM_C_ABI char *LLVMGetDiagInfoDescription(LLVMDiagnosticInfoRef DI);
/**
* Return an enum LLVMDiagnosticSeverity.
*
* @see DiagnosticInfo::getSeverity()
*/
-LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI);
+LLVM_C_ABI LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI);
-unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name,
+LLVM_C_ABI unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name,
unsigned SLen);
-unsigned LLVMGetMDKindID(const char *Name, unsigned SLen);
+LLVM_C_ABI unsigned LLVMGetMDKindID(const char *Name, unsigned SLen);
/**
* Maps a synchronization scope name to a ID unique within this context.
*/
-unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name, size_t SLen);
+LLVM_C_ABI unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name, size_t SLen);
/**
* Return an unique id given the name of a enum attribute,
@@ -666,36 +667,36 @@ unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name, size_t SLen);
* NB: Attribute names and/or id are subject to change without
* going through the C API deprecation cycle.
*/
-unsigned LLVMGetEnumAttributeKindForName(const char *Name, size_t SLen);
-unsigned LLVMGetLastEnumAttributeKind(void);
+LLVM_C_ABI unsigned LLVMGetEnumAttributeKindForName(const char *Name, size_t SLen);
+LLVM_C_ABI unsigned LLVMGetLastEnumAttributeKind(void);
/**
* Create an enum attribute.
*/
-LLVMAttributeRef LLVMCreateEnumAttribute(LLVMContextRef C, unsigned KindID,
+LLVM_C_ABI LLVMAttributeRef LLVMCreateEnumAttribute(LLVMContextRef C, unsigned KindID,
uint64_t Val);
/**
* Get the unique id corresponding to the enum attribute
* passed as argument.
*/
-unsigned LLVMGetEnumAttributeKind(LLVMAttributeRef A);
+LLVM_C_ABI unsigned LLVMGetEnumAttributeKind(LLVMAttributeRef A);
/**
* Get the enum attribute's value. 0 is returned if none exists.
*/
-uint64_t LLVMGetEnumAttributeValue(LLVMAttributeRef A);
+LLVM_C_ABI uint64_t LLVMGetEnumAttributeValue(LLVMAttributeRef A);
/**
* Create a type attribute
*/
-LLVMAttributeRef LLVMCreateTypeAttribute(LLVMContextRef C, unsigned KindID,
+LLVM_C_ABI LLVMAttributeRef LLVMCreateTypeAttribute(LLVMContextRef C, unsigned KindID,
LLVMTypeRef type_ref);
/**
* Get the type attribute's value.
*/
-LLVMTypeRef LLVMGetTypeAttributeValue(LLVMAttributeRef A);
+LLVM_C_ABI LLVMTypeRef LLVMGetTypeAttributeValue(LLVMAttributeRef A);
/**
* Create a ConstantRange attribute.
@@ -703,7 +704,7 @@ LLVMTypeRef LLVMGetTypeAttributeValue(LLVMAttributeRef A);
* LowerWords and UpperWords need to be NumBits divided by 64 rounded up
* elements long.
*/
-LLVMAttributeRef LLVMCreateConstantRangeAttribute(LLVMContextRef C,
+LLVM_C_ABI LLVMAttributeRef LLVMCreateConstantRangeAttribute(LLVMContextRef C,
unsigned KindID,
unsigned NumBits,
const uint64_t LowerWords[],
@@ -712,31 +713,31 @@ LLVMAttributeRef LLVMCreateConstantRangeAttribute(LLVMContextRef C,
/**
* Create a string attribute.
*/
-LLVMAttributeRef LLVMCreateStringAttribute(LLVMContextRef C,
+LLVM_C_ABI LLVMAttributeRef LLVMCreateStringAttribute(LLVMContextRef C,
const char *K, unsigned KLength,
const char *V, unsigned VLength);
/**
* Get the string attribute's kind.
*/
-const char *LLVMGetStringAttributeKind(LLVMAttributeRef A, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetStringAttributeKind(LLVMAttributeRef A, unsigned *Length);
/**
* Get the string attribute's value.
*/
-const char *LLVMGetStringAttributeValue(LLVMAttributeRef A, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetStringAttributeValue(LLVMAttributeRef A, unsigned *Length);
/**
* Check for the different types of attributes.
*/
-LLVMBool LLVMIsEnumAttribute(LLVMAttributeRef A);
-LLVMBool LLVMIsStringAttribute(LLVMAttributeRef A);
-LLVMBool LLVMIsTypeAttribute(LLVMAttributeRef A);
+LLVM_C_ABI LLVMBool LLVMIsEnumAttribute(LLVMAttributeRef A);
+LLVM_C_ABI LLVMBool LLVMIsStringAttribute(LLVMAttributeRef A);
+LLVM_C_ABI LLVMBool LLVMIsTypeAttribute(LLVMAttributeRef A);
/**
* Obtain a Type from a context by its registered name.
*/
-LLVMTypeRef LLVMGetTypeByName2(LLVMContextRef C, const char *Name);
+LLVM_C_ABI LLVMTypeRef LLVMGetTypeByName2(LLVMContextRef C, const char *Name);
/**
* @}
@@ -761,7 +762,7 @@ LLVMTypeRef LLVMGetTypeByName2(LLVMContextRef C, const char *Name);
* Every invocation should be paired with LLVMDisposeModule() or memory
* will be leaked.
*/
-LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID);
+LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID);
/**
* Create a new, empty module in a specific context.
@@ -769,12 +770,12 @@ LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID);
* Every invocation should be paired with LLVMDisposeModule() or memory
* will be leaked.
*/
-LLVMModuleRef LLVMModuleCreateWithNameInContext(const char *ModuleID,
+LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithNameInContext(const char *ModuleID,
LLVMContextRef C);
/**
* Return an exact copy of the specified module.
*/
-LLVMModuleRef LLVMCloneModule(LLVMModuleRef M);
+LLVM_C_ABI LLVMModuleRef LLVMCloneModule(LLVMModuleRef M);
/**
* Destroy a module instance.
@@ -782,7 +783,7 @@ LLVMModuleRef LLVMCloneModule(LLVMModuleRef M);
* This must be called for every created module or memory will be
* leaked.
*/
-void LLVMDisposeModule(LLVMModuleRef M);
+LLVM_C_ABI void LLVMDisposeModule(LLVMModuleRef M);
/**
* Soon to be deprecated.
@@ -792,7 +793,7 @@ void LLVMDisposeModule(LLVMModuleRef M);
* non-instruction debug records instead of debug intrinsics for variable
* location tracking.
*/
-LLVMBool LLVMIsNewDbgInfoFormat(LLVMModuleRef M);
+LLVM_C_ABI LLVMBool LLVMIsNewDbgInfoFormat(LLVMModuleRef M);
/**
* Soon to be deprecated.
@@ -800,7 +801,7 @@ LLVMBool LLVMIsNewDbgInfoFormat(LLVMModuleRef M);
*
* Convert module into desired debug info format.
*/
-void LLVMSetIsNewDbgInfoFormat(LLVMModuleRef M, LLVMBool UseNewFormat);
+LLVM_C_ABI void LLVMSetIsNewDbgInfoFormat(LLVMModuleRef M, LLVMBool UseNewFormat);
/**
* Obtain the identifier of a module.
@@ -810,7 +811,7 @@ void LLVMSetIsNewDbgInfoFormat(LLVMModuleRef M, LLVMBool UseNewFormat);
* @return The identifier of M.
* @see Module::getModuleIdentifier()
*/
-const char *LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len);
+LLVM_C_ABI const char *LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len);
/**
* Set the identifier of a module to a string Ident with length Len.
@@ -820,7 +821,7 @@ const char *LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len);
* @param Len Length of Ident
* @see Module::setModuleIdentifier()
*/
-void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len);
+LLVM_C_ABI void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len);
/**
* Obtain the module's original source file name.
@@ -830,7 +831,7 @@ void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len);
* @return The original source file name of M
* @see Module::getSourceFileName()
*/
-const char *LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len);
+LLVM_C_ABI const char *LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len);
/**
* Set the original source file name of a module to a string Name with length
@@ -841,7 +842,7 @@ const char *LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len);
* @param Len Length of Name
* @see Module::setSourceFileName()
*/
-void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len);
+LLVM_C_ABI void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len);
/**
* Obtain the data layout for a module.
@@ -852,29 +853,29 @@ void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len);
* but match the name of another method on the module. Prefer the use
* of LLVMGetDataLayoutStr, which is not ambiguous.
*/
-const char *LLVMGetDataLayoutStr(LLVMModuleRef M);
-const char *LLVMGetDataLayout(LLVMModuleRef M);
+LLVM_C_ABI const char *LLVMGetDataLayoutStr(LLVMModuleRef M);
+LLVM_C_ABI const char *LLVMGetDataLayout(LLVMModuleRef M);
/**
* Set the data layout for a module.
*
* @see Module::setDataLayout()
*/
-void LLVMSetDataLayout(LLVMModuleRef M, const char *DataLayoutStr);
+LLVM_C_ABI void LLVMSetDataLayout(LLVMModuleRef M, const char *DataLayoutStr);
/**
* Obtain the target triple for a module.
*
* @see Module::getTargetTriple()
*/
-const char *LLVMGetTarget(LLVMModuleRef M);
+LLVM_C_ABI const char *LLVMGetTarget(LLVMModuleRef M);
/**
* Set the target triple for a module.
*
* @see Module::setTargetTriple()
*/
-void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
+LLVM_C_ABI void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
/**
* Returns the module flags as an array of flag-key-value triples. The caller
@@ -883,19 +884,19 @@ void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
*
* @see Module::getModuleFlagsMetadata()
*/
-LLVMModuleFlagEntry *LLVMCopyModuleFlagsMetadata(LLVMModuleRef M, size_t *Len);
+LLVM_C_ABI LLVMModuleFlagEntry *LLVMCopyModuleFlagsMetadata(LLVMModuleRef M, size_t *Len);
/**
* Destroys module flags metadata entries.
*/
-void LLVMDisposeModuleFlagsMetadata(LLVMModuleFlagEntry *Entries);
+LLVM_C_ABI void LLVMDisposeModuleFlagsMetadata(LLVMModuleFlagEntry *Entries);
/**
* Returns the flag behavior for a module flag entry at a specific index.
*
* @see Module::ModuleFlagEntry::Behavior
*/
-LLVMModuleFlagBehavior
+LLVM_C_ABI LLVMModuleFlagBehavior
LLVMModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry *Entries,
unsigned Index);
@@ -904,7 +905,7 @@ LLVMModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry *Entries,
*
* @see Module::ModuleFlagEntry::Key
*/
-const char *LLVMModuleFlagEntriesGetKey(LLVMModuleFlagEntry *Entries,
+LLVM_C_ABI const char *LLVMModuleFlagEntriesGetKey(LLVMModuleFlagEntry *Entries,
unsigned Index, size_t *Len);
/**
@@ -912,7 +913,7 @@ const char *LLVMModuleFlagEntriesGetKey(LLVMModuleFlagEntry *Entries,
*
* @see Module::ModuleFlagEntry::Val
*/
-LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries,
+LLVM_C_ABI LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries,
unsigned Index);
/**
@@ -921,7 +922,7 @@ LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries,
*
* @see Module::getModuleFlag()
*/
-LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M,
+LLVM_C_ABI LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M,
const char *Key, size_t KeyLen);
/**
@@ -930,7 +931,7 @@ LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M,
*
* @see Module::addModuleFlag()
*/
-void LLVMAddModuleFlag(LLVMModuleRef M, LLVMModuleFlagBehavior Behavior,
+LLVM_C_ABI void LLVMAddModuleFlag(LLVMModuleRef M, LLVMModuleFlagBehavior Behavior,
const char *Key, size_t KeyLen,
LLVMMetadataRef Val);
@@ -939,7 +940,7 @@ void LLVMAddModuleFlag(LLVMModuleRef M, LLVMModuleFlagBehavior Behavior,
*
* @see Module::dump()
*/
-void LLVMDumpModule(LLVMModuleRef M);
+LLVM_C_ABI void LLVMDumpModule(LLVMModuleRef M);
/**
* Print a representation of a module to a file. The ErrorMessage needs to be
@@ -947,7 +948,7 @@ void LLVMDumpModule(LLVMModuleRef M);
*
* @see Module::print()
*/
-LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename,
+LLVM_C_ABI LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename,
char **ErrorMessage);
/**
@@ -956,35 +957,35 @@ LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename,
*
* @see Module::print()
*/
-char *LLVMPrintModuleToString(LLVMModuleRef M);
+LLVM_C_ABI char *LLVMPrintModuleToString(LLVMModuleRef M);
/**
* Get inline assembly for a module.
*
* @see Module::getModuleInlineAsm()
*/
-const char *LLVMGetModuleInlineAsm(LLVMModuleRef M, size_t *Len);
+LLVM_C_ABI const char *LLVMGetModuleInlineAsm(LLVMModuleRef M, size_t *Len);
/**
* Set inline assembly for a module.
*
* @see Module::setModuleInlineAsm()
*/
-void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm, size_t Len);
+LLVM_C_ABI void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm, size_t Len);
/**
* Append inline assembly to a module.
*
* @see Module::appendModuleInlineAsm()
*/
-void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm, size_t Len);
+LLVM_C_ABI void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm, size_t Len);
/**
* Create the specified uniqued inline asm string.
*
* @see InlineAsm::get()
*/
-LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString,
+LLVM_C_ABI LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString,
size_t AsmStringSize, const char *Constraints,
size_t ConstraintsSize, LLVMBool HasSideEffects,
LLVMBool IsAlignStack,
@@ -994,20 +995,20 @@ LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString,
* Get the template string used for an inline assembly snippet
*
*/
-const char *LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal, size_t *Len);
+LLVM_C_ABI const char *LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal, size_t *Len);
/**
* Get the raw constraint string for an inline assembly snippet
*
*/
-const char *LLVMGetInlineAsmConstraintString(LLVMValueRef InlineAsmVal,
+LLVM_C_ABI const char *LLVMGetInlineAsmConstraintString(LLVMValueRef InlineAsmVal,
size_t *Len);
/**
* Get the dialect used by the inline asm snippet
*
*/
-LLVMInlineAsmDialect LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMInlineAsmDialect LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal);
/**
* Get the function type of the inline assembly snippet. The same type that
@@ -1016,49 +1017,49 @@ LLVMInlineAsmDialect LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal);
* @see LLVMGetInlineAsm
*
*/
-LLVMTypeRef LLVMGetInlineAsmFunctionType(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMTypeRef LLVMGetInlineAsmFunctionType(LLVMValueRef InlineAsmVal);
/**
* Get if the inline asm snippet has side effects
*
*/
-LLVMBool LLVMGetInlineAsmHasSideEffects(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMBool LLVMGetInlineAsmHasSideEffects(LLVMValueRef InlineAsmVal);
/**
* Get if the inline asm snippet needs an aligned stack
*
*/
-LLVMBool LLVMGetInlineAsmNeedsAlignedStack(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMBool LLVMGetInlineAsmNeedsAlignedStack(LLVMValueRef InlineAsmVal);
/**
* Get if the inline asm snippet may unwind the stack
*
*/
-LLVMBool LLVMGetInlineAsmCanUnwind(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMBool LLVMGetInlineAsmCanUnwind(LLVMValueRef InlineAsmVal);
/**
* Obtain the context to which this module is associated.
*
* @see Module::getContext()
*/
-LLVMContextRef LLVMGetModuleContext(LLVMModuleRef M);
+LLVM_C_ABI LLVMContextRef LLVMGetModuleContext(LLVMModuleRef M);
/** Deprecated: Use LLVMGetTypeByName2 instead. */
-LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI LLVMTypeRef LLVMGetTypeByName(LLVMModuleRef M, const char *Name);
/**
* Obtain an iterator to the first NamedMDNode in a Module.
*
* @see llvm::Module::named_metadata_begin()
*/
-LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata(LLVMModuleRef M);
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetFirstNamedMetadata(LLVMModuleRef M);
/**
* Obtain an iterator to the last NamedMDNode in a Module.
*
* @see llvm::Module::named_metadata_end()
*/
-LLVMNamedMDNodeRef LLVMGetLastNamedMetadata(LLVMModuleRef M);
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetLastNamedMetadata(LLVMModuleRef M);
/**
* Advance a NamedMDNode iterator to the next NamedMDNode.
@@ -1066,7 +1067,7 @@ LLVMNamedMDNodeRef LLVMGetLastNamedMetadata(LLVMModuleRef M);
* Returns NULL if the iterator was already at the end and there are no more
* named metadata nodes.
*/
-LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
/**
* Decrement a NamedMDNode iterator to the previous NamedMDNode.
@@ -1074,7 +1075,7 @@ LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
* Returns NULL if the iterator was already at the beginning and there are
* no previous named metadata nodes.
*/
-LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
/**
* Retrieve a NamedMDNode with the given name, returning NULL if no such
@@ -1082,7 +1083,7 @@ LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
*
* @see llvm::Module::getNamedMetadata()
*/
-LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M,
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M,
const char *Name, size_t NameLen);
/**
@@ -1091,7 +1092,7 @@ LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M,
*
* @see llvm::Module::getOrInsertNamedMetadata()
*/
-LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M,
+LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M,
const char *Name,
size_t NameLen);
@@ -1100,7 +1101,7 @@ LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M,
*
* @see llvm::NamedMDNode::getName()
*/
-const char *LLVMGetNamedMetadataName(LLVMNamedMDNodeRef NamedMD,
+LLVM_C_ABI const char *LLVMGetNamedMetadataName(LLVMNamedMDNodeRef NamedMD,
size_t *NameLen);
/**
@@ -1108,7 +1109,7 @@ const char *LLVMGetNamedMetadataName(LLVMNamedMDNodeRef NamedMD,
*
* @see llvm::Module::getNamedMetadata()
*/
-unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *Name);
/**
* Obtain the named metadata operands for a module.
@@ -1121,7 +1122,7 @@ unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *Name);
* @see llvm::Module::getNamedMetadata()
* @see llvm::MDNode::getOperand()
*/
-void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name,
+LLVM_C_ABI void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name,
LLVMValueRef *Dest);
/**
@@ -1130,7 +1131,7 @@ void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name,
* @see llvm::Module::getNamedMetadata()
* @see llvm::MDNode::addOperand()
*/
-void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name,
+LLVM_C_ABI void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name,
LLVMValueRef Val);
/**
@@ -1141,7 +1142,7 @@ void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name,
* @see llvm::GlobalVariable::getDebugInfo()
* @see llvm::Function::getSubprogram()
*/
-const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length);
/**
* Return the filename of the debug location for this value, which must be
@@ -1151,7 +1152,7 @@ const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length);
* @see llvm::GlobalVariable::getDebugInfo()
* @see llvm::Function::getSubprogram()
*/
-const char *LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length);
/**
* Return the line number of the debug location for this value, which must be
@@ -1161,7 +1162,7 @@ const char *LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length);
* @see llvm::GlobalVariable::getDebugInfo()
* @see llvm::Function::getSubprogram()
*/
-unsigned LLVMGetDebugLocLine(LLVMValueRef Val);
+LLVM_C_ABI unsigned LLVMGetDebugLocLine(LLVMValueRef Val);
/**
* Return the column number of the debug location for this value, which must be
@@ -1169,14 +1170,14 @@ unsigned LLVMGetDebugLocLine(LLVMValueRef Val);
*
* @see llvm::Instruction::getDebugLoc()
*/
-unsigned LLVMGetDebugLocColumn(LLVMValueRef Val);
+LLVM_C_ABI unsigned LLVMGetDebugLocColumn(LLVMValueRef Val);
/**
* Add a function to a module under a specified name.
*
* @see llvm::Function::Create()
*/
-LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name,
+LLVM_C_ABI LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name,
LLVMTypeRef FunctionTy);
/**
@@ -1186,7 +1187,7 @@ LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name,
*
* @see llvm::Module::getFunction()
*/
-LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name);
/**
* Obtain a Function value from a Module by its name.
@@ -1195,7 +1196,7 @@ LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name);
*
* @see llvm::Module::getFunction()
*/
-LLVMValueRef LLVMGetNamedFunctionWithLength(LLVMModuleRef M, const char *Name,
+LLVM_C_ABI LLVMValueRef LLVMGetNamedFunctionWithLength(LLVMModuleRef M, const char *Name,
size_t Length);
/**
@@ -1203,14 +1204,14 @@ LLVMValueRef LLVMGetNamedFunctionWithLength(LLVMModuleRef M, const char *Name,
*
* @see llvm::Module::begin()
*/
-LLVMValueRef LLVMGetFirstFunction(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstFunction(LLVMModuleRef M);
/**
* Obtain an iterator to the last Function in a Module.
*
* @see llvm::Module::end()
*/
-LLVMValueRef LLVMGetLastFunction(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetLastFunction(LLVMModuleRef M);
/**
* Advance a Function iterator to the next Function.
@@ -1218,7 +1219,7 @@ LLVMValueRef LLVMGetLastFunction(LLVMModuleRef M);
* Returns NULL if the iterator was already at the end and there are no more
* functions.
*/
-LLVMValueRef LLVMGetNextFunction(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetNextFunction(LLVMValueRef Fn);
/**
* Decrement a Function iterator to the previous Function.
@@ -1226,10 +1227,10 @@ LLVMValueRef LLVMGetNextFunction(LLVMValueRef Fn);
* Returns NULL if the iterator was already at the beginning and there are
* no previous functions.
*/
-LLVMValueRef LLVMGetPreviousFunction(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousFunction(LLVMValueRef Fn);
/** Deprecated: Use LLVMSetModuleInlineAsm2 instead. */
-void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm);
+LLVM_C_ABI void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm);
/**
* @}
@@ -1269,7 +1270,7 @@ void LLVMSetModuleInlineAsm(LLVMModuleRef M, const char *Asm);
*
* @see llvm::Type:getTypeID()
*/
-LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty);
/**
* Whether the type has a known size.
@@ -1278,21 +1279,21 @@ LLVMTypeKind LLVMGetTypeKind(LLVMTypeRef Ty);
*
* @see llvm::Type::isSized()
*/
-LLVMBool LLVMTypeIsSized(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMBool LLVMTypeIsSized(LLVMTypeRef Ty);
/**
* Obtain the context to which this type instance is associated.
*
* @see llvm::Type::getContext()
*/
-LLVMContextRef LLVMGetTypeContext(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMContextRef LLVMGetTypeContext(LLVMTypeRef Ty);
/**
* Dump a representation of a type to stderr.
*
* @see llvm::Type::dump()
*/
-void LLVMDumpType(LLVMTypeRef Val);
+LLVM_C_ABI void LLVMDumpType(LLVMTypeRef Val);
/**
* Return a string representation of the type. Use
@@ -1300,7 +1301,7 @@ void LLVMDumpType(LLVMTypeRef Val);
*
* @see llvm::Type::print()
*/
-char *LLVMPrintTypeToString(LLVMTypeRef Val);
+LLVM_C_ABI char *LLVMPrintTypeToString(LLVMTypeRef Val);
/**
* @defgroup LLVMCCoreTypeInt Integer Types
@@ -1313,26 +1314,26 @@ char *LLVMPrintTypeToString(LLVMTypeRef Val);
/**
* Obtain an integer type from a context with specified bit width.
*/
-LLVMTypeRef LLVMInt1TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMInt8TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMInt16TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMInt32TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMInt64TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMInt128TypeInContext(LLVMContextRef C);
-LLVMTypeRef LLVMIntTypeInContext(LLVMContextRef C, unsigned NumBits);
+LLVM_C_ABI LLVMTypeRef LLVMInt1TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMInt8TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMInt16TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMInt32TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMInt64TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMInt128TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMIntTypeInContext(LLVMContextRef C, unsigned NumBits);
/**
* Obtain an integer type from the global context with a specified bit
* width.
*/
-LLVMTypeRef LLVMInt1Type(void);
-LLVMTypeRef LLVMInt8Type(void);
-LLVMTypeRef LLVMInt16Type(void);
-LLVMTypeRef LLVMInt32Type(void);
-LLVMTypeRef LLVMInt64Type(void);
-LLVMTypeRef LLVMInt128Type(void);
-LLVMTypeRef LLVMIntType(unsigned NumBits);
-unsigned LLVMGetIntTypeWidth(LLVMTypeRef IntegerTy);
+LLVM_C_ABI LLVMTypeRef LLVMInt1Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMInt8Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMInt16Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMInt32Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMInt64Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMInt128Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMIntType(unsigned NumBits);
+LLVM_C_ABI unsigned LLVMGetIntTypeWidth(LLVMTypeRef IntegerTy);
/**
* @}
@@ -1347,51 +1348,51 @@ unsigned LLVMGetIntTypeWidth(LLVMTypeRef IntegerTy);
/**
* Obtain a 16-bit floating point type from a context.
*/
-LLVMTypeRef LLVMHalfTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMHalfTypeInContext(LLVMContextRef C);
/**
* Obtain a 16-bit brain floating point type from a context.
*/
-LLVMTypeRef LLVMBFloatTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMBFloatTypeInContext(LLVMContextRef C);
/**
* Obtain a 32-bit floating point type from a context.
*/
-LLVMTypeRef LLVMFloatTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMFloatTypeInContext(LLVMContextRef C);
/**
* Obtain a 64-bit floating point type from a context.
*/
-LLVMTypeRef LLVMDoubleTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMDoubleTypeInContext(LLVMContextRef C);
/**
* Obtain a 80-bit floating point type (X87) from a context.
*/
-LLVMTypeRef LLVMX86FP80TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMX86FP80TypeInContext(LLVMContextRef C);
/**
* Obtain a 128-bit floating point type (112-bit mantissa) from a
* context.
*/
-LLVMTypeRef LLVMFP128TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMFP128TypeInContext(LLVMContextRef C);
/**
* Obtain a 128-bit floating point type (two 64-bits) from a context.
*/
-LLVMTypeRef LLVMPPCFP128TypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMPPCFP128TypeInContext(LLVMContextRef C);
/**
* Obtain a floating point type from the global context.
*
* These map to the functions in this group of the same name.
*/
-LLVMTypeRef LLVMHalfType(void);
-LLVMTypeRef LLVMBFloatType(void);
-LLVMTypeRef LLVMFloatType(void);
-LLVMTypeRef LLVMDoubleType(void);
-LLVMTypeRef LLVMX86FP80Type(void);
-LLVMTypeRef LLVMFP128Type(void);
-LLVMTypeRef LLVMPPCFP128Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMHalfType(void);
+LLVM_C_ABI LLVMTypeRef LLVMBFloatType(void);
+LLVM_C_ABI LLVMTypeRef LLVMFloatType(void);
+LLVM_C_ABI LLVMTypeRef LLVMDoubleType(void);
+LLVM_C_ABI LLVMTypeRef LLVMX86FP80Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMFP128Type(void);
+LLVM_C_ABI LLVMTypeRef LLVMPPCFP128Type(void);
/**
* @}
@@ -1409,24 +1410,24 @@ LLVMTypeRef LLVMPPCFP128Type(void);
* The function is defined as a tuple of a return Type, a list of
* parameter types, and whether the function is variadic.
*/
-LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType,
+LLVM_C_ABI LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType,
LLVMTypeRef *ParamTypes, unsigned ParamCount,
LLVMBool IsVarArg);
/**
* Returns whether a function type is variadic.
*/
-LLVMBool LLVMIsFunctionVarArg(LLVMTypeRef FunctionTy);
+LLVM_C_ABI LLVMBool LLVMIsFunctionVarArg(LLVMTypeRef FunctionTy);
/**
* Obtain the Type this function Type returns.
*/
-LLVMTypeRef LLVMGetReturnType(LLVMTypeRef FunctionTy);
+LLVM_C_ABI LLVMTypeRef LLVMGetReturnType(LLVMTypeRef FunctionTy);
/**
* Obtain the number of parameters this function accepts.
*/
-unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy);
+LLVM_C_ABI unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy);
/**
* Obtain the types of a function's parameters.
@@ -1439,7 +1440,7 @@ unsigned LLVMCountParamTypes(LLVMTypeRef FunctionTy);
* @param FunctionTy The function type to operate on.
* @param Dest Memory address of an array to be filled with result.
*/
-void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest);
+LLVM_C_ABI void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest);
/**
* @}
@@ -1463,7 +1464,7 @@ void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest);
*
* @see llvm::StructType::create()
*/
-LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes,
+LLVM_C_ABI LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes,
unsigned ElementCount, LLVMBool Packed);
/**
@@ -1471,7 +1472,7 @@ LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes,
*
* @see llvm::StructType::create()
*/
-LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount,
+LLVM_C_ABI LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount,
LLVMBool Packed);
/**
@@ -1479,21 +1480,21 @@ LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount,
*
* @see llvm::StructType::create()
*/
-LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name);
+LLVM_C_ABI LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name);
/**
* Obtain the name of a structure.
*
* @see llvm::StructType::getName()
*/
-const char *LLVMGetStructName(LLVMTypeRef Ty);
+LLVM_C_ABI const char *LLVMGetStructName(LLVMTypeRef Ty);
/**
* Set the contents of a structure type.
*
* @see llvm::StructType::setBody()
*/
-void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
+LLVM_C_ABI void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
unsigned ElementCount, LLVMBool Packed);
/**
@@ -1501,7 +1502,7 @@ void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
*
* @see llvm::StructType::getNumElements()
*/
-unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy);
+LLVM_C_ABI unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy);
/**
* Get the elements within a structure.
@@ -1513,35 +1514,35 @@ unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy);
* of the structure type itself, which is the lifetime of the context it
* is contained in.
*/
-void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest);
+LLVM_C_ABI void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest);
/**
* Get the type of the element at a given index in the structure.
*
* @see llvm::StructType::getTypeAtIndex()
*/
-LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i);
+LLVM_C_ABI LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i);
/**
* Determine whether a structure is packed.
*
* @see llvm::StructType::isPacked()
*/
-LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy);
+LLVM_C_ABI LLVMBool LLVMIsPackedStruct(LLVMTypeRef StructTy);
/**
* Determine whether a structure is opaque.
*
* @see llvm::StructType::isOpaque()
*/
-LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy);
+LLVM_C_ABI LLVMBool LLVMIsOpaqueStruct(LLVMTypeRef StructTy);
/**
* Determine whether a structure is literal.
*
* @see llvm::StructType::isLiteral()
*/
-LLVMBool LLVMIsLiteralStruct(LLVMTypeRef StructTy);
+LLVM_C_ABI LLVMBool LLVMIsLiteralStruct(LLVMTypeRef StructTy);
/**
* @}
@@ -1561,21 +1562,21 @@ LLVMBool LLVMIsLiteralStruct(LLVMTypeRef StructTy);
*
* @see llvm::SequentialType::getElementType()
*/
-LLVMTypeRef LLVMGetElementType(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMTypeRef LLVMGetElementType(LLVMTypeRef Ty);
/**
* Returns type's subtypes
*
* @see llvm::Type::subtypes()
*/
-void LLVMGetSubtypes(LLVMTypeRef Tp, LLVMTypeRef *Arr);
+LLVM_C_ABI void LLVMGetSubtypes(LLVMTypeRef Tp, LLVMTypeRef *Arr);
/**
* Return the number of types in the derived type.
*
* @see llvm::Type::getNumContainedTypes()
*/
-unsigned LLVMGetNumContainedTypes(LLVMTypeRef Tp);
+LLVM_C_ABI unsigned LLVMGetNumContainedTypes(LLVMTypeRef Tp);
/**
* Create a fixed size array type that refers to a specific type.
@@ -1587,7 +1588,7 @@ unsigned LLVMGetNumContainedTypes(LLVMTypeRef Tp);
* LLVMArrayType2
* @see llvm::ArrayType::get()
*/
-LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount);
/**
* Create a fixed size array type that refers to a specific type.
@@ -1597,7 +1598,7 @@ LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount);
*
* @see llvm::ArrayType::get()
*/
-LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType, uint64_t ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType, uint64_t ElementCount);
/**
* Obtain the length of an array type.
@@ -1608,7 +1609,7 @@ LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType, uint64_t ElementCount);
* LLVMGetArrayLength2
* @see llvm::ArrayType::getNumElements()
*/
-unsigned LLVMGetArrayLength(LLVMTypeRef ArrayTy);
+LLVM_C_ABI unsigned LLVMGetArrayLength(LLVMTypeRef ArrayTy);
/**
* Obtain the length of an array type.
@@ -1617,7 +1618,7 @@ unsigned LLVMGetArrayLength(LLVMTypeRef ArrayTy);
*
* @see llvm::ArrayType::getNumElements()
*/
-uint64_t LLVMGetArrayLength2(LLVMTypeRef ArrayTy);
+LLVM_C_ABI uint64_t LLVMGetArrayLength2(LLVMTypeRef ArrayTy);
/**
* Create a pointer type that points to a defined type.
@@ -1627,7 +1628,7 @@ uint64_t LLVMGetArrayLength2(LLVMTypeRef ArrayTy);
*
* @see llvm::PointerType::get()
*/
-LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace);
+LLVM_C_ABI LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace);
/**
* Determine whether a pointer is opaque.
@@ -1636,14 +1637,14 @@ LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace);
*
* @see llvm::Type::isOpaquePointerTy()
*/
-LLVMBool LLVMPointerTypeIsOpaque(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMBool LLVMPointerTypeIsOpaque(LLVMTypeRef Ty);
/**
* Create an opaque pointer type in a context.
*
* @see llvm::PointerType::get()
*/
-LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C, unsigned AddressSpace);
+LLVM_C_ABI LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C, unsigned AddressSpace);
/**
* Obtain the address space of a pointer type.
@@ -1652,7 +1653,7 @@ LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C, unsigned AddressSpace);
*
* @see llvm::PointerType::getAddressSpace()
*/
-unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy);
+LLVM_C_ABI unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy);
/**
* Create a vector type that contains a defined type and has a specific
@@ -1663,7 +1664,7 @@ unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy);
*
* @see llvm::VectorType::get()
*/
-LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount);
/**
* Create a vector type that contains a defined type and has a scalable
@@ -1674,7 +1675,7 @@ LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount);
*
* @see llvm::ScalableVectorType::get()
*/
-LLVMTypeRef LLVMScalableVectorType(LLVMTypeRef ElementType,
+LLVM_C_ABI LLVMTypeRef LLVMScalableVectorType(LLVMTypeRef ElementType,
unsigned ElementCount);
/**
@@ -1684,28 +1685,28 @@ LLVMTypeRef LLVMScalableVectorType(LLVMTypeRef ElementType,
*
* @see llvm::VectorType::getNumElements()
*/
-unsigned LLVMGetVectorSize(LLVMTypeRef VectorTy);
+LLVM_C_ABI unsigned LLVMGetVectorSize(LLVMTypeRef VectorTy);
/**
* Get the pointer value for the associated ConstantPtrAuth constant.
*
* @see llvm::ConstantPtrAuth::getPointer
*/
-LLVMValueRef LLVMGetConstantPtrAuthPointer(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthPointer(LLVMValueRef PtrAuth);
/**
* Get the key value for the associated ConstantPtrAuth constant.
*
* @see llvm::ConstantPtrAuth::getKey
*/
-LLVMValueRef LLVMGetConstantPtrAuthKey(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthKey(LLVMValueRef PtrAuth);
/**
* Get the discriminator value for the associated ConstantPtrAuth constant.
*
* @see llvm::ConstantPtrAuth::getDiscriminator
*/
-LLVMValueRef LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth);
/**
* Get the address discriminator value for the associated ConstantPtrAuth
@@ -1713,7 +1714,7 @@ LLVMValueRef LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth);
*
* @see llvm::ConstantPtrAuth::getAddrDiscriminator
*/
-LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator(LLVMValueRef PtrAuth);
/**
* @}
@@ -1728,40 +1729,40 @@ LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator(LLVMValueRef PtrAuth);
/**
* Create a void type in a context.
*/
-LLVMTypeRef LLVMVoidTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMVoidTypeInContext(LLVMContextRef C);
/**
* Create a label type in a context.
*/
-LLVMTypeRef LLVMLabelTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMLabelTypeInContext(LLVMContextRef C);
/**
* Create a X86 AMX type in a context.
*/
-LLVMTypeRef LLVMX86AMXTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMX86AMXTypeInContext(LLVMContextRef C);
/**
* Create a token type in a context.
*/
-LLVMTypeRef LLVMTokenTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMTokenTypeInContext(LLVMContextRef C);
/**
* Create a metadata type in a context.
*/
-LLVMTypeRef LLVMMetadataTypeInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMTypeRef LLVMMetadataTypeInContext(LLVMContextRef C);
/**
* These are similar to the above functions except they operate on the
* global context.
*/
-LLVMTypeRef LLVMVoidType(void);
-LLVMTypeRef LLVMLabelType(void);
-LLVMTypeRef LLVMX86AMXType(void);
+LLVM_C_ABI LLVMTypeRef LLVMVoidType(void);
+LLVM_C_ABI LLVMTypeRef LLVMLabelType(void);
+LLVM_C_ABI LLVMTypeRef LLVMX86AMXType(void);
/**
* Create a target extension type in LLVM context.
*/
-LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name,
+LLVM_C_ABI LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name,
LLVMTypeRef *TypeParams,
unsigned TypeParamCount,
unsigned *IntParams,
@@ -1772,21 +1773,21 @@ LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name,
*
* @see llvm::TargetExtType::getName()
*/
-const char *LLVMGetTargetExtTypeName(LLVMTypeRef TargetExtTy);
+LLVM_C_ABI const char *LLVMGetTargetExtTypeName(LLVMTypeRef TargetExtTy);
/**
* Obtain the number of type parameters for this target extension type.
*
* @see llvm::TargetExtType::getNumTypeParameters()
*/
-unsigned LLVMGetTargetExtTypeNumTypeParams(LLVMTypeRef TargetExtTy);
+LLVM_C_ABI unsigned LLVMGetTargetExtTypeNumTypeParams(LLVMTypeRef TargetExtTy);
/**
* Get the type parameter at the given index for the target extension type.
*
* @see llvm::TargetExtType::getTypeParameter()
*/
-LLVMTypeRef LLVMGetTargetExtTypeTypeParam(LLVMTypeRef TargetExtTy,
+LLVM_C_ABI LLVMTypeRef LLVMGetTargetExtTypeTypeParam(LLVMTypeRef TargetExtTy,
unsigned Idx);
/**
@@ -1794,14 +1795,14 @@ LLVMTypeRef LLVMGetTargetExtTypeTypeParam(LLVMTypeRef TargetExtTy,
*
* @see llvm::TargetExtType::getNumIntParameters()
*/
-unsigned LLVMGetTargetExtTypeNumIntParams(LLVMTypeRef TargetExtTy);
+LLVM_C_ABI unsigned LLVMGetTargetExtTypeNumIntParams(LLVMTypeRef TargetExtTy);
/**
* Get the int parameter at the given index for the target extension type.
*
* @see llvm::TargetExtType::getIntParameter()
*/
-unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, unsigned Idx);
+LLVM_C_ABI unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, unsigned Idx);
/**
* @}
@@ -1944,35 +1945,35 @@ unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, unsigned Idx);
*
* @see llvm::Value::getType()
*/
-LLVMTypeRef LLVMTypeOf(LLVMValueRef Val);
+LLVM_C_ABI LLVMTypeRef LLVMTypeOf(LLVMValueRef Val);
/**
* Obtain the enumerated type of a Value instance.
*
* @see llvm::Value::getValueID()
*/
-LLVMValueKind LLVMGetValueKind(LLVMValueRef Val);
+LLVM_C_ABI LLVMValueKind LLVMGetValueKind(LLVMValueRef Val);
/**
* Obtain the string name of a value.
*
* @see llvm::Value::getName()
*/
-const char *LLVMGetValueName2(LLVMValueRef Val, size_t *Length);
+LLVM_C_ABI const char *LLVMGetValueName2(LLVMValueRef Val, size_t *Length);
/**
* Set the string name of a value.
*
* @see llvm::Value::setName()
*/
-void LLVMSetValueName2(LLVMValueRef Val, const char *Name, size_t NameLen);
+LLVM_C_ABI void LLVMSetValueName2(LLVMValueRef Val, const char *Name, size_t NameLen);
/**
* Dump a representation of a value to stderr.
*
* @see llvm::Value::dump()
*/
-void LLVMDumpValue(LLVMValueRef Val);
+LLVM_C_ABI void LLVMDumpValue(LLVMValueRef Val);
/**
* Return a string representation of the value. Use
@@ -1980,14 +1981,14 @@ void LLVMDumpValue(LLVMValueRef Val);
*
* @see llvm::Value::print()
*/
-char *LLVMPrintValueToString(LLVMValueRef Val);
+LLVM_C_ABI char *LLVMPrintValueToString(LLVMValueRef Val);
/**
* Obtain the context to which this value is associated.
*
* @see llvm::Value::getContext()
*/
-LLVMContextRef LLVMGetValueContext(LLVMValueRef Val);
+LLVM_C_ABI LLVMContextRef LLVMGetValueContext(LLVMValueRef Val);
/**
* Return a string representation of the DbgRecord. Use
@@ -1995,29 +1996,29 @@ LLVMContextRef LLVMGetValueContext(LLVMValueRef Val);
*
* @see llvm::DbgRecord::print()
*/
-char *LLVMPrintDbgRecordToString(LLVMDbgRecordRef Record);
+LLVM_C_ABI char *LLVMPrintDbgRecordToString(LLVMDbgRecordRef Record);
/**
* Replace all uses of a value with another one.
*
* @see llvm::Value::replaceAllUsesWith()
*/
-void LLVMReplaceAllUsesWith(LLVMValueRef OldVal, LLVMValueRef NewVal);
+LLVM_C_ABI void LLVMReplaceAllUsesWith(LLVMValueRef OldVal, LLVMValueRef NewVal);
/**
* Determine whether the specified value instance is constant.
*/
-LLVMBool LLVMIsConstant(LLVMValueRef Val);
+LLVM_C_ABI LLVMBool LLVMIsConstant(LLVMValueRef Val);
/**
* Determine whether a value instance is undefined.
*/
-LLVMBool LLVMIsUndef(LLVMValueRef Val);
+LLVM_C_ABI LLVMBool LLVMIsUndef(LLVMValueRef Val);
/**
* Determine whether a value instance is poisonous.
*/
-LLVMBool LLVMIsPoison(LLVMValueRef Val);
+LLVM_C_ABI LLVMBool LLVMIsPoison(LLVMValueRef Val);
/**
* Convert value instances between types.
@@ -2034,14 +2035,14 @@ LLVMBool LLVMIsPoison(LLVMValueRef Val);
LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DECLARE_VALUE_CAST)
-LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val);
-LLVMValueRef LLVMIsAValueAsMetadata(LLVMValueRef Val);
-LLVMValueRef LLVMIsAMDString(LLVMValueRef Val);
+LLVM_C_ABI LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val);
+LLVM_C_ABI LLVMValueRef LLVMIsAValueAsMetadata(LLVMValueRef Val);
+LLVM_C_ABI LLVMValueRef LLVMIsAMDString(LLVMValueRef Val);
/** Deprecated: Use LLVMGetValueName2 instead. */
-const char *LLVMGetValueName(LLVMValueRef Val);
+LLVM_C_ABI const char *LLVMGetValueName(LLVMValueRef Val);
/** Deprecated: Use LLVMSetValueName2 instead. */
-void LLVMSetValueName(LLVMValueRef Val, const char *Name);
+LLVM_C_ABI void LLVMSetValueName(LLVMValueRef Val, const char *Name);
/**
* @}
@@ -2070,7 +2071,7 @@ void LLVMSetValueName(LLVMValueRef Val, const char *Name);
*
* @see llvm::Value::use_begin()
*/
-LLVMUseRef LLVMGetFirstUse(LLVMValueRef Val);
+LLVM_C_ABI LLVMUseRef LLVMGetFirstUse(LLVMValueRef Val);
/**
* Obtain the next use of a value.
@@ -2078,7 +2079,7 @@ LLVMUseRef LLVMGetFirstUse(LLVMValueRef Val);
* This effectively advances the iterator. It returns NULL if you are on
* the final use and no more are available.
*/
-LLVMUseRef LLVMGetNextUse(LLVMUseRef U);
+LLVM_C_ABI LLVMUseRef LLVMGetNextUse(LLVMUseRef U);
/**
* Obtain the user value for a user.
@@ -2087,14 +2088,14 @@ LLVMUseRef LLVMGetNextUse(LLVMUseRef U);
*
* @see llvm::Use::getUser()
*/
-LLVMValueRef LLVMGetUser(LLVMUseRef U);
+LLVM_C_ABI LLVMValueRef LLVMGetUser(LLVMUseRef U);
/**
* Obtain the value this use corresponds to.
*
* @see llvm::Use::get().
*/
-LLVMValueRef LLVMGetUsedValue(LLVMUseRef U);
+LLVM_C_ABI LLVMValueRef LLVMGetUsedValue(LLVMUseRef U);
/**
* @}
@@ -2115,28 +2116,28 @@ LLVMValueRef LLVMGetUsedValue(LLVMUseRef U);
*
* @see llvm::User::getOperand()
*/
-LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index);
+LLVM_C_ABI LLVMValueRef LLVMGetOperand(LLVMValueRef Val, unsigned Index);
/**
* Obtain the use of an operand at a specific index in a llvm::User value.
*
* @see llvm::User::getOperandUse()
*/
-LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index);
+LLVM_C_ABI LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index);
/**
* Set an operand at a specific index in a llvm::User value.
*
* @see llvm::User::setOperand()
*/
-void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val);
+LLVM_C_ABI void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val);
/**
* Obtain the number of operands in a llvm::User value.
*
* @see llvm::User::getNumOperands()
*/
-int LLVMGetNumOperands(LLVMValueRef Val);
+LLVM_C_ABI int LLVMGetNumOperands(LLVMValueRef Val);
/**
* @}
@@ -2159,7 +2160,7 @@ int LLVMGetNumOperands(LLVMValueRef Val);
*
* @see llvm::Constant::getNullValue()
*/
-LLVMValueRef LLVMConstNull(LLVMTypeRef Ty); /* all zeroes */
+LLVM_C_ABI LLVMValueRef LLVMConstNull(LLVMTypeRef Ty); /* all zeroes */
/**
* Obtain a constant value referring to the instance of a type
@@ -2169,34 +2170,34 @@ LLVMValueRef LLVMConstNull(LLVMTypeRef Ty); /* all zeroes */
*
* @see llvm::Constant::getAllOnesValue()
*/
-LLVMValueRef LLVMConstAllOnes(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMConstAllOnes(LLVMTypeRef Ty);
/**
* Obtain a constant value referring to an undefined value of a type.
*
* @see llvm::UndefValue::get()
*/
-LLVMValueRef LLVMGetUndef(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMGetUndef(LLVMTypeRef Ty);
/**
* Obtain a constant value referring to a poison value of a type.
*
* @see llvm::PoisonValue::get()
*/
-LLVMValueRef LLVMGetPoison(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMGetPoison(LLVMTypeRef Ty);
/**
* Determine whether a value instance is null.
*
* @see llvm::Constant::isNullValue()
*/
-LLVMBool LLVMIsNull(LLVMValueRef Val);
+LLVM_C_ABI LLVMBool LLVMIsNull(LLVMValueRef Val);
/**
* Obtain a constant that is a constant pointer pointing to NULL for a
* specified type.
*/
-LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty);
/**
* @defgroup LLVMCCoreValueConstantScalar Scalar constants
@@ -2225,7 +2226,7 @@ LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty);
* @param N The value the returned instance should refer to.
* @param SignExtend Whether to sign extend the produced value.
*/
-LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
+LLVM_C_ABI LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
LLVMBool SignExtend);
/**
@@ -2233,7 +2234,7 @@ LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
*
* @see llvm::ConstantInt::get()
*/
-LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy,
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy,
unsigned NumWords,
const uint64_t Words[]);
@@ -2246,7 +2247,7 @@ LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy,
*
* @see llvm::ConstantInt::get()
*/
-LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text,
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text,
uint8_t Radix);
/**
@@ -2255,13 +2256,13 @@ LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text,
*
* @see llvm::ConstantInt::get()
*/
-LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy, const char *Text,
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy, const char *Text,
unsigned SLen, uint8_t Radix);
/**
* Obtain a constant value referring to a double floating point value.
*/
-LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N);
+LLVM_C_ABI LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N);
/**
* Obtain a constant for a floating point value parsed from a string.
@@ -2269,12 +2270,12 @@ LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N);
* A similar API, LLVMConstRealOfStringAndSize is also available. It
* should be used if the input string's length is known.
*/
-LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text);
+LLVM_C_ABI LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text);
/**
* Obtain a constant for a floating point value parsed from a string.
*/
-LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text,
+LLVM_C_ABI LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text,
unsigned SLen);
/**
@@ -2282,14 +2283,14 @@ LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text,
*
* @see llvm::ConstantInt::getZExtValue()
*/
-unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal);
+LLVM_C_ABI unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal);
/**
* Obtain the sign extended value for an integer constant value.
*
* @see llvm::ConstantInt::getSExtValue()
*/
-long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal);
+LLVM_C_ABI long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal);
/**
* Obtain the double value for an floating point constant value.
@@ -2297,7 +2298,7 @@ long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal);
*
* @see llvm::ConstantFP::getDoubleValue
*/
-double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo);
+LLVM_C_ABI double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo);
/**
* @}
@@ -2318,7 +2319,7 @@ double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo);
* accurate LLVMConstStringInContext2
* @see llvm::ConstantDataArray::getString()
*/
-LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str,
+LLVM_C_ABI LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str,
unsigned Length, LLVMBool DontNullTerminate);
/**
@@ -2326,7 +2327,7 @@ LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str,
*
* @see llvm::ConstantDataArray::getString()
*/
-LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C, const char *Str,
+LLVM_C_ABI LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C, const char *Str,
size_t Length,
LLVMBool DontNullTerminate);
@@ -2339,7 +2340,7 @@ LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C, const char *Str,
* @see LLVMConstStringInContext()
* @see llvm::ConstantDataArray::getString()
*/
-LLVMValueRef LLVMConstString(const char *Str, unsigned Length,
+LLVM_C_ABI LLVMValueRef LLVMConstString(const char *Str, unsigned Length,
LLVMBool DontNullTerminate);
/**
@@ -2347,14 +2348,14 @@ LLVMValueRef LLVMConstString(const char *Str, unsigned Length,
*
* @see ConstantDataSequential::getAsString()
*/
-LLVMBool LLVMIsConstantString(LLVMValueRef c);
+LLVM_C_ABI LLVMBool LLVMIsConstantString(LLVMValueRef c);
/**
* Get the given constant data sequential as a string.
*
* @see ConstantDataSequential::getAsString()
*/
-const char *LLVMGetAsString(LLVMValueRef c, size_t *Length);
+LLVM_C_ABI const char *LLVMGetAsString(LLVMValueRef c, size_t *Length);
/**
* Get the raw, underlying bytes of the given constant data sequential.
@@ -2364,14 +2365,14 @@ const char *LLVMGetAsString(LLVMValueRef c, size_t *Length);
*
* @see ConstantDataSequential::getRawDataValues()
*/
-const char *LLVMGetRawDataValues(LLVMValueRef c, size_t *SizeInBytes);
+LLVM_C_ABI const char *LLVMGetRawDataValues(LLVMValueRef c, size_t *SizeInBytes);
/**
* Create an anonymous ConstantStruct with the specified values.
*
* @see llvm::ConstantStruct::getAnon()
*/
-LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
+LLVM_C_ABI LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
LLVMValueRef *ConstantVals,
unsigned Count, LLVMBool Packed);
@@ -2383,7 +2384,7 @@ LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
*
* @see LLVMConstStructInContext()
*/
-LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
+LLVM_C_ABI LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
LLVMBool Packed);
/**
@@ -2393,7 +2394,7 @@ LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
* LLVMConstArray2
* @see llvm::ConstantArray::get()
*/
-LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy,
+LLVM_C_ABI LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy,
LLVMValueRef *ConstantVals, unsigned Length);
/**
@@ -2401,7 +2402,7 @@ LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy,
*
* @see llvm::ConstantArray::get()
*/
-LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals,
+LLVM_C_ABI LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals,
uint64_t Length);
/**
@@ -2413,7 +2414,7 @@ LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals,
*
* @see llvm::ConstantDataArray::getRaw()
*/
-LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy, const char *Data,
+LLVM_C_ABI LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy, const char *Data,
size_t SizeInBytes);
/**
@@ -2421,7 +2422,7 @@ LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy, const char *Data,
*
* @see llvm::ConstantStruct::get()
*/
-LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
+LLVM_C_ABI LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
LLVMValueRef *ConstantVals,
unsigned Count);
@@ -2433,14 +2434,14 @@ LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
*
* @see llvm::Constant::getAggregateElement()
*/
-LLVMValueRef LLVMGetAggregateElement(LLVMValueRef C, unsigned Idx);
+LLVM_C_ABI LLVMValueRef LLVMGetAggregateElement(LLVMValueRef C, unsigned Idx);
/**
* Get an element at specified index as a constant.
*
* @see ConstantDataSequential::getElementAsConstant()
*/
-LLVM_ATTRIBUTE_C_DEPRECATED(
+LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(
LLVMValueRef LLVMGetElementAsConstant(LLVMValueRef C, unsigned idx),
"Use LLVMGetAggregateElement instead");
@@ -2449,14 +2450,14 @@ LLVM_ATTRIBUTE_C_DEPRECATED(
*
* @see llvm::ConstantVector::get()
*/
-LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
+LLVM_C_ABI LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
/**
* Create a ConstantPtrAuth constant with the given values.
*
* @see llvm::ConstantPtrAuth::get()
*/
-LLVMValueRef LLVMConstantPtrAuth(LLVMValueRef Ptr, LLVMValueRef Key,
+LLVM_C_ABI LLVMValueRef LLVMConstantPtrAuth(LLVMValueRef Ptr, LLVMValueRef Key,
LLVMValueRef Disc, LLVMValueRef AddrDisc);
/**
@@ -2472,25 +2473,25 @@ LLVMValueRef LLVMConstantPtrAuth(LLVMValueRef Ptr, LLVMValueRef Key,
*
* @{
*/
-LLVMOpcode LLVMGetConstOpcode(LLVMValueRef ConstantVal);
-LLVMValueRef LLVMAlignOf(LLVMTypeRef Ty);
-LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty);
-LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal);
-LLVMValueRef LLVMConstNSWNeg(LLVMValueRef ConstantVal);
-LLVM_ATTRIBUTE_C_DEPRECATED(
+LLVM_C_ABI LLVMOpcode LLVMGetConstOpcode(LLVMValueRef ConstantVal);
+LLVM_C_ABI LLVMValueRef LLVMAlignOf(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMSizeOf(LLVMTypeRef Ty);
+LLVM_C_ABI LLVMValueRef LLVMConstNeg(LLVMValueRef ConstantVal);
+LLVM_C_ABI LLVMValueRef LLVMConstNSWNeg(LLVMValueRef ConstantVal);
+LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(
LLVMValueRef LLVMConstNUWNeg(LLVMValueRef ConstantVal),
"Use LLVMConstNull instead.");
-LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
-LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVMValueRef LLVMConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
+LLVM_C_ABI LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
+LLVM_C_ABI LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
LLVMValueRef *ConstantIndices, unsigned NumIndices);
-LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
+LLVM_C_ABI LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
LLVMValueRef *ConstantIndices,
unsigned NumIndices);
/**
@@ -2499,42 +2500,42 @@ LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
*
* @see llvm::ConstantExpr::getGetElementPtr()
*/
-LLVMValueRef LLVMConstGEPWithNoWrapFlags(LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMConstGEPWithNoWrapFlags(LLVMTypeRef Ty,
LLVMValueRef ConstantVal,
LLVMValueRef *ConstantIndices,
unsigned NumIndices,
LLVMGEPNoWrapFlags NoWrapFlags);
-LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal,
+LLVM_C_ABI LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal,
LLVMTypeRef ToType);
-LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal,
+LLVM_C_ABI LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal,
LLVMTypeRef ToType);
-LLVMValueRef LLVMConstExtractElement(LLVMValueRef VectorConstant,
+LLVM_C_ABI LLVMValueRef LLVMConstExtractElement(LLVMValueRef VectorConstant,
LLVMValueRef IndexConstant);
-LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant,
+LLVM_C_ABI LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant,
LLVMValueRef ElementValueConstant,
LLVMValueRef IndexConstant);
-LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
+LLVM_C_ABI LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
LLVMValueRef VectorBConstant,
LLVMValueRef MaskConstant);
-LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB);
/**
* Gets the function associated with a given BlockAddress constant value.
*/
-LLVMValueRef LLVMGetBlockAddressFunction(LLVMValueRef BlockAddr);
+LLVM_C_ABI LLVMValueRef LLVMGetBlockAddressFunction(LLVMValueRef BlockAddr);
/**
* Gets the basic block associated with a given BlockAddress constant value.
*/
-LLVMBasicBlockRef LLVMGetBlockAddressBasicBlock(LLVMValueRef BlockAddr);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetBlockAddressBasicBlock(LLVMValueRef BlockAddr);
/** Deprecated: Use LLVMGetInlineAsm instead. */
-LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty,
const char *AsmString, const char *Constraints,
LLVMBool HasSideEffects, LLVMBool IsAlignStack);
@@ -2553,18 +2554,18 @@ LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty,
* @{
*/
-LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global);
-LLVMBool LLVMIsDeclaration(LLVMValueRef Global);
-LLVMLinkage LLVMGetLinkage(LLVMValueRef Global);
-void LLVMSetLinkage(LLVMValueRef Global, LLVMLinkage Linkage);
-const char *LLVMGetSection(LLVMValueRef Global);
-void LLVMSetSection(LLVMValueRef Global, const char *Section);
-LLVMVisibility LLVMGetVisibility(LLVMValueRef Global);
-void LLVMSetVisibility(LLVMValueRef Global, LLVMVisibility Viz);
-LLVMDLLStorageClass LLVMGetDLLStorageClass(LLVMValueRef Global);
-void LLVMSetDLLStorageClass(LLVMValueRef Global, LLVMDLLStorageClass Class);
-LLVMUnnamedAddr LLVMGetUnnamedAddress(LLVMValueRef Global);
-void LLVMSetUnnamedAddress(LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr);
+LLVM_C_ABI LLVMModuleRef LLVMGetGlobalParent(LLVMValueRef Global);
+LLVM_C_ABI LLVMBool LLVMIsDeclaration(LLVMValueRef Global);
+LLVM_C_ABI LLVMLinkage LLVMGetLinkage(LLVMValueRef Global);
+LLVM_C_ABI void LLVMSetLinkage(LLVMValueRef Global, LLVMLinkage Linkage);
+LLVM_C_ABI const char *LLVMGetSection(LLVMValueRef Global);
+LLVM_C_ABI void LLVMSetSection(LLVMValueRef Global, const char *Section);
+LLVM_C_ABI LLVMVisibility LLVMGetVisibility(LLVMValueRef Global);
+LLVM_C_ABI void LLVMSetVisibility(LLVMValueRef Global, LLVMVisibility Viz);
+LLVM_C_ABI LLVMDLLStorageClass LLVMGetDLLStorageClass(LLVMValueRef Global);
+LLVM_C_ABI void LLVMSetDLLStorageClass(LLVMValueRef Global, LLVMDLLStorageClass Class);
+LLVM_C_ABI LLVMUnnamedAddr LLVMGetUnnamedAddress(LLVMValueRef Global);
+LLVM_C_ABI void LLVMSetUnnamedAddress(LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr);
/**
* Returns the "value type" of a global value. This differs from the formal
@@ -2573,12 +2574,12 @@ void LLVMSetUnnamedAddress(LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr);
* @see llvm::GlobalValue::getValueType()
* @see llvm::Function::getFunctionType()
*/
-LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef Global);
+LLVM_C_ABI LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef Global);
/** Deprecated: Use LLVMGetUnnamedAddress instead. */
-LLVMBool LLVMHasUnnamedAddr(LLVMValueRef Global);
+LLVM_C_ABI LLVMBool LLVMHasUnnamedAddr(LLVMValueRef Global);
/** Deprecated: Use LLVMSetUnnamedAddress instead. */
-void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr);
+LLVM_C_ABI void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr);
/**
* @defgroup LLVMCCoreValueWithAlignment Values with alignment
@@ -2596,7 +2597,7 @@ void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr);
* @see llvm::AtomicCmpXchgInst::setAlignment()
* @see llvm::GlobalValue::getAlignment()
*/
-unsigned LLVMGetAlignment(LLVMValueRef V);
+LLVM_C_ABI unsigned LLVMGetAlignment(LLVMValueRef V);
/**
* Set the preferred alignment of the value.
@@ -2607,7 +2608,7 @@ unsigned LLVMGetAlignment(LLVMValueRef V);
* @see llvm::AtomicCmpXchgInst::setAlignment()
* @see llvm::GlobalValue::setAlignment()
*/
-void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes);
+LLVM_C_ABI void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes);
/**
* Sets a metadata attachment, erasing the existing metadata attachment if
@@ -2615,7 +2616,7 @@ void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes);
*
* @see llvm::GlobalObject::setMetadata()
*/
-void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind,
+LLVM_C_ABI void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind,
LLVMMetadataRef MD);
/**
@@ -2623,14 +2624,14 @@ void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind,
*
* @see llvm::GlobalObject::eraseMetadata()
*/
-void LLVMGlobalEraseMetadata(LLVMValueRef Global, unsigned Kind);
+LLVM_C_ABI void LLVMGlobalEraseMetadata(LLVMValueRef Global, unsigned Kind);
/**
* Removes all metadata attachments from this value.
*
* @see llvm::GlobalObject::clearMetadata()
*/
-void LLVMGlobalClearMetadata(LLVMValueRef Global);
+LLVM_C_ABI void LLVMGlobalClearMetadata(LLVMValueRef Global);
/**
* Retrieves an array of metadata entries representing the metadata attached to
@@ -2639,25 +2640,25 @@ void LLVMGlobalClearMetadata(LLVMValueRef Global);
*
* @see llvm::GlobalObject::getAllMetadata()
*/
-LLVMValueMetadataEntry *LLVMGlobalCopyAllMetadata(LLVMValueRef Value,
+LLVM_C_ABI LLVMValueMetadataEntry *LLVMGlobalCopyAllMetadata(LLVMValueRef Value,
size_t *NumEntries);
/**
* Destroys value metadata entries.
*/
-void LLVMDisposeValueMetadataEntries(LLVMValueMetadataEntry *Entries);
+LLVM_C_ABI void LLVMDisposeValueMetadataEntries(LLVMValueMetadataEntry *Entries);
/**
* Returns the kind of a value metadata entry at a specific index.
*/
-unsigned LLVMValueMetadataEntriesGetKind(LLVMValueMetadataEntry *Entries,
+LLVM_C_ABI unsigned LLVMValueMetadataEntriesGetKind(LLVMValueMetadataEntry *Entries,
unsigned Index);
/**
* Returns the underlying metadata node of a value metadata entry at a
* specific index.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry *Entries,
unsigned Index);
@@ -2674,28 +2675,28 @@ LLVMValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry *Entries,
*
* @{
*/
-LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name);
-LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M, LLVMTypeRef Ty,
const char *Name,
unsigned AddressSpace);
-LLVMValueRef LLVMGetNamedGlobal(LLVMModuleRef M, const char *Name);
-LLVMValueRef LLVMGetNamedGlobalWithLength(LLVMModuleRef M, const char *Name,
+LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobal(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalWithLength(LLVMModuleRef M, const char *Name,
size_t Length);
-LLVMValueRef LLVMGetFirstGlobal(LLVMModuleRef M);
-LLVMValueRef LLVMGetLastGlobal(LLVMModuleRef M);
-LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar);
-LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar);
-void LLVMDeleteGlobal(LLVMValueRef GlobalVar);
-LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar);
-void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal);
-LLVMBool LLVMIsThreadLocal(LLVMValueRef GlobalVar);
-void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal);
-LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar);
-void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant);
-LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar);
-void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode);
-LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar);
-void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobal(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetLastGlobal(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMDeleteGlobal(LLVMValueRef GlobalVar);
+LLVM_C_ABI LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal);
+LLVM_C_ABI LLVMBool LLVMIsThreadLocal(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal);
+LLVM_C_ABI LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant);
+LLVM_C_ABI LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode);
+LLVM_C_ABI LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar);
+LLVM_C_ABI void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit);
/**
* @}
@@ -2716,7 +2717,7 @@ void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit);
*
* @see llvm::GlobalAlias::create()
*/
-LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy,
+LLVM_C_ABI LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy,
unsigned AddrSpace, LLVMValueRef Aliasee,
const char *Name);
@@ -2727,7 +2728,7 @@ LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy,
*
* @see llvm::Module::getNamedAlias()
*/
-LLVMValueRef LLVMGetNamedGlobalAlias(LLVMModuleRef M,
+LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalAlias(LLVMModuleRef M,
const char *Name, size_t NameLen);
/**
@@ -2735,14 +2736,14 @@ LLVMValueRef LLVMGetNamedGlobalAlias(LLVMModuleRef M,
*
* @see llvm::Module::alias_begin()
*/
-LLVMValueRef LLVMGetFirstGlobalAlias(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobalAlias(LLVMModuleRef M);
/**
* Obtain an iterator to the last GlobalAlias in a Module.
*
* @see llvm::Module::alias_end()
*/
-LLVMValueRef LLVMGetLastGlobalAlias(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetLastGlobalAlias(LLVMModuleRef M);
/**
* Advance a GlobalAlias iterator to the next GlobalAlias.
@@ -2750,7 +2751,7 @@ LLVMValueRef LLVMGetLastGlobalAlias(LLVMModuleRef M);
* Returns NULL if the iterator was already at the end and there are no more
* global aliases.
*/
-LLVMValueRef LLVMGetNextGlobalAlias(LLVMValueRef GA);
+LLVM_C_ABI LLVMValueRef LLVMGetNextGlobalAlias(LLVMValueRef GA);
/**
* Decrement a GlobalAlias iterator to the previous GlobalAlias.
@@ -2758,17 +2759,17 @@ LLVMValueRef LLVMGetNextGlobalAlias(LLVMValueRef GA);
* Returns NULL if the iterator was already at the beginning and there are
* no previous global aliases.
*/
-LLVMValueRef LLVMGetPreviousGlobalAlias(LLVMValueRef GA);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobalAlias(LLVMValueRef GA);
/**
* Retrieve the target value of an alias.
*/
-LLVMValueRef LLVMAliasGetAliasee(LLVMValueRef Alias);
+LLVM_C_ABI LLVMValueRef LLVMAliasGetAliasee(LLVMValueRef Alias);
/**
* Set the target value of an alias.
*/
-void LLVMAliasSetAliasee(LLVMValueRef Alias, LLVMValueRef Aliasee);
+LLVM_C_ABI void LLVMAliasSetAliasee(LLVMValueRef Alias, LLVMValueRef Aliasee);
/**
* @}
@@ -2790,42 +2791,42 @@ void LLVMAliasSetAliasee(LLVMValueRef Alias, LLVMValueRef Aliasee);
*
* @see llvm::Function::eraseFromParent()
*/
-void LLVMDeleteFunction(LLVMValueRef Fn);
+LLVM_C_ABI void LLVMDeleteFunction(LLVMValueRef Fn);
/**
* Check whether the given function has a personality function.
*
* @see llvm::Function::hasPersonalityFn()
*/
-LLVMBool LLVMHasPersonalityFn(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBool LLVMHasPersonalityFn(LLVMValueRef Fn);
/**
* Obtain the personality function attached to the function.
*
* @see llvm::Function::getPersonalityFn()
*/
-LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn);
/**
* Set the personality function attached to the function.
*
* @see llvm::Function::setPersonalityFn()
*/
-void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
+LLVM_C_ABI void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
/**
* Obtain the intrinsic ID number which matches the given function name.
*
* @see llvm::Intrinsic::lookupIntrinsicID()
*/
-unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen);
+LLVM_C_ABI unsigned LLVMLookupIntrinsicID(const char *Name, size_t NameLen);
/**
* Obtain the ID number from a function instance.
*
* @see llvm::Function::getIntrinsicID()
*/
-unsigned LLVMGetIntrinsicID(LLVMValueRef Fn);
+LLVM_C_ABI unsigned LLVMGetIntrinsicID(LLVMValueRef Fn);
/**
* Get or insert the declaration of an intrinsic. For overloaded intrinsics,
@@ -2833,7 +2834,7 @@ unsigned LLVMGetIntrinsicID(LLVMValueRef Fn);
*
* @see llvm::Intrinsic::getOrInsertDeclaration()
*/
-LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod,
+LLVM_C_ABI LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod,
unsigned ID,
LLVMTypeRef *ParamTypes,
size_t ParamCount);
@@ -2844,7 +2845,7 @@ LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod,
*
* @see llvm::Intrinsic::getType()
*/
-LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID,
+LLVM_C_ABI LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID,
LLVMTypeRef *ParamTypes, size_t ParamCount);
/**
@@ -2852,10 +2853,10 @@ LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID,
*
* @see llvm::Intrinsic::getName()
*/
-const char *LLVMIntrinsicGetName(unsigned ID, size_t *NameLength);
+LLVM_C_ABI const char *LLVMIntrinsicGetName(unsigned ID, size_t *NameLength);
/** Deprecated: Use LLVMIntrinsicCopyOverloadedName2 instead. */
-char *LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *ParamTypes,
+LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *ParamTypes,
size_t ParamCount, size_t *NameLength);
/**
@@ -2869,7 +2870,7 @@ char *LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *ParamTypes,
*
* @see llvm::Intrinsic::getName()
*/
-char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID,
+LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID,
LLVMTypeRef *ParamTypes,
size_t ParamCount, size_t *NameLength);
@@ -2878,7 +2879,7 @@ char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID,
*
* @see llvm::Intrinsic::isOverloaded()
*/
-LLVMBool LLVMIntrinsicIsOverloaded(unsigned ID);
+LLVM_C_ABI LLVMBool LLVMIntrinsicIsOverloaded(unsigned ID);
/**
* Obtain the calling function of a function.
@@ -2887,7 +2888,7 @@ LLVMBool LLVMIntrinsicIsOverloaded(unsigned ID);
*
* @see llvm::Function::getCallingConv()
*/
-unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn);
+LLVM_C_ABI unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn);
/**
* Set the calling convention of a function.
@@ -2897,7 +2898,7 @@ unsigned LLVMGetFunctionCallConv(LLVMValueRef Fn);
* @param Fn Function to operate on
* @param CC LLVMCallConv to set calling convention to
*/
-void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC);
+LLVM_C_ABI void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC);
/**
* Obtain the name of the garbage collector to use during code
@@ -2905,79 +2906,79 @@ void LLVMSetFunctionCallConv(LLVMValueRef Fn, unsigned CC);
*
* @see llvm::Function::getGC()
*/
-const char *LLVMGetGC(LLVMValueRef Fn);
+LLVM_C_ABI const char *LLVMGetGC(LLVMValueRef Fn);
/**
* Define the garbage collector to use during code generation.
*
* @see llvm::Function::setGC()
*/
-void LLVMSetGC(LLVMValueRef Fn, const char *Name);
+LLVM_C_ABI void LLVMSetGC(LLVMValueRef Fn, const char *Name);
/**
* Gets the prefix data associated with a function. Only valid on functions, and
* only if LLVMHasPrefixData returns true.
* See https://llvm.org/docs/LangRef.html#prefix-data
*/
-LLVMValueRef LLVMGetPrefixData(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetPrefixData(LLVMValueRef Fn);
/**
* Check if a given function has prefix data. Only valid on functions.
* See https://llvm.org/docs/LangRef.html#prefix-data
*/
-LLVMBool LLVMHasPrefixData(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBool LLVMHasPrefixData(LLVMValueRef Fn);
/**
* Sets the prefix data for the function. Only valid on functions.
* See https://llvm.org/docs/LangRef.html#prefix-data
*/
-void LLVMSetPrefixData(LLVMValueRef Fn, LLVMValueRef prefixData);
+LLVM_C_ABI void LLVMSetPrefixData(LLVMValueRef Fn, LLVMValueRef prefixData);
/**
* Gets the prologue data associated with a function. Only valid on functions,
* and only if LLVMHasPrologueData returns true.
* See https://llvm.org/docs/LangRef.html#prologue-data
*/
-LLVMValueRef LLVMGetPrologueData(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetPrologueData(LLVMValueRef Fn);
/**
* Check if a given function has prologue data. Only valid on functions.
* See https://llvm.org/docs/LangRef.html#prologue-data
*/
-LLVMBool LLVMHasPrologueData(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBool LLVMHasPrologueData(LLVMValueRef Fn);
/**
* Sets the prologue data for the function. Only valid on functions.
* See https://llvm.org/docs/LangRef.html#prologue-data
*/
-void LLVMSetPrologueData(LLVMValueRef Fn, LLVMValueRef prologueData);
+LLVM_C_ABI void LLVMSetPrologueData(LLVMValueRef Fn, LLVMValueRef prologueData);
/**
* Add an attribute to a function.
*
* @see llvm::Function::addAttribute()
*/
-void LLVMAddAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMAddAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
LLVMAttributeRef A);
-unsigned LLVMGetAttributeCountAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx);
-void LLVMGetAttributesAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
+LLVM_C_ABI unsigned LLVMGetAttributeCountAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx);
+LLVM_C_ABI void LLVMGetAttributesAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
LLVMAttributeRef *Attrs);
-LLVMAttributeRef LLVMGetEnumAttributeAtIndex(LLVMValueRef F,
+LLVM_C_ABI LLVMAttributeRef LLVMGetEnumAttributeAtIndex(LLVMValueRef F,
LLVMAttributeIndex Idx,
unsigned KindID);
-LLVMAttributeRef LLVMGetStringAttributeAtIndex(LLVMValueRef F,
+LLVM_C_ABI LLVMAttributeRef LLVMGetStringAttributeAtIndex(LLVMValueRef F,
LLVMAttributeIndex Idx,
const char *K, unsigned KLen);
-void LLVMRemoveEnumAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMRemoveEnumAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
unsigned KindID);
-void LLVMRemoveStringAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMRemoveStringAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
const char *K, unsigned KLen);
/**
* Add a target-dependent attribute to a function
* @see llvm::AttrBuilder::addAttribute()
*/
-void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A,
+LLVM_C_ABI void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A,
const char *V);
/**
@@ -2996,7 +2997,7 @@ void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A,
*
* @see llvm::Function::arg_size()
*/
-unsigned LLVMCountParams(LLVMValueRef Fn);
+LLVM_C_ABI unsigned LLVMCountParams(LLVMValueRef Fn);
/**
* Obtain the parameters in a function.
@@ -3009,7 +3010,7 @@ unsigned LLVMCountParams(LLVMValueRef Fn);
*
* @see llvm::Function::arg_begin()
*/
-void LLVMGetParams(LLVMValueRef Fn, LLVMValueRef *Params);
+LLVM_C_ABI void LLVMGetParams(LLVMValueRef Fn, LLVMValueRef *Params);
/**
* Obtain the parameter at the specified index.
@@ -3018,7 +3019,7 @@ void LLVMGetParams(LLVMValueRef Fn, LLVMValueRef *Params);
*
* @see llvm::Function::arg_begin()
*/
-LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index);
+LLVM_C_ABI LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index);
/**
* Obtain the function to which this argument belongs.
@@ -3029,21 +3030,21 @@ LLVMValueRef LLVMGetParam(LLVMValueRef Fn, unsigned Index);
* The returned LLVMValueRef is the llvm::Function to which this
* argument belongs.
*/
-LLVMValueRef LLVMGetParamParent(LLVMValueRef Inst);
+LLVM_C_ABI LLVMValueRef LLVMGetParamParent(LLVMValueRef Inst);
/**
* Obtain the first parameter to a function.
*
* @see llvm::Function::arg_begin()
*/
-LLVMValueRef LLVMGetFirstParam(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstParam(LLVMValueRef Fn);
/**
* Obtain the last parameter to a function.
*
* @see llvm::Function::arg_end()
*/
-LLVMValueRef LLVMGetLastParam(LLVMValueRef Fn);
+LLVM_C_ABI LLVMValueRef LLVMGetLastParam(LLVMValueRef Fn);
/**
* Obtain the next parameter to a function.
@@ -3052,14 +3053,14 @@ LLVMValueRef LLVMGetLastParam(LLVMValueRef Fn);
* actually a wrapped iterator) and obtains the next parameter from the
* underlying iterator.
*/
-LLVMValueRef LLVMGetNextParam(LLVMValueRef Arg);
+LLVM_C_ABI LLVMValueRef LLVMGetNextParam(LLVMValueRef Arg);
/**
* Obtain the previous parameter to a function.
*
* This is the opposite of LLVMGetNextParam().
*/
-LLVMValueRef LLVMGetPreviousParam(LLVMValueRef Arg);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousParam(LLVMValueRef Arg);
/**
* Set the alignment for a function parameter.
@@ -3067,7 +3068,7 @@ LLVMValueRef LLVMGetPreviousParam(LLVMValueRef Arg);
* @see llvm::Argument::addAttr()
* @see llvm::AttrBuilder::addAlignmentAttr()
*/
-void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align);
+LLVM_C_ABI void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align);
/**
* @}
@@ -3089,7 +3090,7 @@ void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align);
*
* @see llvm::GlobalIFunc::create()
*/
-LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M,
+LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M,
const char *Name, size_t NameLen,
LLVMTypeRef Ty, unsigned AddrSpace,
LLVMValueRef Resolver);
@@ -3101,7 +3102,7 @@ LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M,
*
* @see llvm::Module::getNamedIFunc()
*/
-LLVMValueRef LLVMGetNamedGlobalIFunc(LLVMModuleRef M,
+LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalIFunc(LLVMModuleRef M,
const char *Name, size_t NameLen);
/**
@@ -3109,14 +3110,14 @@ LLVMValueRef LLVMGetNamedGlobalIFunc(LLVMModuleRef M,
*
* @see llvm::Module::ifunc_begin()
*/
-LLVMValueRef LLVMGetFirstGlobalIFunc(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobalIFunc(LLVMModuleRef M);
/**
* Obtain an iterator to the last GlobalIFunc in a Module.
*
* @see llvm::Module::ifunc_end()
*/
-LLVMValueRef LLVMGetLastGlobalIFunc(LLVMModuleRef M);
+LLVM_C_ABI LLVMValueRef LLVMGetLastGlobalIFunc(LLVMModuleRef M);
/**
* Advance a GlobalIFunc iterator to the next GlobalIFunc.
@@ -3124,7 +3125,7 @@ LLVMValueRef LLVMGetLastGlobalIFunc(LLVMModuleRef M);
* Returns NULL if the iterator was already at the end and there are no more
* global aliases.
*/
-LLVMValueRef LLVMGetNextGlobalIFunc(LLVMValueRef IFunc);
+LLVM_C_ABI LLVMValueRef LLVMGetNextGlobalIFunc(LLVMValueRef IFunc);
/**
* Decrement a GlobalIFunc iterator to the previous GlobalIFunc.
@@ -3132,7 +3133,7 @@ LLVMValueRef LLVMGetNextGlobalIFunc(LLVMValueRef IFunc);
* Returns NULL if the iterator was already at the beginning and there are
* no previous global aliases.
*/
-LLVMValueRef LLVMGetPreviousGlobalIFunc(LLVMValueRef IFunc);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobalIFunc(LLVMValueRef IFunc);
/**
* Retrieves the resolver function associated with this indirect function, or
@@ -3140,21 +3141,21 @@ LLVMValueRef LLVMGetPreviousGlobalIFunc(LLVMValueRef IFunc);
*
* @see llvm::GlobalIFunc::getResolver()
*/
-LLVMValueRef LLVMGetGlobalIFuncResolver(LLVMValueRef IFunc);
+LLVM_C_ABI LLVMValueRef LLVMGetGlobalIFuncResolver(LLVMValueRef IFunc);
/**
* Sets the resolver function associated with this indirect function.
*
* @see llvm::GlobalIFunc::setResolver()
*/
-void LLVMSetGlobalIFuncResolver(LLVMValueRef IFunc, LLVMValueRef Resolver);
+LLVM_C_ABI void LLVMSetGlobalIFuncResolver(LLVMValueRef IFunc, LLVMValueRef Resolver);
/**
* Remove a global indirect function from its parent module and delete it.
*
* @see llvm::GlobalIFunc::eraseFromParent()
*/
-void LLVMEraseGlobalIFunc(LLVMValueRef IFunc);
+LLVM_C_ABI void LLVMEraseGlobalIFunc(LLVMValueRef IFunc);
/**
* Remove a global indirect function from its parent module.
@@ -3164,7 +3165,7 @@ void LLVMEraseGlobalIFunc(LLVMValueRef IFunc);
*
* @see llvm::GlobalIFunc::removeFromParent()
*/
-void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc);
+LLVM_C_ABI void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc);
/**
* @}
@@ -3196,7 +3197,7 @@ void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc);
*
* @see llvm::MDString::get()
*/
-LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
+LLVM_C_ABI LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
size_t SLen);
/**
@@ -3204,18 +3205,18 @@ LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
*
* @see llvm::MDNode::get()
*/
-LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs,
+LLVM_C_ABI LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs,
size_t Count);
/**
* Obtain a Metadata as a Value.
*/
-LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef MD);
+LLVM_C_ABI LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef MD);
/**
* Obtain a Value as a Metadata.
*/
-LLVMMetadataRef LLVMValueAsMetadata(LLVMValueRef Val);
+LLVM_C_ABI LLVMMetadataRef LLVMValueAsMetadata(LLVMValueRef Val);
/**
* Obtain the underlying string from a MDString value.
@@ -3224,7 +3225,7 @@ LLVMMetadataRef LLVMValueAsMetadata(LLVMValueRef Val);
* @param Length Memory address which will hold length of returned string.
* @return String data in MDString.
*/
-const char *LLVMGetMDString(LLVMValueRef V, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetMDString(LLVMValueRef V, unsigned *Length);
/**
* Obtain the number of operands from an MDNode value.
@@ -3232,7 +3233,7 @@ const char *LLVMGetMDString(LLVMValueRef V, unsigned *Length);
* @param V MDNode to get number of operands from.
* @return Number of operands of the MDNode.
*/
-unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V);
+LLVM_C_ABI unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V);
/**
* Obtain the given MDNode's operands.
@@ -3245,26 +3246,26 @@ unsigned LLVMGetMDNodeNumOperands(LLVMValueRef V);
* @param V MDNode to get the operands from.
* @param Dest Destination array for operands.
*/
-void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest);
+LLVM_C_ABI void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest);
/**
* Replace an operand at a specific index in a llvm::MDNode value.
*
* @see llvm::MDNode::replaceOperandWith()
*/
-void LLVMReplaceMDNodeOperandWith(LLVMValueRef V, unsigned Index,
+LLVM_C_ABI void LLVMReplaceMDNodeOperandWith(LLVMValueRef V, unsigned Index,
LLVMMetadataRef Replacement);
/** Deprecated: Use LLVMMDStringInContext2 instead. */
-LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
+LLVM_C_ABI LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
unsigned SLen);
/** Deprecated: Use LLVMMDStringInContext2 instead. */
-LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
+LLVM_C_ABI LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
-LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals,
+LLVM_C_ABI LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals,
unsigned Count);
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
-LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
+LLVM_C_ABI LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
/**
* @}
@@ -3292,7 +3293,7 @@ LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
* @param Args Memory address of an array of bundle operands
* @param NumArgs Length of Args
*/
-LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen,
+LLVM_C_ABI LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen,
LLVMValueRef *Args,
unsigned NumArgs);
@@ -3302,7 +3303,7 @@ LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen,
* This must be called for every created operand bundle or memory will be
* leaked.
*/
-void LLVMDisposeOperandBundle(LLVMOperandBundleRef Bundle);
+LLVM_C_ABI void LLVMDisposeOperandBundle(LLVMOperandBundleRef Bundle);
/**
* Obtain the tag of an operand bundle as a string.
@@ -3312,7 +3313,7 @@ void LLVMDisposeOperandBundle(LLVMOperandBundleRef Bundle);
* @return The tag name of Bundle.
* @see OperandBundleDef::getTag()
*/
-const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len);
+LLVM_C_ABI const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len);
/**
* Obtain the number of operands for an operand bundle.
@@ -3321,7 +3322,7 @@ const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len);
* @return The number of operands.
* @see OperandBundleDef::input_size()
*/
-unsigned LLVMGetNumOperandBundleArgs(LLVMOperandBundleRef Bundle);
+LLVM_C_ABI unsigned LLVMGetNumOperandBundleArgs(LLVMOperandBundleRef Bundle);
/**
* Obtain the operand for an operand bundle at the given index.
@@ -3331,7 +3332,7 @@ unsigned LLVMGetNumOperandBundleArgs(LLVMOperandBundleRef Bundle);
* LLVMGetNumOperandBundleArgs().
* @return The operand.
*/
-LLVMValueRef LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle,
+LLVM_C_ABI LLVMValueRef LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle,
unsigned Index);
/**
@@ -3358,29 +3359,29 @@ LLVMValueRef LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle,
/**
* Convert a basic block instance to a value type.
*/
-LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMBasicBlockAsValue(LLVMBasicBlockRef BB);
/**
* Determine whether an LLVMValueRef is itself a basic block.
*/
-LLVMBool LLVMValueIsBasicBlock(LLVMValueRef Val);
+LLVM_C_ABI LLVMBool LLVMValueIsBasicBlock(LLVMValueRef Val);
/**
* Convert an LLVMValueRef to an LLVMBasicBlockRef instance.
*/
-LLVMBasicBlockRef LLVMValueAsBasicBlock(LLVMValueRef Val);
+LLVM_C_ABI LLVMBasicBlockRef LLVMValueAsBasicBlock(LLVMValueRef Val);
/**
* Obtain the string name of a basic block.
*/
-const char *LLVMGetBasicBlockName(LLVMBasicBlockRef BB);
+LLVM_C_ABI const char *LLVMGetBasicBlockName(LLVMBasicBlockRef BB);
/**
* Obtain the function to which a basic block belongs.
*
* @see llvm::BasicBlock::getParent()
*/
-LLVMValueRef LLVMGetBasicBlockParent(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMGetBasicBlockParent(LLVMBasicBlockRef BB);
/**
* Obtain the terminator instruction for a basic block.
@@ -3392,14 +3393,14 @@ LLVMValueRef LLVMGetBasicBlockParent(LLVMBasicBlockRef BB);
*
* @see llvm::BasicBlock::getTerminator()
*/
-LLVMValueRef LLVMGetBasicBlockTerminator(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMGetBasicBlockTerminator(LLVMBasicBlockRef BB);
/**
* Obtain the number of basic blocks in a function.
*
* @param Fn Function value to operate on.
*/
-unsigned LLVMCountBasicBlocks(LLVMValueRef Fn);
+LLVM_C_ABI unsigned LLVMCountBasicBlocks(LLVMValueRef Fn);
/**
* Obtain all of the basic blocks in a function.
@@ -3409,7 +3410,7 @@ unsigned LLVMCountBasicBlocks(LLVMValueRef Fn);
* LLVMCountBasicBlocks() in length. This array is populated with
* LLVMBasicBlockRef instances.
*/
-void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks);
+LLVM_C_ABI void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks);
/**
* Obtain the first basic block in a function.
@@ -3419,24 +3420,24 @@ void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks);
*
* @see llvm::Function::begin()
*/
-LLVMBasicBlockRef LLVMGetFirstBasicBlock(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetFirstBasicBlock(LLVMValueRef Fn);
/**
* Obtain the last basic block in a function.
*
* @see llvm::Function::end()
*/
-LLVMBasicBlockRef LLVMGetLastBasicBlock(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetLastBasicBlock(LLVMValueRef Fn);
/**
* Advance a basic block iterator.
*/
-LLVMBasicBlockRef LLVMGetNextBasicBlock(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetNextBasicBlock(LLVMBasicBlockRef BB);
/**
* Go backwards in a basic block iterator.
*/
-LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB);
/**
* Obtain the basic block that corresponds to the entry point of a
@@ -3444,7 +3445,7 @@ LLVMBasicBlockRef LLVMGetPreviousBasicBlock(LLVMBasicBlockRef BB);
*
* @see llvm::Function::getEntryBlock()
*/
-LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn);
/**
* Insert the given basic block after the insertion point of the given builder.
@@ -3453,7 +3454,7 @@ LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn);
*
* @see llvm::Function::BasicBlockListType::insertAfter()
*/
-void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder,
+LLVM_C_ABI void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder,
LLVMBasicBlockRef BB);
/**
@@ -3461,7 +3462,7 @@ void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder,
*
* @see llvm::Function::BasicBlockListType::push_back()
*/
-void LLVMAppendExistingBasicBlock(LLVMValueRef Fn,
+LLVM_C_ABI void LLVMAppendExistingBasicBlock(LLVMValueRef Fn,
LLVMBasicBlockRef BB);
/**
@@ -3469,7 +3470,7 @@ void LLVMAppendExistingBasicBlock(LLVMValueRef Fn,
*
* @see llvm::BasicBlock::Create()
*/
-LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C,
+LLVM_C_ABI LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C,
const char *Name);
/**
@@ -3477,7 +3478,7 @@ LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C,
*
* @see llvm::BasicBlock::Create()
*/
-LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C,
+LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C,
LLVMValueRef Fn,
const char *Name);
@@ -3487,7 +3488,7 @@ LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C,
*
* @see llvm::BasicBlock::Create()
*/
-LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name);
+LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name);
/**
* Insert a basic block in a function before another basic block.
@@ -3497,7 +3498,7 @@ LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name);
*
* @see llvm::BasicBlock::Create()
*/
-LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C,
+LLVM_C_ABI LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C,
LLVMBasicBlockRef BB,
const char *Name);
@@ -3506,7 +3507,7 @@ LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C,
*
* @see llvm::BasicBlock::Create()
*/
-LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB,
+LLVM_C_ABI LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB,
const char *Name);
/**
@@ -3517,7 +3518,7 @@ LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB,
*
* @see llvm::BasicBlock::eraseFromParent()
*/
-void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB);
+LLVM_C_ABI void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB);
/**
* Remove a basic block from a function.
@@ -3527,21 +3528,21 @@ void LLVMDeleteBasicBlock(LLVMBasicBlockRef BB);
*
* @see llvm::BasicBlock::removeFromParent()
*/
-void LLVMRemoveBasicBlockFromParent(LLVMBasicBlockRef BB);
+LLVM_C_ABI void LLVMRemoveBasicBlockFromParent(LLVMBasicBlockRef BB);
/**
* Move a basic block to before another one.
*
* @see llvm::BasicBlock::moveBefore()
*/
-void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
+LLVM_C_ABI void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
/**
* Move a basic block to after another one.
*
* @see llvm::BasicBlock::moveAfter()
*/
-void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
+LLVM_C_ABI void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
/**
* Obtain the first instruction in a basic block.
@@ -3549,14 +3550,14 @@ void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
* The returned LLVMValueRef corresponds to a llvm::Instruction
* instance.
*/
-LLVMValueRef LLVMGetFirstInstruction(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMGetFirstInstruction(LLVMBasicBlockRef BB);
/**
* Obtain the last instruction in a basic block.
*
* The returned LLVMValueRef corresponds to an LLVM:Instruction.
*/
-LLVMValueRef LLVMGetLastInstruction(LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMGetLastInstruction(LLVMBasicBlockRef BB);
/**
* @}
@@ -3582,17 +3583,17 @@ LLVMValueRef LLVMGetLastInstruction(LLVMBasicBlockRef BB);
/**
* Determine whether an instruction has any metadata attached.
*/
-int LLVMHasMetadata(LLVMValueRef Val);
+LLVM_C_ABI int LLVMHasMetadata(LLVMValueRef Val);
/**
* Return metadata associated with an instruction value.
*/
-LLVMValueRef LLVMGetMetadata(LLVMValueRef Val, unsigned KindID);
+LLVM_C_ABI LLVMValueRef LLVMGetMetadata(LLVMValueRef Val, unsigned KindID);
/**
* Set metadata associated with an instruction value.
*/
-void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node);
+LLVM_C_ABI void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node);
/**
* Returns the metadata associated with an instruction value, but filters out
@@ -3600,7 +3601,7 @@ void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node);
*
* @see llvm::Instruction::getAllMetadataOtherThanDebugLoc()
*/
-LLVMValueMetadataEntry *
+LLVM_C_ABI LLVMValueMetadataEntry *
LLVMInstructionGetAllMetadataOtherThanDebugLoc(LLVMValueRef Instr,
size_t *NumEntries);
@@ -3609,7 +3610,7 @@ LLVMInstructionGetAllMetadataOtherThanDebugLoc(LLVMValueRef Instr,
*
* @see llvm::Instruction::getParent()
*/
-LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst);
/**
* Obtain the instruction that occurs after the one specified.
@@ -3619,7 +3620,7 @@ LLVMBasicBlockRef LLVMGetInstructionParent(LLVMValueRef Inst);
* If this is the last instruction in a basic block, NULL will be
* returned.
*/
-LLVMValueRef LLVMGetNextInstruction(LLVMValueRef Inst);
+LLVM_C_ABI LLVMValueRef LLVMGetNextInstruction(LLVMValueRef Inst);
/**
* Obtain the instruction that occurred before this one.
@@ -3627,7 +3628,7 @@ LLVMValueRef LLVMGetNextInstruction(LLVMValueRef Inst);
* If the instruction is the first instruction in a basic block, NULL
* will be returned.
*/
-LLVMValueRef LLVMGetPreviousInstruction(LLVMValueRef Inst);
+LLVM_C_ABI LLVMValueRef LLVMGetPreviousInstruction(LLVMValueRef Inst);
/**
* Remove an instruction.
@@ -3637,7 +3638,7 @@ LLVMValueRef LLVMGetPreviousInstruction(LLVMValueRef Inst);
*
* @see llvm::Instruction::removeFromParent()
*/
-void LLVMInstructionRemoveFromParent(LLVMValueRef Inst);
+LLVM_C_ABI void LLVMInstructionRemoveFromParent(LLVMValueRef Inst);
/**
* Remove and delete an instruction.
@@ -3647,7 +3648,7 @@ void LLVMInstructionRemoveFromParent(LLVMValueRef Inst);
*
* @see llvm::Instruction::eraseFromParent()
*/
-void LLVMInstructionEraseFromParent(LLVMValueRef Inst);
+LLVM_C_ABI void LLVMInstructionEraseFromParent(LLVMValueRef Inst);
/**
* Delete an instruction.
@@ -3657,14 +3658,14 @@ void LLVMInstructionEraseFromParent(LLVMValueRef Inst);
*
* @see llvm::Value::deleteValue()
*/
-void LLVMDeleteInstruction(LLVMValueRef Inst);
+LLVM_C_ABI void LLVMDeleteInstruction(LLVMValueRef Inst);
/**
* Obtain the code opcode for an individual instruction.
*
* @see llvm::Instruction::getOpCode()
*/
-LLVMOpcode LLVMGetInstructionOpcode(LLVMValueRef Inst);
+LLVM_C_ABI LLVMOpcode LLVMGetInstructionOpcode(LLVMValueRef Inst);
/**
* Obtain the predicate of an instruction.
@@ -3673,7 +3674,7 @@ LLVMOpcode LLVMGetInstructionOpcode(LLVMValueRef Inst);
*
* @see llvm::ICmpInst::getPredicate()
*/
-LLVMIntPredicate LLVMGetICmpPredicate(LLVMValueRef Inst);
+LLVM_C_ABI LLVMIntPredicate LLVMGetICmpPredicate(LLVMValueRef Inst);
/**
* Obtain the float predicate of an instruction.
@@ -3682,7 +3683,7 @@ LLVMIntPredicate LLVMGetICmpPredicate(LLVMValueRef Inst);
*
* @see llvm::FCmpInst::getPredicate()
*/
-LLVMRealPredicate LLVMGetFCmpPredicate(LLVMValueRef Inst);
+LLVM_C_ABI LLVMRealPredicate LLVMGetFCmpPredicate(LLVMValueRef Inst);
/**
* Create a copy of 'this' instruction that is identical in all ways
@@ -3692,7 +3693,7 @@ LLVMRealPredicate LLVMGetFCmpPredicate(LLVMValueRef Inst);
*
* @see llvm::Instruction::clone()
*/
-LLVMValueRef LLVMInstructionClone(LLVMValueRef Inst);
+LLVM_C_ABI LLVMValueRef LLVMInstructionClone(LLVMValueRef Inst);
/**
* Determine whether an instruction is a terminator. This routine is named to
@@ -3701,7 +3702,7 @@ LLVMValueRef LLVMInstructionClone(LLVMValueRef Inst);
*
* @see llvm::Instruction::isTerminator()
*/
-LLVMValueRef LLVMIsATerminatorInst(LLVMValueRef Inst);
+LLVM_C_ABI LLVMValueRef LLVMIsATerminatorInst(LLVMValueRef Inst);
/**
* Obtain the first debug record attached to an instruction.
@@ -3713,7 +3714,7 @@ LLVMValueRef LLVMIsATerminatorInst(LLVMValueRef Inst);
*
* @see llvm::Instruction::getDbgRecordRange()
*/
-LLVMDbgRecordRef LLVMGetFirstDbgRecord(LLVMValueRef Inst);
+LLVM_C_ABI LLVMDbgRecordRef LLVMGetFirstDbgRecord(LLVMValueRef Inst);
/**
* Obtain the last debug record attached to an instruction.
@@ -3722,21 +3723,21 @@ LLVMDbgRecordRef LLVMGetFirstDbgRecord(LLVMValueRef Inst);
*
* @see llvm::Instruction::getDbgRecordRange()
*/
-LLVMDbgRecordRef LLVMGetLastDbgRecord(LLVMValueRef Inst);
+LLVM_C_ABI LLVMDbgRecordRef LLVMGetLastDbgRecord(LLVMValueRef Inst);
/**
* Obtain the next DbgRecord in the sequence or NULL if there are no more.
*
* @see llvm::Instruction::getDbgRecordRange()
*/
-LLVMDbgRecordRef LLVMGetNextDbgRecord(LLVMDbgRecordRef DbgRecord);
+LLVM_C_ABI LLVMDbgRecordRef LLVMGetNextDbgRecord(LLVMDbgRecordRef DbgRecord);
/**
* Obtain the previous DbgRecord in the sequence or NULL if there are no more.
*
* @see llvm::Instruction::getDbgRecordRange()
*/
-LLVMDbgRecordRef LLVMGetPreviousDbgRecord(LLVMDbgRecordRef DbgRecord);
+LLVM_C_ABI LLVMDbgRecordRef LLVMGetPreviousDbgRecord(LLVMDbgRecordRef DbgRecord);
/**
* @defgroup LLVMCCoreValueInstructionCall Call Sites and Invocations
@@ -3758,7 +3759,7 @@ LLVMDbgRecordRef LLVMGetPreviousDbgRecord(LLVMDbgRecordRef DbgRecord);
* @see llvm::InvokeInst::getNumArgOperands()
* @see llvm::FuncletPadInst::getNumArgOperands()
*/
-unsigned LLVMGetNumArgOperands(LLVMValueRef Instr);
+LLVM_C_ABI unsigned LLVMGetNumArgOperands(LLVMValueRef Instr);
/**
* Set the calling convention for a call instruction.
@@ -3769,7 +3770,7 @@ unsigned LLVMGetNumArgOperands(LLVMValueRef Instr);
* @see llvm::CallInst::setCallingConv()
* @see llvm::InvokeInst::setCallingConv()
*/
-void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC);
+LLVM_C_ABI void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC);
/**
* Obtain the calling convention for a call instruction.
@@ -3779,25 +3780,25 @@ void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC);
*
* @see LLVMSetInstructionCallConv()
*/
-unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr);
+LLVM_C_ABI unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr);
-void LLVMSetInstrParamAlignment(LLVMValueRef Instr, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMSetInstrParamAlignment(LLVMValueRef Instr, LLVMAttributeIndex Idx,
unsigned Align);
-void LLVMAddCallSiteAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMAddCallSiteAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
LLVMAttributeRef A);
-unsigned LLVMGetCallSiteAttributeCount(LLVMValueRef C, LLVMAttributeIndex Idx);
-void LLVMGetCallSiteAttributes(LLVMValueRef C, LLVMAttributeIndex Idx,
+LLVM_C_ABI unsigned LLVMGetCallSiteAttributeCount(LLVMValueRef C, LLVMAttributeIndex Idx);
+LLVM_C_ABI void LLVMGetCallSiteAttributes(LLVMValueRef C, LLVMAttributeIndex Idx,
LLVMAttributeRef *Attrs);
-LLVMAttributeRef LLVMGetCallSiteEnumAttribute(LLVMValueRef C,
+LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteEnumAttribute(LLVMValueRef C,
LLVMAttributeIndex Idx,
unsigned KindID);
-LLVMAttributeRef LLVMGetCallSiteStringAttribute(LLVMValueRef C,
+LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteStringAttribute(LLVMValueRef C,
LLVMAttributeIndex Idx,
const char *K, unsigned KLen);
-void LLVMRemoveCallSiteEnumAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMRemoveCallSiteEnumAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
unsigned KindID);
-void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
+LLVM_C_ABI void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
const char *K, unsigned KLen);
/**
@@ -3805,7 +3806,7 @@ void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
*
* @see llvm::CallBase::getFunctionType()
*/
-LLVMTypeRef LLVMGetCalledFunctionType(LLVMValueRef C);
+LLVM_C_ABI LLVMTypeRef LLVMGetCalledFunctionType(LLVMValueRef C);
/**
* Obtain the pointer to the function invoked by this instruction.
@@ -3816,7 +3817,7 @@ LLVMTypeRef LLVMGetCalledFunctionType(LLVMValueRef C);
* @see llvm::CallInst::getCalledOperand()
* @see llvm::InvokeInst::getCalledOperand()
*/
-LLVMValueRef LLVMGetCalledValue(LLVMValueRef Instr);
+LLVM_C_ABI LLVMValueRef LLVMGetCalledValue(LLVMValueRef Instr);
/**
* Obtain the number of operand bundles attached to this instruction.
@@ -3825,7 +3826,7 @@ LLVMValueRef LLVMGetCalledValue(LLVMValueRef Instr);
*
* @see llvm::CallBase::getNumOperandBundles()
*/
-unsigned LLVMGetNumOperandBundles(LLVMValueRef C);
+LLVM_C_ABI unsigned LLVMGetNumOperandBundles(LLVMValueRef C);
/**
* Obtain the operand bundle attached to this instruction at the given index.
@@ -3833,7 +3834,7 @@ unsigned LLVMGetNumOperandBundles(LLVMValueRef C);
*
* This only works on llvm::CallInst and llvm::InvokeInst instructions.
*/
-LLVMOperandBundleRef LLVMGetOperandBundleAtIndex(LLVMValueRef C,
+LLVM_C_ABI LLVMOperandBundleRef LLVMGetOperandBundleAtIndex(LLVMValueRef C,
unsigned Index);
/**
@@ -3843,7 +3844,7 @@ LLVMOperandBundleRef LLVMGetOperandBundleAtIndex(LLVMValueRef C,
*
* @see llvm::CallInst::isTailCall()
*/
-LLVMBool LLVMIsTailCall(LLVMValueRef CallInst);
+LLVM_C_ABI LLVMBool LLVMIsTailCall(LLVMValueRef CallInst);
/**
* Set whether a call instruction is a tail call.
@@ -3852,21 +3853,21 @@ LLVMBool LLVMIsTailCall(LLVMValueRef CallInst);
*
* @see llvm::CallInst::setTailCall()
*/
-void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall);
+LLVM_C_ABI void LLVMSetTailCall(LLVMValueRef CallInst, LLVMBool IsTailCall);
/**
* Obtain a tail call kind of the call instruction.
*
* @see llvm::CallInst::setTailCallKind()
*/
-LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef CallInst);
+LLVM_C_ABI LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef CallInst);
/**
* Set the call kind of the call instruction.
*
* @see llvm::CallInst::getTailCallKind()
*/
-void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind);
+LLVM_C_ABI void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind);
/**
* Return the normal destination basic block.
@@ -3875,7 +3876,7 @@ void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind);
*
* @see llvm::InvokeInst::getNormalDest()
*/
-LLVMBasicBlockRef LLVMGetNormalDest(LLVMValueRef InvokeInst);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetNormalDest(LLVMValueRef InvokeInst);
/**
* Return the unwind destination basic block.
@@ -3887,7 +3888,7 @@ LLVMBasicBlockRef LLVMGetNormalDest(LLVMValueRef InvokeInst);
* @see llvm::CleanupReturnInst::getUnwindDest()
* @see llvm::CatchSwitchInst::getUnwindDest()
*/
-LLVMBasicBlockRef LLVMGetUnwindDest(LLVMValueRef InvokeInst);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetUnwindDest(LLVMValueRef InvokeInst);
/**
* Set the normal destination basic block.
@@ -3896,7 +3897,7 @@ LLVMBasicBlockRef LLVMGetUnwindDest(LLVMValueRef InvokeInst);
*
* @see llvm::InvokeInst::setNormalDest()
*/
-void LLVMSetNormalDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B);
+LLVM_C_ABI void LLVMSetNormalDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B);
/**
* Set the unwind destination basic block.
@@ -3908,14 +3909,14 @@ void LLVMSetNormalDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B);
* @see llvm::CleanupReturnInst::setUnwindDest()
* @see llvm::CatchSwitchInst::setUnwindDest()
*/
-void LLVMSetUnwindDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B);
+LLVM_C_ABI void LLVMSetUnwindDest(LLVMValueRef InvokeInst, LLVMBasicBlockRef B);
/**
* Get the default destination of a CallBr instruction.
*
* @see llvm::CallBrInst::getDefaultDest()
*/
-LLVMBasicBlockRef LLVMGetCallBrDefaultDest(LLVMValueRef CallBr);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrDefaultDest(LLVMValueRef CallBr);
/**
* Get the number of indirect destinations of a CallBr instruction.
@@ -3923,14 +3924,14 @@ LLVMBasicBlockRef LLVMGetCallBrDefaultDest(LLVMValueRef CallBr);
* @see llvm::CallBrInst::getNumIndirectDests()
*/
-unsigned LLVMGetCallBrNumIndirectDests(LLVMValueRef CallBr);
+LLVM_C_ABI unsigned LLVMGetCallBrNumIndirectDests(LLVMValueRef CallBr);
/**
* Get the indirect destination of a CallBr instruction at the given index.
*
* @see llvm::CallBrInst::getIndirectDest()
*/
-LLVMBasicBlockRef LLVMGetCallBrIndirectDest(LLVMValueRef CallBr, unsigned Idx);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrIndirectDest(LLVMValueRef CallBr, unsigned Idx);
/**
* @}
@@ -3950,21 +3951,21 @@ LLVMBasicBlockRef LLVMGetCallBrIndirectDest(LLVMValueRef CallBr, unsigned Idx);
*
* @see llvm::Instruction::getNumSuccessors
*/
-unsigned LLVMGetNumSuccessors(LLVMValueRef Term);
+LLVM_C_ABI unsigned LLVMGetNumSuccessors(LLVMValueRef Term);
/**
* Return the specified successor.
*
* @see llvm::Instruction::getSuccessor
*/
-LLVMBasicBlockRef LLVMGetSuccessor(LLVMValueRef Term, unsigned i);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetSuccessor(LLVMValueRef Term, unsigned i);
/**
* Update the specified successor to point at the provided block.
*
* @see llvm::Instruction::setSuccessor
*/
-void LLVMSetSuccessor(LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block);
+LLVM_C_ABI void LLVMSetSuccessor(LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block);
/**
* Return if a branch is conditional.
@@ -3973,7 +3974,7 @@ void LLVMSetSuccessor(LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block);
*
* @see llvm::BranchInst::isConditional
*/
-LLVMBool LLVMIsConditional(LLVMValueRef Branch);
+LLVM_C_ABI LLVMBool LLVMIsConditional(LLVMValueRef Branch);
/**
* Return the condition of a branch instruction.
@@ -3982,7 +3983,7 @@ LLVMBool LLVMIsConditional(LLVMValueRef Branch);
*
* @see llvm::BranchInst::getCondition
*/
-LLVMValueRef LLVMGetCondition(LLVMValueRef Branch);
+LLVM_C_ABI LLVMValueRef LLVMGetCondition(LLVMValueRef Branch);
/**
* Set the condition of a branch instruction.
@@ -3991,7 +3992,7 @@ LLVMValueRef LLVMGetCondition(LLVMValueRef Branch);
*
* @see llvm::BranchInst::setCondition
*/
-void LLVMSetCondition(LLVMValueRef Branch, LLVMValueRef Cond);
+LLVM_C_ABI void LLVMSetCondition(LLVMValueRef Branch, LLVMValueRef Cond);
/**
* Obtain the default destination basic block of a switch instruction.
@@ -4000,7 +4001,7 @@ void LLVMSetCondition(LLVMValueRef Branch, LLVMValueRef Cond);
*
* @see llvm::SwitchInst::getDefaultDest()
*/
-LLVMBasicBlockRef LLVMGetSwitchDefaultDest(LLVMValueRef SwitchInstr);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetSwitchDefaultDest(LLVMValueRef SwitchInstr);
/**
* @}
@@ -4018,7 +4019,7 @@ LLVMBasicBlockRef LLVMGetSwitchDefaultDest(LLVMValueRef SwitchInstr);
/**
* Obtain the type that is being allocated by the alloca instruction.
*/
-LLVMTypeRef LLVMGetAllocatedType(LLVMValueRef Alloca);
+LLVM_C_ABI LLVMTypeRef LLVMGetAllocatedType(LLVMValueRef Alloca);
/**
* @}
@@ -4036,31 +4037,31 @@ LLVMTypeRef LLVMGetAllocatedType(LLVMValueRef Alloca);
/**
* Check whether the given GEP operator is inbounds.
*/
-LLVMBool LLVMIsInBounds(LLVMValueRef GEP);
+LLVM_C_ABI LLVMBool LLVMIsInBounds(LLVMValueRef GEP);
/**
* Set the given GEP instruction to be inbounds or not.
*/
-void LLVMSetIsInBounds(LLVMValueRef GEP, LLVMBool InBounds);
+LLVM_C_ABI void LLVMSetIsInBounds(LLVMValueRef GEP, LLVMBool InBounds);
/**
* Get the source element type of the given GEP operator.
*/
-LLVMTypeRef LLVMGetGEPSourceElementType(LLVMValueRef GEP);
+LLVM_C_ABI LLVMTypeRef LLVMGetGEPSourceElementType(LLVMValueRef GEP);
/**
* Get the no-wrap related flags for the given GEP instruction.
*
* @see llvm::GetElementPtrInst::getNoWrapFlags
*/
-LLVMGEPNoWrapFlags LLVMGEPGetNoWrapFlags(LLVMValueRef GEP);
+LLVM_C_ABI LLVMGEPNoWrapFlags LLVMGEPGetNoWrapFlags(LLVMValueRef GEP);
/**
* Set the no-wrap related flags for the given GEP instruction.
*
* @see llvm::GetElementPtrInst::setNoWrapFlags
*/
-void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags);
+LLVM_C_ABI void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags);
/**
* @}
@@ -4078,23 +4079,23 @@ void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags);
/**
* Add an incoming value to the end of a PHI list.
*/
-void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues,
+LLVM_C_ABI void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues,
LLVMBasicBlockRef *IncomingBlocks, unsigned Count);
/**
* Obtain the number of incoming basic blocks to a PHI node.
*/
-unsigned LLVMCountIncoming(LLVMValueRef PhiNode);
+LLVM_C_ABI unsigned LLVMCountIncoming(LLVMValueRef PhiNode);
/**
* Obtain an incoming value to a PHI node as an LLVMValueRef.
*/
-LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode, unsigned Index);
+LLVM_C_ABI LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode, unsigned Index);
/**
* Obtain an incoming value to a PHI node as an LLVMBasicBlockRef.
*/
-LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index);
/**
* @}
@@ -4114,12 +4115,12 @@ LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index);
* Obtain the number of indices.
* NB: This also works on GEP operators.
*/
-unsigned LLVMGetNumIndices(LLVMValueRef Inst);
+LLVM_C_ABI unsigned LLVMGetNumIndices(LLVMValueRef Inst);
/**
* Obtain the indices as an array.
*/
-const unsigned *LLVMGetIndices(LLVMValueRef Inst);
+LLVM_C_ABI const unsigned *LLVMGetIndices(LLVMValueRef Inst);
/**
* @}
@@ -4142,37 +4143,37 @@ const unsigned *LLVMGetIndices(LLVMValueRef Inst);
* @{
*/
-LLVMBuilderRef LLVMCreateBuilderInContext(LLVMContextRef C);
-LLVMBuilderRef LLVMCreateBuilder(void);
+LLVM_C_ABI LLVMBuilderRef LLVMCreateBuilderInContext(LLVMContextRef C);
+LLVM_C_ABI LLVMBuilderRef LLVMCreateBuilder(void);
/**
* Set the builder position before Instr but after any attached debug records,
* or if Instr is null set the position to the end of Block.
*/
-void LLVMPositionBuilder(LLVMBuilderRef Builder, LLVMBasicBlockRef Block,
+LLVM_C_ABI void LLVMPositionBuilder(LLVMBuilderRef Builder, LLVMBasicBlockRef Block,
LLVMValueRef Instr);
/**
* Set the builder position before Instr and any attached debug records,
* or if Instr is null set the position to the end of Block.
*/
-void LLVMPositionBuilderBeforeDbgRecords(LLVMBuilderRef Builder,
+LLVM_C_ABI void LLVMPositionBuilderBeforeDbgRecords(LLVMBuilderRef Builder,
LLVMBasicBlockRef Block,
LLVMValueRef Inst);
/**
* Set the builder position before Instr but after any attached debug records.
*/
-void LLVMPositionBuilderBefore(LLVMBuilderRef Builder, LLVMValueRef Instr);
+LLVM_C_ABI void LLVMPositionBuilderBefore(LLVMBuilderRef Builder, LLVMValueRef Instr);
/**
* Set the builder position before Instr and any attached debug records.
*/
-void LLVMPositionBuilderBeforeInstrAndDbgRecords(LLVMBuilderRef Builder,
+LLVM_C_ABI void LLVMPositionBuilderBeforeInstrAndDbgRecords(LLVMBuilderRef Builder,
LLVMValueRef Instr);
-void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder, LLVMBasicBlockRef Block);
-LLVMBasicBlockRef LLVMGetInsertBlock(LLVMBuilderRef Builder);
-void LLVMClearInsertionPosition(LLVMBuilderRef Builder);
-void LLVMInsertIntoBuilder(LLVMBuilderRef Builder, LLVMValueRef Instr);
-void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder, LLVMValueRef Instr,
+LLVM_C_ABI void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder, LLVMBasicBlockRef Block);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetInsertBlock(LLVMBuilderRef Builder);
+LLVM_C_ABI void LLVMClearInsertionPosition(LLVMBuilderRef Builder);
+LLVM_C_ABI void LLVMInsertIntoBuilder(LLVMBuilderRef Builder, LLVMValueRef Instr);
+LLVM_C_ABI void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder, LLVMValueRef Instr,
const char *Name);
-void LLVMDisposeBuilder(LLVMBuilderRef Builder);
+LLVM_C_ABI void LLVMDisposeBuilder(LLVMBuilderRef Builder);
/* Metadata */
@@ -4181,7 +4182,7 @@ void LLVMDisposeBuilder(LLVMBuilderRef Builder);
*
* @see llvm::IRBuilder::getCurrentDebugLocation()
*/
-LLVMMetadataRef LLVMGetCurrentDebugLocation2(LLVMBuilderRef Builder);
+LLVM_C_ABI LLVMMetadataRef LLVMGetCurrentDebugLocation2(LLVMBuilderRef Builder);
/**
* Set location information used by debugging information.
@@ -4190,7 +4191,7 @@ LLVMMetadataRef LLVMGetCurrentDebugLocation2(LLVMBuilderRef Builder);
*
* @see llvm::IRBuilder::SetCurrentDebugLocation()
*/
-void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadataRef Loc);
+LLVM_C_ABI void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadataRef Loc);
/**
* Attempts to set the debug location for the given instruction using the
@@ -4202,21 +4203,21 @@ void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadataRef Loc);
*
* @see llvm::IRBuilder::SetInstDebugLocation()
*/
-void LLVMSetInstDebugLocation(LLVMBuilderRef Builder, LLVMValueRef Inst);
+LLVM_C_ABI void LLVMSetInstDebugLocation(LLVMBuilderRef Builder, LLVMValueRef Inst);
/**
* Adds the metadata registered with the given builder to the given instruction.
*
* @see llvm::IRBuilder::AddMetadataToInst()
*/
-void LLVMAddMetadataToInst(LLVMBuilderRef Builder, LLVMValueRef Inst);
+LLVM_C_ABI void LLVMAddMetadataToInst(LLVMBuilderRef Builder, LLVMValueRef Inst);
/**
* Get the dafult floating-point math metadata for a given builder.
*
* @see llvm::IRBuilder::getDefaultFPMathTag()
*/
-LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder);
+LLVM_C_ABI LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder);
/**
* Set the default floating-point math metadata for the given builder.
@@ -4225,7 +4226,7 @@ LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder);
*
* @see llvm::IRBuilder::setDefaultFPMathTag()
*/
-void LLVMBuilderSetDefaultFPMathTag(LLVMBuilderRef Builder,
+LLVM_C_ABI void LLVMBuilderSetDefaultFPMathTag(LLVMBuilderRef Builder,
LLVMMetadataRef FPMathTag);
/**
@@ -4233,93 +4234,93 @@ void LLVMBuilderSetDefaultFPMathTag(LLVMBuilderRef Builder,
*
* @see llvm::IRBuilder::getContext()
*/
-LLVMContextRef LLVMGetBuilderContext(LLVMBuilderRef Builder);
+LLVM_C_ABI LLVMContextRef LLVMGetBuilderContext(LLVMBuilderRef Builder);
/**
* Deprecated: Passing the NULL location will crash.
* Use LLVMGetCurrentDebugLocation2 instead.
*/
-void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L);
+LLVM_C_ABI void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L);
/**
* Deprecated: Returning the NULL location will crash.
* Use LLVMGetCurrentDebugLocation2 instead.
*/
-LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder);
+LLVM_C_ABI LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder);
/* Terminators */
-LLVMValueRef LLVMBuildRetVoid(LLVMBuilderRef);
-LLVMValueRef LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V);
-LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef, LLVMValueRef *RetVals,
+LLVM_C_ABI LLVMValueRef LLVMBuildRetVoid(LLVMBuilderRef);
+LLVM_C_ABI LLVMValueRef LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V);
+LLVM_C_ABI LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef, LLVMValueRef *RetVals,
unsigned N);
-LLVMValueRef LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest);
-LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If,
+LLVM_C_ABI LLVMValueRef LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest);
+LLVM_C_ABI LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If,
LLVMBasicBlockRef Then, LLVMBasicBlockRef Else);
-LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V,
+LLVM_C_ABI LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V,
LLVMBasicBlockRef Else, unsigned NumCases);
-LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr,
+LLVM_C_ABI LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr,
unsigned NumDests);
-LLVMValueRef LLVMBuildCallBr(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn,
+LLVM_C_ABI LLVMValueRef LLVMBuildCallBr(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn,
LLVMBasicBlockRef DefaultDest,
LLVMBasicBlockRef *IndirectDests,
unsigned NumIndirectDests, LLVMValueRef *Args,
unsigned NumArgs, LLVMOperandBundleRef *Bundles,
unsigned NumBundles, const char *Name);
-LLVMValueRef LLVMBuildInvoke2(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn,
+LLVM_C_ABI LLVMValueRef LLVMBuildInvoke2(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn,
LLVMValueRef *Args, unsigned NumArgs,
LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
const char *Name);
-LLVMValueRef LLVMBuildInvokeWithOperandBundles(
+LLVM_C_ABI LLVMValueRef LLVMBuildInvokeWithOperandBundles(
LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args,
unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name);
-LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
+LLVM_C_ABI LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
/* Exception Handling */
-LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
-LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
+LLVM_C_ABI LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
LLVMValueRef PersFn, unsigned NumClauses,
const char *Name);
-LLVMValueRef LLVMBuildCleanupRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
+LLVM_C_ABI LLVMValueRef LLVMBuildCleanupRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
LLVMBasicBlockRef BB);
-LLVMValueRef LLVMBuildCatchRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
LLVMBasicBlockRef BB);
-LLVMValueRef LLVMBuildCatchPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
LLVMValueRef *Args, unsigned NumArgs,
const char *Name);
-LLVMValueRef LLVMBuildCleanupPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
+LLVM_C_ABI LLVMValueRef LLVMBuildCleanupPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
LLVMValueRef *Args, unsigned NumArgs,
const char *Name);
-LLVMValueRef LLVMBuildCatchSwitch(LLVMBuilderRef B, LLVMValueRef ParentPad,
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchSwitch(LLVMBuilderRef B, LLVMValueRef ParentPad,
LLVMBasicBlockRef UnwindBB,
unsigned NumHandlers, const char *Name);
/* Add a case to the switch instruction */
-void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal,
+LLVM_C_ABI void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal,
LLVMBasicBlockRef Dest);
/* Add a destination to the indirectbr instruction */
-void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest);
+LLVM_C_ABI void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest);
/* Get the number of clauses on the landingpad instruction */
-unsigned LLVMGetNumClauses(LLVMValueRef LandingPad);
+LLVM_C_ABI unsigned LLVMGetNumClauses(LLVMValueRef LandingPad);
/* Get the value of the clause at index Idx on the landingpad instruction */
-LLVMValueRef LLVMGetClause(LLVMValueRef LandingPad, unsigned Idx);
+LLVM_C_ABI LLVMValueRef LLVMGetClause(LLVMValueRef LandingPad, unsigned Idx);
/* Add a catch or filter clause to the landingpad instruction */
-void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal);
+LLVM_C_ABI void LLVMAddClause(LLVMValueRef LandingPad, LLVMValueRef ClauseVal);
/* Get the 'cleanup' flag in the landingpad instruction */
-LLVMBool LLVMIsCleanup(LLVMValueRef LandingPad);
+LLVM_C_ABI LLVMBool LLVMIsCleanup(LLVMValueRef LandingPad);
/* Set the 'cleanup' flag in the landingpad instruction */
-void LLVMSetCleanup(LLVMValueRef LandingPad, LLVMBool Val);
+LLVM_C_ABI void LLVMSetCleanup(LLVMValueRef LandingPad, LLVMBool Val);
/* Add a destination to the catchswitch instruction */
-void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest);
+LLVM_C_ABI void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest);
/* Get the number of handlers on the catchswitch instruction */
-unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
+LLVM_C_ABI unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
/**
* Obtain the basic blocks acting as handlers for a catchswitch instruction.
@@ -4332,15 +4333,15 @@ unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
* @param CatchSwitch The catchswitch instruction to operate on.
* @param Handlers Memory address of an array to be filled with basic blocks.
*/
-void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers);
+LLVM_C_ABI void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers);
/* Funclets */
/* Get the number of funcletpad arguments. */
-LLVMValueRef LLVMGetArgOperand(LLVMValueRef Funclet, unsigned i);
+LLVM_C_ABI LLVMValueRef LLVMGetArgOperand(LLVMValueRef Funclet, unsigned i);
/* Set a funcletpad argument at the given index. */
-void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value);
+LLVM_C_ABI void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value);
/**
* Get the parent catchswitch instruction of a catchpad instruction.
@@ -4349,7 +4350,7 @@ void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value);
*
* @see llvm::CatchPadInst::getCatchSwitch()
*/
-LLVMValueRef LLVMGetParentCatchSwitch(LLVMValueRef CatchPad);
+LLVM_C_ABI LLVMValueRef LLVMGetParentCatchSwitch(LLVMValueRef CatchPad);
/**
* Set the parent catchswitch instruction of a catchpad instruction.
@@ -4358,91 +4359,91 @@ LLVMValueRef LLVMGetParentCatchSwitch(LLVMValueRef CatchPad);
*
* @see llvm::CatchPadInst::setCatchSwitch()
*/
-void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch);
+LLVM_C_ABI void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch);
/* Arithmetic */
-LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildExactUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildExactUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
+LLVM_C_ABI LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildBinOp(LLVMBuilderRef B, LLVMOpcode Op,
+LLVM_C_ABI LLVMValueRef LLVMBuildBinOp(LLVMBuilderRef B, LLVMOpcode Op,
LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
-LLVMValueRef LLVMBuildNSWNeg(LLVMBuilderRef B, LLVMValueRef V,
+LLVM_C_ABI LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWNeg(LLVMBuilderRef B, LLVMValueRef V,
const char *Name);
-LLVM_ATTRIBUTE_C_DEPRECATED(LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B,
+LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B,
LLVMValueRef V,
const char *Name),
"Use LLVMBuildNeg + LLVMSetNUW instead.");
-LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
-LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const char *Name);
-LLVMBool LLVMGetNUW(LLVMValueRef ArithInst);
-void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
-LLVMBool LLVMGetNSW(LLVMValueRef ArithInst);
-void LLVMSetNSW(LLVMValueRef ArithInst, LLVMBool HasNSW);
-LLVMBool LLVMGetExact(LLVMValueRef DivOrShrInst);
-void LLVMSetExact(LLVMValueRef DivOrShrInst, LLVMBool IsExact);
+LLVM_C_ABI LLVMBool LLVMGetNUW(LLVMValueRef ArithInst);
+LLVM_C_ABI void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
+LLVM_C_ABI LLVMBool LLVMGetNSW(LLVMValueRef ArithInst);
+LLVM_C_ABI void LLVMSetNSW(LLVMValueRef ArithInst, LLVMBool HasNSW);
+LLVM_C_ABI LLVMBool LLVMGetExact(LLVMValueRef DivOrShrInst);
+LLVM_C_ABI void LLVMSetExact(LLVMValueRef DivOrShrInst, LLVMBool IsExact);
/**
* Gets if the instruction has the non-negative flag set.
* Only valid for zext instructions.
*/
-LLVMBool LLVMGetNNeg(LLVMValueRef NonNegInst);
+LLVM_C_ABI LLVMBool LLVMGetNNeg(LLVMValueRef NonNegInst);
/**
* Sets the non-negative flag for the instruction.
* Only valid for zext instructions.
*/
-void LLVMSetNNeg(LLVMValueRef NonNegInst, LLVMBool IsNonNeg);
+LLVM_C_ABI void LLVMSetNNeg(LLVMValueRef NonNegInst, LLVMBool IsNonNeg);
/**
* Get the flags for which fast-math-style optimizations are allowed for this
@@ -4451,7 +4452,7 @@ void LLVMSetNNeg(LLVMValueRef NonNegInst, LLVMBool IsNonNeg);
* Only valid on floating point instructions.
* @see LLVMCanValueUseFastMathFlags
*/
-LLVMFastMathFlags LLVMGetFastMathFlags(LLVMValueRef FPMathInst);
+LLVM_C_ABI LLVMFastMathFlags LLVMGetFastMathFlags(LLVMValueRef FPMathInst);
/**
* Sets the flags for which fast-math-style optimizations are allowed for this
@@ -4460,7 +4461,7 @@ LLVMFastMathFlags LLVMGetFastMathFlags(LLVMValueRef FPMathInst);
* Only valid on floating point instructions.
* @see LLVMCanValueUseFastMathFlags
*/
-void LLVMSetFastMathFlags(LLVMValueRef FPMathInst, LLVMFastMathFlags FMF);
+LLVM_C_ABI void LLVMSetFastMathFlags(LLVMValueRef FPMathInst, LLVMFastMathFlags FMF);
/**
* Check if a given value can potentially have fast math flags.
@@ -4469,22 +4470,22 @@ void LLVMSetFastMathFlags(LLVMValueRef FPMathInst, LLVMFastMathFlags FMF);
* phi, and call instructions whose type is a floating point type, or a vector
* or array thereof. See https://llvm.org/docs/LangRef.html#fast-math-flags
*/
-LLVMBool LLVMCanValueUseFastMathFlags(LLVMValueRef Inst);
+LLVM_C_ABI LLVMBool LLVMCanValueUseFastMathFlags(LLVMValueRef Inst);
/**
* Gets whether the instruction has the disjoint flag set.
* Only valid for or instructions.
*/
-LLVMBool LLVMGetIsDisjoint(LLVMValueRef Inst);
+LLVM_C_ABI LLVMBool LLVMGetIsDisjoint(LLVMValueRef Inst);
/**
* Sets the disjoint flag for the instruction.
* Only valid for or instructions.
*/
-void LLVMSetIsDisjoint(LLVMValueRef Inst, LLVMBool IsDisjoint);
+LLVM_C_ABI void LLVMSetIsDisjoint(LLVMValueRef Inst, LLVMBool IsDisjoint);
/* Memory */
-LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
-LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
LLVMValueRef Val, const char *Name);
/**
@@ -4493,7 +4494,7 @@ LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
*
* @see llvm::IRRBuilder::CreateMemSet()
*/
-LLVMValueRef LLVMBuildMemSet(LLVMBuilderRef B, LLVMValueRef Ptr,
+LLVM_C_ABI LLVMValueRef LLVMBuildMemSet(LLVMBuilderRef B, LLVMValueRef Ptr,
LLVMValueRef Val, LLVMValueRef Len,
unsigned Align);
/**
@@ -4501,7 +4502,7 @@ LLVMValueRef LLVMBuildMemSet(LLVMBuilderRef B, LLVMValueRef Ptr,
*
* @see llvm::IRRBuilder::CreateMemCpy()
*/
-LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B,
+LLVM_C_ABI LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B,
LLVMValueRef Dst, unsigned DstAlign,
LLVMValueRef Src, unsigned SrcAlign,
LLVMValueRef Size);
@@ -4510,22 +4511,22 @@ LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B,
*
* @see llvm::IRRBuilder::CreateMemMove()
*/
-LLVMValueRef LLVMBuildMemMove(LLVMBuilderRef B,
+LLVM_C_ABI LLVMValueRef LLVMBuildMemMove(LLVMBuilderRef B,
LLVMValueRef Dst, unsigned DstAlign,
LLVMValueRef Src, unsigned SrcAlign,
LLVMValueRef Size);
-LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
-LLVMValueRef LLVMBuildArrayAlloca(LLVMBuilderRef, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildArrayAlloca(LLVMBuilderRef, LLVMTypeRef Ty,
LLVMValueRef Val, const char *Name);
-LLVMValueRef LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal);
-LLVMValueRef LLVMBuildLoad2(LLVMBuilderRef, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal);
+LLVM_C_ABI LLVMValueRef LLVMBuildLoad2(LLVMBuilderRef, LLVMTypeRef Ty,
LLVMValueRef PointerVal, const char *Name);
-LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr);
-LLVMValueRef LLVMBuildGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr);
+LLVM_C_ABI LLVMValueRef LLVMBuildGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
LLVMValueRef Pointer, LLVMValueRef *Indices,
unsigned NumIndices, const char *Name);
-LLVMValueRef LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
LLVMValueRef Pointer, LLVMValueRef *Indices,
unsigned NumIndices, const char *Name);
/**
@@ -4534,146 +4535,146 @@ LLVMValueRef LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
*
* @see llvm::IRBuilder::CreateGEP()
*/
-LLVMValueRef LLVMBuildGEPWithNoWrapFlags(LLVMBuilderRef B, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildGEPWithNoWrapFlags(LLVMBuilderRef B, LLVMTypeRef Ty,
LLVMValueRef Pointer,
LLVMValueRef *Indices,
unsigned NumIndices, const char *Name,
LLVMGEPNoWrapFlags NoWrapFlags);
-LLVMValueRef LLVMBuildStructGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildStructGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
LLVMValueRef Pointer, unsigned Idx,
const char *Name);
-LLVMValueRef LLVMBuildGlobalString(LLVMBuilderRef B, const char *Str,
+LLVM_C_ABI LLVMValueRef LLVMBuildGlobalString(LLVMBuilderRef B, const char *Str,
const char *Name);
/**
* Deprecated: Use LLVMBuildGlobalString instead, which has identical behavior.
*/
-LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str,
+LLVM_C_ABI LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str,
const char *Name);
-LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst);
-void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
-LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst);
-void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak);
-LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst);
-void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering);
-LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst);
-void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp);
+LLVM_C_ABI LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst);
+LLVM_C_ABI void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
+LLVM_C_ABI LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst);
+LLVM_C_ABI void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak);
+LLVM_C_ABI LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst);
+LLVM_C_ABI void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering);
+LLVM_C_ABI LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst);
+LLVM_C_ABI void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp);
/* Casts */
-LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildFPToUI(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFPToUI(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildFPToSI(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFPToSI(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildUIToFP(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildUIToFP(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildSIToFP(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildSIToFP(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildFPTrunc(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFPTrunc(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildFPExt(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFPExt(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildPtrToInt(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildPtrToInt(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildIntToPtr(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildIntToPtr(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildBitCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildBitCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildAddrSpaceCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildAddrSpaceCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildZExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildZExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildSExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildSExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildPointerCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildPointerCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
-LLVMValueRef LLVMBuildIntCast2(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildIntCast2(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, LLVMBool IsSigned,
const char *Name);
-LLVMValueRef LLVMBuildFPCast(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFPCast(LLVMBuilderRef, LLVMValueRef Val,
LLVMTypeRef DestTy, const char *Name);
/** Deprecated: This cast is always signed. Use LLVMBuildIntCast2 instead. */
-LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef, LLVMValueRef Val, /*Signed cast!*/
+LLVM_C_ABI LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef, LLVMValueRef Val, /*Signed cast!*/
LLVMTypeRef DestTy, const char *Name);
-LLVMOpcode LLVMGetCastOpcode(LLVMValueRef Src, LLVMBool SrcIsSigned,
+LLVM_C_ABI LLVMOpcode LLVMGetCastOpcode(LLVMValueRef Src, LLVMBool SrcIsSigned,
LLVMTypeRef DestTy, LLVMBool DestIsSigned);
/* Comparisons */
-LLVMValueRef LLVMBuildICmp(LLVMBuilderRef, LLVMIntPredicate Op,
+LLVM_C_ABI LLVMValueRef LLVMBuildICmp(LLVMBuilderRef, LLVMIntPredicate Op,
LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFCmp(LLVMBuilderRef, LLVMRealPredicate Op,
+LLVM_C_ABI LLVMValueRef LLVMBuildFCmp(LLVMBuilderRef, LLVMRealPredicate Op,
LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
/* Miscellaneous instructions */
-LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
-LLVMValueRef LLVMBuildCall2(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn,
+LLVM_C_ABI LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCall2(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn,
LLVMValueRef *Args, unsigned NumArgs,
const char *Name);
-LLVMValueRef
+LLVM_C_ABI LLVMValueRef
LLVMBuildCallWithOperandBundles(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn,
LLVMValueRef *Args, unsigned NumArgs,
LLVMOperandBundleRef *Bundles,
unsigned NumBundles, const char *Name);
-LLVMValueRef LLVMBuildSelect(LLVMBuilderRef, LLVMValueRef If,
+LLVM_C_ABI LLVMValueRef LLVMBuildSelect(LLVMBuilderRef, LLVMValueRef If,
LLVMValueRef Then, LLVMValueRef Else,
const char *Name);
-LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty,
+LLVM_C_ABI LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty,
const char *Name);
-LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal,
+LLVM_C_ABI LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal,
LLVMValueRef Index, const char *Name);
-LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal,
+LLVM_C_ABI LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal,
LLVMValueRef EltVal, LLVMValueRef Index,
const char *Name);
-LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
+LLVM_C_ABI LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
LLVMValueRef V2, LLVMValueRef Mask,
const char *Name);
-LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal,
+LLVM_C_ABI LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal,
unsigned Index, const char *Name);
-LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal,
+LLVM_C_ABI LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal,
LLVMValueRef EltVal, unsigned Index,
const char *Name);
-LLVMValueRef LLVMBuildFreeze(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildFreeze(LLVMBuilderRef, LLVMValueRef Val,
const char *Name);
-LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val,
const char *Name);
-LLVMValueRef LLVMBuildIsNotNull(LLVMBuilderRef, LLVMValueRef Val,
+LLVM_C_ABI LLVMValueRef LLVMBuildIsNotNull(LLVMBuilderRef, LLVMValueRef Val,
const char *Name);
-LLVMValueRef LLVMBuildPtrDiff2(LLVMBuilderRef, LLVMTypeRef ElemTy,
+LLVM_C_ABI LLVMValueRef LLVMBuildPtrDiff2(LLVMBuilderRef, LLVMTypeRef ElemTy,
LLVMValueRef LHS, LLVMValueRef RHS,
const char *Name);
-LLVMValueRef LLVMBuildFence(LLVMBuilderRef B, LLVMAtomicOrdering ordering,
+LLVM_C_ABI LLVMValueRef LLVMBuildFence(LLVMBuilderRef B, LLVMAtomicOrdering ordering,
LLVMBool singleThread, const char *Name);
-LLVMValueRef LLVMBuildFenceSyncScope(LLVMBuilderRef B,
+LLVM_C_ABI LLVMValueRef LLVMBuildFenceSyncScope(LLVMBuilderRef B,
LLVMAtomicOrdering ordering, unsigned SSID,
const char *Name);
-LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, LLVMAtomicRMWBinOp op,
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, LLVMAtomicRMWBinOp op,
LLVMValueRef PTR, LLVMValueRef Val,
LLVMAtomicOrdering ordering,
LLVMBool singleThread);
-LLVMValueRef LLVMBuildAtomicRMWSyncScope(LLVMBuilderRef B,
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMWSyncScope(LLVMBuilderRef B,
LLVMAtomicRMWBinOp op,
LLVMValueRef PTR, LLVMValueRef Val,
LLVMAtomicOrdering ordering,
unsigned SSID);
-LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, LLVMValueRef Ptr,
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, LLVMValueRef Ptr,
LLVMValueRef Cmp, LLVMValueRef New,
LLVMAtomicOrdering SuccessOrdering,
LLVMAtomicOrdering FailureOrdering,
LLVMBool SingleThread);
-LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope(LLVMBuilderRef B, LLVMValueRef Ptr,
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope(LLVMBuilderRef B, LLVMValueRef Ptr,
LLVMValueRef Cmp, LLVMValueRef New,
LLVMAtomicOrdering SuccessOrdering,
LLVMAtomicOrdering FailureOrdering,
@@ -4682,13 +4683,13 @@ LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope(LLVMBuilderRef B, LLVMValueRef Ptr,
/**
* Get the number of elements in the mask of a ShuffleVector instruction.
*/
-unsigned LLVMGetNumMaskElements(LLVMValueRef ShuffleVectorInst);
+LLVM_C_ABI unsigned LLVMGetNumMaskElements(LLVMValueRef ShuffleVectorInst);
/**
* \returns a constant that specifies that the result of a \c ShuffleVectorInst
* is undefined.
*/
-int LLVMGetUndefMaskElem(void);
+LLVM_C_ABI int LLVMGetUndefMaskElem(void);
/**
* Get the mask value at position Elt in the mask of a ShuffleVector
@@ -4697,32 +4698,32 @@ int LLVMGetUndefMaskElem(void);
* \Returns the result of \c LLVMGetUndefMaskElem() if the mask value is
* poison at that position.
*/
-int LLVMGetMaskValue(LLVMValueRef ShuffleVectorInst, unsigned Elt);
+LLVM_C_ABI int LLVMGetMaskValue(LLVMValueRef ShuffleVectorInst, unsigned Elt);
-LLVMBool LLVMIsAtomicSingleThread(LLVMValueRef AtomicInst);
-void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst, LLVMBool SingleThread);
+LLVM_C_ABI LLVMBool LLVMIsAtomicSingleThread(LLVMValueRef AtomicInst);
+LLVM_C_ABI void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst, LLVMBool SingleThread);
/**
* Returns whether an instruction is an atomic instruction, e.g., atomicrmw,
* cmpxchg, fence, or loads and stores with atomic ordering.
*/
-LLVMBool LLVMIsAtomic(LLVMValueRef Inst);
+LLVM_C_ABI LLVMBool LLVMIsAtomic(LLVMValueRef Inst);
/**
* Returns the synchronization scope ID of an atomic instruction.
*/
-unsigned LLVMGetAtomicSyncScopeID(LLVMValueRef AtomicInst);
+LLVM_C_ABI unsigned LLVMGetAtomicSyncScopeID(LLVMValueRef AtomicInst);
/**
* Sets the synchronization scope ID of an atomic instruction.
*/
-void LLVMSetAtomicSyncScopeID(LLVMValueRef AtomicInst, unsigned SSID);
+LLVM_C_ABI void LLVMSetAtomicSyncScopeID(LLVMValueRef AtomicInst, unsigned SSID);
-LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst);
-void LLVMSetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst,
+LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst);
+LLVM_C_ABI void LLVMSetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst,
LLVMAtomicOrdering Ordering);
-LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst);
-void LLVMSetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst,
+LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst);
+LLVM_C_ABI void LLVMSetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst,
LLVMAtomicOrdering Ordering);
/**
@@ -4739,13 +4740,13 @@ void LLVMSetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst,
* Changes the type of M so it can be passed to FunctionPassManagers and the
* JIT. They take ModuleProviders for historical reasons.
*/
-LLVMModuleProviderRef
+LLVM_C_ABI LLVMModuleProviderRef
LLVMCreateModuleProviderForExistingModule(LLVMModuleRef M);
/**
* Destroys the module M.
*/
-void LLVMDisposeModuleProvider(LLVMModuleProviderRef M);
+LLVM_C_ABI void LLVMDisposeModuleProvider(LLVMModuleProviderRef M);
/**
* @}
@@ -4757,21 +4758,21 @@ void LLVMDisposeModuleProvider(LLVMModuleProviderRef M);
* @{
*/
-LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(const char *Path,
+LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(const char *Path,
LLVMMemoryBufferRef *OutMemBuf,
char **OutMessage);
-LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf,
+LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf,
char **OutMessage);
-LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(const char *InputData,
+LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(const char *InputData,
size_t InputDataLength,
const char *BufferName,
LLVMBool RequiresNullTerminator);
-LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData,
+LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData,
size_t InputDataLength,
const char *BufferName);
-const char *LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf);
-size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf);
-void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
+LLVM_C_ABI const char *LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf);
+LLVM_C_ABI size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf);
+LLVM_C_ABI void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
/**
* @}
@@ -4787,43 +4788,43 @@ void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
/** Constructs a new whole-module pass pipeline. This type of pipeline is
suitable for link-time optimization and whole-module transformations.
@see llvm::PassManager::PassManager */
-LLVMPassManagerRef LLVMCreatePassManager(void);
+LLVM_C_ABI LLVMPassManagerRef LLVMCreatePassManager(void);
/** Constructs a new function-by-function pass pipeline over the module
provider. It does not take ownership of the module provider. This type of
pipeline is suitable for code generation and JIT compilation tasks.
@see llvm::FunctionPassManager::FunctionPassManager */
-LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M);
+LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M);
/** Deprecated: Use LLVMCreateFunctionPassManagerForModule instead. */
-LLVMPassManagerRef LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP);
+LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP);
/** Initializes, executes on the provided module, and finalizes all of the
passes scheduled in the pass manager. Returns 1 if any of the passes
modified the module, 0 otherwise.
@see llvm::PassManager::run(Module&) */
-LLVMBool LLVMRunPassManager(LLVMPassManagerRef PM, LLVMModuleRef M);
+LLVM_C_ABI LLVMBool LLVMRunPassManager(LLVMPassManagerRef PM, LLVMModuleRef M);
/** Initializes all of the function passes scheduled in the function pass
manager. Returns 1 if any of the passes modified the module, 0 otherwise.
@see llvm::FunctionPassManager::doInitialization */
-LLVMBool LLVMInitializeFunctionPassManager(LLVMPassManagerRef FPM);
+LLVM_C_ABI LLVMBool LLVMInitializeFunctionPassManager(LLVMPassManagerRef FPM);
/** Executes all of the function passes scheduled in the function pass manager
on the provided function. Returns 1 if any of the passes modified the
function, false otherwise.
@see llvm::FunctionPassManager::run(Function&) */
-LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM, LLVMValueRef F);
+LLVM_C_ABI LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM, LLVMValueRef F);
/** Finalizes all of the function passes scheduled in the function pass
manager. Returns 1 if any of the passes modified the module, 0 otherwise.
@see llvm::FunctionPassManager::doFinalization */
-LLVMBool LLVMFinalizeFunctionPassManager(LLVMPassManagerRef FPM);
+LLVM_C_ABI LLVMBool LLVMFinalizeFunctionPassManager(LLVMPassManagerRef FPM);
/** Frees the memory of a pass pipeline. For function pipelines, does not free
the module provider.
@see llvm::PassManagerBase::~PassManagerBase. */
-void LLVMDisposePassManager(LLVMPassManagerRef PM);
+LLVM_C_ABI void LLVMDisposePassManager(LLVMPassManagerRef PM);
/**
* @}
@@ -4840,15 +4841,15 @@ void LLVMDisposePassManager(LLVMPassManagerRef PM);
/** Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS. This function always returns
LLVMIsMultithreaded(). */
-LLVMBool LLVMStartMultithreaded(void);
+LLVM_C_ABI LLVMBool LLVMStartMultithreaded(void);
/** Deprecated: Multi-threading can only be enabled/disabled with the compile
time define LLVM_ENABLE_THREADS. */
-void LLVMStopMultithreaded(void);
+LLVM_C_ABI void LLVMStopMultithreaded(void);
/** Check whether LLVM is executing in thread-safe mode or not.
@see llvm::llvm_is_multithreaded */
-LLVMBool LLVMIsMultithreaded(void);
+LLVM_C_ABI LLVMBool LLVMIsMultithreaded(void);
/**
* @}
diff --git a/llvm/include/llvm-c/DebugInfo.h b/llvm/include/llvm-c/DebugInfo.h
index 991def64028da..1530c66f39cef 100644
--- a/llvm/include/llvm-c/DebugInfo.h
+++ b/llvm/include/llvm-c/DebugInfo.h
@@ -16,6 +16,7 @@
#ifndef LLVM_C_DEBUGINFO_H
#define LLVM_C_DEBUGINFO_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -223,12 +224,12 @@ typedef enum {
/**
* The current debug metadata version number.
*/
-unsigned LLVMDebugMetadataVersion(void);
+LLVM_C_ABI unsigned LLVMDebugMetadataVersion(void);
/**
* The version of debug metadata that's present in the provided \c Module.
*/
-unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module);
+LLVM_C_ABI unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module);
/**
* Strip debug info in the module if it exists.
@@ -236,37 +237,37 @@ unsigned LLVMGetModuleDebugMetadataVersion(LLVMModuleRef Module);
* metadata for debugging. We also remove debug locations for instructions.
* Return true if module is modified.
*/
-LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module);
+LLVM_C_ABI LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module);
/**
* Construct a builder for a module, and do not allow for unresolved nodes
* attached to the module.
*/
-LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M);
+LLVM_C_ABI LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M);
/**
* Construct a builder for a module and collect unresolved nodes attached
* to the module in order to resolve cycles during a call to
* \c LLVMDIBuilderFinalize.
*/
-LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M);
+LLVM_C_ABI LLVMDIBuilderRef LLVMCreateDIBuilder(LLVMModuleRef M);
/**
* Deallocates the \c DIBuilder and everything it owns.
* @note You must call \c LLVMDIBuilderFinalize before this
*/
-void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder);
+LLVM_C_ABI void LLVMDisposeDIBuilder(LLVMDIBuilderRef Builder);
/**
* Construct any deferred debug info descriptors.
*/
-void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder);
+LLVM_C_ABI void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder);
/**
* Finalize a specific subprogram.
* No new variables may be added to this subprogram afterwards.
*/
-void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
+LLVM_C_ABI void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
LLVMMetadataRef Subprogram);
/**
@@ -301,7 +302,7 @@ void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
* \param SDK The SDK. On Darwin, the last component of the sysroot.
* \param SDKLen The length of the C string passed to \c SDK.
*/
-LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
LLVMDIBuilderRef Builder, LLVMDWARFSourceLanguage Lang,
LLVMMetadataRef FileRef, const char *Producer, size_t ProducerLen,
LLVMBool isOptimized, const char *Flags, size_t FlagsLen,
@@ -318,7 +319,7 @@ LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
* \param Directory Directory.
* \param DirectoryLen The length of the C string passed to \c Directory.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
size_t FilenameLen, const char *Directory,
size_t DirectoryLen);
@@ -337,7 +338,7 @@ LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
* \param APINotesFile The path to an API notes file for the module.
* \param APINotesFileLen The length of the C string passed to \c APINotestFile.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope,
const char *Name, size_t NameLen,
const char *ConfigMacros, size_t ConfigMacrosLen,
@@ -353,7 +354,7 @@ LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope,
* \param ExportSymbols Whether or not the namespace exports symbols, e.g.
* this is true of C++ inline namespaces.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateNameSpace(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentScope,
const char *Name, size_t NameLen,
@@ -377,7 +378,7 @@ LLVMDIBuilderCreateNameSpace(LLVMDIBuilderRef Builder,
* used to emit dwarf attributes.
* \param IsOptimized True if optimization is ON.
*/
-LLVMMetadataRef LLVMDIBuilderCreateFunction(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateFunction(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
@@ -392,7 +393,7 @@ LLVMMetadataRef LLVMDIBuilderCreateFunction(
* \param Line The line in the source file.
* \param Column The column in the source file.
*/
-LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
LLVMMetadataRef File, unsigned Line, unsigned Column);
@@ -403,7 +404,7 @@ LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(
* \param File Source file.
* \param Discriminator DWARF path discriminator value.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef File,
@@ -417,7 +418,7 @@ LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder,
* \param File File where the declaration is located.
* \param Line Line number of the declaration.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
LLVMMetadataRef NS,
@@ -435,7 +436,7 @@ LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder,
* \param Elements Renamed elements.
* \param NumElements Number of renamed elements.
*/
-LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
LLVMMetadataRef ImportedEntity, LLVMMetadataRef File, unsigned Line,
LLVMMetadataRef *Elements, unsigned NumElements);
@@ -450,7 +451,7 @@ LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromAlias(
* \param Elements Renamed elements.
* \param NumElements Number of renamed elements.
*/
-LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef M,
LLVMMetadataRef File, unsigned Line, LLVMMetadataRef *Elements,
unsigned NumElements);
@@ -470,7 +471,7 @@ LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromModule(
* \param Elements Renamed elements.
* \param NumElements Number of renamed elements.
*/
-LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef Decl,
LLVMMetadataRef File, unsigned Line, const char *Name, size_t NameLen,
LLVMMetadataRef *Elements, unsigned NumElements);
@@ -485,7 +486,7 @@ LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(
* \note If the item to which this location is attached cannot be
* attributed to a source line, pass 0 for the line and column.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line,
unsigned Column, LLVMMetadataRef Scope,
LLVMMetadataRef InlinedAt);
@@ -496,7 +497,7 @@ LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line,
*
* @see DILocation::getLine()
*/
-unsigned LLVMDILocationGetLine(LLVMMetadataRef Location);
+LLVM_C_ABI unsigned LLVMDILocationGetLine(LLVMMetadataRef Location);
/**
* Get the column number of this debug location.
@@ -504,7 +505,7 @@ unsigned LLVMDILocationGetLine(LLVMMetadataRef Location);
*
* @see DILocation::getColumn()
*/
-unsigned LLVMDILocationGetColumn(LLVMMetadataRef Location);
+LLVM_C_ABI unsigned LLVMDILocationGetColumn(LLVMMetadataRef Location);
/**
* Get the local scope associated with this debug location.
@@ -512,7 +513,7 @@ unsigned LLVMDILocationGetColumn(LLVMMetadataRef Location);
*
* @see DILocation::getScope()
*/
-LLVMMetadataRef LLVMDILocationGetScope(LLVMMetadataRef Location);
+LLVM_C_ABI LLVMMetadataRef LLVMDILocationGetScope(LLVMMetadataRef Location);
/**
* Get the "inline at" location associated with this debug location.
@@ -520,7 +521,7 @@ LLVMMetadataRef LLVMDILocationGetScope(LLVMMetadataRef Location);
*
* @see DILocation::getInlinedAt()
*/
-LLVMMetadataRef LLVMDILocationGetInlinedAt(LLVMMetadataRef Location);
+LLVM_C_ABI LLVMMetadataRef LLVMDILocationGetInlinedAt(LLVMMetadataRef Location);
/**
* Get the metadata of the file associated with a given scope.
@@ -528,7 +529,7 @@ LLVMMetadataRef LLVMDILocationGetInlinedAt(LLVMMetadataRef Location);
*
* @see DIScope::getFile()
*/
-LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope);
+LLVM_C_ABI LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope);
/**
* Get the directory of a given file.
@@ -537,7 +538,7 @@ LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope);
*
* @see DIFile::getDirectory()
*/
-const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len);
+LLVM_C_ABI const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len);
/**
* Get the name of a given file.
@@ -546,7 +547,7 @@ const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len);
*
* @see DIFile::getFilename()
*/
-const char *LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len);
+LLVM_C_ABI const char *LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len);
/**
* Get the source of a given file.
@@ -555,7 +556,7 @@ const char *LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len);
*
* @see DIFile::getSource()
*/
-const char *LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len);
+LLVM_C_ABI const char *LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len);
/**
* Create a type array.
@@ -563,7 +564,7 @@ const char *LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len);
* \param Data The type elements.
* \param NumElements Number of type elements.
*/
-LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder,
LLVMMetadataRef *Data,
size_t NumElements);
@@ -577,7 +578,7 @@ LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder,
* \param Flags E.g.: \c LLVMDIFlagLValueReference.
* These flags are used to emit dwarf attributes.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
LLVMMetadataRef File,
LLVMMetadataRef *ParameterTypes,
@@ -595,7 +596,7 @@ LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
* @param Value Macro value.
* @param ValueLen Macro value length.
*/
-LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentMacroFile,
unsigned Line,
LLVMDWARFMacinfoRecordType RecordType,
@@ -611,7 +612,7 @@ LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
* @param Line Source line number where the macro file is included.
* @param File File descriptor containing the name of the macro file.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
LLVMMetadataRef ParentMacroFile, unsigned Line,
LLVMMetadataRef File);
@@ -624,7 +625,7 @@ LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
* @param Value Enumerator value.
* @param IsUnsigned True if the value is unsigned.
*/
-LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder,
const char *Name, size_t NameLen,
int64_t Value,
LLVMBool IsUnsigned);
@@ -638,7 +639,7 @@ LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder,
* @param Words The words that make up the value.
* @param IsUnsigned True if the value is unsigned.
*/
-LLVMMetadataRef LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision(
LLVMDIBuilderRef Builder, const char *Name, size_t NameLen,
uint64_t SizeInBits, const uint64_t Words[], LLVMBool IsUnsigned);
@@ -656,7 +657,7 @@ LLVMMetadataRef LLVMDIBuilderCreateEnumeratorOfArbitraryPrecision(
* \param NumElements Number of enumeration elements.
* \param ClassTy Underlying type of a C++11/ObjC fixed enum.
*/
-LLVMMetadataRef LLVMDIBuilderCreateEnumerationType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumerationType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
uint64_t SizeInBits, uint32_t AlignInBits, LLVMMetadataRef *Elements,
@@ -679,7 +680,7 @@ LLVMMetadataRef LLVMDIBuilderCreateEnumerationType(
* \param UniqueId A unique identifier for the union.
* \param UniqueIdLen Length of unique identifier.
*/
-LLVMMetadataRef LLVMDIBuilderCreateUnionType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateUnionType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags,
@@ -696,7 +697,7 @@ LLVMMetadataRef LLVMDIBuilderCreateUnionType(
* \param Subscripts Subscripts.
* \param NumSubscripts Number of subscripts.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder, uint64_t Size,
uint32_t AlignInBits, LLVMMetadataRef Ty,
LLVMMetadataRef *Subscripts,
@@ -711,7 +712,7 @@ LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder, uint64_t Size,
* \param Subscripts Subscripts.
* \param NumSubscripts Number of subscripts.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder, uint64_t Size,
uint32_t AlignInBits, LLVMMetadataRef Ty,
LLVMMetadataRef *Subscripts,
@@ -723,7 +724,7 @@ LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder, uint64_t Size,
* \param Name The unspecified type's name.
* \param NameLen Length of type name.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder, const char *Name,
size_t NameLen);
@@ -737,7 +738,7 @@ LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder, const char *Name,
* \param Encoding DWARF encoding code, e.g. \c LLVMDWARFTypeEncoding_float.
* \param Flags Flags to encode optional attribute like endianity
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder, const char *Name,
size_t NameLen, uint64_t SizeInBits,
LLVMDWARFTypeEncoding Encoding,
@@ -753,7 +754,7 @@ LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder, const char *Name,
* \param Name Pointer type name. (optional)
* \param NameLen Length of pointer type name. (optional)
*/
-LLVMMetadataRef LLVMDIBuilderCreatePointerType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreatePointerType(
LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy,
uint64_t SizeInBits, uint32_t AlignInBits, unsigned AddressSpace,
const char *Name, size_t NameLen);
@@ -776,7 +777,7 @@ LLVMMetadataRef LLVMDIBuilderCreatePointerType(
* \param UniqueId A unique identifier for the struct.
* \param UniqueIdLen Length of the unique identifier for the struct.
*/
-LLVMMetadataRef LLVMDIBuilderCreateStructType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateStructType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
uint64_t SizeInBits, uint32_t AlignInBits, LLVMDIFlags Flags,
@@ -798,7 +799,7 @@ LLVMMetadataRef LLVMDIBuilderCreateStructType(
* \param Flags Flags to encode member attribute, e.g. private
* \param Ty Parent type.
*/
-LLVMMetadataRef LLVMDIBuilderCreateMemberType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMemberType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits,
@@ -818,7 +819,7 @@ LLVMMetadataRef LLVMDIBuilderCreateMemberType(
* \param ConstantVal Const initializer of the member.
* \param AlignInBits Member alignment.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateStaticMemberType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
@@ -834,7 +835,7 @@ LLVMDIBuilderCreateStaticMemberType(
* \param AlignInBits Alignment.
* \param Flags Flags.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder,
LLVMMetadataRef PointeeType,
LLVMMetadataRef ClassType,
@@ -855,7 +856,7 @@ LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder,
* \param Ty Parent type.
* \param PropertyNode Property associated with this ivar.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder,
const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNo,
@@ -877,7 +878,7 @@ LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder,
* \param PropertyAttributes Objective C property attributes.
* \param Ty Type.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder,
const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNo,
@@ -894,7 +895,7 @@ LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder,
* \param Implicit Indicates whether this pointer was implicitly generated
* (i.e., not spelled out in source).
*/
-LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Type,
LLVMBool Implicit);
@@ -906,7 +907,7 @@ LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
* e.g. LLVMDWARFTypeQualifier_volatile_type
* \param Type Base Type.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag,
LLVMMetadataRef Type);
@@ -917,7 +918,7 @@ LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag,
* \param Tag Tag identifying type,
* \param Type Base Type.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder, unsigned Tag,
LLVMMetadataRef Type);
@@ -925,7 +926,7 @@ LLVMDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder, unsigned Tag,
* Create C++11 nullptr type.
* \param Builder The DIBuilder.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateNullPtrType(LLVMDIBuilderRef Builder);
/**
@@ -937,7 +938,7 @@ LLVMDIBuilderCreateNullPtrType(LLVMDIBuilderRef Builder);
* \param LineNo Line number.
* \param Scope The surrounding context for the typedef.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type,
const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNo,
@@ -953,7 +954,7 @@ LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type,
* \param VBPtrOffset Virtual base pointer offset.
* \param Flags Flags to describe inheritance attribute, e.g. private
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder,
LLVMMetadataRef Ty, LLVMMetadataRef BaseTy,
uint64_t BaseOffset, uint32_t VBPtrOffset,
@@ -975,7 +976,7 @@ LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder,
* \param UniqueIdentifier A unique identifier for the type.
* \param UniqueIdentifierLen Length of the unique identifier.
*/
-LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(
LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits,
@@ -998,7 +999,7 @@ LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(
* \param UniqueIdentifier A unique identifier for the type.
* \param UniqueIdentifierLen Length of the unique identifier.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateReplaceableCompositeType(
LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
@@ -1020,7 +1021,7 @@ LLVMDIBuilderCreateReplaceableCompositeType(
* \param Flags Flags to encode member attribute.
* \param Type Parent type.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope,
const char *Name, size_t NameLen,
@@ -1052,7 +1053,7 @@ LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder,
* \param UniqueIdentifier A unique identifier for the type.
* \param UniqueIdentifierLen Length of the unique identifier.
*/
-LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Scope, const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags,
@@ -1066,7 +1067,7 @@ LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder,
* \param Builder The DIBuilder.
* \param Type The underlying type.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateArtificialType(LLVMDIBuilderRef Builder,
LLVMMetadataRef Type);
@@ -1077,7 +1078,7 @@ LLVMDIBuilderCreateArtificialType(LLVMDIBuilderRef Builder,
*
* @see DIType::getName()
*/
-const char *LLVMDITypeGetName(LLVMMetadataRef DType, size_t *Length);
+LLVM_C_ABI const char *LLVMDITypeGetName(LLVMMetadataRef DType, size_t *Length);
/**
* Get the size of this DIType in bits.
@@ -1085,7 +1086,7 @@ const char *LLVMDITypeGetName(LLVMMetadataRef DType, size_t *Length);
*
* @see DIType::getSizeInBits()
*/
-uint64_t LLVMDITypeGetSizeInBits(LLVMMetadataRef DType);
+LLVM_C_ABI uint64_t LLVMDITypeGetSizeInBits(LLVMMetadataRef DType);
/**
* Get the offset of this DIType in bits.
@@ -1093,7 +1094,7 @@ uint64_t LLVMDITypeGetSizeInBits(LLVMMetadataRef DType);
*
* @see DIType::getOffsetInBits()
*/
-uint64_t LLVMDITypeGetOffsetInBits(LLVMMetadataRef DType);
+LLVM_C_ABI uint64_t LLVMDITypeGetOffsetInBits(LLVMMetadataRef DType);
/**
* Get the alignment of this DIType in bits.
@@ -1101,7 +1102,7 @@ uint64_t LLVMDITypeGetOffsetInBits(LLVMMetadataRef DType);
*
* @see DIType::getAlignInBits()
*/
-uint32_t LLVMDITypeGetAlignInBits(LLVMMetadataRef DType);
+LLVM_C_ABI uint32_t LLVMDITypeGetAlignInBits(LLVMMetadataRef DType);
/**
* Get the source line where this DIType is declared.
@@ -1109,7 +1110,7 @@ uint32_t LLVMDITypeGetAlignInBits(LLVMMetadataRef DType);
*
* @see DIType::getLine()
*/
-unsigned LLVMDITypeGetLine(LLVMMetadataRef DType);
+LLVM_C_ABI unsigned LLVMDITypeGetLine(LLVMMetadataRef DType);
/**
* Get the flags associated with this DIType.
@@ -1117,7 +1118,7 @@ unsigned LLVMDITypeGetLine(LLVMMetadataRef DType);
*
* @see DIType::getFlags()
*/
-LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType);
+LLVM_C_ABI LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType);
/**
* Create a descriptor for a value range.
@@ -1125,7 +1126,7 @@ LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType);
* \param LowerBound Lower bound of the subrange, e.g. 0 for C, 1 for Fortran.
* \param Count Count of elements in the subrange.
*/
-LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder,
int64_t LowerBound,
int64_t Count);
@@ -1135,7 +1136,7 @@ LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder,
* \param Data The DI Node elements.
* \param NumElements Number of DI Node elements.
*/
-LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
LLVMMetadataRef *Data,
size_t NumElements);
@@ -1146,7 +1147,7 @@ LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
* \param Addr An array of complex address operations.
* \param Length Length of the address operation array.
*/
-LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
uint64_t *Addr, size_t Length);
/**
@@ -1155,7 +1156,7 @@ LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
* \param Builder The DIBuilder.
* \param Value The constant value.
*/
-LLVMMetadataRef
+LLVM_C_ABI LLVMMetadataRef
LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder,
uint64_t Value);
@@ -1178,7 +1179,7 @@ LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder,
* \param AlignInBits Variable alignment(or 0 if no alignment attr was
* specified)
*/
-LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, const char *Linkage, size_t LinkLen, LLVMMetadataRef File,
unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
@@ -1188,7 +1189,7 @@ LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(
/**
* Get the dwarf::Tag of a DINode
*/
-uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD);
+LLVM_C_ABI uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD);
/**
* Retrieves the \c DIVariable associated with this global variable expression.
@@ -1196,7 +1197,7 @@ uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD);
*
* @see llvm::DIGlobalVariableExpression::getVariable()
*/
-LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE);
+LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE);
/**
* Retrieves the \c DIExpression associated with this global variable expression.
@@ -1204,7 +1205,7 @@ LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE);
*
* @see llvm::DIGlobalVariableExpression::getExpression()
*/
-LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(
+LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(
LLVMMetadataRef GVE);
/**
@@ -1213,7 +1214,7 @@ LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(
*
* @see DIVariable::getFile()
*/
-LLVMMetadataRef LLVMDIVariableGetFile(LLVMMetadataRef Var);
+LLVM_C_ABI LLVMMetadataRef LLVMDIVariableGetFile(LLVMMetadataRef Var);
/**
* Get the metadata of the scope associated with a given variable.
@@ -1221,7 +1222,7 @@ LLVMMetadataRef LLVMDIVariableGetFile(LLVMMetadataRef Var);
*
* @see DIVariable::getScope()
*/
-LLVMMetadataRef LLVMDIVariableGetScope(LLVMMetadataRef Var);
+LLVM_C_ABI LLVMMetadataRef LLVMDIVariableGetScope(LLVMMetadataRef Var);
/**
* Get the source line where this \c DIVariable is declared.
@@ -1229,7 +1230,7 @@ LLVMMetadataRef LLVMDIVariableGetScope(LLVMMetadataRef Var);
*
* @see DIVariable::getLine()
*/
-unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var);
+LLVM_C_ABI unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var);
/**
* Create a new temporary \c MDNode. Suitable for use in constructing cyclic
@@ -1239,7 +1240,7 @@ unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var);
* \param Data The metadata elements.
* \param NumElements Number of metadata elements.
*/
-LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx, LLVMMetadataRef *Data,
+LLVM_C_ABI LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx, LLVMMetadataRef *Data,
size_t NumElements);
/**
@@ -1249,14 +1250,14 @@ LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx, LLVMMetadataRef *Data,
* references will be reset.
* \param TempNode The temporary metadata node.
*/
-void LLVMDisposeTemporaryMDNode(LLVMMetadataRef TempNode);
+LLVM_C_ABI void LLVMDisposeTemporaryMDNode(LLVMMetadataRef TempNode);
/**
* Replace all uses of temporary metadata.
* \param TempTargetMetadata The temporary metadata node.
* \param Replacement The replacement metadata node.
*/
-void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
+LLVM_C_ABI void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
LLVMMetadataRef Replacement);
/**
@@ -1276,7 +1277,7 @@ void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
* \param AlignInBits Variable alignment(or 0 if no alignment attr was
* specified)
*/
-LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, const char *Linkage, size_t LnkLen, LLVMMetadataRef File,
unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
@@ -1297,7 +1298,7 @@ LLVMMetadataRef LLVMDIBuilderCreateTempGlobalVariableFwdDecl(
* \param DebugLoc Debug info location.
* \param Instr Instruction acting as a location for the new record.
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore(
LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr);
@@ -1318,7 +1319,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordBefore(
* \param DebugLoc Debug info location.
* \param Block Basic block acting as a location for the new record.
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd(
LLVMDIBuilderRef Builder, LLVMValueRef Storage, LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block);
@@ -1337,7 +1338,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertDeclareRecordAtEnd(
* \param DebugLoc Debug info location.
* \param Instr Instruction acting as a location for the new record.
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore(
LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMValueRef Instr);
@@ -1358,7 +1359,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordBefore(
* \param DebugLoc Debug info location.
* \param Block Basic block acting as a location for the new record.
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd(
LLVMDIBuilderRef Builder, LLVMValueRef Val, LLVMMetadataRef VarInfo,
LLVMMetadataRef Expr, LLVMMetadataRef DebugLoc, LLVMBasicBlockRef Block);
@@ -1375,7 +1376,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertDbgValueRecordAtEnd(
* \param Flags Flags.
* \param AlignInBits Variable alignment.
*/
-LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
LLVMBool AlwaysPreserve, LLVMDIFlags Flags, uint32_t AlignInBits);
@@ -1393,7 +1394,7 @@ LLVMMetadataRef LLVMDIBuilderCreateAutoVariable(
* \param AlwaysPreserve If true, this descriptor will survive optimizations.
* \param Flags Flags.
*/
-LLVMMetadataRef LLVMDIBuilderCreateParameterVariable(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateParameterVariable(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, unsigned ArgNo, LLVMMetadataRef File, unsigned LineNo,
LLVMMetadataRef Ty, LLVMBool AlwaysPreserve, LLVMDIFlags Flags);
@@ -1403,14 +1404,14 @@ LLVMMetadataRef LLVMDIBuilderCreateParameterVariable(
*
* @see llvm::Function::getSubprogram()
*/
-LLVMMetadataRef LLVMGetSubprogram(LLVMValueRef Func);
+LLVM_C_ABI LLVMMetadataRef LLVMGetSubprogram(LLVMValueRef Func);
/**
* Set the subprogram attached to a function.
*
* @see llvm::Function::setSubprogram()
*/
-void LLVMSetSubprogram(LLVMValueRef Func, LLVMMetadataRef SP);
+LLVM_C_ABI void LLVMSetSubprogram(LLVMValueRef Func, LLVMMetadataRef SP);
/**
* Get the line associated with a given subprogram.
@@ -1418,14 +1419,14 @@ void LLVMSetSubprogram(LLVMValueRef Func, LLVMMetadataRef SP);
*
* @see DISubprogram::getLine()
*/
-unsigned LLVMDISubprogramGetLine(LLVMMetadataRef Subprogram);
+LLVM_C_ABI unsigned LLVMDISubprogramGetLine(LLVMMetadataRef Subprogram);
/**
* Get the debug location for the given instruction.
*
* @see llvm::Instruction::getDebugLoc()
*/
-LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst);
+LLVM_C_ABI LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst);
/**
* Set the debug location for the given instruction.
@@ -1434,7 +1435,7 @@ LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst);
*
* @see llvm::Instruction::setDebugLoc()
*/
-void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
+LLVM_C_ABI void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
/**
* Create a new descriptor for a label
@@ -1449,7 +1450,7 @@ void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
*
* @see llvm::DIBuilder::createLabel()
*/
-LLVMMetadataRef LLVMDIBuilderCreateLabel(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLabel(
LLVMDIBuilderRef Builder,
LLVMMetadataRef Context, const char *Name, size_t NameLen,
LLVMMetadataRef File, unsigned LineNo, LLVMBool AlwaysPreserve);
@@ -1464,7 +1465,7 @@ LLVMMetadataRef LLVMDIBuilderCreateLabel(
*
* @see llvm::DIBuilder::insertLabel()
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore(
LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo,
LLVMMetadataRef Location, LLVMValueRef InsertBefore);
@@ -1478,7 +1479,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertLabelBefore(
*
* @see llvm::DIBuilder::insertLabel()
*/
-LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd(
+LLVM_C_ABI LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd(
LLVMDIBuilderRef Builder, LLVMMetadataRef LabelInfo,
LLVMMetadataRef Location, LLVMBasicBlockRef InsertAtEnd);
@@ -1487,7 +1488,7 @@ LLVMDbgRecordRef LLVMDIBuilderInsertLabelAtEnd(
*
* @see llvm::Metadata::getMetadataID()
*/
-LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata);
+LLVM_C_ABI LLVMMetadataKind LLVMGetMetadataKind(LLVMMetadataRef Metadata);
/**
* @}
diff --git a/llvm/include/llvm-c/Disassembler.h b/llvm/include/llvm-c/Disassembler.h
index 4bc6b04dd6eaf..f49f8b1cca01a 100644
--- a/llvm/include/llvm-c/Disassembler.h
+++ b/llvm/include/llvm-c/Disassembler.h
@@ -15,6 +15,7 @@
#ifndef LLVM_C_DISASSEMBLER_H
#define LLVM_C_DISASSEMBLER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/DisassemblerTypes.h"
#include "llvm-c/ExternC.h"
@@ -35,7 +36,7 @@ LLVM_C_EXTERN_C_BEGIN
* returns NULL. This function is equivalent to calling
* LLVMCreateDisasmCPUFeatures() with an empty CPU name and feature set.
*/
-LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,
+LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,
int TagType, LLVMOpInfoCallback GetOpInfo,
LLVMSymbolLookupCallback SymbolLookUp);
@@ -47,7 +48,7 @@ LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,
* disassembler context. If not, it returns NULL. This function is equivalent
* to calling LLVMCreateDisasmCPUFeatures() with an empty feature set.
*/
-LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU,
+LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU,
void *DisInfo, int TagType,
LLVMOpInfoCallback GetOpInfo,
LLVMSymbolLookupCallback SymbolLookUp);
@@ -59,7 +60,7 @@ LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU,
* described above. These can all be passed * as NULL. If successful, this
* returns a disassembler context. If not, it returns NULL.
*/
-LLVMDisasmContextRef
+LLVM_C_ABI LLVMDisasmContextRef
LLVMCreateDisasmCPUFeatures(const char *Triple, const char *CPU,
const char *Features, void *DisInfo, int TagType,
LLVMOpInfoCallback GetOpInfo,
@@ -69,7 +70,7 @@ LLVMCreateDisasmCPUFeatures(const char *Triple, const char *CPU,
* Set the disassembler's options. Returns 1 if it can set the Options and 0
* otherwise.
*/
-int LLVMSetDisasmOptions(LLVMDisasmContextRef DC, uint64_t Options);
+LLVM_C_ABI int LLVMSetDisasmOptions(LLVMDisasmContextRef DC, uint64_t Options);
/* The option to produce marked up assembly. */
#define LLVMDisassembler_Option_UseMarkup 1
@@ -87,7 +88,7 @@ int LLVMSetDisasmOptions(LLVMDisasmContextRef DC, uint64_t Options);
/**
* Dispose of a disassembler context.
*/
-void LLVMDisasmDispose(LLVMDisasmContextRef DC);
+LLVM_C_ABI void LLVMDisasmDispose(LLVMDisasmContextRef DC);
/**
* Disassemble a single instruction using the disassembler context specified in
@@ -99,7 +100,7 @@ void LLVMDisasmDispose(LLVMDisasmContextRef DC);
* function returns the number of bytes in the instruction or zero if there was
* no valid instruction.
*/
-size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes,
+LLVM_C_ABI size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes,
uint64_t BytesSize, uint64_t PC,
char *OutString, size_t OutStringSize);
diff --git a/llvm/include/llvm-c/Error.h b/llvm/include/llvm-c/Error.h
index 874bbcfe8f21a..a05bc097307ae 100644
--- a/llvm/include/llvm-c/Error.h
+++ b/llvm/include/llvm-c/Error.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_ERROR_H
#define LLVM_C_ERROR_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
LLVM_C_EXTERN_C_BEGIN
@@ -41,7 +42,7 @@ typedef const void *LLVMErrorTypeId;
* Returns the type id for the given error instance, which must be a failure
* value (i.e. non-null).
*/
-LLVMErrorTypeId LLVMGetErrorTypeId(LLVMErrorRef Err);
+LLVM_C_ABI LLVMErrorTypeId LLVMGetErrorTypeId(LLVMErrorRef Err);
/**
* Dispose of the given error without handling it. This operation consumes the
@@ -49,7 +50,7 @@ LLVMErrorTypeId LLVMGetErrorTypeId(LLVMErrorRef Err);
* Note: This method *only* needs to be called if the error is not being passed
* to some other consuming operation, e.g. LLVMGetErrorMessage.
*/
-void LLVMConsumeError(LLVMErrorRef Err);
+LLVM_C_ABI void LLVMConsumeError(LLVMErrorRef Err);
/**
* Report a fatal error if Err is a failure value.
@@ -57,7 +58,7 @@ void LLVMConsumeError(LLVMErrorRef Err);
* This function can be used to wrap calls to fallible functions ONLY when it is
* known that the Error will always be a success value.
*/
-void LLVMCantFail(LLVMErrorRef Err);
+LLVM_C_ABI void LLVMCantFail(LLVMErrorRef Err);
/**
* Returns the given string's error message. This operation consumes the error,
@@ -65,22 +66,22 @@ void LLVMCantFail(LLVMErrorRef Err);
* The caller is responsible for disposing of the string by calling
* LLVMDisposeErrorMessage.
*/
-char *LLVMGetErrorMessage(LLVMErrorRef Err);
+LLVM_C_ABI char *LLVMGetErrorMessage(LLVMErrorRef Err);
/**
* Dispose of the given error message.
*/
-void LLVMDisposeErrorMessage(char *ErrMsg);
+LLVM_C_ABI void LLVMDisposeErrorMessage(char *ErrMsg);
/**
* Returns the type id for llvm StringError.
*/
-LLVMErrorTypeId LLVMGetStringErrorTypeId(void);
+LLVM_C_ABI LLVMErrorTypeId LLVMGetStringErrorTypeId(void);
/**
* Create a StringError.
*/
-LLVMErrorRef LLVMCreateStringError(const char *ErrMsg);
+LLVM_C_ABI LLVMErrorRef LLVMCreateStringError(const char *ErrMsg);
/**
* @}
diff --git a/llvm/include/llvm-c/ErrorHandling.h b/llvm/include/llvm-c/ErrorHandling.h
index d9b9f22752b8f..d3738887b0d7b 100644
--- a/llvm/include/llvm-c/ErrorHandling.h
+++ b/llvm/include/llvm-c/ErrorHandling.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_ERRORHANDLING_H
#define LLVM_C_ERRORHANDLING_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
LLVM_C_EXTERN_C_BEGIN
@@ -33,20 +34,20 @@ typedef void (*LLVMFatalErrorHandler)(const char *Reason);
* function allows you to install a callback that will be invoked prior to the
* call to exit(1).
*/
-void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler);
+LLVM_C_ABI void LLVMInstallFatalErrorHandler(LLVMFatalErrorHandler Handler);
/**
* Reset the fatal error handler. This resets LLVM's fatal error handling
* behavior to the default.
*/
-void LLVMResetFatalErrorHandler(void);
+LLVM_C_ABI void LLVMResetFatalErrorHandler(void);
/**
* Enable LLVM's built-in stack trace code. This intercepts the OS's crash
* signals and prints which component of LLVM you were in at the time if the
* crash.
*/
-void LLVMEnablePrettyStackTrace(void);
+LLVM_C_ABI void LLVMEnablePrettyStackTrace(void);
/**
* @}
diff --git a/llvm/include/llvm-c/ExecutionEngine.h b/llvm/include/llvm-c/ExecutionEngine.h
index c5fc9bdb4d07f..71d5993325878 100644
--- a/llvm/include/llvm-c/ExecutionEngine.h
+++ b/llvm/include/llvm-c/ExecutionEngine.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_EXECUTIONENGINE_H
#define LLVM_C_EXECUTIONENGINE_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/TargetMachine.h"
@@ -33,8 +34,8 @@ LLVM_C_EXTERN_C_BEGIN
* @{
*/
-void LLVMLinkInMCJIT(void);
-void LLVMLinkInInterpreter(void);
+LLVM_C_ABI void LLVMLinkInMCJIT(void);
+LLVM_C_ABI void LLVMLinkInInterpreter(void);
typedef struct LLVMOpaqueGenericValue *LLVMGenericValueRef;
typedef struct LLVMOpaqueExecutionEngine *LLVMExecutionEngineRef;
@@ -50,41 +51,41 @@ struct LLVMMCJITCompilerOptions {
/*===-- Operations on generic values --------------------------------------===*/
-LLVMGenericValueRef LLVMCreateGenericValueOfInt(LLVMTypeRef Ty,
+LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfInt(LLVMTypeRef Ty,
unsigned long long N,
LLVMBool IsSigned);
-LLVMGenericValueRef LLVMCreateGenericValueOfPointer(void *P);
+LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfPointer(void *P);
-LLVMGenericValueRef LLVMCreateGenericValueOfFloat(LLVMTypeRef Ty, double N);
+LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfFloat(LLVMTypeRef Ty, double N);
-unsigned LLVMGenericValueIntWidth(LLVMGenericValueRef GenValRef);
+LLVM_C_ABI unsigned LLVMGenericValueIntWidth(LLVMGenericValueRef GenValRef);
-unsigned long long LLVMGenericValueToInt(LLVMGenericValueRef GenVal,
+LLVM_C_ABI unsigned long long LLVMGenericValueToInt(LLVMGenericValueRef GenVal,
LLVMBool IsSigned);
-void *LLVMGenericValueToPointer(LLVMGenericValueRef GenVal);
+LLVM_C_ABI void *LLVMGenericValueToPointer(LLVMGenericValueRef GenVal);
-double LLVMGenericValueToFloat(LLVMTypeRef TyRef, LLVMGenericValueRef GenVal);
+LLVM_C_ABI double LLVMGenericValueToFloat(LLVMTypeRef TyRef, LLVMGenericValueRef GenVal);
-void LLVMDisposeGenericValue(LLVMGenericValueRef GenVal);
+LLVM_C_ABI void LLVMDisposeGenericValue(LLVMGenericValueRef GenVal);
/*===-- Operations on execution engines -----------------------------------===*/
-LLVMBool LLVMCreateExecutionEngineForModule(LLVMExecutionEngineRef *OutEE,
+LLVM_C_ABI LLVMBool LLVMCreateExecutionEngineForModule(LLVMExecutionEngineRef *OutEE,
LLVMModuleRef M,
char **OutError);
-LLVMBool LLVMCreateInterpreterForModule(LLVMExecutionEngineRef *OutInterp,
+LLVM_C_ABI LLVMBool LLVMCreateInterpreterForModule(LLVMExecutionEngineRef *OutInterp,
LLVMModuleRef M,
char **OutError);
-LLVMBool LLVMCreateJITCompilerForModule(LLVMExecutionEngineRef *OutJIT,
+LLVM_C_ABI LLVMBool LLVMCreateJITCompilerForModule(LLVMExecutionEngineRef *OutJIT,
LLVMModuleRef M,
unsigned OptLevel,
char **OutError);
-void LLVMInitializeMCJITCompilerOptions(
+LLVM_C_ABI void LLVMInitializeMCJITCompilerOptions(
struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions);
/**
@@ -104,54 +105,54 @@ void LLVMInitializeMCJITCompilerOptions(
*
* LLVMCreateMCJITCompilerForModule(&jit, mod, 0, 0, &error);
*/
-LLVMBool LLVMCreateMCJITCompilerForModule(
+LLVM_C_ABI LLVMBool LLVMCreateMCJITCompilerForModule(
LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M,
struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions,
char **OutError);
-void LLVMDisposeExecutionEngine(LLVMExecutionEngineRef EE);
+LLVM_C_ABI void LLVMDisposeExecutionEngine(LLVMExecutionEngineRef EE);
-void LLVMRunStaticConstructors(LLVMExecutionEngineRef EE);
+LLVM_C_ABI void LLVMRunStaticConstructors(LLVMExecutionEngineRef EE);
-void LLVMRunStaticDestructors(LLVMExecutionEngineRef EE);
+LLVM_C_ABI void LLVMRunStaticDestructors(LLVMExecutionEngineRef EE);
-int LLVMRunFunctionAsMain(LLVMExecutionEngineRef EE, LLVMValueRef F,
+LLVM_C_ABI int LLVMRunFunctionAsMain(LLVMExecutionEngineRef EE, LLVMValueRef F,
unsigned ArgC, const char * const *ArgV,
const char * const *EnvP);
-LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F,
+LLVM_C_ABI LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F,
unsigned NumArgs,
LLVMGenericValueRef *Args);
-void LLVMFreeMachineCodeForFunction(LLVMExecutionEngineRef EE, LLVMValueRef F);
+LLVM_C_ABI void LLVMFreeMachineCodeForFunction(LLVMExecutionEngineRef EE, LLVMValueRef F);
-void LLVMAddModule(LLVMExecutionEngineRef EE, LLVMModuleRef M);
+LLVM_C_ABI void LLVMAddModule(LLVMExecutionEngineRef EE, LLVMModuleRef M);
-LLVMBool LLVMRemoveModule(LLVMExecutionEngineRef EE, LLVMModuleRef M,
+LLVM_C_ABI LLVMBool LLVMRemoveModule(LLVMExecutionEngineRef EE, LLVMModuleRef M,
LLVMModuleRef *OutMod, char **OutError);
-LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE, const char *Name,
+LLVM_C_ABI LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE, const char *Name,
LLVMValueRef *OutFn);
-void *LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE,
+LLVM_C_ABI void *LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE,
LLVMValueRef Fn);
-LLVMTargetDataRef LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE);
-LLVMTargetMachineRef
+LLVM_C_ABI LLVMTargetDataRef LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE);
+LLVM_C_ABI LLVMTargetMachineRef
LLVMGetExecutionEngineTargetMachine(LLVMExecutionEngineRef EE);
-void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE, LLVMValueRef Global,
+LLVM_C_ABI void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE, LLVMValueRef Global,
void* Addr);
-void *LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE, LLVMValueRef Global);
+LLVM_C_ABI void *LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE, LLVMValueRef Global);
-uint64_t LLVMGetGlobalValueAddress(LLVMExecutionEngineRef EE, const char *Name);
+LLVM_C_ABI uint64_t LLVMGetGlobalValueAddress(LLVMExecutionEngineRef EE, const char *Name);
-uint64_t LLVMGetFunctionAddress(LLVMExecutionEngineRef EE, const char *Name);
+LLVM_C_ABI uint64_t LLVMGetFunctionAddress(LLVMExecutionEngineRef EE, const char *Name);
/// Returns true on error, false on success. If true is returned then the error
/// message is copied to OutStr and cleared in the ExecutionEngine instance.
-LLVMBool LLVMExecutionEngineGetErrMsg(LLVMExecutionEngineRef EE,
+LLVM_C_ABI LLVMBool LLVMExecutionEngineGetErrMsg(LLVMExecutionEngineRef EE,
char **OutError);
/*===-- Operations on memory managers -------------------------------------===*/
@@ -177,21 +178,21 @@ typedef void (*LLVMMemoryManagerDestroyCallback)(void *Opaque);
* @param FinalizeMemory Set page permissions and flush cache. Return 0 on
* success, 1 on error.
*/
-LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager(
+LLVM_C_ABI LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager(
void *Opaque,
LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection,
LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection,
LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory,
LLVMMemoryManagerDestroyCallback Destroy);
-void LLVMDisposeMCJITMemoryManager(LLVMMCJITMemoryManagerRef MM);
+LLVM_C_ABI void LLVMDisposeMCJITMemoryManager(LLVMMCJITMemoryManagerRef MM);
/*===-- JIT Event Listener functions -------------------------------------===*/
-LLVMJITEventListenerRef LLVMCreateGDBRegistrationListener(void);
-LLVMJITEventListenerRef LLVMCreateIntelJITEventListener(void);
-LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener(void);
-LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void);
+LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateGDBRegistrationListener(void);
+LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateIntelJITEventListener(void);
+LLVM_C_ABI LLVMJITEventListenerRef LLVMCreateOProfileJITEventListener(void);
+LLVM_C_ABI LLVMJITEventListenerRef LLVMCreatePerfJITEventListener(void);
/**
* @}
diff --git a/llvm/include/llvm-c/IRReader.h b/llvm/include/llvm-c/IRReader.h
index 905b84fa5a869..a5486b8bd8769 100644
--- a/llvm/include/llvm-c/IRReader.h
+++ b/llvm/include/llvm-c/IRReader.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_IRREADER_H
#define LLVM_C_IRREADER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -35,7 +36,7 @@ LLVM_C_EXTERN_C_BEGIN
*
* @see llvm::ParseIR()
*/
-LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
+LLVM_C_ABI LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
char **OutMessage);
diff --git a/llvm/include/llvm-c/LLJIT.h b/llvm/include/llvm-c/LLJIT.h
index a58c3b8bbef70..589b4670fd598 100644
--- a/llvm/include/llvm-c/LLJIT.h
+++ b/llvm/include/llvm-c/LLJIT.h
@@ -24,6 +24,7 @@
#ifndef LLVM_C_LLJIT_H
#define LLVM_C_LLJIT_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/Orc.h"
#include "llvm-c/TargetMachine.h"
@@ -71,14 +72,14 @@ typedef struct LLVMOrcOpaqueLLJIT *LLVMOrcLLJITRef;
* The client owns the resulting LLJITBuilder and should dispose of it using
* LLVMOrcDisposeLLJITBuilder once they are done with it.
*/
-LLVMOrcLLJITBuilderRef LLVMOrcCreateLLJITBuilder(void);
+LLVM_C_ABI LLVMOrcLLJITBuilderRef LLVMOrcCreateLLJITBuilder(void);
/**
* Dispose of an LLVMOrcLLJITBuilderRef. This should only be called if ownership
* has not been passed to LLVMOrcCreateLLJIT (e.g. because some error prevented
* that function from being called).
*/
-void LLVMOrcDisposeLLJITBuilder(LLVMOrcLLJITBuilderRef Builder);
+LLVM_C_ABI void LLVMOrcDisposeLLJITBuilder(LLVMOrcLLJITBuilderRef Builder);
/**
* Set the JITTargetMachineBuilder to be used when constructing the LLJIT
@@ -89,13 +90,13 @@ void LLVMOrcDisposeLLJITBuilder(LLVMOrcLLJITBuilderRef Builder);
* This function takes ownership of the JTMB argument: clients should not
* dispose of the JITTargetMachineBuilder after calling this function.
*/
-void LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(
+LLVM_C_ABI void LLVMOrcLLJITBuilderSetJITTargetMachineBuilder(
LLVMOrcLLJITBuilderRef Builder, LLVMOrcJITTargetMachineBuilderRef JTMB);
/**
* Set an ObjectLinkingLayer creator function for this LLJIT instance.
*/
-void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
+LLVM_C_ABI void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
LLVMOrcLLJITBuilderRef Builder,
LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction F, void *Ctx);
@@ -113,13 +114,13 @@ void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
* LLJIT instance will free all memory managed by the JIT, including JIT'd code
* and not-yet compiled modules.
*/
-LLVMErrorRef LLVMOrcCreateLLJIT(LLVMOrcLLJITRef *Result,
+LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLLJIT(LLVMOrcLLJITRef *Result,
LLVMOrcLLJITBuilderRef Builder);
/**
* Dispose of an LLJIT instance.
*/
-LLVMErrorRef LLVMOrcDisposeLLJIT(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMErrorRef LLVMOrcDisposeLLJIT(LLVMOrcLLJITRef J);
/**
* Get a reference to the ExecutionSession for this LLJIT instance.
@@ -127,7 +128,7 @@ LLVMErrorRef LLVMOrcDisposeLLJIT(LLVMOrcLLJITRef J);
* The ExecutionSession is owned by the LLJIT instance. The client is not
* responsible for managing its memory.
*/
-LLVMOrcExecutionSessionRef LLVMOrcLLJITGetExecutionSession(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcExecutionSessionRef LLVMOrcLLJITGetExecutionSession(LLVMOrcLLJITRef J);
/**
* Return a reference to the Main JITDylib.
@@ -135,18 +136,18 @@ LLVMOrcExecutionSessionRef LLVMOrcLLJITGetExecutionSession(LLVMOrcLLJITRef J);
* The JITDylib is owned by the LLJIT instance. The client is not responsible
* for managing its memory.
*/
-LLVMOrcJITDylibRef LLVMOrcLLJITGetMainJITDylib(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcLLJITGetMainJITDylib(LLVMOrcLLJITRef J);
/**
* Return the target triple for this LLJIT instance. This string is owned by
* the LLJIT instance and should not be freed by the client.
*/
-const char *LLVMOrcLLJITGetTripleString(LLVMOrcLLJITRef J);
+LLVM_C_ABI const char *LLVMOrcLLJITGetTripleString(LLVMOrcLLJITRef J);
/**
* Returns the global prefix character according to the LLJIT's DataLayout.
*/
-char LLVMOrcLLJITGetGlobalPrefix(LLVMOrcLLJITRef J);
+LLVM_C_ABI char LLVMOrcLLJITGetGlobalPrefix(LLVMOrcLLJITRef J);
/**
* Mangles the given string according to the LLJIT instance's DataLayout, then
@@ -155,7 +156,7 @@ char LLVMOrcLLJITGetGlobalPrefix(LLVMOrcLLJITRef J);
* decrement the ref-count on the pool entry once they are finished with this
* value.
*/
-LLVMOrcSymbolStringPoolEntryRef
+LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef
LLVMOrcLLJITMangleAndIntern(LLVMOrcLLJITRef J, const char *UnmangledName);
/**
@@ -167,7 +168,7 @@ LLVMOrcLLJITMangleAndIntern(LLVMOrcLLJITRef J, const char *UnmangledName);
* Resources associated with the given object will be tracked by the given
* JITDylib's default resource tracker.
*/
-LLVMErrorRef LLVMOrcLLJITAddObjectFile(LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD,
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFile(LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD,
LLVMMemoryBufferRef ObjBuffer);
/**
@@ -179,7 +180,7 @@ LLVMErrorRef LLVMOrcLLJITAddObjectFile(LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD,
* Resources associated with the given object will be tracked by ResourceTracker
* RT.
*/
-LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J,
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J,
LLVMOrcResourceTrackerRef RT,
LLVMMemoryBufferRef ObjBuffer);
@@ -192,7 +193,7 @@ LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J,
* Resources associated with the given Module will be tracked by the given
* JITDylib's default resource tracker.
*/
-LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(LLVMOrcLLJITRef J,
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(LLVMOrcLLJITRef J,
LLVMOrcJITDylibRef JD,
LLVMOrcThreadSafeModuleRef TSM);
@@ -205,7 +206,7 @@ LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(LLVMOrcLLJITRef J,
* Resources associated with the given Module will be tracked by ResourceTracker
* RT.
*/
-LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(LLVMOrcLLJITRef J,
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(LLVMOrcLLJITRef J,
LLVMOrcResourceTrackerRef JD,
LLVMOrcThreadSafeModuleRef TSM);
@@ -214,25 +215,25 @@ LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(LLVMOrcLLJITRef J,
*
* This operation does not take ownership of the Name argument.
*/
-LLVMErrorRef LLVMOrcLLJITLookup(LLVMOrcLLJITRef J,
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITLookup(LLVMOrcLLJITRef J,
LLVMOrcExecutorAddress *Result,
const char *Name);
/**
* Returns a non-owning reference to the LLJIT instance's object linking layer.
*/
-LLVMOrcObjectLayerRef LLVMOrcLLJITGetObjLinkingLayer(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcObjectLayerRef LLVMOrcLLJITGetObjLinkingLayer(LLVMOrcLLJITRef J);
/**
* Returns a non-owning reference to the LLJIT instance's object linking layer.
*/
-LLVMOrcObjectTransformLayerRef
+LLVM_C_ABI LLVMOrcObjectTransformLayerRef
LLVMOrcLLJITGetObjTransformLayer(LLVMOrcLLJITRef J);
/**
* Returns a non-owning reference to the LLJIT instance's IR transform layer.
*/
-LLVMOrcIRTransformLayerRef LLVMOrcLLJITGetIRTransformLayer(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcIRTransformLayerRef LLVMOrcLLJITGetIRTransformLayer(LLVMOrcLLJITRef J);
/**
* Get the LLJIT instance's default data layout string.
@@ -240,7 +241,7 @@ LLVMOrcIRTransformLayerRef LLVMOrcLLJITGetIRTransformLayer(LLVMOrcLLJITRef J);
* This string is owned by the LLJIT instance and does not need to be freed
* by the caller.
*/
-const char *LLVMOrcLLJITGetDataLayoutStr(LLVMOrcLLJITRef J);
+LLVM_C_ABI const char *LLVMOrcLLJITGetDataLayoutStr(LLVMOrcLLJITRef J);
/**
* @}
diff --git a/llvm/include/llvm-c/LLJITUtils.h b/llvm/include/llvm-c/LLJITUtils.h
index 940097432b78f..c069464fe67ee 100644
--- a/llvm/include/llvm-c/LLJITUtils.h
+++ b/llvm/include/llvm-c/LLJITUtils.h
@@ -26,6 +26,7 @@
#ifndef LLVM_C_LLJITUTILS_H
#define LLVM_C_LLJITUTILS_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/LLJIT.h"
LLVM_C_EXTERN_C_BEGIN
@@ -41,7 +42,7 @@ LLVM_C_EXTERN_C_BEGIN
* Install the plugin that submits debug objects to the executor. Executors must
* expose the llvm_orc_registerJITLoaderGDBWrapper symbol.
*/
-LLVMErrorRef LLVMOrcLLJITEnableDebugSupport(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITEnableDebugSupport(LLVMOrcLLJITRef J);
/**
* @}
diff --git a/llvm/include/llvm-c/Linker.h b/llvm/include/llvm-c/Linker.h
index acff5d5e22253..2b306c12aafa7 100644
--- a/llvm/include/llvm-c/Linker.h
+++ b/llvm/include/llvm-c/Linker.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_LINKER_H
#define LLVM_C_LINKER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -38,7 +39,7 @@ typedef enum {
* The return value is true if an error occurred, false otherwise.
* Use the diagnostic handler to get any diagnostic message.
*/
-LLVMBool LLVMLinkModules2(LLVMModuleRef Dest, LLVMModuleRef Src);
+LLVM_C_ABI LLVMBool LLVMLinkModules2(LLVMModuleRef Dest, LLVMModuleRef Src);
LLVM_C_EXTERN_C_END
diff --git a/llvm/include/llvm-c/Object.h b/llvm/include/llvm-c/Object.h
index f422c1ad224d2..a69fedbb6e1c8 100644
--- a/llvm/include/llvm-c/Object.h
+++ b/llvm/include/llvm-c/Object.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_OBJECT_H
#define LLVM_C_OBJECT_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#include "llvm/Config/llvm-config.h"
@@ -73,7 +74,7 @@ typedef enum {
*
* @see llvm::object::createBinary
*/
-LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf,
+LLVM_C_ABI LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf,
LLVMContextRef Context,
char **ErrorMessage);
@@ -83,7 +84,7 @@ LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf,
* The binary file does not own its backing buffer. It is the responsibilty
* of the caller to free it with \c LLVMDisposeMemoryBuffer.
*/
-void LLVMDisposeBinary(LLVMBinaryRef BR);
+LLVM_C_ABI void LLVMDisposeBinary(LLVMBinaryRef BR);
/**
* Retrieves a copy of the memory buffer associated with this object file.
@@ -94,14 +95,14 @@ void LLVMDisposeBinary(LLVMBinaryRef BR);
*
* @see llvm::object::getMemoryBufferRef
*/
-LLVMMemoryBufferRef LLVMBinaryCopyMemoryBuffer(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMMemoryBufferRef LLVMBinaryCopyMemoryBuffer(LLVMBinaryRef BR);
/**
* Retrieve the specific type of a binary.
*
* @see llvm::object::Binary::getType
*/
-LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR);
/*
* For a Mach-O universal binary file, retrieves the object file corresponding
@@ -114,7 +115,7 @@ LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR);
* It is the responsiblity of the caller to free the returned object file by
* calling \c LLVMDisposeBinary.
*/
-LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR,
+LLVM_C_ABI LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR,
const char *Arch,
size_t ArchLen,
char **ErrorMessage);
@@ -130,14 +131,14 @@ LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR,
*
* @see llvm::object::sections()
*/
-LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR);
/**
* Returns whether the given section iterator is at the end.
*
* @see llvm::object::section_end
*/
-LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR,
+LLVM_C_ABI LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR,
LLVMSectionIteratorRef SI);
/**
@@ -151,77 +152,77 @@ LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR,
*
* @see llvm::object::symbols()
*/
-LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR);
/**
* Returns whether the given symbol iterator is at the end.
*
* @see llvm::object::symbol_end
*/
-LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR,
+LLVM_C_ABI LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR,
LLVMSymbolIteratorRef SI);
-void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI);
+LLVM_C_ABI void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI);
-void LLVMMoveToNextSection(LLVMSectionIteratorRef SI);
-void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect,
+LLVM_C_ABI void LLVMMoveToNextSection(LLVMSectionIteratorRef SI);
+LLVM_C_ABI void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect,
LLVMSymbolIteratorRef Sym);
// ObjectFile Symbol iterators
-void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI);
-void LLVMMoveToNextSymbol(LLVMSymbolIteratorRef SI);
+LLVM_C_ABI void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI);
+LLVM_C_ABI void LLVMMoveToNextSymbol(LLVMSymbolIteratorRef SI);
// SectionRef accessors
-const char *LLVMGetSectionName(LLVMSectionIteratorRef SI);
-uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI);
-const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI);
-uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI);
-LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI,
+LLVM_C_ABI const char *LLVMGetSectionName(LLVMSectionIteratorRef SI);
+LLVM_C_ABI uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI);
+LLVM_C_ABI const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI);
+LLVM_C_ABI uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI);
+LLVM_C_ABI LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI,
LLVMSymbolIteratorRef Sym);
// Section Relocation iterators
-LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section);
-void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef RI);
-LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section,
+LLVM_C_ABI LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section);
+LLVM_C_ABI void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section,
LLVMRelocationIteratorRef RI);
-void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef RI);
// SymbolRef accessors
-const char *LLVMGetSymbolName(LLVMSymbolIteratorRef SI);
-uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI);
-uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI);
+LLVM_C_ABI const char *LLVMGetSymbolName(LLVMSymbolIteratorRef SI);
+LLVM_C_ABI uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI);
+LLVM_C_ABI uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI);
// RelocationRef accessors
-uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI);
-LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI);
-uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI);
// NOTE: Caller takes ownership of returned string of the two
// following functions.
-const char *LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI);
-const char *LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI const char *LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI const char *LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI);
/** Deprecated: Use LLVMBinaryRef instead. */
typedef struct LLVMOpaqueObjectFile *LLVMObjectFileRef;
/** Deprecated: Use LLVMCreateBinary instead. */
-LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf);
+LLVM_C_ABI LLVMObjectFileRef LLVMCreateObjectFile(LLVMMemoryBufferRef MemBuf);
/** Deprecated: Use LLVMDisposeBinary instead. */
-void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile);
+LLVM_C_ABI void LLVMDisposeObjectFile(LLVMObjectFileRef ObjectFile);
/** Deprecated: Use LLVMObjectFileCopySectionIterator instead. */
-LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile);
+LLVM_C_ABI LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile);
/** Deprecated: Use LLVMObjectFileIsSectionIteratorAtEnd instead. */
-LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile,
+LLVM_C_ABI LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile,
LLVMSectionIteratorRef SI);
/** Deprecated: Use LLVMObjectFileCopySymbolIterator instead. */
-LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile);
+LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile);
/** Deprecated: Use LLVMObjectFileIsSymbolIteratorAtEnd instead. */
-LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile,
+LLVM_C_ABI LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile,
LLVMSymbolIteratorRef SI);
/**
* @}
diff --git a/llvm/include/llvm-c/Orc.h b/llvm/include/llvm-c/Orc.h
index 743ba1d581782..2a01e4f1e406c 100644
--- a/llvm/include/llvm-c/Orc.h
+++ b/llvm/include/llvm-c/Orc.h
@@ -27,6 +27,7 @@
#ifndef LLVM_C_ORC_H
#define LLVM_C_ORC_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
@@ -488,7 +489,7 @@ typedef struct LLVMOrcOpaqueDumpObjects *LLVMOrcDumpObjectsRef;
* requesting definitions from the JIT will typically be delivered a
* FailureToMaterialize error instead).
*/
-void LLVMOrcExecutionSessionSetErrorReporter(
+LLVM_C_ABI void LLVMOrcExecutionSessionSetErrorReporter(
LLVMOrcExecutionSessionRef ES, LLVMOrcErrorReporterFunction ReportError,
void *Ctx);
@@ -498,7 +499,7 @@ void LLVMOrcExecutionSessionSetErrorReporter(
* Ownership of the pool remains with the ExecutionSession: The caller is
* not required to free the pool.
*/
-LLVMOrcSymbolStringPoolRef
+LLVM_C_ABI LLVMOrcSymbolStringPoolRef
LLVMOrcExecutionSessionGetSymbolStringPool(LLVMOrcExecutionSessionRef ES);
/**
@@ -511,7 +512,7 @@ LLVMOrcExecutionSessionGetSymbolStringPool(LLVMOrcExecutionSessionRef ES);
* entries will have become unreferenced, e.g. after removing a module or
* closing a JITDylib.
*/
-void LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP);
+LLVM_C_ABI void LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP);
/**
* Intern a string in the ExecutionSession's SymbolStringPool and return a
@@ -525,7 +526,7 @@ void LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP);
*
* Note that this function does not perform linker-mangling on the string.
*/
-LLVMOrcSymbolStringPoolEntryRef
+LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef
LLVMOrcExecutionSessionIntern(LLVMOrcExecutionSessionRef ES, const char *Name);
/**
@@ -574,7 +575,7 @@ typedef void (*LLVMOrcExecutionSessionLookupHandleResultFunction)(
*
* THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
*/
-void LLVMOrcExecutionSessionLookup(
+LLVM_C_ABI void LLVMOrcExecutionSessionLookup(
LLVMOrcExecutionSessionRef ES, LLVMOrcLookupKind K,
LLVMOrcCJITDylibSearchOrder SearchOrder, size_t SearchOrderSize,
LLVMOrcCLookupSet Symbols, size_t SymbolsSize,
@@ -583,49 +584,49 @@ void LLVMOrcExecutionSessionLookup(
/**
* Increments the ref-count for a SymbolStringPool entry.
*/
-void LLVMOrcRetainSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI void LLVMOrcRetainSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Reduces the ref-count for of a SymbolStringPool entry.
*/
-void LLVMOrcReleaseSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI void LLVMOrcReleaseSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Return the c-string for the given symbol. This string will remain valid until
* the entry is freed (once all LLVMOrcSymbolStringPoolEntryRefs have been
* released).
*/
-const char *LLVMOrcSymbolStringPoolEntryStr(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI const char *LLVMOrcSymbolStringPoolEntryStr(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Reduces the ref-count of a ResourceTracker.
*/
-void LLVMOrcReleaseResourceTracker(LLVMOrcResourceTrackerRef RT);
+LLVM_C_ABI void LLVMOrcReleaseResourceTracker(LLVMOrcResourceTrackerRef RT);
/**
* Transfers tracking of all resources associated with resource tracker SrcRT
* to resource tracker DstRT.
*/
-void LLVMOrcResourceTrackerTransferTo(LLVMOrcResourceTrackerRef SrcRT,
+LLVM_C_ABI void LLVMOrcResourceTrackerTransferTo(LLVMOrcResourceTrackerRef SrcRT,
LLVMOrcResourceTrackerRef DstRT);
/**
* Remove all resources associated with the given tracker. See
* ResourceTracker::remove().
*/
-LLVMErrorRef LLVMOrcResourceTrackerRemove(LLVMOrcResourceTrackerRef RT);
+LLVM_C_ABI LLVMErrorRef LLVMOrcResourceTrackerRemove(LLVMOrcResourceTrackerRef RT);
/**
* Dispose of a JITDylib::DefinitionGenerator. This should only be called if
* ownership has not been passed to a JITDylib (e.g. because some error
* prevented the client from calling LLVMOrcJITDylibAddGenerator).
*/
-void LLVMOrcDisposeDefinitionGenerator(LLVMOrcDefinitionGeneratorRef DG);
+LLVM_C_ABI void LLVMOrcDisposeDefinitionGenerator(LLVMOrcDefinitionGeneratorRef DG);
/**
* Dispose of a MaterializationUnit.
*/
-void LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU);
+LLVM_C_ABI void LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU);
/**
* Create a custom MaterializationUnit.
@@ -660,7 +661,7 @@ void LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU);
* either passing it to a JITDylib (via LLVMOrcJITDylibDefine) or disposing
* of it by calling LLVMOrcDisposeMaterializationUnit.
*/
-LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit(
+LLVM_C_ABI LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit(
const char *Name, void *Ctx, LLVMOrcCSymbolFlagsMapPairs Syms,
size_t NumSyms, LLVMOrcSymbolStringPoolEntryRef InitSym,
LLVMOrcMaterializationUnitMaterializeFunction Materialize,
@@ -688,7 +689,7 @@ LLVMOrcMaterializationUnitRef LLVMOrcCreateCustomMaterializationUnit(
* If a client wishes to reuse elements of the Sym array after this call they
* must explicitly retain each of the elements for themselves.
*/
-LLVMOrcMaterializationUnitRef
+LLVM_C_ABI LLVMOrcMaterializationUnitRef
LLVMOrcAbsoluteSymbols(LLVMOrcCSymbolMapPairs Syms, size_t NumPairs);
/**
@@ -712,7 +713,7 @@ LLVMOrcAbsoluteSymbols(LLVMOrcCSymbolMapPairs Syms, size_t NumPairs);
* If a client wishes to reuse elements of the CallableAliases array after this call they
* must explicitly retain each of the elements for themselves.
*/
-LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports(
+LLVM_C_ABI LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports(
LLVMOrcLazyCallThroughManagerRef LCTM, LLVMOrcIndirectStubsManagerRef ISM,
LLVMOrcJITDylibRef SourceRef, LLVMOrcCSymbolAliasMapPairs CallableAliases,
size_t NumPairs);
@@ -727,19 +728,19 @@ LLVMOrcMaterializationUnitRef LLVMOrcLazyReexports(
* LLVMOrcMaterializationResponsibilityNotifyEmitted) or failed (via
* LLVMOrcMaterializationResponsibilityFailMaterialization).
*/
-void LLVMOrcDisposeMaterializationResponsibility(
+LLVM_C_ABI void LLVMOrcDisposeMaterializationResponsibility(
LLVMOrcMaterializationResponsibilityRef MR);
/**
* Returns the target JITDylib that these symbols are being materialized into.
*/
-LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib(
+LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib(
LLVMOrcMaterializationResponsibilityRef MR);
/**
* Returns the ExecutionSession for this MaterializationResponsibility.
*/
-LLVMOrcExecutionSessionRef
+LLVM_C_ABI LLVMOrcExecutionSessionRef
LLVMOrcMaterializationResponsibilityGetExecutionSession(
LLVMOrcMaterializationResponsibilityRef MR);
@@ -753,7 +754,7 @@ LLVMOrcMaterializationResponsibilityGetExecutionSession(
* MaterializationResponsibility requires the caller to retain the symbols
* explicitly.
*/
-LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols(
+LLVM_C_ABI LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols(
LLVMOrcMaterializationResponsibilityRef MR, size_t *NumPairs);
/**
@@ -761,7 +762,7 @@ LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols(
*
* Does not release the entries themselves.
*/
-void LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs);
+LLVM_C_ABI void LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs);
/**
* Returns the initialization pseudo-symbol, if any. This symbol will also
@@ -771,7 +772,7 @@ void LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs);
* The returned symbol is not retained over any mutating operation of the
* MaterializationResponsbility or beyond the lifetime thereof.
*/
-LLVMOrcSymbolStringPoolEntryRef
+LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef
LLVMOrcMaterializationResponsibilityGetInitializerSymbol(
LLVMOrcMaterializationResponsibilityRef MR);
@@ -781,7 +782,7 @@ LLVMOrcMaterializationResponsibilityGetInitializerSymbol(
* information can be used to return responsibility for unrequested symbols
* back to the JITDylib via the delegate method.
*/
-LLVMOrcSymbolStringPoolEntryRef *
+LLVM_C_ABI LLVMOrcSymbolStringPoolEntryRef *
LLVMOrcMaterializationResponsibilityGetRequestedSymbols(
LLVMOrcMaterializationResponsibilityRef MR, size_t *NumSymbols);
@@ -790,7 +791,7 @@ LLVMOrcMaterializationResponsibilityGetRequestedSymbols(
*
* Does not release the symbols themselves.
*/
-void LLVMOrcDisposeSymbols(LLVMOrcSymbolStringPoolEntryRef *Symbols);
+LLVM_C_ABI void LLVMOrcDisposeSymbols(LLVMOrcSymbolStringPoolEntryRef *Symbols);
/**
* Notifies the target JITDylib that the given symbols have been resolved.
@@ -808,7 +809,7 @@ void LLVMOrcDisposeSymbols(LLVMOrcSymbolStringPoolEntryRef *Symbols);
* MaterializationResponsibility then this method is guaranteed to return
* LLVMErrorSuccess.
*/
-LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved(
+LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved(
LLVMOrcMaterializationResponsibilityRef MR, LLVMOrcCSymbolMapPairs Symbols,
size_t NumPairs);
@@ -838,7 +839,7 @@ LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyResolved(
* MaterializationResponsibility then this method is guaranteed to return
* LLVMErrorSuccess.
*/
-LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted(
+LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted(
LLVMOrcMaterializationResponsibilityRef MR,
LLVMOrcCSymbolDependenceGroup *SymbolDepGroups, size_t NumSymbolDepGroups);
@@ -855,7 +856,7 @@ LLVMErrorRef LLVMOrcMaterializationResponsibilityNotifyEmitted(
* additional symbols at materialization time (e.g. stubs, compile
* callbacks, metadata)
*/
-LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing(
+LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing(
LLVMOrcMaterializationResponsibilityRef MR,
LLVMOrcCSymbolFlagsMapPairs Pairs, size_t NumPairs);
@@ -866,7 +867,7 @@ LLVMErrorRef LLVMOrcMaterializationResponsibilityDefineMaterializing(
* from the target JITDylib, and send an error to any queries waiting on
* these symbols.
*/
-void LLVMOrcMaterializationResponsibilityFailMaterialization(
+LLVM_C_ABI void LLVMOrcMaterializationResponsibilityFailMaterialization(
LLVMOrcMaterializationResponsibilityRef MR);
/**
@@ -876,7 +877,7 @@ void LLVMOrcMaterializationResponsibilityFailMaterialization(
* by introspecting which symbols have actually been looked up and
* materializing only those).
*/
-LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace(
+LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace(
LLVMOrcMaterializationResponsibilityRef MR,
LLVMOrcMaterializationUnitRef MU);
@@ -888,7 +889,7 @@ LLVMErrorRef LLVMOrcMaterializationResponsibilityReplace(
* The caller retains responsibility of the the passed
* MaterializationResponsibility.
*/
-LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate(
+LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate(
LLVMOrcMaterializationResponsibilityRef MR,
LLVMOrcSymbolStringPoolEntryRef *Symbols, size_t NumSymbols,
LLVMOrcMaterializationResponsibilityRef *Result);
@@ -902,7 +903,7 @@ LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate(
* This call does not install any library code or symbols into the newly
* created JITDylib. The client is responsible for all configuration.
*/
-LLVMOrcJITDylibRef
+LLVM_C_ABI LLVMOrcJITDylibRef
LLVMOrcExecutionSessionCreateBareJITDylib(LLVMOrcExecutionSessionRef ES,
const char *Name);
@@ -918,7 +919,7 @@ LLVMOrcExecutionSessionCreateBareJITDylib(LLVMOrcExecutionSessionRef ES,
* call is equivalent to LLVMExecutionSessionRefCreateBareJITDylib and will
* always return success.
*/
-LLVMErrorRef
+LLVM_C_ABI LLVMErrorRef
LLVMOrcExecutionSessionCreateJITDylib(LLVMOrcExecutionSessionRef ES,
LLVMOrcJITDylibRef *Result,
const char *Name);
@@ -927,7 +928,7 @@ LLVMOrcExecutionSessionCreateJITDylib(LLVMOrcExecutionSessionRef ES,
* Returns the JITDylib with the given name, or NULL if no such JITDylib
* exists.
*/
-LLVMOrcJITDylibRef
+LLVM_C_ABI LLVMOrcJITDylibRef
LLVMOrcExecutionSessionGetJITDylibByName(LLVMOrcExecutionSessionRef ES,
const char *Name);
@@ -936,7 +937,7 @@ LLVMOrcExecutionSessionGetJITDylibByName(LLVMOrcExecutionSessionRef ES,
* The tracker is returned with an initial ref-count of 1, and must be released
* with LLVMOrcReleaseResourceTracker when no longer needed.
*/
-LLVMOrcResourceTrackerRef
+LLVM_C_ABI LLVMOrcResourceTrackerRef
LLVMOrcJITDylibCreateResourceTracker(LLVMOrcJITDylibRef JD);
/**
@@ -944,7 +945,7 @@ LLVMOrcJITDylibCreateResourceTracker(LLVMOrcJITDylibRef JD);
* This operation will increase the retain count of the tracker: Clients should
* call LLVMOrcReleaseResourceTracker when the result is no longer needed.
*/
-LLVMOrcResourceTrackerRef
+LLVM_C_ABI LLVMOrcResourceTrackerRef
LLVMOrcJITDylibGetDefaultResourceTracker(LLVMOrcJITDylibRef JD);
/**
@@ -954,14 +955,14 @@ LLVMOrcJITDylibGetDefaultResourceTracker(LLVMOrcJITDylibRef JD);
* If the operation fails then ownership remains with the caller who should
* call LLVMOrcDisposeMaterializationUnit to destroy it.
*/
-LLVMErrorRef LLVMOrcJITDylibDefine(LLVMOrcJITDylibRef JD,
+LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibDefine(LLVMOrcJITDylibRef JD,
LLVMOrcMaterializationUnitRef MU);
/**
* Calls remove on all trackers associated with this JITDylib, see
* JITDylib::clear().
*/
-LLVMErrorRef LLVMOrcJITDylibClear(LLVMOrcJITDylibRef JD);
+LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibClear(LLVMOrcJITDylibRef JD);
/**
* Add a DefinitionGenerator to the given JITDylib.
@@ -969,7 +970,7 @@ LLVMErrorRef LLVMOrcJITDylibClear(LLVMOrcJITDylibRef JD);
* The JITDylib will take ownership of the given generator: The client is no
* longer responsible for managing its memory.
*/
-void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD,
+LLVM_C_ABI void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD,
LLVMOrcDefinitionGeneratorRef DG);
/**
@@ -985,7 +986,7 @@ void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD,
* Dispose is the disposal function for Ctx. This argument is permitted to be
* null (in which case the client is responsible for the lifetime of Ctx).
*/
-LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator(
+LLVM_C_ABI LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator(
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction F, void *Ctx,
LLVMOrcDisposeCAPIDefinitionGeneratorFunction Dispose);
@@ -993,7 +994,7 @@ LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator(
* Continue a lookup that was suspended in a generator (see
* LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).
*/
-void LLVMOrcLookupStateContinueLookup(LLVMOrcLookupStateRef S,
+LLVM_C_ABI void LLVMOrcLookupStateContinueLookup(LLVMOrcLookupStateRef S,
LLVMErrorRef Err);
/**
@@ -1014,7 +1015,7 @@ void LLVMOrcLookupStateContinueLookup(LLVMOrcLookupStateRef S,
* function is the full mangled symbol: The client is responsible for stripping
* the global prefix if present.
*/
-LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
+LLVM_C_ABI LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
LLVMOrcDefinitionGeneratorRef *Result, char GlobalPrefx,
LLVMOrcSymbolPredicate Filter, void *FilterCtx);
@@ -1039,7 +1040,7 @@ LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForProcess(
* THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
*
*/
-LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
+LLVM_C_ABI LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
LLVMOrcDefinitionGeneratorRef *Result, const char *FileName,
char GlobalPrefix, LLVMOrcSymbolPredicate Filter, void *FilterCtx);
@@ -1057,7 +1058,7 @@ LLVMErrorRef LLVMOrcCreateDynamicLibrarySearchGeneratorForPath(
* THIS API IS EXPERIMENTAL AND LIKELY TO CHANGE IN THE NEAR FUTURE!
*
*/
-LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
+LLVM_C_ABI LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
LLVMOrcDefinitionGeneratorRef *Result, LLVMOrcObjectLayerRef ObjLayer,
const char *FileName);
@@ -1069,18 +1070,18 @@ LLVMErrorRef LLVMOrcCreateStaticLibrarySearchGeneratorForPath(
* need to refer to it directly. Other references (e.g. from ThreadSafeModules)
* will keep the data alive as long as it is needed.
*/
-LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContext(void);
+LLVM_C_ABI LLVMOrcThreadSafeContextRef LLVMOrcCreateNewThreadSafeContext(void);
/**
* Get a reference to the wrapped LLVMContext.
*/
-LLVMContextRef
+LLVM_C_ABI LLVMContextRef
LLVMOrcThreadSafeContextGetContext(LLVMOrcThreadSafeContextRef TSCtx);
/**
* Dispose of a ThreadSafeContext.
*/
-void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx);
+LLVM_C_ABI void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx);
/**
* Create a ThreadSafeModule wrapper around the given LLVM module. This takes
@@ -1092,7 +1093,7 @@ void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx);
* responsible for it. If it is not transferred to the JIT then the client
* should call LLVMOrcDisposeThreadSafeModule to dispose of it.
*/
-LLVMOrcThreadSafeModuleRef
+LLVM_C_ABI LLVMOrcThreadSafeModuleRef
LLVMOrcCreateNewThreadSafeModule(LLVMModuleRef M,
LLVMOrcThreadSafeContextRef TSCtx);
@@ -1101,12 +1102,12 @@ LLVMOrcCreateNewThreadSafeModule(LLVMModuleRef M,
* not been passed to LLJIT (e.g. because some error prevented the client from
* adding this to the JIT).
*/
-void LLVMOrcDisposeThreadSafeModule(LLVMOrcThreadSafeModuleRef TSM);
+LLVM_C_ABI void LLVMOrcDisposeThreadSafeModule(LLVMOrcThreadSafeModuleRef TSM);
/**
* Apply the given function to the module contained in this ThreadSafeModule.
*/
-LLVMErrorRef
+LLVM_C_ABI LLVMErrorRef
LLVMOrcThreadSafeModuleWithModuleDo(LLVMOrcThreadSafeModuleRef TSM,
LLVMOrcGenericIRModuleOperationFunction F,
void *Ctx);
@@ -1119,7 +1120,7 @@ LLVMOrcThreadSafeModuleWithModuleDo(LLVMOrcThreadSafeModuleRef TSM,
* LLVMOrcLLJITBuilderSetJITTargetMachineBuilder) or disposed of by calling
* LLVMOrcDisposeJITTargetMachineBuilder.
*/
-LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost(
+LLVM_C_ABI LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost(
LLVMOrcJITTargetMachineBuilderRef *Result);
/**
@@ -1131,13 +1132,13 @@ LLVMErrorRef LLVMOrcJITTargetMachineBuilderDetectHost(
* LLVMOrcLLJITBuilderSetJITTargetMachineBuilder) or disposed of by calling
* LLVMOrcDisposeJITTargetMachineBuilder.
*/
-LLVMOrcJITTargetMachineBuilderRef
+LLVM_C_ABI LLVMOrcJITTargetMachineBuilderRef
LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(LLVMTargetMachineRef TM);
/**
* Dispose of a JITTargetMachineBuilder.
*/
-void LLVMOrcDisposeJITTargetMachineBuilder(
+LLVM_C_ABI void LLVMOrcDisposeJITTargetMachineBuilder(
LLVMOrcJITTargetMachineBuilderRef JTMB);
/**
@@ -1146,14 +1147,14 @@ void LLVMOrcDisposeJITTargetMachineBuilder(
* The caller owns the resulting string as must dispose of it by calling
* LLVMDisposeMessage
*/
-char *LLVMOrcJITTargetMachineBuilderGetTargetTriple(
+LLVM_C_ABI char *LLVMOrcJITTargetMachineBuilderGetTargetTriple(
LLVMOrcJITTargetMachineBuilderRef JTMB);
/**
* Sets the target triple for the given JITTargetMachineBuilder to the given
* string.
*/
-void LLVMOrcJITTargetMachineBuilderSetTargetTriple(
+LLVM_C_ABI void LLVMOrcJITTargetMachineBuilderSetTargetTriple(
LLVMOrcJITTargetMachineBuilderRef JTMB, const char *TargetTriple);
/**
@@ -1167,7 +1168,7 @@ void LLVMOrcJITTargetMachineBuilderSetTargetTriple(
* Resources associated with the given object will be tracked by the given
* JITDylib's default ResourceTracker.
*/
-LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef ObjLayer,
+LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef ObjLayer,
LLVMOrcJITDylibRef JD,
LLVMMemoryBufferRef ObjBuffer);
@@ -1182,7 +1183,7 @@ LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef ObjLayer,
* Resources associated with the given object will be tracked by
* ResourceTracker RT.
*/
-LLVMErrorRef
+LLVM_C_ABI LLVMErrorRef
LLVMOrcObjectLayerAddObjectFileWithRT(LLVMOrcObjectLayerRef ObjLayer,
LLVMOrcResourceTrackerRef RT,
LLVMMemoryBufferRef ObjBuffer);
@@ -1193,16 +1194,16 @@ LLVMOrcObjectLayerAddObjectFileWithRT(LLVMOrcObjectLayerRef ObjLayer,
* Ownership of the responsibility object and object buffer pass to this
* function. The client is not responsible for cleanup.
*/
-void LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer,
+LLVM_C_ABI void LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer,
LLVMOrcMaterializationResponsibilityRef R,
LLVMMemoryBufferRef ObjBuffer);
/**
* Dispose of an ObjectLayer.
*/
-void LLVMOrcDisposeObjectLayer(LLVMOrcObjectLayerRef ObjLayer);
+LLVM_C_ABI void LLVMOrcDisposeObjectLayer(LLVMOrcObjectLayerRef ObjLayer);
-void LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer,
+LLVM_C_ABI void LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer,
LLVMOrcMaterializationResponsibilityRef MR,
LLVMOrcThreadSafeModuleRef TSM);
@@ -1210,14 +1211,14 @@ void LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer,
* Set the transform function of the provided transform layer, passing through a
* pointer to user provided context.
*/
-void LLVMOrcIRTransformLayerSetTransform(
+LLVM_C_ABI void LLVMOrcIRTransformLayerSetTransform(
LLVMOrcIRTransformLayerRef IRTransformLayer,
LLVMOrcIRTransformLayerTransformFunction TransformFunction, void *Ctx);
/**
* Set the transform function on an LLVMOrcObjectTransformLayer.
*/
-void LLVMOrcObjectTransformLayerSetTransform(
+LLVM_C_ABI void LLVMOrcObjectTransformLayerSetTransform(
LLVMOrcObjectTransformLayerRef ObjTransformLayer,
LLVMOrcObjectTransformLayerTransformFunction TransformFunction, void *Ctx);
@@ -1227,15 +1228,15 @@ void LLVMOrcObjectTransformLayerSetTransform(
* The resulting IndirectStubsManager is owned by the client
* and must be disposed of by calling LLVMOrcDisposeDisposeIndirectStubsManager.
*/
-LLVMOrcIndirectStubsManagerRef
+LLVM_C_ABI LLVMOrcIndirectStubsManagerRef
LLVMOrcCreateLocalIndirectStubsManager(const char *TargetTriple);
/**
* Dispose of an IndirectStubsManager.
*/
-void LLVMOrcDisposeIndirectStubsManager(LLVMOrcIndirectStubsManagerRef ISM);
+LLVM_C_ABI void LLVMOrcDisposeIndirectStubsManager(LLVMOrcIndirectStubsManagerRef ISM);
-LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(
+LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(
const char *TargetTriple, LLVMOrcExecutionSessionRef ES,
LLVMOrcJITTargetAddress ErrorHandlerAddr,
LLVMOrcLazyCallThroughManagerRef *LCTM);
@@ -1243,7 +1244,7 @@ LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(
/**
* Dispose of an LazyCallThroughManager.
*/
-void LLVMOrcDisposeLazyCallThroughManager(
+LLVM_C_ABI void LLVMOrcDisposeLazyCallThroughManager(
LLVMOrcLazyCallThroughManagerRef LCTM);
/**
@@ -1260,18 +1261,18 @@ void LLVMOrcDisposeLazyCallThroughManager(
* <ident>.2.o, <ident>.3.o, and so on). IdentifierOverride should not contain
* an extension, as a .o suffix will be added by DumpObjects.
*/
-LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects(const char *DumpDir,
+LLVM_C_ABI LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects(const char *DumpDir,
const char *IdentifierOverride);
/**
* Dispose of a DumpObjects instance.
*/
-void LLVMOrcDisposeDumpObjects(LLVMOrcDumpObjectsRef DumpObjects);
+LLVM_C_ABI void LLVMOrcDisposeDumpObjects(LLVMOrcDumpObjectsRef DumpObjects);
/**
* Dump the contents of the given MemoryBuffer.
*/
-LLVMErrorRef LLVMOrcDumpObjects_CallOperator(LLVMOrcDumpObjectsRef DumpObjects,
+LLVM_C_ABI LLVMErrorRef LLVMOrcDumpObjects_CallOperator(LLVMOrcDumpObjectsRef DumpObjects,
LLVMMemoryBufferRef *ObjBuffer);
/**
diff --git a/llvm/include/llvm-c/OrcEE.h b/llvm/include/llvm-c/OrcEE.h
index d451187aaef59..4617a185a6d5f 100644
--- a/llvm/include/llvm-c/OrcEE.h
+++ b/llvm/include/llvm-c/OrcEE.h
@@ -24,6 +24,7 @@
#ifndef LLVM_C_ORCEE_H
#define LLVM_C_ORCEE_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/ExecutionEngine.h"
#include "llvm-c/Orc.h"
@@ -46,7 +47,7 @@ typedef void (*LLVMMemoryManagerNotifyTerminatingCallback)(void *CtxCtx);
* Create a RTDyldObjectLinkingLayer instance using the standard
* SectionMemoryManager for memory management.
*/
-LLVMOrcObjectLayerRef
+LLVM_C_ABI LLVMOrcObjectLayerRef
LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager(
LLVMOrcExecutionSessionRef ES);
@@ -74,7 +75,7 @@ LLVMOrcCreateRTDyldObjectLinkingLayerWithSectionMemoryManager(
* This scheme simply reuses the CreateContextCtx pointer as the one-and-only
* allocation context.
*/
-LLVMOrcObjectLayerRef
+LLVM_C_ABI LLVMOrcObjectLayerRef
LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(
LLVMOrcExecutionSessionRef ES, void *CreateContextCtx,
LLVMMemoryManagerCreateContextCallback CreateContext,
@@ -90,7 +91,7 @@ LLVMOrcCreateRTDyldObjectLinkingLayerWithMCJITMemoryManagerLikeCallbacks(
* Note: Layer must be an RTDyldObjectLinkingLayer instance or
* behavior is undefined.
*/
-void LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(
+LLVM_C_ABI void LLVMOrcRTDyldObjectLinkingLayerRegisterJITEventListener(
LLVMOrcObjectLayerRef RTDyldObjLinkingLayer,
LLVMJITEventListenerRef Listener);
diff --git a/llvm/include/llvm-c/Remarks.h b/llvm/include/llvm-c/Remarks.h
index ffe647a6554aa..401b5359bf59e 100644
--- a/llvm/include/llvm-c/Remarks.h
+++ b/llvm/include/llvm-c/Remarks.h
@@ -15,6 +15,7 @@
#ifndef LLVM_C_REMARKS_H
#define LLVM_C_REMARKS_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#ifdef __cplusplus
@@ -61,14 +62,14 @@ typedef struct LLVMRemarkOpaqueString *LLVMRemarkStringRef;
*
* \since REMARKS_API_VERSION=0
*/
-extern const char *LLVMRemarkStringGetData(LLVMRemarkStringRef String);
+LLVM_C_ABI extern const char *LLVMRemarkStringGetData(LLVMRemarkStringRef String);
/**
* Returns the size of the string.
*
* \since REMARKS_API_VERSION=0
*/
-extern uint32_t LLVMRemarkStringGetLen(LLVMRemarkStringRef String);
+LLVM_C_ABI extern uint32_t LLVMRemarkStringGetLen(LLVMRemarkStringRef String);
/**
* DebugLoc containing File, Line and Column.
@@ -82,7 +83,7 @@ typedef struct LLVMRemarkOpaqueDebugLoc *LLVMRemarkDebugLocRef;
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef
+LLVM_C_ABI extern LLVMRemarkStringRef
LLVMRemarkDebugLocGetSourceFilePath(LLVMRemarkDebugLocRef DL);
/**
@@ -90,14 +91,14 @@ LLVMRemarkDebugLocGetSourceFilePath(LLVMRemarkDebugLocRef DL);
*
* \since REMARKS_API_VERSION=0
*/
-extern uint32_t LLVMRemarkDebugLocGetSourceLine(LLVMRemarkDebugLocRef DL);
+LLVM_C_ABI extern uint32_t LLVMRemarkDebugLocGetSourceLine(LLVMRemarkDebugLocRef DL);
/**
* Return the column in the source file for a debug location.
*
* \since REMARKS_API_VERSION=0
*/
-extern uint32_t LLVMRemarkDebugLocGetSourceColumn(LLVMRemarkDebugLocRef DL);
+LLVM_C_ABI extern uint32_t LLVMRemarkDebugLocGetSourceColumn(LLVMRemarkDebugLocRef DL);
/**
* Element of the "Args" list. The key might give more information about what
@@ -114,14 +115,14 @@ typedef struct LLVMRemarkOpaqueArg *LLVMRemarkArgRef;
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef LLVMRemarkArgGetKey(LLVMRemarkArgRef Arg);
+LLVM_C_ABI extern LLVMRemarkStringRef LLVMRemarkArgGetKey(LLVMRemarkArgRef Arg);
/**
* Returns the value of an argument. This is a string that can contain newlines.
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg);
+LLVM_C_ABI extern LLVMRemarkStringRef LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg);
/**
* Returns the debug location that is attached to the value of this argument.
@@ -130,7 +131,7 @@ extern LLVMRemarkStringRef LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkDebugLocRef LLVMRemarkArgGetDebugLoc(LLVMRemarkArgRef Arg);
+LLVM_C_ABI extern LLVMRemarkDebugLocRef LLVMRemarkArgGetDebugLoc(LLVMRemarkArgRef Arg);
/**
* A remark emitted by the compiler.
@@ -144,7 +145,7 @@ typedef struct LLVMRemarkOpaqueEntry *LLVMRemarkEntryRef;
*
* \since REMARKS_API_VERSION=0
*/
-extern void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark);
/**
* The type of the remark. For example, it can allow users to only keep the
@@ -152,14 +153,14 @@ extern void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern enum LLVMRemarkType LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern enum LLVMRemarkType LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark);
/**
* Get the name of the pass that emitted this remark.
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef
+LLVM_C_ABI extern LLVMRemarkStringRef
LLVMRemarkEntryGetPassName(LLVMRemarkEntryRef Remark);
/**
@@ -167,7 +168,7 @@ LLVMRemarkEntryGetPassName(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef
+LLVM_C_ABI extern LLVMRemarkStringRef
LLVMRemarkEntryGetRemarkName(LLVMRemarkEntryRef Remark);
/**
@@ -175,7 +176,7 @@ LLVMRemarkEntryGetRemarkName(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkStringRef
+LLVM_C_ABI extern LLVMRemarkStringRef
LLVMRemarkEntryGetFunctionName(LLVMRemarkEntryRef Remark);
/**
@@ -185,7 +186,7 @@ LLVMRemarkEntryGetFunctionName(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkDebugLocRef
+LLVM_C_ABI extern LLVMRemarkDebugLocRef
LLVMRemarkEntryGetDebugLoc(LLVMRemarkEntryRef Remark);
/**
@@ -195,14 +196,14 @@ LLVMRemarkEntryGetDebugLoc(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern uint64_t LLVMRemarkEntryGetHotness(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern uint64_t LLVMRemarkEntryGetHotness(LLVMRemarkEntryRef Remark);
/**
* The number of arguments the remark holds.
*
* \since REMARKS_API_VERSION=0
*/
-extern uint32_t LLVMRemarkEntryGetNumArgs(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern uint32_t LLVMRemarkEntryGetNumArgs(LLVMRemarkEntryRef Remark);
/**
* Get a new iterator to iterate over a remark's argument.
@@ -213,7 +214,7 @@ extern uint32_t LLVMRemarkEntryGetNumArgs(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef Remark);
/**
* Get the next argument in \p Remark from the position of \p It.
@@ -224,7 +225,7 @@ extern LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkArgRef LLVMRemarkEntryGetNextArg(LLVMRemarkArgRef It,
+LLVM_C_ABI extern LLVMRemarkArgRef LLVMRemarkEntryGetNextArg(LLVMRemarkArgRef It,
LLVMRemarkEntryRef Remark);
typedef struct LLVMRemarkOpaqueParser *LLVMRemarkParserRef;
@@ -240,7 +241,7 @@ typedef struct LLVMRemarkOpaqueParser *LLVMRemarkParserRef;
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf,
+LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf,
uint64_t Size);
/**
@@ -254,7 +255,7 @@ extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf,
*
* \since REMARKS_API_VERSION=1
*/
-extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf,
+LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf,
uint64_t Size);
/**
@@ -299,14 +300,14 @@ extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf,
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMRemarkEntryRef LLVMRemarkParserGetNext(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern LLVMRemarkEntryRef LLVMRemarkParserGetNext(LLVMRemarkParserRef Parser);
/**
* Returns `1` if the parser encountered an error while parsing the buffer.
*
* \since REMARKS_API_VERSION=0
*/
-extern LLVMBool LLVMRemarkParserHasError(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern LLVMBool LLVMRemarkParserHasError(LLVMRemarkParserRef Parser);
/**
* Returns a null-terminated string containing an error message.
@@ -319,21 +320,21 @@ extern LLVMBool LLVMRemarkParserHasError(LLVMRemarkParserRef Parser);
*
* \since REMARKS_API_VERSION=0
*/
-extern const char *LLVMRemarkParserGetErrorMessage(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern const char *LLVMRemarkParserGetErrorMessage(LLVMRemarkParserRef Parser);
/**
* Releases all the resources used by \p Parser.
*
* \since REMARKS_API_VERSION=0
*/
-extern void LLVMRemarkParserDispose(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern void LLVMRemarkParserDispose(LLVMRemarkParserRef Parser);
/**
* Returns the version of the remarks library.
*
* \since REMARKS_API_VERSION=0
*/
-extern uint32_t LLVMRemarkVersion(void);
+LLVM_C_ABI extern uint32_t LLVMRemarkVersion(void);
/**
* @} // endgoup LLVMCREMARKS
diff --git a/llvm/include/llvm-c/Support.h b/llvm/include/llvm-c/Support.h
index 17657861b32b9..57761dcfd2e84 100644
--- a/llvm/include/llvm-c/Support.h
+++ b/llvm/include/llvm-c/Support.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_SUPPORT_H
#define LLVM_C_SUPPORT_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/DataTypes.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
@@ -32,7 +33,7 @@ LLVM_C_EXTERN_C_BEGIN
*
* @see sys::DynamicLibrary::LoadLibraryPermanently()
*/
-LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
+LLVM_C_ABI LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
/**
* This function parses the given arguments using the LLVM command line parser.
@@ -42,7 +43,7 @@ LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
*
* @see llvm::cl::ParseCommandLineOptions()
*/
-void LLVMParseCommandLineOptions(int argc, const char *const *argv,
+LLVM_C_ABI void LLVMParseCommandLineOptions(int argc, const char *const *argv,
const char *Overview);
/**
@@ -52,7 +53,7 @@ void LLVMParseCommandLineOptions(int argc, const char *const *argv,
*
* @see sys::DynamicLibrary::SearchForAddressOfSymbol()
*/
-void *LLVMSearchForAddressOfSymbol(const char *symbolName);
+LLVM_C_ABI void *LLVMSearchForAddressOfSymbol(const char *symbolName);
/**
* This functions permanently adds the symbol \p symbolName with the
@@ -61,7 +62,7 @@ void *LLVMSearchForAddressOfSymbol(const char *symbolName);
*
* @see sys::DynamicLibrary::AddSymbol()
*/
-void LLVMAddSymbol(const char *symbolName, void *symbolValue);
+LLVM_C_ABI void LLVMAddSymbol(const char *symbolName, void *symbolValue);
/**
* @}
diff --git a/llvm/include/llvm-c/Target.h b/llvm/include/llvm-c/Target.h
index aef06a5f2486d..b6f9a5d856f4c 100644
--- a/llvm/include/llvm-c/Target.h
+++ b/llvm/include/llvm-c/Target.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_TARGET_H
#define LLVM_C_TARGET_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
#include "llvm/Config/llvm-config.h"
@@ -183,104 +184,104 @@ static inline LLVMBool LLVMInitializeNativeDisassembler(void) {
*
* @see Module::getDataLayout()
*/
-LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M);
+LLVM_C_ABI LLVMTargetDataRef LLVMGetModuleDataLayout(LLVMModuleRef M);
/**
* Set the data layout for a module.
*
* @see Module::setDataLayout()
*/
-void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL);
+LLVM_C_ABI void LLVMSetModuleDataLayout(LLVMModuleRef M, LLVMTargetDataRef DL);
/** Creates target data from a target layout string.
See the constructor llvm::DataLayout::DataLayout. */
-LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep);
+LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetData(const char *StringRep);
/** Deallocates a TargetData.
See the destructor llvm::DataLayout::~DataLayout. */
-void LLVMDisposeTargetData(LLVMTargetDataRef TD);
+LLVM_C_ABI void LLVMDisposeTargetData(LLVMTargetDataRef TD);
/** Adds target library information to a pass manager. This does not take
ownership of the target library info.
See the method llvm::PassManagerBase::add. */
-void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI,
+LLVM_C_ABI void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI,
LLVMPassManagerRef PM);
/** Converts target data to a target layout string. The string must be disposed
with LLVMDisposeMessage.
See the constructor llvm::DataLayout::DataLayout. */
-char *LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD);
+LLVM_C_ABI char *LLVMCopyStringRepOfTargetData(LLVMTargetDataRef TD);
/** Returns the byte order of a target, either LLVMBigEndian or
LLVMLittleEndian.
See the method llvm::DataLayout::isLittleEndian. */
-enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD);
+LLVM_C_ABI enum LLVMByteOrdering LLVMByteOrder(LLVMTargetDataRef TD);
/** Returns the pointer size in bytes for a target.
See the method llvm::DataLayout::getPointerSize. */
-unsigned LLVMPointerSize(LLVMTargetDataRef TD);
+LLVM_C_ABI unsigned LLVMPointerSize(LLVMTargetDataRef TD);
/** Returns the pointer size in bytes for a target for a specified
address space.
See the method llvm::DataLayout::getPointerSize. */
-unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS);
+LLVM_C_ABI unsigned LLVMPointerSizeForAS(LLVMTargetDataRef TD, unsigned AS);
/** Returns the integer type that is the same size as a pointer on a target.
See the method llvm::DataLayout::getIntPtrType. */
-LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD);
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrType(LLVMTargetDataRef TD);
/** Returns the integer type that is the same size as a pointer on a target.
This version allows the address space to be specified.
See the method llvm::DataLayout::getIntPtrType. */
-LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS);
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS);
/** Returns the integer type that is the same size as a pointer on a target.
See the method llvm::DataLayout::getIntPtrType. */
-LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD);
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD);
/** Returns the integer type that is the same size as a pointer on a target.
This version allows the address space to be specified.
See the method llvm::DataLayout::getIntPtrType. */
-LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD,
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD,
unsigned AS);
/** Computes the size of a type in bits for a target.
See the method llvm::DataLayout::getTypeSizeInBits. */
-unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the storage size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeStoreSize. */
-unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the ABI size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeAllocSize. */
-unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the ABI alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the call frame alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the preferred alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
/** Computes the preferred alignment of a global variable in bytes for a target.
See the method llvm::DataLayout::getPreferredAlignment. */
-unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD,
+LLVM_C_ABI unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD,
LLVMValueRef GlobalVar);
/** Computes the structure element that contains the byte offset for a target.
See the method llvm::StructLayout::getElementContainingOffset. */
-unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy,
+LLVM_C_ABI unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy,
unsigned long long Offset);
/** Computes the byte offset of the indexed struct element for a target.
See the method llvm::StructLayout::getElementContainingOffset. */
-unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD,
+LLVM_C_ABI unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD,
LLVMTypeRef StructTy, unsigned Element);
/**
diff --git a/llvm/include/llvm-c/TargetMachine.h b/llvm/include/llvm-c/TargetMachine.h
index cbe8913803e02..59f00f383a3f8 100644
--- a/llvm/include/llvm-c/TargetMachine.h
+++ b/llvm/include/llvm-c/TargetMachine.h
@@ -19,6 +19,7 @@
#ifndef LLVM_C_TARGETMACHINE_H
#define LLVM_C_TARGETMACHINE_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/Types.h"
@@ -74,35 +75,35 @@ typedef enum {
} LLVMGlobalISelAbortMode;
/** Returns the first llvm::Target in the registered targets list. */
-LLVMTargetRef LLVMGetFirstTarget(void);
+LLVM_C_ABI LLVMTargetRef LLVMGetFirstTarget(void);
/** Returns the next llvm::Target given a previous one (or null if there's none) */
-LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T);
+LLVM_C_ABI LLVMTargetRef LLVMGetNextTarget(LLVMTargetRef T);
/*===-- Target ------------------------------------------------------------===*/
/** Finds the target corresponding to the given name and stores it in \p T.
Returns 0 on success. */
-LLVMTargetRef LLVMGetTargetFromName(const char *Name);
+LLVM_C_ABI LLVMTargetRef LLVMGetTargetFromName(const char *Name);
/** Finds the target corresponding to the given triple and stores it in \p T.
Returns 0 on success. Optionally returns any error in ErrorMessage.
Use LLVMDisposeMessage to dispose the message. */
-LLVMBool LLVMGetTargetFromTriple(const char* Triple, LLVMTargetRef *T,
+LLVM_C_ABI LLVMBool LLVMGetTargetFromTriple(const char* Triple, LLVMTargetRef *T,
char **ErrorMessage);
/** Returns the name of a target. See llvm::Target::getName */
-const char *LLVMGetTargetName(LLVMTargetRef T);
+LLVM_C_ABI const char *LLVMGetTargetName(LLVMTargetRef T);
/** Returns the description of a target. See llvm::Target::getDescription */
-const char *LLVMGetTargetDescription(LLVMTargetRef T);
+LLVM_C_ABI const char *LLVMGetTargetDescription(LLVMTargetRef T);
/** Returns if the target has a JIT */
-LLVMBool LLVMTargetHasJIT(LLVMTargetRef T);
+LLVM_C_ABI LLVMBool LLVMTargetHasJIT(LLVMTargetRef T);
/** Returns if the target has a TargetMachine associated */
-LLVMBool LLVMTargetHasTargetMachine(LLVMTargetRef T);
+LLVM_C_ABI LLVMBool LLVMTargetHasTargetMachine(LLVMTargetRef T);
/** Returns if the target as an ASM backend (required for emitting output) */
-LLVMBool LLVMTargetHasAsmBackend(LLVMTargetRef T);
+LLVM_C_ABI LLVMBool LLVMTargetHasAsmBackend(LLVMTargetRef T);
/*===-- Target Machine ----------------------------------------------------===*/
/**
@@ -112,14 +113,14 @@ LLVMBool LLVMTargetHasAsmBackend(LLVMTargetRef T);
* LLVMDisposeTargetMachineOptions() after the call to
* LLVMCreateTargetMachineWithOptions().
*/
-LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions(void);
+LLVM_C_ABI LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions(void);
/**
* Dispose of an LLVMTargetMachineOptionsRef instance.
*/
-void LLVMDisposeTargetMachineOptions(LLVMTargetMachineOptionsRef Options);
+LLVM_C_ABI void LLVMDisposeTargetMachineOptions(LLVMTargetMachineOptionsRef Options);
-void LLVMTargetMachineOptionsSetCPU(LLVMTargetMachineOptionsRef Options,
+LLVM_C_ABI void LLVMTargetMachineOptionsSetCPU(LLVMTargetMachineOptionsRef Options,
const char *CPU);
/**
@@ -127,19 +128,19 @@ void LLVMTargetMachineOptionsSetCPU(LLVMTargetMachineOptionsRef Options,
*
* \param Features a comma-separated list of features.
*/
-void LLVMTargetMachineOptionsSetFeatures(LLVMTargetMachineOptionsRef Options,
+LLVM_C_ABI void LLVMTargetMachineOptionsSetFeatures(LLVMTargetMachineOptionsRef Options,
const char *Features);
-void LLVMTargetMachineOptionsSetABI(LLVMTargetMachineOptionsRef Options,
+LLVM_C_ABI void LLVMTargetMachineOptionsSetABI(LLVMTargetMachineOptionsRef Options,
const char *ABI);
-void LLVMTargetMachineOptionsSetCodeGenOptLevel(
+LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeGenOptLevel(
LLVMTargetMachineOptionsRef Options, LLVMCodeGenOptLevel Level);
-void LLVMTargetMachineOptionsSetRelocMode(LLVMTargetMachineOptionsRef Options,
+LLVM_C_ABI void LLVMTargetMachineOptionsSetRelocMode(LLVMTargetMachineOptionsRef Options,
LLVMRelocMode Reloc);
-void LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef Options,
+LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef Options,
LLVMCodeModel CodeModel);
/**
@@ -150,90 +151,90 @@ void LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef Options,
* \param Options additional configuration (see
* LLVMCreateTargetMachineOptions()).
*/
-LLVMTargetMachineRef
+LLVM_C_ABI LLVMTargetMachineRef
LLVMCreateTargetMachineWithOptions(LLVMTargetRef T, const char *Triple,
LLVMTargetMachineOptionsRef Options);
/** Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine */
-LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T,
+LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T,
const char *Triple, const char *CPU, const char *Features,
LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel);
/** Dispose the LLVMTargetMachineRef instance generated by
LLVMCreateTargetMachine. */
-void LLVMDisposeTargetMachine(LLVMTargetMachineRef T);
+LLVM_C_ABI void LLVMDisposeTargetMachine(LLVMTargetMachineRef T);
/** Returns the Target used in a TargetMachine */
-LLVMTargetRef LLVMGetTargetMachineTarget(LLVMTargetMachineRef T);
+LLVM_C_ABI LLVMTargetRef LLVMGetTargetMachineTarget(LLVMTargetMachineRef T);
/** Returns the triple used creating this target machine. See
llvm::TargetMachine::getTriple. The result needs to be disposed with
LLVMDisposeMessage. */
-char *LLVMGetTargetMachineTriple(LLVMTargetMachineRef T);
+LLVM_C_ABI char *LLVMGetTargetMachineTriple(LLVMTargetMachineRef T);
/** Returns the cpu used creating this target machine. See
llvm::TargetMachine::getCPU. The result needs to be disposed with
LLVMDisposeMessage. */
-char *LLVMGetTargetMachineCPU(LLVMTargetMachineRef T);
+LLVM_C_ABI char *LLVMGetTargetMachineCPU(LLVMTargetMachineRef T);
/** Returns the feature string used creating this target machine. See
llvm::TargetMachine::getFeatureString. The result needs to be disposed with
LLVMDisposeMessage. */
-char *LLVMGetTargetMachineFeatureString(LLVMTargetMachineRef T);
+LLVM_C_ABI char *LLVMGetTargetMachineFeatureString(LLVMTargetMachineRef T);
/** Create a DataLayout based on the targetMachine. */
-LLVMTargetDataRef LLVMCreateTargetDataLayout(LLVMTargetMachineRef T);
+LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetDataLayout(LLVMTargetMachineRef T);
/** Set the target machine's ASM verbosity. */
-void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T,
+LLVM_C_ABI void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T,
LLVMBool VerboseAsm);
/** Enable fast-path instruction selection. */
-void LLVMSetTargetMachineFastISel(LLVMTargetMachineRef T, LLVMBool Enable);
+LLVM_C_ABI void LLVMSetTargetMachineFastISel(LLVMTargetMachineRef T, LLVMBool Enable);
/** Enable global instruction selection. */
-void LLVMSetTargetMachineGlobalISel(LLVMTargetMachineRef T, LLVMBool Enable);
+LLVM_C_ABI void LLVMSetTargetMachineGlobalISel(LLVMTargetMachineRef T, LLVMBool Enable);
/** Set abort behaviour when global instruction selection fails to lower/select
* an instruction. */
-void LLVMSetTargetMachineGlobalISelAbort(LLVMTargetMachineRef T,
+LLVM_C_ABI void LLVMSetTargetMachineGlobalISelAbort(LLVMTargetMachineRef T,
LLVMGlobalISelAbortMode Mode);
/** Enable the MachineOutliner pass. */
-void LLVMSetTargetMachineMachineOutliner(LLVMTargetMachineRef T,
+LLVM_C_ABI void LLVMSetTargetMachineMachineOutliner(LLVMTargetMachineRef T,
LLVMBool Enable);
/** Emits an asm or object file for the given module to the filename. This
wraps several c++ only classes (among them a file stream). Returns any
error in ErrorMessage. Use LLVMDisposeMessage to dispose the message. */
-LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M,
+LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M,
const char *Filename,
LLVMCodeGenFileType codegen,
char **ErrorMessage);
/** Compile the LLVM IR stored in \p M and store the result in \p OutMemBuf. */
-LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M,
+LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M,
LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef *OutMemBuf);
/*===-- Triple ------------------------------------------------------------===*/
/** Get a triple for the host machine as a string. The result needs to be
disposed with LLVMDisposeMessage. */
-char* LLVMGetDefaultTargetTriple(void);
+LLVM_C_ABI char* LLVMGetDefaultTargetTriple(void);
/** Normalize a target triple. The result needs to be disposed with
LLVMDisposeMessage. */
-char* LLVMNormalizeTargetTriple(const char* triple);
+LLVM_C_ABI char* LLVMNormalizeTargetTriple(const char* triple);
/** Get the host CPU as a string. The result needs to be disposed with
LLVMDisposeMessage. */
-char* LLVMGetHostCPUName(void);
+LLVM_C_ABI char* LLVMGetHostCPUName(void);
/** Get the host CPU's features as a string. The result needs to be disposed
with LLVMDisposeMessage. */
-char* LLVMGetHostCPUFeatures(void);
+LLVM_C_ABI char* LLVMGetHostCPUFeatures(void);
/** Adds the target-specific analysis passes to the pass manager. */
-void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM);
+LLVM_C_ABI void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM);
/**
* @}
diff --git a/llvm/include/llvm-c/Transforms/PassBuilder.h b/llvm/include/llvm-c/Transforms/PassBuilder.h
index d297b57cadd07..7ff914e19caa9 100644
--- a/llvm/include/llvm-c/Transforms/PassBuilder.h
+++ b/llvm/include/llvm-c/Transforms/PassBuilder.h
@@ -14,6 +14,7 @@
#ifndef LLVM_C_TRANSFORMS_PASSBUILDER_H
#define LLVM_C_TRANSFORMS_PASSBUILDER_H
+#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
@@ -46,7 +47,7 @@ typedef struct LLVMOpaquePassBuilderOptions *LLVMPassBuilderOptionsRef;
* pipelines may also be invoked using `default<O3>` and friends. See opt for
* full reference of the Passes format.
*/
-LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
+LLVM_C_ABI LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
LLVMTargetMachineRef TM,
LLVMPassBuilderOptionsRef Options);
@@ -56,7 +57,7 @@ LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
* This function behaves the same as LLVMRunPasses, but operates on a single
* function instead of an entire module.
*/
-LLVMErrorRef LLVMRunPassesOnFunction(LLVMValueRef F, const char *Passes,
+LLVM_C_ABI LLVMErrorRef LLVMRunPassesOnFunction(LLVMValueRef F, const char *Passes,
LLVMTargetMachineRef TM,
LLVMPassBuilderOptionsRef Options);
@@ -67,19 +68,19 @@ LLVMErrorRef LLVMRunPassesOnFunction(LLVMValueRef F, const char *Passes,
* responsible for it. The client should call LLVMDisposePassBuilderOptions
* to free the pass builder options.
*/
-LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions(void);
+LLVM_C_ABI LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions(void);
/**
* Toggle adding the VerifierPass for the PassBuilder, ensuring all functions
* inside the module is valid.
*/
-void LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options,
LLVMBool VerifyEach);
/**
* Toggle debug logging when running the PassBuilder
*/
-void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
LLVMBool DebugLogging);
/**
@@ -87,43 +88,43 @@ void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
* instead of the default one. The string argument is not copied; the caller
* is responsible for ensuring it outlives the PassBuilderOptions instance.
*/
-void LLVMPassBuilderOptionsSetAAPipeline(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetAAPipeline(LLVMPassBuilderOptionsRef Options,
const char *AAPipeline);
-void LLVMPassBuilderOptionsSetLoopInterleaving(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopInterleaving(
LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving);
-void LLVMPassBuilderOptionsSetLoopVectorization(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopVectorization(
LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization);
-void LLVMPassBuilderOptionsSetSLPVectorization(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetSLPVectorization(
LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization);
-void LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options,
LLVMBool LoopUnrolling);
-void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll);
-void LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options,
unsigned LicmMssaOptCap);
-void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap);
-void LLVMPassBuilderOptionsSetCallGraphProfile(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetCallGraphProfile(
LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile);
-void LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options,
+LLVM_C_ABI void LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options,
LLVMBool MergeFunctions);
-void LLVMPassBuilderOptionsSetInlinerThreshold(
+LLVM_C_ABI void LLVMPassBuilderOptionsSetInlinerThreshold(
LLVMPassBuilderOptionsRef Options, int Threshold);
/**
* Dispose of a heap-allocated PassBuilderOptions instance
*/
-void LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options);
+LLVM_C_ABI void LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options);
/**
* @}
diff --git a/llvm/include/llvm-c/blake3.h b/llvm/include/llvm-c/blake3.h
index 679477c3aa7f0..c1d153b2bc5e2 100644
--- a/llvm/include/llvm-c/blake3.h
+++ b/llvm/include/llvm-c/blake3.h
@@ -17,6 +17,7 @@
#ifndef LLVM_C_BLAKE3_H
#define LLVM_C_BLAKE3_H
+#include "llvm-c/Visibility.h"
#include <stddef.h>
#include <stdint.h>
@@ -54,23 +55,23 @@ typedef struct {
uint8_t cv_stack[(LLVM_BLAKE3_MAX_DEPTH + 1) * LLVM_BLAKE3_OUT_LEN];
} llvm_blake3_hasher;
-const char *llvm_blake3_version(void);
-void llvm_blake3_hasher_init(llvm_blake3_hasher *self);
-void llvm_blake3_hasher_init_keyed(llvm_blake3_hasher *self,
+LLVM_C_ABI const char *llvm_blake3_version(void);
+LLVM_C_ABI void llvm_blake3_hasher_init(llvm_blake3_hasher *self);
+LLVM_C_ABI void llvm_blake3_hasher_init_keyed(llvm_blake3_hasher *self,
const uint8_t key[LLVM_BLAKE3_KEY_LEN]);
-void llvm_blake3_hasher_init_derive_key(llvm_blake3_hasher *self,
+LLVM_C_ABI void llvm_blake3_hasher_init_derive_key(llvm_blake3_hasher *self,
const char *context);
-void llvm_blake3_hasher_init_derive_key_raw(llvm_blake3_hasher *self,
+LLVM_C_ABI void llvm_blake3_hasher_init_derive_key_raw(llvm_blake3_hasher *self,
const void *context,
size_t context_len);
-void llvm_blake3_hasher_update(llvm_blake3_hasher *self, const void *input,
+LLVM_C_ABI void llvm_blake3_hasher_update(llvm_blake3_hasher *self, const void *input,
size_t input_len);
-void llvm_blake3_hasher_finalize(const llvm_blake3_hasher *self, uint8_t *out,
+LLVM_C_ABI void llvm_blake3_hasher_finalize(const llvm_blake3_hasher *self, uint8_t *out,
size_t out_len);
-void llvm_blake3_hasher_finalize_seek(const llvm_blake3_hasher *self,
+LLVM_C_ABI void llvm_blake3_hasher_finalize_seek(const llvm_blake3_hasher *self,
uint64_t seek, uint8_t *out,
size_t out_len);
-void llvm_blake3_hasher_reset(llvm_blake3_hasher *self);
+LLVM_C_ABI void llvm_blake3_hasher_reset(llvm_blake3_hasher *self);
#ifdef __cplusplus
}
>From 084d17d048c48e7d618bc9ec9734bdcc81f70ed7 Mon Sep 17 00:00:00 2001
From: Andrew Rogers <andrurogerz at gmail.com>
Date: Tue, 27 May 2025 17:47:19 -0700
Subject: [PATCH 3/4] [llvm] manual fix-ups to llvm-c codemod of IR library
---
llvm/include/llvm-c/Core.h | 2 +-
llvm/include/llvm-c/Remarks.h | 2 +-
llvm/include/llvm-c/Target.h | 12 ++++++------
3 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index 76752b1ced011..749ad7da79449 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -2032,7 +2032,7 @@ LLVM_C_ABI LLVMBool LLVMIsPoison(LLVMValueRef Val);
* @see llvm::dyn_cast_or_null<>
*/
#define LLVM_DECLARE_VALUE_CAST(name) \
- LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
+ LLVM_C_ABI LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DECLARE_VALUE_CAST)
LLVM_C_ABI LLVMValueRef LLVMIsAMDNode(LLVMValueRef Val);
diff --git a/llvm/include/llvm-c/Remarks.h b/llvm/include/llvm-c/Remarks.h
index 401b5359bf59e..8e89582f67fc9 100644
--- a/llvm/include/llvm-c/Remarks.h
+++ b/llvm/include/llvm-c/Remarks.h
@@ -334,7 +334,7 @@ LLVM_C_ABI extern void LLVMRemarkParserDispose(LLVMRemarkParserRef Parser);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern uint32_t LLVMRemarkVersion(void);
+extern uint32_t LLVMRemarkVersion(void);
/**
* @} // endgoup LLVMCREMARKS
diff --git a/llvm/include/llvm-c/Target.h b/llvm/include/llvm-c/Target.h
index b6f9a5d856f4c..bc1fdb7292bd4 100644
--- a/llvm/include/llvm-c/Target.h
+++ b/llvm/include/llvm-c/Target.h
@@ -40,34 +40,34 @@ typedef struct LLVMOpaqueTargetLibraryInfotData *LLVMTargetLibraryInfoRef;
/* Declare all of the target-initialization functions that are available. */
#define LLVM_TARGET(TargetName) \
- void LLVMInitialize##TargetName##TargetInfo(void);
+ LLVM_C_ABI void LLVMInitialize##TargetName##TargetInfo(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
-#define LLVM_TARGET(TargetName) void LLVMInitialize##TargetName##Target(void);
+#define LLVM_TARGET(TargetName) LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
#define LLVM_TARGET(TargetName) \
- void LLVMInitialize##TargetName##TargetMC(void);
+ LLVM_C_ABI void LLVMInitialize##TargetName##TargetMC(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
/* Declare all of the available assembly printer initialization functions. */
#define LLVM_ASM_PRINTER(TargetName) \
- void LLVMInitialize##TargetName##AsmPrinter(void);
+ LLVM_C_ABI void LLVMInitialize##TargetName##AsmPrinter(void);
#include "llvm/Config/AsmPrinters.def"
#undef LLVM_ASM_PRINTER /* Explicit undef to make SWIG happier */
/* Declare all of the available assembly parser initialization functions. */
#define LLVM_ASM_PARSER(TargetName) \
- void LLVMInitialize##TargetName##AsmParser(void);
+ LLVM_C_ABI void LLVMInitialize##TargetName##AsmParser(void);
#include "llvm/Config/AsmParsers.def"
#undef LLVM_ASM_PARSER /* Explicit undef to make SWIG happier */
/* Declare all of the available disassembler initialization functions. */
#define LLVM_DISASSEMBLER(TargetName) \
- void LLVMInitialize##TargetName##Disassembler(void);
+ LLVM_C_ABI void LLVMInitialize##TargetName##Disassembler(void);
#include "llvm/Config/Disassemblers.def"
#undef LLVM_DISASSEMBLER /* Explicit undef to make SWIG happier */
>From 4c219aa3904543729c1b19680da92bfc872a2dbd Mon Sep 17 00:00:00 2001
From: Andrew Rogers <andrurogerz at gmail.com>
Date: Tue, 27 May 2025 16:54:33 -0700
Subject: [PATCH 4/4] [llvm] clang-format changes to llvm-c library
---
llvm/include/llvm-c/Analysis.h | 10 +-
llvm/include/llvm-c/BitReader.h | 35 +-
llvm/include/llvm-c/BitWriter.h | 4 +-
llvm/include/llvm-c/Comdat.h | 8 +-
llvm/include/llvm-c/Core.h | 1228 ++++++++++--------
llvm/include/llvm-c/DebugInfo.h | 319 ++---
llvm/include/llvm-c/Disassembler.h | 28 +-
llvm/include/llvm-c/Error.h | 2 +-
llvm/include/llvm-c/ErrorHandling.h | 2 +-
llvm/include/llvm-c/ExecutionEngine.h | 91 +-
llvm/include/llvm-c/IRReader.h | 7 +-
llvm/include/llvm-c/LLJIT.h | 38 +-
llvm/include/llvm-c/LLJITUtils.h | 2 +-
llvm/include/llvm-c/Linker.h | 2 +-
llvm/include/llvm-c/Object.h | 48 +-
llvm/include/llvm-c/Orc.h | 124 +-
llvm/include/llvm-c/OrcEE.h | 2 +-
llvm/include/llvm-c/Remarks.h | 41 +-
llvm/include/llvm-c/Support.h | 6 +-
llvm/include/llvm-c/Target.h | 53 +-
llvm/include/llvm-c/TargetMachine.h | 91 +-
llvm/include/llvm-c/Transforms/PassBuilder.h | 70 +-
llvm/include/llvm-c/blake3.h | 23 +-
23 files changed, 1222 insertions(+), 1012 deletions(-)
diff --git a/llvm/include/llvm-c/Analysis.h b/llvm/include/llvm-c/Analysis.h
index e34d34dcf8939..01e1667b5232b 100644
--- a/llvm/include/llvm-c/Analysis.h
+++ b/llvm/include/llvm-c/Analysis.h
@@ -19,9 +19,9 @@
#ifndef LLVM_C_ANALYSIS_H
#define LLVM_C_ANALYSIS_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -42,12 +42,14 @@ typedef enum {
/* Verifies that a module is valid, taking the specified action if not.
Optionally returns a human-readable description of any invalid constructs.
OutMessage must be disposed with LLVMDisposeMessage. */
-LLVM_C_ABI LLVMBool LLVMVerifyModule(LLVMModuleRef M, LLVMVerifierFailureAction Action,
- char **OutMessage);
+LLVM_C_ABI LLVMBool LLVMVerifyModule(LLVMModuleRef M,
+ LLVMVerifierFailureAction Action,
+ char **OutMessage);
/* Verifies that a single function is valid, taking the specified action. Useful
for debugging. */
-LLVM_C_ABI LLVMBool LLVMVerifyFunction(LLVMValueRef Fn, LLVMVerifierFailureAction Action);
+LLVM_C_ABI LLVMBool LLVMVerifyFunction(LLVMValueRef Fn,
+ LLVMVerifierFailureAction Action);
/* Open up a ghostview window that displays the CFG of the current function.
Useful for debugging. */
diff --git a/llvm/include/llvm-c/BitReader.h b/llvm/include/llvm-c/BitReader.h
index 781cfe2f6b00b..9dcdbf436454f 100644
--- a/llvm/include/llvm-c/BitReader.h
+++ b/llvm/include/llvm-c/BitReader.h
@@ -19,9 +19,9 @@
#ifndef LLVM_C_BITREADER_H
#define LLVM_C_BITREADER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -37,30 +37,33 @@ LLVM_C_EXTERN_C_BEGIN
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMParseBitcode2. */
-LLVM_C_ABI LLVMBool LLVMParseBitcode(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule,
- char **OutMessage);
+LLVM_C_ABI LLVMBool LLVMParseBitcode(LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutModule,
+ char **OutMessage);
/* Builds a module from the bitcode in the specified memory buffer, returning a
reference to the module via the OutModule parameter. Returns 0 on success. */
LLVM_C_ABI LLVMBool LLVMParseBitcode2(LLVMMemoryBufferRef MemBuf,
- LLVMModuleRef *OutModule);
+ LLVMModuleRef *OutModule);
/* This is deprecated. Use LLVMParseBitcodeInContext2. */
LLVM_C_ABI LLVMBool LLVMParseBitcodeInContext(LLVMContextRef ContextRef,
- LLVMMemoryBufferRef MemBuf,
- LLVMModuleRef *OutModule, char **OutMessage);
+ LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutModule,
+ char **OutMessage);
LLVM_C_ABI LLVMBool LLVMParseBitcodeInContext2(LLVMContextRef ContextRef,
- LLVMMemoryBufferRef MemBuf,
- LLVMModuleRef *OutModule);
+ LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutModule);
/** Reads a module from the specified path, returning via the OutMP parameter
a module provider which performs lazy deserialization. Returns 0 on success.
Optionally returns a human-readable error message via OutMessage.
This is deprecated. Use LLVMGetBitcodeModuleInContext2. */
LLVM_C_ABI LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef,
- LLVMMemoryBufferRef MemBuf,
- LLVMModuleRef *OutM, char **OutMessage);
+ LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutM,
+ char **OutMessage);
/** Reads a module from the given memory buffer, returning via the OutMP
* parameter a module provider which performs lazy deserialization.
@@ -70,14 +73,16 @@ LLVM_C_ABI LLVMBool LLVMGetBitcodeModuleInContext(LLVMContextRef ContextRef,
* Takes ownership of \p MemBuf if (and only if) the module was read
* successfully. */
LLVM_C_ABI LLVMBool LLVMGetBitcodeModuleInContext2(LLVMContextRef ContextRef,
- LLVMMemoryBufferRef MemBuf,
- LLVMModuleRef *OutM);
+ LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutM);
/* This is deprecated. Use LLVMGetBitcodeModule2. */
-LLVM_C_ABI LLVMBool LLVMGetBitcodeModule(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
- char **OutMessage);
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModule(LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutM,
+ char **OutMessage);
-LLVM_C_ABI LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM);
+LLVM_C_ABI LLVMBool LLVMGetBitcodeModule2(LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutM);
/**
* @}
diff --git a/llvm/include/llvm-c/BitWriter.h b/llvm/include/llvm-c/BitWriter.h
index d93f32195815b..71d482b6be070 100644
--- a/llvm/include/llvm-c/BitWriter.h
+++ b/llvm/include/llvm-c/BitWriter.h
@@ -19,9 +19,9 @@
#ifndef LLVM_C_BITWRITER_H
#define LLVM_C_BITWRITER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -39,7 +39,7 @@ LLVM_C_ABI int LLVMWriteBitcodeToFile(LLVMModuleRef M, const char *Path);
/** Writes a module to an open file descriptor. Returns 0 on success. */
LLVM_C_ABI int LLVMWriteBitcodeToFD(LLVMModuleRef M, int FD, int ShouldClose,
- int Unbuffered);
+ int Unbuffered);
/** Deprecated for LLVMWriteBitcodeToFD. Writes a module to an open file
descriptor. Returns 0 on success. Closes the Handle. */
diff --git a/llvm/include/llvm-c/Comdat.h b/llvm/include/llvm-c/Comdat.h
index 216107c52715d..cf13f8507440e 100644
--- a/llvm/include/llvm-c/Comdat.h
+++ b/llvm/include/llvm-c/Comdat.h
@@ -14,9 +14,9 @@
#ifndef LLVM_C_COMDAT_H
#define LLVM_C_COMDAT_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -44,7 +44,8 @@ typedef enum {
*
* @see llvm::Module::getOrInsertComdat()
*/
-LLVM_C_ABI LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI LLVMComdatRef LLVMGetOrInsertComdat(LLVMModuleRef M,
+ const char *Name);
/**
* Get the Comdat assigned to the given global object.
@@ -72,7 +73,8 @@ LLVM_C_ABI LLVMComdatSelectionKind LLVMGetComdatSelectionKind(LLVMComdatRef C);
*
* @see llvm::Comdat::setSelectionKind()
*/
-LLVM_C_ABI void LLVMSetComdatSelectionKind(LLVMComdatRef C, LLVMComdatSelectionKind Kind);
+LLVM_C_ABI void LLVMSetComdatSelectionKind(LLVMComdatRef C,
+ LLVMComdatSelectionKind Kind);
/**
* @}
diff --git a/llvm/include/llvm-c/Core.h b/llvm/include/llvm-c/Core.h
index 749ad7da79449..b283a14cfb242 100644
--- a/llvm/include/llvm-c/Core.h
+++ b/llvm/include/llvm-c/Core.h
@@ -15,10 +15,10 @@
#ifndef LLVM_C_CORE_H
#define LLVM_C_CORE_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/Deprecated.h"
#include "llvm-c/ErrorHandling.h"
#include "llvm-c/ExternC.h"
+#include "llvm-c/Visibility.h"
#include "llvm-c/Types.h"
@@ -547,7 +547,8 @@ LLVM_C_ABI void LLVMShutdown(void);
* The version components are returned via the function's three output
* parameters or skipped if a NULL pointer was supplied.
*/
-LLVM_C_ABI void LLVMGetVersion(unsigned *Major, unsigned *Minor, unsigned *Patch);
+LLVM_C_ABI void LLVMGetVersion(unsigned *Major, unsigned *Minor,
+ unsigned *Patch);
/*===-- Error handling ----------------------------------------------------===*/
@@ -586,13 +587,14 @@ LLVM_C_ABI LLVMContextRef LLVMGetGlobalContext(void);
* Set the diagnostic handler for this context.
*/
LLVM_C_ABI void LLVMContextSetDiagnosticHandler(LLVMContextRef C,
- LLVMDiagnosticHandler Handler,
- void *DiagnosticContext);
+ LLVMDiagnosticHandler Handler,
+ void *DiagnosticContext);
/**
* Get the diagnostic handler of this context.
*/
-LLVM_C_ABI LLVMDiagnosticHandler LLVMContextGetDiagnosticHandler(LLVMContextRef C);
+LLVM_C_ABI LLVMDiagnosticHandler
+LLVMContextGetDiagnosticHandler(LLVMContextRef C);
/**
* Get the diagnostic context of this context.
@@ -604,8 +606,9 @@ LLVM_C_ABI void *LLVMContextGetDiagnosticContext(LLVMContextRef C);
*
* @see LLVMContext::setYieldCallback()
*/
-LLVM_C_ABI void LLVMContextSetYieldCallback(LLVMContextRef C, LLVMYieldCallback Callback,
- void *OpaqueHandle);
+LLVM_C_ABI void LLVMContextSetYieldCallback(LLVMContextRef C,
+ LLVMYieldCallback Callback,
+ void *OpaqueHandle);
/**
* Retrieve whether the given context is set to discard all value names.
@@ -622,7 +625,8 @@ LLVM_C_ABI LLVMBool LLVMContextShouldDiscardValueNames(LLVMContextRef C);
*
* @see LLVMContext::setDiscardValueNames()
*/
-LLVM_C_ABI void LLVMContextSetDiscardValueNames(LLVMContextRef C, LLVMBool Discard);
+LLVM_C_ABI void LLVMContextSetDiscardValueNames(LLVMContextRef C,
+ LLVMBool Discard);
/**
* Destroy a context instance.
@@ -645,16 +649,18 @@ LLVM_C_ABI char *LLVMGetDiagInfoDescription(LLVMDiagnosticInfoRef DI);
*
* @see DiagnosticInfo::getSeverity()
*/
-LLVM_C_ABI LLVMDiagnosticSeverity LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI);
+LLVM_C_ABI LLVMDiagnosticSeverity
+LLVMGetDiagInfoSeverity(LLVMDiagnosticInfoRef DI);
LLVM_C_ABI unsigned LLVMGetMDKindIDInContext(LLVMContextRef C, const char *Name,
- unsigned SLen);
+ unsigned SLen);
LLVM_C_ABI unsigned LLVMGetMDKindID(const char *Name, unsigned SLen);
/**
* Maps a synchronization scope name to a ID unique within this context.
*/
-LLVM_C_ABI unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name, size_t SLen);
+LLVM_C_ABI unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name,
+ size_t SLen);
/**
* Return an unique id given the name of a enum attribute,
@@ -667,14 +673,16 @@ LLVM_C_ABI unsigned LLVMGetSyncScopeID(LLVMContextRef C, const char *Name, size_
* NB: Attribute names and/or id are subject to change without
* going through the C API deprecation cycle.
*/
-LLVM_C_ABI unsigned LLVMGetEnumAttributeKindForName(const char *Name, size_t SLen);
+LLVM_C_ABI unsigned LLVMGetEnumAttributeKindForName(const char *Name,
+ size_t SLen);
LLVM_C_ABI unsigned LLVMGetLastEnumAttributeKind(void);
/**
* Create an enum attribute.
*/
-LLVM_C_ABI LLVMAttributeRef LLVMCreateEnumAttribute(LLVMContextRef C, unsigned KindID,
- uint64_t Val);
+LLVM_C_ABI LLVMAttributeRef LLVMCreateEnumAttribute(LLVMContextRef C,
+ unsigned KindID,
+ uint64_t Val);
/**
* Get the unique id corresponding to the enum attribute
@@ -690,8 +698,9 @@ LLVM_C_ABI uint64_t LLVMGetEnumAttributeValue(LLVMAttributeRef A);
/**
* Create a type attribute
*/
-LLVM_C_ABI LLVMAttributeRef LLVMCreateTypeAttribute(LLVMContextRef C, unsigned KindID,
- LLVMTypeRef type_ref);
+LLVM_C_ABI LLVMAttributeRef LLVMCreateTypeAttribute(LLVMContextRef C,
+ unsigned KindID,
+ LLVMTypeRef type_ref);
/**
* Get the type attribute's value.
@@ -704,28 +713,30 @@ LLVM_C_ABI LLVMTypeRef LLVMGetTypeAttributeValue(LLVMAttributeRef A);
* LowerWords and UpperWords need to be NumBits divided by 64 rounded up
* elements long.
*/
-LLVM_C_ABI LLVMAttributeRef LLVMCreateConstantRangeAttribute(LLVMContextRef C,
- unsigned KindID,
- unsigned NumBits,
- const uint64_t LowerWords[],
- const uint64_t UpperWords[]);
+LLVM_C_ABI LLVMAttributeRef LLVMCreateConstantRangeAttribute(
+ LLVMContextRef C, unsigned KindID, unsigned NumBits,
+ const uint64_t LowerWords[], const uint64_t UpperWords[]);
/**
* Create a string attribute.
*/
LLVM_C_ABI LLVMAttributeRef LLVMCreateStringAttribute(LLVMContextRef C,
- const char *K, unsigned KLength,
- const char *V, unsigned VLength);
+ const char *K,
+ unsigned KLength,
+ const char *V,
+ unsigned VLength);
/**
* Get the string attribute's kind.
*/
-LLVM_C_ABI const char *LLVMGetStringAttributeKind(LLVMAttributeRef A, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetStringAttributeKind(LLVMAttributeRef A,
+ unsigned *Length);
/**
* Get the string attribute's value.
*/
-LLVM_C_ABI const char *LLVMGetStringAttributeValue(LLVMAttributeRef A, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetStringAttributeValue(LLVMAttributeRef A,
+ unsigned *Length);
/**
* Check for the different types of attributes.
@@ -771,7 +782,7 @@ LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithName(const char *ModuleID);
* will be leaked.
*/
LLVM_C_ABI LLVMModuleRef LLVMModuleCreateWithNameInContext(const char *ModuleID,
- LLVMContextRef C);
+ LLVMContextRef C);
/**
* Return an exact copy of the specified module.
*/
@@ -801,7 +812,8 @@ LLVM_C_ABI LLVMBool LLVMIsNewDbgInfoFormat(LLVMModuleRef M);
*
* Convert module into desired debug info format.
*/
-LLVM_C_ABI void LLVMSetIsNewDbgInfoFormat(LLVMModuleRef M, LLVMBool UseNewFormat);
+LLVM_C_ABI void LLVMSetIsNewDbgInfoFormat(LLVMModuleRef M,
+ LLVMBool UseNewFormat);
/**
* Obtain the identifier of a module.
@@ -821,7 +833,8 @@ LLVM_C_ABI const char *LLVMGetModuleIdentifier(LLVMModuleRef M, size_t *Len);
* @param Len Length of Ident
* @see Module::setModuleIdentifier()
*/
-LLVM_C_ABI void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident, size_t Len);
+LLVM_C_ABI void LLVMSetModuleIdentifier(LLVMModuleRef M, const char *Ident,
+ size_t Len);
/**
* Obtain the module's original source file name.
@@ -842,7 +855,8 @@ LLVM_C_ABI const char *LLVMGetSourceFileName(LLVMModuleRef M, size_t *Len);
* @param Len Length of Name
* @see Module::setSourceFileName()
*/
-LLVM_C_ABI void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name, size_t Len);
+LLVM_C_ABI void LLVMSetSourceFileName(LLVMModuleRef M, const char *Name,
+ size_t Len);
/**
* Obtain the data layout for a module.
@@ -884,7 +898,8 @@ LLVM_C_ABI void LLVMSetTarget(LLVMModuleRef M, const char *Triple);
*
* @see Module::getModuleFlagsMetadata()
*/
-LLVM_C_ABI LLVMModuleFlagEntry *LLVMCopyModuleFlagsMetadata(LLVMModuleRef M, size_t *Len);
+LLVM_C_ABI LLVMModuleFlagEntry *LLVMCopyModuleFlagsMetadata(LLVMModuleRef M,
+ size_t *Len);
/**
* Destroys module flags metadata entries.
@@ -896,9 +911,8 @@ LLVM_C_ABI void LLVMDisposeModuleFlagsMetadata(LLVMModuleFlagEntry *Entries);
*
* @see Module::ModuleFlagEntry::Behavior
*/
-LLVM_C_ABI LLVMModuleFlagBehavior
-LLVMModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry *Entries,
- unsigned Index);
+LLVM_C_ABI LLVMModuleFlagBehavior LLVMModuleFlagEntriesGetFlagBehavior(
+ LLVMModuleFlagEntry *Entries, unsigned Index);
/**
* Returns the key for a module flag entry at a specific index.
@@ -906,15 +920,15 @@ LLVMModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry *Entries,
* @see Module::ModuleFlagEntry::Key
*/
LLVM_C_ABI const char *LLVMModuleFlagEntriesGetKey(LLVMModuleFlagEntry *Entries,
- unsigned Index, size_t *Len);
+ unsigned Index, size_t *Len);
/**
* Returns the metadata for a module flag entry at a specific index.
*
* @see Module::ModuleFlagEntry::Val
*/
-LLVM_C_ABI LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries,
- unsigned Index);
+LLVM_C_ABI LLVMMetadataRef
+LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry *Entries, unsigned Index);
/**
* Add a module-level flag to the module-level flags metadata if it doesn't
@@ -922,8 +936,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry
*
* @see Module::getModuleFlag()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M,
- const char *Key, size_t KeyLen);
+LLVM_C_ABI LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M, const char *Key,
+ size_t KeyLen);
/**
* Add a module-level flag to the module-level flags metadata if it doesn't
@@ -931,9 +945,10 @@ LLVM_C_ABI LLVMMetadataRef LLVMGetModuleFlag(LLVMModuleRef M,
*
* @see Module::addModuleFlag()
*/
-LLVM_C_ABI void LLVMAddModuleFlag(LLVMModuleRef M, LLVMModuleFlagBehavior Behavior,
- const char *Key, size_t KeyLen,
- LLVMMetadataRef Val);
+LLVM_C_ABI void LLVMAddModuleFlag(LLVMModuleRef M,
+ LLVMModuleFlagBehavior Behavior,
+ const char *Key, size_t KeyLen,
+ LLVMMetadataRef Val);
/**
* Dump a representation of a module to stderr.
@@ -949,7 +964,7 @@ LLVM_C_ABI void LLVMDumpModule(LLVMModuleRef M);
* @see Module::print()
*/
LLVM_C_ABI LLVMBool LLVMPrintModuleToFile(LLVMModuleRef M, const char *Filename,
- char **ErrorMessage);
+ char **ErrorMessage);
/**
* Return a string representation of the module. Use
@@ -971,44 +986,47 @@ LLVM_C_ABI const char *LLVMGetModuleInlineAsm(LLVMModuleRef M, size_t *Len);
*
* @see Module::setModuleInlineAsm()
*/
-LLVM_C_ABI void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm, size_t Len);
+LLVM_C_ABI void LLVMSetModuleInlineAsm2(LLVMModuleRef M, const char *Asm,
+ size_t Len);
/**
* Append inline assembly to a module.
*
* @see Module::appendModuleInlineAsm()
*/
-LLVM_C_ABI void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm, size_t Len);
+LLVM_C_ABI void LLVMAppendModuleInlineAsm(LLVMModuleRef M, const char *Asm,
+ size_t Len);
/**
* Create the specified uniqued inline asm string.
*
* @see InlineAsm::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMGetInlineAsm(LLVMTypeRef Ty, const char *AsmString,
- size_t AsmStringSize, const char *Constraints,
- size_t ConstraintsSize, LLVMBool HasSideEffects,
- LLVMBool IsAlignStack,
- LLVMInlineAsmDialect Dialect, LLVMBool CanThrow);
+LLVM_C_ABI LLVMValueRef LLVMGetInlineAsm(
+ LLVMTypeRef Ty, const char *AsmString, size_t AsmStringSize,
+ const char *Constraints, size_t ConstraintsSize, LLVMBool HasSideEffects,
+ LLVMBool IsAlignStack, LLVMInlineAsmDialect Dialect, LLVMBool CanThrow);
/**
* Get the template string used for an inline assembly snippet
*
*/
-LLVM_C_ABI const char *LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal, size_t *Len);
+LLVM_C_ABI const char *LLVMGetInlineAsmAsmString(LLVMValueRef InlineAsmVal,
+ size_t *Len);
/**
* Get the raw constraint string for an inline assembly snippet
*
*/
-LLVM_C_ABI const char *LLVMGetInlineAsmConstraintString(LLVMValueRef InlineAsmVal,
- size_t *Len);
+LLVM_C_ABI const char *
+LLVMGetInlineAsmConstraintString(LLVMValueRef InlineAsmVal, size_t *Len);
/**
* Get the dialect used by the inline asm snippet
*
*/
-LLVM_C_ABI LLVMInlineAsmDialect LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMInlineAsmDialect
+LLVMGetInlineAsmDialect(LLVMValueRef InlineAsmVal);
/**
* Get the function type of the inline assembly snippet. The same type that
@@ -1029,7 +1047,8 @@ LLVM_C_ABI LLVMBool LLVMGetInlineAsmHasSideEffects(LLVMValueRef InlineAsmVal);
* Get if the inline asm snippet needs an aligned stack
*
*/
-LLVM_C_ABI LLVMBool LLVMGetInlineAsmNeedsAlignedStack(LLVMValueRef InlineAsmVal);
+LLVM_C_ABI LLVMBool
+LLVMGetInlineAsmNeedsAlignedStack(LLVMValueRef InlineAsmVal);
/**
* Get if the inline asm snippet may unwind the stack
@@ -1067,7 +1086,8 @@ LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetLastNamedMetadata(LLVMModuleRef M);
* Returns NULL if the iterator was already at the end and there are no more
* named metadata nodes.
*/
-LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
+LLVM_C_ABI LLVMNamedMDNodeRef
+LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
/**
* Decrement a NamedMDNode iterator to the previous NamedMDNode.
@@ -1075,7 +1095,8 @@ LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNextNamedMetadata(LLVMNamedMDNodeRef NamedM
* Returns NULL if the iterator was already at the beginning and there are
* no previous named metadata nodes.
*/
-LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
+LLVM_C_ABI LLVMNamedMDNodeRef
+LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef NamedMDNode);
/**
* Retrieve a NamedMDNode with the given name, returning NULL if no such
@@ -1084,7 +1105,8 @@ LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetPreviousNamedMetadata(LLVMNamedMDNodeRef Na
* @see llvm::Module::getNamedMetadata()
*/
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M,
- const char *Name, size_t NameLen);
+ const char *Name,
+ size_t NameLen);
/**
* Retrieve a NamedMDNode with the given name, creating a new node if no such
@@ -1093,8 +1115,8 @@ LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetNamedMetadata(LLVMModuleRef M,
* @see llvm::Module::getOrInsertNamedMetadata()
*/
LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M,
- const char *Name,
- size_t NameLen);
+ const char *Name,
+ size_t NameLen);
/**
* Retrieve the name of a NamedMDNode.
@@ -1102,14 +1124,15 @@ LLVM_C_ABI LLVMNamedMDNodeRef LLVMGetOrInsertNamedMetadata(LLVMModuleRef M,
* @see llvm::NamedMDNode::getName()
*/
LLVM_C_ABI const char *LLVMGetNamedMetadataName(LLVMNamedMDNodeRef NamedMD,
- size_t *NameLen);
+ size_t *NameLen);
/**
* Obtain the number of operands for named metadata in a module.
*
* @see llvm::Module::getNamedMetadata()
*/
-LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char *Name);
+LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M,
+ const char *Name);
/**
* Obtain the named metadata operands for a module.
@@ -1123,7 +1146,7 @@ LLVM_C_ABI unsigned LLVMGetNamedMetadataNumOperands(LLVMModuleRef M, const char
* @see llvm::MDNode::getOperand()
*/
LLVM_C_ABI void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name,
- LLVMValueRef *Dest);
+ LLVMValueRef *Dest);
/**
* Add an operand to named metadata.
@@ -1132,7 +1155,7 @@ LLVM_C_ABI void LLVMGetNamedMetadataOperands(LLVMModuleRef M, const char *Name,
* @see llvm::MDNode::addOperand()
*/
LLVM_C_ABI void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name,
- LLVMValueRef Val);
+ LLVMValueRef Val);
/**
* Return the directory of the debug location for this value, which must be
@@ -1142,7 +1165,8 @@ LLVM_C_ABI void LLVMAddNamedMetadataOperand(LLVMModuleRef M, const char *Name,
* @see llvm::GlobalVariable::getDebugInfo()
* @see llvm::Function::getSubprogram()
*/
-LLVM_C_ABI const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetDebugLocDirectory(LLVMValueRef Val,
+ unsigned *Length);
/**
* Return the filename of the debug location for this value, which must be
@@ -1152,7 +1176,8 @@ LLVM_C_ABI const char *LLVMGetDebugLocDirectory(LLVMValueRef Val, unsigned *Leng
* @see llvm::GlobalVariable::getDebugInfo()
* @see llvm::Function::getSubprogram()
*/
-LLVM_C_ABI const char *LLVMGetDebugLocFilename(LLVMValueRef Val, unsigned *Length);
+LLVM_C_ABI const char *LLVMGetDebugLocFilename(LLVMValueRef Val,
+ unsigned *Length);
/**
* Return the line number of the debug location for this value, which must be
@@ -1178,7 +1203,7 @@ LLVM_C_ABI unsigned LLVMGetDebugLocColumn(LLVMValueRef Val);
* @see llvm::Function::Create()
*/
LLVM_C_ABI LLVMValueRef LLVMAddFunction(LLVMModuleRef M, const char *Name,
- LLVMTypeRef FunctionTy);
+ LLVMTypeRef FunctionTy);
/**
* Obtain a Function value from a Module by its name.
@@ -1196,8 +1221,9 @@ LLVM_C_ABI LLVMValueRef LLVMGetNamedFunction(LLVMModuleRef M, const char *Name);
*
* @see llvm::Module::getFunction()
*/
-LLVM_C_ABI LLVMValueRef LLVMGetNamedFunctionWithLength(LLVMModuleRef M, const char *Name,
- size_t Length);
+LLVM_C_ABI LLVMValueRef LLVMGetNamedFunctionWithLength(LLVMModuleRef M,
+ const char *Name,
+ size_t Length);
/**
* Obtain an iterator to the first Function in a Module.
@@ -1411,8 +1437,8 @@ LLVM_C_ABI LLVMTypeRef LLVMPPCFP128Type(void);
* parameter types, and whether the function is variadic.
*/
LLVM_C_ABI LLVMTypeRef LLVMFunctionType(LLVMTypeRef ReturnType,
- LLVMTypeRef *ParamTypes, unsigned ParamCount,
- LLVMBool IsVarArg);
+ LLVMTypeRef *ParamTypes,
+ unsigned ParamCount, LLVMBool IsVarArg);
/**
* Returns whether a function type is variadic.
@@ -1464,23 +1490,26 @@ LLVM_C_ABI void LLVMGetParamTypes(LLVMTypeRef FunctionTy, LLVMTypeRef *Dest);
*
* @see llvm::StructType::create()
*/
-LLVM_C_ABI LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C, LLVMTypeRef *ElementTypes,
- unsigned ElementCount, LLVMBool Packed);
+LLVM_C_ABI LLVMTypeRef LLVMStructTypeInContext(LLVMContextRef C,
+ LLVMTypeRef *ElementTypes,
+ unsigned ElementCount,
+ LLVMBool Packed);
/**
* Create a new structure type in the global context.
*
* @see llvm::StructType::create()
*/
-LLVM_C_ABI LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes, unsigned ElementCount,
- LLVMBool Packed);
+LLVM_C_ABI LLVMTypeRef LLVMStructType(LLVMTypeRef *ElementTypes,
+ unsigned ElementCount, LLVMBool Packed);
/**
* Create an empty structure in a context having a specified name.
*
* @see llvm::StructType::create()
*/
-LLVM_C_ABI LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C, const char *Name);
+LLVM_C_ABI LLVMTypeRef LLVMStructCreateNamed(LLVMContextRef C,
+ const char *Name);
/**
* Obtain the name of a structure.
@@ -1494,8 +1523,9 @@ LLVM_C_ABI const char *LLVMGetStructName(LLVMTypeRef Ty);
*
* @see llvm::StructType::setBody()
*/
-LLVM_C_ABI void LLVMStructSetBody(LLVMTypeRef StructTy, LLVMTypeRef *ElementTypes,
- unsigned ElementCount, LLVMBool Packed);
+LLVM_C_ABI void LLVMStructSetBody(LLVMTypeRef StructTy,
+ LLVMTypeRef *ElementTypes,
+ unsigned ElementCount, LLVMBool Packed);
/**
* Get the number of elements defined inside the structure.
@@ -1514,14 +1544,16 @@ LLVM_C_ABI unsigned LLVMCountStructElementTypes(LLVMTypeRef StructTy);
* of the structure type itself, which is the lifetime of the context it
* is contained in.
*/
-LLVM_C_ABI void LLVMGetStructElementTypes(LLVMTypeRef StructTy, LLVMTypeRef *Dest);
+LLVM_C_ABI void LLVMGetStructElementTypes(LLVMTypeRef StructTy,
+ LLVMTypeRef *Dest);
/**
* Get the type of the element at a given index in the structure.
*
* @see llvm::StructType::getTypeAtIndex()
*/
-LLVM_C_ABI LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy, unsigned i);
+LLVM_C_ABI LLVMTypeRef LLVMStructGetTypeAtIndex(LLVMTypeRef StructTy,
+ unsigned i);
/**
* Determine whether a structure is packed.
@@ -1588,7 +1620,8 @@ LLVM_C_ABI unsigned LLVMGetNumContainedTypes(LLVMTypeRef Tp);
* LLVMArrayType2
* @see llvm::ArrayType::get()
*/
-LLVM_C_ABI LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType,
+ unsigned ElementCount);
/**
* Create a fixed size array type that refers to a specific type.
@@ -1598,7 +1631,8 @@ LLVM_C_ABI LLVMTypeRef LLVMArrayType(LLVMTypeRef ElementType, unsigned ElementCo
*
* @see llvm::ArrayType::get()
*/
-LLVM_C_ABI LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType, uint64_t ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMArrayType2(LLVMTypeRef ElementType,
+ uint64_t ElementCount);
/**
* Obtain the length of an array type.
@@ -1628,7 +1662,8 @@ LLVM_C_ABI uint64_t LLVMGetArrayLength2(LLVMTypeRef ArrayTy);
*
* @see llvm::PointerType::get()
*/
-LLVM_C_ABI LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType, unsigned AddressSpace);
+LLVM_C_ABI LLVMTypeRef LLVMPointerType(LLVMTypeRef ElementType,
+ unsigned AddressSpace);
/**
* Determine whether a pointer is opaque.
@@ -1644,7 +1679,8 @@ LLVM_C_ABI LLVMBool LLVMPointerTypeIsOpaque(LLVMTypeRef Ty);
*
* @see llvm::PointerType::get()
*/
-LLVM_C_ABI LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C, unsigned AddressSpace);
+LLVM_C_ABI LLVMTypeRef LLVMPointerTypeInContext(LLVMContextRef C,
+ unsigned AddressSpace);
/**
* Obtain the address space of a pointer type.
@@ -1664,7 +1700,8 @@ LLVM_C_ABI unsigned LLVMGetPointerAddressSpace(LLVMTypeRef PointerTy);
*
* @see llvm::VectorType::get()
*/
-LLVM_C_ABI LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementCount);
+LLVM_C_ABI LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType,
+ unsigned ElementCount);
/**
* Create a vector type that contains a defined type and has a scalable
@@ -1676,7 +1713,7 @@ LLVM_C_ABI LLVMTypeRef LLVMVectorType(LLVMTypeRef ElementType, unsigned ElementC
* @see llvm::ScalableVectorType::get()
*/
LLVM_C_ABI LLVMTypeRef LLVMScalableVectorType(LLVMTypeRef ElementType,
- unsigned ElementCount);
+ unsigned ElementCount);
/**
* Obtain the (possibly scalable) number of elements in a vector type.
@@ -1706,7 +1743,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthKey(LLVMValueRef PtrAuth);
*
* @see llvm::ConstantPtrAuth::getDiscriminator
*/
-LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef
+LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth);
/**
* Get the address discriminator value for the associated ConstantPtrAuth
@@ -1714,7 +1752,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthDiscriminator(LLVMValueRef PtrAuth
*
* @see llvm::ConstantPtrAuth::getAddrDiscriminator
*/
-LLVM_C_ABI LLVMValueRef LLVMGetConstantPtrAuthAddrDiscriminator(LLVMValueRef PtrAuth);
+LLVM_C_ABI LLVMValueRef
+LLVMGetConstantPtrAuthAddrDiscriminator(LLVMValueRef PtrAuth);
/**
* @}
@@ -1762,11 +1801,9 @@ LLVM_C_ABI LLVMTypeRef LLVMX86AMXType(void);
/**
* Create a target extension type in LLVM context.
*/
-LLVM_C_ABI LLVMTypeRef LLVMTargetExtTypeInContext(LLVMContextRef C, const char *Name,
- LLVMTypeRef *TypeParams,
- unsigned TypeParamCount,
- unsigned *IntParams,
- unsigned IntParamCount);
+LLVM_C_ABI LLVMTypeRef LLVMTargetExtTypeInContext(
+ LLVMContextRef C, const char *Name, LLVMTypeRef *TypeParams,
+ unsigned TypeParamCount, unsigned *IntParams, unsigned IntParamCount);
/**
* Obtain the name for this target extension type.
@@ -1788,7 +1825,7 @@ LLVM_C_ABI unsigned LLVMGetTargetExtTypeNumTypeParams(LLVMTypeRef TargetExtTy);
* @see llvm::TargetExtType::getTypeParameter()
*/
LLVM_C_ABI LLVMTypeRef LLVMGetTargetExtTypeTypeParam(LLVMTypeRef TargetExtTy,
- unsigned Idx);
+ unsigned Idx);
/**
* Obtain the number of int parameters for this target extension type.
@@ -1802,7 +1839,8 @@ LLVM_C_ABI unsigned LLVMGetTargetExtTypeNumIntParams(LLVMTypeRef TargetExtTy);
*
* @see llvm::TargetExtType::getIntParameter()
*/
-LLVM_C_ABI unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy, unsigned Idx);
+LLVM_C_ABI unsigned LLVMGetTargetExtTypeIntParam(LLVMTypeRef TargetExtTy,
+ unsigned Idx);
/**
* @}
@@ -1966,7 +2004,8 @@ LLVM_C_ABI const char *LLVMGetValueName2(LLVMValueRef Val, size_t *Length);
*
* @see llvm::Value::setName()
*/
-LLVM_C_ABI void LLVMSetValueName2(LLVMValueRef Val, const char *Name, size_t NameLen);
+LLVM_C_ABI void LLVMSetValueName2(LLVMValueRef Val, const char *Name,
+ size_t NameLen);
/**
* Dump a representation of a value to stderr.
@@ -2003,7 +2042,8 @@ LLVM_C_ABI char *LLVMPrintDbgRecordToString(LLVMDbgRecordRef Record);
*
* @see llvm::Value::replaceAllUsesWith()
*/
-LLVM_C_ABI void LLVMReplaceAllUsesWith(LLVMValueRef OldVal, LLVMValueRef NewVal);
+LLVM_C_ABI void LLVMReplaceAllUsesWith(LLVMValueRef OldVal,
+ LLVMValueRef NewVal);
/**
* Determine whether the specified value instance is constant.
@@ -2031,7 +2071,7 @@ LLVM_C_ABI LLVMBool LLVMIsPoison(LLVMValueRef Val);
*
* @see llvm::dyn_cast_or_null<>
*/
-#define LLVM_DECLARE_VALUE_CAST(name) \
+#define LLVM_DECLARE_VALUE_CAST(name) \
LLVM_C_ABI LLVMValueRef LLVMIsA##name(LLVMValueRef Val);
LLVM_FOR_EACH_VALUE_SUBCLASS(LLVM_DECLARE_VALUE_CAST)
@@ -2130,7 +2170,8 @@ LLVM_C_ABI LLVMUseRef LLVMGetOperandUse(LLVMValueRef Val, unsigned Index);
*
* @see llvm::User::setOperand()
*/
-LLVM_C_ABI void LLVMSetOperand(LLVMValueRef User, unsigned Index, LLVMValueRef Val);
+LLVM_C_ABI void LLVMSetOperand(LLVMValueRef User, unsigned Index,
+ LLVMValueRef Val);
/**
* Obtain the number of operands in a llvm::User value.
@@ -2227,16 +2268,15 @@ LLVM_C_ABI LLVMValueRef LLVMConstPointerNull(LLVMTypeRef Ty);
* @param SignExtend Whether to sign extend the produced value.
*/
LLVM_C_ABI LLVMValueRef LLVMConstInt(LLVMTypeRef IntTy, unsigned long long N,
- LLVMBool SignExtend);
+ LLVMBool SignExtend);
/**
* Obtain a constant value for an integer of arbitrary precision.
*
* @see llvm::ConstantInt::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy,
- unsigned NumWords,
- const uint64_t Words[]);
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfArbitraryPrecision(
+ LLVMTypeRef IntTy, unsigned NumWords, const uint64_t Words[]);
/**
* Obtain a constant value for an integer parsed from a string.
@@ -2247,8 +2287,8 @@ LLVM_C_ABI LLVMValueRef LLVMConstIntOfArbitraryPrecision(LLVMTypeRef IntTy,
*
* @see llvm::ConstantInt::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text,
- uint8_t Radix);
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy,
+ const char *Text, uint8_t Radix);
/**
* Obtain a constant value for an integer parsed from a string with
@@ -2256,8 +2296,10 @@ LLVM_C_ABI LLVMValueRef LLVMConstIntOfString(LLVMTypeRef IntTy, const char *Text
*
* @see llvm::ConstantInt::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy, const char *Text,
- unsigned SLen, uint8_t Radix);
+LLVM_C_ABI LLVMValueRef LLVMConstIntOfStringAndSize(LLVMTypeRef IntTy,
+ const char *Text,
+ unsigned SLen,
+ uint8_t Radix);
/**
* Obtain a constant value referring to a double floating point value.
@@ -2270,20 +2312,23 @@ LLVM_C_ABI LLVMValueRef LLVMConstReal(LLVMTypeRef RealTy, double N);
* A similar API, LLVMConstRealOfStringAndSize is also available. It
* should be used if the input string's length is known.
*/
-LLVM_C_ABI LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy, const char *Text);
+LLVM_C_ABI LLVMValueRef LLVMConstRealOfString(LLVMTypeRef RealTy,
+ const char *Text);
/**
* Obtain a constant for a floating point value parsed from a string.
*/
-LLVM_C_ABI LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy, const char *Text,
- unsigned SLen);
+LLVM_C_ABI LLVMValueRef LLVMConstRealOfStringAndSize(LLVMTypeRef RealTy,
+ const char *Text,
+ unsigned SLen);
/**
* Obtain the zero extended value for an integer constant value.
*
* @see llvm::ConstantInt::getZExtValue()
*/
-LLVM_C_ABI unsigned long long LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal);
+LLVM_C_ABI unsigned long long
+LLVMConstIntGetZExtValue(LLVMValueRef ConstantVal);
/**
* Obtain the sign extended value for an integer constant value.
@@ -2298,7 +2343,8 @@ LLVM_C_ABI long long LLVMConstIntGetSExtValue(LLVMValueRef ConstantVal);
*
* @see llvm::ConstantFP::getDoubleValue
*/
-LLVM_C_ABI double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *losesInfo);
+LLVM_C_ABI double LLVMConstRealGetDouble(LLVMValueRef ConstantVal,
+ LLVMBool *losesInfo);
/**
* @}
@@ -2319,17 +2365,20 @@ LLVM_C_ABI double LLVMConstRealGetDouble(LLVMValueRef ConstantVal, LLVMBool *los
* accurate LLVMConstStringInContext2
* @see llvm::ConstantDataArray::getString()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstStringInContext(LLVMContextRef C, const char *Str,
- unsigned Length, LLVMBool DontNullTerminate);
+LLVM_C_ABI LLVMValueRef LLVMConstStringInContext(LLVMContextRef C,
+ const char *Str,
+ unsigned Length,
+ LLVMBool DontNullTerminate);
/**
* Create a ConstantDataSequential and initialize it with a string.
*
* @see llvm::ConstantDataArray::getString()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C, const char *Str,
- size_t Length,
- LLVMBool DontNullTerminate);
+LLVM_C_ABI LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C,
+ const char *Str,
+ size_t Length,
+ LLVMBool DontNullTerminate);
/**
* Create a ConstantDataSequential with string content in the global context.
@@ -2341,7 +2390,7 @@ LLVM_C_ABI LLVMValueRef LLVMConstStringInContext2(LLVMContextRef C, const char *
* @see llvm::ConstantDataArray::getString()
*/
LLVM_C_ABI LLVMValueRef LLVMConstString(const char *Str, unsigned Length,
- LLVMBool DontNullTerminate);
+ LLVMBool DontNullTerminate);
/**
* Returns true if the specified constant is an array of i8.
@@ -2365,7 +2414,8 @@ LLVM_C_ABI const char *LLVMGetAsString(LLVMValueRef c, size_t *Length);
*
* @see ConstantDataSequential::getRawDataValues()
*/
-LLVM_C_ABI const char *LLVMGetRawDataValues(LLVMValueRef c, size_t *SizeInBytes);
+LLVM_C_ABI const char *LLVMGetRawDataValues(LLVMValueRef c,
+ size_t *SizeInBytes);
/**
* Create an anonymous ConstantStruct with the specified values.
@@ -2373,8 +2423,9 @@ LLVM_C_ABI const char *LLVMGetRawDataValues(LLVMValueRef c, size_t *SizeInBytes)
* @see llvm::ConstantStruct::getAnon()
*/
LLVM_C_ABI LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
- LLVMValueRef *ConstantVals,
- unsigned Count, LLVMBool Packed);
+ LLVMValueRef *ConstantVals,
+ unsigned Count,
+ LLVMBool Packed);
/**
* Create a ConstantStruct in the global Context.
@@ -2384,8 +2435,8 @@ LLVM_C_ABI LLVMValueRef LLVMConstStructInContext(LLVMContextRef C,
*
* @see LLVMConstStructInContext()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Count,
- LLVMBool Packed);
+LLVM_C_ABI LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals,
+ unsigned Count, LLVMBool Packed);
/**
* Create a ConstantArray from values.
@@ -2395,15 +2446,17 @@ LLVM_C_ABI LLVMValueRef LLVMConstStruct(LLVMValueRef *ConstantVals, unsigned Cou
* @see llvm::ConstantArray::get()
*/
LLVM_C_ABI LLVMValueRef LLVMConstArray(LLVMTypeRef ElementTy,
- LLVMValueRef *ConstantVals, unsigned Length);
+ LLVMValueRef *ConstantVals,
+ unsigned Length);
/**
* Create a ConstantArray from values.
*
* @see llvm::ConstantArray::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *ConstantVals,
- uint64_t Length);
+LLVM_C_ABI LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy,
+ LLVMValueRef *ConstantVals,
+ uint64_t Length);
/**
* Create a ConstantDataArray from raw values.
@@ -2414,8 +2467,9 @@ LLVM_C_ABI LLVMValueRef LLVMConstArray2(LLVMTypeRef ElementTy, LLVMValueRef *Con
*
* @see llvm::ConstantDataArray::getRaw()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy, const char *Data,
- size_t SizeInBytes);
+LLVM_C_ABI LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy,
+ const char *Data,
+ size_t SizeInBytes);
/**
* Create a non-anonymous ConstantStruct from values.
@@ -2423,8 +2477,8 @@ LLVM_C_ABI LLVMValueRef LLVMConstDataArray(LLVMTypeRef ElementTy, const char *Da
* @see llvm::ConstantStruct::get()
*/
LLVM_C_ABI LLVMValueRef LLVMConstNamedStruct(LLVMTypeRef StructTy,
- LLVMValueRef *ConstantVals,
- unsigned Count);
+ LLVMValueRef *ConstantVals,
+ unsigned Count);
/**
* Get element of a constant aggregate (struct, array or vector) at the
@@ -2450,7 +2504,8 @@ LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(
*
* @see llvm::ConstantVector::get()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsigned Size);
+LLVM_C_ABI LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals,
+ unsigned Size);
/**
* Create a ConstantPtrAuth constant with the given values.
@@ -2458,7 +2513,8 @@ LLVM_C_ABI LLVMValueRef LLVMConstVector(LLVMValueRef *ScalarConstantVals, unsign
* @see llvm::ConstantPtrAuth::get()
*/
LLVM_C_ABI LLVMValueRef LLVMConstantPtrAuth(LLVMValueRef Ptr, LLVMValueRef Key,
- LLVMValueRef Disc, LLVMValueRef AddrDisc);
+ LLVMValueRef Disc,
+ LLVMValueRef AddrDisc);
/**
* @}
@@ -2482,46 +2538,58 @@ LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(
LLVMValueRef LLVMConstNUWNeg(LLVMValueRef ConstantVal),
"Use LLVMConstNull instead.");
LLVM_C_ABI LLVMValueRef LLVMConstNot(LLVMValueRef ConstantVal);
-LLVM_C_ABI LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstAdd(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNSWAdd(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNUWAdd(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstSub(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNSWSub(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstNUWSub(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstXor(LLVMValueRef LHSConstant,
+ LLVMValueRef RHSConstant);
LLVM_C_ABI LLVMValueRef LLVMConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
- LLVMValueRef *ConstantIndices, unsigned NumIndices);
-LLVM_C_ABI LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal,
- LLVMValueRef *ConstantIndices,
- unsigned NumIndices);
+ LLVMValueRef *ConstantIndices,
+ unsigned NumIndices);
+LLVM_C_ABI LLVMValueRef LLVMConstInBoundsGEP2(LLVMTypeRef Ty,
+ LLVMValueRef ConstantVal,
+ LLVMValueRef *ConstantIndices,
+ unsigned NumIndices);
/**
* Creates a constant GetElementPtr expression. Similar to LLVMConstGEP2, but
* allows specifying the no-wrap flags.
*
* @see llvm::ConstantExpr::getGetElementPtr()
*/
-LLVM_C_ABI LLVMValueRef LLVMConstGEPWithNoWrapFlags(LLVMTypeRef Ty,
- LLVMValueRef ConstantVal,
- LLVMValueRef *ConstantIndices,
- unsigned NumIndices,
- LLVMGEPNoWrapFlags NoWrapFlags);
-LLVM_C_ABI LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVM_C_ABI LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVM_C_ABI LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVM_C_ABI LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
-LLVM_C_ABI LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstGEPWithNoWrapFlags(
+ LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef *ConstantIndices,
+ unsigned NumIndices, LLVMGEPNoWrapFlags NoWrapFlags);
+LLVM_C_ABI LLVMValueRef LLVMConstTrunc(LLVMValueRef ConstantVal,
+ LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstPtrToInt(LLVMValueRef ConstantVal,
+ LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstIntToPtr(LLVMValueRef ConstantVal,
+ LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstBitCast(LLVMValueRef ConstantVal,
+ LLVMTypeRef ToType);
+LLVM_C_ABI LLVMValueRef LLVMConstAddrSpaceCast(LLVMValueRef ConstantVal,
+ LLVMTypeRef ToType);
LLVM_C_ABI LLVMValueRef LLVMConstTruncOrBitCast(LLVMValueRef ConstantVal,
- LLVMTypeRef ToType);
+ LLVMTypeRef ToType);
LLVM_C_ABI LLVMValueRef LLVMConstPointerCast(LLVMValueRef ConstantVal,
- LLVMTypeRef ToType);
+ LLVMTypeRef ToType);
LLVM_C_ABI LLVMValueRef LLVMConstExtractElement(LLVMValueRef VectorConstant,
- LLVMValueRef IndexConstant);
-LLVM_C_ABI LLVMValueRef LLVMConstInsertElement(LLVMValueRef VectorConstant,
- LLVMValueRef ElementValueConstant,
- LLVMValueRef IndexConstant);
+ LLVMValueRef IndexConstant);
+LLVM_C_ABI LLVMValueRef LLVMConstInsertElement(
+ LLVMValueRef VectorConstant, LLVMValueRef ElementValueConstant,
+ LLVMValueRef IndexConstant);
LLVM_C_ABI LLVMValueRef LLVMConstShuffleVector(LLVMValueRef VectorAConstant,
- LLVMValueRef VectorBConstant,
- LLVMValueRef MaskConstant);
+ LLVMValueRef VectorBConstant,
+ LLVMValueRef MaskConstant);
LLVM_C_ABI LLVMValueRef LLVMBlockAddress(LLVMValueRef F, LLVMBasicBlockRef BB);
/**
@@ -2532,12 +2600,15 @@ LLVM_C_ABI LLVMValueRef LLVMGetBlockAddressFunction(LLVMValueRef BlockAddr);
/**
* Gets the basic block associated with a given BlockAddress constant value.
*/
-LLVM_C_ABI LLVMBasicBlockRef LLVMGetBlockAddressBasicBlock(LLVMValueRef BlockAddr);
+LLVM_C_ABI LLVMBasicBlockRef
+LLVMGetBlockAddressBasicBlock(LLVMValueRef BlockAddr);
/** Deprecated: Use LLVMGetInlineAsm instead. */
LLVM_C_ABI LLVMValueRef LLVMConstInlineAsm(LLVMTypeRef Ty,
- const char *AsmString, const char *Constraints,
- LLVMBool HasSideEffects, LLVMBool IsAlignStack);
+ const char *AsmString,
+ const char *Constraints,
+ LLVMBool HasSideEffects,
+ LLVMBool IsAlignStack);
/**
* @}
@@ -2563,9 +2634,11 @@ LLVM_C_ABI void LLVMSetSection(LLVMValueRef Global, const char *Section);
LLVM_C_ABI LLVMVisibility LLVMGetVisibility(LLVMValueRef Global);
LLVM_C_ABI void LLVMSetVisibility(LLVMValueRef Global, LLVMVisibility Viz);
LLVM_C_ABI LLVMDLLStorageClass LLVMGetDLLStorageClass(LLVMValueRef Global);
-LLVM_C_ABI void LLVMSetDLLStorageClass(LLVMValueRef Global, LLVMDLLStorageClass Class);
+LLVM_C_ABI void LLVMSetDLLStorageClass(LLVMValueRef Global,
+ LLVMDLLStorageClass Class);
LLVM_C_ABI LLVMUnnamedAddr LLVMGetUnnamedAddress(LLVMValueRef Global);
-LLVM_C_ABI void LLVMSetUnnamedAddress(LLVMValueRef Global, LLVMUnnamedAddr UnnamedAddr);
+LLVM_C_ABI void LLVMSetUnnamedAddress(LLVMValueRef Global,
+ LLVMUnnamedAddr UnnamedAddr);
/**
* Returns the "value type" of a global value. This differs from the formal
@@ -2579,7 +2652,8 @@ LLVM_C_ABI LLVMTypeRef LLVMGlobalGetValueType(LLVMValueRef Global);
/** Deprecated: Use LLVMGetUnnamedAddress instead. */
LLVM_C_ABI LLVMBool LLVMHasUnnamedAddr(LLVMValueRef Global);
/** Deprecated: Use LLVMSetUnnamedAddress instead. */
-LLVM_C_ABI void LLVMSetUnnamedAddr(LLVMValueRef Global, LLVMBool HasUnnamedAddr);
+LLVM_C_ABI void LLVMSetUnnamedAddr(LLVMValueRef Global,
+ LLVMBool HasUnnamedAddr);
/**
* @defgroup LLVMCCoreValueWithAlignment Values with alignment
@@ -2617,7 +2691,7 @@ LLVM_C_ABI void LLVMSetAlignment(LLVMValueRef V, unsigned Bytes);
* @see llvm::GlobalObject::setMetadata()
*/
LLVM_C_ABI void LLVMGlobalSetMetadata(LLVMValueRef Global, unsigned Kind,
- LLVMMetadataRef MD);
+ LLVMMetadataRef MD);
/**
* Erases a metadata attachment of the given kind if it exists.
@@ -2640,27 +2714,28 @@ LLVM_C_ABI void LLVMGlobalClearMetadata(LLVMValueRef Global);
*
* @see llvm::GlobalObject::getAllMetadata()
*/
-LLVM_C_ABI LLVMValueMetadataEntry *LLVMGlobalCopyAllMetadata(LLVMValueRef Value,
- size_t *NumEntries);
+LLVM_C_ABI LLVMValueMetadataEntry *
+LLVMGlobalCopyAllMetadata(LLVMValueRef Value, size_t *NumEntries);
/**
* Destroys value metadata entries.
*/
-LLVM_C_ABI void LLVMDisposeValueMetadataEntries(LLVMValueMetadataEntry *Entries);
+LLVM_C_ABI void
+LLVMDisposeValueMetadataEntries(LLVMValueMetadataEntry *Entries);
/**
* Returns the kind of a value metadata entry at a specific index.
*/
-LLVM_C_ABI unsigned LLVMValueMetadataEntriesGetKind(LLVMValueMetadataEntry *Entries,
- unsigned Index);
+LLVM_C_ABI unsigned
+LLVMValueMetadataEntriesGetKind(LLVMValueMetadataEntry *Entries,
+ unsigned Index);
/**
* Returns the underlying metadata node of a value metadata entry at a
* specific index.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry *Entries,
- unsigned Index);
+LLVM_C_ABI LLVMMetadataRef LLVMValueMetadataEntriesGetMetadata(
+ LLVMValueMetadataEntry *Entries, unsigned Index);
/**
* @}
@@ -2675,28 +2750,36 @@ LLVMValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry *Entries,
*
* @{
*/
-LLVM_C_ABI LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M, LLVMTypeRef Ty,
- const char *Name,
- unsigned AddressSpace);
+LLVM_C_ABI LLVMValueRef LLVMAddGlobal(LLVMModuleRef M, LLVMTypeRef Ty,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMAddGlobalInAddressSpace(LLVMModuleRef M,
+ LLVMTypeRef Ty,
+ const char *Name,
+ unsigned AddressSpace);
LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobal(LLVMModuleRef M, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalWithLength(LLVMModuleRef M, const char *Name,
- size_t Length);
+LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalWithLength(LLVMModuleRef M,
+ const char *Name,
+ size_t Length);
LLVM_C_ABI LLVMValueRef LLVMGetFirstGlobal(LLVMModuleRef M);
LLVM_C_ABI LLVMValueRef LLVMGetLastGlobal(LLVMModuleRef M);
LLVM_C_ABI LLVMValueRef LLVMGetNextGlobal(LLVMValueRef GlobalVar);
LLVM_C_ABI LLVMValueRef LLVMGetPreviousGlobal(LLVMValueRef GlobalVar);
LLVM_C_ABI void LLVMDeleteGlobal(LLVMValueRef GlobalVar);
LLVM_C_ABI LLVMValueRef LLVMGetInitializer(LLVMValueRef GlobalVar);
-LLVM_C_ABI void LLVMSetInitializer(LLVMValueRef GlobalVar, LLVMValueRef ConstantVal);
+LLVM_C_ABI void LLVMSetInitializer(LLVMValueRef GlobalVar,
+ LLVMValueRef ConstantVal);
LLVM_C_ABI LLVMBool LLVMIsThreadLocal(LLVMValueRef GlobalVar);
-LLVM_C_ABI void LLVMSetThreadLocal(LLVMValueRef GlobalVar, LLVMBool IsThreadLocal);
+LLVM_C_ABI void LLVMSetThreadLocal(LLVMValueRef GlobalVar,
+ LLVMBool IsThreadLocal);
LLVM_C_ABI LLVMBool LLVMIsGlobalConstant(LLVMValueRef GlobalVar);
-LLVM_C_ABI void LLVMSetGlobalConstant(LLVMValueRef GlobalVar, LLVMBool IsConstant);
+LLVM_C_ABI void LLVMSetGlobalConstant(LLVMValueRef GlobalVar,
+ LLVMBool IsConstant);
LLVM_C_ABI LLVMThreadLocalMode LLVMGetThreadLocalMode(LLVMValueRef GlobalVar);
-LLVM_C_ABI void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar, LLVMThreadLocalMode Mode);
+LLVM_C_ABI void LLVMSetThreadLocalMode(LLVMValueRef GlobalVar,
+ LLVMThreadLocalMode Mode);
LLVM_C_ABI LLVMBool LLVMIsExternallyInitialized(LLVMValueRef GlobalVar);
-LLVM_C_ABI void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool IsExtInit);
+LLVM_C_ABI void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar,
+ LLVMBool IsExtInit);
/**
* @}
@@ -2718,8 +2801,8 @@ LLVM_C_ABI void LLVMSetExternallyInitialized(LLVMValueRef GlobalVar, LLVMBool Is
* @see llvm::GlobalAlias::create()
*/
LLVM_C_ABI LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy,
- unsigned AddrSpace, LLVMValueRef Aliasee,
- const char *Name);
+ unsigned AddrSpace, LLVMValueRef Aliasee,
+ const char *Name);
/**
* Obtain a GlobalAlias value from a Module by its name.
@@ -2729,7 +2812,8 @@ LLVM_C_ABI LLVMValueRef LLVMAddAlias2(LLVMModuleRef M, LLVMTypeRef ValueTy,
* @see llvm::Module::getNamedAlias()
*/
LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalAlias(LLVMModuleRef M,
- const char *Name, size_t NameLen);
+ const char *Name,
+ size_t NameLen);
/**
* Obtain an iterator to the first GlobalAlias in a Module.
@@ -2812,7 +2896,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetPersonalityFn(LLVMValueRef Fn);
*
* @see llvm::Function::setPersonalityFn()
*/
-LLVM_C_ABI void LLVMSetPersonalityFn(LLVMValueRef Fn, LLVMValueRef PersonalityFn);
+LLVM_C_ABI void LLVMSetPersonalityFn(LLVMValueRef Fn,
+ LLVMValueRef PersonalityFn);
/**
* Obtain the intrinsic ID number which matches the given function name.
@@ -2835,9 +2920,9 @@ LLVM_C_ABI unsigned LLVMGetIntrinsicID(LLVMValueRef Fn);
* @see llvm::Intrinsic::getOrInsertDeclaration()
*/
LLVM_C_ABI LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod,
- unsigned ID,
- LLVMTypeRef *ParamTypes,
- size_t ParamCount);
+ unsigned ID,
+ LLVMTypeRef *ParamTypes,
+ size_t ParamCount);
/**
* Retrieves the type of an intrinsic. For overloaded intrinsics, parameter
@@ -2846,7 +2931,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetIntrinsicDeclaration(LLVMModuleRef Mod,
* @see llvm::Intrinsic::getType()
*/
LLVM_C_ABI LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID,
- LLVMTypeRef *ParamTypes, size_t ParamCount);
+ LLVMTypeRef *ParamTypes,
+ size_t ParamCount);
/**
* Retrieves the name of an intrinsic.
@@ -2856,8 +2942,10 @@ LLVM_C_ABI LLVMTypeRef LLVMIntrinsicGetType(LLVMContextRef Ctx, unsigned ID,
LLVM_C_ABI const char *LLVMIntrinsicGetName(unsigned ID, size_t *NameLength);
/** Deprecated: Use LLVMIntrinsicCopyOverloadedName2 instead. */
-LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *ParamTypes,
- size_t ParamCount, size_t *NameLength);
+LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName(unsigned ID,
+ LLVMTypeRef *ParamTypes,
+ size_t ParamCount,
+ size_t *NameLength);
/**
* Copies the name of an overloaded intrinsic identified by a given list of
@@ -2870,9 +2958,11 @@ LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName(unsigned ID, LLVMTypeRef *Param
*
* @see llvm::Intrinsic::getName()
*/
-LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod, unsigned ID,
- LLVMTypeRef *ParamTypes,
- size_t ParamCount, size_t *NameLength);
+LLVM_C_ABI char *LLVMIntrinsicCopyOverloadedName2(LLVMModuleRef Mod,
+ unsigned ID,
+ LLVMTypeRef *ParamTypes,
+ size_t ParamCount,
+ size_t *NameLength);
/**
* Obtain if the intrinsic identified by the given ID is overloaded.
@@ -2959,27 +3049,30 @@ LLVM_C_ABI void LLVMSetPrologueData(LLVMValueRef Fn, LLVMValueRef prologueData);
* @see llvm::Function::addAttribute()
*/
LLVM_C_ABI void LLVMAddAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
- LLVMAttributeRef A);
-LLVM_C_ABI unsigned LLVMGetAttributeCountAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx);
+ LLVMAttributeRef A);
+LLVM_C_ABI unsigned LLVMGetAttributeCountAtIndex(LLVMValueRef F,
+ LLVMAttributeIndex Idx);
LLVM_C_ABI void LLVMGetAttributesAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
- LLVMAttributeRef *Attrs);
+ LLVMAttributeRef *Attrs);
LLVM_C_ABI LLVMAttributeRef LLVMGetEnumAttributeAtIndex(LLVMValueRef F,
- LLVMAttributeIndex Idx,
- unsigned KindID);
-LLVM_C_ABI LLVMAttributeRef LLVMGetStringAttributeAtIndex(LLVMValueRef F,
+ LLVMAttributeIndex Idx,
+ unsigned KindID);
+LLVM_C_ABI LLVMAttributeRef LLVMGetStringAttributeAtIndex(
+ LLVMValueRef F, LLVMAttributeIndex Idx, const char *K, unsigned KLen);
+LLVM_C_ABI void LLVMRemoveEnumAttributeAtIndex(LLVMValueRef F,
LLVMAttributeIndex Idx,
- const char *K, unsigned KLen);
-LLVM_C_ABI void LLVMRemoveEnumAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
- unsigned KindID);
-LLVM_C_ABI void LLVMRemoveStringAttributeAtIndex(LLVMValueRef F, LLVMAttributeIndex Idx,
- const char *K, unsigned KLen);
+ unsigned KindID);
+LLVM_C_ABI void LLVMRemoveStringAttributeAtIndex(LLVMValueRef F,
+ LLVMAttributeIndex Idx,
+ const char *K, unsigned KLen);
/**
* Add a target-dependent attribute to a function
* @see llvm::AttrBuilder::addAttribute()
*/
-LLVM_C_ABI void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn, const char *A,
- const char *V);
+LLVM_C_ABI void LLVMAddTargetDependentFunctionAttr(LLVMValueRef Fn,
+ const char *A,
+ const char *V);
/**
* @defgroup LLVMCCoreValueFunctionParameters Function Parameters
@@ -3090,10 +3183,10 @@ LLVM_C_ABI void LLVMSetParamAlignment(LLVMValueRef Arg, unsigned Align);
*
* @see llvm::GlobalIFunc::create()
*/
-LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M,
- const char *Name, size_t NameLen,
- LLVMTypeRef Ty, unsigned AddrSpace,
- LLVMValueRef Resolver);
+LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M, const char *Name,
+ size_t NameLen, LLVMTypeRef Ty,
+ unsigned AddrSpace,
+ LLVMValueRef Resolver);
/**
* Obtain a GlobalIFunc value from a Module by its name.
@@ -3103,7 +3196,8 @@ LLVM_C_ABI LLVMValueRef LLVMAddGlobalIFunc(LLVMModuleRef M,
* @see llvm::Module::getNamedIFunc()
*/
LLVM_C_ABI LLVMValueRef LLVMGetNamedGlobalIFunc(LLVMModuleRef M,
- const char *Name, size_t NameLen);
+ const char *Name,
+ size_t NameLen);
/**
* Obtain an iterator to the first GlobalIFunc in a Module.
@@ -3148,7 +3242,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetGlobalIFuncResolver(LLVMValueRef IFunc);
*
* @see llvm::GlobalIFunc::setResolver()
*/
-LLVM_C_ABI void LLVMSetGlobalIFuncResolver(LLVMValueRef IFunc, LLVMValueRef Resolver);
+LLVM_C_ABI void LLVMSetGlobalIFuncResolver(LLVMValueRef IFunc,
+ LLVMValueRef Resolver);
/**
* Remove a global indirect function from its parent module and delete it.
@@ -3197,21 +3292,23 @@ LLVM_C_ABI void LLVMRemoveGlobalIFunc(LLVMValueRef IFunc);
*
* @see llvm::MDString::get()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C, const char *Str,
- size_t SLen);
+LLVM_C_ABI LLVMMetadataRef LLVMMDStringInContext2(LLVMContextRef C,
+ const char *Str, size_t SLen);
/**
* Create an MDNode value with the given array of operands.
*
* @see llvm::MDNode::get()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C, LLVMMetadataRef *MDs,
- size_t Count);
+LLVM_C_ABI LLVMMetadataRef LLVMMDNodeInContext2(LLVMContextRef C,
+ LLVMMetadataRef *MDs,
+ size_t Count);
/**
* Obtain a Metadata as a Value.
*/
-LLVM_C_ABI LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C, LLVMMetadataRef MD);
+LLVM_C_ABI LLVMValueRef LLVMMetadataAsValue(LLVMContextRef C,
+ LLVMMetadataRef MD);
/**
* Obtain a Value as a Metadata.
@@ -3254,16 +3351,16 @@ LLVM_C_ABI void LLVMGetMDNodeOperands(LLVMValueRef V, LLVMValueRef *Dest);
* @see llvm::MDNode::replaceOperandWith()
*/
LLVM_C_ABI void LLVMReplaceMDNodeOperandWith(LLVMValueRef V, unsigned Index,
- LLVMMetadataRef Replacement);
+ LLVMMetadataRef Replacement);
/** Deprecated: Use LLVMMDStringInContext2 instead. */
LLVM_C_ABI LLVMValueRef LLVMMDStringInContext(LLVMContextRef C, const char *Str,
- unsigned SLen);
+ unsigned SLen);
/** Deprecated: Use LLVMMDStringInContext2 instead. */
LLVM_C_ABI LLVMValueRef LLVMMDString(const char *Str, unsigned SLen);
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
-LLVM_C_ABI LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C, LLVMValueRef *Vals,
- unsigned Count);
+LLVM_C_ABI LLVMValueRef LLVMMDNodeInContext(LLVMContextRef C,
+ LLVMValueRef *Vals, unsigned Count);
/** Deprecated: Use LLVMMDNodeInContext2 instead. */
LLVM_C_ABI LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
@@ -3293,9 +3390,10 @@ LLVM_C_ABI LLVMValueRef LLVMMDNode(LLVMValueRef *Vals, unsigned Count);
* @param Args Memory address of an array of bundle operands
* @param NumArgs Length of Args
*/
-LLVM_C_ABI LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag, size_t TagLen,
- LLVMValueRef *Args,
- unsigned NumArgs);
+LLVM_C_ABI LLVMOperandBundleRef LLVMCreateOperandBundle(const char *Tag,
+ size_t TagLen,
+ LLVMValueRef *Args,
+ unsigned NumArgs);
/**
* Destroy an operand bundle.
@@ -3313,7 +3411,8 @@ LLVM_C_ABI void LLVMDisposeOperandBundle(LLVMOperandBundleRef Bundle);
* @return The tag name of Bundle.
* @see OperandBundleDef::getTag()
*/
-LLVM_C_ABI const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle, size_t *Len);
+LLVM_C_ABI const char *LLVMGetOperandBundleTag(LLVMOperandBundleRef Bundle,
+ size_t *Len);
/**
* Obtain the number of operands for an operand bundle.
@@ -3332,8 +3431,8 @@ LLVM_C_ABI unsigned LLVMGetNumOperandBundleArgs(LLVMOperandBundleRef Bundle);
* LLVMGetNumOperandBundleArgs().
* @return The operand.
*/
-LLVM_C_ABI LLVMValueRef LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle,
- unsigned Index);
+LLVM_C_ABI LLVMValueRef
+LLVMGetOperandBundleArgAtIndex(LLVMOperandBundleRef Bundle, unsigned Index);
/**
* @}
@@ -3410,7 +3509,8 @@ LLVM_C_ABI unsigned LLVMCountBasicBlocks(LLVMValueRef Fn);
* LLVMCountBasicBlocks() in length. This array is populated with
* LLVMBasicBlockRef instances.
*/
-LLVM_C_ABI void LLVMGetBasicBlocks(LLVMValueRef Fn, LLVMBasicBlockRef *BasicBlocks);
+LLVM_C_ABI void LLVMGetBasicBlocks(LLVMValueRef Fn,
+ LLVMBasicBlockRef *BasicBlocks);
/**
* Obtain the first basic block in a function.
@@ -3454,8 +3554,9 @@ LLVM_C_ABI LLVMBasicBlockRef LLVMGetEntryBasicBlock(LLVMValueRef Fn);
*
* @see llvm::Function::BasicBlockListType::insertAfter()
*/
-LLVM_C_ABI void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder,
- LLVMBasicBlockRef BB);
+LLVM_C_ABI void
+LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Builder,
+ LLVMBasicBlockRef BB);
/**
* Append the given basic block to the basic block list of the given function.
@@ -3463,7 +3564,7 @@ LLVM_C_ABI void LLVMInsertExistingBasicBlockAfterInsertBlock(LLVMBuilderRef Buil
* @see llvm::Function::BasicBlockListType::push_back()
*/
LLVM_C_ABI void LLVMAppendExistingBasicBlock(LLVMValueRef Fn,
- LLVMBasicBlockRef BB);
+ LLVMBasicBlockRef BB);
/**
* Create a new basic block without inserting it into a function.
@@ -3471,7 +3572,7 @@ LLVM_C_ABI void LLVMAppendExistingBasicBlock(LLVMValueRef Fn,
* @see llvm::BasicBlock::Create()
*/
LLVM_C_ABI LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C,
- const char *Name);
+ const char *Name);
/**
* Append a basic block to the end of a function.
@@ -3479,8 +3580,8 @@ LLVM_C_ABI LLVMBasicBlockRef LLVMCreateBasicBlockInContext(LLVMContextRef C,
* @see llvm::BasicBlock::Create()
*/
LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C,
- LLVMValueRef Fn,
- const char *Name);
+ LLVMValueRef Fn,
+ const char *Name);
/**
* Append a basic block to the end of a function using the global
@@ -3488,7 +3589,8 @@ LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlockInContext(LLVMContextRef C,
*
* @see llvm::BasicBlock::Create()
*/
-LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *Name);
+LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn,
+ const char *Name);
/**
* Insert a basic block in a function before another basic block.
@@ -3499,16 +3601,16 @@ LLVM_C_ABI LLVMBasicBlockRef LLVMAppendBasicBlock(LLVMValueRef Fn, const char *N
* @see llvm::BasicBlock::Create()
*/
LLVM_C_ABI LLVMBasicBlockRef LLVMInsertBasicBlockInContext(LLVMContextRef C,
- LLVMBasicBlockRef BB,
- const char *Name);
+ LLVMBasicBlockRef BB,
+ const char *Name);
/**
* Insert a basic block in a function using the global context.
*
* @see llvm::BasicBlock::Create()
*/
-LLVM_C_ABI LLVMBasicBlockRef LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB,
- const char *Name);
+LLVM_C_ABI LLVMBasicBlockRef
+LLVMInsertBasicBlock(LLVMBasicBlockRef InsertBeforeBB, const char *Name);
/**
* Remove a basic block from a function and delete it.
@@ -3535,14 +3637,16 @@ LLVM_C_ABI void LLVMRemoveBasicBlockFromParent(LLVMBasicBlockRef BB);
*
* @see llvm::BasicBlock::moveBefore()
*/
-LLVM_C_ABI void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
+LLVM_C_ABI void LLVMMoveBasicBlockBefore(LLVMBasicBlockRef BB,
+ LLVMBasicBlockRef MovePos);
/**
* Move a basic block to after another one.
*
* @see llvm::BasicBlock::moveAfter()
*/
-LLVM_C_ABI void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB, LLVMBasicBlockRef MovePos);
+LLVM_C_ABI void LLVMMoveBasicBlockAfter(LLVMBasicBlockRef BB,
+ LLVMBasicBlockRef MovePos);
/**
* Obtain the first instruction in a basic block.
@@ -3593,7 +3697,8 @@ LLVM_C_ABI LLVMValueRef LLVMGetMetadata(LLVMValueRef Val, unsigned KindID);
/**
* Set metadata associated with an instruction value.
*/
-LLVM_C_ABI void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID, LLVMValueRef Node);
+LLVM_C_ABI void LLVMSetMetadata(LLVMValueRef Val, unsigned KindID,
+ LLVMValueRef Node);
/**
* Returns the metadata associated with an instruction value, but filters out
@@ -3737,7 +3842,8 @@ LLVM_C_ABI LLVMDbgRecordRef LLVMGetNextDbgRecord(LLVMDbgRecordRef DbgRecord);
*
* @see llvm::Instruction::getDbgRecordRange()
*/
-LLVM_C_ABI LLVMDbgRecordRef LLVMGetPreviousDbgRecord(LLVMDbgRecordRef DbgRecord);
+LLVM_C_ABI LLVMDbgRecordRef
+LLVMGetPreviousDbgRecord(LLVMDbgRecordRef DbgRecord);
/**
* @defgroup LLVMCCoreValueInstructionCall Call Sites and Invocations
@@ -3782,24 +3888,28 @@ LLVM_C_ABI void LLVMSetInstructionCallConv(LLVMValueRef Instr, unsigned CC);
*/
LLVM_C_ABI unsigned LLVMGetInstructionCallConv(LLVMValueRef Instr);
-LLVM_C_ABI void LLVMSetInstrParamAlignment(LLVMValueRef Instr, LLVMAttributeIndex Idx,
- unsigned Align);
+LLVM_C_ABI void LLVMSetInstrParamAlignment(LLVMValueRef Instr,
+ LLVMAttributeIndex Idx,
+ unsigned Align);
LLVM_C_ABI void LLVMAddCallSiteAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
- LLVMAttributeRef A);
-LLVM_C_ABI unsigned LLVMGetCallSiteAttributeCount(LLVMValueRef C, LLVMAttributeIndex Idx);
-LLVM_C_ABI void LLVMGetCallSiteAttributes(LLVMValueRef C, LLVMAttributeIndex Idx,
- LLVMAttributeRef *Attrs);
+ LLVMAttributeRef A);
+LLVM_C_ABI unsigned LLVMGetCallSiteAttributeCount(LLVMValueRef C,
+ LLVMAttributeIndex Idx);
+LLVM_C_ABI void LLVMGetCallSiteAttributes(LLVMValueRef C,
+ LLVMAttributeIndex Idx,
+ LLVMAttributeRef *Attrs);
LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteEnumAttribute(LLVMValueRef C,
- LLVMAttributeIndex Idx,
- unsigned KindID);
-LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteStringAttribute(LLVMValueRef C,
+ LLVMAttributeIndex Idx,
+ unsigned KindID);
+LLVM_C_ABI LLVMAttributeRef LLVMGetCallSiteStringAttribute(
+ LLVMValueRef C, LLVMAttributeIndex Idx, const char *K, unsigned KLen);
+LLVM_C_ABI void LLVMRemoveCallSiteEnumAttribute(LLVMValueRef C,
LLVMAttributeIndex Idx,
- const char *K, unsigned KLen);
-LLVM_C_ABI void LLVMRemoveCallSiteEnumAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
- unsigned KindID);
-LLVM_C_ABI void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C, LLVMAttributeIndex Idx,
- const char *K, unsigned KLen);
+ unsigned KindID);
+LLVM_C_ABI void LLVMRemoveCallSiteStringAttribute(LLVMValueRef C,
+ LLVMAttributeIndex Idx,
+ const char *K, unsigned KLen);
/**
* Obtain the function type called by this instruction.
@@ -3835,7 +3945,7 @@ LLVM_C_ABI unsigned LLVMGetNumOperandBundles(LLVMValueRef C);
* This only works on llvm::CallInst and llvm::InvokeInst instructions.
*/
LLVM_C_ABI LLVMOperandBundleRef LLVMGetOperandBundleAtIndex(LLVMValueRef C,
- unsigned Index);
+ unsigned Index);
/**
* Obtain whether a call instruction is a tail call.
@@ -3867,7 +3977,8 @@ LLVM_C_ABI LLVMTailCallKind LLVMGetTailCallKind(LLVMValueRef CallInst);
*
* @see llvm::CallInst::getTailCallKind()
*/
-LLVM_C_ABI void LLVMSetTailCallKind(LLVMValueRef CallInst, LLVMTailCallKind kind);
+LLVM_C_ABI void LLVMSetTailCallKind(LLVMValueRef CallInst,
+ LLVMTailCallKind kind);
/**
* Return the normal destination basic block.
@@ -3931,7 +4042,8 @@ LLVM_C_ABI unsigned LLVMGetCallBrNumIndirectDests(LLVMValueRef CallBr);
*
* @see llvm::CallBrInst::getIndirectDest()
*/
-LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrIndirectDest(LLVMValueRef CallBr, unsigned Idx);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetCallBrIndirectDest(LLVMValueRef CallBr,
+ unsigned Idx);
/**
* @}
@@ -3965,7 +4077,8 @@ LLVM_C_ABI LLVMBasicBlockRef LLVMGetSuccessor(LLVMValueRef Term, unsigned i);
*
* @see llvm::Instruction::setSuccessor
*/
-LLVM_C_ABI void LLVMSetSuccessor(LLVMValueRef Term, unsigned i, LLVMBasicBlockRef block);
+LLVM_C_ABI void LLVMSetSuccessor(LLVMValueRef Term, unsigned i,
+ LLVMBasicBlockRef block);
/**
* Return if a branch is conditional.
@@ -4061,7 +4174,8 @@ LLVM_C_ABI LLVMGEPNoWrapFlags LLVMGEPGetNoWrapFlags(LLVMValueRef GEP);
*
* @see llvm::GetElementPtrInst::setNoWrapFlags
*/
-LLVM_C_ABI void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWrapFlags);
+LLVM_C_ABI void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP,
+ LLVMGEPNoWrapFlags NoWrapFlags);
/**
* @}
@@ -4079,8 +4193,10 @@ LLVM_C_ABI void LLVMGEPSetNoWrapFlags(LLVMValueRef GEP, LLVMGEPNoWrapFlags NoWra
/**
* Add an incoming value to the end of a PHI list.
*/
-LLVM_C_ABI void LLVMAddIncoming(LLVMValueRef PhiNode, LLVMValueRef *IncomingValues,
- LLVMBasicBlockRef *IncomingBlocks, unsigned Count);
+LLVM_C_ABI void LLVMAddIncoming(LLVMValueRef PhiNode,
+ LLVMValueRef *IncomingValues,
+ LLVMBasicBlockRef *IncomingBlocks,
+ unsigned Count);
/**
* Obtain the number of incoming basic blocks to a PHI node.
@@ -4090,12 +4206,14 @@ LLVM_C_ABI unsigned LLVMCountIncoming(LLVMValueRef PhiNode);
/**
* Obtain an incoming value to a PHI node as an LLVMValueRef.
*/
-LLVM_C_ABI LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode, unsigned Index);
+LLVM_C_ABI LLVMValueRef LLVMGetIncomingValue(LLVMValueRef PhiNode,
+ unsigned Index);
/**
* Obtain an incoming value to a PHI node as an LLVMBasicBlockRef.
*/
-LLVM_C_ABI LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode, unsigned Index);
+LLVM_C_ABI LLVMBasicBlockRef LLVMGetIncomingBlock(LLVMValueRef PhiNode,
+ unsigned Index);
/**
* @}
@@ -4149,30 +4267,36 @@ LLVM_C_ABI LLVMBuilderRef LLVMCreateBuilder(void);
* Set the builder position before Instr but after any attached debug records,
* or if Instr is null set the position to the end of Block.
*/
-LLVM_C_ABI void LLVMPositionBuilder(LLVMBuilderRef Builder, LLVMBasicBlockRef Block,
- LLVMValueRef Instr);
+LLVM_C_ABI void LLVMPositionBuilder(LLVMBuilderRef Builder,
+ LLVMBasicBlockRef Block,
+ LLVMValueRef Instr);
/**
* Set the builder position before Instr and any attached debug records,
* or if Instr is null set the position to the end of Block.
*/
LLVM_C_ABI void LLVMPositionBuilderBeforeDbgRecords(LLVMBuilderRef Builder,
- LLVMBasicBlockRef Block,
- LLVMValueRef Inst);
+ LLVMBasicBlockRef Block,
+ LLVMValueRef Inst);
/**
* Set the builder position before Instr but after any attached debug records.
*/
-LLVM_C_ABI void LLVMPositionBuilderBefore(LLVMBuilderRef Builder, LLVMValueRef Instr);
+LLVM_C_ABI void LLVMPositionBuilderBefore(LLVMBuilderRef Builder,
+ LLVMValueRef Instr);
/**
* Set the builder position before Instr and any attached debug records.
*/
-LLVM_C_ABI void LLVMPositionBuilderBeforeInstrAndDbgRecords(LLVMBuilderRef Builder,
- LLVMValueRef Instr);
-LLVM_C_ABI void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder, LLVMBasicBlockRef Block);
+LLVM_C_ABI void
+LLVMPositionBuilderBeforeInstrAndDbgRecords(LLVMBuilderRef Builder,
+ LLVMValueRef Instr);
+LLVM_C_ABI void LLVMPositionBuilderAtEnd(LLVMBuilderRef Builder,
+ LLVMBasicBlockRef Block);
LLVM_C_ABI LLVMBasicBlockRef LLVMGetInsertBlock(LLVMBuilderRef Builder);
LLVM_C_ABI void LLVMClearInsertionPosition(LLVMBuilderRef Builder);
-LLVM_C_ABI void LLVMInsertIntoBuilder(LLVMBuilderRef Builder, LLVMValueRef Instr);
-LLVM_C_ABI void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder, LLVMValueRef Instr,
- const char *Name);
+LLVM_C_ABI void LLVMInsertIntoBuilder(LLVMBuilderRef Builder,
+ LLVMValueRef Instr);
+LLVM_C_ABI void LLVMInsertIntoBuilderWithName(LLVMBuilderRef Builder,
+ LLVMValueRef Instr,
+ const char *Name);
LLVM_C_ABI void LLVMDisposeBuilder(LLVMBuilderRef Builder);
/* Metadata */
@@ -4191,7 +4315,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMGetCurrentDebugLocation2(LLVMBuilderRef Builder);
*
* @see llvm::IRBuilder::SetCurrentDebugLocation()
*/
-LLVM_C_ABI void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadataRef Loc);
+LLVM_C_ABI void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder,
+ LLVMMetadataRef Loc);
/**
* Attempts to set the debug location for the given instruction using the
@@ -4203,21 +4328,24 @@ LLVM_C_ABI void LLVMSetCurrentDebugLocation2(LLVMBuilderRef Builder, LLVMMetadat
*
* @see llvm::IRBuilder::SetInstDebugLocation()
*/
-LLVM_C_ABI void LLVMSetInstDebugLocation(LLVMBuilderRef Builder, LLVMValueRef Inst);
+LLVM_C_ABI void LLVMSetInstDebugLocation(LLVMBuilderRef Builder,
+ LLVMValueRef Inst);
/**
* Adds the metadata registered with the given builder to the given instruction.
*
* @see llvm::IRBuilder::AddMetadataToInst()
*/
-LLVM_C_ABI void LLVMAddMetadataToInst(LLVMBuilderRef Builder, LLVMValueRef Inst);
+LLVM_C_ABI void LLVMAddMetadataToInst(LLVMBuilderRef Builder,
+ LLVMValueRef Inst);
/**
* Get the dafult floating-point math metadata for a given builder.
*
* @see llvm::IRBuilder::getDefaultFPMathTag()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder);
+LLVM_C_ABI LLVMMetadataRef
+LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder);
/**
* Set the default floating-point math metadata for the given builder.
@@ -4227,7 +4355,7 @@ LLVM_C_ABI LLVMMetadataRef LLVMBuilderGetDefaultFPMathTag(LLVMBuilderRef Builder
* @see llvm::IRBuilder::setDefaultFPMathTag()
*/
LLVM_C_ABI void LLVMBuilderSetDefaultFPMathTag(LLVMBuilderRef Builder,
- LLVMMetadataRef FPMathTag);
+ LLVMMetadataRef FPMathTag);
/**
* Obtain the context to which this builder is associated.
@@ -4240,7 +4368,8 @@ LLVM_C_ABI LLVMContextRef LLVMGetBuilderContext(LLVMBuilderRef Builder);
* Deprecated: Passing the NULL location will crash.
* Use LLVMGetCurrentDebugLocation2 instead.
*/
-LLVM_C_ABI void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder, LLVMValueRef L);
+LLVM_C_ABI void LLVMSetCurrentDebugLocation(LLVMBuilderRef Builder,
+ LLVMValueRef L);
/**
* Deprecated: Returning the NULL location will crash.
* Use LLVMGetCurrentDebugLocation2 instead.
@@ -4250,25 +4379,29 @@ LLVM_C_ABI LLVMValueRef LLVMGetCurrentDebugLocation(LLVMBuilderRef Builder);
/* Terminators */
LLVM_C_ABI LLVMValueRef LLVMBuildRetVoid(LLVMBuilderRef);
LLVM_C_ABI LLVMValueRef LLVMBuildRet(LLVMBuilderRef, LLVMValueRef V);
-LLVM_C_ABI LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef, LLVMValueRef *RetVals,
- unsigned N);
+LLVM_C_ABI LLVMValueRef LLVMBuildAggregateRet(LLVMBuilderRef,
+ LLVMValueRef *RetVals,
+ unsigned N);
LLVM_C_ABI LLVMValueRef LLVMBuildBr(LLVMBuilderRef, LLVMBasicBlockRef Dest);
LLVM_C_ABI LLVMValueRef LLVMBuildCondBr(LLVMBuilderRef, LLVMValueRef If,
- LLVMBasicBlockRef Then, LLVMBasicBlockRef Else);
+ LLVMBasicBlockRef Then,
+ LLVMBasicBlockRef Else);
LLVM_C_ABI LLVMValueRef LLVMBuildSwitch(LLVMBuilderRef, LLVMValueRef V,
- LLVMBasicBlockRef Else, unsigned NumCases);
+ LLVMBasicBlockRef Else,
+ unsigned NumCases);
LLVM_C_ABI LLVMValueRef LLVMBuildIndirectBr(LLVMBuilderRef B, LLVMValueRef Addr,
- unsigned NumDests);
-LLVM_C_ABI LLVMValueRef LLVMBuildCallBr(LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn,
- LLVMBasicBlockRef DefaultDest,
- LLVMBasicBlockRef *IndirectDests,
- unsigned NumIndirectDests, LLVMValueRef *Args,
- unsigned NumArgs, LLVMOperandBundleRef *Bundles,
- unsigned NumBundles, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildInvoke2(LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn,
- LLVMValueRef *Args, unsigned NumArgs,
- LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
- const char *Name);
+ unsigned NumDests);
+LLVM_C_ABI LLVMValueRef LLVMBuildCallBr(
+ LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Fn,
+ LLVMBasicBlockRef DefaultDest, LLVMBasicBlockRef *IndirectDests,
+ unsigned NumIndirectDests, LLVMValueRef *Args, unsigned NumArgs,
+ LLVMOperandBundleRef *Bundles, unsigned NumBundles, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildInvoke2(LLVMBuilderRef, LLVMTypeRef Ty,
+ LLVMValueRef Fn, LLVMValueRef *Args,
+ unsigned NumArgs,
+ LLVMBasicBlockRef Then,
+ LLVMBasicBlockRef Catch,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildInvokeWithOperandBundles(
LLVMBuilderRef, LLVMTypeRef Ty, LLVMValueRef Fn, LLVMValueRef *Args,
unsigned NumArgs, LLVMBasicBlockRef Then, LLVMBasicBlockRef Catch,
@@ -4278,28 +4411,36 @@ LLVM_C_ABI LLVMValueRef LLVMBuildUnreachable(LLVMBuilderRef);
/* Exception Handling */
LLVM_C_ABI LLVMValueRef LLVMBuildResume(LLVMBuilderRef B, LLVMValueRef Exn);
LLVM_C_ABI LLVMValueRef LLVMBuildLandingPad(LLVMBuilderRef B, LLVMTypeRef Ty,
- LLVMValueRef PersFn, unsigned NumClauses,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildCleanupRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
- LLVMBasicBlockRef BB);
-LLVM_C_ABI LLVMValueRef LLVMBuildCatchRet(LLVMBuilderRef B, LLVMValueRef CatchPad,
- LLVMBasicBlockRef BB);
-LLVM_C_ABI LLVMValueRef LLVMBuildCatchPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
- LLVMValueRef *Args, unsigned NumArgs,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildCleanupPad(LLVMBuilderRef B, LLVMValueRef ParentPad,
- LLVMValueRef *Args, unsigned NumArgs,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildCatchSwitch(LLVMBuilderRef B, LLVMValueRef ParentPad,
- LLVMBasicBlockRef UnwindBB,
- unsigned NumHandlers, const char *Name);
+ LLVMValueRef PersFn,
+ unsigned NumClauses,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCleanupRet(LLVMBuilderRef B,
+ LLVMValueRef CatchPad,
+ LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchRet(LLVMBuilderRef B,
+ LLVMValueRef CatchPad,
+ LLVMBasicBlockRef BB);
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchPad(LLVMBuilderRef B,
+ LLVMValueRef ParentPad,
+ LLVMValueRef *Args, unsigned NumArgs,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCleanupPad(LLVMBuilderRef B,
+ LLVMValueRef ParentPad,
+ LLVMValueRef *Args,
+ unsigned NumArgs, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCatchSwitch(LLVMBuilderRef B,
+ LLVMValueRef ParentPad,
+ LLVMBasicBlockRef UnwindBB,
+ unsigned NumHandlers,
+ const char *Name);
/* Add a case to the switch instruction */
LLVM_C_ABI void LLVMAddCase(LLVMValueRef Switch, LLVMValueRef OnVal,
- LLVMBasicBlockRef Dest);
+ LLVMBasicBlockRef Dest);
/* Add a destination to the indirectbr instruction */
-LLVM_C_ABI void LLVMAddDestination(LLVMValueRef IndirectBr, LLVMBasicBlockRef Dest);
+LLVM_C_ABI void LLVMAddDestination(LLVMValueRef IndirectBr,
+ LLVMBasicBlockRef Dest);
/* Get the number of clauses on the landingpad instruction */
LLVM_C_ABI unsigned LLVMGetNumClauses(LLVMValueRef LandingPad);
@@ -4317,7 +4458,8 @@ LLVM_C_ABI LLVMBool LLVMIsCleanup(LLVMValueRef LandingPad);
LLVM_C_ABI void LLVMSetCleanup(LLVMValueRef LandingPad, LLVMBool Val);
/* Add a destination to the catchswitch instruction */
-LLVM_C_ABI void LLVMAddHandler(LLVMValueRef CatchSwitch, LLVMBasicBlockRef Dest);
+LLVM_C_ABI void LLVMAddHandler(LLVMValueRef CatchSwitch,
+ LLVMBasicBlockRef Dest);
/* Get the number of handlers on the catchswitch instruction */
LLVM_C_ABI unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
@@ -4333,7 +4475,8 @@ LLVM_C_ABI unsigned LLVMGetNumHandlers(LLVMValueRef CatchSwitch);
* @param CatchSwitch The catchswitch instruction to operate on.
* @param Handlers Memory address of an array to be filled with basic blocks.
*/
-LLVM_C_ABI void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Handlers);
+LLVM_C_ABI void LLVMGetHandlers(LLVMValueRef CatchSwitch,
+ LLVMBasicBlockRef *Handlers);
/* Funclets */
@@ -4341,7 +4484,8 @@ LLVM_C_ABI void LLVMGetHandlers(LLVMValueRef CatchSwitch, LLVMBasicBlockRef *Han
LLVM_C_ABI LLVMValueRef LLVMGetArgOperand(LLVMValueRef Funclet, unsigned i);
/* Set a funcletpad argument at the given index. */
-LLVM_C_ABI void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i, LLVMValueRef value);
+LLVM_C_ABI void LLVMSetArgOperand(LLVMValueRef Funclet, unsigned i,
+ LLVMValueRef value);
/**
* Get the parent catchswitch instruction of a catchpad instruction.
@@ -4359,73 +4503,77 @@ LLVM_C_ABI LLVMValueRef LLVMGetParentCatchSwitch(LLVMValueRef CatchPad);
*
* @see llvm::CatchPadInst::setCatchSwitch()
*/
-LLVM_C_ABI void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad, LLVMValueRef CatchSwitch);
+LLVM_C_ABI void LLVMSetParentCatchSwitch(LLVMValueRef CatchPad,
+ LLVMValueRef CatchSwitch);
/* Arithmetic */
-LLVM_C_ABI LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildExactUDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildAdd(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWAdd(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWAdd(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFAdd(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildSub(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWSub(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWSub(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFSub(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildMul(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNSWMul(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNUWMul(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFMul(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildUDiv(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildExactUDiv(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildSDiv(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildExactSDiv(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFDiv(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildURem(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildSRem(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFRem(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildShl(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildLShr(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildAShr(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildAnd(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildOr(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildXor(LLVMBuilderRef, LLVMValueRef LHS,
+ LLVMValueRef RHS, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildBinOp(LLVMBuilderRef B, LLVMOpcode Op,
- LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
+ LLVMValueRef LHS, LLVMValueRef RHS,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNeg(LLVMBuilderRef, LLVMValueRef V,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildNSWNeg(LLVMBuilderRef B, LLVMValueRef V,
- const char *Name);
-LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B,
- LLVMValueRef V,
- const char *Name),
- "Use LLVMBuildNeg + LLVMSetNUW instead.");
-LLVM_C_ABI LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V, const char *Name);
+ const char *Name);
+LLVM_C_ABI LLVM_ATTRIBUTE_C_DEPRECATED(
+ LLVMValueRef LLVMBuildNUWNeg(LLVMBuilderRef B, LLVMValueRef V,
+ const char *Name),
+ "Use LLVMBuildNeg + LLVMSetNUW instead.");
+LLVM_C_ABI LLVMValueRef LLVMBuildFNeg(LLVMBuilderRef, LLVMValueRef V,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildNot(LLVMBuilderRef, LLVMValueRef V,
+ const char *Name);
LLVM_C_ABI LLVMBool LLVMGetNUW(LLVMValueRef ArithInst);
LLVM_C_ABI void LLVMSetNUW(LLVMValueRef ArithInst, LLVMBool HasNUW);
@@ -4461,7 +4609,8 @@ LLVM_C_ABI LLVMFastMathFlags LLVMGetFastMathFlags(LLVMValueRef FPMathInst);
* Only valid on floating point instructions.
* @see LLVMCanValueUseFastMathFlags
*/
-LLVM_C_ABI void LLVMSetFastMathFlags(LLVMValueRef FPMathInst, LLVMFastMathFlags FMF);
+LLVM_C_ABI void LLVMSetFastMathFlags(LLVMValueRef FPMathInst,
+ LLVMFastMathFlags FMF);
/**
* Check if a given value can potentially have fast math flags.
@@ -4484,9 +4633,11 @@ LLVM_C_ABI LLVMBool LLVMGetIsDisjoint(LLVMValueRef Inst);
LLVM_C_ABI void LLVMSetIsDisjoint(LLVMValueRef Inst, LLVMBool IsDisjoint);
/* Memory */
-LLVM_C_ABI LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
- LLVMValueRef Val, const char *Name);
+ LLVMValueRef Val,
+ const char *Name);
/**
* Creates and inserts a memset to the specified pointer and the
@@ -4495,190 +4646,213 @@ LLVM_C_ABI LLVMValueRef LLVMBuildArrayMalloc(LLVMBuilderRef, LLVMTypeRef Ty,
* @see llvm::IRRBuilder::CreateMemSet()
*/
LLVM_C_ABI LLVMValueRef LLVMBuildMemSet(LLVMBuilderRef B, LLVMValueRef Ptr,
- LLVMValueRef Val, LLVMValueRef Len,
- unsigned Align);
+ LLVMValueRef Val, LLVMValueRef Len,
+ unsigned Align);
/**
* Creates and inserts a memcpy between the specified pointers.
*
* @see llvm::IRRBuilder::CreateMemCpy()
*/
-LLVM_C_ABI LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B,
- LLVMValueRef Dst, unsigned DstAlign,
- LLVMValueRef Src, unsigned SrcAlign,
- LLVMValueRef Size);
+LLVM_C_ABI LLVMValueRef LLVMBuildMemCpy(LLVMBuilderRef B, LLVMValueRef Dst,
+ unsigned DstAlign, LLVMValueRef Src,
+ unsigned SrcAlign, LLVMValueRef Size);
/**
* Creates and inserts a memmove between the specified pointers.
*
* @see llvm::IRRBuilder::CreateMemMove()
*/
-LLVM_C_ABI LLVMValueRef LLVMBuildMemMove(LLVMBuilderRef B,
- LLVMValueRef Dst, unsigned DstAlign,
- LLVMValueRef Src, unsigned SrcAlign,
- LLVMValueRef Size);
+LLVM_C_ABI LLVMValueRef LLVMBuildMemMove(LLVMBuilderRef B, LLVMValueRef Dst,
+ unsigned DstAlign, LLVMValueRef Src,
+ unsigned SrcAlign, LLVMValueRef Size);
-LLVM_C_ABI LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildAlloca(LLVMBuilderRef, LLVMTypeRef Ty,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildArrayAlloca(LLVMBuilderRef, LLVMTypeRef Ty,
- LLVMValueRef Val, const char *Name);
+ LLVMValueRef Val,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFree(LLVMBuilderRef, LLVMValueRef PointerVal);
LLVM_C_ABI LLVMValueRef LLVMBuildLoad2(LLVMBuilderRef, LLVMTypeRef Ty,
- LLVMValueRef PointerVal, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val, LLVMValueRef Ptr);
+ LLVMValueRef PointerVal,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildStore(LLVMBuilderRef, LLVMValueRef Val,
+ LLVMValueRef Ptr);
LLVM_C_ABI LLVMValueRef LLVMBuildGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
- LLVMValueRef Pointer, LLVMValueRef *Indices,
- unsigned NumIndices, const char *Name);
+ LLVMValueRef Pointer,
+ LLVMValueRef *Indices,
+ unsigned NumIndices, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildInBoundsGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
- LLVMValueRef Pointer, LLVMValueRef *Indices,
- unsigned NumIndices, const char *Name);
+ LLVMValueRef Pointer,
+ LLVMValueRef *Indices,
+ unsigned NumIndices,
+ const char *Name);
/**
* Creates a GetElementPtr instruction. Similar to LLVMBuildGEP2, but allows
* specifying the no-wrap flags.
*
* @see llvm::IRBuilder::CreateGEP()
*/
-LLVM_C_ABI LLVMValueRef LLVMBuildGEPWithNoWrapFlags(LLVMBuilderRef B, LLVMTypeRef Ty,
- LLVMValueRef Pointer,
- LLVMValueRef *Indices,
- unsigned NumIndices, const char *Name,
- LLVMGEPNoWrapFlags NoWrapFlags);
+LLVM_C_ABI LLVMValueRef LLVMBuildGEPWithNoWrapFlags(
+ LLVMBuilderRef B, LLVMTypeRef Ty, LLVMValueRef Pointer,
+ LLVMValueRef *Indices, unsigned NumIndices, const char *Name,
+ LLVMGEPNoWrapFlags NoWrapFlags);
LLVM_C_ABI LLVMValueRef LLVMBuildStructGEP2(LLVMBuilderRef B, LLVMTypeRef Ty,
- LLVMValueRef Pointer, unsigned Idx,
- const char *Name);
+ LLVMValueRef Pointer, unsigned Idx,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildGlobalString(LLVMBuilderRef B, const char *Str,
- const char *Name);
+ const char *Name);
/**
* Deprecated: Use LLVMBuildGlobalString instead, which has identical behavior.
*/
-LLVM_C_ABI LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B, const char *Str,
- const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildGlobalStringPtr(LLVMBuilderRef B,
+ const char *Str,
+ const char *Name);
LLVM_C_ABI LLVMBool LLVMGetVolatile(LLVMValueRef MemoryAccessInst);
-LLVM_C_ABI void LLVMSetVolatile(LLVMValueRef MemoryAccessInst, LLVMBool IsVolatile);
+LLVM_C_ABI void LLVMSetVolatile(LLVMValueRef MemoryAccessInst,
+ LLVMBool IsVolatile);
LLVM_C_ABI LLVMBool LLVMGetWeak(LLVMValueRef CmpXchgInst);
LLVM_C_ABI void LLVMSetWeak(LLVMValueRef CmpXchgInst, LLVMBool IsWeak);
LLVM_C_ABI LLVMAtomicOrdering LLVMGetOrdering(LLVMValueRef MemoryAccessInst);
-LLVM_C_ABI void LLVMSetOrdering(LLVMValueRef MemoryAccessInst, LLVMAtomicOrdering Ordering);
+LLVM_C_ABI void LLVMSetOrdering(LLVMValueRef MemoryAccessInst,
+ LLVMAtomicOrdering Ordering);
LLVM_C_ABI LLVMAtomicRMWBinOp LLVMGetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst);
-LLVM_C_ABI void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst, LLVMAtomicRMWBinOp BinOp);
+LLVM_C_ABI void LLVMSetAtomicRMWBinOp(LLVMValueRef AtomicRMWInst,
+ LLVMAtomicRMWBinOp BinOp);
/* Casts */
LLVM_C_ABI LLVMValueRef LLVMBuildTrunc(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildZExt(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildSExt(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFPToUI(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFPToSI(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildUIToFP(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildSIToFP(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFPTrunc(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFPExt(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildPtrToInt(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildIntToPtr(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildBitCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildAddrSpaceCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildZExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildSExtOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildTruncOrBitCast(LLVMBuilderRef,
+ LLVMValueRef Val,
+ LLVMTypeRef DestTy,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCast(LLVMBuilderRef B, LLVMOpcode Op,
+ LLVMValueRef Val, LLVMTypeRef DestTy,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildPointerCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildIntCast2(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, LLVMBool IsSigned,
- const char *Name);
+ LLVMTypeRef DestTy, LLVMBool IsSigned,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFPCast(LLVMBuilderRef, LLVMValueRef Val,
- LLVMTypeRef DestTy, const char *Name);
+ LLVMTypeRef DestTy, const char *Name);
/** Deprecated: This cast is always signed. Use LLVMBuildIntCast2 instead. */
-LLVM_C_ABI LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef, LLVMValueRef Val, /*Signed cast!*/
- LLVMTypeRef DestTy, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildIntCast(LLVMBuilderRef,
+ LLVMValueRef Val, /*Signed cast!*/
+ LLVMTypeRef DestTy, const char *Name);
LLVM_C_ABI LLVMOpcode LLVMGetCastOpcode(LLVMValueRef Src, LLVMBool SrcIsSigned,
- LLVMTypeRef DestTy, LLVMBool DestIsSigned);
+ LLVMTypeRef DestTy,
+ LLVMBool DestIsSigned);
/* Comparisons */
LLVM_C_ABI LLVMValueRef LLVMBuildICmp(LLVMBuilderRef, LLVMIntPredicate Op,
- LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
+ LLVMValueRef LHS, LLVMValueRef RHS,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFCmp(LLVMBuilderRef, LLVMRealPredicate Op,
- LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
+ LLVMValueRef LHS, LLVMValueRef RHS,
+ const char *Name);
/* Miscellaneous instructions */
-LLVM_C_ABI LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildCall2(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn,
- LLVMValueRef *Args, unsigned NumArgs,
- const char *Name);
-LLVM_C_ABI LLVMValueRef
-LLVMBuildCallWithOperandBundles(LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn,
- LLVMValueRef *Args, unsigned NumArgs,
- LLVMOperandBundleRef *Bundles,
- unsigned NumBundles, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildPhi(LLVMBuilderRef, LLVMTypeRef Ty,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCall2(LLVMBuilderRef, LLVMTypeRef,
+ LLVMValueRef Fn, LLVMValueRef *Args,
+ unsigned NumArgs, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildCallWithOperandBundles(
+ LLVMBuilderRef, LLVMTypeRef, LLVMValueRef Fn, LLVMValueRef *Args,
+ unsigned NumArgs, LLVMOperandBundleRef *Bundles, unsigned NumBundles,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildSelect(LLVMBuilderRef, LLVMValueRef If,
- LLVMValueRef Then, LLVMValueRef Else,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List, LLVMTypeRef Ty,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef, LLVMValueRef VecVal,
- LLVMValueRef Index, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef, LLVMValueRef VecVal,
- LLVMValueRef EltVal, LLVMValueRef Index,
- const char *Name);
+ LLVMValueRef Then, LLVMValueRef Else,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildVAArg(LLVMBuilderRef, LLVMValueRef List,
+ LLVMTypeRef Ty, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildExtractElement(LLVMBuilderRef,
+ LLVMValueRef VecVal,
+ LLVMValueRef Index,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildInsertElement(LLVMBuilderRef,
+ LLVMValueRef VecVal,
+ LLVMValueRef EltVal,
+ LLVMValueRef Index,
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildShuffleVector(LLVMBuilderRef, LLVMValueRef V1,
- LLVMValueRef V2, LLVMValueRef Mask,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef, LLVMValueRef AggVal,
- unsigned Index, const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef, LLVMValueRef AggVal,
- LLVMValueRef EltVal, unsigned Index,
- const char *Name);
+ LLVMValueRef V2,
+ LLVMValueRef Mask,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildExtractValue(LLVMBuilderRef,
+ LLVMValueRef AggVal,
+ unsigned Index, const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildInsertValue(LLVMBuilderRef,
+ LLVMValueRef AggVal,
+ LLVMValueRef EltVal,
+ unsigned Index, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFreeze(LLVMBuilderRef, LLVMValueRef Val,
- const char *Name);
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildIsNull(LLVMBuilderRef, LLVMValueRef Val,
- const char *Name);
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildIsNotNull(LLVMBuilderRef, LLVMValueRef Val,
- const char *Name);
+ const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildPtrDiff2(LLVMBuilderRef, LLVMTypeRef ElemTy,
- LLVMValueRef LHS, LLVMValueRef RHS,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildFence(LLVMBuilderRef B, LLVMAtomicOrdering ordering,
- LLVMBool singleThread, const char *Name);
+ LLVMValueRef LHS, LLVMValueRef RHS,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildFence(LLVMBuilderRef B,
+ LLVMAtomicOrdering ordering,
+ LLVMBool singleThread, const char *Name);
LLVM_C_ABI LLVMValueRef LLVMBuildFenceSyncScope(LLVMBuilderRef B,
- LLVMAtomicOrdering ordering, unsigned SSID,
- const char *Name);
-LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B, LLVMAtomicRMWBinOp op,
- LLVMValueRef PTR, LLVMValueRef Val,
- LLVMAtomicOrdering ordering,
- LLVMBool singleThread);
-LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMWSyncScope(LLVMBuilderRef B,
- LLVMAtomicRMWBinOp op,
- LLVMValueRef PTR, LLVMValueRef Val,
- LLVMAtomicOrdering ordering,
- unsigned SSID);
-LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchg(LLVMBuilderRef B, LLVMValueRef Ptr,
- LLVMValueRef Cmp, LLVMValueRef New,
- LLVMAtomicOrdering SuccessOrdering,
- LLVMAtomicOrdering FailureOrdering,
- LLVMBool SingleThread);
-LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope(LLVMBuilderRef B, LLVMValueRef Ptr,
- LLVMValueRef Cmp, LLVMValueRef New,
- LLVMAtomicOrdering SuccessOrdering,
- LLVMAtomicOrdering FailureOrdering,
- unsigned SSID);
+ LLVMAtomicOrdering ordering,
+ unsigned SSID,
+ const char *Name);
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMW(LLVMBuilderRef B,
+ LLVMAtomicRMWBinOp op,
+ LLVMValueRef PTR, LLVMValueRef Val,
+ LLVMAtomicOrdering ordering,
+ LLVMBool singleThread);
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicRMWSyncScope(
+ LLVMBuilderRef B, LLVMAtomicRMWBinOp op, LLVMValueRef PTR, LLVMValueRef Val,
+ LLVMAtomicOrdering ordering, unsigned SSID);
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchg(
+ LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New,
+ LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering,
+ LLVMBool SingleThread);
+LLVM_C_ABI LLVMValueRef LLVMBuildAtomicCmpXchgSyncScope(
+ LLVMBuilderRef B, LLVMValueRef Ptr, LLVMValueRef Cmp, LLVMValueRef New,
+ LLVMAtomicOrdering SuccessOrdering, LLVMAtomicOrdering FailureOrdering,
+ unsigned SSID);
/**
* Get the number of elements in the mask of a ShuffleVector instruction.
@@ -4701,7 +4875,8 @@ LLVM_C_ABI int LLVMGetUndefMaskElem(void);
LLVM_C_ABI int LLVMGetMaskValue(LLVMValueRef ShuffleVectorInst, unsigned Elt);
LLVM_C_ABI LLVMBool LLVMIsAtomicSingleThread(LLVMValueRef AtomicInst);
-LLVM_C_ABI void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst, LLVMBool SingleThread);
+LLVM_C_ABI void LLVMSetAtomicSingleThread(LLVMValueRef AtomicInst,
+ LLVMBool SingleThread);
/**
* Returns whether an instruction is an atomic instruction, e.g., atomicrmw,
@@ -4717,14 +4892,17 @@ LLVM_C_ABI unsigned LLVMGetAtomicSyncScopeID(LLVMValueRef AtomicInst);
/**
* Sets the synchronization scope ID of an atomic instruction.
*/
-LLVM_C_ABI void LLVMSetAtomicSyncScopeID(LLVMValueRef AtomicInst, unsigned SSID);
+LLVM_C_ABI void LLVMSetAtomicSyncScopeID(LLVMValueRef AtomicInst,
+ unsigned SSID);
-LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst);
+LLVM_C_ABI LLVMAtomicOrdering
+LLVMGetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst);
LLVM_C_ABI void LLVMSetCmpXchgSuccessOrdering(LLVMValueRef CmpXchgInst,
- LLVMAtomicOrdering Ordering);
-LLVM_C_ABI LLVMAtomicOrdering LLVMGetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst);
+ LLVMAtomicOrdering Ordering);
+LLVM_C_ABI LLVMAtomicOrdering
+LLVMGetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst);
LLVM_C_ABI void LLVMSetCmpXchgFailureOrdering(LLVMValueRef CmpXchgInst,
- LLVMAtomicOrdering Ordering);
+ LLVMAtomicOrdering Ordering);
/**
* @}
@@ -4758,18 +4936,15 @@ LLVM_C_ABI void LLVMDisposeModuleProvider(LLVMModuleProviderRef M);
* @{
*/
-LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(const char *Path,
- LLVMMemoryBufferRef *OutMemBuf,
- char **OutMessage);
-LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithSTDIN(LLVMMemoryBufferRef *OutMemBuf,
- char **OutMessage);
-LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(const char *InputData,
- size_t InputDataLength,
- const char *BufferName,
- LLVMBool RequiresNullTerminator);
-LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(const char *InputData,
- size_t InputDataLength,
- const char *BufferName);
+LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithContentsOfFile(
+ const char *Path, LLVMMemoryBufferRef *OutMemBuf, char **OutMessage);
+LLVM_C_ABI LLVMBool LLVMCreateMemoryBufferWithSTDIN(
+ LLVMMemoryBufferRef *OutMemBuf, char **OutMessage);
+LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRange(
+ const char *InputData, size_t InputDataLength, const char *BufferName,
+ LLVMBool RequiresNullTerminator);
+LLVM_C_ABI LLVMMemoryBufferRef LLVMCreateMemoryBufferWithMemoryRangeCopy(
+ const char *InputData, size_t InputDataLength, const char *BufferName);
LLVM_C_ABI const char *LLVMGetBufferStart(LLVMMemoryBufferRef MemBuf);
LLVM_C_ABI size_t LLVMGetBufferSize(LLVMMemoryBufferRef MemBuf);
LLVM_C_ABI void LLVMDisposeMemoryBuffer(LLVMMemoryBufferRef MemBuf);
@@ -4794,10 +4969,12 @@ LLVM_C_ABI LLVMPassManagerRef LLVMCreatePassManager(void);
provider. It does not take ownership of the module provider. This type of
pipeline is suitable for code generation and JIT compilation tasks.
@see llvm::FunctionPassManager::FunctionPassManager */
-LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M);
+LLVM_C_ABI LLVMPassManagerRef
+LLVMCreateFunctionPassManagerForModule(LLVMModuleRef M);
/** Deprecated: Use LLVMCreateFunctionPassManagerForModule instead. */
-LLVM_C_ABI LLVMPassManagerRef LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP);
+LLVM_C_ABI LLVMPassManagerRef
+LLVMCreateFunctionPassManager(LLVMModuleProviderRef MP);
/** Initializes, executes on the provided module, and finalizes all of the
passes scheduled in the pass manager. Returns 1 if any of the passes
@@ -4814,7 +4991,8 @@ LLVM_C_ABI LLVMBool LLVMInitializeFunctionPassManager(LLVMPassManagerRef FPM);
on the provided function. Returns 1 if any of the passes modified the
function, false otherwise.
@see llvm::FunctionPassManager::run(Function&) */
-LLVM_C_ABI LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM, LLVMValueRef F);
+LLVM_C_ABI LLVMBool LLVMRunFunctionPassManager(LLVMPassManagerRef FPM,
+ LLVMValueRef F);
/** Finalizes all of the function passes scheduled in the function pass
manager. Returns 1 if any of the passes modified the module, 0 otherwise.
diff --git a/llvm/include/llvm-c/DebugInfo.h b/llvm/include/llvm-c/DebugInfo.h
index 1530c66f39cef..1ff9c101e16e0 100644
--- a/llvm/include/llvm-c/DebugInfo.h
+++ b/llvm/include/llvm-c/DebugInfo.h
@@ -16,9 +16,9 @@
#ifndef LLVM_C_DEBUGINFO_H
#define LLVM_C_DEBUGINFO_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -243,7 +243,8 @@ LLVM_C_ABI LLVMBool LLVMStripModuleDebugInfo(LLVMModuleRef Module);
* Construct a builder for a module, and do not allow for unresolved nodes
* attached to the module.
*/
-LLVM_C_ABI LLVMDIBuilderRef LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M);
+LLVM_C_ABI LLVMDIBuilderRef
+LLVMCreateDIBuilderDisallowUnresolved(LLVMModuleRef M);
/**
* Construct a builder for a module and collect unresolved nodes attached
@@ -268,7 +269,7 @@ LLVM_C_ABI void LLVMDIBuilderFinalize(LLVMDIBuilderRef Builder);
* No new variables may be added to this subprogram afterwards.
*/
LLVM_C_ABI void LLVMDIBuilderFinalizeSubprogram(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Subprogram);
+ LLVMMetadataRef Subprogram);
/**
* A CompileUnit provides an anchor for all debugging
@@ -319,10 +320,11 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateCompileUnit(
* \param Directory Directory.
* \param DirectoryLen The length of the C string passed to \c Directory.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
- size_t FilenameLen, const char *Directory,
- size_t DirectoryLen);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder,
+ const char *Filename,
+ size_t FilenameLen,
+ const char *Directory,
+ size_t DirectoryLen);
/**
* Creates a new descriptor for a module with the specified parent scope.
@@ -338,12 +340,11 @@ LLVMDIBuilderCreateFile(LLVMDIBuilderRef Builder, const char *Filename,
* \param APINotesFile The path to an API notes file for the module.
* \param APINotesFileLen The length of the C string passed to \c APINotestFile.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope,
- const char *Name, size_t NameLen,
- const char *ConfigMacros, size_t ConfigMacrosLen,
- const char *IncludePath, size_t IncludePathLen,
- const char *APINotesFile, size_t APINotesFileLen);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateModule(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name,
+ size_t NameLen, const char *ConfigMacros, size_t ConfigMacrosLen,
+ const char *IncludePath, size_t IncludePathLen, const char *APINotesFile,
+ size_t APINotesFileLen);
/**
* Creates a new descriptor for a namespace with the specified parent scope.
@@ -354,11 +355,9 @@ LLVMDIBuilderCreateModule(LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope,
* \param ExportSymbols Whether or not the namespace exports symbols, e.g.
* this is true of C++ inline namespaces.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateNameSpace(LLVMDIBuilderRef Builder,
- LLVMMetadataRef ParentScope,
- const char *Name, size_t NameLen,
- LLVMBool ExportSymbols);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateNameSpace(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef ParentScope, const char *Name,
+ size_t NameLen, LLVMBool ExportSymbols);
/**
* Create a new descriptor for the specified subprogram.
@@ -382,8 +381,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateFunction(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, const char *LinkageName, size_t LinkageNameLen,
LLVMMetadataRef File, unsigned LineNo, LLVMMetadataRef Ty,
- LLVMBool IsLocalToUnit, LLVMBool IsDefinition,
- unsigned ScopeLine, LLVMDIFlags Flags, LLVMBool IsOptimized);
+ LLVMBool IsLocalToUnit, LLVMBool IsDefinition, unsigned ScopeLine,
+ LLVMDIFlags Flags, LLVMBool IsOptimized);
/**
* Create a descriptor for a lexical block with the specified parent context.
@@ -394,8 +393,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateFunction(
* \param Column The column in the source file.
*/
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(
- LLVMDIBuilderRef Builder, LLVMMetadataRef Scope,
- LLVMMetadataRef File, unsigned Line, unsigned Column);
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File,
+ unsigned Line, unsigned Column);
/**
* Create a descriptor for a lexical block with a new file attached.
@@ -404,11 +403,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlock(
* \param File Source file.
* \param Discriminator DWARF path discriminator value.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Scope,
- LLVMMetadataRef File,
- unsigned Discriminator);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLexicalBlockFile(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef File,
+ unsigned Discriminator);
/**
* Create a descriptor for an imported namespace. Suitable for e.g. C++
@@ -418,12 +415,9 @@ LLVMDIBuilderCreateLexicalBlockFile(LLVMDIBuilderRef Builder,
* \param File File where the declaration is located.
* \param Line Line number of the declaration.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateImportedModuleFromNamespace(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Scope,
- LLVMMetadataRef NS,
- LLVMMetadataRef File,
- unsigned Line);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedModuleFromNamespace(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, LLVMMetadataRef NS,
+ LLVMMetadataRef File, unsigned Line);
/**
* Create a descriptor for an imported module that aliases another
@@ -486,10 +480,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateImportedDeclaration(
* \note If the item to which this location is attached cannot be
* attributed to a source line, pass 0 for the line and column.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateDebugLocation(LLVMContextRef Ctx, unsigned Line,
- unsigned Column, LLVMMetadataRef Scope,
- LLVMMetadataRef InlinedAt);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateDebugLocation(
+ LLVMContextRef Ctx, unsigned Line, unsigned Column, LLVMMetadataRef Scope,
+ LLVMMetadataRef InlinedAt);
/**
* Get the line number of this debug location.
@@ -538,7 +531,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIScopeGetFile(LLVMMetadataRef Scope);
*
* @see DIFile::getDirectory()
*/
-LLVM_C_ABI const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Len);
+LLVM_C_ABI const char *LLVMDIFileGetDirectory(LLVMMetadataRef File,
+ unsigned *Len);
/**
* Get the name of a given file.
@@ -547,7 +541,8 @@ LLVM_C_ABI const char *LLVMDIFileGetDirectory(LLVMMetadataRef File, unsigned *Le
*
* @see DIFile::getFilename()
*/
-LLVM_C_ABI const char *LLVMDIFileGetFilename(LLVMMetadataRef File, unsigned *Len);
+LLVM_C_ABI const char *LLVMDIFileGetFilename(LLVMMetadataRef File,
+ unsigned *Len);
/**
* Get the source of a given file.
@@ -564,9 +559,8 @@ LLVM_C_ABI const char *LLVMDIFileGetSource(LLVMMetadataRef File, unsigned *Len);
* \param Data The type elements.
* \param NumElements Number of type elements.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Builder,
- LLVMMetadataRef *Data,
- size_t NumElements);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements);
/**
* Create subroutine type.
@@ -578,12 +572,10 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateTypeArray(LLVMDIBuilderRef Bu
* \param Flags E.g.: \c LLVMDIFlagLValueReference.
* These flags are used to emit dwarf attributes.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef File,
- LLVMMetadataRef *ParameterTypes,
- unsigned NumParameterTypes,
- LLVMDIFlags Flags);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateSubroutineType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef File,
+ LLVMMetadataRef *ParameterTypes, unsigned NumParameterTypes,
+ LLVMDIFlags Flags);
/**
* Create debugging information entry for a macro.
@@ -596,12 +588,10 @@ LLVMDIBuilderCreateSubroutineType(LLVMDIBuilderRef Builder,
* @param Value Macro value.
* @param ValueLen Macro value length.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
- LLVMMetadataRef ParentMacroFile,
- unsigned Line,
- LLVMDWARFMacinfoRecordType RecordType,
- const char *Name, size_t NameLen,
- const char *Value, size_t ValueLen);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMacro(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line,
+ LLVMDWARFMacinfoRecordType RecordType, const char *Name, size_t NameLen,
+ const char *Value, size_t ValueLen);
/**
* Create debugging information temporary entry for a macro file.
@@ -612,10 +602,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMacro(LLVMDIBuilderRef Builder,
* @param Line Source line number where the macro file is included.
* @param File File descriptor containing the name of the macro file.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
- LLVMMetadataRef ParentMacroFile, unsigned Line,
- LLVMMetadataRef File);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateTempMacroFile(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef ParentMacroFile, unsigned Line,
+ LLVMMetadataRef File);
/**
* Create debugging information entry for an enumerator.
@@ -625,10 +614,9 @@ LLVMDIBuilderCreateTempMacroFile(LLVMDIBuilderRef Builder,
* @param Value Enumerator value.
* @param IsUnsigned True if the value is unsigned.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumerator(LLVMDIBuilderRef Builder,
- const char *Name, size_t NameLen,
- int64_t Value,
- LLVMBool IsUnsigned);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateEnumerator(
+ LLVMDIBuilderRef Builder, const char *Name, size_t NameLen, int64_t Value,
+ LLVMBool IsUnsigned);
/**
* Create debugging information entry for an enumerator of arbitrary precision.
@@ -687,7 +675,6 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateUnionType(
LLVMMetadataRef *Elements, unsigned NumElements, unsigned RunTimeLang,
const char *UniqueId, size_t UniqueIdLen);
-
/**
* Create debugging information entry for an array.
* \param Builder The DIBuilder.
@@ -697,11 +684,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateUnionType(
* \param Subscripts Subscripts.
* \param NumSubscripts Number of subscripts.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder, uint64_t Size,
- uint32_t AlignInBits, LLVMMetadataRef Ty,
- LLVMMetadataRef *Subscripts,
- unsigned NumSubscripts);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateArrayType(
+ LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits,
+ LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts);
/**
* Create debugging information entry for a vector type.
@@ -712,11 +697,9 @@ LLVMDIBuilderCreateArrayType(LLVMDIBuilderRef Builder, uint64_t Size,
* \param Subscripts Subscripts.
* \param NumSubscripts Number of subscripts.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder, uint64_t Size,
- uint32_t AlignInBits, LLVMMetadataRef Ty,
- LLVMMetadataRef *Subscripts,
- unsigned NumSubscripts);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateVectorType(
+ LLVMDIBuilderRef Builder, uint64_t Size, uint32_t AlignInBits,
+ LLVMMetadataRef Ty, LLVMMetadataRef *Subscripts, unsigned NumSubscripts);
/**
* Create a DWARF unspecified type.
@@ -724,9 +707,8 @@ LLVMDIBuilderCreateVectorType(LLVMDIBuilderRef Builder, uint64_t Size,
* \param Name The unspecified type's name.
* \param NameLen Length of type name.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder, const char *Name,
- size_t NameLen);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateUnspecifiedType(
+ LLVMDIBuilderRef Builder, const char *Name, size_t NameLen);
/**
* Create debugging information entry for a basic
@@ -738,11 +720,9 @@ LLVMDIBuilderCreateUnspecifiedType(LLVMDIBuilderRef Builder, const char *Name,
* \param Encoding DWARF encoding code, e.g. \c LLVMDWARFTypeEncoding_float.
* \param Flags Flags to encode optional attribute like endianity
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder, const char *Name,
- size_t NameLen, uint64_t SizeInBits,
- LLVMDWARFTypeEncoding Encoding,
- LLVMDIFlags Flags);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateBasicType(
+ LLVMDIBuilderRef Builder, const char *Name, size_t NameLen,
+ uint64_t SizeInBits, LLVMDWARFTypeEncoding Encoding, LLVMDIFlags Flags);
/**
* Create debugging information entry for a pointer.
@@ -755,9 +735,9 @@ LLVMDIBuilderCreateBasicType(LLVMDIBuilderRef Builder, const char *Name,
* \param NameLen Length of pointer type name. (optional)
*/
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreatePointerType(
- LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy,
- uint64_t SizeInBits, uint32_t AlignInBits, unsigned AddressSpace,
- const char *Name, size_t NameLen);
+ LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeTy, uint64_t SizeInBits,
+ uint32_t AlignInBits, unsigned AddressSpace, const char *Name,
+ size_t NameLen);
/**
* Create debugging information entry for a struct.
@@ -801,9 +781,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateStructType(
*/
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMemberType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
- size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
- uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits,
- LLVMDIFlags Flags, LLVMMetadataRef Ty);
+ size_t NameLen, LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits,
+ uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags,
+ LLVMMetadataRef Ty);
/**
* Create debugging information entry for a
@@ -819,8 +799,7 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMemberType(
* \param ConstantVal Const initializer of the member.
* \param AlignInBits Member alignment.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateStaticMemberType(
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateStaticMemberType(
LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
LLVMMetadataRef Type, LLVMDIFlags Flags, LLVMValueRef ConstantVal,
@@ -835,13 +814,10 @@ LLVMDIBuilderCreateStaticMemberType(
* \param AlignInBits Alignment.
* \param Flags Flags.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef PointeeType,
- LLVMMetadataRef ClassType,
- uint64_t SizeInBits,
- uint32_t AlignInBits,
- LLVMDIFlags Flags);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateMemberPointerType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef PointeeType,
+ LLVMMetadataRef ClassType, uint64_t SizeInBits, uint32_t AlignInBits,
+ LLVMDIFlags Flags);
/**
* Create debugging information entry for Objective-C instance variable.
* \param Builder The DIBuilder.
@@ -856,13 +832,11 @@ LLVMDIBuilderCreateMemberPointerType(LLVMDIBuilderRef Builder,
* \param Ty Parent type.
* \param PropertyNode Property associated with this ivar.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder,
- const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNo,
- uint64_t SizeInBits, uint32_t AlignInBits,
- uint64_t OffsetInBits, LLVMDIFlags Flags,
- LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjCIVar(
+ LLVMDIBuilderRef Builder, const char *Name, size_t NameLen,
+ LLVMMetadataRef File, unsigned LineNo, uint64_t SizeInBits,
+ uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags,
+ LLVMMetadataRef Ty, LLVMMetadataRef PropertyNode);
/**
* Create debugging information entry for Objective-C property.
@@ -878,14 +852,11 @@ LLVMDIBuilderCreateObjCIVar(LLVMDIBuilderRef Builder,
* \param PropertyAttributes Objective C property attributes.
* \param Ty Type.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder,
- const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNo,
- const char *GetterName, size_t GetterNameLen,
- const char *SetterName, size_t SetterNameLen,
- unsigned PropertyAttributes,
- LLVMMetadataRef Ty);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjCProperty(
+ LLVMDIBuilderRef Builder, const char *Name, size_t NameLen,
+ LLVMMetadataRef File, unsigned LineNo, const char *GetterName,
+ size_t GetterNameLen, const char *SetterName, size_t SetterNameLen,
+ unsigned PropertyAttributes, LLVMMetadataRef Ty);
/**
* Create a uniqued DIType* clone with FlagObjectPointer. If \c Implicit
@@ -895,9 +866,8 @@ LLVMDIBuilderCreateObjCProperty(LLVMDIBuilderRef Builder,
* \param Implicit Indicates whether this pointer was implicitly generated
* (i.e., not spelled out in source).
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Type,
- LLVMBool Implicit);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Type, LLVMBool Implicit);
/**
* Create debugging information entry for a qualified
@@ -907,9 +877,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateObjectPointerType(LLVMDIBuilderRef
* e.g. LLVMDWARFTypeQualifier_volatile_type
* \param Type Base Type.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag,
- LLVMMetadataRef Type);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateQualifiedType(
+ LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type);
/**
* Create debugging information entry for a c++
@@ -918,9 +887,8 @@ LLVMDIBuilderCreateQualifiedType(LLVMDIBuilderRef Builder, unsigned Tag,
* \param Tag Tag identifying type,
* \param Type Base Type.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateReferenceType(LLVMDIBuilderRef Builder, unsigned Tag,
- LLVMMetadataRef Type);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateReferenceType(
+ LLVMDIBuilderRef Builder, unsigned Tag, LLVMMetadataRef Type);
/**
* Create C++11 nullptr type.
@@ -938,11 +906,10 @@ LLVMDIBuilderCreateNullPtrType(LLVMDIBuilderRef Builder);
* \param LineNo Line number.
* \param Scope The surrounding context for the typedef.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type,
- const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNo,
- LLVMMetadataRef Scope, uint32_t AlignInBits);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateTypedef(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Type, const char *Name,
+ size_t NameLen, LLVMMetadataRef File, unsigned LineNo,
+ LLVMMetadataRef Scope, uint32_t AlignInBits);
/**
* Create debugging information entry to establish inheritance relationship
@@ -954,11 +921,9 @@ LLVMDIBuilderCreateTypedef(LLVMDIBuilderRef Builder, LLVMMetadataRef Type,
* \param VBPtrOffset Virtual base pointer offset.
* \param Flags Flags to describe inheritance attribute, e.g. private
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Ty, LLVMMetadataRef BaseTy,
- uint64_t BaseOffset, uint32_t VBPtrOffset,
- LLVMDIFlags Flags);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateInheritance(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Ty, LLVMMetadataRef BaseTy,
+ uint64_t BaseOffset, uint32_t VBPtrOffset, LLVMDIFlags Flags);
/**
* Create a permanent forward-declared type.
@@ -977,8 +942,8 @@ LLVMDIBuilderCreateInheritance(LLVMDIBuilderRef Builder,
* \param UniqueIdentifierLen Length of the unique identifier.
*/
LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(
- LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
- size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
+ LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen,
+ LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits,
const char *UniqueIdentifier, size_t UniqueIdentifierLen);
@@ -999,10 +964,9 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateForwardDecl(
* \param UniqueIdentifier A unique identifier for the type.
* \param UniqueIdentifierLen Length of the unique identifier.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateReplaceableCompositeType(
- LLVMDIBuilderRef Builder, unsigned Tag, const char *Name,
- size_t NameLen, LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateReplaceableCompositeType(
+ LLVMDIBuilderRef Builder, unsigned Tag, const char *Name, size_t NameLen,
+ LLVMMetadataRef Scope, LLVMMetadataRef File, unsigned Line,
unsigned RuntimeLang, uint64_t SizeInBits, uint32_t AlignInBits,
LLVMDIFlags Flags, const char *UniqueIdentifier,
size_t UniqueIdentifierLen);
@@ -1021,15 +985,11 @@ LLVMDIBuilderCreateReplaceableCompositeType(
* \param Flags Flags to encode member attribute.
* \param Type Parent type.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Scope,
- const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNumber,
- uint64_t SizeInBits,
- uint64_t OffsetInBits,
- uint64_t StorageOffsetInBits,
- LLVMDIFlags Flags, LLVMMetadataRef Type);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateBitFieldMemberType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
+ size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
+ uint64_t SizeInBits, uint64_t OffsetInBits, uint64_t StorageOffsetInBits,
+ LLVMDIFlags Flags, LLVMMetadataRef Type);
/**
* Create debugging information entry for a class.
@@ -1053,23 +1013,22 @@ LLVMDIBuilderCreateBitFieldMemberType(LLVMDIBuilderRef Builder,
* \param UniqueIdentifier A unique identifier for the type.
* \param UniqueIdentifierLen Length of the unique identifier.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateClassType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Scope, const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNumber, uint64_t SizeInBits,
- uint32_t AlignInBits, uint64_t OffsetInBits, LLVMDIFlags Flags,
- LLVMMetadataRef DerivedFrom,
- LLVMMetadataRef *Elements, unsigned NumElements,
- LLVMMetadataRef VTableHolder, LLVMMetadataRef TemplateParamsNode,
- const char *UniqueIdentifier, size_t UniqueIdentifierLen);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateClassType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Scope, const char *Name,
+ size_t NameLen, LLVMMetadataRef File, unsigned LineNumber,
+ uint64_t SizeInBits, uint32_t AlignInBits, uint64_t OffsetInBits,
+ LLVMDIFlags Flags, LLVMMetadataRef DerivedFrom, LLVMMetadataRef *Elements,
+ unsigned NumElements, LLVMMetadataRef VTableHolder,
+ LLVMMetadataRef TemplateParamsNode, const char *UniqueIdentifier,
+ size_t UniqueIdentifierLen);
/**
* Create a uniqued DIType* clone with FlagArtificial set.
* \param Builder The DIBuilder.
* \param Type The underlying type.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateArtificialType(LLVMDIBuilderRef Builder,
- LLVMMetadataRef Type);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateArtificialType(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef Type);
/**
* Get the name of this DIType.
@@ -1126,9 +1085,8 @@ LLVM_C_ABI LLVMDIFlags LLVMDITypeGetFlags(LLVMMetadataRef DType);
* \param LowerBound Lower bound of the subrange, e.g. 0 for C, 1 for Fortran.
* \param Count Count of elements in the subrange.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Builder,
- int64_t LowerBound,
- int64_t Count);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(
+ LLVMDIBuilderRef Builder, int64_t LowerBound, int64_t Count);
/**
* Create an array of DI Nodes.
@@ -1136,9 +1094,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateSubrange(LLVMDIBuilderRef Bui
* \param Data The DI Node elements.
* \param NumElements Number of DI Node elements.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builder,
- LLVMMetadataRef *Data,
- size_t NumElements);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(
+ LLVMDIBuilderRef Builder, LLVMMetadataRef *Data, size_t NumElements);
/**
* Create a new descriptor for the specified variable which has a complex
@@ -1147,8 +1104,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderGetOrCreateArray(LLVMDIBuilderRef Builde
* \param Addr An array of complex address operations.
* \param Length Length of the address operation array.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builder,
- uint64_t *Addr, size_t Length);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateExpression(
+ LLVMDIBuilderRef Builder, uint64_t *Addr, size_t Length);
/**
* Create a new descriptor for the specified variable that does not have an
@@ -1156,9 +1113,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateExpression(LLVMDIBuilderRef Builde
* \param Builder The DIBuilder.
* \param Value The constant value.
*/
-LLVM_C_ABI LLVMMetadataRef
-LLVMDIBuilderCreateConstantValueExpression(LLVMDIBuilderRef Builder,
- uint64_t Value);
+LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateConstantValueExpression(
+ LLVMDIBuilderRef Builder, uint64_t Value);
/**
* Create a new descriptor for the specified variable.
@@ -1185,7 +1141,6 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateGlobalVariableExpression(
unsigned LineNo, LLVMMetadataRef Ty, LLVMBool LocalToUnit,
LLVMMetadataRef Expr, LLVMMetadataRef Decl, uint32_t AlignInBits);
-
/**
* Get the dwarf::Tag of a DINode
*/
@@ -1197,7 +1152,8 @@ LLVM_C_ABI uint16_t LLVMGetDINodeTag(LLVMMetadataRef MD);
*
* @see llvm::DIGlobalVariableExpression::getVariable()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE);
+LLVM_C_ABI LLVMMetadataRef
+LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadataRef GVE);
/**
* Retrieves the \c DIExpression associated with this global variable expression.
@@ -1205,8 +1161,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetVariable(LLVMMetadat
*
* @see llvm::DIGlobalVariableExpression::getExpression()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIGlobalVariableExpressionGetExpression(
- LLVMMetadataRef GVE);
+LLVM_C_ABI LLVMMetadataRef
+LLVMDIGlobalVariableExpressionGetExpression(LLVMMetadataRef GVE);
/**
* Get the metadata of the file associated with a given variable.
@@ -1240,8 +1196,9 @@ LLVM_C_ABI unsigned LLVMDIVariableGetLine(LLVMMetadataRef Var);
* \param Data The metadata elements.
* \param NumElements Number of metadata elements.
*/
-LLVM_C_ABI LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx, LLVMMetadataRef *Data,
- size_t NumElements);
+LLVM_C_ABI LLVMMetadataRef LLVMTemporaryMDNode(LLVMContextRef Ctx,
+ LLVMMetadataRef *Data,
+ size_t NumElements);
/**
* Deallocate a temporary node.
@@ -1257,8 +1214,9 @@ LLVM_C_ABI void LLVMDisposeTemporaryMDNode(LLVMMetadataRef TempNode);
* \param TempTargetMetadata The temporary metadata node.
* \param Replacement The replacement metadata node.
*/
-LLVM_C_ABI void LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
- LLVMMetadataRef Replacement);
+LLVM_C_ABI void
+LLVMMetadataReplaceAllUsesWith(LLVMMetadataRef TempTargetMetadata,
+ LLVMMetadataRef Replacement);
/**
* Create a new descriptor for the specified global variable that is temporary
@@ -1435,7 +1393,8 @@ LLVM_C_ABI LLVMMetadataRef LLVMInstructionGetDebugLoc(LLVMValueRef Inst);
*
* @see llvm::Instruction::setDebugLoc()
*/
-LLVM_C_ABI void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Loc);
+LLVM_C_ABI void LLVMInstructionSetDebugLoc(LLVMValueRef Inst,
+ LLVMMetadataRef Loc);
/**
* Create a new descriptor for a label
@@ -1450,10 +1409,10 @@ LLVM_C_ABI void LLVMInstructionSetDebugLoc(LLVMValueRef Inst, LLVMMetadataRef Lo
*
* @see llvm::DIBuilder::createLabel()
*/
-LLVM_C_ABI LLVMMetadataRef LLVMDIBuilderCreateLabel(
- LLVMDIBuilderRef Builder,
- LLVMMetadataRef Context, const char *Name, size_t NameLen,
- LLVMMetadataRef File, unsigned LineNo, LLVMBool AlwaysPreserve);
+LLVM_C_ABI LLVMMetadataRef
+LLVMDIBuilderCreateLabel(LLVMDIBuilderRef Builder, LLVMMetadataRef Context,
+ const char *Name, size_t NameLen, LLVMMetadataRef File,
+ unsigned LineNo, LLVMBool AlwaysPreserve);
/**
* Insert a new llvm.dbg.label intrinsic call
diff --git a/llvm/include/llvm-c/Disassembler.h b/llvm/include/llvm-c/Disassembler.h
index f49f8b1cca01a..c53367945cb35 100644
--- a/llvm/include/llvm-c/Disassembler.h
+++ b/llvm/include/llvm-c/Disassembler.h
@@ -15,9 +15,9 @@
#ifndef LLVM_C_DISASSEMBLER_H
#define LLVM_C_DISASSEMBLER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/DisassemblerTypes.h"
#include "llvm-c/ExternC.h"
+#include "llvm-c/Visibility.h"
/**
* @defgroup LLVMCDisassembler Disassembler
@@ -36,9 +36,9 @@ LLVM_C_EXTERN_C_BEGIN
* returns NULL. This function is equivalent to calling
* LLVMCreateDisasmCPUFeatures() with an empty CPU name and feature set.
*/
-LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *DisInfo,
- int TagType, LLVMOpInfoCallback GetOpInfo,
- LLVMSymbolLookupCallback SymbolLookUp);
+LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasm(
+ const char *TripleName, void *DisInfo, int TagType,
+ LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp);
/**
* Create a disassembler for the TripleName and a specific CPU. Symbolic
@@ -48,10 +48,9 @@ LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasm(const char *TripleName, void *D
* disassembler context. If not, it returns NULL. This function is equivalent
* to calling LLVMCreateDisasmCPUFeatures() with an empty feature set.
*/
-LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const char *CPU,
- void *DisInfo, int TagType,
- LLVMOpInfoCallback GetOpInfo,
- LLVMSymbolLookupCallback SymbolLookUp);
+LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasmCPU(
+ const char *Triple, const char *CPU, void *DisInfo, int TagType,
+ LLVMOpInfoCallback GetOpInfo, LLVMSymbolLookupCallback SymbolLookUp);
/**
* Create a disassembler for the TripleName, a specific CPU and specific feature
@@ -60,11 +59,10 @@ LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasmCPU(const char *Triple, const ch
* described above. These can all be passed * as NULL. If successful, this
* returns a disassembler context. If not, it returns NULL.
*/
-LLVM_C_ABI LLVMDisasmContextRef
-LLVMCreateDisasmCPUFeatures(const char *Triple, const char *CPU,
- const char *Features, void *DisInfo, int TagType,
- LLVMOpInfoCallback GetOpInfo,
- LLVMSymbolLookupCallback SymbolLookUp);
+LLVM_C_ABI LLVMDisasmContextRef LLVMCreateDisasmCPUFeatures(
+ const char *Triple, const char *CPU, const char *Features, void *DisInfo,
+ int TagType, LLVMOpInfoCallback GetOpInfo,
+ LLVMSymbolLookupCallback SymbolLookUp);
/**
* Set the disassembler's options. Returns 1 if it can set the Options and 0
@@ -101,8 +99,8 @@ LLVM_C_ABI void LLVMDisasmDispose(LLVMDisasmContextRef DC);
* no valid instruction.
*/
LLVM_C_ABI size_t LLVMDisasmInstruction(LLVMDisasmContextRef DC, uint8_t *Bytes,
- uint64_t BytesSize, uint64_t PC,
- char *OutString, size_t OutStringSize);
+ uint64_t BytesSize, uint64_t PC,
+ char *OutString, size_t OutStringSize);
/**
* @}
diff --git a/llvm/include/llvm-c/Error.h b/llvm/include/llvm-c/Error.h
index a05bc097307ae..1a07c1b64d819 100644
--- a/llvm/include/llvm-c/Error.h
+++ b/llvm/include/llvm-c/Error.h
@@ -14,8 +14,8 @@
#ifndef LLVM_C_ERROR_H
#define LLVM_C_ERROR_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
diff --git a/llvm/include/llvm-c/ErrorHandling.h b/llvm/include/llvm-c/ErrorHandling.h
index d3738887b0d7b..8cd43f9245018 100644
--- a/llvm/include/llvm-c/ErrorHandling.h
+++ b/llvm/include/llvm-c/ErrorHandling.h
@@ -14,8 +14,8 @@
#ifndef LLVM_C_ERRORHANDLING_H
#define LLVM_C_ERRORHANDLING_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
diff --git a/llvm/include/llvm-c/ExecutionEngine.h b/llvm/include/llvm-c/ExecutionEngine.h
index 71d5993325878..4c072c0a20cce 100644
--- a/llvm/include/llvm-c/ExecutionEngine.h
+++ b/llvm/include/llvm-c/ExecutionEngine.h
@@ -19,11 +19,11 @@
#ifndef LLVM_C_EXECUTIONENGINE_H
#define LLVM_C_EXECUTIONENGINE_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -52,41 +52,41 @@ struct LLVMMCJITCompilerOptions {
/*===-- Operations on generic values --------------------------------------===*/
LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfInt(LLVMTypeRef Ty,
- unsigned long long N,
- LLVMBool IsSigned);
+ unsigned long long N,
+ LLVMBool IsSigned);
LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfPointer(void *P);
-LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfFloat(LLVMTypeRef Ty, double N);
+LLVM_C_ABI LLVMGenericValueRef LLVMCreateGenericValueOfFloat(LLVMTypeRef Ty,
+ double N);
LLVM_C_ABI unsigned LLVMGenericValueIntWidth(LLVMGenericValueRef GenValRef);
LLVM_C_ABI unsigned long long LLVMGenericValueToInt(LLVMGenericValueRef GenVal,
- LLVMBool IsSigned);
+ LLVMBool IsSigned);
LLVM_C_ABI void *LLVMGenericValueToPointer(LLVMGenericValueRef GenVal);
-LLVM_C_ABI double LLVMGenericValueToFloat(LLVMTypeRef TyRef, LLVMGenericValueRef GenVal);
+LLVM_C_ABI double LLVMGenericValueToFloat(LLVMTypeRef TyRef,
+ LLVMGenericValueRef GenVal);
LLVM_C_ABI void LLVMDisposeGenericValue(LLVMGenericValueRef GenVal);
/*===-- Operations on execution engines -----------------------------------===*/
-LLVM_C_ABI LLVMBool LLVMCreateExecutionEngineForModule(LLVMExecutionEngineRef *OutEE,
- LLVMModuleRef M,
- char **OutError);
+LLVM_C_ABI LLVMBool LLVMCreateExecutionEngineForModule(
+ LLVMExecutionEngineRef *OutEE, LLVMModuleRef M, char **OutError);
-LLVM_C_ABI LLVMBool LLVMCreateInterpreterForModule(LLVMExecutionEngineRef *OutInterp,
- LLVMModuleRef M,
- char **OutError);
+LLVM_C_ABI LLVMBool LLVMCreateInterpreterForModule(
+ LLVMExecutionEngineRef *OutInterp, LLVMModuleRef M, char **OutError);
-LLVM_C_ABI LLVMBool LLVMCreateJITCompilerForModule(LLVMExecutionEngineRef *OutJIT,
- LLVMModuleRef M,
- unsigned OptLevel,
- char **OutError);
+LLVM_C_ABI LLVMBool
+LLVMCreateJITCompilerForModule(LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M,
+ unsigned OptLevel, char **OutError);
-LLVM_C_ABI void LLVMInitializeMCJITCompilerOptions(
- struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions);
+LLVM_C_ABI void
+LLVMInitializeMCJITCompilerOptions(struct LLVMMCJITCompilerOptions *Options,
+ size_t SizeOfOptions);
/**
* Create an MCJIT execution engine for a module, with the given options. It is
@@ -106,9 +106,9 @@ LLVM_C_ABI void LLVMInitializeMCJITCompilerOptions(
* LLVMCreateMCJITCompilerForModule(&jit, mod, 0, 0, &error);
*/
LLVM_C_ABI LLVMBool LLVMCreateMCJITCompilerForModule(
- LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M,
- struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions,
- char **OutError);
+ LLVMExecutionEngineRef *OutJIT, LLVMModuleRef M,
+ struct LLVMMCJITCompilerOptions *Options, size_t SizeOfOptions,
+ char **OutError);
LLVM_C_ABI void LLVMDisposeExecutionEngine(LLVMExecutionEngineRef EE);
@@ -117,43 +117,48 @@ LLVM_C_ABI void LLVMRunStaticConstructors(LLVMExecutionEngineRef EE);
LLVM_C_ABI void LLVMRunStaticDestructors(LLVMExecutionEngineRef EE);
LLVM_C_ABI int LLVMRunFunctionAsMain(LLVMExecutionEngineRef EE, LLVMValueRef F,
- unsigned ArgC, const char * const *ArgV,
- const char * const *EnvP);
+ unsigned ArgC, const char *const *ArgV,
+ const char *const *EnvP);
-LLVM_C_ABI LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE, LLVMValueRef F,
- unsigned NumArgs,
- LLVMGenericValueRef *Args);
+LLVM_C_ABI LLVMGenericValueRef LLVMRunFunction(LLVMExecutionEngineRef EE,
+ LLVMValueRef F, unsigned NumArgs,
+ LLVMGenericValueRef *Args);
-LLVM_C_ABI void LLVMFreeMachineCodeForFunction(LLVMExecutionEngineRef EE, LLVMValueRef F);
+LLVM_C_ABI void LLVMFreeMachineCodeForFunction(LLVMExecutionEngineRef EE,
+ LLVMValueRef F);
LLVM_C_ABI void LLVMAddModule(LLVMExecutionEngineRef EE, LLVMModuleRef M);
LLVM_C_ABI LLVMBool LLVMRemoveModule(LLVMExecutionEngineRef EE, LLVMModuleRef M,
- LLVMModuleRef *OutMod, char **OutError);
+ LLVMModuleRef *OutMod, char **OutError);
-LLVM_C_ABI LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE, const char *Name,
- LLVMValueRef *OutFn);
+LLVM_C_ABI LLVMBool LLVMFindFunction(LLVMExecutionEngineRef EE,
+ const char *Name, LLVMValueRef *OutFn);
LLVM_C_ABI void *LLVMRecompileAndRelinkFunction(LLVMExecutionEngineRef EE,
- LLVMValueRef Fn);
+ LLVMValueRef Fn);
-LLVM_C_ABI LLVMTargetDataRef LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE);
+LLVM_C_ABI LLVMTargetDataRef
+LLVMGetExecutionEngineTargetData(LLVMExecutionEngineRef EE);
LLVM_C_ABI LLVMTargetMachineRef
LLVMGetExecutionEngineTargetMachine(LLVMExecutionEngineRef EE);
-LLVM_C_ABI void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE, LLVMValueRef Global,
- void* Addr);
+LLVM_C_ABI void LLVMAddGlobalMapping(LLVMExecutionEngineRef EE,
+ LLVMValueRef Global, void *Addr);
-LLVM_C_ABI void *LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE, LLVMValueRef Global);
+LLVM_C_ABI void *LLVMGetPointerToGlobal(LLVMExecutionEngineRef EE,
+ LLVMValueRef Global);
-LLVM_C_ABI uint64_t LLVMGetGlobalValueAddress(LLVMExecutionEngineRef EE, const char *Name);
+LLVM_C_ABI uint64_t LLVMGetGlobalValueAddress(LLVMExecutionEngineRef EE,
+ const char *Name);
-LLVM_C_ABI uint64_t LLVMGetFunctionAddress(LLVMExecutionEngineRef EE, const char *Name);
+LLVM_C_ABI uint64_t LLVMGetFunctionAddress(LLVMExecutionEngineRef EE,
+ const char *Name);
/// Returns true on error, false on success. If true is returned then the error
/// message is copied to OutStr and cleared in the ExecutionEngine instance.
LLVM_C_ABI LLVMBool LLVMExecutionEngineGetErrMsg(LLVMExecutionEngineRef EE,
- char **OutError);
+ char **OutError);
/*===-- Operations on memory managers -------------------------------------===*/
@@ -179,11 +184,11 @@ typedef void (*LLVMMemoryManagerDestroyCallback)(void *Opaque);
* success, 1 on error.
*/
LLVM_C_ABI LLVMMCJITMemoryManagerRef LLVMCreateSimpleMCJITMemoryManager(
- void *Opaque,
- LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection,
- LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection,
- LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory,
- LLVMMemoryManagerDestroyCallback Destroy);
+ void *Opaque,
+ LLVMMemoryManagerAllocateCodeSectionCallback AllocateCodeSection,
+ LLVMMemoryManagerAllocateDataSectionCallback AllocateDataSection,
+ LLVMMemoryManagerFinalizeMemoryCallback FinalizeMemory,
+ LLVMMemoryManagerDestroyCallback Destroy);
LLVM_C_ABI void LLVMDisposeMCJITMemoryManager(LLVMMCJITMemoryManagerRef MM);
diff --git a/llvm/include/llvm-c/IRReader.h b/llvm/include/llvm-c/IRReader.h
index a5486b8bd8769..9e5615b5be596 100644
--- a/llvm/include/llvm-c/IRReader.h
+++ b/llvm/include/llvm-c/IRReader.h
@@ -14,9 +14,9 @@
#ifndef LLVM_C_IRREADER_H
#define LLVM_C_IRREADER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -37,8 +37,9 @@ LLVM_C_EXTERN_C_BEGIN
* @see llvm::ParseIR()
*/
LLVM_C_ABI LLVMBool LLVMParseIRInContext(LLVMContextRef ContextRef,
- LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM,
- char **OutMessage);
+ LLVMMemoryBufferRef MemBuf,
+ LLVMModuleRef *OutM,
+ char **OutMessage);
/**
* @}
diff --git a/llvm/include/llvm-c/LLJIT.h b/llvm/include/llvm-c/LLJIT.h
index 589b4670fd598..414fe34224596 100644
--- a/llvm/include/llvm-c/LLJIT.h
+++ b/llvm/include/llvm-c/LLJIT.h
@@ -24,11 +24,11 @@
#ifndef LLVM_C_LLJIT_H
#define LLVM_C_LLJIT_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/Orc.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -115,7 +115,7 @@ LLVM_C_ABI void LLVMOrcLLJITBuilderSetObjectLinkingLayerCreator(
* and not-yet compiled modules.
*/
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLLJIT(LLVMOrcLLJITRef *Result,
- LLVMOrcLLJITBuilderRef Builder);
+ LLVMOrcLLJITBuilderRef Builder);
/**
* Dispose of an LLJIT instance.
@@ -128,7 +128,8 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcDisposeLLJIT(LLVMOrcLLJITRef J);
* The ExecutionSession is owned by the LLJIT instance. The client is not
* responsible for managing its memory.
*/
-LLVM_C_ABI LLVMOrcExecutionSessionRef LLVMOrcLLJITGetExecutionSession(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcExecutionSessionRef
+LLVMOrcLLJITGetExecutionSession(LLVMOrcLLJITRef J);
/**
* Return a reference to the Main JITDylib.
@@ -168,8 +169,8 @@ LLVMOrcLLJITMangleAndIntern(LLVMOrcLLJITRef J, const char *UnmangledName);
* Resources associated with the given object will be tracked by the given
* JITDylib's default resource tracker.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFile(LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD,
- LLVMMemoryBufferRef ObjBuffer);
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFile(
+ LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD, LLVMMemoryBufferRef ObjBuffer);
/**
* Add a buffer representing an object file to the given ResourceTracker's
@@ -180,9 +181,9 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFile(LLVMOrcLLJITRef J, LLVMOrcJITD
* Resources associated with the given object will be tracked by ResourceTracker
* RT.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J,
- LLVMOrcResourceTrackerRef RT,
- LLVMMemoryBufferRef ObjBuffer);
+LLVM_C_ABI LLVMErrorRef
+LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J, LLVMOrcResourceTrackerRef RT,
+ LLVMMemoryBufferRef ObjBuffer);
/**
* Add an IR module to the given JITDylib in the given LLJIT instance. This
@@ -193,9 +194,8 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddObjectFileWithRT(LLVMOrcLLJITRef J,
* Resources associated with the given Module will be tracked by the given
* JITDylib's default resource tracker.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(LLVMOrcLLJITRef J,
- LLVMOrcJITDylibRef JD,
- LLVMOrcThreadSafeModuleRef TSM);
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(
+ LLVMOrcLLJITRef J, LLVMOrcJITDylibRef JD, LLVMOrcThreadSafeModuleRef TSM);
/**
* Add an IR module to the given ResourceTracker's JITDylib in the given LLJIT
@@ -206,9 +206,9 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModule(LLVMOrcLLJITRef J,
* Resources associated with the given Module will be tracked by ResourceTracker
* RT.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(LLVMOrcLLJITRef J,
- LLVMOrcResourceTrackerRef JD,
- LLVMOrcThreadSafeModuleRef TSM);
+LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(
+ LLVMOrcLLJITRef J, LLVMOrcResourceTrackerRef JD,
+ LLVMOrcThreadSafeModuleRef TSM);
/**
* Look up the given symbol in the main JITDylib of the given LLJIT instance.
@@ -216,13 +216,14 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITAddLLVMIRModuleWithRT(LLVMOrcLLJITRef J,
* This operation does not take ownership of the Name argument.
*/
LLVM_C_ABI LLVMErrorRef LLVMOrcLLJITLookup(LLVMOrcLLJITRef J,
- LLVMOrcExecutorAddress *Result,
- const char *Name);
+ LLVMOrcExecutorAddress *Result,
+ const char *Name);
/**
* Returns a non-owning reference to the LLJIT instance's object linking layer.
*/
-LLVM_C_ABI LLVMOrcObjectLayerRef LLVMOrcLLJITGetObjLinkingLayer(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcObjectLayerRef
+LLVMOrcLLJITGetObjLinkingLayer(LLVMOrcLLJITRef J);
/**
* Returns a non-owning reference to the LLJIT instance's object linking layer.
@@ -233,7 +234,8 @@ LLVMOrcLLJITGetObjTransformLayer(LLVMOrcLLJITRef J);
/**
* Returns a non-owning reference to the LLJIT instance's IR transform layer.
*/
-LLVM_C_ABI LLVMOrcIRTransformLayerRef LLVMOrcLLJITGetIRTransformLayer(LLVMOrcLLJITRef J);
+LLVM_C_ABI LLVMOrcIRTransformLayerRef
+LLVMOrcLLJITGetIRTransformLayer(LLVMOrcLLJITRef J);
/**
* Get the LLJIT instance's default data layout string.
diff --git a/llvm/include/llvm-c/LLJITUtils.h b/llvm/include/llvm-c/LLJITUtils.h
index c069464fe67ee..4064d5907bc8a 100644
--- a/llvm/include/llvm-c/LLJITUtils.h
+++ b/llvm/include/llvm-c/LLJITUtils.h
@@ -26,8 +26,8 @@
#ifndef LLVM_C_LLJITUTILS_H
#define LLVM_C_LLJITUTILS_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/LLJIT.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
diff --git a/llvm/include/llvm-c/Linker.h b/llvm/include/llvm-c/Linker.h
index 2b306c12aafa7..dfcb67e817426 100644
--- a/llvm/include/llvm-c/Linker.h
+++ b/llvm/include/llvm-c/Linker.h
@@ -14,9 +14,9 @@
#ifndef LLVM_C_LINKER_H
#define LLVM_C_LINKER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
diff --git a/llvm/include/llvm-c/Object.h b/llvm/include/llvm-c/Object.h
index a69fedbb6e1c8..0fc4ebe969a06 100644
--- a/llvm/include/llvm-c/Object.h
+++ b/llvm/include/llvm-c/Object.h
@@ -19,9 +19,9 @@
#ifndef LLVM_C_OBJECT_H
#define LLVM_C_OBJECT_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
#include "llvm/Config/llvm-config.h"
LLVM_C_EXTERN_C_BEGIN
@@ -75,8 +75,8 @@ typedef enum {
* @see llvm::object::createBinary
*/
LLVM_C_ABI LLVMBinaryRef LLVMCreateBinary(LLVMMemoryBufferRef MemBuf,
- LLVMContextRef Context,
- char **ErrorMessage);
+ LLVMContextRef Context,
+ char **ErrorMessage);
/**
* Dispose of a binary file.
@@ -115,10 +115,8 @@ LLVM_C_ABI LLVMBinaryType LLVMBinaryGetType(LLVMBinaryRef BR);
* It is the responsiblity of the caller to free the returned object file by
* calling \c LLVMDisposeBinary.
*/
-LLVM_C_ABI LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef BR,
- const char *Arch,
- size_t ArchLen,
- char **ErrorMessage);
+LLVM_C_ABI LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(
+ LLVMBinaryRef BR, const char *Arch, size_t ArchLen, char **ErrorMessage);
/**
* Retrieve a copy of the section iterator for this object file.
@@ -131,15 +129,16 @@ LLVM_C_ABI LLVMBinaryRef LLVMMachOUniversalBinaryCopyObjectForArch(LLVMBinaryRef
*
* @see llvm::object::sections()
*/
-LLVM_C_ABI LLVMSectionIteratorRef LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMSectionIteratorRef
+LLVMObjectFileCopySectionIterator(LLVMBinaryRef BR);
/**
* Returns whether the given section iterator is at the end.
*
* @see llvm::object::section_end
*/
-LLVM_C_ABI LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR,
- LLVMSectionIteratorRef SI);
+LLVM_C_ABI LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(
+ LLVMBinaryRef BR, LLVMSectionIteratorRef SI);
/**
* Retrieve a copy of the symbol iterator for this object file.
@@ -152,21 +151,22 @@ LLVM_C_ABI LLVMBool LLVMObjectFileIsSectionIteratorAtEnd(LLVMBinaryRef BR,
*
* @see llvm::object::symbols()
*/
-LLVM_C_ABI LLVMSymbolIteratorRef LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR);
+LLVM_C_ABI LLVMSymbolIteratorRef
+LLVMObjectFileCopySymbolIterator(LLVMBinaryRef BR);
/**
* Returns whether the given symbol iterator is at the end.
*
* @see llvm::object::symbol_end
*/
-LLVM_C_ABI LLVMBool LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR,
- LLVMSymbolIteratorRef SI);
+LLVM_C_ABI LLVMBool
+LLVMObjectFileIsSymbolIteratorAtEnd(LLVMBinaryRef BR, LLVMSymbolIteratorRef SI);
LLVM_C_ABI void LLVMDisposeSectionIterator(LLVMSectionIteratorRef SI);
LLVM_C_ABI void LLVMMoveToNextSection(LLVMSectionIteratorRef SI);
LLVM_C_ABI void LLVMMoveToContainingSection(LLVMSectionIteratorRef Sect,
- LLVMSymbolIteratorRef Sym);
+ LLVMSymbolIteratorRef Sym);
// ObjectFile Symbol iterators
LLVM_C_ABI void LLVMDisposeSymbolIterator(LLVMSymbolIteratorRef SI);
@@ -178,16 +178,16 @@ LLVM_C_ABI uint64_t LLVMGetSectionSize(LLVMSectionIteratorRef SI);
LLVM_C_ABI const char *LLVMGetSectionContents(LLVMSectionIteratorRef SI);
LLVM_C_ABI uint64_t LLVMGetSectionAddress(LLVMSectionIteratorRef SI);
LLVM_C_ABI LLVMBool LLVMGetSectionContainsSymbol(LLVMSectionIteratorRef SI,
- LLVMSymbolIteratorRef Sym);
+ LLVMSymbolIteratorRef Sym);
// Section Relocation iterators
-LLVM_C_ABI LLVMRelocationIteratorRef LLVMGetRelocations(LLVMSectionIteratorRef Section);
+LLVM_C_ABI LLVMRelocationIteratorRef
+LLVMGetRelocations(LLVMSectionIteratorRef Section);
LLVM_C_ABI void LLVMDisposeRelocationIterator(LLVMRelocationIteratorRef RI);
-LLVM_C_ABI LLVMBool LLVMIsRelocationIteratorAtEnd(LLVMSectionIteratorRef Section,
- LLVMRelocationIteratorRef RI);
+LLVM_C_ABI LLVMBool LLVMIsRelocationIteratorAtEnd(
+ LLVMSectionIteratorRef Section, LLVMRelocationIteratorRef RI);
LLVM_C_ABI void LLVMMoveToNextRelocation(LLVMRelocationIteratorRef RI);
-
// SymbolRef accessors
LLVM_C_ABI const char *LLVMGetSymbolName(LLVMSymbolIteratorRef SI);
LLVM_C_ABI uint64_t LLVMGetSymbolAddress(LLVMSymbolIteratorRef SI);
@@ -195,12 +195,14 @@ LLVM_C_ABI uint64_t LLVMGetSymbolSize(LLVMSymbolIteratorRef SI);
// RelocationRef accessors
LLVM_C_ABI uint64_t LLVMGetRelocationOffset(LLVMRelocationIteratorRef RI);
-LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI LLVMSymbolIteratorRef
+LLVMGetRelocationSymbol(LLVMRelocationIteratorRef RI);
LLVM_C_ABI uint64_t LLVMGetRelocationType(LLVMRelocationIteratorRef RI);
// NOTE: Caller takes ownership of returned string of the two
// following functions.
LLVM_C_ABI const char *LLVMGetRelocationTypeName(LLVMRelocationIteratorRef RI);
-LLVM_C_ABI const char *LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI);
+LLVM_C_ABI const char *
+LLVMGetRelocationValueString(LLVMRelocationIteratorRef RI);
/** Deprecated: Use LLVMBinaryRef instead. */
typedef struct LLVMOpaqueObjectFile *LLVMObjectFileRef;
@@ -216,14 +218,14 @@ LLVM_C_ABI LLVMSectionIteratorRef LLVMGetSections(LLVMObjectFileRef ObjectFile);
/** Deprecated: Use LLVMObjectFileIsSectionIteratorAtEnd instead. */
LLVM_C_ABI LLVMBool LLVMIsSectionIteratorAtEnd(LLVMObjectFileRef ObjectFile,
- LLVMSectionIteratorRef SI);
+ LLVMSectionIteratorRef SI);
/** Deprecated: Use LLVMObjectFileCopySymbolIterator instead. */
LLVM_C_ABI LLVMSymbolIteratorRef LLVMGetSymbols(LLVMObjectFileRef ObjectFile);
/** Deprecated: Use LLVMObjectFileIsSymbolIteratorAtEnd instead. */
LLVM_C_ABI LLVMBool LLVMIsSymbolIteratorAtEnd(LLVMObjectFileRef ObjectFile,
- LLVMSymbolIteratorRef SI);
+ LLVMSymbolIteratorRef SI);
/**
* @}
*/
diff --git a/llvm/include/llvm-c/Orc.h b/llvm/include/llvm-c/Orc.h
index 2a01e4f1e406c..7a1abee0c3786 100644
--- a/llvm/include/llvm-c/Orc.h
+++ b/llvm/include/llvm-c/Orc.h
@@ -27,10 +27,10 @@
#ifndef LLVM_C_ORC_H
#define LLVM_C_ORC_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -512,7 +512,8 @@ LLVMOrcExecutionSessionGetSymbolStringPool(LLVMOrcExecutionSessionRef ES);
* entries will have become unreferenced, e.g. after removing a module or
* closing a JITDylib.
*/
-LLVM_C_ABI void LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP);
+LLVM_C_ABI void
+LLVMOrcSymbolStringPoolClearDeadEntries(LLVMOrcSymbolStringPoolRef SSP);
/**
* Intern a string in the ExecutionSession's SymbolStringPool and return a
@@ -584,19 +585,22 @@ LLVM_C_ABI void LLVMOrcExecutionSessionLookup(
/**
* Increments the ref-count for a SymbolStringPool entry.
*/
-LLVM_C_ABI void LLVMOrcRetainSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI void
+LLVMOrcRetainSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Reduces the ref-count for of a SymbolStringPool entry.
*/
-LLVM_C_ABI void LLVMOrcReleaseSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI void
+LLVMOrcReleaseSymbolStringPoolEntry(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Return the c-string for the given symbol. This string will remain valid until
* the entry is freed (once all LLVMOrcSymbolStringPoolEntryRefs have been
* released).
*/
-LLVM_C_ABI const char *LLVMOrcSymbolStringPoolEntryStr(LLVMOrcSymbolStringPoolEntryRef S);
+LLVM_C_ABI const char *
+LLVMOrcSymbolStringPoolEntryStr(LLVMOrcSymbolStringPoolEntryRef S);
/**
* Reduces the ref-count of a ResourceTracker.
@@ -607,26 +611,30 @@ LLVM_C_ABI void LLVMOrcReleaseResourceTracker(LLVMOrcResourceTrackerRef RT);
* Transfers tracking of all resources associated with resource tracker SrcRT
* to resource tracker DstRT.
*/
-LLVM_C_ABI void LLVMOrcResourceTrackerTransferTo(LLVMOrcResourceTrackerRef SrcRT,
- LLVMOrcResourceTrackerRef DstRT);
+LLVM_C_ABI void
+LLVMOrcResourceTrackerTransferTo(LLVMOrcResourceTrackerRef SrcRT,
+ LLVMOrcResourceTrackerRef DstRT);
/**
* Remove all resources associated with the given tracker. See
* ResourceTracker::remove().
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcResourceTrackerRemove(LLVMOrcResourceTrackerRef RT);
+LLVM_C_ABI LLVMErrorRef
+LLVMOrcResourceTrackerRemove(LLVMOrcResourceTrackerRef RT);
/**
* Dispose of a JITDylib::DefinitionGenerator. This should only be called if
* ownership has not been passed to a JITDylib (e.g. because some error
* prevented the client from calling LLVMOrcJITDylibAddGenerator).
*/
-LLVM_C_ABI void LLVMOrcDisposeDefinitionGenerator(LLVMOrcDefinitionGeneratorRef DG);
+LLVM_C_ABI void
+LLVMOrcDisposeDefinitionGenerator(LLVMOrcDefinitionGeneratorRef DG);
/**
* Dispose of a MaterializationUnit.
*/
-LLVM_C_ABI void LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU);
+LLVM_C_ABI void
+LLVMOrcDisposeMaterializationUnit(LLVMOrcMaterializationUnitRef MU);
/**
* Create a custom MaterializationUnit.
@@ -734,7 +742,8 @@ LLVM_C_ABI void LLVMOrcDisposeMaterializationResponsibility(
/**
* Returns the target JITDylib that these symbols are being materialized into.
*/
-LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcMaterializationResponsibilityGetTargetDylib(
+LLVM_C_ABI LLVMOrcJITDylibRef
+LLVMOrcMaterializationResponsibilityGetTargetDylib(
LLVMOrcMaterializationResponsibilityRef MR);
/**
@@ -754,7 +763,8 @@ LLVMOrcMaterializationResponsibilityGetExecutionSession(
* MaterializationResponsibility requires the caller to retain the symbols
* explicitly.
*/
-LLVM_C_ABI LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSymbols(
+LLVM_C_ABI LLVMOrcCSymbolFlagsMapPairs
+LLVMOrcMaterializationResponsibilityGetSymbols(
LLVMOrcMaterializationResponsibilityRef MR, size_t *NumPairs);
/**
@@ -762,7 +772,8 @@ LLVM_C_ABI LLVMOrcCSymbolFlagsMapPairs LLVMOrcMaterializationResponsibilityGetSy
*
* Does not release the entries themselves.
*/
-LLVM_C_ABI void LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs);
+LLVM_C_ABI void
+LLVMOrcDisposeCSymbolFlagsMap(LLVMOrcCSymbolFlagsMapPairs Pairs);
/**
* Returns the initialization pseudo-symbol, if any. This symbol will also
@@ -903,9 +914,8 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcMaterializationResponsibilityDelegate(
* This call does not install any library code or symbols into the newly
* created JITDylib. The client is responsible for all configuration.
*/
-LLVM_C_ABI LLVMOrcJITDylibRef
-LLVMOrcExecutionSessionCreateBareJITDylib(LLVMOrcExecutionSessionRef ES,
- const char *Name);
+LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcExecutionSessionCreateBareJITDylib(
+ LLVMOrcExecutionSessionRef ES, const char *Name);
/**
* Create a JITDylib.
@@ -919,18 +929,16 @@ LLVMOrcExecutionSessionCreateBareJITDylib(LLVMOrcExecutionSessionRef ES,
* call is equivalent to LLVMExecutionSessionRefCreateBareJITDylib and will
* always return success.
*/
-LLVM_C_ABI LLVMErrorRef
-LLVMOrcExecutionSessionCreateJITDylib(LLVMOrcExecutionSessionRef ES,
- LLVMOrcJITDylibRef *Result,
- const char *Name);
+LLVM_C_ABI LLVMErrorRef LLVMOrcExecutionSessionCreateJITDylib(
+ LLVMOrcExecutionSessionRef ES, LLVMOrcJITDylibRef *Result,
+ const char *Name);
/**
* Returns the JITDylib with the given name, or NULL if no such JITDylib
* exists.
*/
-LLVM_C_ABI LLVMOrcJITDylibRef
-LLVMOrcExecutionSessionGetJITDylibByName(LLVMOrcExecutionSessionRef ES,
- const char *Name);
+LLVM_C_ABI LLVMOrcJITDylibRef LLVMOrcExecutionSessionGetJITDylibByName(
+ LLVMOrcExecutionSessionRef ES, const char *Name);
/**
* Return a reference to a newly created resource tracker associated with JD.
@@ -956,7 +964,7 @@ LLVMOrcJITDylibGetDefaultResourceTracker(LLVMOrcJITDylibRef JD);
* call LLVMOrcDisposeMaterializationUnit to destroy it.
*/
LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibDefine(LLVMOrcJITDylibRef JD,
- LLVMOrcMaterializationUnitRef MU);
+ LLVMOrcMaterializationUnitRef MU);
/**
* Calls remove on all trackers associated with this JITDylib, see
@@ -971,7 +979,7 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcJITDylibClear(LLVMOrcJITDylibRef JD);
* longer responsible for managing its memory.
*/
LLVM_C_ABI void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD,
- LLVMOrcDefinitionGeneratorRef DG);
+ LLVMOrcDefinitionGeneratorRef DG);
/**
* Create a custom generator.
@@ -986,7 +994,8 @@ LLVM_C_ABI void LLVMOrcJITDylibAddGenerator(LLVMOrcJITDylibRef JD,
* Dispose is the disposal function for Ctx. This argument is permitted to be
* null (in which case the client is responsible for the lifetime of Ctx).
*/
-LLVM_C_ABI LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenerator(
+LLVM_C_ABI LLVMOrcDefinitionGeneratorRef
+LLVMOrcCreateCustomCAPIDefinitionGenerator(
LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction F, void *Ctx,
LLVMOrcDisposeCAPIDefinitionGeneratorFunction Dispose);
@@ -995,7 +1004,7 @@ LLVM_C_ABI LLVMOrcDefinitionGeneratorRef LLVMOrcCreateCustomCAPIDefinitionGenera
* LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction).
*/
LLVM_C_ABI void LLVMOrcLookupStateContinueLookup(LLVMOrcLookupStateRef S,
- LLVMErrorRef Err);
+ LLVMErrorRef Err);
/**
* Get a DynamicLibrarySearchGenerator that will reflect process symbols into
@@ -1081,7 +1090,8 @@ LLVMOrcThreadSafeContextGetContext(LLVMOrcThreadSafeContextRef TSCtx);
/**
* Dispose of a ThreadSafeContext.
*/
-LLVM_C_ABI void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx);
+LLVM_C_ABI void
+LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCtx);
/**
* Create a ThreadSafeModule wrapper around the given LLVM module. This takes
@@ -1093,9 +1103,8 @@ LLVM_C_ABI void LLVMOrcDisposeThreadSafeContext(LLVMOrcThreadSafeContextRef TSCt
* responsible for it. If it is not transferred to the JIT then the client
* should call LLVMOrcDisposeThreadSafeModule to dispose of it.
*/
-LLVM_C_ABI LLVMOrcThreadSafeModuleRef
-LLVMOrcCreateNewThreadSafeModule(LLVMModuleRef M,
- LLVMOrcThreadSafeContextRef TSCtx);
+LLVM_C_ABI LLVMOrcThreadSafeModuleRef LLVMOrcCreateNewThreadSafeModule(
+ LLVMModuleRef M, LLVMOrcThreadSafeContextRef TSCtx);
/**
* Dispose of a ThreadSafeModule. This should only be called if ownership has
@@ -1107,10 +1116,9 @@ LLVM_C_ABI void LLVMOrcDisposeThreadSafeModule(LLVMOrcThreadSafeModuleRef TSM);
/**
* Apply the given function to the module contained in this ThreadSafeModule.
*/
-LLVM_C_ABI LLVMErrorRef
-LLVMOrcThreadSafeModuleWithModuleDo(LLVMOrcThreadSafeModuleRef TSM,
- LLVMOrcGenericIRModuleOperationFunction F,
- void *Ctx);
+LLVM_C_ABI LLVMErrorRef LLVMOrcThreadSafeModuleWithModuleDo(
+ LLVMOrcThreadSafeModuleRef TSM, LLVMOrcGenericIRModuleOperationFunction F,
+ void *Ctx);
/**
* Create a JITTargetMachineBuilder by detecting the host.
@@ -1138,8 +1146,8 @@ LLVMOrcJITTargetMachineBuilderCreateFromTargetMachine(LLVMTargetMachineRef TM);
/**
* Dispose of a JITTargetMachineBuilder.
*/
-LLVM_C_ABI void LLVMOrcDisposeJITTargetMachineBuilder(
- LLVMOrcJITTargetMachineBuilderRef JTMB);
+LLVM_C_ABI void
+LLVMOrcDisposeJITTargetMachineBuilder(LLVMOrcJITTargetMachineBuilderRef JTMB);
/**
* Returns the target triple for the given JITTargetMachineBuilder as a string.
@@ -1168,9 +1176,9 @@ LLVM_C_ABI void LLVMOrcJITTargetMachineBuilderSetTargetTriple(
* Resources associated with the given object will be tracked by the given
* JITDylib's default ResourceTracker.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef ObjLayer,
- LLVMOrcJITDylibRef JD,
- LLVMMemoryBufferRef ObjBuffer);
+LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(
+ LLVMOrcObjectLayerRef ObjLayer, LLVMOrcJITDylibRef JD,
+ LLVMMemoryBufferRef ObjBuffer);
/**
* Add an object to an ObjectLayer using the given ResourceTracker.
@@ -1183,10 +1191,9 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFile(LLVMOrcObjectLayerRef Ob
* Resources associated with the given object will be tracked by
* ResourceTracker RT.
*/
-LLVM_C_ABI LLVMErrorRef
-LLVMOrcObjectLayerAddObjectFileWithRT(LLVMOrcObjectLayerRef ObjLayer,
- LLVMOrcResourceTrackerRef RT,
- LLVMMemoryBufferRef ObjBuffer);
+LLVM_C_ABI LLVMErrorRef LLVMOrcObjectLayerAddObjectFileWithRT(
+ LLVMOrcObjectLayerRef ObjLayer, LLVMOrcResourceTrackerRef RT,
+ LLVMMemoryBufferRef ObjBuffer);
/**
* Emit an object buffer to an ObjectLayer.
@@ -1194,18 +1201,20 @@ LLVMOrcObjectLayerAddObjectFileWithRT(LLVMOrcObjectLayerRef ObjLayer,
* Ownership of the responsibility object and object buffer pass to this
* function. The client is not responsible for cleanup.
*/
-LLVM_C_ABI void LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer,
- LLVMOrcMaterializationResponsibilityRef R,
- LLVMMemoryBufferRef ObjBuffer);
+LLVM_C_ABI void
+LLVMOrcObjectLayerEmit(LLVMOrcObjectLayerRef ObjLayer,
+ LLVMOrcMaterializationResponsibilityRef R,
+ LLVMMemoryBufferRef ObjBuffer);
/**
* Dispose of an ObjectLayer.
*/
LLVM_C_ABI void LLVMOrcDisposeObjectLayer(LLVMOrcObjectLayerRef ObjLayer);
-LLVM_C_ABI void LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer,
- LLVMOrcMaterializationResponsibilityRef MR,
- LLVMOrcThreadSafeModuleRef TSM);
+LLVM_C_ABI void
+LLVMOrcIRTransformLayerEmit(LLVMOrcIRTransformLayerRef IRTransformLayer,
+ LLVMOrcMaterializationResponsibilityRef MR,
+ LLVMOrcThreadSafeModuleRef TSM);
/**
* Set the transform function of the provided transform layer, passing through a
@@ -1234,7 +1243,8 @@ LLVMOrcCreateLocalIndirectStubsManager(const char *TargetTriple);
/**
* Dispose of an IndirectStubsManager.
*/
-LLVM_C_ABI void LLVMOrcDisposeIndirectStubsManager(LLVMOrcIndirectStubsManagerRef ISM);
+LLVM_C_ABI void
+LLVMOrcDisposeIndirectStubsManager(LLVMOrcIndirectStubsManagerRef ISM);
LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(
const char *TargetTriple, LLVMOrcExecutionSessionRef ES,
@@ -1244,8 +1254,8 @@ LLVM_C_ABI LLVMErrorRef LLVMOrcCreateLocalLazyCallThroughManager(
/**
* Dispose of an LazyCallThroughManager.
*/
-LLVM_C_ABI void LLVMOrcDisposeLazyCallThroughManager(
- LLVMOrcLazyCallThroughManagerRef LCTM);
+LLVM_C_ABI void
+LLVMOrcDisposeLazyCallThroughManager(LLVMOrcLazyCallThroughManagerRef LCTM);
/**
* Create a DumpObjects instance.
@@ -1261,8 +1271,8 @@ LLVM_C_ABI void LLVMOrcDisposeLazyCallThroughManager(
* <ident>.2.o, <ident>.3.o, and so on). IdentifierOverride should not contain
* an extension, as a .o suffix will be added by DumpObjects.
*/
-LLVM_C_ABI LLVMOrcDumpObjectsRef LLVMOrcCreateDumpObjects(const char *DumpDir,
- const char *IdentifierOverride);
+LLVM_C_ABI LLVMOrcDumpObjectsRef
+LLVMOrcCreateDumpObjects(const char *DumpDir, const char *IdentifierOverride);
/**
* Dispose of a DumpObjects instance.
@@ -1272,8 +1282,8 @@ LLVM_C_ABI void LLVMOrcDisposeDumpObjects(LLVMOrcDumpObjectsRef DumpObjects);
/**
* Dump the contents of the given MemoryBuffer.
*/
-LLVM_C_ABI LLVMErrorRef LLVMOrcDumpObjects_CallOperator(LLVMOrcDumpObjectsRef DumpObjects,
- LLVMMemoryBufferRef *ObjBuffer);
+LLVM_C_ABI LLVMErrorRef LLVMOrcDumpObjects_CallOperator(
+ LLVMOrcDumpObjectsRef DumpObjects, LLVMMemoryBufferRef *ObjBuffer);
/**
* @}
diff --git a/llvm/include/llvm-c/OrcEE.h b/llvm/include/llvm-c/OrcEE.h
index 4617a185a6d5f..fcec3a47186ac 100644
--- a/llvm/include/llvm-c/OrcEE.h
+++ b/llvm/include/llvm-c/OrcEE.h
@@ -24,12 +24,12 @@
#ifndef LLVM_C_ORCEE_H
#define LLVM_C_ORCEE_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/ExecutionEngine.h"
#include "llvm-c/Orc.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
diff --git a/llvm/include/llvm-c/Remarks.h b/llvm/include/llvm-c/Remarks.h
index 8e89582f67fc9..b3468a55e5046 100644
--- a/llvm/include/llvm-c/Remarks.h
+++ b/llvm/include/llvm-c/Remarks.h
@@ -15,9 +15,9 @@
#ifndef LLVM_C_REMARKS_H
#define LLVM_C_REMARKS_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
#ifdef __cplusplus
#include <cstddef>
#else
@@ -62,7 +62,8 @@ typedef struct LLVMRemarkOpaqueString *LLVMRemarkStringRef;
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern const char *LLVMRemarkStringGetData(LLVMRemarkStringRef String);
+LLVM_C_ABI extern const char *
+LLVMRemarkStringGetData(LLVMRemarkStringRef String);
/**
* Returns the size of the string.
@@ -91,14 +92,16 @@ LLVMRemarkDebugLocGetSourceFilePath(LLVMRemarkDebugLocRef DL);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern uint32_t LLVMRemarkDebugLocGetSourceLine(LLVMRemarkDebugLocRef DL);
+LLVM_C_ABI extern uint32_t
+LLVMRemarkDebugLocGetSourceLine(LLVMRemarkDebugLocRef DL);
/**
* Return the column in the source file for a debug location.
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern uint32_t LLVMRemarkDebugLocGetSourceColumn(LLVMRemarkDebugLocRef DL);
+LLVM_C_ABI extern uint32_t
+LLVMRemarkDebugLocGetSourceColumn(LLVMRemarkDebugLocRef DL);
/**
* Element of the "Args" list. The key might give more information about what
@@ -122,7 +125,8 @@ LLVM_C_ABI extern LLVMRemarkStringRef LLVMRemarkArgGetKey(LLVMRemarkArgRef Arg);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkStringRef LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg);
+LLVM_C_ABI extern LLVMRemarkStringRef
+LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg);
/**
* Returns the debug location that is attached to the value of this argument.
@@ -131,7 +135,8 @@ LLVM_C_ABI extern LLVMRemarkStringRef LLVMRemarkArgGetValue(LLVMRemarkArgRef Arg
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkDebugLocRef LLVMRemarkArgGetDebugLoc(LLVMRemarkArgRef Arg);
+LLVM_C_ABI extern LLVMRemarkDebugLocRef
+LLVMRemarkArgGetDebugLoc(LLVMRemarkArgRef Arg);
/**
* A remark emitted by the compiler.
@@ -153,7 +158,8 @@ LLVM_C_ABI extern void LLVMRemarkEntryDispose(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern enum LLVMRemarkType LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern enum LLVMRemarkType
+LLVMRemarkEntryGetType(LLVMRemarkEntryRef Remark);
/**
* Get the name of the pass that emitted this remark.
@@ -214,7 +220,8 @@ LLVM_C_ABI extern uint32_t LLVMRemarkEntryGetNumArgs(LLVMRemarkEntryRef Remark);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern LLVMRemarkArgRef
+LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef Remark);
/**
* Get the next argument in \p Remark from the position of \p It.
@@ -225,8 +232,8 @@ LLVM_C_ABI extern LLVMRemarkArgRef LLVMRemarkEntryGetFirstArg(LLVMRemarkEntryRef
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkArgRef LLVMRemarkEntryGetNextArg(LLVMRemarkArgRef It,
- LLVMRemarkEntryRef Remark);
+LLVM_C_ABI extern LLVMRemarkArgRef
+LLVMRemarkEntryGetNextArg(LLVMRemarkArgRef It, LLVMRemarkEntryRef Remark);
typedef struct LLVMRemarkOpaqueParser *LLVMRemarkParserRef;
@@ -241,8 +248,8 @@ typedef struct LLVMRemarkOpaqueParser *LLVMRemarkParserRef;
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf,
- uint64_t Size);
+LLVM_C_ABI extern LLVMRemarkParserRef
+LLVMRemarkParserCreateYAML(const void *Buf, uint64_t Size);
/**
* Creates a remark parser that can be used to parse the buffer located in \p
@@ -255,8 +262,8 @@ LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateYAML(const void *Buf
*
* \since REMARKS_API_VERSION=1
*/
-LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void *Buf,
- uint64_t Size);
+LLVM_C_ABI extern LLVMRemarkParserRef
+LLVMRemarkParserCreateBitstream(const void *Buf, uint64_t Size);
/**
* Returns the next remark in the file.
@@ -300,7 +307,8 @@ LLVM_C_ABI extern LLVMRemarkParserRef LLVMRemarkParserCreateBitstream(const void
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern LLVMRemarkEntryRef LLVMRemarkParserGetNext(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern LLVMRemarkEntryRef
+LLVMRemarkParserGetNext(LLVMRemarkParserRef Parser);
/**
* Returns `1` if the parser encountered an error while parsing the buffer.
@@ -320,7 +328,8 @@ LLVM_C_ABI extern LLVMBool LLVMRemarkParserHasError(LLVMRemarkParserRef Parser);
*
* \since REMARKS_API_VERSION=0
*/
-LLVM_C_ABI extern const char *LLVMRemarkParserGetErrorMessage(LLVMRemarkParserRef Parser);
+LLVM_C_ABI extern const char *
+LLVMRemarkParserGetErrorMessage(LLVMRemarkParserRef Parser);
/**
* Releases all the resources used by \p Parser.
diff --git a/llvm/include/llvm-c/Support.h b/llvm/include/llvm-c/Support.h
index 57761dcfd2e84..a3adfdf2834cc 100644
--- a/llvm/include/llvm-c/Support.h
+++ b/llvm/include/llvm-c/Support.h
@@ -14,10 +14,10 @@
#ifndef LLVM_C_SUPPORT_H
#define LLVM_C_SUPPORT_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/DataTypes.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -33,7 +33,7 @@ LLVM_C_EXTERN_C_BEGIN
*
* @see sys::DynamicLibrary::LoadLibraryPermanently()
*/
-LLVM_C_ABI LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
+LLVM_C_ABI LLVMBool LLVMLoadLibraryPermanently(const char *Filename);
/**
* This function parses the given arguments using the LLVM command line parser.
@@ -44,7 +44,7 @@ LLVM_C_ABI LLVMBool LLVMLoadLibraryPermanently(const char* Filename);
* @see llvm::cl::ParseCommandLineOptions()
*/
LLVM_C_ABI void LLVMParseCommandLineOptions(int argc, const char *const *argv,
- const char *Overview);
+ const char *Overview);
/**
* This function will search through all previously loaded dynamic
diff --git a/llvm/include/llvm-c/Target.h b/llvm/include/llvm-c/Target.h
index bc1fdb7292bd4..03a3b563a6392 100644
--- a/llvm/include/llvm-c/Target.h
+++ b/llvm/include/llvm-c/Target.h
@@ -19,9 +19,9 @@
#ifndef LLVM_C_TARGET_H
#define LLVM_C_TARGET_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
#include "llvm/Config/llvm-config.h"
LLVM_C_EXTERN_C_BEGIN
@@ -39,34 +39,35 @@ typedef struct LLVMOpaqueTargetData *LLVMTargetDataRef;
typedef struct LLVMOpaqueTargetLibraryInfotData *LLVMTargetLibraryInfoRef;
/* Declare all of the target-initialization functions that are available. */
-#define LLVM_TARGET(TargetName) \
+#define LLVM_TARGET(TargetName) \
LLVM_C_ABI void LLVMInitialize##TargetName##TargetInfo(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
-#define LLVM_TARGET(TargetName) LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);
+#define LLVM_TARGET(TargetName) \
+ LLVM_C_ABI void LLVMInitialize##TargetName##Target(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
-#define LLVM_TARGET(TargetName) \
+#define LLVM_TARGET(TargetName) \
LLVM_C_ABI void LLVMInitialize##TargetName##TargetMC(void);
#include "llvm/Config/Targets.def"
#undef LLVM_TARGET /* Explicit undef to make SWIG happier */
/* Declare all of the available assembly printer initialization functions. */
-#define LLVM_ASM_PRINTER(TargetName) \
+#define LLVM_ASM_PRINTER(TargetName) \
LLVM_C_ABI void LLVMInitialize##TargetName##AsmPrinter(void);
#include "llvm/Config/AsmPrinters.def"
#undef LLVM_ASM_PRINTER /* Explicit undef to make SWIG happier */
/* Declare all of the available assembly parser initialization functions. */
-#define LLVM_ASM_PARSER(TargetName) \
+#define LLVM_ASM_PARSER(TargetName) \
LLVM_C_ABI void LLVMInitialize##TargetName##AsmParser(void);
#include "llvm/Config/AsmParsers.def"
#undef LLVM_ASM_PARSER /* Explicit undef to make SWIG happier */
/* Declare all of the available disassembler initialization functions. */
-#define LLVM_DISASSEMBLER(TargetName) \
+#define LLVM_DISASSEMBLER(TargetName) \
LLVM_C_ABI void LLVMInitialize##TargetName##Disassembler(void);
#include "llvm/Config/Disassemblers.def"
#undef LLVM_DISASSEMBLER /* Explicit undef to make SWIG happier */
@@ -205,7 +206,7 @@ LLVM_C_ABI void LLVMDisposeTargetData(LLVMTargetDataRef TD);
ownership of the target library info.
See the method llvm::PassManagerBase::add. */
LLVM_C_ABI void LLVMAddTargetLibraryInfo(LLVMTargetLibraryInfoRef TLI,
- LLVMPassManagerRef PM);
+ LLVMPassManagerRef PM);
/** Converts target data to a target layout string. The string must be disposed
with LLVMDisposeMessage.
@@ -237,52 +238,62 @@ LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForAS(LLVMTargetDataRef TD, unsigned AS);
/** Returns the integer type that is the same size as a pointer on a target.
See the method llvm::DataLayout::getIntPtrType. */
-LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C, LLVMTargetDataRef TD);
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeInContext(LLVMContextRef C,
+ LLVMTargetDataRef TD);
/** Returns the integer type that is the same size as a pointer on a target.
This version allows the address space to be specified.
See the method llvm::DataLayout::getIntPtrType. */
-LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C, LLVMTargetDataRef TD,
- unsigned AS);
+LLVM_C_ABI LLVMTypeRef LLVMIntPtrTypeForASInContext(LLVMContextRef C,
+ LLVMTargetDataRef TD,
+ unsigned AS);
/** Computes the size of a type in bits for a target.
See the method llvm::DataLayout::getTypeSizeInBits. */
-LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMSizeOfTypeInBits(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the storage size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeStoreSize. */
-LLVM_C_ABI unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMStoreSizeOfType(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the ABI size of a type in bytes for a target.
See the method llvm::DataLayout::getTypeAllocSize. */
-LLVM_C_ABI unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned long long LLVMABISizeOfType(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the ABI alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-LLVM_C_ABI unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMABIAlignmentOfType(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the call frame alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMCallFrameAlignmentOfType(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the preferred alignment of a type in bytes for a target.
See the method llvm::DataLayout::getTypeABISize. */
-LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD, LLVMTypeRef Ty);
+LLVM_C_ABI unsigned LLVMPreferredAlignmentOfType(LLVMTargetDataRef TD,
+ LLVMTypeRef Ty);
/** Computes the preferred alignment of a global variable in bytes for a target.
See the method llvm::DataLayout::getPreferredAlignment. */
LLVM_C_ABI unsigned LLVMPreferredAlignmentOfGlobal(LLVMTargetDataRef TD,
- LLVMValueRef GlobalVar);
+ LLVMValueRef GlobalVar);
/** Computes the structure element that contains the byte offset for a target.
See the method llvm::StructLayout::getElementContainingOffset. */
-LLVM_C_ABI unsigned LLVMElementAtOffset(LLVMTargetDataRef TD, LLVMTypeRef StructTy,
- unsigned long long Offset);
+LLVM_C_ABI unsigned LLVMElementAtOffset(LLVMTargetDataRef TD,
+ LLVMTypeRef StructTy,
+ unsigned long long Offset);
/** Computes the byte offset of the indexed struct element for a target.
See the method llvm::StructLayout::getElementContainingOffset. */
LLVM_C_ABI unsigned long long LLVMOffsetOfElement(LLVMTargetDataRef TD,
- LLVMTypeRef StructTy, unsigned Element);
+ LLVMTypeRef StructTy,
+ unsigned Element);
/**
* @}
diff --git a/llvm/include/llvm-c/TargetMachine.h b/llvm/include/llvm-c/TargetMachine.h
index 59f00f383a3f8..1c2d1ed9bfff8 100644
--- a/llvm/include/llvm-c/TargetMachine.h
+++ b/llvm/include/llvm-c/TargetMachine.h
@@ -19,10 +19,10 @@
#ifndef LLVM_C_TARGETMACHINE_H
#define LLVM_C_TARGETMACHINE_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/ExternC.h"
#include "llvm-c/Target.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
LLVM_C_EXTERN_C_BEGIN
@@ -87,8 +87,9 @@ LLVM_C_ABI LLVMTargetRef LLVMGetTargetFromName(const char *Name);
/** Finds the target corresponding to the given triple and stores it in \p T.
Returns 0 on success. Optionally returns any error in ErrorMessage.
Use LLVMDisposeMessage to dispose the message. */
-LLVM_C_ABI LLVMBool LLVMGetTargetFromTriple(const char* Triple, LLVMTargetRef *T,
- char **ErrorMessage);
+LLVM_C_ABI LLVMBool LLVMGetTargetFromTriple(const char *Triple,
+ LLVMTargetRef *T,
+ char **ErrorMessage);
/** Returns the name of a target. See llvm::Target::getName */
LLVM_C_ABI const char *LLVMGetTargetName(LLVMTargetRef T);
@@ -118,30 +119,37 @@ LLVM_C_ABI LLVMTargetMachineOptionsRef LLVMCreateTargetMachineOptions(void);
/**
* Dispose of an LLVMTargetMachineOptionsRef instance.
*/
-LLVM_C_ABI void LLVMDisposeTargetMachineOptions(LLVMTargetMachineOptionsRef Options);
+LLVM_C_ABI void
+LLVMDisposeTargetMachineOptions(LLVMTargetMachineOptionsRef Options);
-LLVM_C_ABI void LLVMTargetMachineOptionsSetCPU(LLVMTargetMachineOptionsRef Options,
- const char *CPU);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetCPU(LLVMTargetMachineOptionsRef Options,
+ const char *CPU);
/**
* Set the list of features for the target machine.
*
* \param Features a comma-separated list of features.
*/
-LLVM_C_ABI void LLVMTargetMachineOptionsSetFeatures(LLVMTargetMachineOptionsRef Options,
- const char *Features);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetFeatures(LLVMTargetMachineOptionsRef Options,
+ const char *Features);
-LLVM_C_ABI void LLVMTargetMachineOptionsSetABI(LLVMTargetMachineOptionsRef Options,
- const char *ABI);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetABI(LLVMTargetMachineOptionsRef Options,
+ const char *ABI);
-LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeGenOptLevel(
- LLVMTargetMachineOptionsRef Options, LLVMCodeGenOptLevel Level);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetCodeGenOptLevel(LLVMTargetMachineOptionsRef Options,
+ LLVMCodeGenOptLevel Level);
-LLVM_C_ABI void LLVMTargetMachineOptionsSetRelocMode(LLVMTargetMachineOptionsRef Options,
- LLVMRelocMode Reloc);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetRelocMode(LLVMTargetMachineOptionsRef Options,
+ LLVMRelocMode Reloc);
-LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef Options,
- LLVMCodeModel CodeModel);
+LLVM_C_ABI void
+LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef Options,
+ LLVMCodeModel CodeModel);
/**
* Create a new llvm::TargetMachine.
@@ -151,14 +159,13 @@ LLVM_C_ABI void LLVMTargetMachineOptionsSetCodeModel(LLVMTargetMachineOptionsRef
* \param Options additional configuration (see
* LLVMCreateTargetMachineOptions()).
*/
-LLVM_C_ABI LLVMTargetMachineRef
-LLVMCreateTargetMachineWithOptions(LLVMTargetRef T, const char *Triple,
- LLVMTargetMachineOptionsRef Options);
+LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachineWithOptions(
+ LLVMTargetRef T, const char *Triple, LLVMTargetMachineOptionsRef Options);
/** Creates a new llvm::TargetMachine. See llvm::Target::createTargetMachine */
-LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachine(LLVMTargetRef T,
- const char *Triple, const char *CPU, const char *Features,
- LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel);
+LLVM_C_ABI LLVMTargetMachineRef LLVMCreateTargetMachine(
+ LLVMTargetRef T, const char *Triple, const char *CPU, const char *Features,
+ LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel);
/** Dispose the LLVMTargetMachineRef instance generated by
LLVMCreateTargetMachine. */
@@ -187,54 +194,60 @@ LLVM_C_ABI LLVMTargetDataRef LLVMCreateTargetDataLayout(LLVMTargetMachineRef T);
/** Set the target machine's ASM verbosity. */
LLVM_C_ABI void LLVMSetTargetMachineAsmVerbosity(LLVMTargetMachineRef T,
- LLVMBool VerboseAsm);
+ LLVMBool VerboseAsm);
/** Enable fast-path instruction selection. */
-LLVM_C_ABI void LLVMSetTargetMachineFastISel(LLVMTargetMachineRef T, LLVMBool Enable);
+LLVM_C_ABI void LLVMSetTargetMachineFastISel(LLVMTargetMachineRef T,
+ LLVMBool Enable);
/** Enable global instruction selection. */
-LLVM_C_ABI void LLVMSetTargetMachineGlobalISel(LLVMTargetMachineRef T, LLVMBool Enable);
+LLVM_C_ABI void LLVMSetTargetMachineGlobalISel(LLVMTargetMachineRef T,
+ LLVMBool Enable);
/** Set abort behaviour when global instruction selection fails to lower/select
* an instruction. */
-LLVM_C_ABI void LLVMSetTargetMachineGlobalISelAbort(LLVMTargetMachineRef T,
- LLVMGlobalISelAbortMode Mode);
+LLVM_C_ABI void
+LLVMSetTargetMachineGlobalISelAbort(LLVMTargetMachineRef T,
+ LLVMGlobalISelAbortMode Mode);
/** Enable the MachineOutliner pass. */
LLVM_C_ABI void LLVMSetTargetMachineMachineOutliner(LLVMTargetMachineRef T,
- LLVMBool Enable);
+ LLVMBool Enable);
/** Emits an asm or object file for the given module to the filename. This
wraps several c++ only classes (among them a file stream). Returns any
error in ErrorMessage. Use LLVMDisposeMessage to dispose the message. */
-LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T, LLVMModuleRef M,
- const char *Filename,
- LLVMCodeGenFileType codegen,
- char **ErrorMessage);
+LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToFile(LLVMTargetMachineRef T,
+ LLVMModuleRef M,
+ const char *Filename,
+ LLVMCodeGenFileType codegen,
+ char **ErrorMessage);
/** Compile the LLVM IR stored in \p M and store the result in \p OutMemBuf. */
-LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToMemoryBuffer(LLVMTargetMachineRef T, LLVMModuleRef M,
- LLVMCodeGenFileType codegen, char** ErrorMessage, LLVMMemoryBufferRef *OutMemBuf);
+LLVM_C_ABI LLVMBool LLVMTargetMachineEmitToMemoryBuffer(
+ LLVMTargetMachineRef T, LLVMModuleRef M, LLVMCodeGenFileType codegen,
+ char **ErrorMessage, LLVMMemoryBufferRef *OutMemBuf);
/*===-- Triple ------------------------------------------------------------===*/
/** Get a triple for the host machine as a string. The result needs to be
disposed with LLVMDisposeMessage. */
-LLVM_C_ABI char* LLVMGetDefaultTargetTriple(void);
+LLVM_C_ABI char *LLVMGetDefaultTargetTriple(void);
/** Normalize a target triple. The result needs to be disposed with
LLVMDisposeMessage. */
-LLVM_C_ABI char* LLVMNormalizeTargetTriple(const char* triple);
+LLVM_C_ABI char *LLVMNormalizeTargetTriple(const char *triple);
/** Get the host CPU as a string. The result needs to be disposed with
LLVMDisposeMessage. */
-LLVM_C_ABI char* LLVMGetHostCPUName(void);
+LLVM_C_ABI char *LLVMGetHostCPUName(void);
/** Get the host CPU's features as a string. The result needs to be disposed
with LLVMDisposeMessage. */
-LLVM_C_ABI char* LLVMGetHostCPUFeatures(void);
+LLVM_C_ABI char *LLVMGetHostCPUFeatures(void);
/** Adds the target-specific analysis passes to the pass manager. */
-LLVM_C_ABI void LLVMAddAnalysisPasses(LLVMTargetMachineRef T, LLVMPassManagerRef PM);
+LLVM_C_ABI void LLVMAddAnalysisPasses(LLVMTargetMachineRef T,
+ LLVMPassManagerRef PM);
/**
* @}
diff --git a/llvm/include/llvm-c/Transforms/PassBuilder.h b/llvm/include/llvm-c/Transforms/PassBuilder.h
index 7ff914e19caa9..7921f8f4ac286 100644
--- a/llvm/include/llvm-c/Transforms/PassBuilder.h
+++ b/llvm/include/llvm-c/Transforms/PassBuilder.h
@@ -14,10 +14,10 @@
#ifndef LLVM_C_TRANSFORMS_PASSBUILDER_H
#define LLVM_C_TRANSFORMS_PASSBUILDER_H
-#include "llvm-c/Visibility.h"
#include "llvm-c/Error.h"
#include "llvm-c/TargetMachine.h"
#include "llvm-c/Types.h"
+#include "llvm-c/Visibility.h"
/**
* @defgroup LLVMCCoreNewPM New Pass Manager
@@ -48,8 +48,8 @@ typedef struct LLVMOpaquePassBuilderOptions *LLVMPassBuilderOptionsRef;
* full reference of the Passes format.
*/
LLVM_C_ABI LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
- LLVMTargetMachineRef TM,
- LLVMPassBuilderOptionsRef Options);
+ LLVMTargetMachineRef TM,
+ LLVMPassBuilderOptionsRef Options);
/**
* Construct and run a set of passes over a function.
@@ -57,9 +57,9 @@ LLVM_C_ABI LLVMErrorRef LLVMRunPasses(LLVMModuleRef M, const char *Passes,
* This function behaves the same as LLVMRunPasses, but operates on a single
* function instead of an entire module.
*/
-LLVM_C_ABI LLVMErrorRef LLVMRunPassesOnFunction(LLVMValueRef F, const char *Passes,
- LLVMTargetMachineRef TM,
- LLVMPassBuilderOptionsRef Options);
+LLVM_C_ABI LLVMErrorRef LLVMRunPassesOnFunction(
+ LLVMValueRef F, const char *Passes, LLVMTargetMachineRef TM,
+ LLVMPassBuilderOptionsRef Options);
/**
* Create a new set of options for a PassBuilder
@@ -74,57 +74,69 @@ LLVM_C_ABI LLVMPassBuilderOptionsRef LLVMCreatePassBuilderOptions(void);
* Toggle adding the VerifierPass for the PassBuilder, ensuring all functions
* inside the module is valid.
*/
-LLVM_C_ABI void LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options,
- LLVMBool VerifyEach);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetVerifyEach(LLVMPassBuilderOptionsRef Options,
+ LLVMBool VerifyEach);
/**
* Toggle debug logging when running the PassBuilder
*/
-LLVM_C_ABI void LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
- LLVMBool DebugLogging);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetDebugLogging(LLVMPassBuilderOptionsRef Options,
+ LLVMBool DebugLogging);
/**
* Specify a custom alias analysis pipeline for the PassBuilder to be used
* instead of the default one. The string argument is not copied; the caller
* is responsible for ensuring it outlives the PassBuilderOptions instance.
*/
-LLVM_C_ABI void LLVMPassBuilderOptionsSetAAPipeline(LLVMPassBuilderOptionsRef Options,
- const char *AAPipeline);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetAAPipeline(LLVMPassBuilderOptionsRef Options,
+ const char *AAPipeline);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopInterleaving(
- LLVMPassBuilderOptionsRef Options, LLVMBool LoopInterleaving);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetLoopInterleaving(LLVMPassBuilderOptionsRef Options,
+ LLVMBool LoopInterleaving);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopVectorization(
- LLVMPassBuilderOptionsRef Options, LLVMBool LoopVectorization);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetLoopVectorization(LLVMPassBuilderOptionsRef Options,
+ LLVMBool LoopVectorization);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetSLPVectorization(
- LLVMPassBuilderOptionsRef Options, LLVMBool SLPVectorization);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetSLPVectorization(LLVMPassBuilderOptionsRef Options,
+ LLVMBool SLPVectorization);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options,
- LLVMBool LoopUnrolling);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetLoopUnrolling(LLVMPassBuilderOptionsRef Options,
+ LLVMBool LoopUnrolling);
LLVM_C_ABI void LLVMPassBuilderOptionsSetForgetAllSCEVInLoopUnroll(
LLVMPassBuilderOptionsRef Options, LLVMBool ForgetAllSCEVInLoopUnroll);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options,
- unsigned LicmMssaOptCap);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetLicmMssaOptCap(LLVMPassBuilderOptionsRef Options,
+ unsigned LicmMssaOptCap);
LLVM_C_ABI void LLVMPassBuilderOptionsSetLicmMssaNoAccForPromotionCap(
LLVMPassBuilderOptionsRef Options, unsigned LicmMssaNoAccForPromotionCap);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetCallGraphProfile(
- LLVMPassBuilderOptionsRef Options, LLVMBool CallGraphProfile);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetCallGraphProfile(LLVMPassBuilderOptionsRef Options,
+ LLVMBool CallGraphProfile);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options,
- LLVMBool MergeFunctions);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetMergeFunctions(LLVMPassBuilderOptionsRef Options,
+ LLVMBool MergeFunctions);
-LLVM_C_ABI void LLVMPassBuilderOptionsSetInlinerThreshold(
- LLVMPassBuilderOptionsRef Options, int Threshold);
+LLVM_C_ABI void
+LLVMPassBuilderOptionsSetInlinerThreshold(LLVMPassBuilderOptionsRef Options,
+ int Threshold);
/**
* Dispose of a heap-allocated PassBuilderOptions instance
*/
-LLVM_C_ABI void LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options);
+LLVM_C_ABI void
+LLVMDisposePassBuilderOptions(LLVMPassBuilderOptionsRef Options);
/**
* @}
diff --git a/llvm/include/llvm-c/blake3.h b/llvm/include/llvm-c/blake3.h
index c1d153b2bc5e2..ad3eb08464496 100644
--- a/llvm/include/llvm-c/blake3.h
+++ b/llvm/include/llvm-c/blake3.h
@@ -57,20 +57,21 @@ typedef struct {
LLVM_C_ABI const char *llvm_blake3_version(void);
LLVM_C_ABI void llvm_blake3_hasher_init(llvm_blake3_hasher *self);
-LLVM_C_ABI void llvm_blake3_hasher_init_keyed(llvm_blake3_hasher *self,
- const uint8_t key[LLVM_BLAKE3_KEY_LEN]);
+LLVM_C_ABI void
+llvm_blake3_hasher_init_keyed(llvm_blake3_hasher *self,
+ const uint8_t key[LLVM_BLAKE3_KEY_LEN]);
LLVM_C_ABI void llvm_blake3_hasher_init_derive_key(llvm_blake3_hasher *self,
- const char *context);
+ const char *context);
LLVM_C_ABI void llvm_blake3_hasher_init_derive_key_raw(llvm_blake3_hasher *self,
- const void *context,
- size_t context_len);
-LLVM_C_ABI void llvm_blake3_hasher_update(llvm_blake3_hasher *self, const void *input,
- size_t input_len);
-LLVM_C_ABI void llvm_blake3_hasher_finalize(const llvm_blake3_hasher *self, uint8_t *out,
- size_t out_len);
+ const void *context,
+ size_t context_len);
+LLVM_C_ABI void llvm_blake3_hasher_update(llvm_blake3_hasher *self,
+ const void *input, size_t input_len);
+LLVM_C_ABI void llvm_blake3_hasher_finalize(const llvm_blake3_hasher *self,
+ uint8_t *out, size_t out_len);
LLVM_C_ABI void llvm_blake3_hasher_finalize_seek(const llvm_blake3_hasher *self,
- uint64_t seek, uint8_t *out,
- size_t out_len);
+ uint64_t seek, uint8_t *out,
+ size_t out_len);
LLVM_C_ABI void llvm_blake3_hasher_reset(llvm_blake3_hasher *self);
#ifdef __cplusplus
More information about the llvm-commits
mailing list