Merge pull request #2665 from martin-frbg/flang-fixes-2a

Fix spelling of flang option -Mrecursive, add -Kieee and workaround for AOCC optimizer bug
This commit is contained in:
Martin Kroeker 2020-06-14 21:56:08 +02:00 committed by GitHub
commit efc53b6e7e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 16 deletions

View File

@ -783,7 +783,15 @@ endif
ifeq ($(F_COMPILER), FLANG) ifeq ($(F_COMPILER), FLANG)
CCOMMON_OPT += -DF_INTERFACE_FLANG CCOMMON_OPT += -DF_INTERFACE_FLANG
FCOMMON_OPT += -frecursive FCOMMON_OPT += -Mrecursive -Kieee
ifeq ($(OSNAME), Linux)
ifeq ($(ARCH), x86_64)
FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`)
ifeq ($(FLANG_VENDOR),AOCC)
FCOMMON_OPT += -fno-unroll-loops
endif
endif
endif
ifdef BINARY64 ifdef BINARY64
ifdef INTERFACE64 ifdef INTERFACE64
ifneq ($(INTERFACE64), 0) ifneq ($(INTERFACE64), 0)
@ -797,11 +805,6 @@ endif
ifeq ($(USE_OPENMP), 1) ifeq ($(USE_OPENMP), 1)
FCOMMON_OPT += -fopenmp FCOMMON_OPT += -fopenmp
endif endif
#ifeq ($(OSNAME), Linux)
#ifeq ($(ARCH), x86_64)
#FLANG_VENDOR := $(shell expr `$(FC) --version|cut -f 1 -d "."|head -1`)
#endif
#endif
endif endif
ifeq ($(F_COMPILER), G77) ifeq ($(F_COMPILER), G77)
@ -1276,12 +1279,7 @@ endif
override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) override CFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR)
override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF) override PFLAGS += $(COMMON_OPT) $(CCOMMON_OPT) -I$(TOPDIR) -DPROFILE $(COMMON_PROF)
#ifeq ($(FLANG_VENDOR),AOCC)
ifeq ($(F_COMPILER),FLANG)
override FFLAGS += $(filter-out -O2 -O3,$(COMMON_OPT)) -O1 $(FCOMMON_OPT)
else
override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT) override FFLAGS += $(COMMON_OPT) $(FCOMMON_OPT)
endif
override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF) override FPFLAGS += $(FCOMMON_OPT) $(COMMON_PROF)
#MAKEOVERRIDES = #MAKEOVERRIDES =

View File

@ -16,7 +16,7 @@ if (${F_COMPILER} STREQUAL "FLANG")
if (USE_OPENMP) if (USE_OPENMP)
set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp") set(FCOMMON_OPT "${FCOMMON_OPT} -fopenmp")
endif () endif ()
set(FCOMMON_OPT "${FCOMMON_OPT} -frecursive") set(FCOMMON_OPT "${FCOMMON_OPT} -Mrecursive -Kieee")
endif () endif ()
if (${F_COMPILER} STREQUAL "G77") if (${F_COMPILER} STREQUAL "G77")

View File

@ -419,10 +419,9 @@ endif ()
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release") if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
if ("${F_COMPILER}" STREQUAL "FLANG") if ("${F_COMPILER}" STREQUAL "FLANG")
set(FILTER_FLAGS "-O2;-O3") if (${CMAKE_Fortran_COMPILER_VERSION} VERSION_LESS_EQUAL 3)
foreach (FILTER_FLAG ${FILTER_FLAGS}) set(CMAKE_Fortran_FLAGS_RELEASE "${CMAKE_Fortran_FLAGS_RELEASE} -fno-unroll-loops")
string(REPLACE ${FILTER_FLAG} "-O1" CMAKE_Fortran_FLAGS_RELEASE ${CMAKE_Fortran_FLAGS_RELEASE}) endif ()
endforeach ()
endif () endif ()
endif () endif ()