62e509c0a2
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. |
||
---|---|---|
.. | ||
testing | ||
.gitattributes | ||
ArrayPortalBasic.h | ||
ArrayPortalDummy.h | ||
ArrayPortalHelpers.h | ||
ArrayPortalUniformPointCoordinates.h | ||
ArrayPortalValueReference.h | ||
ArrayPortalVirtual.h | ||
Assume.h | ||
CMakeLists.txt | ||
Configure.h.in | ||
ConfigureFor32.h | ||
ConfigureFor64.h | ||
ConnectivityStructuredInternals.h | ||
DecayHelpers.h | ||
ExportMacros.h | ||
FunctionInterface.h | ||
FunctionInterfaceDetailPost.h | ||
FunctionInterfaceDetailPost.h.in | ||
FunctionInterfaceDetailPre.h | ||
FunctionInterfaceDetailPre.h.in | ||
IndexTag.h | ||
IndicesExtrude.h | ||
Instantiations.h | ||
Invocation.h | ||
Meta.h | ||
Unreachable.h | ||
VariantImpl.h | ||
VariantImplDetail.h | ||
VariantImplDetail.h.in | ||
VecOperators.h | ||
VecOperators.h.in | ||
Windows.h |