libFirm
|
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. | |
int | get_opt_constant_folding (void) |
returns 0 if constant_folding is disabled, !=0 otherwise | |
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_constant_folding | ( | void | ) |
returns 0 if constant_folding is disabled, !=0 otherwise
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.