From 5804d302275218ceccce0552848980913ee63174 Mon Sep 17 00:00:00 2001 From: Samuel Aubertin Date: Tue, 5 Apr 2022 12:43:54 +0200 Subject: [PATCH] Bruteforce optimization options --- testflags.sh | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100755 testflags.sh diff --git a/testflags.sh b/testflags.sh new file mode 100755 index 0000000..07fca8e --- /dev/null +++ b/testflags.sh @@ -0,0 +1,65 @@ +O2FLAGS="-fno-align-functions +-fno-align-jumps +-fno-align-labels +-fno-align-loops +-fno-caller-saves +-fno-code-hoisting +-fno-crossjumping +-fno-cse-follow-jumps +-fno-cse-skip-blocks +-fno-delete-null-pointer-checks +-fno-devirtualize +-fno-devirtualize-speculatively +-fno-expensive-optimizations +-fno-finite-loops +-fno-gcse -fno-gcse-lm +-fno-hoist-adjacent-loads +-fno-inline-functions +-fno-inline-small-functions +-fno-indirect-inlining +-fno-ipa-bit-cp -fno-ipa-cp -fno-ipa-icf +-fno-ipa-ra -fno-ipa-sra -fno-ipa-vrp +-fno-isolate-erroneous-paths-dereference +-fno-lra-remat +-fno-optimize-sibling-calls +-fno-optimize-strlen +-fno-partial-inlining +-fno-peephole2 +-fno-reorder-blocks-and-partition +-fno-reorder-functions +-fno-rerun-cse-after-loop +-fno-schedule-insns -fno-schedule-insns2 +-fno-sched-interblock -fno-sched-spec +-fno-store-merging +-fno-strict-aliasing +-fno-thread-jumps +-fno-tree-builtin-call-dce +-fno-tree-loop-vectorize +-fno-tree-pre +-fno-tree-slp-vectorize +-fno-tree-switch-conversion +-fno-tree-tail-merge +-fno-tree-vrp" +#-fno-reorder-blocks-algorithm=stc +#-fno-vect-cost-model=very-cheap" + +O3FLAGS="-fno-gcse-after-reload +-fno-ipa-cp-clone +-fno-loop-interchange +-fno-loop-unroll-and-jam +-fno-peel-loops +-fno-predictive-commoning +-fno-split-loops +-fno-split-paths +-fno-tree-loop-distribution +-fno-tree-partial-pre +-fno-unswitch-loops +-fno-version-loops-for-strides" +#-fno-vect-cost-model=dynamic + +#for i in $O2FLAGS; do +# rm spectre_v2-gcc-O2 > /dev/null; CFLAGS="$i" make spectre_v2-gcc-O2; ./spectre_v2-gcc-O2 2> /dev/null > /dev/null && echo -e "\033[32m ok $i\033[0m" +#done +for i in $O3FLAGS; do + rm spectre_v2-gcc-O3 > /dev/null; CFLAGS="$i" make spectre_v2-gcc-O3; ./spectre_v2-gcc-O3 2> /dev/null > /dev/null && echo -e "\033[32m ok $i\033[0m" +done