xref: /dflybsd-src/contrib/gcc-4.7/gcc/plugin.def (revision 04febcfb30580676d3e95f58a16c5137ee478b32)
1*e4b17023SJohn Marino/* This file contains the definitions for plugin events in GCC.
2*e4b17023SJohn Marino   Copyright (C) 2009 Free Software Foundation, Inc.
3*e4b17023SJohn Marino
4*e4b17023SJohn MarinoThis file is part of GCC.
5*e4b17023SJohn Marino
6*e4b17023SJohn MarinoGCC is free software; you can redistribute it and/or modify it under
7*e4b17023SJohn Marinothe terms of the GNU General Public License as published by the Free
8*e4b17023SJohn MarinoSoftware Foundation; either version 3, or (at your option) any later
9*e4b17023SJohn Marinoversion.
10*e4b17023SJohn Marino
11*e4b17023SJohn MarinoGCC is distributed in the hope that it will be useful, but WITHOUT ANY
12*e4b17023SJohn MarinoWARRANTY; without even the implied warranty of MERCHANTABILITY or
13*e4b17023SJohn MarinoFITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14*e4b17023SJohn Marinofor more details.
15*e4b17023SJohn Marino
16*e4b17023SJohn MarinoYou should have received a copy of the GNU General Public License
17*e4b17023SJohn Marinoalong with GCC; see the file COPYING3.  If not see
18*e4b17023SJohn Marino<http://www.gnu.org/licenses/>.  */
19*e4b17023SJohn Marino
20*e4b17023SJohn Marino
21*e4b17023SJohn Marino/* To hook into pass manager.  */
22*e4b17023SJohn MarinoDEFEVENT (PLUGIN_PASS_MANAGER_SETUP)
23*e4b17023SJohn Marino
24*e4b17023SJohn Marino/* After finishing parsing a type.  */
25*e4b17023SJohn MarinoDEFEVENT (PLUGIN_FINISH_TYPE)
26*e4b17023SJohn Marino
27*e4b17023SJohn Marino/* After finishing parsing a declaration. */
28*e4b17023SJohn MarinoDEFEVENT (PLUGIN_FINISH_DECL)
29*e4b17023SJohn Marino
30*e4b17023SJohn Marino/* Useful for summary processing.  */
31*e4b17023SJohn MarinoDEFEVENT (PLUGIN_FINISH_UNIT)
32*e4b17023SJohn Marino
33*e4b17023SJohn Marino/* Allows to see low level AST in C and C++ frontends. */
34*e4b17023SJohn MarinoDEFEVENT (PLUGIN_PRE_GENERICIZE)
35*e4b17023SJohn Marino
36*e4b17023SJohn Marino/* Called before GCC exits.  */
37*e4b17023SJohn MarinoDEFEVENT (PLUGIN_FINISH)
38*e4b17023SJohn Marino
39*e4b17023SJohn Marino/* Information about the plugin. */
40*e4b17023SJohn MarinoDEFEVENT (PLUGIN_INFO)
41*e4b17023SJohn Marino
42*e4b17023SJohn Marino/* Called at start of GCC Garbage Collection. */
43*e4b17023SJohn MarinoDEFEVENT (PLUGIN_GGC_START)
44*e4b17023SJohn Marino
45*e4b17023SJohn Marino/* Extend the GGC marking. */
46*e4b17023SJohn MarinoDEFEVENT (PLUGIN_GGC_MARKING)
47*e4b17023SJohn Marino
48*e4b17023SJohn Marino/* Called at end of GGC. */
49*e4b17023SJohn MarinoDEFEVENT (PLUGIN_GGC_END)
50*e4b17023SJohn Marino
51*e4b17023SJohn Marino/* Register an extra GGC root table. */
52*e4b17023SJohn MarinoDEFEVENT (PLUGIN_REGISTER_GGC_ROOTS)
53*e4b17023SJohn Marino
54*e4b17023SJohn Marino/* Register an extra GGC cache table. */
55*e4b17023SJohn MarinoDEFEVENT (PLUGIN_REGISTER_GGC_CACHES)
56*e4b17023SJohn Marino
57*e4b17023SJohn Marino/* Called during attribute registration.  */
58*e4b17023SJohn MarinoDEFEVENT (PLUGIN_ATTRIBUTES)
59*e4b17023SJohn Marino
60*e4b17023SJohn Marino/* Called before processing a translation unit.  */
61*e4b17023SJohn MarinoDEFEVENT (PLUGIN_START_UNIT)
62*e4b17023SJohn Marino
63*e4b17023SJohn Marino/* Called during pragma registration.  */
64*e4b17023SJohn MarinoDEFEVENT (PLUGIN_PRAGMAS)
65*e4b17023SJohn Marino
66*e4b17023SJohn Marino/* Called before first pass from all_passes.  */
67*e4b17023SJohn MarinoDEFEVENT (PLUGIN_ALL_PASSES_START)
68*e4b17023SJohn Marino
69*e4b17023SJohn Marino/* Called after last pass from all_passes.  */
70*e4b17023SJohn MarinoDEFEVENT (PLUGIN_ALL_PASSES_END)
71*e4b17023SJohn Marino
72*e4b17023SJohn Marino/* Called before first ipa pass.  */
73*e4b17023SJohn MarinoDEFEVENT (PLUGIN_ALL_IPA_PASSES_START)
74*e4b17023SJohn Marino
75*e4b17023SJohn Marino/* Called after last ipa pass.  */
76*e4b17023SJohn MarinoDEFEVENT (PLUGIN_ALL_IPA_PASSES_END)
77*e4b17023SJohn Marino
78*e4b17023SJohn Marino/* Allows to override pass gate decision for current_pass.  */
79*e4b17023SJohn MarinoDEFEVENT (PLUGIN_OVERRIDE_GATE)
80*e4b17023SJohn Marino
81*e4b17023SJohn Marino/* Called before executing a pass.  */
82*e4b17023SJohn MarinoDEFEVENT (PLUGIN_PASS_EXECUTION)
83*e4b17023SJohn Marino
84*e4b17023SJohn Marino/* Called before executing subpasses of a GIMPLE_PASS in
85*e4b17023SJohn Marino   execute_ipa_pass_list.  */
86*e4b17023SJohn MarinoDEFEVENT (PLUGIN_EARLY_GIMPLE_PASSES_START)
87*e4b17023SJohn Marino
88*e4b17023SJohn Marino/* Called after executing subpasses of a GIMPLE_PASS in
89*e4b17023SJohn Marino   execute_ipa_pass_list.  */
90*e4b17023SJohn MarinoDEFEVENT (PLUGIN_EARLY_GIMPLE_PASSES_END)
91*e4b17023SJohn Marino
92*e4b17023SJohn Marino/* Called when a pass is first instantiated.  */
93*e4b17023SJohn MarinoDEFEVENT (PLUGIN_NEW_PASS)
94*e4b17023SJohn Marino
95*e4b17023SJohn Marino/* After the hard-coded events above, plugins can dynamically allocate events
96*e4b17023SJohn Marino   at run time.
97*e4b17023SJohn Marino   PLUGIN_EVENT_FIRST_DYNAMIC only appears as last enum element.  */
98