[clang] Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def" (PR #109161)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 18 08:34:29 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: Aaron Ballman (AaronBallman)
<details>
<summary>Changes</summary>
Reverts llvm/llvm-project#<!-- -->108804
---
Full diff: https://github.com/llvm/llvm-project/pull/109161.diff
4 Files Affected:
- (modified) clang/include/clang/Basic/CodeGenOptions.def (+2-12)
- (removed) clang/unittests/CodeGen/AllLibrariesFit.cpp (-10)
- (removed) clang/unittests/CodeGen/EncodingDecodingTest.cpp (-17)
- (removed) clang/unittests/CodeGen/SimulatedOverflowTest.cpp (-26)
``````````diff
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!";
-}
``````````
</details>
https://github.com/llvm/llvm-project/pull/109161
More information about the cfe-commits
mailing list