aboutsummaryrefslogtreecommitdiff
path: root/gcc/df.h
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2014-01-17 10:47:59 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2014-01-17 10:47:59 +0000
commit7be64667c127a0cdb9dc7e4f02dcd7720589919d (patch)
tree87501164890f5046ea55327b6647afe5ac2c9e28 /gcc/df.h
parentcc3a9f0d477d52982b504c954da0d87d48e6c1f7 (diff)
downloadgcc-7be64667c127a0cdb9dc7e4f02dcd7720589919d.zip
gcc-7be64667c127a0cdb9dc7e4f02dcd7720589919d.tar.gz
gcc-7be64667c127a0cdb9dc7e4f02dcd7720589919d.tar.bz2
re PR rtl-optimization/38518 (Excessive compile time with -O3)
2014-01-17 Richard Biener <rguenther@suse.de> PR rtl-optimization/38518 * df.h (df_analyze_loop): Declare. * df-core.c: Include cfgloop.h. (df_analyze_1): Split out main part of df_analyze. (df_analyze): Adjust. (loop_inverted_post_order_compute): New function. (loop_post_order_compute): Likewise. (df_analyze_loop): New function avoiding whole-function postorder computes. * loop-invariant.c (find_defs): Use df_analyze_loop. (find_invariants): Adjust. * loop-iv.c (iv_analysis_loop_init): Use df_analyze_loop. From-SVN: r206702
Diffstat (limited to 'gcc/df.h')
-rw-r--r--gcc/df.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/df.h b/gcc/df.h
index 6c4b339..878f507 100644
--- a/gcc/df.h
+++ b/gcc/df.h
@@ -900,7 +900,8 @@ extern void df_set_blocks (bitmap);
extern void df_remove_problem (struct dataflow *);
extern void df_finish_pass (bool);
extern void df_analyze_problem (struct dataflow *, bitmap, int *, int);
-extern void df_analyze (void);
+extern void df_analyze ();
+extern void df_analyze_loop (struct loop *);
extern int df_get_n_blocks (enum df_flow_dir);
extern int *df_get_postorder (enum df_flow_dir);
extern void df_simple_dataflow (enum df_flow_dir, df_init_function,