Skip to content

Commit 2443f8b

Browse files
author
Spencer Bryngelson
committed
fix: extend CCE 19.0.0 -Oipa0 workaround to m_mpi_common.fpp
m_mpi_common.fpp triggers the same bring_routine_resident SIGSEGV in optcg during ipa_processing as m_phase_change.fpp. Adds -Oipa0 for the pre_process build (where CI consistently fails) and for simulation as a precaution, since pre_process fails first and blocks visibility of whether simulation also crashes.
1 parent b3fcc2a commit 2443f8b

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

CMakeLists.txt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -734,6 +734,12 @@ if (MFC_PRE_PROCESS)
734734
MPI)
735735
if(CMAKE_Fortran_COMPILER_ID STREQUAL "Cray")
736736
target_compile_options(pre_process PRIVATE -hfp0)
737+
# CCE 19.0.0 IPA workaround: m_mpi_common triggers bring_routine_resident
738+
# SIGSEGV in optcg during ipa_processing. See simulation block below for details.
739+
set_source_files_properties(
740+
"${CMAKE_BINARY_DIR}/fypp/pre_process/m_mpi_common.fpp.f90"
741+
PROPERTIES COMPILE_OPTIONS "-Oipa0"
742+
)
737743
endif()
738744
endif()
739745

@@ -744,14 +750,15 @@ if (MFC_SIMULATION)
744750
# CCE 19.0.0 IPA workaround: disable interprocedural analysis for files
745751
# that trigger compiler crashes during IPA:
746752
# m_bubbles_EL: castIsValid assertion (InstCombine/foldIntegerTypedPHI)
747-
# m_phase_change: bring_routine_resident SIGSEGV
753+
# m_phase_change, m_mpi_common: bring_routine_resident SIGSEGV
748754
# Not applied to Cray+OpenMP because thermochem uses !DIR$ INLINEALWAYS,
749755
# which requires IPA to inline device calls. On OpenACC the pyrometheus
750756
# patch emits !$acc routine seq instead (no IPA needed). See PR #1286.
751757
if (CMAKE_Fortran_COMPILER_ID STREQUAL "Cray" AND NOT MFC_OpenMP)
752758
set_source_files_properties(
753759
"${CMAKE_BINARY_DIR}/fypp/simulation/m_bubbles_EL.fpp.f90"
754760
"${CMAKE_BINARY_DIR}/fypp/simulation/m_phase_change.fpp.f90"
761+
"${CMAKE_BINARY_DIR}/fypp/simulation/m_mpi_common.fpp.f90"
755762
PROPERTIES COMPILE_OPTIONS "-Oipa0"
756763
)
757764
endif()

0 commit comments

Comments
 (0)