Commit e44d1ff9 authored by Michael Beck's avatar Michael Beck
Browse files

add global_null_ptr_elimination flag

[r22411]
parent 952e0be7
...@@ -212,10 +212,21 @@ void set_opt_ldst_only_null_ptr_exceptions(int value); ...@@ -212,10 +212,21 @@ void set_opt_ldst_only_null_ptr_exceptions(int value);
* Enabling this flag is meaningless if ldst_non_null_exceptions is * Enabling this flag is meaningless if ldst_non_null_exceptions is
* enabled. * enabled.
* *
* This flags should be set for Java style languages. * This flag should be set for Java style languages.
*/ */
void set_opt_sel_based_null_check_elim(int value); void set_opt_sel_based_null_check_elim(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_global_null_ptr_elimination(int value);
/** /**
* Enable/Disable Automatic construction of Sync nodes during * Enable/Disable Automatic construction of Sync nodes during
* Firm construction. * Firm construction.
...@@ -223,7 +234,7 @@ void set_opt_sel_based_null_check_elim(int value); ...@@ -223,7 +234,7 @@ void set_opt_sel_based_null_check_elim(int value);
* If this flags is set, sequential non-volatile Loads are automatically * If this flags is set, sequential non-volatile Loads are automatically
* rearranged so that they can be executed in parallel by creating Sync nodes. * rearranged so that they can be executed in parallel by creating Sync nodes.
* *
* This flags should be set for Java style languages. * This flag should be set for Java style languages.
*/ */
void set_opt_auto_create_sync(int value); void set_opt_auto_create_sync(int value);
......
...@@ -64,6 +64,9 @@ I_FLAG(algebraic_simplification , 8, ON) ...@@ -64,6 +64,9 @@ I_FLAG(algebraic_simplification , 8, ON)
/** Use combo instead of df/cf optimizations. */ /** Use combo instead of df/cf optimizations. */
I_FLAG(combo , 9, ON) I_FLAG(combo , 9, ON)
/** Use Global Null Pointer Test elimination. */
I_FLAG(global_null_ptr_elimination , 10, ON)
/** Remove dynamic method dispatch. */ /** Remove dynamic method dispatch. */
E_FLAG(dyn_meth_dispatch , 11, ON) E_FLAG(dyn_meth_dispatch , 11, ON)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment