vtk-m/vtkm/internal
Kenneth Moreland 62e509c0a2 Turn off inlining of Variant::CastAndCall for HIP
The current implementation of the AMD HIP compiler adds default compiler
flags to attempt to inline everything possible. This is wrecking havoc
with the `Variant::CastAndCall` function, whose implementation has one
or more large switch statements with each case calling a different
potentially inline function. In some parts of the VTK-m code, this is
dragging the compilation on for days as it tries to resolve a
`Variant::CastAndCall` within a `Variant::CastAndCall`. This will
probably need to be addressed in the compiler, but meanwhile we will
force the inlining to be turned off for the function called by
`Variant::CastAndCall`. It is unclear if this will result in some extra
runtime overhead, but the change is worth it to get reasonable compile
times.

Thanks to Nick Curtis for tracking this down and providing the solution.
2022-03-28 14:14:06 -06:00
..
testing Make separate exec and cont versions of Variant 2020-11-09 12:48:10 -07:00
.gitattributes clang-format: apply to the entire tree 2017-05-25 07:51:37 -04:00
ArrayPortalBasic.h Replace basic ArrayHandle implementation to use Buffers 2020-06-25 14:02:26 -06:00
ArrayPortalDummy.h Add standard support for read-only storage 2020-12-10 13:39:28 -07:00
ArrayPortalHelpers.h Properly handle Get(Id3) in ArrayPortalCheck 2020-03-18 10:51:20 -06:00
ArrayPortalUniformPointCoordinates.h Update ArrayHandleImplicit to new array style with Buffer 2020-10-21 08:36:29 -06:00
ArrayPortalValueReference.h Support Vec operators on ArrayPortalValueReference 2021-01-13 09:19:33 -07:00
ArrayPortalVirtual.h Completely deprecate virtual methods 2021-04-28 07:28:32 -06:00
Assume.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
CMakeLists.txt Add generalized instantiation 2022-03-23 06:33:36 -06:00
Configure.h.in Fix build with MinGW 2022-01-19 16:41:42 +00:00
ConfigureFor32.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ConfigureFor64.h conslidate the license statement 2019-04-17 10:57:13 -06:00
ConnectivityStructuredInternals.h Refactor topology mappings to clarify meaning. 2019-08-06 11:27:26 -04:00
DecayHelpers.h Make Tuple class 2020-03-16 17:12:16 -06:00
ExportMacros.h CI: Remove warnings of CUDA & use attributes 2021-08-12 19:20:02 -04:00
FunctionInterface.h Suppress bad deprecation warnings in MSVC 2020-07-14 16:25:04 -06:00
FunctionInterfaceDetailPost.h Simplify FunctionInterface 2019-12-02 09:33:35 -05:00
FunctionInterfaceDetailPost.h.in Simplify FunctionInterface 2019-12-02 09:33:35 -05:00
FunctionInterfaceDetailPre.h Remove brigand from FunctionInterface 2022-03-08 07:25:08 -07:00
FunctionInterfaceDetailPre.h.in Remove brigand from FunctionInterface 2022-03-08 07:25:08 -07:00
IndexTag.h conslidate the license statement 2019-04-17 10:57:13 -06:00
IndicesExtrude.h Update VTK-m code to use new Vec aliases 2019-07-31 12:55:40 -06:00
Instantiations.h Update vtkm_add_instantiations documentation 2022-03-23 06:34:05 -06:00
Invocation.h Correct warnings found with CUDA 10.2 + gcc 4.8.5 2020-02-26 15:16:35 -05:00
Meta.h Enable predicate parameter to ListAll and ListAny 2022-03-08 09:26:35 -07:00
Unreachable.h clang-format: reformat the repository with clang-format-9 2020-08-24 14:01:08 -04:00
VariantImpl.h Modify Variant CastAndCall to have fewer cases in its switch 2022-03-28 14:14:06 -06:00
VariantImplDetail.h Turn off inlining of Variant::CastAndCall for HIP 2022-03-28 14:14:06 -06:00
VariantImplDetail.h.in Turn off inlining of Variant::CastAndCall for HIP 2022-03-28 14:14:06 -06:00
VecOperators.h vtkm::Vec: added unrolled arithmetic operators overload 2020-09-03 16:10:15 -04:00
VecOperators.h.in vtkm::Vec: added unrolled arithmetic operators overload 2020-09-03 16:10:15 -04:00
Windows.h conslidate the license statement 2019-04-17 10:57:13 -06:00