+2017-10-20 Orlando Arias <oarias@knights.ucf.edu>
+
+ * config/msp430/msp430.c (msp430_option_override): Disable
+ -fdelete-null-pointer-checks.
+ * doc/invoke.text (-fdelete-null-pointer-checks): Document that.
+
2017-10-19 Jan Hubicka <hubicka@ucw.cz>
* x86-tune-costs.h (generic_cost, core_cost): Correct costs
static void
msp430_option_override (void)
{
+ /* The MSP430 architecture can safely dereference a NULL pointer. In fact,
+ there are memory mapped registers there. */
+ flag_delete_null_pointer_checks = 0;
+
init_machine_status = msp430_init_machine_status;
if (target_cpu)
for programs that depend on that behavior.
This option is enabled by default on most targets. On Nios II ELF, it
-defaults to off. On AVR and CR16, this option is completely disabled.
+defaults to off. On AVR, CR16, and MSP430, this option is completely disabled.
Passes that use the dataflow information
are enabled independently at different optimization levels.
+2017-10-20 Orlando Arias <oarias@knights.ucf.edu>
+
+ * lib/target-supports.exp (check_effective_target_keeps_null_pointer_checks):
+ Add msp430 to the list.
+
2017-10-19 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/82308
if [target_info exists keeps_null_pointer_checks] {
return 1
}
- if { [istarget avr-*-*] } {
+ if { [istarget avr-*-*]
+ || [istarget msp430-*-*] } {
return 1;
}
return 0