diff options
author | Joern Rennecke <amylaar@spamcop.net> | 2009-12-19 02:33:03 +0000 |
---|---|---|
committer | Joern Rennecke <amylaar@gcc.gnu.org> | 2009-12-19 02:33:03 +0000 |
commit | 2a5e9d165ef6cc2cb3b783b5aa1c4a37dfd166aa (patch) | |
tree | 64645446df1c6d17b691611d925a9573c34adf27 /gcc/tree-pass.h | |
parent | dedf9c63c43af91427465267a90db9b1c0840f9c (diff) | |
download | gcc-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.h | 21 |
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; |