[llvm] b6e563e - [VPlan] Add LLVM_ABI_FOR_TEST to classes/structs used by tests (NFC). (#202400)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jun 8 11:55:27 PDT 2026
Author: Florian Hahn
Date: 2026-06-08T18:55:22Z
New Revision: b6e563e628cf1a95a153b8632f0c4fbd4cd56760
URL: https://github.com/llvm/llvm-project/commit/b6e563e628cf1a95a153b8632f0c4fbd4cd56760
DIFF: https://github.com/llvm/llvm-project/commit/b6e563e628cf1a95a153b8632f0c4fbd4cd56760.diff
LOG: [VPlan] Add LLVM_ABI_FOR_TEST to classes/structs used by tests (NFC). (#202400)
Add LLVM_ABI_FOR_TEST to classes that are used in unittests, either
directly or by one of their subclasses.
Should hopefully fix visability issue in
https://lab.llvm.org/buildbot/#/builders/160/builds/39088
Added:
Modified:
llvm/lib/Transforms/Vectorize/VPlan.h
llvm/lib/Transforms/Vectorize/VPlanValue.h
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/VPlan.h b/llvm/lib/Transforms/Vectorize/VPlan.h
index db6280912a16a..92f2c51640a5c 100644
--- a/llvm/lib/Transforms/Vectorize/VPlan.h
+++ b/llvm/lib/Transforms/Vectorize/VPlan.h
@@ -605,7 +605,8 @@ LLVM_ABI Type *computeScalarTypeForInstruction(unsigned Opcode,
/// VPSingleDefRecipe is a base class for recipes that model a sequence of one
/// or more output IR that define a single result VPValue. Note that
/// VPSingleDefRecipe must inherit from VPRecipeBase before VPSingleDefValue.
-class VPSingleDefRecipe : public VPRecipeBase, public VPSingleDefValue {
+class LLVM_ABI_FOR_TEST VPSingleDefRecipe : public VPRecipeBase,
+ public VPSingleDefValue {
public:
VPSingleDefRecipe(const unsigned char SC, ArrayRef<VPValue *> Operands,
DebugLoc DL = DebugLoc::getUnknown())
@@ -1167,7 +1168,7 @@ struct VPRecipeWithIRFlags : public VPSingleDefRecipe, public VPIRFlags {
/// Helper to manage IR metadata for recipes. It filters out metadata that
/// cannot be propagated.
-class VPIRMetadata {
+class LLVM_ABI_FOR_TEST VPIRMetadata {
SmallVector<std::pair<unsigned, MDNode *>> Metadata;
public:
@@ -3862,8 +3863,9 @@ struct LLVM_ABI_FOR_TEST VPWidenLoadRecipe final : public VPSingleDefRecipe,
/// A recipe for widening load operations with vector-predication intrinsics,
/// using the address to load from, the explicit vector length and an optional
/// mask.
-struct VPWidenLoadEVLRecipe final : public VPSingleDefRecipe,
- public VPWidenMemoryRecipe {
+struct LLVM_ABI_FOR_TEST VPWidenLoadEVLRecipe final
+ : public VPSingleDefRecipe,
+ public VPWidenMemoryRecipe {
VPWidenLoadEVLRecipe(VPWidenLoadRecipe &L, VPValue *Addr, VPValue &EVL,
VPValue *Mask)
: VPSingleDefRecipe(VPRecipeBase::VPWidenLoadEVLSC, {Addr, &EVL},
@@ -3964,8 +3966,9 @@ struct LLVM_ABI_FOR_TEST VPWidenStoreRecipe final : public VPRecipeBase,
/// A recipe for widening store operations with vector-predication intrinsics,
/// using the value to store, the address to store to, the explicit vector
/// length and an optional mask.
-struct VPWidenStoreEVLRecipe final : public VPRecipeBase,
- public VPWidenMemoryRecipe {
+struct LLVM_ABI_FOR_TEST VPWidenStoreEVLRecipe final
+ : public VPRecipeBase,
+ public VPWidenMemoryRecipe {
VPWidenStoreEVLRecipe(VPWidenStoreRecipe &S, VPValue *Addr,
VPValue *StoredVal, VPValue &EVL, VPValue *Mask)
: VPRecipeBase(VPRecipeBase::VPWidenStoreEVLSC, {Addr, StoredVal, &EVL},
diff --git a/llvm/lib/Transforms/Vectorize/VPlanValue.h b/llvm/lib/Transforms/Vectorize/VPlanValue.h
index 61c68d4577269..8356bcb08634f 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanValue.h
+++ b/llvm/lib/Transforms/Vectorize/VPlanValue.h
@@ -381,7 +381,7 @@ class VPMultiDefValue : public VPRecipeValue {
/// This class augments VPValue with operands which provide the inverse def-use
/// edges from VPValue's users to their defs.
-class VPUser {
+class LLVM_ABI_FOR_TEST VPUser {
/// Grant access to removeOperand for VPPhiAccessors, the only supported user.
friend class VPPhiAccessors;
/// Grant access to addOperand for VPWidenMemoryRecipe.
More information about the llvm-commits
mailing list