X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fir%2Firflag.h;h=35d92778a9e4f1bb92266db6ed5ac8a71bf01918;hb=9be70b7ef6120836707d76050372a89247cec2a6;hp=bddfaecabba244627f926083178e5a8b52b8d30e;hpb=0e9428a1fd32b6084e0c561fa8056912069613d9;p=libfirm diff --git a/ir/ir/irflag.h b/ir/ir/irflag.h index bddfaecab..35d92778a 100644 --- a/ir/ir/irflag.h +++ b/ir/ir/irflag.h @@ -6,6 +6,8 @@ ** irflag --- optimization flags */ +/* $Id$ */ + #ifndef _IRFLAG_H_ #define _IRFLAG_H_ @@ -26,18 +28,33 @@ int get_optimize (void); void set_opt_constant_folding (int value); int get_opt_constant_folding (void); -/* If opt_cse == 1 perfor constant subexpression elimination - (and, if implemented, global code motion. @@@ Right now - cse only within blocks. +/* If opt_cse == 1 perform constant subexpression elimination. Default: opt_cse == 1. */ void set_opt_cse (int value); int get_opt_cse (void); +/* If opt_global_cse == 1 and opt_cse == 1 perform intra procedure + constant subexpression elimination for floating nodes. Intra + procedure cse gets the graph into state "floating". It is necessary + to run pre/code motion to get the graph back into state "pinned". + Default: opt_global_cse == 1. */ +void set_opt_global_cse (int value); +int get_opt_global_cse (void); + /* If opt_unreachable_code == 1 replace nodes (except Block, Phi and Tuple) with a Bad predecessor by the Bad node. Default: opt_unreachable_code == 1. */ -inline void set_opt_unreachable_code(int value); -inline int get_opt_unreachable_code(void); +void set_opt_unreachable_code(int value); +int get_opt_unreachable_code(void); + +/* Performs Straightening, if simplifications and loop simplifications. */ +void set_opt_control_flow(int value); +int get_opt_control_flow(void); + +/* If opt_reassociation == 1 reassociation is performed. + Default: opt_reassociation == 1. */ +void set_opt_reassociation(int value); +int get_opt_reassociation(void); /* If opt_dead_node_elimination == 1 deallocate all dead nodes by copying the firm graph.