[llvm] llvm: Add missing `LLVM_ABI` annotations (PR #171629)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 10 06:49:32 PST 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-llvm-support
Author: Fabrice de Gans (Steelskin)
<details>
<summary>Changes</summary>
This patch updates various LLVM headers to properly add the `LLVM_ABI` and `LLVM_ABI_FOR_TEST` annotations to build LLVM as a DLL on Windows.
This effort is tracked in #<!-- -->109483.
---
Full diff: https://github.com/llvm/llvm-project/pull/171629.diff
5 Files Affected:
- (modified) llvm/include/llvm/Analysis/RuntimeLibcallInfo.h (+4-3)
- (modified) llvm/include/llvm/CodeGen/LibcallLoweringInfo.h (+1-1)
- (modified) llvm/include/llvm/SandboxIR/Constant.h (+1-1)
- (modified) llvm/include/llvm/Support/Hash.h (+3-2)
- (modified) llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h (+2-1)
``````````diff
diff --git a/llvm/include/llvm/Analysis/RuntimeLibcallInfo.h b/llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
index 609568ebc21a8..da17e4bdc749a 100644
--- a/llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
+++ b/llvm/include/llvm/Analysis/RuntimeLibcallInfo.h
@@ -22,18 +22,19 @@ class LLVM_ABI RuntimeLibraryAnalysis
RuntimeLibraryAnalysis() = default;
RuntimeLibraryAnalysis(RTLIB::RuntimeLibcallsInfo &&BaselineInfoImpl)
: LibcallsInfo(std::move(BaselineInfoImpl)) {}
- RuntimeLibraryAnalysis(
+ LLVM_ABI RuntimeLibraryAnalysis(
const Triple &TT,
ExceptionHandling ExceptionModel = ExceptionHandling::None,
FloatABI::ABIType FloatABI = FloatABI::Default,
EABI EABIVersion = EABI::Default, StringRef ABIName = "",
VectorLibrary VecLib = VectorLibrary::NoLibrary);
- RTLIB::RuntimeLibcallsInfo run(const Module &M, ModuleAnalysisManager &);
+ LLVM_ABI RTLIB::RuntimeLibcallsInfo run(const Module &M,
+ ModuleAnalysisManager &);
private:
friend AnalysisInfoMixin<RuntimeLibraryAnalysis>;
- static AnalysisKey Key;
+ LLVM_ABI static AnalysisKey Key;
std::optional<RTLIB::RuntimeLibcallsInfo> LibcallsInfo;
};
diff --git a/llvm/include/llvm/CodeGen/LibcallLoweringInfo.h b/llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
index 3e0137710e8eb..13225c072cf78 100644
--- a/llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
+++ b/llvm/include/llvm/CodeGen/LibcallLoweringInfo.h
@@ -110,7 +110,7 @@ class LibcallLoweringModuleAnalysis
: public AnalysisInfoMixin<LibcallLoweringModuleAnalysis> {
private:
friend AnalysisInfoMixin<LibcallLoweringModuleAnalysis>;
- static AnalysisKey Key;
+ LLVM_ABI static AnalysisKey Key;
LibcallLoweringModuleAnalysisResult LibcallLoweringMap;
diff --git a/llvm/include/llvm/SandboxIR/Constant.h b/llvm/include/llvm/SandboxIR/Constant.h
index 2fe923f6c3866..c9ceba2dabed3 100644
--- a/llvm/include/llvm/SandboxIR/Constant.h
+++ b/llvm/include/llvm/SandboxIR/Constant.h
@@ -1379,7 +1379,7 @@ class ConstantPtrAuth final : public Constant {
/// the only global-initializer user of the ptrauth signed pointer.
LLVM_ABI Constant *getAddrDiscriminator() const;
- Constant *getDeactivationSymbol() const;
+ LLVM_ABI_FOR_TEST Constant *getDeactivationSymbol() const;
/// Whether there is any non-null address discriminator.
bool hasAddressDiscriminator() const {
diff --git a/llvm/include/llvm/Support/Hash.h b/llvm/include/llvm/Support/Hash.h
index bf98f0dcef836..f30a2597a9b30 100644
--- a/llvm/include/llvm/Support/Hash.h
+++ b/llvm/include/llvm/Support/Hash.h
@@ -25,11 +25,12 @@ enum class KCFIHashAlgorithm { xxHash64, FNV1a };
KCFIHashAlgorithm parseKCFIHashAlgorithm(StringRef Name);
/// Convert a KCFI hash algorithm enum to its string representation.
-StringRef stringifyKCFIHashAlgorithm(KCFIHashAlgorithm Algorithm);
+LLVM_ABI StringRef stringifyKCFIHashAlgorithm(KCFIHashAlgorithm Algorithm);
/// Compute KCFI type ID from mangled type name.
/// The algorithm can be xxHash64 or FNV-1a.
-uint32_t getKCFITypeID(StringRef MangledTypeName, KCFIHashAlgorithm Algorithm);
+LLVM_ABI uint32_t getKCFITypeID(StringRef MangledTypeName,
+ KCFIHashAlgorithm Algorithm);
} // end namespace llvm
diff --git a/llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h b/llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
index 2d25ce3245793..3d88df91c2da5 100644
--- a/llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
+++ b/llvm/include/llvm/Transforms/Utils/DebugSSAUpdater.h
@@ -29,6 +29,7 @@
#include "llvm/IR/Instruction.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"
+#include "llvm/Support/Compiler.h"
#include <cstdint>
namespace llvm {
@@ -342,7 +343,7 @@ class DbgValueRangeTable {
DenseMap<DebugVariableAggregate, DbgValueDef> OrigSingleLocVariableValueTable;
public:
- void addVariable(Function *F, DebugVariableAggregate DVA);
+ LLVM_ABI_FOR_TEST void addVariable(Function *F, DebugVariableAggregate DVA);
bool hasVariableEntry(DebugVariableAggregate DVA) const {
return OrigVariableValueRangeTable.contains(DVA) ||
OrigSingleLocVariableValueTable.contains(DVA);
``````````
</details>
https://github.com/llvm/llvm-project/pull/171629
More information about the llvm-commits
mailing list