aboutsummaryrefslogtreecommitdiff
path: root/gcc/cfganal.h
AgeCommit message (Collapse)AuthorFilesLines
2016-05-24re PR tree-optimization/71253 (ICE during loop distribution w/ -O2 ↵Richard Biener1-3/+4
-ftree-loop-distribution) 2016-05-24 Richard Biener <rguenther@suse.de> PR tree-optimization/71253 * cfganal.h (control_dependences): Make robust against edge and BB removal. (control_dependences::control_dependences): Remove edge_list argument. (control_dependences::get_edge): Remove. (control_dependences::get_edge_src): Add. (control_dependences::get_edge_dest): Likewise. (control_dependences::m_el): Make a vector of edge src/dest index. * cfganal.c (control_dependences::find_control_dependence): Adjust. (control_dependences::control_dependences): Likewise. (control_dependences::~control_dependence): Likewise. (control_dependences::get_edge): Remove. (control_dependences::get_edge_src): Add. (control_dependences::get_edge_dest): Likewise. * tree-ssa-dce.c (mark_control_dependent_edges_necessary): Use get_edge_src. (perform_tree_ssa_dce): Adjust. * tree-loop-distribution.c (create_edge_for_control_dependence): Use get_edge_src. (pass_loop_distribution::execute): Adjust. Do loop destroying conditional on changed. * gcc.dg/torture/pr71253.c: New testcase. From-SVN: r236636
2016-01-04Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r232055
2015-12-20re PR tree-optimization/65337 (LTO bootstrap failure with Ada enabled)Jan Hubicka1-1/+1
PR middle-end/65337 * tree-ssa-dce.c (bb_postorder): New static var. (forward_edge_to_pdom): Remove. (remove_dead_stmt): Instead of redirecting edges only keep an edge on a path to nearest live BB. (eliminate_unnecessary_stmts): Free bb_postorder. * cfganal.c (dfs_find_deadend): Add START_POINTES. * cfganal.h (inverted_post_order_compute): Update prototype. From-SVN: r231856
2015-10-13Check no unreachable blocks in inverted_post_order_computeTom de Vries1-0/+1
2015-10-14 Tom de Vries <tom@codesourcery.com> * cfganal.c (verify_no_unreachable_blocks): New function. (inverted_post_order_compute) [ENABLE_CHECKING]: Call verify_no_unreachable_blocks. cfganal.h (verify_no_unreachable_blocks): Declare. From-SVN: r228789
2015-01-05Update copyright years.Jakub Jelinek1-1/+1
From-SVN: r219188
2014-10-21cfg.h: New.Andrew MacLeod1-0/+79
2014-10-21 Andrew MacLeod <amacleod@redhat.com> * cfg.h: New. Header file for cfg.c. * cfganal.h: New. Header file for cfganal.c. * lcm.h: New. Header file for lcm.c. * loop-unroll.h: New. Header file for loop-unroll.h. * cfgloop.h: (unroll_loops): Remove prototype. * basic-block.h: Move prototypes and structs to new header files. Include cfg.h, cfganal.h, and lcm.h. * loop-init.c: Include loop-unroll.h. * loop-unroll.c: (referenced_in_one_insn_in_loop_p): Make static. * modulo-sched.c: Include loop-unroll.h. From-SVN: r216518