diff options
author | Martin Liska <mliska@suse.cz> | 2018-05-18 10:43:19 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2018-05-18 08:43:19 +0000 |
commit | eb63c01f65d475f7f05d1979f66c1c41faa61da9 (patch) | |
tree | 853a097da531ab040ed871970f5fac8cc27d09cf /gcc/loop-invariant.c | |
parent | cdc3b88343e3a306c37ddec9f6b546d412c6f3f8 (diff) | |
download | gcc-eb63c01f65d475f7f05d1979f66c1c41faa61da9.zip gcc-eb63c01f65d475f7f05d1979f66c1c41faa61da9.tar.gz gcc-eb63c01f65d475f7f05d1979f66c1c41faa61da9.tar.bz2 |
Radically simplify emission of balanced tree for switch statements.
2018-05-18 Martin Liska <mliska@suse.cz>
* passes.def: Add pass_lower_switch and pass_lower_switch_O0.
* tree-pass.h (make_pass_lower_switch_O0): New function.
* tree-switch-conversion.c (node_has_low_bound): Remove.
(node_has_high_bound): Likewise.
(node_is_bounded): Likewise.
(class pass_lower_switch): Make it a template type and create
two instances.
(pass_lower_switch::execute): Add template argument.
(make_pass_lower_switch): New function.
(make_pass_lower_switch_O0): New function.
(do_jump_if_equal): Remove.
(emit_case_nodes): Simplify to just handle all 3 cases and leave
all the hard work to tree optimization passes.
2018-05-18 Martin Liska <mliska@suse.cz>
* gcc.dg/tree-ssa/vrp104.c: Adjust dump file that is scanned.
* gcc.dg/tree-prof/update-loopch.c: Likewise.
From-SVN: r260350
Diffstat (limited to 'gcc/loop-invariant.c')
0 files changed, 0 insertions, 0 deletions