From 4b5645728f25d05c9cb3c38e933997b165a4d927 Mon Sep 17 00:00:00 2001 From: christos Date: Sun, 22 May 2022 05:23:55 +0200 Subject: [PATCH 1/2] AtlasFieldCache flatten also in opt --- MagneticField/MagFieldElements/src/AtlasFieldCache.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx b/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx index 0e8179dfcc0..8d9582fedc2 100644 --- a/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx +++ b/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx @@ -26,7 +26,7 @@ namespace { constexpr double defaultB = 0.1 * Gaudi::Units::gauss; } -#if defined(FLATTEN) && defined(__GNUC__) +#if defined(__GNUC__) // We compile this package with optimization, even in debug builds; otherwise, // the heavy use of Eigen makes it too slow. However, from here we may call // to out-of-line Eigen code that is linked from other DSOs; in that case, -- GitLab From 06cec41f05f983154f81aeb9933cf605dee255d4 Mon Sep 17 00:00:00 2001 From: christos Date: Sun, 22 May 2022 20:59:12 +0200 Subject: [PATCH 2/2] Move to C++11 attribute and rm now not used definition in CMakeList --- MagneticField/MagFieldElements/CMakeLists.txt | 3 +-- MagneticField/MagFieldElements/src/AtlasFieldCache.cxx | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/MagneticField/MagFieldElements/CMakeLists.txt b/MagneticField/MagFieldElements/CMakeLists.txt index 9095bd3a90a..93d930c8287 100644 --- a/MagneticField/MagFieldElements/CMakeLists.txt +++ b/MagneticField/MagFieldElements/CMakeLists.txt @@ -28,6 +28,5 @@ if ( "${CMAKE_BUILD_TYPE}" STREQUAL "Debug" ) set_source_files_properties( ${CMAKE_CURRENT_SOURCE_DIR}/src/AtlasFieldCache.cxx PROPERTIES - COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}" - COMPILE_DEFINITIONS "FLATTEN" ) + COMPILE_FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") endif() diff --git a/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx b/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx index 8d9582fedc2..8e722a5f058 100644 --- a/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx +++ b/MagneticField/MagFieldElements/src/AtlasFieldCache.cxx @@ -32,7 +32,7 @@ constexpr double defaultB = 0.1 * Gaudi::Units::gauss; // to out-of-line Eigen code that is linked from other DSOs; in that case, // it would not be optimized. Avoid this by forcing all Eigen code // to be inlined here if possible. -__attribute__((flatten)) +[[gnu::flatten]] #endif void MagField::AtlasFieldCache::getField(const double* ATH_RESTRICT xyz, -- GitLab