| libFirm 1.20 | 
Flags to customize the behavior of libfirm. More...
| Typedefs | |
| typedef unsigned | optimization_state_t | 
| A container type to load/restore all optimizations. | |
| Functions | |
| void | set_optimize (int value) | 
| This function enables/disables optimizations globally. | |
| int | get_optimize (void) | 
| Returns global optimizations flag. | |
| void | set_opt_constant_folding (int value) | 
| Enables/Disables constant folding optimization. | |
| void | set_opt_algebraic_simplification (int value) | 
| Enables/Disables algebraic simplifications. | |
| void | set_opt_cse (int value) | 
| Enables/Disables common subexpression elimination. | |
| int | get_opt_cse (void) | 
| Returns constant folding optimization setting. | |
| void | set_opt_global_cse (int value) | 
| Enables/Disables global constant subexpression elimination. | |
| void | set_opt_suppress_downcast_optimization (int value) | 
| Restricts the behavior of cast optimization. | |
| int | get_opt_suppress_downcast_optimization (void) | 
| Returns suppred_downcast flag. | |
| void | set_opt_global_null_ptr_elimination (int value) | 
| Enable/Disable Global Null Pointer Test Elimination. | |
| void | set_opt_auto_create_sync (int value) | 
| Enable/Disable Automatic construction of Sync nodes during Firm construction. | |
| void | set_opt_alias_analysis (int value) | 
| Enable/Disable Alias analysis. | |
| void | set_opt_closed_world (int value) | 
| Enable/Disable closed world assumption. | |
| void | save_optimization_state (optimization_state_t *state) | 
| Save the current optimization state. | |
| void | restore_optimization_state (const optimization_state_t *state) | 
| Restore the current optimization state. | |
| void | all_optimizations_off (void) | 
| Switches ALL optimizations off. | |
Flags to customize the behavior of libfirm.
There are the following groups of flags:
| typedef unsigned optimization_state_t | 
| void all_optimizations_off | ( | void | ) | 
Switches ALL optimizations off.
| int get_opt_cse | ( | void | ) | 
Returns constant folding optimization setting.
| int get_opt_suppress_downcast_optimization | ( | void | ) | 
Returns suppred_downcast flag.
| int get_optimize | ( | void | ) | 
Returns global optimizations flag.
| void restore_optimization_state | ( | const optimization_state_t * | state | ) | 
Restore the current optimization state.
| void save_optimization_state | ( | optimization_state_t * | state | ) | 
Save the current optimization state.
| void set_opt_algebraic_simplification | ( | int | value | ) | 
Enables/Disables algebraic simplifications.
If opt_algebraic_simplification == 1 perform
| void set_opt_alias_analysis | ( | int | value | ) | 
Enable/Disable Alias analysis.
If enabled, memory disambiguation by alias analysis is used.
| void set_opt_auto_create_sync | ( | int | value | ) | 
Enable/Disable Automatic construction of Sync nodes during Firm construction.
If this flags is set, sequential non-volatile Loads are automatically rearranged so that they can be executed in parallel by creating Sync nodes.
This flag should be set for Java style languages.
| void set_opt_closed_world | ( | int | value | ) | 
Enable/Disable closed world assumption.
If enabled, optimizations expect to know the "whole world", i.e. no external types or callers exist. This enables some powerful optimizations.
| void set_opt_constant_folding | ( | int | value | ) | 
Enables/Disables constant folding optimization.
If opt_constant_folding == 1 perform constant expression evaluation (2 + 5 ==> 7, 3 < 2 ==> false) Default: opt_constant_folding == 1.
| void set_opt_cse | ( | int | value | ) | 
Enables/Disables common subexpression elimination.
If opt_cse == 1 perform common subexpression elimination. Default: opt_cse == 1.
| void set_opt_global_cse | ( | int | value | ) | 
Enables/Disables global constant subexpression elimination.
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 "op_pin_state_pinned". right after a call to local_optimize with global cse turned on. Default: opt_global_cse == 0.
| void set_opt_global_null_ptr_elimination | ( | int | value | ) | 
Enable/Disable Global Null Pointer Test Elimination.
In languages where it is illegal to dereference NULL pointer, doing so makes the pointer "valid non-null", else the program will stop anyway by a fault.
This flag should be set for C style languages.
| void set_opt_suppress_downcast_optimization | ( | int | value | ) | 
Restricts the behavior of cast optimization.
If set, downcast are not optimized if they might be illegal as in (Super)(Sub) (new Super()). Default: 0 == not suppressed.
| void set_optimize | ( | int | value | ) | 
This function enables/disables optimizations globally.
If optimize == 0 no optimizations are performed at all. Default: optimize == 1.