Skip to content

[llvm] annotate recently added interfaces for DLL export #152179

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Aug 6, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions llvm/include/llvm/Analysis/DXILResource.h
Original file line number Diff line number Diff line change
Expand Up @@ -649,8 +649,8 @@ class DXILResourceBindingInfo {
bool hasOverlappingBinding() const { return HasOverlappingBinding; }
void setHasOverlappingBinding(bool Value) { HasOverlappingBinding = Value; }

LLVM_ABI std::optional<uint32_t>
findAvailableBinding(dxil::ResourceClass RC, uint32_t Space, int32_t Size) {
std::optional<uint32_t> findAvailableBinding(dxil::ResourceClass RC,
uint32_t Space, int32_t Size) {
return Bindings.findAvailableBinding(RC, Space, Size);
}

Expand Down
2 changes: 1 addition & 1 deletion llvm/include/llvm/CodeGen/MachineFunction.h
Original file line number Diff line number Diff line change
Expand Up @@ -523,7 +523,7 @@ class LLVM_ABI MachineFunction {
/// Extracts the numeric type id from the CallBase's callee_type Metadata,
/// and sets CalleeTypeIds. This is used as type id for the indirect call in
/// the call graph section.
CallSiteInfo(const CallBase &CB);
LLVM_ABI CallSiteInfo(const CallBase &CB);
};

struct CalledGlobalInfo {
Expand Down
5 changes: 3 additions & 2 deletions llvm/include/llvm/Frontend/HLSL/HLSLBinding.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@

#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/DXILABI.h"
#include "llvm/Support/ErrorHandling.h"

Expand Down Expand Up @@ -138,7 +139,7 @@ class BindingInfoBuilder {
}
/// Calculate the binding info - \c ReportOverlap will be called once for each
/// overlapping binding.
BindingInfo calculateBindingInfo(
LLVM_ABI BindingInfo calculateBindingInfo(
llvm::function_ref<void(const BindingInfoBuilder &Builder,
const Binding &Overlapping)>
ReportOverlap);
Expand All @@ -153,7 +154,7 @@ class BindingInfoBuilder {

/// For use in the \c ReportOverlap callback of \c calculateBindingInfo -
/// finds a binding that the \c ReportedBinding overlaps with.
const Binding &findOverlapping(const Binding &ReportedBinding) const;
LLVM_ABI const Binding &findOverlapping(const Binding &ReportedBinding) const;
};

} // namespace hlsl
Expand Down
7 changes: 4 additions & 3 deletions llvm/include/llvm/Frontend/HLSL/RootSignatureMetadata.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
#include "llvm/Frontend/HLSL/HLSLRootSignature.h"
#include "llvm/IR/Constants.h"
#include "llvm/MC/DXContainerRootSignature.h"
#include "llvm/Support/Compiler.h"

namespace llvm {
class LLVMContext;
Expand Down Expand Up @@ -49,7 +50,7 @@ class RootSignatureValidationError

class GenericRSMetadataError : public ErrorInfo<GenericRSMetadataError> {
public:
static char ID;
LLVM_ABI static char ID;
StringRef Message;
MDNode *MD;

Expand All @@ -71,7 +72,7 @@ class GenericRSMetadataError : public ErrorInfo<GenericRSMetadataError> {

class InvalidRSMetadataFormat : public ErrorInfo<InvalidRSMetadataFormat> {
public:
static char ID;
LLVM_ABI static char ID;
StringRef ElementName;

InvalidRSMetadataFormat(StringRef ElementName) : ElementName(ElementName) {}
Expand All @@ -87,7 +88,7 @@ class InvalidRSMetadataFormat : public ErrorInfo<InvalidRSMetadataFormat> {

class InvalidRSMetadataValue : public ErrorInfo<InvalidRSMetadataValue> {
public:
static char ID;
LLVM_ABI static char ID;
StringRef ParamName;

InvalidRSMetadataValue(StringRef ParamName) : ParamName(ParamName) {}
Expand Down
7 changes: 5 additions & 2 deletions llvm/include/llvm/Frontend/Offloading/PropertySet.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
//===----------------------------------------------------------------------===//

#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/Compiler.h"
#include "llvm/Support/Error.h"

#include <map>
Expand All @@ -26,8 +27,10 @@ using PropertyValue = std::variant<uint32_t, ByteArray>;
using PropertySet = std::map<std::string, PropertyValue>;
using PropertySetRegistry = std::map<std::string, PropertySet>;

void writePropertiesToJSON(const PropertySetRegistry &P, raw_ostream &O);
Expected<PropertySetRegistry> readPropertiesFromJSON(MemoryBufferRef Buf);
LLVM_ABI void writePropertiesToJSON(const PropertySetRegistry &P,
raw_ostream &O);
LLVM_ABI Expected<PropertySetRegistry>
readPropertiesFromJSON(MemoryBufferRef Buf);

} // namespace offloading
} // namespace llvm
3 changes: 2 additions & 1 deletion llvm/include/llvm/IR/IRBuilder.h
Original file line number Diff line number Diff line change
Expand Up @@ -2614,7 +2614,8 @@ class IRBuilderBase {
return CreateShuffleVector(V, PoisonValue::get(V->getType()), Mask, Name);
}

Value *CreateVectorInterleave(ArrayRef<Value *> Ops, const Twine &Name = "");
LLVM_ABI Value *CreateVectorInterleave(ArrayRef<Value *> Ops,
const Twine &Name = "");

Value *CreateExtractValue(Value *Agg, ArrayRef<unsigned> Idxs,
const Twine &Name = "") {
Expand Down
2 changes: 1 addition & 1 deletion llvm/include/llvm/Object/DXContainer.h
Original file line number Diff line number Diff line change
Expand Up @@ -586,7 +586,7 @@ class DXContainer {
}
};

class DXContainerObjectFile : public ObjectFile {
class LLVM_ABI DXContainerObjectFile : public ObjectFile {
private:
friend class ObjectFile;
DXContainer Container;
Expand Down
2 changes: 1 addition & 1 deletion llvm/include/llvm/Transforms/HipStdPar/HipStdPar.h
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ class HipStdParAllocationInterpositionPass

class HipStdParMathFixupPass : public PassInfoMixin<HipStdParMathFixupPass> {
public:
PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);
LLVM_ABI PreservedAnalyses run(Module &M, ModuleAnalysisManager &MAM);

static bool isRequired() { return true; }
};
Expand Down
3 changes: 2 additions & 1 deletion llvm/include/llvm/Transforms/Utils/SplitModuleByCategory.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
#define LLVM_TRANSFORM_UTILS_SPLIT_MODULE_BY_CATEGORY_H

#include "llvm/ADT/STLFunctionalExtras.h"
#include "llvm/Support/Compiler.h"

#include <memory>
#include <optional>
Expand Down Expand Up @@ -54,7 +55,7 @@ class Function;
///
/// FIXME: For now, the algorithm assumes no recursion in the input Module. This
/// will be addressed in the near future.
void splitModuleTransitiveFromEntryPoints(
LLVM_ABI void splitModuleTransitiveFromEntryPoints(
std::unique_ptr<Module> M,
function_ref<std::optional<int>(const Function &F)> EntryPointCategorizer,
function_ref<void(std::unique_ptr<Module> Part)> Callback);
Expand Down
9 changes: 5 additions & 4 deletions llvm/lib/Transforms/Vectorize/VPlan.h
Original file line number Diff line number Diff line change
Expand Up @@ -1279,7 +1279,7 @@ class VPIRInstruction : public VPRecipeBase {

/// Create a new VPIRPhi for \p \I, if it is a PHINode, otherwise create a
/// VPIRInstruction.
static VPIRInstruction *create(Instruction &I);
LLVM_ABI_FOR_TEST static VPIRInstruction *create(Instruction &I);

VP_CLASSOF_IMPL(VPDef::VPIRInstructionSC)

Expand All @@ -1293,8 +1293,8 @@ class VPIRInstruction : public VPRecipeBase {
void execute(VPTransformState &State) override;

/// Return the cost of this VPIRInstruction.
InstructionCost computeCost(ElementCount VF,
VPCostContext &Ctx) const override;
LLVM_ABI_FOR_TEST InstructionCost
computeCost(ElementCount VF, VPCostContext &Ctx) const override;

Instruction &getInstruction() const { return I; }

Expand Down Expand Up @@ -1332,7 +1332,8 @@ class VPIRInstruction : public VPRecipeBase {
/// cast/dyn_cast/isa and execute() implementation. A single VPValue operand is
/// allowed, and it is used to add a new incoming value for the single
/// predecessor VPBB.
struct VPIRPhi : public VPIRInstruction, public VPPhiAccessors {
struct LLVM_ABI_FOR_TEST VPIRPhi : public VPIRInstruction,
public VPPhiAccessors {
VPIRPhi(PHINode &PN) : VPIRInstruction(PN) {}

static inline bool classof(const VPRecipeBase *U) {
Expand Down