diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 42c3c0b..d953558 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,10 +16,10 @@ jobs:
configuration: [ debug, release ]
os: [ windows ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- run: ./scripts/cibuild.cmd -configuration ${{ matrix.configuration }} -architecture ${{ matrix.architecture }}
shell: cmd
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }}
path: |
@@ -36,10 +36,10 @@ jobs:
configuration: [ debug, release ]
os: [ ubuntu ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }}
shell: bash
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }}
path: |
@@ -56,10 +56,10 @@ jobs:
configuration: [ debug, release ]
os: [ macos ]
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- run: ./scripts/cibuild.sh --configuration ${{ matrix.configuration }} --architecture ${{ matrix.architecture }}
shell: bash
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: ${{ matrix.os }}_${{ matrix.configuration }}_${{ matrix.architecture }}
path: |
@@ -71,13 +71,13 @@ jobs:
build-nuget-preview:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- run: ./scripts/cibuild.cmd -configuration release -architecture x64
shell: cmd
env:
EXCLUDE_RUN_ID_FROM_PACKAGE: true
EXCLUDE_SUFFIX_FROM_VERSION: false
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: nuget_preview
path: |
@@ -93,17 +93,17 @@ jobs:
permissions:
id-token: write
steps:
- - uses: actions/checkout@v3
- - uses: actions/download-artifact@v3
+ - uses: actions/checkout@v4
+ - uses: actions/download-artifact@v4
with:
name: nuget_preview
path: ./artifacts
- - uses: actions/setup-dotnet@v3
+ - uses: actions/setup-dotnet@v4
with:
global-json-file: ./global.json
- run: dotnet tool install --tool-path ./artifacts/tools sign --version 0.9.1-beta.24170.3
- run: ./artifacts/tools/sign code azure-key-vault "**/*.nupkg" --timestamp-url "http://timestamp.digicert.com" --base-directory "${{ github.workspace }}/artifacts/pkg" --file-list "${{ github.workspace }}/scripts/SignClientFileList.txt" --publisher-name ".NET Foundation" --description "LLVMSharp" --description-url "https://github.com/dotnet/llvmsharp" --azure-key-vault-certificate "${{ secrets.SC_KEY_VAULT_CERTIFICATE_ID }}" --azure-key-vault-client-id "${{ secrets.SC_AZURE_CLIENT_ID }}" --azure-key-vault-client-secret "${{ secrets.SC_AZURE_CLIENT_SECRET }}" --azure-key-vault-tenant-id "${{ secrets.SC_AZURE_TENANT_ID }}" --azure-key-vault-url "${{ secrets.SC_KEY_VAULT_URL }}"
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: sign_nuget_preview
path: |
@@ -112,13 +112,13 @@ jobs:
build-nuget-release:
runs-on: windows-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- run: ./scripts/cibuild.cmd -configuration release -architecture x64
shell: cmd
env:
EXCLUDE_RUN_ID_FROM_PACKAGE: true
EXCLUDE_SUFFIX_FROM_VERSION: true
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: nuget_release
path: |
@@ -134,17 +134,17 @@ jobs:
permissions:
id-token: write
steps:
- - uses: actions/checkout@v3
- - uses: actions/download-artifact@v3
+ - uses: actions/checkout@v4
+ - uses: actions/download-artifact@v4
with:
name: nuget_release
path: ./artifacts
- - uses: actions/setup-dotnet@v3
+ - uses: actions/setup-dotnet@v4
with:
global-json-file: ./global.json
- run: dotnet tool install --tool-path ./artifacts/tools sign --version 0.9.1-beta.24170.3
- run: ./artifacts/tools/sign code azure-key-vault "**/*.nupkg" --timestamp-url "http://timestamp.digicert.com" --base-directory "${{ github.workspace }}/artifacts/pkg" --file-list "${{ github.workspace }}/scripts/SignClientFileList.txt" --publisher-name ".NET Foundation" --description "LLVMSharp" --description-url "https://github.com/dotnet/llvmsharp" --azure-key-vault-certificate "${{ secrets.SC_KEY_VAULT_CERTIFICATE_ID }}" --azure-key-vault-client-id "${{ secrets.SC_AZURE_CLIENT_ID }}" --azure-key-vault-client-secret "${{ secrets.SC_AZURE_CLIENT_SECRET }}" --azure-key-vault-tenant-id "${{ secrets.SC_AZURE_TENANT_ID }}" --azure-key-vault-url "${{ secrets.SC_KEY_VAULT_URL }}"
- - uses: actions/upload-artifact@v3
+ - uses: actions/upload-artifact@v4
with:
name: sign_nuget_release
path: |
@@ -155,11 +155,11 @@ jobs:
if: ${{ github.event_name == 'push' }}
needs: [ windows-x64, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ]
steps:
- - uses: actions/download-artifact@v3
+ - uses: actions/download-artifact@v4
with:
name: windows_release_x64
path: ./artifacts
- - uses: actions/setup-dotnet@v3
+ - uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
source-url: https://pkgs.clangsharp.dev/index.json
@@ -171,11 +171,11 @@ jobs:
if: false
needs: [ windows-x64, linux-x64, macos-x64, sign-nuget-preview, sign-nuget-release ]
steps:
- - uses: actions/download-artifact@v3
+ - uses: actions/download-artifact@v4
with:
name: windows_release_x64
path: ./artifacts
- - uses: actions/setup-dotnet@v3
+ - uses: actions/setup-dotnet@v4
with:
dotnet-version: '8.0.x'
- run: dotnet nuget push "./artifacts/pkg/Release/*.nupkg" --source https://nuget.pkg.github.com/dotnet/index.json --api-key ${{ secrets.GITHUB_TOKEN }} --skip-duplicate
diff --git a/Directory.Build.props b/Directory.Build.props
index cf22ba2..9d836f1 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -47,7 +47,7 @@
16.0.0
LLVMSharp
LLVMSharp
- 16.0.0
+ 18.1.0
rc1
pr
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 745fca5..1571983 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -12,13 +12,10 @@
-
-
-
-
-
+
+
+
-
diff --git a/LLVMSharp.sln b/LLVMSharp.sln
index e0d4fe1..eadf4d1 100644
--- a/LLVMSharp.sln
+++ b/LLVMSharp.sln
@@ -81,11 +81,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.win-x64", "
packages\libLLVM\libLLVM.runtime.win-x64\libLLVM.runtime.win-x64.nuspec = packages\libLLVM\libLLVM.runtime.win-x64\libLLVM.runtime.win-x64.nuspec
EndProjectSection
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.win-x86", "libLLVM.runtime.win-x86", "{540AB7F4-29FD-462A-8791-259764FD4950}"
- ProjectSection(SolutionItems) = preProject
- packages\libLLVM\libLLVM.runtime.win-x86\libLLVM.runtime.win-x86.nuspec = packages\libLLVM\libLLVM.runtime.win-x86\libLLVM.runtime.win-x86.nuspec
- EndProjectSection
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libLLVM.runtime.win-arm64", "libLLVM.runtime.win-arm64", "{19DB05E9-59B6-45E9-B47D-62913F7DF9A8}"
ProjectSection(SolutionItems) = preProject
packages\libLLVM\libLLVM.runtime.win-arm64\libLLVM.runtime.win-arm64.nuspec = packages\libLLVM\libLLVM.runtime.win-arm64\libLLVM.runtime.win-arm64.nuspec
@@ -140,7 +135,6 @@ Global
{16539CB8-8AC7-4AD0-9D54-8EE615B2FCF3} = {9D46FF1C-E09F-4063-A97D-C09F26310B67}
{D4550E5E-9485-4480-B2B6-9503EEC935BF} = {9D46FF1C-E09F-4063-A97D-C09F26310B67}
{E785DDD0-B9CD-4412-8A3C-4E65C601168C} = {9D46FF1C-E09F-4063-A97D-C09F26310B67}
- {540AB7F4-29FD-462A-8791-259764FD4950} = {9D46FF1C-E09F-4063-A97D-C09F26310B67}
{19DB05E9-59B6-45E9-B47D-62913F7DF9A8} = {9D46FF1C-E09F-4063-A97D-C09F26310B67}
{CEA0F0C9-DF25-446B-8F55-FB629BD1D3E6} = {62B5C536-C224-4EE1-972F-05F732B5980B}
{706334B8-BB91-49A4-BC9C-DFFDF3DCD770} = {E8ADE5A7-4363-43B7-B104-6B0E5510CAF0}
diff --git a/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec
index c768aad..62c85aa 100644
--- a/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.linux-arm64/libLLVM.runtime.linux-arm64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.linux-arm64
- 16.0.6
+ 18.1.3
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
linux arm64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec b/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec
index 8b5c2b9..b26c9a7 100644
--- a/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.linux-x64/libLLVM.runtime.linux-x64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.linux-x64
- 16.0.6
+ 18.1.3
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
linux x64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec
index 3e64496..acd20ef 100644
--- a/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.osx-arm64/libLLVM.runtime.osx-arm64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.osx-arm64
- 16.0.6
+ 18.1.3
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
osx arm64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec b/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec
index 271b350..18f5e34 100644
--- a/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.osx-x64/libLLVM.runtime.osx-x64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.osx-x64
- 16.0.6
+ 18.1.3
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
osx x64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec b/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec
index 8246548..84d642f 100644
--- a/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.win-arm64/libLLVM.runtime.win-arm64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.win-arm64
- 16.0.6
+ 18.1.3.1
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
win arm64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec b/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec
index 8a88bac..250cc9a 100644
--- a/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec
+++ b/packages/libLLVM/libLLVM.runtime.win-x64/libLLVM.runtime.win-x64.nuspec
@@ -2,7 +2,7 @@
libLLVM.runtime.win-x64
- 16.0.6
+ 18.1.3.1
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
win x64 native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec b/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec
deleted file mode 100644
index 1fb468b..0000000
--- a/packages/libLLVM/libLLVM.runtime.win-x86/libLLVM.runtime.win-x86.nuspec
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- libLLVM.runtime.win-x86
- 16.0.6
- .NET Foundation and Contributors
- .NET Foundation and Contributors
- true
- Apache-2.0 WITH LLVM-exception
- https://github.com/dotnet/llvmsharp
- win x86 native library for libLLVM.
- Copyright © LLVM Project
-
-
-
-
-
-
-
diff --git a/packages/libLLVM/libLLVM/libLLVM.nuspec b/packages/libLLVM/libLLVM/libLLVM.nuspec
index b479fb0..83a52ac 100644
--- a/packages/libLLVM/libLLVM/libLLVM.nuspec
+++ b/packages/libLLVM/libLLVM/libLLVM.nuspec
@@ -2,7 +2,7 @@
libLLVM
- 16.0.6
+ 18.1.3.1
.NET Foundation and Contributors
.NET Foundation and Contributors
true
@@ -10,7 +10,7 @@
https://github.com/dotnet/llvmsharp
Multi-platform native library for libLLVM.
Copyright © LLVM Project
-
+
diff --git a/packages/libLLVM/libLLVM/runtime.json b/packages/libLLVM/libLLVM/runtime.json
index aef2e98..fd40efd 100644
--- a/packages/libLLVM/libLLVM/runtime.json
+++ b/packages/libLLVM/libLLVM/runtime.json
@@ -2,37 +2,32 @@
"runtimes": {
"linux-arm64": {
"libLLVM": {
- "libLLVM.runtime.linux-arm64": "16.0.6"
+ "libLLVM.runtime.linux-arm64": "18.1.3"
}
},
"linux-x64": {
"libLLVM": {
- "libLLVM.runtime.linux-x64": "16.0.6"
+ "libLLVM.runtime.linux-x64": "18.1.3"
}
},
"osx-arm64": {
"libLLVM": {
- "libLLVM.runtime.osx-arm64": "16.0.6"
+ "libLLVM.runtime.osx-arm64": "18.1.3"
}
},
"osx-x64": {
"libLLVM": {
- "libLLVM.runtime.osx-x64": "16.0.6"
+ "libLLVM.runtime.osx-x64": "18.1.3"
}
},
"win-arm64": {
"libLLVM": {
- "libLLVM.runtime.win-arm64": "16.0.6"
+ "libLLVM.runtime.win-arm64": "18.1.3.1"
}
},
"win-x64": {
"libLLVM": {
- "libLLVM.runtime.win-x64": "16.0.6"
- }
- },
- "win-x86": {
- "libLLVM": {
- "libLLVM.runtime.win-x86": "16.0.6"
+ "libLLVM.runtime.win-x64": "18.1.3.1"
}
}
}
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs
index 9dfe5a2..c13c790 100644
--- a/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs
+++ b/sources/LLVMSharp.Interop/Extensions/LLVM.Manual.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
@@ -357,11 +357,7 @@ public static int InitializeNativeTarget()
}
case Architecture.Arm:
-#if NET7_0_OR_GREATER
case Architecture.Armv6:
-#else
- case (Architecture)(7):
-#endif
{
InitializeARMTargetInfo();
InitializeARMTarget();
@@ -377,11 +373,7 @@ public static int InitializeNativeTarget()
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.Wasm:
-#else
- case (Architecture)(4):
-#endif
{
InitializeWebAssemblyTargetInfo();
InitializeWebAssemblyTarget();
@@ -389,11 +381,7 @@ public static int InitializeNativeTarget()
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.S390x:
-#else
- case (Architecture)(5):
-#endif
{
InitializeSystemZTargetInfo();
InitializeSystemZTarget();
@@ -401,11 +389,7 @@ public static int InitializeNativeTarget()
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.LoongArch64:
-#else
- case (Architecture)(6):
-#endif
{
InitializeLoongArchTargetInfo();
InitializeLoongArchTarget();
@@ -413,11 +397,7 @@ public static int InitializeNativeTarget()
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.Ppc64le:
-#else
- case (Architecture)(8):
-#endif
{
InitializePowerPCTargetInfo();
InitializePowerPCTarget();
@@ -446,11 +426,7 @@ public static int InitializeNativeAsmParser()
}
case Architecture.Arm:
-#if NET7_0_OR_GREATER
case Architecture.Armv6:
-#else
- case (Architecture)(7):
-#endif
{
InitializeARMAsmParser();
return 0;
@@ -462,41 +438,25 @@ public static int InitializeNativeAsmParser()
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.Wasm:
-#else
- case (Architecture)(4):
-#endif
{
InitializeWebAssemblyAsmParser();
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.S390x:
-#else
- case (Architecture)(5):
-#endif
{
InitializeSystemZAsmParser();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.LoongArch64:
-#else
- case (Architecture)(6):
-#endif
{
InitializeLoongArchAsmParser();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.Ppc64le:
-#else
- case (Architecture)(8):
-#endif
{
InitializePowerPCAsmParser();
return 0;
@@ -523,11 +483,7 @@ public static int InitializeNativeAsmPrinter()
}
case Architecture.Arm:
-#if NET7_0_OR_GREATER
case Architecture.Armv6:
-#else
- case (Architecture)(7):
-#endif
{
InitializeARMAsmPrinter();
return 0;
@@ -539,41 +495,25 @@ public static int InitializeNativeAsmPrinter()
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.Wasm:
-#else
- case (Architecture)(4):
-#endif
{
InitializeWebAssemblyAsmPrinter();
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.S390x:
-#else
- case (Architecture)(5):
-#endif
{
InitializeSystemZAsmPrinter();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.LoongArch64:
-#else
- case (Architecture)(6):
-#endif
{
InitializeLoongArchAsmPrinter();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.Ppc64le:
-#else
- case (Architecture)(8):
-#endif
{
InitializePowerPCAsmPrinter();
return 0;
@@ -600,11 +540,7 @@ public static int InitializeNativeDisassembler()
}
case Architecture.Arm:
-#if NET7_0_OR_GREATER
case Architecture.Armv6:
-#else
- case (Architecture)(7):
-#endif
{
InitializeARMDisassembler();
return 0;
@@ -616,41 +552,25 @@ public static int InitializeNativeDisassembler()
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.Wasm:
-#else
- case (Architecture)(4):
-#endif
{
InitializeWebAssemblyDisassembler();
return 0;
}
-#if NET6_0_OR_GREATER
case Architecture.S390x:
-#else
- case (Architecture)(5):
-#endif
{
InitializeSystemZDisassembler();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.LoongArch64:
-#else
- case (Architecture)(6):
-#endif
{
InitializeLoongArchDisassembler();
return 0;
}
-#if NET7_0_OR_GREATER
case Architecture.Ppc64le:
-#else
- case (Architecture)(8):
-#endif
{
InitializePowerPCDisassembler();
return 0;
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs b/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs
deleted file mode 100644
index a4901b6..0000000
--- a/sources/LLVMSharp.Interop/Extensions/LLVM.ResolveLibrary.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-
-using System;
-using System.Linq;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-[assembly: DisableRuntimeMarshalling]
-
-namespace LLVMSharp.Interop;
-
-public static unsafe partial class LLVM
-{
- public static event DllImportResolver? ResolveLibrary;
-
- static LLVM()
- {
- if (!Configuration.DisableResolveLibraryHook)
- {
- NativeLibrary.SetDllImportResolver(Assembly.GetExecutingAssembly(), OnDllImport);
- }
- }
-
- private static IntPtr OnDllImport(string libraryName, Assembly assembly, DllImportSearchPath? searchPath)
- {
- if (TryResolveLibrary(libraryName, assembly, searchPath, out var nativeLibrary))
- {
- return nativeLibrary;
- }
-
- if (libraryName.Equals("libLLVM", StringComparison.Ordinal) && TryResolveLLVM(assembly, searchPath, out nativeLibrary))
- {
- return nativeLibrary;
- }
-
- return IntPtr.Zero;
- }
-
- private static bool TryResolveLLVM(Assembly assembly, DllImportSearchPath? searchPath, out IntPtr nativeLibrary)
- {
- if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- return NativeLibrary.TryLoad("libLLVM.so.16", assembly, searchPath, out nativeLibrary)
- || NativeLibrary.TryLoad("libLLVM-16", assembly, searchPath, out nativeLibrary)
- || NativeLibrary.TryLoad("libLLVM.so.1", assembly, searchPath, out nativeLibrary);
- }
- else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
- {
- return NativeLibrary.TryLoad("LLVM-C.dll", assembly, searchPath, out nativeLibrary);
- }
-
- nativeLibrary = IntPtr.Zero;
- return false;
- }
-
- private static bool TryResolveLibrary(string libraryName, Assembly assembly, DllImportSearchPath? searchPath, out IntPtr nativeLibrary)
- {
- var resolveLibrary = ResolveLibrary;
-
- if (resolveLibrary is not null)
- {
- var resolvers = resolveLibrary.GetInvocationList().Cast();
-
- foreach (DllImportResolver resolver in resolvers)
- {
- nativeLibrary = resolver(libraryName, assembly, searchPath);
-
- if (nativeLibrary != IntPtr.Zero)
- {
- return true;
- }
- }
- }
-
- nativeLibrary = IntPtr.Zero;
- return false;
- }
-}
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassBuilderOptionsRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassBuilderOptionsRef.cs
new file mode 100644
index 0000000..a8bddbb
--- /dev/null
+++ b/sources/LLVMSharp.Interop/Extensions/LLVMPassBuilderOptionsRef.cs
@@ -0,0 +1,59 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System;
+
+namespace LLVMSharp.Interop;
+
+public unsafe partial struct LLVMPassBuilderOptionsRef(IntPtr handle) : IEquatable, IDisposable
+{
+ public IntPtr Handle = handle;
+
+ public static implicit operator LLVMPassBuilderOptionsRef(LLVMOpaquePassBuilderOptions* value) => new LLVMPassBuilderOptionsRef((IntPtr)value);
+
+ public static implicit operator LLVMOpaquePassBuilderOptions*(LLVMPassBuilderOptionsRef value) => (LLVMOpaquePassBuilderOptions*)value.Handle;
+
+ public static bool operator ==(LLVMPassBuilderOptionsRef left, LLVMPassBuilderOptionsRef right) => left.Handle == right.Handle;
+
+ public static bool operator !=(LLVMPassBuilderOptionsRef left, LLVMPassBuilderOptionsRef right) => !(left == right);
+
+ public static LLVMPassBuilderOptionsRef Create() => LLVM.CreatePassBuilderOptions();
+
+ public void Dispose()
+ {
+ if (Handle != IntPtr.Zero)
+ {
+ LLVM.DisposePassBuilderOptions(this);
+ Handle = IntPtr.Zero;
+ }
+ }
+
+ public override readonly bool Equals(object? obj) => (obj is LLVMPassBuilderOptionsRef other) && Equals(other);
+
+ public readonly bool Equals(LLVMPassBuilderOptionsRef other) => this == other;
+
+ public override readonly int GetHashCode() => Handle.GetHashCode();
+
+ public readonly void SetCallGraphProfile(bool CallGraphProfile) => LLVM.PassBuilderOptionsSetCallGraphProfile(this, CallGraphProfile ? 1 : 0);
+
+ public readonly void SetDebugLogging(bool DebugLogging) => LLVM.PassBuilderOptionsSetDebugLogging(this, DebugLogging ? 1 : 0);
+
+ public readonly void SetForgetAllSCEVInLoopUnroll(bool ForgetAllSCEVInLoopUnroll) => LLVM.PassBuilderOptionsSetForgetAllSCEVInLoopUnroll(this, ForgetAllSCEVInLoopUnroll ? 1 : 0);
+
+ public readonly void SetInlinerThreshold(int Threshold) => LLVM.PassBuilderOptionsSetInlinerThreshold(this, Threshold);
+
+ public readonly void SetLicmMssaNoAccForPromotionCap(uint LicmMssaNoAccForPromotionCap) => LLVM.PassBuilderOptionsSetLicmMssaNoAccForPromotionCap(this, LicmMssaNoAccForPromotionCap);
+
+ public readonly void SetLicmMssaOptCap(uint LicmMssaOptCap) => LLVM.PassBuilderOptionsSetLicmMssaOptCap(this, LicmMssaOptCap);
+
+ public readonly void SetLoopInterleaving(bool LoopInterleaving) => LLVM.PassBuilderOptionsSetLoopInterleaving(this, LoopInterleaving ? 1 : 0);
+
+ public readonly void SetLoopUnrolling(bool LoopUnrolling) => LLVM.PassBuilderOptionsSetLoopUnrolling(this, LoopUnrolling ? 1 : 0);
+
+ public readonly void SetLoopVectorization(bool LoopVectorization) => LLVM.PassBuilderOptionsSetLoopVectorization(this, LoopVectorization ? 1 : 0);
+
+ public readonly void SetMergeFunctions(bool MergeFunctions) => LLVM.PassBuilderOptionsSetMergeFunctions(this, MergeFunctions ? 1 : 0);
+
+ public readonly void SetSLPVectorization(bool SLPVectorization) => LLVM.PassBuilderOptionsSetSLPVectorization(this, SLPVectorization ? 1 : 0);
+
+ public readonly void SetVerifyEach(bool VerifyEach) => LLVM.PassBuilderOptionsSetVerifyEach(this, VerifyEach ? 1 : 0);
+}
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs
deleted file mode 100644
index 288bcf7..0000000
--- a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerBuilderRef.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-
-using System;
-
-namespace LLVMSharp.Interop;
-
-public unsafe partial struct LLVMPassManagerBuilderRef(IntPtr handle) : IEquatable, IDisposable
-{
- public IntPtr Handle = handle;
-
- public static implicit operator LLVMPassManagerBuilderRef(LLVMOpaquePassManagerBuilder* value) => new LLVMPassManagerBuilderRef((IntPtr)value);
-
- public static implicit operator LLVMOpaquePassManagerBuilder*(LLVMPassManagerBuilderRef value) => (LLVMOpaquePassManagerBuilder*)value.Handle;
-
- public static bool operator ==(LLVMPassManagerBuilderRef left, LLVMPassManagerBuilderRef right) => left.Handle == right.Handle;
-
- public static bool operator !=(LLVMPassManagerBuilderRef left, LLVMPassManagerBuilderRef right) => !(left == right);
-
- public void Dispose()
- {
- if (Handle != IntPtr.Zero)
- {
- LLVM.PassManagerBuilderDispose(this);
- Handle = IntPtr.Zero;
- }
- }
-
- public override readonly bool Equals(object? obj) => (obj is LLVMPassManagerBuilderRef other) && Equals(other);
-
- public readonly bool Equals(LLVMPassManagerBuilderRef other) => this == other;
-
- public override readonly int GetHashCode() => Handle.GetHashCode();
-
- public readonly void PopulateFunctionPassManager(LLVMPassManagerRef PM) => LLVM.PassManagerBuilderPopulateFunctionPassManager(this, PM);
-
- public readonly void PopulateModulePassManager(LLVMPassManagerRef PM) => LLVM.PassManagerBuilderPopulateModulePassManager(this, PM);
-
- public readonly void SetSizeLevel(uint SizeLevel) => LLVM.PassManagerBuilderSetSizeLevel(this, SizeLevel);
-
- public readonly void SetDisableUnitAtATime(int Value) => LLVM.PassManagerBuilderSetDisableUnitAtATime(this, Value);
-
- public readonly void SetDisableUnrollLoops(int Value) => LLVM.PassManagerBuilderSetDisableUnrollLoops(this, Value);
-
- public readonly void SetDisableSimplifyLibCalls(int Value) => LLVM.PassManagerBuilderSetDisableSimplifyLibCalls(this, Value);
-
- public override readonly string ToString() => $"{nameof(LLVMPassManagerBuilderRef)}: {Handle:X}";
-
- public readonly void UseInlinerWithThreshold(uint Threshold) => LLVM.PassManagerBuilderUseInlinerWithThreshold(this, Threshold);
-}
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs
index 75a835c..3ea5055 100644
--- a/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs
+++ b/sources/LLVMSharp.Interop/Extensions/LLVMPassManagerRef.cs
@@ -18,116 +18,6 @@ public unsafe partial struct LLVMPassManagerRef(IntPtr handle) : IDisposable, IE
public static LLVMPassManagerRef Create() => LLVM.CreatePassManager();
- public readonly void AddAggressiveDCEPass() => LLVM.AddAggressiveDCEPass(this);
-
- public readonly void AddAlignmentFromAssumptionsPass() => LLVM.AddAlignmentFromAssumptionsPass(this);
-
- public readonly void AddAlwaysInlinerPass() => LLVM.AddAlwaysInlinerPass(this);
-
- public readonly void AddBasicAliasAnalysisPass() => LLVM.AddBasicAliasAnalysisPass(this);
-
- public readonly void AddBitTrackingDCEPass() => LLVM.AddBitTrackingDCEPass(this);
-
- public readonly void AddCalledValuePropagationPass() => LLVM.AddCalledValuePropagationPass(this);
-
- public readonly void AddCFGSimplificationPass() => LLVM.AddCFGSimplificationPass(this);
-
- public readonly void AddConstantMergePass() => LLVM.AddConstantMergePass(this);
-
- public readonly void AddCorrelatedValuePropagationPass() => LLVM.AddCorrelatedValuePropagationPass(this);
-
- public readonly void AddDCEPass() => LLVM.AddDCEPass(this);
-
- public readonly void AddDeadArgEliminationPass() => LLVM.AddDeadArgEliminationPass(this);
-
- public readonly void AddDeadStoreEliminationPass() => LLVM.AddDeadStoreEliminationPass(this);
-
- public readonly void AddDemoteMemoryToRegisterPass() => LLVM.AddDemoteMemoryToRegisterPass(this);
-
- public readonly void AddEarlyCSEMemSSAPass() => LLVM.AddEarlyCSEMemSSAPass(this);
-
- public readonly void AddEarlyCSEPass() => LLVM.AddEarlyCSEPass(this);
-
- public readonly void AddFunctionAttrsPass() => LLVM.AddFunctionAttrsPass(this);
-
- public readonly void AddFunctionInliningPass() => LLVM.AddFunctionInliningPass(this);
-
- public readonly void AddGlobalDCEPass() => LLVM.AddGlobalDCEPass(this);
-
- public readonly void AddGlobalOptimizerPass() => LLVM.AddGlobalOptimizerPass(this);
-
- public readonly void AddGVNPass() => LLVM.AddGVNPass(this);
-
- public readonly void AddIndVarSimplifyPass() => LLVM.AddIndVarSimplifyPass(this);
-
- public readonly void AddInstructionCombiningPass() => LLVM.AddInstructionCombiningPass(this);
-
- public readonly void AddInternalizePass(uint AllButMain) => LLVM.AddInternalizePass(this, AllButMain);
-
- public readonly void AddIPSCCPPass() => LLVM.AddIPSCCPPass(this);
-
- public readonly void AddJumpThreadingPass() => LLVM.AddJumpThreadingPass(this);
-
- public readonly void AddLICMPass() => LLVM.AddLICMPass(this);
-
- public readonly void AddLoopDeletionPass() => LLVM.AddLoopDeletionPass(this);
-
- public readonly void AddLoopIdiomPass() => LLVM.AddLoopIdiomPass(this);
-
- public readonly void AddLoopRerollPass() => LLVM.AddLoopRerollPass(this);
-
- public readonly void AddLoopRotatePass() => LLVM.AddLoopRotatePass(this);
-
- public readonly void AddLoopUnrollPass() => LLVM.AddLoopUnrollPass(this);
-
- public readonly void AddLoopVectorizePass() => LLVM.AddLoopVectorizePass(this);
-
- public readonly void AddLowerConstantIntrinsicsPass() => LLVM.AddLowerConstantIntrinsicsPass(this);
-
- public readonly void AddLowerExpectIntrinsicPass() => LLVM.AddLowerExpectIntrinsicPass(this);
-
- public readonly void AddLowerSwitchPass() => LLVM.AddLowerSwitchPass(this);
-
- public readonly void AddMemCpyOptPass() => LLVM.AddMemCpyOptPass(this);
-
- public readonly void AddMergedLoadStoreMotionPass() => LLVM.AddMergedLoadStoreMotionPass(this);
-
- public readonly void AddMergeFunctionsPass() => LLVM.AddMergeFunctionsPass(this);
-
- public readonly void AddNewGVNPass() => LLVM.AddNewGVNPass(this);
-
- public readonly void AddPartiallyInlineLibCallsPass() => LLVM.AddPartiallyInlineLibCallsPass(this);
-
- public readonly void AddPromoteMemoryToRegisterPass() => LLVM.AddPromoteMemoryToRegisterPass(this);
-
- public readonly void AddReassociatePass() => LLVM.AddReassociatePass(this);
-
- public readonly void AddScalarizerPass() => LLVM.AddScalarizerPass(this);
-
- public readonly void AddScalarReplAggregatesPass() => LLVM.AddScalarReplAggregatesPass(this);
-
- public readonly void AddScalarReplAggregatesPassSSA() => LLVM.AddScalarReplAggregatesPassSSA(this);
-
- public readonly void AddScalarReplAggregatesPassWithThreshold(int Threshold) => LLVM.AddScalarReplAggregatesPassWithThreshold(this, Threshold);
-
- public readonly void AddSCCPPass() => LLVM.AddSCCPPass(this);
-
- public readonly void AddScopedNoAliasAAPass() => LLVM.AddScopedNoAliasAAPass(this);
-
- public readonly void AddSimplifyLibCallsPass() => LLVM.AddSimplifyLibCallsPass(this);
-
- public readonly void AddSLPVectorizePass() => LLVM.AddSLPVectorizePass(this);
-
- public readonly void AddStripDeadPrototypesPass() => LLVM.AddStripDeadPrototypesPass(this);
-
- public readonly void AddStripSymbolsPass() => LLVM.AddStripSymbolsPass(this);
-
- public readonly void AddTailCallEliminationPass() => LLVM.AddTailCallEliminationPass(this);
-
- public readonly void AddTypeBasedAliasAnalysisPass() => LLVM.AddTypeBasedAliasAnalysisPass(this);
-
- public readonly void AddVerifierPass() => LLVM.AddVerifierPass(this);
-
public void Dispose()
{
if (Handle != IntPtr.Zero)
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs
index 540a89a..c5c6d9b 100644
--- a/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs
+++ b/sources/LLVMSharp.Interop/Extensions/LLVMTypeRef.cs
@@ -44,6 +44,8 @@ public unsafe partial struct LLVMTypeRef(IntPtr handle) : IEquatable (Kind == LLVMTypeKind.LLVMArrayTypeKind) ? LLVM.GetArrayLength(this) : default;
+ public readonly ulong ArrayLength2 => (Kind == LLVMTypeKind.LLVMArrayTypeKind) ? LLVM.GetArrayLength2(this) : default;
+
public readonly LLVMContextRef Context => (Handle != IntPtr.Zero) ? LLVM.GetTypeContext(this) : default;
public readonly LLVMTypeRef ElementType => (((Kind == LLVMTypeKind.LLVMPointerTypeKind) && (SubtypesCount != 0)) || (Kind == LLVMTypeKind.LLVMArrayTypeKind) || (Kind == LLVMTypeKind.LLVMVectorTypeKind)) ? LLVM.GetElementType(this) : default;
@@ -118,6 +120,8 @@ public static LLVMTypeRef CreateFunction(LLVMTypeRef ReturnType, ReadOnlySpan LLVM.ArrayType(ElementType, ElementCount);
+ public static LLVMTypeRef CreateArray2(LLVMTypeRef ElementType, ulong ElementCount) => LLVM.ArrayType2(ElementType, ElementCount);
+
public static LLVMTypeRef CreateInt(uint NumBits) => LLVM.IntType(NumBits);
public static LLVMTypeRef CreateIntPtr(LLVMTargetDataRef TD) => LLVM.IntPtrType(TD);
diff --git a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs
index 68bcbe6..e0cf788 100644
--- a/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs
+++ b/sources/LLVMSharp.Interop/Extensions/LLVMValueRef.cs
@@ -1,6 +1,7 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
using System;
+using static LLVMSharp.Interop.LLVMTailCallKind;
namespace LLVMSharp.Interop;
@@ -354,6 +355,8 @@ public readonly uint InstructionCallConv
public readonly LLVMValueRef IsAVAArgInst => LLVM.IsAVAArgInst(this);
+ public readonly LLVMValueRef IsAValueAsMetadata => LLVM.IsAValueAsMetadata(this);
+
public readonly LLVMValueRef IsAZExtInst => LLVM.IsAZExtInst(this);
public readonly bool IsBasicBlock => (Handle != IntPtr.Zero) && LLVM.ValueIsBasicBlock(this) != 0;
@@ -418,7 +421,7 @@ public readonly bool IsTailCall
set
{
- LLVM.SetTailCall(this, IsTailCall ? 1 : 0);
+ LLVM.SetTailCall(this, value ? 1 : 0);
}
}
@@ -549,6 +552,19 @@ public readonly string Section
public readonly LLVMBasicBlockRef SwitchDefaultDest => (IsASwitchInst != null) ? LLVM.GetSwitchDefaultDest(this) : default;
+ public readonly LLVMTailCallKind TailCallKind
+ {
+ get
+ {
+ return (IsACallInst != null) ? LLVM.GetTailCallKind(this) : LLVMTailCallKindNone;
+ }
+
+ set
+ {
+ LLVM.SetTailCallKind(this, value);
+ }
+ }
+
public readonly LLVMThreadLocalMode ThreadLocalMode
{
get
@@ -617,8 +633,6 @@ public readonly bool Weak
public static LLVMValueRef CreateConstAllOnes(LLVMTypeRef Ty) => LLVM.ConstAllOnes(Ty);
- public static LLVMValueRef CreateConstAnd(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstAnd(LHSConstant, RHSConstant);
-
public static LLVMValueRef CreateConstArray(LLVMTypeRef ElementTy, LLVMValueRef[] ConstantVals) => CreateConstArray(ElementTy, ConstantVals.AsSpan());
public static LLVMValueRef CreateConstArray(LLVMTypeRef ElementTy, ReadOnlySpan ConstantVals)
@@ -629,22 +643,10 @@ public static LLVMValueRef CreateConstArray(LLVMTypeRef ElementTy, ReadOnlySpan<
}
}
- public static LLVMValueRef CreateConstAShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstAShr(LHSConstant, RHSConstant);
-
public static LLVMValueRef CreateConstBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstBitCast(ConstantVal, ToType);
public static LLVMValueRef CreateConstExtractElement(LLVMValueRef VectorConstant, LLVMValueRef IndexConstant) => LLVM.ConstExtractElement(VectorConstant, IndexConstant);
- public static LLVMValueRef CreateConstFPCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPCast(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstFPExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPExt(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstFPToSI(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPToSI(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstFPToUI(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPToUI(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstFPTrunc(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstFPTrunc(ConstantVal, ToType);
-
public static LLVMValueRef CreateConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, LLVMValueRef[] ConstantIndices) => CreateConstGEP2(Ty, ConstantVal, ConstantIndices.AsSpan());
public static LLVMValueRef CreateConstGEP2(LLVMTypeRef Ty, LLVMValueRef ConstantVal, ReadOnlySpan ConstantIndices)
@@ -678,8 +680,6 @@ public static LLVMValueRef CreateConstInlineAsm(LLVMTypeRef Ty, ReadOnlySpan LLVM.ConstInt(IntTy, N, SignExtend ? 1 : 0);
- public static LLVMValueRef CreateConstIntCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType, bool isSigned) => LLVM.ConstIntCast(ConstantVal, ToType, isSigned ? 1 : 0);
-
public static LLVMValueRef CreateConstIntOfArbitraryPrecision(LLVMTypeRef IntTy, ulong[] Words) => CreateConstIntOfArbitraryPrecision(IntTy, Words.AsSpan());
public static LLVMValueRef CreateConstIntOfArbitraryPrecision(LLVMTypeRef IntTy, ReadOnlySpan Words)
@@ -708,8 +708,6 @@ public static LLVMValueRef CreateConstIntOfStringAndSize(LLVMTypeRef IntTy, Read
public static LLVMValueRef CreateConstIntToPtr(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstIntToPtr(ConstantVal, ToType);
- public static LLVMValueRef CreateConstLShr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstLShr(LHSConstant, RHSConstant);
-
public static LLVMValueRef CreateConstMul(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstMul(LHSConstant, RHSConstant);
public static LLVMValueRef CreateConstNamedStruct(LLVMTypeRef StructTy, LLVMValueRef[] ConstantVals) => CreateConstNamedStruct(StructTy, ConstantVals.AsSpan());
@@ -744,8 +742,6 @@ public static LLVMValueRef CreateConstNamedStruct(LLVMTypeRef StructTy, ReadOnly
public static LLVMValueRef CreateConstNUWSub(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstNUWSub(LHSConstant, RHSConstant);
- public static LLVMValueRef CreateConstOr(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstOr(LHSConstant, RHSConstant);
-
public static LLVMValueRef CreateConstPointerCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstPointerCast(ConstantVal, ToType);
public static LLVMValueRef CreateConstPointerNull(LLVMTypeRef Ty) => LLVM.ConstPointerNull(Ty);
@@ -770,18 +766,10 @@ public static LLVMValueRef CreateConstRealOfStringAndSize(LLVMTypeRef RealTy, Re
return LLVM.ConstRealOfStringAndSize(RealTy, marshaledText, (uint)marshaledText.Length);
}
- public static LLVMValueRef CreateConstSelect(LLVMValueRef ConstantCondition, LLVMValueRef ConstantIfTrue, LLVMValueRef ConstantIfFalse) => LLVM.ConstSelect(ConstantCondition, ConstantIfTrue, ConstantIfFalse);
-
- public static LLVMValueRef CreateConstSExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstSExt(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstSExtOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstSExtOrBitCast(ConstantVal, ToType);
-
public static LLVMValueRef CreateConstShl(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstShl(LHSConstant, RHSConstant);
public static LLVMValueRef CreateConstShuffleVector(LLVMValueRef VectorAConstant, LLVMValueRef VectorBConstant, LLVMValueRef MaskConstant) => LLVM.ConstShuffleVector(VectorAConstant, VectorBConstant, MaskConstant);
- public static LLVMValueRef CreateConstSIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstSIToFP(ConstantVal, ToType);
-
public static LLVMValueRef CreateConstStruct(LLVMValueRef[] ConstantVals, bool Packed) => CreateConstStruct(ConstantVals.AsSpan(), Packed);
public static LLVMValueRef CreateConstStruct(ReadOnlySpan ConstantVals, bool Packed)
@@ -798,8 +786,6 @@ public static LLVMValueRef CreateConstStruct(ReadOnlySpan Constant
public static LLVMValueRef CreateConstTruncOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstTruncOrBitCast(ConstantVal, ToType);
- public static LLVMValueRef CreateConstUIToFP(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstUIToFP(ConstantVal, ToType);
-
public static LLVMValueRef CreateConstVector(LLVMValueRef[] ScalarConstantVars) => CreateConstVector(ScalarConstantVars.AsSpan());
public static LLVMValueRef CreateConstVector(ReadOnlySpan ScalarConstantVars)
@@ -812,10 +798,6 @@ public static LLVMValueRef CreateConstVector(ReadOnlySpan ScalarCo
public static LLVMValueRef CreateConstXor(LLVMValueRef LHSConstant, LLVMValueRef RHSConstant) => LLVM.ConstXor(LHSConstant, RHSConstant);
- public static LLVMValueRef CreateConstZExt(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstZExt(ConstantVal, ToType);
-
- public static LLVMValueRef CreateConstZExtOrBitCast(LLVMValueRef ConstantVal, LLVMTypeRef ToType) => LLVM.ConstZExtOrBitCast(ConstantVal, ToType);
-
public static LLVMValueRef CreateMDNode(LLVMValueRef[] Vals) => CreateMDNode(Vals.AsSpan());
public static LLVMValueRef CreateMDNode(ReadOnlySpan Vals)
@@ -1068,6 +1050,8 @@ public readonly string PrintToString()
public readonly void ReplaceAllUsesWith(LLVMValueRef NewVal) => LLVM.ReplaceAllUsesWith(this, NewVal);
+ public readonly void ReplaceMDNodeOperandWith(uint Index, LLVMMetadataRef Replacement) => LLVM.ReplaceMDNodeOperandWith(this, Index, Replacement);
+
public void SetAlignment(uint Bytes)
{
Alignment = Bytes;
diff --git a/sources/LLVMSharp.Interop/LLVM.cs b/sources/LLVMSharp.Interop/LLVM.cs
index e69de29..9ca862c 100644
--- a/sources/LLVMSharp.Interop/LLVM.cs
+++ b/sources/LLVMSharp.Interop/LLVM.cs
@@ -0,0 +1,79 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+using System;
+using System.Linq;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: DisableRuntimeMarshalling]
+
+namespace LLVMSharp.Interop;
+
+public static unsafe partial class LLVM
+{
+ public static event DllImportResolver? ResolveLibrary;
+
+ static LLVM()
+ {
+ if (!Configuration.DisableResolveLibraryHook)
+ {
+ NativeLibrary.SetDllImportResolver(Assembly.GetExecutingAssembly(), OnDllImport);
+ }
+ }
+
+ private static IntPtr OnDllImport(string libraryName, Assembly assembly, DllImportSearchPath? searchPath)
+ {
+ if (TryResolveLibrary(libraryName, assembly, searchPath, out var nativeLibrary))
+ {
+ return nativeLibrary;
+ }
+
+ if (libraryName.Equals("libLLVM", StringComparison.Ordinal) && TryResolveLLVM(assembly, searchPath, out nativeLibrary))
+ {
+ return nativeLibrary;
+ }
+
+ return IntPtr.Zero;
+ }
+
+ private static bool TryResolveLLVM(Assembly assembly, DllImportSearchPath? searchPath, out IntPtr nativeLibrary)
+ {
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ return NativeLibrary.TryLoad("libLLVM.so.18", assembly, searchPath, out nativeLibrary)
+ || NativeLibrary.TryLoad("libLLVM-18", assembly, searchPath, out nativeLibrary)
+ || NativeLibrary.TryLoad("libLLVM.so.1", assembly, searchPath, out nativeLibrary);
+ }
+ else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
+ {
+ return NativeLibrary.TryLoad("LLVM-C.dll", assembly, searchPath, out nativeLibrary);
+ }
+
+ nativeLibrary = IntPtr.Zero;
+ return false;
+ }
+
+ private static bool TryResolveLibrary(string libraryName, Assembly assembly, DllImportSearchPath? searchPath, out IntPtr nativeLibrary)
+ {
+ var resolveLibrary = ResolveLibrary;
+
+ if (resolveLibrary is not null)
+ {
+ var resolvers = resolveLibrary.GetInvocationList().Cast();
+
+ foreach (DllImportResolver resolver in resolvers)
+ {
+ nativeLibrary = resolver(libraryName, assembly, searchPath);
+
+ if (nativeLibrary != IntPtr.Zero)
+ {
+ return true;
+ }
+ }
+ }
+
+ nativeLibrary = IntPtr.Zero;
+ return false;
+ }
+}
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs
index 5dc2f1d..2b6a6dd 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMComdat.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs
index f0b54ae..5deba51 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMDiagnosticHandler.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs
index 71b113e..2726eee 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMFatalErrorHandler.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs
index 3da62cb..5a3879f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMJITCSymbolMapPair.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs
index 1aeb7cd..b47e942 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateCodeSectionCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs
index 2f957e8..ea6d966 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerAllocateDataSectionCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs
index 8a6bb4f..133b4f9 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerDestroyCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs
index 7dcff0f..152bc4a 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMMemoryManagerFinalizeMemoryCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs
index 40282d1..2bd06f8 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpInfoCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs
index e3b135d..b4dee20 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueAttributeRef.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs
index 608bcb3..da0eab3 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBasicBlock.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs
index e15ffed..d8ab1b7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBinary.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs
index b2ad85a..c36cf2e 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueBuilder.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs
index d9f66ec..4bbf26d 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueContext.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs
index 9dfd6d3..5b34af9 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDIBuilder.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs
index fe6374f..4ea124c 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueDiagnosticInfo.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs
index ea27b06..1e673d4 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueError.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs
index 02a02d2..39991ea 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueExecutionEngine.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs
index a2b1b3a..65e7bf3 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueGenericValue.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs
index 613b86b..d8e856c 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueJITEventListener.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs
index ac41e47..f94181d 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOCodeGenerator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs
index d69e208..6bf7c2f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOInput.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs
index dac15fb..77bde27 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueLTOModule.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs
index 9736dcd..5c7caaa 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMCJITMemoryManager.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs
index 8be6c24..ea7eeae 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMemoryBuffer.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs
index 224991f..b44136f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueMetadata.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs
index a2aa424..8ac00ff 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModule.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs
index cf3c27c..0f2d80a 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleFlagEntry.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs
index 5e40145..a52aa9f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueModuleProvider.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs
index ffbe7ca..a258d54 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueNamedMDNode.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs
index 02b8645..6e452e7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueObjectFile.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs
similarity index 85%
rename from sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs
rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs
index 050ef45..1f3e72a 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValueMetadataEntry.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueOperandBundle.cs
@@ -1,10 +1,10 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
-public partial struct LLVMOpaqueValueMetadataEntry
+public partial struct LLVMOpaqueOperandBundle
{
}
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs
index 1bb9ecf..4dee657 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassBuilderOptions.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs
index 0a4223c..640c2a0 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManager.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs
index a90a823..34db33e 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassRegistry.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs
index 8eec917..46491a0 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueRelocationIterator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs
index 5d13c7e..fd70595 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSectionIterator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs
index da14817..b367a01 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueSymbolIterator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs
index 846df6a..4dda524 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetData.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs
index 60771ad..245348a 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetLibraryInfotData.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs
index 3ccfe33..293d089 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachine.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs
similarity index 84%
rename from sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs
rename to sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs
index 3c66e0a..450f4a7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLinkingLayer.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueTargetMachineOptions.cs
@@ -1,10 +1,10 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
-public partial struct LLVMOrcOpaqueObjectLinkingLayer
+public partial struct LLVMOpaqueTargetMachineOptions
{
}
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs
index b5575d9..ea025c9 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueThinLTOCodeGenerator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs
index 698a482..16832ad 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueType.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs
index a655411..8cb2df0 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueUse.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs
index 3ace073..5960bd7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOpaqueValue.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs
index 2f22cdf..caaf9f3 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcCAPIDefinitionGeneratorTryToGenerateFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs
index 0963308..8fe40d7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcErrorReporterFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs
index 2a3bb61..845dedf 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcGenericIRModuleOperationFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs
index 0117ca0..a381f6a 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcIRTransformLayerTransformFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs
index ee80f0c..5e9dcdd 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcLLJITBuilderObjectLinkingLayerCreatorFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs
index 34dc4b9..57ed7a3 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDestroyFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs
index 1943ffa..f6287bd 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitDiscardFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs
index 4144e70..623c0a1 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcMaterializationUnitMaterializeFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs
index f7c496d..d6a3eea 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcObjectTransformLayerTransformFunction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs
index 9fbfc01..aa921a7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDefinitionGenerator.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs
index d018dff..35960cb 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueDumpObjects.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs
index 325c445..51838a2 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueExecutionSession.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs
index aacaa31..75499b6 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIRTransformLayer.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs
index 33a145c..b4ee4c4 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueIndirectStubsManager.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs
index dac5a8e..18e6b2d 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITDylib.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs
index db4225b..0f2135f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueJITTargetMachineBuilder.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs
index 2023404..31ee5b7 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJIT.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs
index 57bd2af..865cca6 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLLJITBuilder.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs
index 83f09e9..f26df8b 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLazyCallThroughManager.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs
index a051d4d..339254f 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueLookupState.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs
index b1adf15..3b564e5 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationResponsibility.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs
index 1beeca4..e68d2a9 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueMaterializationUnit.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs
index ef47a83..ba790d9 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectLayer.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs
index b1d47c1..da24f83 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueObjectTransformLayer.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs
index 36aec39..b480a30 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueResourceTracker.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs
index 0094e83..6994e5c 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPool.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs
index e6a197b..e52037e 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueSymbolStringPoolEntry.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs
index 64bb8ec..f4a65bd 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeContext.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs
index 074189e..f6e6be2 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcOpaqueThreadSafeModule.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs
index c05ae16..221d501 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMOrcSymbolPredicate.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs
index 6011026..6034bc3 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueArg.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs
index 9563d34..3be6751 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueDebugLoc.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs
index 5848eaf..3f69891 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueEntry.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs
index 2abb0de..9217216 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueParser.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs
index b311601..f007c82 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMRemarkOpaqueString.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs
index b9e745f..a56b6ab 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMSymbolLookupCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs
index 0dddb33..11c4fe2 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMTarget.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs b/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs
similarity index 85%
rename from sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs
rename to sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs
index e1ea9cc..776b102 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMOpaquePassManagerBuilder.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMValueMetadataEntry.cs
@@ -1,10 +1,10 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
-public partial struct LLVMOpaquePassManagerBuilder
+public partial struct LLVMValueMetadataEntry
{
}
diff --git a/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs
index e0ec6e1..4e5f12e 100644
--- a/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs
+++ b/sources/LLVMSharp.Interop/Manual/LLVMYieldCallback.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs
index 332eb9a..be0f956 100644
--- a/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs
+++ b/sources/LLVMSharp.Interop/Manual/lto_diagnostic_handler_t.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System.Runtime.InteropServices;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVM.cs b/sources/LLVMSharp.Interop/llvm/LLVM.cs
index ad47346..2e69145 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVM.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVM.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
@@ -132,9 +132,6 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetComdatSelectionKind", ExactSpelling = true)]
public static extern void SetComdatSelectionKind([NativeTypeName("LLVMComdatRef")] LLVMComdat* C, LLVMComdatSelectionKind Kind);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeCore", ExactSpelling = true)]
- public static extern void InitializeCore([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMShutdown", ExactSpelling = true)]
public static extern void Shutdown();
@@ -176,9 +173,6 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetDiscardValueNames", ExactSpelling = true)]
public static extern void ContextSetDiscardValueNames([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMBool")] int Discard);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextSetOpaquePointers", ExactSpelling = true)]
- public static extern void ContextSetOpaquePointers([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("LLVMBool")] int OpaquePointers);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMContextDispose", ExactSpelling = true)]
public static extern void ContextDispose([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C);
@@ -301,22 +295,21 @@ public static unsafe partial class LLVM
public static extern void SetTarget([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Triple);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCopyModuleFlagsMetadata", ExactSpelling = true)]
- [return: NativeTypeName("LLVMModuleFlagEntry *")]
- public static extern LLVMOpaqueModuleFlagEntry* CopyModuleFlagsMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len);
+ public static extern LLVMModuleFlagEntry* CopyModuleFlagsMetadata([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("size_t *")] nuint* Len);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeModuleFlagsMetadata", ExactSpelling = true)]
- public static extern void DisposeModuleFlagsMetadata([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries);
+ public static extern void DisposeModuleFlagsMetadata(LLVMModuleFlagEntry* Entries);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMModuleFlagEntriesGetFlagBehavior", ExactSpelling = true)]
- public static extern LLVMModuleFlagBehavior ModuleFlagEntriesGetFlagBehavior([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
+ public static extern LLVMModuleFlagBehavior ModuleFlagEntriesGetFlagBehavior(LLVMModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMModuleFlagEntriesGetKey", ExactSpelling = true)]
[return: NativeTypeName("const char *")]
- public static extern sbyte* ModuleFlagEntriesGetKey([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index, [NativeTypeName("size_t *")] nuint* Len);
+ public static extern sbyte* ModuleFlagEntriesGetKey(LLVMModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index, [NativeTypeName("size_t *")] nuint* Len);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMModuleFlagEntriesGetMetadata", ExactSpelling = true)]
[return: NativeTypeName("LLVMMetadataRef")]
- public static extern LLVMOpaqueMetadata* ModuleFlagEntriesGetMetadata([NativeTypeName("LLVMModuleFlagEntry *")] LLVMOpaqueModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
+ public static extern LLVMOpaqueMetadata* ModuleFlagEntriesGetMetadata(LLVMModuleFlagEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleFlag", ExactSpelling = true)]
[return: NativeTypeName("LLVMMetadataRef")]
@@ -348,7 +341,34 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsm", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* GetInlineAsm([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("char *")] sbyte* AsmString, [NativeTypeName("size_t")] nuint AsmStringSize, [NativeTypeName("char *")] sbyte* Constraints, [NativeTypeName("size_t")] nuint ConstraintsSize, [NativeTypeName("LLVMBool")] int HasSideEffects, [NativeTypeName("LLVMBool")] int IsAlignStack, LLVMInlineAsmDialect Dialect, [NativeTypeName("LLVMBool")] int CanThrow);
+ public static extern LLVMOpaqueValue* GetInlineAsm([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("const char *")] sbyte* AsmString, [NativeTypeName("size_t")] nuint AsmStringSize, [NativeTypeName("const char *")] sbyte* Constraints, [NativeTypeName("size_t")] nuint ConstraintsSize, [NativeTypeName("LLVMBool")] int HasSideEffects, [NativeTypeName("LLVMBool")] int IsAlignStack, LLVMInlineAsmDialect Dialect, [NativeTypeName("LLVMBool")] int CanThrow);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmAsmString", ExactSpelling = true)]
+ [return: NativeTypeName("const char *")]
+ public static extern sbyte* GetInlineAsmAsmString([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal, [NativeTypeName("size_t *")] nuint* Len);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmConstraintString", ExactSpelling = true)]
+ [return: NativeTypeName("const char *")]
+ public static extern sbyte* GetInlineAsmConstraintString([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal, [NativeTypeName("size_t *")] nuint* Len);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmDialect", ExactSpelling = true)]
+ public static extern LLVMInlineAsmDialect GetInlineAsmDialect([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmFunctionType", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMTypeRef")]
+ public static extern LLVMOpaqueType* GetInlineAsmFunctionType([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmHasSideEffects", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetInlineAsmHasSideEffects([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmNeedsAlignedStack", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetInlineAsmNeedsAlignedStack([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInlineAsmCanUnwind", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetInlineAsmCanUnwind([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InlineAsmVal);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetModuleContext", ExactSpelling = true)]
[return: NativeTypeName("LLVMContextRef")]
@@ -649,10 +669,18 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMTypeRef")]
public static extern LLVMOpaqueType* ArrayType([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementType, [NativeTypeName("unsigned int")] uint ElementCount);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMArrayType2", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMTypeRef")]
+ public static extern LLVMOpaqueType* ArrayType2([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementType, [NativeTypeName("uint64_t")] ulong ElementCount);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetArrayLength", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
public static extern uint GetArrayLength([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ArrayTy);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetArrayLength2", ExactSpelling = true)]
+ [return: NativeTypeName("uint64_t")]
+ public static extern ulong GetArrayLength2([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ArrayTy);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPointerType", ExactSpelling = true)]
[return: NativeTypeName("LLVMTypeRef")]
public static extern LLVMOpaqueType* PointerType([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementType, [NativeTypeName("unsigned int")] uint AddressSpace);
@@ -1117,6 +1145,10 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* IsAMDNode([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAValueAsMetadata", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMValueRef")]
+ public static extern LLVMOpaqueValue* IsAValueAsMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsAMDString", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* IsAMDString([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val);
@@ -1249,6 +1281,10 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstArray([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementTy, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantVals, [NativeTypeName("unsigned int")] uint Length);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstArray2", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMValueRef")]
+ public static extern LLVMOpaqueValue* ConstArray2([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ElementTy, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantVals, [NativeTypeName("uint64_t")] ulong Length);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstNamedStruct", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstNamedStruct([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* StructTy, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantVals, [NativeTypeName("unsigned int")] uint Count);
@@ -1329,14 +1365,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstNUWMul([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstAnd", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstAnd([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstOr", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstOr([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstXor", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstXor([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
@@ -1353,14 +1381,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstShl([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstLShr", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstLShr([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstAShr", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstAShr([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* LHSConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* RHSConstant);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstGEP2", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstGEP2([NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** ConstantIndices, [NativeTypeName("unsigned int")] uint NumIndices);
@@ -1373,38 +1393,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstTrunc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSExt", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstSExt([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstZExt", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstZExt([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFPTrunc", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstFPTrunc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFPExt", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstFPExt([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstUIToFP", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstUIToFP([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSIToFP", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstSIToFP([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFPToUI", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstFPToUI([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFPToSI", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstFPToSI([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstPtrToInt", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstPtrToInt([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
@@ -1421,14 +1409,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstAddrSpaceCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstZExtOrBitCast", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstZExtOrBitCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSExtOrBitCast", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstSExtOrBitCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstTruncOrBitCast", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstTruncOrBitCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
@@ -1437,18 +1417,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstPointerCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstIntCast", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstIntCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType, [NativeTypeName("LLVMBool")] int isSigned);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstFPCast", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstFPCast([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantVal, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* ToType);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstSelect", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueRef")]
- public static extern LLVMOpaqueValue* ConstSelect([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantCondition, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantIfTrue, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ConstantIfFalse);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMConstExtractElement", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* ConstExtractElement([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* VectorConstant, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* IndexConstant);
@@ -1536,19 +1504,18 @@ public static unsafe partial class LLVM
public static extern void GlobalClearMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Global);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGlobalCopyAllMetadata", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueMetadataEntry *")]
- public static extern LLVMOpaqueValueMetadataEntry* GlobalCopyAllMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Value, [NativeTypeName("size_t *")] nuint* NumEntries);
+ public static extern LLVMValueMetadataEntry* GlobalCopyAllMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Value, [NativeTypeName("size_t *")] nuint* NumEntries);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeValueMetadataEntries", ExactSpelling = true)]
- public static extern void DisposeValueMetadataEntries([NativeTypeName("LLVMValueMetadataEntry *")] LLVMOpaqueValueMetadataEntry* Entries);
+ public static extern void DisposeValueMetadataEntries(LLVMValueMetadataEntry* Entries);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMValueMetadataEntriesGetKind", ExactSpelling = true)]
[return: NativeTypeName("unsigned int")]
- public static extern uint ValueMetadataEntriesGetKind([NativeTypeName("LLVMValueMetadataEntry *")] LLVMOpaqueValueMetadataEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
+ public static extern uint ValueMetadataEntriesGetKind(LLVMValueMetadataEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMValueMetadataEntriesGetMetadata", ExactSpelling = true)]
[return: NativeTypeName("LLVMMetadataRef")]
- public static extern LLVMOpaqueMetadata* ValueMetadataEntriesGetMetadata([NativeTypeName("LLVMValueMetadataEntry *")] LLVMOpaqueValueMetadataEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
+ public static extern LLVMOpaqueMetadata* ValueMetadataEntriesGetMetadata(LLVMValueMetadataEntry* Entries, [NativeTypeName("unsigned int")] uint Index);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddGlobal", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
@@ -1831,6 +1798,9 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetMDNodeOperands", ExactSpelling = true)]
public static extern void GetMDNodeOperands([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* V, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Dest);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMReplaceMDNodeOperandWith", ExactSpelling = true)]
+ public static extern void ReplaceMDNodeOperandWith([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* V, [NativeTypeName("unsigned int")] uint Index, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Replacement);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMMDStringInContext", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* MDStringInContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* C, [NativeTypeName("const char *")] sbyte* Str, [NativeTypeName("unsigned int")] uint SLen);
@@ -1847,6 +1817,25 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* MDNode([NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Vals, [NativeTypeName("unsigned int")] uint Count);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateOperandBundle", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMOperandBundleRef")]
+ public static extern LLVMOpaqueOperandBundle* CreateOperandBundle([NativeTypeName("const char *")] sbyte* Tag, [NativeTypeName("size_t")] nuint TagLen, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeOperandBundle", ExactSpelling = true)]
+ public static extern void DisposeOperandBundle([NativeTypeName("LLVMOperandBundleRef")] LLVMOpaqueOperandBundle* Bundle);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetOperandBundleTag", ExactSpelling = true)]
+ [return: NativeTypeName("const char *")]
+ public static extern sbyte* GetOperandBundleTag([NativeTypeName("LLVMOperandBundleRef")] LLVMOpaqueOperandBundle* Bundle, [NativeTypeName("size_t *")] nuint* Len);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNumOperandBundleArgs", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint GetNumOperandBundleArgs([NativeTypeName("LLVMOperandBundleRef")] LLVMOpaqueOperandBundle* Bundle);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetOperandBundleArgAtIndex", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMValueRef")]
+ public static extern LLVMOpaqueValue* GetOperandBundleArgAtIndex([NativeTypeName("LLVMOperandBundleRef")] LLVMOpaqueOperandBundle* Bundle, [NativeTypeName("unsigned int")] uint Index);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBasicBlockAsValue", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BasicBlockAsValue([NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* BB);
@@ -1955,8 +1944,7 @@ public static unsafe partial class LLVM
public static extern void SetMetadata([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Val, [NativeTypeName("unsigned int")] uint KindID, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Node);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInstructionGetAllMetadataOtherThanDebugLoc", ExactSpelling = true)]
- [return: NativeTypeName("LLVMValueMetadataEntry *")]
- public static extern LLVMOpaqueValueMetadataEntry* InstructionGetAllMetadataOtherThanDebugLoc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Instr, [NativeTypeName("size_t *")] nuint* NumEntries);
+ public static extern LLVMValueMetadataEntry* InstructionGetAllMetadataOtherThanDebugLoc([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Instr, [NativeTypeName("size_t *")] nuint* NumEntries);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetInstructionParent", ExactSpelling = true)]
[return: NativeTypeName("LLVMBasicBlockRef")]
@@ -2042,6 +2030,14 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* GetCalledValue([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Instr);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNumOperandBundles", ExactSpelling = true)]
+ [return: NativeTypeName("unsigned int")]
+ public static extern uint GetNumOperandBundles([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* C);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetOperandBundleAtIndex", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMOperandBundleRef")]
+ public static extern LLVMOpaqueOperandBundle* GetOperandBundleAtIndex([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* C, [NativeTypeName("unsigned int")] uint Index);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMIsTailCall", ExactSpelling = true)]
[return: NativeTypeName("LLVMBool")]
public static extern int IsTailCall([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* CallInst);
@@ -2049,6 +2045,12 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTailCall", ExactSpelling = true)]
public static extern void SetTailCall([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* CallInst, [NativeTypeName("LLVMBool")] int IsTailCall);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetTailCallKind", ExactSpelling = true)]
+ public static extern LLVMTailCallKind GetTailCallKind([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* CallInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTailCallKind", ExactSpelling = true)]
+ public static extern void SetTailCallKind([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* CallInst, LLVMTailCallKind kind);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNormalDest", ExactSpelling = true)]
[return: NativeTypeName("LLVMBasicBlockRef")]
public static extern LLVMOpaqueBasicBlock* GetNormalDest([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* InvokeInst);
@@ -2219,6 +2221,10 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildInvoke2([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Then, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Catch, [NativeTypeName("const char *")] sbyte* Name);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildInvokeWithOperandBundles", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMValueRef")]
+ public static extern LLVMOpaqueValue* BuildInvokeWithOperandBundles([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Then, [NativeTypeName("LLVMBasicBlockRef")] LLVMOpaqueBasicBlock* Catch, [NativeTypeName("LLVMOperandBundleRef *")] LLVMOpaqueOperandBundle** Bundles, [NativeTypeName("unsigned int")] uint NumBundles, [NativeTypeName("const char *")] sbyte* Name);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildUnreachable", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildUnreachable([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0);
@@ -2427,6 +2433,52 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildNot([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* V, [NativeTypeName("const char *")] sbyte* Name);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNUW", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetNUW([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ArithInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetNUW", ExactSpelling = true)]
+ public static extern void SetNUW([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ArithInst, [NativeTypeName("LLVMBool")] int HasNUW);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNSW", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetNSW([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ArithInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetNSW", ExactSpelling = true)]
+ public static extern void SetNSW([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* ArithInst, [NativeTypeName("LLVMBool")] int HasNSW);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetExact", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetExact([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* DivOrShrInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetExact", ExactSpelling = true)]
+ public static extern void SetExact([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* DivOrShrInst, [NativeTypeName("LLVMBool")] int IsExact);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetNNeg", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetNNeg([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* NonNegInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetNNeg", ExactSpelling = true)]
+ public static extern void SetNNeg([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* NonNegInst, [NativeTypeName("LLVMBool")] int IsNonNeg);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetFastMathFlags", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMFastMathFlags")]
+ public static extern uint GetFastMathFlags([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* FPMathInst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetFastMathFlags", ExactSpelling = true)]
+ public static extern void SetFastMathFlags([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* FPMathInst, [NativeTypeName("LLVMFastMathFlags")] uint FMF);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCanValueUseFastMathFlags", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int CanValueUseFastMathFlags([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetIsDisjoint", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMBool")]
+ public static extern int GetIsDisjoint([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetIsDisjoint", ExactSpelling = true)]
+ public static extern void SetIsDisjoint([NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Inst, [NativeTypeName("LLVMBool")] int IsDisjoint);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildMalloc", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildMalloc([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* Ty, [NativeTypeName("const char *")] sbyte* Name);
@@ -2616,6 +2668,10 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildCall2([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* param1, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("const char *")] sbyte* Name);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildCallWithOperandBundles", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMValueRef")]
+ public static extern LLVMOpaqueValue* BuildCallWithOperandBundles([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMTypeRef")] LLVMOpaqueType* param1, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Fn, [NativeTypeName("LLVMValueRef *")] LLVMOpaqueValue** Args, [NativeTypeName("unsigned int")] uint NumArgs, [NativeTypeName("LLVMOperandBundleRef *")] LLVMOpaqueOperandBundle** Bundles, [NativeTypeName("unsigned int")] uint NumBundles, [NativeTypeName("const char *")] sbyte* Name);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMBuildSelect", ExactSpelling = true)]
[return: NativeTypeName("LLVMValueRef")]
public static extern LLVMOpaqueValue* BuildSelect([NativeTypeName("LLVMBuilderRef")] LLVMOpaqueBuilder* param0, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* If, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Then, [NativeTypeName("LLVMValueRef")] LLVMOpaqueValue* Else, [NativeTypeName("const char *")] sbyte* Name);
@@ -2735,10 +2791,6 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeMemoryBuffer", ExactSpelling = true)]
public static extern void DisposeMemoryBuffer([NativeTypeName("LLVMMemoryBufferRef")] LLVMOpaqueMemoryBuffer* MemBuf);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetGlobalPassRegistry", ExactSpelling = true)]
- [return: NativeTypeName("LLVMPassRegistryRef")]
- public static extern LLVMOpaquePassRegistry* GetGlobalPassRegistry();
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreatePassManager", ExactSpelling = true)]
[return: NativeTypeName("LLVMPassManagerRef")]
public static extern LLVMOpaquePassManager* CreatePassManager();
@@ -3049,6 +3101,10 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMMetadataRef")]
public static extern LLVMOpaqueMetadata* DIBuilderCreateGlobalVariableExpression([NativeTypeName("LLVMDIBuilderRef")] LLVMOpaqueDIBuilder* Builder, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Scope, [NativeTypeName("const char *")] sbyte* Name, [NativeTypeName("size_t")] nuint NameLen, [NativeTypeName("const char *")] sbyte* Linkage, [NativeTypeName("size_t")] nuint LinkLen, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* File, [NativeTypeName("unsigned int")] uint LineNo, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Ty, [NativeTypeName("LLVMBool")] int LocalToUnit, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Expr, [NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* Decl, [NativeTypeName("uint32_t")] uint AlignInBits);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMGetDINodeTag", ExactSpelling = true)]
+ [return: NativeTypeName("uint16_t")]
+ public static extern ushort GetDINodeTag([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* MD);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDIGlobalVariableExpressionGetVariable", ExactSpelling = true)]
[return: NativeTypeName("LLVMMetadataRef")]
public static extern LLVMOpaqueMetadata* DIGlobalVariableExpressionGetVariable([NativeTypeName("LLVMMetadataRef")] LLVMOpaqueMetadata* GVE);
@@ -3414,33 +3470,6 @@ public static unsafe partial class LLVM
[return: NativeTypeName("LLVMJITEventListenerRef")]
public static extern LLVMOpaqueJITEventListener* CreatePerfJITEventListener();
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeTransformUtils", ExactSpelling = true)]
- public static extern void InitializeTransformUtils([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeScalarOpts", ExactSpelling = true)]
- public static extern void InitializeScalarOpts([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeVectorization", ExactSpelling = true)]
- public static extern void InitializeVectorization([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeInstCombine", ExactSpelling = true)]
- public static extern void InitializeInstCombine([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeIPO", ExactSpelling = true)]
- public static extern void InitializeIPO([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeAnalysis", ExactSpelling = true)]
- public static extern void InitializeAnalysis([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeIPA", ExactSpelling = true)]
- public static extern void InitializeIPA([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeCodeGen", ExactSpelling = true)]
- public static extern void InitializeCodeGen([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMInitializeTarget", ExactSpelling = true)]
- public static extern void InitializeTarget([NativeTypeName("LLVMPassRegistryRef")] LLVMOpaquePassRegistry* R);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMParseIRInContext", ExactSpelling = true)]
[return: NativeTypeName("LLVMBool")]
public static extern int ParseIRInContext([NativeTypeName("LLVMContextRef")] LLVMOpaqueContext* ContextRef, [NativeTypeName("LLVMMemoryBufferRef")] LLVMOpaqueMemoryBuffer* MemBuf, [NativeTypeName("LLVMModuleRef *")] LLVMOpaqueModule** OutM, [NativeTypeName("char **")] sbyte** OutMessage);
@@ -3536,23 +3565,23 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_is_object_file([NativeTypeName("const char *")] sbyte* path);
+ public static extern bool lto_module_is_object_file([NativeTypeName("const char *")] sbyte* path);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_is_object_file_for_target([NativeTypeName("const char *")] sbyte* path, [NativeTypeName("const char *")] sbyte* target_triple_prefix);
+ public static extern bool lto_module_is_object_file_for_target([NativeTypeName("const char *")] sbyte* path, [NativeTypeName("const char *")] sbyte* target_triple_prefix);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_has_objc_category([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length);
+ public static extern bool lto_module_has_objc_category([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_is_object_file_in_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length);
+ public static extern bool lto_module_is_object_file_in_memory([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_is_object_file_in_memory_for_target([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* target_triple_prefix);
+ public static extern bool lto_module_is_object_file_in_memory_for_target([NativeTypeName("const void *")] void* mem, [NativeTypeName("size_t")] nuint length, [NativeTypeName("const char *")] sbyte* target_triple_prefix);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_module_t")]
@@ -3609,11 +3638,11 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_get_macho_cputype([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod, [NativeTypeName("unsigned int *")] uint* out_cputype, [NativeTypeName("unsigned int *")] uint* out_cpusubtype);
+ public static extern bool lto_module_get_macho_cputype([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod, [NativeTypeName("unsigned int *")] uint* out_cputype, [NativeTypeName("unsigned int *")] uint* out_cpusubtype);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_has_ctor_dtor([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
+ public static extern bool lto_module_has_ctor_dtor([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lto_codegen_set_diagnostic_handler([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* param0, [NativeTypeName("lto_diagnostic_handler_t")] delegate* unmanaged[Cdecl] param1, void* param2);
@@ -3631,18 +3660,18 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_add_module([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
+ public static extern bool lto_codegen_add_module([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lto_codegen_set_module([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_set_debug_model([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, lto_debug_model param1);
+ public static extern bool lto_codegen_set_debug_model([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, lto_debug_model param1);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_set_pic_model([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, lto_codegen_model param1);
+ public static extern bool lto_codegen_set_pic_model([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, lto_codegen_model param1);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lto_codegen_set_cpu([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* cpu);
@@ -3658,7 +3687,7 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_write_merged_modules([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* path);
+ public static extern bool lto_codegen_write_merged_modules([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* path);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("const void *")]
@@ -3666,11 +3695,11 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_compile_to_file([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("const char **")] sbyte** name);
+ public static extern bool lto_codegen_compile_to_file([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("const char **")] sbyte** name);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_codegen_optimize([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg);
+ public static extern bool lto_codegen_optimize([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("const void *")]
@@ -3693,10 +3722,10 @@ public static unsafe partial class LLVM
public static extern void lto_initialize_disassembler();
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void lto_codegen_set_should_internalize([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] byte ShouldInternalize);
+ public static extern void lto_codegen_set_should_internalize([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] bool ShouldInternalize);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void lto_codegen_set_should_embed_uselists([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] byte ShouldEmbedUselists);
+ public static extern void lto_codegen_set_should_embed_uselists([NativeTypeName("lto_code_gen_t")] LLVMOpaqueLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] bool ShouldEmbedUselists);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_input_t")]
@@ -3747,7 +3776,7 @@ public static unsafe partial class LLVM
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte thinlto_codegen_set_pic_model([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, lto_codegen_model param1);
+ public static extern bool thinlto_codegen_set_pic_model([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, lto_codegen_model param1);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void thinlto_codegen_set_savetemps_dir([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* save_temps_dir);
@@ -3759,17 +3788,17 @@ public static unsafe partial class LLVM
public static extern void thinlto_codegen_set_cpu([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* cpu);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void thinlto_codegen_disable_codegen([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] byte disable);
+ public static extern void thinlto_codegen_disable_codegen([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] bool disable);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void thinlto_codegen_set_codegen_only([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] byte codegen_only);
+ public static extern void thinlto_codegen_set_codegen_only([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("lto_bool_t")] bool codegen_only);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void thinlto_debug_options([NativeTypeName("const char *const *")] sbyte** options, int number);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
[return: NativeTypeName("lto_bool_t")]
- public static extern byte lto_module_is_thinlto([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
+ public static extern bool lto_module_is_thinlto([NativeTypeName("lto_module_t")] LLVMOpaqueLTOModule* mod);
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void thinlto_codegen_add_must_preserve_symbol([NativeTypeName("thinlto_code_gen_t")] LLVMOpaqueThinLTOCodeGenerator* cg, [NativeTypeName("const char *")] sbyte* name, int length);
@@ -4571,6 +4600,35 @@ public static void InitializeAllDisassemblers()
[return: NativeTypeName("LLVMBool")]
public static extern int TargetHasAsmBackend([NativeTypeName("LLVMTargetRef")] LLVMTarget* T);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateTargetMachineOptions", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMTargetMachineOptionsRef")]
+ public static extern LLVMOpaqueTargetMachineOptions* CreateTargetMachineOptions();
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposeTargetMachineOptions", ExactSpelling = true)]
+ public static extern void DisposeTargetMachineOptions([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetCPU", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetCPU([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, [NativeTypeName("const char *")] sbyte* CPU);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetFeatures", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetFeatures([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, [NativeTypeName("const char *")] sbyte* Features);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetABI", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetABI([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, [NativeTypeName("const char *")] sbyte* ABI);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetCodeGenOptLevel", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetCodeGenOptLevel([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, LLVMCodeGenOptLevel Level);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetRelocMode", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetRelocMode([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, LLVMRelocMode Reloc);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineOptionsSetCodeModel", ExactSpelling = true)]
+ public static extern void TargetMachineOptionsSetCodeModel([NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options, LLVMCodeModel CodeModel);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateTargetMachineWithOptions", ExactSpelling = true)]
+ [return: NativeTypeName("LLVMTargetMachineRef")]
+ public static extern LLVMOpaqueTargetMachine* CreateTargetMachineWithOptions([NativeTypeName("LLVMTargetRef")] LLVMTarget* T, [NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("LLVMTargetMachineOptionsRef")] LLVMOpaqueTargetMachineOptions* Options);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMCreateTargetMachine", ExactSpelling = true)]
[return: NativeTypeName("LLVMTargetMachineRef")]
public static extern LLVMOpaqueTargetMachine* CreateTargetMachine([NativeTypeName("LLVMTargetRef")] LLVMTarget* T, [NativeTypeName("const char *")] sbyte* Triple, [NativeTypeName("const char *")] sbyte* CPU, [NativeTypeName("const char *")] sbyte* Features, LLVMCodeGenOptLevel Level, LLVMRelocMode Reloc, LLVMCodeModel CodeModel);
@@ -4601,6 +4659,18 @@ public static void InitializeAllDisassemblers()
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTargetMachineAsmVerbosity", ExactSpelling = true)]
public static extern void SetTargetMachineAsmVerbosity([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMBool")] int VerboseAsm);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTargetMachineFastISel", ExactSpelling = true)]
+ public static extern void SetTargetMachineFastISel([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMBool")] int Enable);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTargetMachineGlobalISel", ExactSpelling = true)]
+ public static extern void SetTargetMachineGlobalISel([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMBool")] int Enable);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTargetMachineGlobalISelAbort", ExactSpelling = true)]
+ public static extern void SetTargetMachineGlobalISelAbort([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, LLVMGlobalISelAbortMode Mode);
+
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMSetTargetMachineMachineOutliner", ExactSpelling = true)]
+ public static extern void SetTargetMachineMachineOutliner([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMBool")] int Enable);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMTargetMachineEmitToFile", ExactSpelling = true)]
[return: NativeTypeName("LLVMBool")]
public static extern int TargetMachineEmitToFile([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Filename, LLVMCodeGenFileType codegen, [NativeTypeName("char **")] sbyte** ErrorMessage);
@@ -4628,51 +4698,6 @@ public static void InitializeAllDisassemblers()
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAnalysisPasses", ExactSpelling = true)]
public static extern void AddAnalysisPasses([NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* T, [NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInstructionCombiningPass", ExactSpelling = true)]
- public static extern void AddInstructionCombiningPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddConstantMergePass", ExactSpelling = true)]
- public static extern void AddConstantMergePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddMergeFunctionsPass", ExactSpelling = true)]
- public static extern void AddMergeFunctionsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCalledValuePropagationPass", ExactSpelling = true)]
- public static extern void AddCalledValuePropagationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddDeadArgEliminationPass", ExactSpelling = true)]
- public static extern void AddDeadArgEliminationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddFunctionAttrsPass", ExactSpelling = true)]
- public static extern void AddFunctionAttrsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddFunctionInliningPass", ExactSpelling = true)]
- public static extern void AddFunctionInliningPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAlwaysInlinerPass", ExactSpelling = true)]
- public static extern void AddAlwaysInlinerPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddGlobalDCEPass", ExactSpelling = true)]
- public static extern void AddGlobalDCEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddGlobalOptimizerPass", ExactSpelling = true)]
- public static extern void AddGlobalOptimizerPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddIPSCCPPass", ExactSpelling = true)]
- public static extern void AddIPSCCPPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInternalizePass", ExactSpelling = true)]
- public static extern void AddInternalizePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* param0, [NativeTypeName("unsigned int")] uint AllButMain);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInternalizePassWithMustPreservePredicate", ExactSpelling = true)]
- public static extern void AddInternalizePassWithMustPreservePredicate([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM, void* Context, [NativeTypeName("LLVMBool (*)(LLVMValueRef, void *)")] delegate* unmanaged[Cdecl] MustPreserve);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddStripDeadPrototypesPass", ExactSpelling = true)]
- public static extern void AddStripDeadPrototypesPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddStripSymbolsPass", ExactSpelling = true)]
- public static extern void AddStripSymbolsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMRunPasses", ExactSpelling = true)]
[return: NativeTypeName("LLVMErrorRef")]
public static extern LLVMOpaqueError* RunPasses([NativeTypeName("LLVMModuleRef")] LLVMOpaqueModule* M, [NativeTypeName("const char *")] sbyte* Passes, [NativeTypeName("LLVMTargetMachineRef")] LLVMOpaqueTargetMachine* TM, [NativeTypeName("LLVMPassBuilderOptionsRef")] LLVMOpaquePassBuilderOptions* Options);
@@ -4714,175 +4739,9 @@ public static void InitializeAllDisassemblers()
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassBuilderOptionsSetMergeFunctions", ExactSpelling = true)]
public static extern void PassBuilderOptionsSetMergeFunctions([NativeTypeName("LLVMPassBuilderOptionsRef")] LLVMOpaquePassBuilderOptions* Options, [NativeTypeName("LLVMBool")] int MergeFunctions);
+ [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassBuilderOptionsSetInlinerThreshold", ExactSpelling = true)]
+ public static extern void PassBuilderOptionsSetInlinerThreshold([NativeTypeName("LLVMPassBuilderOptionsRef")] LLVMOpaquePassBuilderOptions* Options, int Threshold);
+
[DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMDisposePassBuilderOptions", ExactSpelling = true)]
public static extern void DisposePassBuilderOptions([NativeTypeName("LLVMPassBuilderOptionsRef")] LLVMOpaquePassBuilderOptions* Options);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderCreate", ExactSpelling = true)]
- [return: NativeTypeName("LLVMPassManagerBuilderRef")]
- public static extern LLVMOpaquePassManagerBuilder* PassManagerBuilderCreate();
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderDispose", ExactSpelling = true)]
- public static extern void PassManagerBuilderDispose([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetOptLevel", ExactSpelling = true)]
- public static extern void PassManagerBuilderSetOptLevel([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("unsigned int")] uint OptLevel);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetSizeLevel", ExactSpelling = true)]
- public static extern void PassManagerBuilderSetSizeLevel([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("unsigned int")] uint SizeLevel);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetDisableUnitAtATime", ExactSpelling = true)]
- public static extern void PassManagerBuilderSetDisableUnitAtATime([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMBool")] int Value);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetDisableUnrollLoops", ExactSpelling = true)]
- public static extern void PassManagerBuilderSetDisableUnrollLoops([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMBool")] int Value);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderSetDisableSimplifyLibCalls", ExactSpelling = true)]
- public static extern void PassManagerBuilderSetDisableSimplifyLibCalls([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMBool")] int Value);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderUseInlinerWithThreshold", ExactSpelling = true)]
- public static extern void PassManagerBuilderUseInlinerWithThreshold([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("unsigned int")] uint Threshold);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderPopulateFunctionPassManager", ExactSpelling = true)]
- public static extern void PassManagerBuilderPopulateFunctionPassManager([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMPassManagerBuilderPopulateModulePassManager", ExactSpelling = true)]
- public static extern void PassManagerBuilderPopulateModulePassManager([NativeTypeName("LLVMPassManagerBuilderRef")] LLVMOpaquePassManagerBuilder* PMB, [NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAggressiveDCEPass", ExactSpelling = true)]
- public static extern void AddAggressiveDCEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddDCEPass", ExactSpelling = true)]
- public static extern void AddDCEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddBitTrackingDCEPass", ExactSpelling = true)]
- public static extern void AddBitTrackingDCEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAlignmentFromAssumptionsPass", ExactSpelling = true)]
- public static extern void AddAlignmentFromAssumptionsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCFGSimplificationPass", ExactSpelling = true)]
- public static extern void AddCFGSimplificationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddDeadStoreEliminationPass", ExactSpelling = true)]
- public static extern void AddDeadStoreEliminationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddScalarizerPass", ExactSpelling = true)]
- public static extern void AddScalarizerPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddMergedLoadStoreMotionPass", ExactSpelling = true)]
- public static extern void AddMergedLoadStoreMotionPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddGVNPass", ExactSpelling = true)]
- public static extern void AddGVNPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddNewGVNPass", ExactSpelling = true)]
- public static extern void AddNewGVNPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddIndVarSimplifyPass", ExactSpelling = true)]
- public static extern void AddIndVarSimplifyPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddInstructionSimplifyPass", ExactSpelling = true)]
- public static extern void AddInstructionSimplifyPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddJumpThreadingPass", ExactSpelling = true)]
- public static extern void AddJumpThreadingPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLICMPass", ExactSpelling = true)]
- public static extern void AddLICMPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopDeletionPass", ExactSpelling = true)]
- public static extern void AddLoopDeletionPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopIdiomPass", ExactSpelling = true)]
- public static extern void AddLoopIdiomPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopRotatePass", ExactSpelling = true)]
- public static extern void AddLoopRotatePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopRerollPass", ExactSpelling = true)]
- public static extern void AddLoopRerollPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopUnrollPass", ExactSpelling = true)]
- public static extern void AddLoopUnrollPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopUnrollAndJamPass", ExactSpelling = true)]
- public static extern void AddLoopUnrollAndJamPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLowerAtomicPass", ExactSpelling = true)]
- public static extern void AddLowerAtomicPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddMemCpyOptPass", ExactSpelling = true)]
- public static extern void AddMemCpyOptPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddPartiallyInlineLibCallsPass", ExactSpelling = true)]
- public static extern void AddPartiallyInlineLibCallsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddReassociatePass", ExactSpelling = true)]
- public static extern void AddReassociatePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddSCCPPass", ExactSpelling = true)]
- public static extern void AddSCCPPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddScalarReplAggregatesPass", ExactSpelling = true)]
- public static extern void AddScalarReplAggregatesPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddScalarReplAggregatesPassSSA", ExactSpelling = true)]
- public static extern void AddScalarReplAggregatesPassSSA([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddScalarReplAggregatesPassWithThreshold", ExactSpelling = true)]
- public static extern void AddScalarReplAggregatesPassWithThreshold([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM, int Threshold);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddSimplifyLibCallsPass", ExactSpelling = true)]
- public static extern void AddSimplifyLibCallsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddTailCallEliminationPass", ExactSpelling = true)]
- public static extern void AddTailCallEliminationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddDemoteMemoryToRegisterPass", ExactSpelling = true)]
- public static extern void AddDemoteMemoryToRegisterPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddVerifierPass", ExactSpelling = true)]
- public static extern void AddVerifierPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddCorrelatedValuePropagationPass", ExactSpelling = true)]
- public static extern void AddCorrelatedValuePropagationPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddEarlyCSEPass", ExactSpelling = true)]
- public static extern void AddEarlyCSEPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddEarlyCSEMemSSAPass", ExactSpelling = true)]
- public static extern void AddEarlyCSEMemSSAPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLowerExpectIntrinsicPass", ExactSpelling = true)]
- public static extern void AddLowerExpectIntrinsicPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLowerConstantIntrinsicsPass", ExactSpelling = true)]
- public static extern void AddLowerConstantIntrinsicsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddTypeBasedAliasAnalysisPass", ExactSpelling = true)]
- public static extern void AddTypeBasedAliasAnalysisPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddScopedNoAliasAAPass", ExactSpelling = true)]
- public static extern void AddScopedNoAliasAAPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddBasicAliasAnalysisPass", ExactSpelling = true)]
- public static extern void AddBasicAliasAnalysisPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddUnifyFunctionExitNodesPass", ExactSpelling = true)]
- public static extern void AddUnifyFunctionExitNodesPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLowerSwitchPass", ExactSpelling = true)]
- public static extern void AddLowerSwitchPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddPromoteMemoryToRegisterPass", ExactSpelling = true)]
- public static extern void AddPromoteMemoryToRegisterPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddAddDiscriminatorsPass", ExactSpelling = true)]
- public static extern void AddAddDiscriminatorsPass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddLoopVectorizePass", ExactSpelling = true)]
- public static extern void AddLoopVectorizePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
-
- [DllImport("libLLVM", CallingConvention = CallingConvention.Cdecl, EntryPoint = "LLVMAddSLPVectorizePass", ExactSpelling = true)]
- public static extern void AddSLPVectorizePass([NativeTypeName("LLVMPassManagerRef")] LLVMOpaquePassManager* PM);
}
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs b/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs
index c2bcbfa..3b054fb 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMAtomicOrdering.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs b/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs
index a307686..2bd18d6 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMAtomicRMWBinOp.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs b/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs
index 8b420ec..b000ff7 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMAttributeIndex.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs b/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs
index 66bbc38..e87f575 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMBinaryType.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs b/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs
index 355b544..052f504 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMByteOrdering.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs b/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs
index 4de54fd..1fd6df4 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMCallConv.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
@@ -12,7 +12,6 @@ public enum LLVMCallConv
LLVMColdCallConv = 9,
LLVMGHCCallConv = 10,
LLVMHiPECallConv = 11,
- LLVMWebKitJSCallConv = 12,
LLVMAnyRegCallConv = 13,
LLVMPreserveMostCallConv = 14,
LLVMPreserveAllCallConv = 15,
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs
index d243f42..4597678 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenFileType.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs
index 7b65f8e..8c15633 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeGenOptLevel.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs b/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs
index ce5f9ee..1cd4549 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMCodeModel.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs
index 31b652c..cd44d5c 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMComdatSelectionKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs
index 552826e..21c9f95 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDIFlags.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs b/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs
index b61a327..5056d17 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDLLStorageClass.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs
index 22b4c35..96f841d 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFEmissionKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs
index 09eab07..ef3275f 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFMacinfoRecordType.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs b/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs
index 5c41821..56e8c8d 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDWARFSourceLanguage.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
@@ -53,6 +53,7 @@ public enum LLVMDWARFSourceLanguage
LLVMDWARFSourceLanguageFortran18,
LLVMDWARFSourceLanguageAda2005,
LLVMDWARFSourceLanguageAda2012,
+ LLVMDWARFSourceLanguageMojo,
LLVMDWARFSourceLanguageMips_Assembler,
LLVMDWARFSourceLanguageGOOGLE_RenderScript,
LLVMDWARFSourceLanguageBORLAND_Delphi,
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs b/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs
index d0d3463..12a66bc 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMDiagnosticSeverity.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs
new file mode 100644
index 0000000..7f3bfdd
--- /dev/null
+++ b/sources/LLVMSharp.Interop/llvm/LLVMFastMathFlags.cs
@@ -0,0 +1,22 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
+// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
+
+using System;
+
+namespace LLVMSharp.Interop;
+
+[Flags]
+public enum LLVMFastMathFlags
+{
+ LLVMFastMathAllowReassoc = (1 << 0),
+ LLVMFastMathNoNaNs = (1 << 1),
+ LLVMFastMathNoInfs = (1 << 2),
+ LLVMFastMathNoSignedZeros = (1 << 3),
+ LLVMFastMathAllowReciprocal = (1 << 4),
+ LLVMFastMathAllowContract = (1 << 5),
+ LLVMFastMathApproxFunc = (1 << 6),
+ LLVMFastMathNone = 0,
+ LLVMFastMathAll = LLVMFastMathAllowReassoc | LLVMFastMathNoNaNs | LLVMFastMathNoInfs | LLVMFastMathNoSignedZeros | LLVMFastMathAllowReciprocal | LLVMFastMathAllowContract | LLVMFastMathApproxFunc,
+}
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs
new file mode 100644
index 0000000..212ac4b
--- /dev/null
+++ b/sources/LLVMSharp.Interop/llvm/LLVMGlobalISelAbortMode.cs
@@ -0,0 +1,13 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
+// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
+
+namespace LLVMSharp.Interop;
+
+public enum LLVMGlobalISelAbortMode
+{
+ LLVMGlobalISelAbortEnable,
+ LLVMGlobalISelAbortDisable,
+ LLVMGlobalISelAbortDisableWithDiag,
+}
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs b/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs
index 3c10ec6..abed386 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMInlineAsmDialect.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs b/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs
index 957172d..2b29bdf 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMIntPredicate.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs
index f46e9fc..ee203e4 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMJITEvaluatedSymbol.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs
index 87282e5..ce2e0ef 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolFlags.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs
index 1dab0b9..7fd2c2b 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMJITSymbolGenericFlags.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMLandingPadClauseTy.cs b/sources/LLVMSharp.Interop/llvm/LLVMLandingPadClauseTy.cs
index 0f3192c..9e907ea 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMLandingPadClauseTy.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMLandingPadClauseTy.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs b/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs
index 5a90f4f..39c40df 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMLinkage.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs
index 81c7913..599360d 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMLinkerMode.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs b/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs
index 9072f21..428b3a5 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMMCJITCompilerOptions.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs
index b53959d..603dcab 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMMetadataKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs b/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs
index e5ea4bf..5289de4 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMModuleFlagBehavior.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs
index 0ed7d7f..7ec3090 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOpInfo1.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs
index dc89e8a..3add435 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOpInfoSymbol1.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs b/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs
index 988b8c3..55907da 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOpcode.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs
index a134884..a11e31f 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCDependenceMapPair.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs
index a924343..cdfbde2 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCJITDylibSearchOrderElement.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs
index d2910bb..0b8aae3 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCLookupSetElement.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs
index 67c1268..55753ce 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapEntry.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs
index f6ebb5f..c4549c9 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolAliasMapPair.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs
index 66f8bc4..6ab6148 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolFlagsMapPair.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs
index 116efda..9663831 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolMapPair.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs
index 48a4b88..2c8389c 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcCSymbolsList.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs
index 035d485..d5e274e 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcJITDylibLookupFlags.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs
index 5f07317..21be8ff 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcLookupKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs b/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs
index 90cc2e4..1a137af 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMOrcSymbolLookupFlags.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using System;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs b/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs
index 1471315..ed28229 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMRealPredicate.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs
index 5ce8ac6..2f3847b 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMRelocMode.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs b/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs
index 0f85d01..9505b83 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMRemarkType.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs
new file mode 100644
index 0000000..e40c21e
--- /dev/null
+++ b/sources/LLVMSharp.Interop/llvm/LLVMTailCallKind.cs
@@ -0,0 +1,14 @@
+// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
+
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
+// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
+
+namespace LLVMSharp.Interop;
+
+public enum LLVMTailCallKind
+{
+ LLVMTailCallKindNone = 0,
+ LLVMTailCallKindTail = 1,
+ LLVMTailCallKindMustTail = 2,
+ LLVMTailCallKindNoTail = 3,
+}
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs b/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs
index daaa42d..5b4ee4a 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMThreadLocalMode.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs
index 077e0e9..879155e 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMTypeKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs b/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs
index c89519d..1dc6c67 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMUnnamedAddr.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs b/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs
index d9b1cc8..6c9ac85 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMValueKind.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs b/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs
index 3b44b96..d5e343e 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMVerifierFailureAction.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs b/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs
index 460ac6e..046eaa9 100644
--- a/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs
+++ b/sources/LLVMSharp.Interop/llvm/LLVMVisibility.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs b/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs
index 1ebc98c..4439a71 100644
--- a/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs
+++ b/sources/LLVMSharp.Interop/llvm/LTOObjectBuffer.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs b/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs
index 96cd05d..80f5de0 100644
--- a/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs
+++ b/sources/LLVMSharp.Interop/llvm/llvm_blake3_chunk_state.cs
@@ -1,20 +1,22 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
+using System.Runtime.CompilerServices;
+
namespace LLVMSharp.Interop;
-public unsafe partial struct llvm_blake3_chunk_state
+public partial struct llvm_blake3_chunk_state
{
[NativeTypeName("uint32_t[8]")]
- public fixed uint cv[8];
+ public _cv_e__FixedBuffer cv;
[NativeTypeName("uint64_t")]
public ulong chunk_counter;
[NativeTypeName("uint8_t[64]")]
- public fixed byte buf[64];
+ public _buf_e__FixedBuffer buf;
[NativeTypeName("uint8_t")]
public byte buf_len;
@@ -24,4 +26,16 @@ public unsafe partial struct llvm_blake3_chunk_state
[NativeTypeName("uint8_t")]
public byte flags;
+
+ [InlineArray(8)]
+ public partial struct _cv_e__FixedBuffer
+ {
+ public uint e0;
+ }
+
+ [InlineArray(64)]
+ public partial struct _buf_e__FixedBuffer
+ {
+ public byte e0;
+ }
}
diff --git a/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs b/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs
index 93e0961..0d56636 100644
--- a/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs
+++ b/sources/LLVMSharp.Interop/llvm/llvm_blake3_hasher.cs
@@ -1,14 +1,16 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
+using System.Runtime.CompilerServices;
+
namespace LLVMSharp.Interop;
-public unsafe partial struct llvm_blake3_hasher
+public partial struct llvm_blake3_hasher
{
[NativeTypeName("uint32_t[8]")]
- public fixed uint key[8];
+ public _key_e__FixedBuffer key;
public llvm_blake3_chunk_state chunk;
@@ -16,5 +18,17 @@ public unsafe partial struct llvm_blake3_hasher
public byte cv_stack_len;
[NativeTypeName("uint8_t[1760]")]
- public fixed byte cv_stack[1760];
+ public _cv_stack_e__FixedBuffer cv_stack;
+
+ [InlineArray(8)]
+ public partial struct _key_e__FixedBuffer
+ {
+ public uint e0;
+ }
+
+ [InlineArray(1760)]
+ public partial struct _cv_stack_e__FixedBuffer
+ {
+ public byte e0;
+ }
}
diff --git a/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs b/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs
index cfb9e2b..99cede0 100644
--- a/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs
+++ b/sources/LLVMSharp.Interop/llvm/lto_codegen_diagnostic_severity_t.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs b/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs
index ef16394..fd97211 100644
--- a/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs
+++ b/sources/LLVMSharp.Interop/llvm/lto_codegen_model.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs b/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs
index 042a0ec..e7ff4f1 100644
--- a/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs
+++ b/sources/LLVMSharp.Interop/llvm/lto_debug_model.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs b/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs
index 947db82..8522ca8 100644
--- a/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs
+++ b/sources/LLVMSharp.Interop/llvm/lto_symbol_attributes.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
namespace LLVMSharp.Interop;
diff --git a/tests/LLVMSharp.UnitTests/DIBuilder.cs b/tests/LLVMSharp.UnitTests/DIBuilder.cs
index e9375fd..ad948ef 100644
--- a/tests/LLVMSharp.UnitTests/DIBuilder.cs
+++ b/tests/LLVMSharp.UnitTests/DIBuilder.cs
@@ -1,4 +1,3 @@
-using System;
using System.IO;
using LLVMSharp.Interop;
using NUnit.Framework;
@@ -59,6 +58,6 @@ public void CreateDebugLocation()
_ = module.TryVerify(LLVMVerifierFailureAction.LLVMPrintMessageAction, out var message);
- Assert.AreEqual("", message);
+ Assert.That(message, Is.Empty);
}
}
diff --git a/tests/LLVMSharp.UnitTests/Examples.cs b/tests/LLVMSharp.UnitTests/Examples.cs
index 13c5573..9e6b286 100644
--- a/tests/LLVMSharp.UnitTests/Examples.cs
+++ b/tests/LLVMSharp.UnitTests/Examples.cs
@@ -34,7 +34,7 @@ public void Intro()
var engine = module.CreateMCJITCompiler();
var function = engine.GetPointerToGlobal(def);
var result = function(2, 2);
- Assert.AreEqual(4, result);
+ Assert.That(result, Is.EqualTo(4));
}
}
diff --git a/tests/LLVMSharp.UnitTests/Functions.cs b/tests/LLVMSharp.UnitTests/Functions.cs
index 2cd7648..05c9314 100644
--- a/tests/LLVMSharp.UnitTests/Functions.cs
+++ b/tests/LLVMSharp.UnitTests/Functions.cs
@@ -13,7 +13,7 @@ public void ParamTypesRoundtrip()
var returnType = LLVMTypeRef.Int8;
var parameterTypes = new[] { LLVMTypeRef.Double };
var functionType = LLVMTypeRef.CreateFunction(returnType, parameterTypes);
- Assert.AreEqual(parameterTypes, functionType.GetParamTypes());
+ Assert.That(functionType.GetParamTypes(), Is.EquivalentTo(parameterTypes));
}
[Test]
@@ -26,6 +26,6 @@ public void AddsAttributeAtIndex()
functionValue.AddAttributeAtIndex((LLVMAttributeIndex)1, attr);
var attrs = functionValue.GetAttributesAtIndex((LLVMAttributeIndex)1);
- Assert.AreEqual(attrs[0].Kind, (uint)AttributeKind.ByVal);
+ Assert.That((AttributeKind)attrs[0].Kind, Is.EqualTo(AttributeKind.ByVal));
}
}
diff --git a/tests/LLVMSharp.UnitTests/IR.cs b/tests/LLVMSharp.UnitTests/IR.cs
index 7c78f12..147a4e2 100644
--- a/tests/LLVMSharp.UnitTests/IR.cs
+++ b/tests/LLVMSharp.UnitTests/IR.cs
@@ -34,7 +34,7 @@ public void AddsSigned()
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(def);
var result = op1 + op2;
- Assert.AreEqual(result, func(op1, op2));
+ Assert.That(func(op1, op2), Is.EqualTo(result));
}
[Test]
@@ -59,7 +59,7 @@ public void ShiftsRight([Range(0, 256)] int op1, [Range(0, 8)] int op2)
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(def);
var result = op1 >> op2;
- Assert.AreEqual(result, func(op1, op2));
+ Assert.That(func(op1, op2), Is.EqualTo(result));
}
[Test]
@@ -84,7 +84,7 @@ public void ComparesGreaterThan([Range(0, 10)] int op1, [Range(0, 10)] int op2)
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(def);
var result = op1 > op2 ? 1 : 0;
- Assert.AreEqual(result, func(op1, op2));
+ Assert.That(func(op1, op2), Is.EqualTo(result));
}
[Test]
@@ -115,7 +115,7 @@ public void CallsFunction([Range(0, 10)] int op1, [Range(0, 10)] int op2)
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(entryDef);
var result = op1 + op2;
- Assert.AreEqual(result, func(op1, op2));
+ Assert.That(func(op1, op2), Is.EqualTo(result));
}
[Test]
@@ -138,7 +138,7 @@ public void ReturnsConstant([Range(0, 10)] int input)
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(def);
- Assert.AreEqual(input, func());
+ Assert.That(func(), Is.EqualTo(input));
}
[Test]
@@ -162,6 +162,6 @@ public void ReturnsSizeOf()
var engine = module.CreateMCJITCompiler();
var func = engine.GetPointerToGlobal(def);
- Assert.AreEqual(8, func());
+ Assert.That(func(), Is.EqualTo(8));
}
}
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs
index dc8afd6..2870e7c 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMJITEvaluatedSymbolTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs
index 48699cd..3e85a8b 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMJITSymbolFlagsTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs
index 0f7870e..85df30a 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMMCJITCompilerOptionsTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs
index 5aae956..254af11 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfo1Tests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs
index 6fa5519..a29b042 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOpInfoSymbol1Tests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs
index 4df7d0d..752e84e 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCDependenceMapPairTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs
index c39d053..80fa71e 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCJITDylibSearchOrderElementTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs
index 99a9ca5..64a8a95 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCLookupSetElementTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs
index dfc3eea..55d5889 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapEntryTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs
index 4e21217..bca1d05 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolAliasMapPairTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs
index 8e1214d..00b1831 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolFlagsMapPairTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs
index c3ff1d1..c24d443 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolMapPairTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs
index d69264a..9882b4a 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LLVMOrcCSymbolsListTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs b/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs
index 5c5dfdc..3d618a5 100644
--- a/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/LTOObjectBufferTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs
index d23c30d..0ea2663 100644
--- a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_chunk_stateTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs
index 45cde52..580897a 100644
--- a/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs
+++ b/tests/LLVMSharp.UnitTests/Interop/llvm_blake3_hasherTests.cs
@@ -1,6 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
-// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-16.0.6/llvm/include/llvm-c
+// Ported from https://github.com/llvm/llvm-project/tree/llvmorg-18.1.3/llvm/include/llvm-c
// Original source is Copyright (c) the LLVM Project and Contributors. Licensed under the Apache License v2.0 with LLVM Exceptions. See NOTICE.txt in the project root for license information.
using NUnit.Framework;
diff --git a/tests/LLVMSharp.UnitTests/Modules.cs b/tests/LLVMSharp.UnitTests/Modules.cs
index d725e0a..2db863b 100644
--- a/tests/LLVMSharp.UnitTests/Modules.cs
+++ b/tests/LLVMSharp.UnitTests/Modules.cs
@@ -14,7 +14,7 @@ public void SetsAndGetsDataLayout()
{
const string ExampleDataLayout = "e-m:e-p:32:32-f64:32:64-f80:32-n8:16:32-S128";
module.DataLayout = ExampleDataLayout;
- Assert.AreEqual(ExampleDataLayout, module.DataLayout);
+ Assert.That(module.DataLayout, Is.EqualTo(ExampleDataLayout));
}
module.Dispose();
}
@@ -26,7 +26,7 @@ public void SetsAndGetsTarget()
{
const string ExampleTarget = "x86_64-pc-windows-msvc";
module.Target = ExampleTarget;
- Assert.AreEqual(ExampleTarget, module.Target);
+ Assert.That(module.Target, Is.EqualTo(ExampleTarget));
}
module.Dispose();
}
diff --git a/tests/LLVMSharp.UnitTests/TargetData.cs b/tests/LLVMSharp.UnitTests/TargetData.cs
index a310094..bcc1bb7 100644
--- a/tests/LLVMSharp.UnitTests/TargetData.cs
+++ b/tests/LLVMSharp.UnitTests/TargetData.cs
@@ -20,11 +20,11 @@ public void OffsetTest()
LLVMTypeRef.Int32
}, true);
- Assert.AreEqual(0, target.OffsetOfElement(testStruct, 0));
- Assert.AreEqual(2, target.OffsetOfElement(testStruct, 1));
+ Assert.That(target.OffsetOfElement(testStruct, 0), Is.EqualTo(0));
+ Assert.That(target.OffsetOfElement(testStruct, 1), Is.EqualTo(2));
- Assert.AreEqual(target.ElementAtOffset(testStruct, 0), 0);
- Assert.AreEqual(target.ElementAtOffset(testStruct, 2), 1);
+ Assert.That(target.ElementAtOffset(testStruct, 0), Is.EqualTo(0));
+ Assert.That(target.ElementAtOffset(testStruct, 2), Is.EqualTo(1));
}
[Test]
@@ -40,9 +40,9 @@ public void SizeTest()
LLVMTypeRef.Int32
}, true);
- Assert.AreEqual(48, target.SizeOfTypeInBits(testStruct));
- Assert.AreEqual(6, target.StoreSizeOfType(testStruct));
- Assert.AreEqual(6, target.ABISizeOfType(testStruct));
+ Assert.That(target.SizeOfTypeInBits(testStruct), Is.EqualTo(48));
+ Assert.That(target.StoreSizeOfType(testStruct), Is.EqualTo(6));
+ Assert.That(target.ABISizeOfType(testStruct), Is.EqualTo(6));
}
[Test]
@@ -60,12 +60,12 @@ public void AlignmentTest()
LLVMTypeRef.Int32
}, true);
- Assert.AreEqual(1, target.ABIAlignmentOfType(testStruct));
- Assert.AreEqual(1, target.CallFrameAlignmentOfType(testStruct));
- Assert.AreEqual(8, target.PreferredAlignmentOfType(testStruct));
+ Assert.That(target.ABIAlignmentOfType(testStruct), Is.EqualTo(1));
+ Assert.That(target.CallFrameAlignmentOfType(testStruct), Is.EqualTo(1));
+ Assert.That(target.PreferredAlignmentOfType(testStruct), Is.EqualTo(8));
var global = m.AddGlobal(LLVMTypeRef.CreatePointer(LLVMTypeRef.Int8, 0), "someGlobal");
- Assert.AreEqual(4, target.PreferredAlignmentOfGlobal(global));
+ Assert.That(target.PreferredAlignmentOfGlobal(global), Is.EqualTo(4));
}
private static LLVMTargetDataRef TargetDataFromTriple(string triple)
@@ -88,7 +88,7 @@ public void MachineTest()
var x86 = TargetDataFromTriple("i386-unknown-unknown");
var x86_64 = TargetDataFromTriple("amd64-unknown-unknown");
- Assert.AreEqual(4, x86.ABISizeOfType(pointerType));
- Assert.AreEqual(8, x86_64.ABISizeOfType(pointerType));
+ Assert.That(x86.ABISizeOfType(pointerType), Is.EqualTo(4));
+ Assert.That(x86_64.ABISizeOfType(pointerType), Is.EqualTo(8));
}
}
diff --git a/tests/LLVMSharp.UnitTests/Targets.cs b/tests/LLVMSharp.UnitTests/Targets.cs
index a37e724..95fc0ec 100644
--- a/tests/LLVMSharp.UnitTests/Targets.cs
+++ b/tests/LLVMSharp.UnitTests/Targets.cs
@@ -1,7 +1,6 @@
// Copyright (c) .NET Foundation and Contributors. All Rights Reserved. Licensed under the MIT License (MIT). See License.md in the repository root for more information.
using System;
-using System.Linq;
using LLVMSharp.Interop;
using NUnit.Framework;
@@ -39,7 +38,7 @@ private static void InitializeTargets(Action init, string[] expectedTargets)
}
foreach (var t in expectedTargets)
{
- Assert.IsTrue(LLVMTargetRef.Targets.Any(x => x.Name == t));
+ Assert.That(LLVMTargetRef.Targets, Has.Some.With.Property("Name").EqualTo(t));
}
}
@@ -47,6 +46,6 @@ private static void InitializeTargets(Action init, string[] expectedTargets)
public void DefaultTargetTriple()
{
var str = LLVMTargetRef.DefaultTriple;
- Assert.Greater(str.Length, 0);
+ Assert.That(str.Length, Is.GreaterThan(0));
}
}
diff --git a/tests/LLVMSharp.UnitTests/Types.cs b/tests/LLVMSharp.UnitTests/Types.cs
index 8d483a2..17efdea 100644
--- a/tests/LLVMSharp.UnitTests/Types.cs
+++ b/tests/LLVMSharp.UnitTests/Types.cs
@@ -13,7 +13,7 @@ public void IntSizes([Values(1, 8, 16, 32, 64)] int width)
{
var uWidth = (uint)width;
var t = LLVMContextRef.Global.GetIntType(uWidth);
- Assert.AreEqual(uWidth, t.IntWidth);
+ Assert.That(t.IntWidth, Is.EqualTo(uWidth));
}
[Test]
@@ -35,7 +35,7 @@ public void FloatingTypes()
};
foreach (var p in dic.Keys)
{
- Assert.AreEqual(dic[p], p.Kind);
+ Assert.That(p.Kind, Is.EqualTo(dic[p]));
}
}
}