Skip to content

Commit b13f384

Browse files
committed
Revert "Avoid function-local static variables. (#1)"
This reverts commit fadddd6, reversing changes made to e5a8b02.
1 parent fadddd6 commit b13f384

File tree

1 file changed

+7
-22
lines changed

1 file changed

+7
-22
lines changed

Eigen/src/Core/products/GeneralBlockPanelKernel.h

Lines changed: 7 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -90,21 +90,6 @@ struct CacheSizes {
9090
std::ptrdiff_t m_l3;
9191
};
9292

93-
// In C++17 this could be an inline variable, see for example
94-
// https://stackoverflow.com/questions/38043442/how-do-inline-variables-work
95-
template <typename>
96-
struct CacheSizeGlobalHelper {
97-
static CacheSizes s_cacheSizes;
98-
};
99-
#ifdef _OPENMP
100-
#pragma omp declare target
101-
#endif
102-
template <typename T>
103-
CacheSizes CacheSizeGlobalHelper<T>::s_cacheSizes;
104-
#ifdef _OPENMP
105-
#pragma omp end declare target
106-
#endif
107-
10893
/** \internal */
10994
EIGEN_DEVICE_FUNC
11095
inline void manage_caching_sizes(Action action, std::ptrdiff_t* l1, std::ptrdiff_t* l2, std::ptrdiff_t* l3)
@@ -133,22 +118,22 @@ inline void manage_caching_sizes(Action action, std::ptrdiff_t* l1, std::ptrdiff
133118
eigen_internal_assert(false);
134119
}
135120
#else // EIGEN_CUDA_ARCH
121+
static CacheSizes m_cacheSizes;
136122

137-
auto& cacheSizes = CacheSizeGlobalHelper<void>::s_cacheSizes;
138123
if(action==SetAction)
139124
{
140125
// set the cpu cache size and cache all block sizes from a global cache size in byte
141126
eigen_internal_assert(l1!=0 && l2!=0);
142-
cacheSizes.m_l1 = *l1;
143-
cacheSizes.m_l2 = *l2;
144-
cacheSizes.m_l3 = *l3;
127+
m_cacheSizes.m_l1 = *l1;
128+
m_cacheSizes.m_l2 = *l2;
129+
m_cacheSizes.m_l3 = *l3;
145130
}
146131
else if(action==GetAction)
147132
{
148133
eigen_internal_assert(l1!=0 && l2!=0);
149-
*l1 = cacheSizes.m_l1;
150-
*l2 = cacheSizes.m_l2;
151-
*l3 = cacheSizes.m_l3;
134+
*l1 = m_cacheSizes.m_l1;
135+
*l2 = m_cacheSizes.m_l2;
136+
*l3 = m_cacheSizes.m_l3;
152137
}
153138
else
154139
{

0 commit comments

Comments
 (0)