aboutsummaryrefslogtreecommitdiff
path: root/gcc/modulo-sched.c
diff options
context:
space:
mode:
authorRoman Zhuykov <zhroma@ispras.ru>2019-12-13 17:02:53 +0000
committerRoman Zhuykov <zhroma@gcc.gnu.org>2019-12-13 17:02:53 +0000
commit728c2e5eeaa91cf708f2b1b1f996653a7eebae59 (patch)
tree62136a55af00cbdc3a1f6358607258019c789b02 /gcc/modulo-sched.c
parent7b945b19ad7cebebbaaf4eec44a7a572233ab91b (diff)
downloadgcc-728c2e5eeaa91cf708f2b1b1f996653a7eebae59.zip
gcc-728c2e5eeaa91cf708f2b1b1f996653a7eebae59.tar.gz
gcc-728c2e5eeaa91cf708f2b1b1f996653a7eebae59.tar.bz2
modulo-sched: speed up DDG analysis (PR90001)
PR rtl-optimization/90001 * ddg.c (create_ddg): Init max_dist array for each node. (free_ddg): Free max_dist array. (create_ddg_edge): Use bool field instead of aux union. (set_recurrence_length): Use prepared max_dist information instead of calling longest_simple_path. (create_scc): Remove graph argument, fill node's aux.count with SCC id, and move set_recurrence_length call to... (create_ddg_all_sccs): ...here, after filling all max_dist arrays using Floyd–Warshall-like algorithm. (update_dist_to_successors): Remove the whole function. (longest_simple_path): Likewise. * ddg.h (struct ddg_node): Add max_dist pointer. (struct ddg_edge): Use bool field instead of unused aux union. From-SVN: r279375
Diffstat (limited to 'gcc/modulo-sched.c')
0 files changed, 0 insertions, 0 deletions