aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-split.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-09-04 12:18:38 +0200
committerRichard Biener <rguenther@suse.de>2020-09-04 12:22:29 +0200
commitfab77644842869adc8871e133e4c3f4c35b2b245 (patch)
tree8c0551b4af84ec3767be87c5816467e8e976c56b /gcc/tree-ssa-loop-split.c
parentb898878032a5bbba0d1a981db6399664181531e9 (diff)
downloadgcc-fab77644842869adc8871e133e4c3f4c35b2b245.zip
gcc-fab77644842869adc8871e133e4c3f4c35b2b245.tar.gz
gcc-fab77644842869adc8871e133e4c3f4c35b2b245.tar.bz2
tree-optimization/96931 - clear ctrl-altering flag more aggressively
The testcase shows that we fail to clear gimple_call_ctrl_altering_p when the last abnormal edge goes away, causing an edge insert to a loop header edge when we have preheaders to split the edge unnecessarily. The following addresses this by more aggressively clearing the flag in cleanup_call_ctrl_altering_flag. 2020-09-04 Richard Biener <rguenther@suse.de> PR tree-optimization/96931 * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): If there's a fallthru edge and no abnormal edge the call is no longer control-altering. (cleanup_control_flow_bb): Pass down the BB to cleanup_call_ctrl_altering_flag. * gcc.dg/pr96931.c: New testcase.
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
0 files changed, 0 insertions, 0 deletions