[llvm-branch-commits] [clang] 4cabae1 - Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def…"

via llvm-branch-commits llvm-branch-commits at lists.llvm.org
Wed Sep 18 08:33:47 PDT 2024


Author: Aaron Ballman
Date: 2024-09-18T11:33:44-04:00
New Revision: 4cabae1e59f75c9be5a1156cc785c93ece49c531

URL: https://github.com/llvm/llvm-project/commit/4cabae1e59f75c9be5a1156cc785c93ece49c531
DIFF: https://github.com/llvm/llvm-project/commit/4cabae1e59f75c9be5a1156cc785c93ece49c531.diff

LOG: Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def…"

This reverts commit 475ceca859233b387c22f13ecef581158ef36346.

Added: 
    

Modified: 
    clang/include/clang/Basic/CodeGenOptions.def

Removed: 
    clang/unittests/CodeGen/AllLibrariesFit.cpp
    clang/unittests/CodeGen/EncodingDecodingTest.cpp
    clang/unittests/CodeGen/SimulatedOverflowTest.cpp


################################################################################
diff  --git a/clang/include/clang/Basic/CodeGenOptions.def b/clang/include/clang/Basic/CodeGenOptions.def
index b78ae61e6509ea..b600198998d85b 100644
--- a/clang/include/clang/Basic/CodeGenOptions.def
+++ b/clang/include/clang/Basic/CodeGenOptions.def
@@ -375,18 +375,8 @@ ENUM_CODEGENOPT(Inlining, InliningMethod, 2, NormalInlining)
 /// The maximum stack size a function can have to be considered for inlining.
 VALUE_CODEGENOPT(InlineMaxStackSize, 32, UINT_MAX)
 
-// Define the number of bits required for the VecLib enum
-#define VECLIB_BIT_COUNT (llvm::countPopulation(llvm::driver::VectorLibrary::MaxLibrary))
-
-// Ensure the VecLib bitfield has enough space for future vector libraries.
-// The number of bits is determined automatically based on the number of enum values.
-static_assert(static_cast<size_t>(llvm::driver::VectorLibrary::MaxLibrary) <= (1 << VECLIB_BIT_COUNT),
-              "VecLib bitfield size is too small to accommodate all vector libraries.");
-              
-// VecLib definition in CodeGenOptions.def
-ENUM_CODEGENOPT(VecLib, llvm::driver::VectorLibrary, VECLIB_BIT_COUNT, llvm::driver::VectorLibrary::NoLibrary)
-
-#undef VECLIB_BIT_COUNT
+// Vector functions library to use.
+ENUM_CODEGENOPT(VecLib, llvm::driver::VectorLibrary, 3, llvm::driver::VectorLibrary::NoLibrary)
 
 /// The default TLS model to use.
 ENUM_CODEGENOPT(DefaultTLSModel, TLSModel, 2, GeneralDynamicTLSModel)

diff  --git a/clang/unittests/CodeGen/AllLibrariesFit.cpp b/clang/unittests/CodeGen/AllLibrariesFit.cpp
deleted file mode 100644
index dfe63b557729ee..00000000000000
--- a/clang/unittests/CodeGen/AllLibrariesFit.cpp
+++ /dev/null
@@ -1,10 +0,0 @@
-#include "clang/Basic/CodeGenOptions.h"
-#include "llvm/Driver/Options.h"
-#include "gtest/gtest.h"
-
-TEST(VecLibBitfieldTest, AllLibrariesFit) {
-  // We expect that all vector libraries fit in the bitfield size
-  EXPECT_LE(static_cast<size_t>(llvm::driver::VectorLibrary::MaxLibrary),
-            (1 << VECLIB_BIT_COUNT))
-      << "VecLib bitfield size is too small!";
- }

diff  --git a/clang/unittests/CodeGen/EncodingDecodingTest.cpp b/clang/unittests/CodeGen/EncodingDecodingTest.cpp
deleted file mode 100644
index 67c89ef07c428b..00000000000000
--- a/clang/unittests/CodeGen/EncodingDecodingTest.cpp
+++ /dev/null
@@ -1,17 +0,0 @@
-TEST(VecLibBitfieldTest, EncodingDecodingTest) {
-  clang::CodeGenOptions Opts;
-
-  // Test encoding and decoding for each vector library
-  for (int i = static_cast<int>(llvm::driver::VectorLibrary::Accelerate);
-       i <= static_cast<int>(llvm::driver::VectorLibrary::MaxLibrary); ++i) {
-
-    Opts.VecLib = static_cast<llvm::driver::VectorLibrary>(i);
-
-    // Encode and then decode
-    llvm::driver::VectorLibrary decodedValue =
-        static_cast<llvm::driver::VectorLibrary>(Opts.VecLib);
-
-    EXPECT_EQ(decodedValue, Opts.VecLib)
-        << "Encoding/Decoding failed for vector library " << i;
-  }
-}

diff  --git a/clang/unittests/CodeGen/SimulatedOverflowTest.cpp b/clang/unittests/CodeGen/SimulatedOverflowTest.cpp
deleted file mode 100644
index acfeaf7498b6d0..00000000000000
--- a/clang/unittests/CodeGen/SimulatedOverflowTest.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-// Simulate the addition of a new library without increasing the bitfield size
-enum class SimulatedVectorLibrary {
-  Accelerate = 0,
-  LIBMVEC,
-  MASSV,
-  SVML,
-  SLEEF,
-  Darwin_libsystem_m,
-  ArmPL,
-  AMDLIBM,
-  NoLibrary,
-  // Simulate new addition
-  NewLibrary,
-  MaxLibrary
-};
-
-#define SIMULATED_VECLIB_BIT_COUNT                                             \
-  4 // The current bitfield size (should be 4 for 9 options)
-
-TEST(VecLibBitfieldTest, SimulatedOverflowTest) {
-  // Simulate the addition of a new library and check if the bitfield size is
-  // sufficient
-  EXPECT_LE(static_cast<size_t>(SimulatedVectorLibrary::MaxLibrary),
-            (1 << SIMULATED_VECLIB_BIT_COUNT))
-      << "Simulated VecLib bitfield size overflow!";
-}


        


More information about the llvm-branch-commits mailing list