From 3f7d628a6887dd99125ddda7d1d471aebd0815c1 Mon Sep 17 00:00:00 2001 From: Jason Volk Date: Sun, 19 Jul 2020 22:47:49 -0700 Subject: [PATCH] configure: Increase inlining threshold for spirit grammar units. configure: Move -fno-var-tracking to GCC only. --- configure.ac | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 8fee28de3..6f40f0a43 100644 --- a/configure.ac +++ b/configure.ac @@ -2369,10 +2369,20 @@ SPIRIT_UNIT_CPPFLAGS+=" $BOOST_CPPFLAGS" SPIRIT_UNIT_CPPFLAGS+=" -include ircd/spirit.h" AC_SUBST(SPIRIT_UNIT_CXXFLAGS) -SPIRIT_UNIT_CXXFLAGS+=" -fno-var-tracking" + +dnl Slightly more aggressive than the default of 250. A large number of +dnl internal functions are generated out of some grammars at the default. +dnl The more aggressive value embeds rules together for optimization but +dnl may generate slightly larger functions. +AM_COND_IF([CLANG], +[ + SPIRIT_UNIT_CXXFLAGS+=" -mllvm -inlinehint-threshold=1000" + SPIRIT_UNIT_CXXFLAGS+=" -mllvm -inline-threshold=400" +]) AM_COND_IF([GCC], [ + SPIRIT_UNIT_CXXFLAGS+=" -fno-var-tracking" SPIRIT_UNIT_CXXFLAGS+=" -fno-var-tracking-assignments" SPIRIT_UNIT_CXXFLAGS+=" -femit-struct-debug-baseonly"