Redesign jump threading profile updates to avoid introducing insanities.
authorTeresa Johnson <tejohnson@google.com>
Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)
committerTeresa Johnson <tejohnson@gcc.gnu.org>
Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)
commit63e037f44b4feecc820be07eccd76ff43c1fbf33
treebe50f652bc5e038c0a3da95c9efb2964a3ed6c88
parentdd5d5481bebf401a855eb362fa5ffc2101ba06f2
Redesign jump threading profile updates to avoid introducing insanities.

gcc:

2014-09-30  Teresa Johnson  <tejohnson@google.com>

* tree-ssa-threadupdate.c (struct ssa_local_info_t): New
duplicate_blocks bitmap.
(remove_ctrl_stmt_and_useless_edges): Ditto.
(create_block_for_threading): Ditto.
(compute_path_counts): New function.
(update_profile): Ditto.
(recompute_probabilities): Ditto.
(update_joiner_offpath_counts): Ditto.
(freqs_to_counts_path): Ditto.
(clear_counts_path): Ditto.
(ssa_fix_duplicate_block_edges): Update profile info.
(ssa_create_duplicates): Pass new parameter.
(ssa_redirect_edges): Remove old profile update.
(thread_block_1): New duplicate_blocks bitmap,
remove old profile update.
(thread_single_edge): Pass new parameter.

gcc/testsuite:

2014-09-30  Teresa Johnson  <tejohnson@google.com>

* testsuite/gcc.dg/tree-prof/20050826-2.c: New test.
* testsuite/gcc.dg/tree-prof/cmpsf-1.c: Ditto.

From-SVN: r215739
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-prof/20050826-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-prof/cmpsf-1.c [new file with mode: 0644]
gcc/tree-ssa-threadupdate.c