X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firpass_t.h;h=bd3315d622586f29565cea7f652c0dedaf15872f;hb=1de3ff1c7f4478924c6348f774608e60b962d055;hp=d279254e033cfb1e1020536293c22e9a389a791b;hpb=3646e58f46f85a17537e89483d6b0c279df4a4d2;p=libfirm diff --git a/ir/ir/irpass_t.h b/ir/ir/irpass_t.h index d279254e0..bd3315d62 100644 --- a/ir/ir/irpass_t.h +++ b/ir/ir/irpass_t.h @@ -23,7 +23,7 @@ * @file * @brief Manager for optimization passes. Private Header * @author Michael Beck - * @version $Id: $ + * @version $Id$ */ #include "firm_types.h" #include "firm_common.h" @@ -56,7 +56,7 @@ typedef void (*DUMP_ON_IRPROG_FUNC)(ir_prog *irg, void *ctx, unsigned idx); typedef void (*INIT_TERM_FUNC)(void *ctx); /** - * A graph pass. + * An ir_sgraph pass. */ struct ir_graph_pass_t { /** The firm kind. */ @@ -80,12 +80,11 @@ struct ir_graph_pass_t { /** Links all passes. */ list_head list; - unsigned verify:1; /**< Set if this pass should be verified. */ - unsigned dump:1; /**< Set if this pass should be dumped. */ + unsigned run_parallel:1; /**< if set this pass can run parallel on all graphs. */ }; /** - * A irprog pass. + * An ir_prog pass. */ struct ir_prog_pass_t { /** The firm kind. */ @@ -109,12 +108,11 @@ struct ir_prog_pass_t { /** Links all passes */ list_head list; - unsigned verify:1; /**< Set if this pass should be verified. */ - unsigned dump:1; /**< Set if this pass should be dumped. */ + unsigned is_wrapper:1; /**< set if this is a wrapper pass. */ }; /** - * A graph pass manager. + * An ir_graph pass manager. */ struct ir_graph_pass_manager_t { firm_kind kind; /**< The firm kind. */ @@ -127,7 +125,7 @@ struct ir_graph_pass_manager_t { }; /** - * A irprog pass manager. + * An ir_prog pass manager. */ struct ir_prog_pass_manager_t { firm_kind kind; /**< The firm kind. */ @@ -139,4 +137,14 @@ struct ir_prog_pass_manager_t { unsigned dump_all:1; /**< Set if every pass should be dumped. */ }; +/** + * Ensure that no verifier is run an ir_prog pass. + */ +int ir_prog_no_verify(ir_prog *prog, void *ctx); + +/** + * Ensure that no dumper is run from an ir_prog pass. + */ +void ir_prog_no_dump(ir_prog *prog, void *ctx, unsigned idx); + #endif