Commit 19416210 by Georg-Johann Lay Committed by Georg-Johann Lay

avr.c (avr_option_override): Move disabling of -fdelete-null-pointer-checks to...

gcc/
	* config/avr/avr.c (avr_option_override): Move disabling of
	-fdelete-null-pointer-checks to...
	* common/config/avr/avr-common.c (avr_option_optimization_table):
	...here.
testsuite/
	* gcc.dg/tree-ssa/vrp111.c (dg-options): Add
	-fdelete-null-pointer-checks.

From-SVN: r257301
parent 4d0bf3e1
2018-02-01 Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c (avr_option_override): Move disabling of
-fdelete-null-pointer-checks to...
* common/config/avr/avr-common.c (avr_option_optimization_table):
...here.
2018-02-01 Richard Sandiford <richard.sandiford@linaro.org>
PR tree-optimization/81635
......
......@@ -27,6 +27,12 @@
/* Implement TARGET_OPTION_OPTIMIZATION_TABLE. */
static const struct default_options avr_option_optimization_table[] =
{
// With -fdelete-null-pointer-checks option, the compiler assumes
// that dereferencing of a null pointer would halt the program.
// For AVR this assumption is not true and a program can safely
// dereference null pointers. Changes made by this option may not
// work properly for AVR. So disable this option.
{ OPT_LEVELS_ALL, OPT_fdelete_null_pointer_checks, NULL, 0 },
// The only effect of -fcaller-saves might be that it triggers
// a frame without need when it tries to be smart around calls.
{ OPT_LEVELS_ALL, OPT_fcaller_saves, NULL, 0 },
......
......@@ -730,14 +730,6 @@ avr_set_core_architecture (void)
static void
avr_option_override (void)
{
/* Disable -fdelete-null-pointer-checks option for AVR target.
This option compiler assumes that dereferencing of a null pointer
would halt the program. For AVR this assumption is not true and
programs can safely dereference null pointers. Changes made by this
option may not work properly for AVR. So disable this option. */
flag_delete_null_pointer_checks = 0;
/* caller-save.c looks for call-clobbered hard registers that are assigned
to pseudos that cross calls and tries so save-restore them around calls
in order to reduce the number of stack slots needed.
......
2018-02-01 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/tree-ssa/vrp111.c (dg-options): Add
-fdelete-null-pointer-checks.
2018-02-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/83796
......
/* { dg-do compile } */
/* { dg-options "-O2 -fdump-tree-evrp" } */
/* { dg-options "-O2 -fdump-tree-evrp -fdelete-null-pointer-checks" } */
void foo (void *p) __attribute__((nonnull(1)));
......
Markdown is supported
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