Redesign jump threading profile updates to avoid introducing insanities.
authortejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)
committertejohnson <tejohnson@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 30 Sep 2014 18:19:59 +0000 (18:19 +0000)
commit30e432bb88aa8ac1d2e2c00c0196bb21cd1d195e
treebe50f652bc5e038c0a3da95c9efb2964a3ed6c88
parentf76a9aa82e9993320e19e5997c92c2a1808ea1b8
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215739 138bc75d-0d04-0410-961f-82ee72b054a4
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