GCC Middle and Back End API Reference
pass_manager.h File Reference
#include "pass-instances.def"
Include dependency graph for pass_manager.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  gcc::pass_manager

Namespaces

namespace  gcc

Macros

#define GCC_PASS_LISTS
#define DEF_PASS_LIST(LIST)   PASS_LIST_NO_##LIST,
#define INSERT_PASSES_AFTER(PASS)
#define PUSH_INSERT_PASSES_WITHIN(PASS)
#define POP_INSERT_PASSES()
#define NEXT_PASS(PASS, NUM)   opt_pass *PASS ## _ ## NUM
#define TERMINATE_PASS_LIST()

Enumerations

enum  pass_list { PASS_LIST_NUM }

Macro Definition Documentation

#define DEF_PASS_LIST (   LIST)    PASS_LIST_NO_##LIST,
#define GCC_PASS_LISTS
Value:
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 a list of pass lists so that both passes.c and plugins can easily find all the pass lists.

#define INSERT_PASSES_AFTER (   PASS)

References to all of the individual passes. These fields are generated via macro expansion.

For example: NEXT_PASS (pass_build_cfg, 1); within pass-instances.def means that there is a field: opt_pass *pass_build_cfg_1;

Similarly, the various: NEXT_PASS (pass_copy_prop, 1); ... NEXT_PASS (pass_copy_prop, 8); in pass-instances.def lead to fields: opt_pass *pass_copy_prop_1; ... opt_pass *pass_copy_prop_8;

#define NEXT_PASS (   PASS,
  NUM 
)    opt_pass *PASS ## _ ## NUM
#define POP_INSERT_PASSES ( )
#define PUSH_INSERT_PASSES_WITHIN (   PASS)
#define TERMINATE_PASS_LIST ( )

Enumeration Type Documentation

enum pass_list
Enumerator:
PASS_LIST_NUM