forked from OSchip/llvm-project
[CMake] Disable -fno-semantic-interposition for GCC<10.3 on SystemZ
`-fno-semantic-interposition` was added for GCC in D102453, but some MLIR tests on SystemZ failed with GCC<10.3 due to a bug. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D105453
This commit is contained in:
parent
55bd12d4b7
commit
62cc3cdda6
|
@ -313,13 +313,15 @@ if( LLVM_ENABLE_PIC )
|
|||
add_flag_or_print_warning("-fPIC" FPIC)
|
||||
# Enable interprocedural optimizations for non-inline functions which would
|
||||
# otherwise be disabled due to GCC -fPIC's default.
|
||||
# Note: GCC<10.3 has a bug on SystemZ.
|
||||
#
|
||||
# Note: Clang allows IPO for -fPIC so this optimization is less effective.
|
||||
# Older Clang may support -fno-semantic-interposition but it used local
|
||||
# aliases to optimize global variables, which is incompatible with copy
|
||||
# relocations due to -fno-pic.
|
||||
if (CMAKE_COMPILER_IS_GNUCXX OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND
|
||||
CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13))
|
||||
if ((CMAKE_COMPILER_IS_GNUCXX AND
|
||||
NOT (LLVM_NATIVE_ARCH STREQUAL "SystemZ" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.3))
|
||||
OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND CMAKE_CXX_COMPILER_VERSION GREATER_EQUAL 13))
|
||||
add_flag_if_supported("-fno-semantic-interposition" FNO_SEMANTIC_INTERPOSITION)
|
||||
endif()
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue