msp430.c (msp430_option_override): Disable -fdelete-null-pointer-checks.

* config/msp430/msp430.c (msp430_option_override): Disable
-fdelete-null-pointer-checks.
* doc/invoke.text (-fdelete-null-pointer-checks): Document that.

* lib/target-supports.exp (check_effective_target_keeps_null_pointer_checks):
Add msp430 to the list.

From-SVN: r253921
This commit is contained in:
Orlando Arias 2017-10-20 04:49:57 +00:00 committed by DJ Delorie
parent b6b240edae
commit 793c096d45
5 changed files with 18 additions and 2 deletions

View file

@ -1,3 +1,9 @@
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

View file

@ -751,6 +751,10 @@ hwmult_name (unsigned int val)
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)

View file

@ -7837,7 +7837,7 @@ Use @option{-fno-delete-null-pointer-checks} to disable this optimization
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.

View file

@ -1,3 +1,8 @@
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

View file

@ -548,7 +548,8 @@ proc check_effective_target_keeps_null_pointer_checks { } {
if [target_info exists keeps_null_pointer_checks] {
return 1
}
if { [istarget avr-*-*] } {
if { [istarget avr-*-*]
|| [istarget msp430-*-*] } {
return 1;
}
return 0