diff options
author | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-18 02:53:55 +0000 |
---|---|---|
committer | law <law@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-05-18 02:53:55 +0000 |
commit | 6e9a4371f72c47837ec18b3d6ae8eb375487b242 (patch) | |
tree | 8b09f05de2af4fbf629836a3810db742dd217646 /gcc/flags.h | |
parent | 49fbf4b925552657ef9fe53d8382dfc5d9723ac5 (diff) | |
download | gcc-6e9a4371f72c47837ec18b3d6ae8eb375487b242.tar.gz |
* toplev.h (flag_delete_null_pointer_checks): Move from here to...
* flags.h (flag_delete_null_pointer_checks): Here.
* tree-flow.h (cprop_into_successor_phis): Add argument to prototype.
* tree-phinodes.c (resize_phi_node): Initialize PHI_ARG_NONZERO.
(add_phi_arg, remove_phi_arg_num): Similarly.
* tree-ssa-copy.c (cprop_into_successor_phis): Propagate nonzero
property into PHI nodes.
* tree-ssa-dom.c: Remove redundant inclusion of flags.h.
(record_equivalences_from_phis): If all PHI arguments are known to be
nonzero, then the result must be nonzero as well.
(cprop_into_phis): Pass nonzero_vars bitmap to cprop_into_successor_phis (record_equivalences_from_stmt): Check flag_delete_null_pointer_checks
appropriately. Walk the USE-DEF chains and propagate nonzero property
as appropriate.
* tree.h (PHI_ARG_NONZERO): Define.
(phi_arg_d): Add nonzero flag.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81968 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/flags.h')
-rw-r--r-- | gcc/flags.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/flags.h b/gcc/flags.h index 8778b635392..6f8f5f67ea3 100644 --- a/gcc/flags.h +++ b/gcc/flags.h @@ -323,6 +323,10 @@ extern int flag_cse_skip_blocks; perform miscellaneous relatively-expensive optimizations. */ extern int flag_expensive_optimizations; +/* Nonzero means to use global dataflow analysis to eliminate + useless null pointer tests. */ +extern int flag_delete_null_pointer_checks; + /* Nonzero means don't put addresses of constant functions in registers. Used for compiling the Unix kernel, where strange substitutions are done on the assembly output. */ |