1
0
Fork 0

Enable strict aliasing for release builds

This commit is contained in:
krcroft 2020-04-11 13:52:31 -07:00 committed by Patryk Obara
parent e0afec7743
commit 9d3f982f52
3 changed files with 6 additions and 3 deletions

View file

@ -101,7 +101,10 @@ jobs:
CXX: ccache g++
LD: gcc
RANLIB: gcc-ranlib
FLAGS: -O3 -flto -ffunction-sections -fdata-sections -DNDEBUG -pipe
FLAGS: >-
-O3 -fstrict-aliasing -fno-signed-zeros -fno-trapping-math
-fassociative-math -mfpmath=sse -msse4.2 -flto -ffunction-sections
-fdata-sections -DNDEBUG -pipe
LINKFLAGS: -Wl,--as-needed
run: |
set -x

View file

@ -58,7 +58,7 @@ jobs:
env:
CC: ccache clang
CXX: ccache clang++
FLAGS: -O3 -DNDEBUG -pipe -march=nehalem
FLAGS: -DNDEBUG -O3 -fno-math-errno -fstrict-aliasing -march=nehalem -flto=thin -pipe
steps:
- uses: actions/checkout@v1
- name: Install C++ compiler and libraries

View file

@ -15,7 +15,7 @@ cflags_debug+=("${cflags[@]}" -g -fno-omit-frame-pointer)
# Note: associative-math is needed for vectorization of floating point
# calculations, which also relies on no-signed-zeros and
# no-trapping-math.
cflags_release+=("${cflags[@]}" -DNDEBUG -O3 -fno-strict-aliasing
cflags_release+=("${cflags[@]}" -DNDEBUG -O3 -fstrict-aliasing
-fno-signed-zeros -fno-trapping-math -fassociative-math
-frename-registers -ffunction-sections -fdata-sections)
cflags_pgotrain+=("${cflags_debug[@]}" -pg -ftree-vectorize)