From f6ad93e7cbbb3e43b045ae3313e556ea70e54c8f Mon Sep 17 00:00:00 2001 From: Alasdair Armstrong Date: Fri, 3 May 2019 17:28:30 +0100 Subject: Jib: Fix optimizations for SMT IR changes Fixes C backend optimizations that were disabled due to changes in the IR while working on the SMT generation. Also add a -Oaarch64_fast option that optimizes any integer within a struct to be an int64_t, which is safe for the ARM v8.5 spec and improves performance significantly (reduces Linux boot times by 4-5 minutes). Eventually this should probably be a directive that can be attached to any arbitrary struct/type. Fixes the -c_specialize option for ARM v8.5. However this only gives a very small performance improvment for a very large increase in compilation time however. --- test/c/run_tests.py | 1 - 1 file changed, 1 deletion(-) (limited to 'test') diff --git a/test/c/run_tests.py b/test/c/run_tests.py index be953749..f5347831 100755 --- a/test/c/run_tests.py +++ b/test/c/run_tests.py @@ -94,7 +94,6 @@ xml += test_c('unoptimized C', '', '', True) xml += test_c('optimized C', '-O2', '-O', True) xml += test_c('constant folding', '', '-Oconstant_fold', True) xml += test_c('monomorphised C', '-O2', '-O -Oconstant_fold -auto_mono', True) -xml += test_c('full optimizations', '-O2 -mbmi2 -DINTRINSICS', '-O -Oconstant_fold', True) xml += test_c('specialization', '-O1', '-O -c_specialize', True) xml += test_c('undefined behavior sanitised', '-O2 -fsanitize=undefined', '-O', False) -- cgit v1.2.3