Commit Graph

31 Commits

Author SHA1 Message Date
f269ef3f4f cxx: only set GLIBCXX_DEBUG if using libstdc++
Some libraries detect the debug mode of the stdlib and try to integrate
with the system headers (eg, range-v3) which obviously doesn't work well
if we're using an alternative stdlib like clang's libc++.
2024-05-14 09:04:42 +10:00
3b696fffb4 optimisation: try to set -flto=auto where available
This removes a warning from GCC about serialisation of LTO compilation
jobs.

Though it shouldn't really be using the 'auto' value as it is liable to
flood the system with jobs.
2022-08-23 13:36:01 +10:00
f3994915e3 optimisation: add RUNTIME_DEBUGGING option 2022-08-18 13:13:02 +10:00
54f0855312 Use CMAKE_CURRENT_LIST_DIR for local includes to simplify usage
This means that we no longer need to modify the module path for CMake
before including the root script.
2022-06-15 10:46:52 +10:00
39d0ee8173 optimisation: enable SSE3 and AVX by default 2020-11-03 16:01:20 +10:00
209adacf5a optimisation: disable LTO partitioning on GCC
This dramatically decreases link times.
2020-10-21 06:08:20 +10:00
93d09dc0dc optimisation: try to enable multi-threaded LTO 2020-10-19 07:46:42 +10:00
b695b56ead optimisation: re-enable -fipa-pta by default
It appears to work alright for the core libraries as of GCC-8.2.0
2019-02-22 12:41:41 +11:00
68d37542d9 optimisation: downgrade unknown architecture to a warning 2019-02-02 17:02:17 +11:00
b4db7136eb optimisation: add lto odr-type-merging and partition=none 2019-01-16 14:33:13 +11:00
fc58c76599 optimisation: disable -fipa-pta
GCC encounters an ICE with this option in some projects (eg, edict)
2018-12-10 15:08:14 +11:00
16611ec091 optimisation: group instruction sets by enabled status 2018-09-14 13:00:37 +10:00
99c1ae6afd optimisation: use more conservative architecture flags
We can't enable SSE3 if we want to compile for our Atom test target, so
we explicitly disable this and a few future instruction sets that we
know won't be accessible.
2018-09-13 14:53:06 +10:00
e82c8b7d4a optimisation: bite the bullet and use O0 by default for debug
Og optimisation eliminates too many expressions to be useful for fine
grained debugging so we should make Og the exception rather than O0
2018-09-05 13:17:50 +10:00
305bd4a46e optimisation: don't enable stack-protector under win32
This apparently triggers segfaults when using the standard library so
it's unusable.
2018-08-13 14:56:32 +10:00
43d5fb4523 optimisation: try to enable sse3
Effectively all hardware we target includes sse3 instructions at this
point.
2018-03-22 15:08:36 +11:00
6af34bc023 optimisation: add stubs for unsafe maths 2018-01-30 16:26:42 +11:00
712fcdf455 optimisastion: add explanatory note for optimisation flags 2018-01-24 17:33:15 +11:00
630aa5de08 optimisation: switch back to Og for debugging
O0 is catastrophically slow for some of our projects. Don't
unconditionally use O0.
2018-01-24 17:28:33 +11:00
8c9ca6a372 optimisation: temporarily disable -ggdb
This works around an ICE with libcruft-util's coord classes and GCC's
trunc_int_for_mode.
2018-01-18 11:54:11 +11:00
9cd8c56cdc optimisation: re-enable fipa-pta under GCC
It appears codegen works again? Perhaps we were running into a seperate
issue and fipa-pta always worked.
2018-01-18 11:51:38 +11:00
6576747031 optimsation: prefer -O0 over -Og
Og optimises out too many variables to be useful in a large percentages
of the cases. Instead use O0. If we need to revert to Og we'll instead
introduce a new flag.
2017-11-22 17:09:05 +11:00
bd4b8328c2 optimisation: remove deprecated clang optimisation 2017-09-12 14:24:59 +10:00
8a83b07ea0 optimisation: use Og instead of O0 by default
O0 is hellishly slow, this is every so slightly less so.
2017-07-04 16:21:00 +10:00
e1ac923f32 optimisation: set gcc-{ar,nm,ranlib} for LTO targets 2017-05-12 15:57:30 +10:00
d106a052a1 nc: protect against multiple invokations 2017-01-25 18:46:41 +11:00
dd58dbde82 optimisation: don't use ENABLE_FOO option names 2017-01-25 18:46:23 +11:00
7fea529319 optimisation: use a more reliable LTO flag test order 2017-01-25 18:45:42 +11:00
7df08f6818 optimisation: use correct capitalisation of Debug 2017-01-23 21:42:34 +11:00
b389d86391 try to cache results as much as possible 2017-01-18 21:43:30 +11:00
a57db559e9 initial import 2017-01-17 19:20:12 +11:00