[clang] 3f0dfab - Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def" (#109161)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Sep 18 08:34:12 PDT 2024
Author: Aaron Ballman
Date: 2024-09-18T11:34:09-04:00
New Revision: 3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
URL: https://github.com/llvm/llvm-project/commit/3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701
DIFF: https://github.com/llvm/llvm-project/commit/3f0dfab54184dcf9b00f37a2b8ac4f1f6ab14701.diff
LOG: Revert "[clang] Increase VecLib bitfield size to 4 bits in CodeGenOptions.def" (#109161)
Reverts llvm/llvm-project#108804
Bots are failing:
https://lab.llvm.org/buildbot/#/builders/140/builds/6859
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 cfe-commits
mailing list