diff options
author | Orlando Arias <oarias@knights.ucf.edu> | 2017-10-20 04:49:57 +0000 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2017-10-20 00:49:57 -0400 |
commit | 793c096d45d11bdb0152c7065a473d20c247a865 (patch) | |
tree | 02b4a4b0ef29655d25ee827a41a41f70020391c2 /gcc | |
parent | b6b240edae1d01a0d5746d940a201e635a449360 (diff) | |
download | gcc-793c096d45d11bdb0152c7065a473d20c247a865.zip gcc-793c096d45d11bdb0152c7065a473d20c247a865.tar.gz gcc-793c096d45d11bdb0152c7065a473d20c247a865.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/msp430/msp430.c | 4 | ||||
-rw-r--r-- | gcc/doc/invoke.texi | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/lib/target-supports.exp | 3 |
5 files changed, 18 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d8c4d75..a33dbb1 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/config/msp430/msp430.c b/gcc/config/msp430/msp430.c index 4f32fc8..9466d09 100644 --- a/gcc/config/msp430/msp430.c +++ b/gcc/config/msp430/msp430.c @@ -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) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index a2ef6fe..8dd32f5 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -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. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4aab328..e950e33 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 4f9bf46..63694ea 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -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 |