aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-manip.c
diff options
context:
space:
mode:
authorXionghu Luo <luoxhu@linux.ibm.com>2021-11-01 00:12:36 -0500
committerXionghu Luo <luoxhu@linux.ibm.com>2021-11-01 00:13:19 -0500
commitf35af8df241a9eb9c2edf7da26d3c5f53d6e2511 (patch)
tree86849b0db6931ea7879a63c9d2f7e9f3416f0d1f /gcc/tree-ssa-loop-manip.c
parent7a71ea4df7e97a640e6747d6787a1885eb3bbc40 (diff)
downloadgcc-f35af8df241a9eb9c2edf7da26d3c5f53d6e2511.zip
gcc-f35af8df241a9eb9c2edf7da26d3c5f53d6e2511.tar.gz
gcc-f35af8df241a9eb9c2edf7da26d3c5f53d6e2511.tar.bz2
Refactor loop_version
loop_version currently does lv_adjust_loop_entry_edge before it loopifys the copy inserted on the header. This patch moves the condition generation later and thus we have four pieces to help understanding of how the adjustment works: 1) duplicating the loop on the entry edge. 2) loopify the duplicated new loop. 3) adjusting the CFG to insert a condition branching to either loop with lv_adjust_loop_entry_edge. 4) From loopify extract the scale_loop_frequencies bits. Also removed some piece of code seems obviously useless: - redirect_all_edges since it is false and loopify only called once. - extract_cond_bb_edges and lv_flush_pending_stmts (false_edge) as the edge is not redirected actually. gcc/ChangeLog: 2021-11-01 Xionghu Luo <luoxhu@linux.ibm.com> * cfgloopmanip.c (loop_version): Refactor loopify to loop_version. Move condition generation after loopify. (loopify): Delete. * cfgloopmanip.h (loopify): Delete.
Diffstat (limited to 'gcc/tree-ssa-loop-manip.c')
0 files changed, 0 insertions, 0 deletions