* varpool.c (dump_varpool_node): Dump write-only flag.
commit703ad42c809400c0ad837a961bd8e477dd6a6342
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 May 2014 17:49:06 +0000 (16 17:49 +0000)
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 16 May 2014 17:49:06 +0000 (16 17:49 +0000)
tree95128482337699b940df1c3ea7402e38fb4ecb88
parent708340034c7a8f9acddf56d1068351bbb409d565
* varpool.c (dump_varpool_node): Dump write-only flag.
* lto-cgraph.c (lto_output_varpool_node, input_varpool_node): Stream
write-only flag.
* tree-cfg.c (execute_fixup_cfg): Remove statements setting write-only variables.

* gcc.c-torture/execute/20101011-1.c: Update testcase.
* gcc.dg/ira-shrinkwrap-prep-1.c: Update testcase.
* gcc.dg/tree-ssa/writeonly.c: New testcase.
* gcc.dg/tree-ssa/ssa-dse-6.c: Update testcase.
* gcc.dg/tree-ssa/pr21559.c: Update testcase.
* gcc.dg/debug/pr35154.c: Update testcase.
* gcc.target/i386/vectorize1.c: Update testcase.
* ipa.c (process_references): New function.
(set_readonly_bit): New function.
(set_writeonly_bit): New function.
(clear_addressable_bit): New function.
(ipa_discover_readonly_nonaddressable_var): Mark write only variables; fix
handling of aliases.
* cgraph.h (struct varpool_node): Add writeonly flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210522 138bc75d-0d04-0410-961f-82ee72b054a4
14 files changed:
gcc/ChangeLog
gcc/cgraph.h
gcc/ipa.c
gcc/lto-cgraph.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/20101011-1.c
gcc/testsuite/gcc.dg/debug/pr35154.c
gcc/testsuite/gcc.dg/ira-shrinkwrap-prep-1.c
gcc/testsuite/gcc.dg/tree-ssa/pr21559.c
gcc/testsuite/gcc.dg/tree-ssa/ssa-dse-6.c
gcc/testsuite/gcc.dg/tree-ssa/writeonly.c [new file with mode: 0644]
gcc/testsuite/gcc.target/i386/vectorize1.c
gcc/tree-cfg.c
gcc/varpool.c