aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-parloops.c
diff options
context:
space:
mode:
authorBin Cheng <bin.cheng@arm.com>2015-11-20 09:05:08 +0000
committerBin Cheng <amker@gcc.gnu.org>2015-11-20 09:05:08 +0000
commitcf5b92ef1ee2da9608f287e9a668e810c92d90f4 (patch)
treea0eaeaabd9ad7f71b77adb0cf347dee329391c0e /gcc/tree-parloops.c
parentec5a0fe0422d6f472d75528a14bd22511914e240 (diff)
downloadgcc-cf5b92ef1ee2da9608f287e9a668e810c92d90f4.zip
gcc-cf5b92ef1ee2da9608f287e9a668e810c92d90f4.tar.gz
gcc-cf5b92ef1ee2da9608f287e9a668e810c92d90f4.tar.bz2
re PR tree-optimization/52272 (Performance regression of 410.bwaves on x86.)
PR tree-optimization/52272 * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct. (struct iv_common_cand_hasher): New struct. (iv_common_cand_hasher::hash): New function. (iv_common_cand_hasher::equal): New function. (struct ivopts_data): New fields, iv_common_cand_tab and iv_common_cands. (tree_ssa_iv_optimize_init): Initialize above fields. (record_common_cand, common_cand_cmp): New functions. (add_iv_candidate_derived_from_uses): New function. (add_iv_candidate_for_use): Record iv_common_cands derived from iv use in hash table, instead of adding candidates directly. (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses. (record_important_candidates): Add important candidates to iv uses' related_cands. Always keep related_cands for future use. (try_add_cand_for): Use iv uses' related_cands. (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields in struct ivopts_data, iv_common_cand_tab and iv_common_cands. From-SVN: r230647
Diffstat (limited to 'gcc/tree-parloops.c')
0 files changed, 0 insertions, 0 deletions