aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-pass.h
diff options
context:
space:
mode:
authorJoern Rennecke <amylaar@spamcop.net>2009-12-19 02:33:03 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2009-12-19 02:33:03 +0000
commit2a5e9d165ef6cc2cb3b783b5aa1c4a37dfd166aa (patch)
tree64645446df1c6d17b691611d925a9573c34adf27 /gcc/tree-pass.h
parentdedf9c63c43af91427465267a90db9b1c0840f9c (diff)
downloadgcc-2a5e9d165ef6cc2cb3b783b5aa1c4a37dfd166aa.zip
gcc-2a5e9d165ef6cc2cb3b783b5aa1c4a37dfd166aa.tar.gz
gcc-2a5e9d165ef6cc2cb3b783b5aa1c4a37dfd166aa.tar.bz2
Makefile.in (PLUGIN_HEADERS): Add more headers.
* Makefile.in (PLUGIN_HEADERS): Add more headers. * tree-pass.h (GCC_PASS_LISTS): Define. (PASS_LIST_NO_all_lowering_passes): New enumeration value. (PASS_LIST_NO_all_small_ipa_passes): Likewise. (PASS_LIST_NO_all_regular_ipa_passes): Likewise. (PASS_LIST_NO_all_lto_gen_passes): Likewise. (PASS_LIST_NO_all_passes): Likewise. (PASS_LIST_NUM): Likewise. (gcc_pass_lists): Declare. * passes.c (gcc_pass_lists): Define. From-SVN: r155354
Diffstat (limited to 'gcc/tree-pass.h')
-rw-r--r--gcc/tree-pass.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/tree-pass.h b/gcc/tree-pass.h
index b997eb1..40cfb0f 100644
--- a/gcc/tree-pass.h
+++ b/gcc/tree-pass.h
@@ -562,6 +562,27 @@ extern struct gimple_opt_pass pass_convert_switch;
extern struct opt_pass *all_passes, *all_small_ipa_passes, *all_lowering_passes,
*all_regular_ipa_passes, *all_lto_gen_passes;
+/* Define a list of pass lists so that both passes.c and plugins can easily
+ find all the pass lists. */
+#define GCC_PASS_LISTS \
+ DEF_PASS_LIST (all_lowering_passes) \
+ DEF_PASS_LIST (all_small_ipa_passes) \
+ DEF_PASS_LIST (all_regular_ipa_passes) \
+ DEF_PASS_LIST (all_lto_gen_passes) \
+ DEF_PASS_LIST (all_passes)
+
+#define DEF_PASS_LIST(LIST) PASS_LIST_NO_##LIST,
+enum
+{
+ GCC_PASS_LISTS
+ PASS_LIST_NUM
+};
+#undef DEF_PASS_LIST
+
+/* This is used by plugins, and should also be used in
+ passes.c:register_pass. */
+extern struct opt_pass **gcc_pass_lists[];
+
/* Current optimization pass. */
extern struct opt_pass *current_pass;