From fc2850fc7657c2ac8bff48818e797929f46168fc Mon Sep 17 00:00:00 2001 From: Alexander Richardson Date: Mon, 28 Jul 2025 09:50:51 -0700 Subject: [PATCH] [IR2VecTest] Avoid magic constants Instead make the members of Vocabulary public. This was causing test failures with https://github.com/llvm/llvm-project/pull/139357. Reviewed By: svkeerthy, boomanaiden154 Pull Request: https://github.com/llvm/llvm-project/pull/150878 --- llvm/include/llvm/Analysis/IR2Vec.h | 2 +- llvm/unittests/Analysis/IR2VecTest.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/llvm/include/llvm/Analysis/IR2Vec.h b/llvm/include/llvm/Analysis/IR2Vec.h index d87457cac764..498c19be6a75 100644 --- a/llvm/include/llvm/Analysis/IR2Vec.h +++ b/llvm/include/llvm/Analysis/IR2Vec.h @@ -153,6 +153,7 @@ class Vocabulary { static_cast(OperandKind::MaxOperandKind), "OperandKindNames array size must match MaxOperandKind"); +public: /// Vocabulary layout constants #define LAST_OTHER_INST(NUM) static constexpr unsigned MaxOpcodes = NUM; #include "llvm/IR/Instruction.def" @@ -162,7 +163,6 @@ class Vocabulary { static constexpr unsigned MaxOperandKinds = static_cast(OperandKind::MaxOperandKind); -public: Vocabulary() = default; Vocabulary(VocabVector &&Vocab); diff --git a/llvm/unittests/Analysis/IR2VecTest.cpp b/llvm/unittests/Analysis/IR2VecTest.cpp index 7c9a5464bfe1..e288585033c5 100644 --- a/llvm/unittests/Analysis/IR2VecTest.cpp +++ b/llvm/unittests/Analysis/IR2VecTest.cpp @@ -364,9 +364,9 @@ TEST_F(IR2VecTestFixture, GetFunctionVector) { EXPECT_TRUE(FuncVec.approximatelyEquals(Embedding(2, 44.4))); } -static constexpr unsigned MaxOpcodes = 67; -static constexpr unsigned MaxTypeIDs = 21; -static constexpr unsigned MaxOperands = 4; +static constexpr unsigned MaxOpcodes = Vocabulary::MaxOpcodes; +static constexpr unsigned MaxTypeIDs = Vocabulary::MaxTypeIDs; +static constexpr unsigned MaxOperands = Vocabulary::MaxOperandKinds; TEST(IR2VecVocabularyTest, DummyVocabTest) { for (unsigned Dim = 1; Dim <= 10; ++Dim) {