Enable jump threading at -O1.
authorAldy Hernandez <aldyh@redhat.com>
Tue, 28 Sep 2021 09:33:11 +0000 (11:33 +0200)
committerAldy Hernandez <aldyh@redhat.com>
Tue, 28 Sep 2021 12:33:53 +0000 (14:33 +0200)
commitc32f7df917b01c3636aa85916a36264e807ced9d
tree680f004535a2324387441a02202348bd9ae3323c
parent95540a6d1d7b29cdd3ed06fbcb07465804504cfd
Enable jump threading at -O1.

My previous patch gating all jump threading by -fthread-jumps had the
side effect of turning off DOM jump threading at -O1.  This causes
numerous -Wuninitialized false positives.  This patch turns on jump
threading at -O1 to minimize the disruption.

gcc/ChangeLog:

* cfgcleanup.c (pass_jump::execute): Check
flag_expensive_optimizations.
(pass_jump_after_combine::gate): Same.
* doc/invoke.texi (-fthread-jumps): Enable for -O1.
* opts.c (default_options_table): Enable -fthread-jumps at -O1.
* tree-ssa-threadupdate.c
(fwd_jt_path_registry::remove_jump_threads_including): Bail unless
flag_thread_jumps.

gcc/testsuite/ChangeLog:

* gcc.dg/auto-init-uninit-1.c: Adjust.
* gcc.dg/auto-init-uninit-15.c: Same.
* gcc.dg/guality/example.c: Same.
* gcc.dg/loop-8.c: Same.
* gcc.dg/strlenopt-40.c: Same.
* gcc.dg/tree-ssa/pr18133-2.c: Same.
* gcc.dg/tree-ssa/pr18134.c: Same.
* gcc.dg/uninit-1.c: Same.
* gcc.dg/uninit-pr44547.c: Same.
* gcc.dg/uninit-pr59970.c: Same.
14 files changed:
gcc/cfgcleanup.c
gcc/doc/invoke.texi
gcc/opts.c
gcc/testsuite/gcc.dg/auto-init-uninit-1.c
gcc/testsuite/gcc.dg/auto-init-uninit-15.c
gcc/testsuite/gcc.dg/guality/example.c
gcc/testsuite/gcc.dg/loop-8.c
gcc/testsuite/gcc.dg/strlenopt-40.c
gcc/testsuite/gcc.dg/tree-ssa/pr18133-2.c
gcc/testsuite/gcc.dg/tree-ssa/pr18134.c
gcc/testsuite/gcc.dg/uninit-1.c
gcc/testsuite/gcc.dg/uninit-pr44547.c
gcc/testsuite/gcc.dg/uninit-pr59970.c
gcc/tree-ssa-threadupdate.c