PR tree-optimization/16867 * tree.c (is_global_var): New function. (needs_to_live_in_memory): Check for TREE_ADDRESSABLE. Call is_global_var. * tree.h (DECL_NEEDS_TO_LIVE_IN_MEMORY_INTERNAL): Remove. Update all users. (is_global_var): Declare. * tree-dfa.c (dump_variable): Display global and addressable attributes. (add_referenced_var): Clarify documentation when marking variables call-clobbered. * tree-flow-inline.h (is_call_clobbered): Call is_global_var instead of needs_to_live_in_memory. (mark_call_clobbered): If the variable is a tag, mark it DECL_EXTERNAL. * tree-gimple.c (is_gimple_reg): Don't check for TREE_ADDRESSABLE. (is_gimple_non_addressable): Likewise. * tree-ssa-alias.c (get_nmt_for): Always check whether the tag needs to be marked call-clobbered. (setup_pointers_and_addressables): Call is_global_var instead of needs_to_live_in_memory. * tree-ssa-dce.c (need_to_preserve_store): Remove. Update all users with is_global_var. (mark_stmt_if_obviously_necessary): Fix processing of aliased stores. Don't check the virtual definitions. Rather, check whether the store is going into global memory. (find_obviously_necessary_stmts): Get the symbol from the PHI result. * tree-ssa-operands.c (get_call_expr_operands): Do not add clobbering may-defs if the call does not have side effects. libjava/ChangeLog PR tree-optimization/16867 * testsuite/libjava.lang/PR16867.java: New test. From-SVN: r85874 |
||
---|---|---|
.. | ||
gcj | ||
gnu | ||
include | ||
java | ||
javax | ||
jni | ||
libltdl | ||
org | ||
scripts | ||
sysdep | ||
testsuite | ||
COPYING | ||
ChangeLog | ||
ChangeLog-1999 | ||
ChangeLog-2001 | ||
ChangeLog-2002 | ||
ChangeLog-2003 | ||
HACKING | ||
LIBGCJ_LICENSE | ||
Makefile.am | ||
Makefile.in | ||
NEWS | ||
README | ||
THANKS | ||
acinclude.m4 | ||
aclocal.m4 | ||
addr2name.awk | ||
boehm.cc | ||
configure | ||
configure.host | ||
configure.in | ||
defineclass.cc | ||
exception.cc | ||
gij.cc | ||
interpret.cc | ||
jni.cc | ||
libgcj-test.spec.in | ||
libgcj.pc.in | ||
libgcj.spec.in | ||
libtool-version | ||
mauve-libgcj | ||
no-threads.cc | ||
nogc.cc | ||
pkg.m4 | ||
posix-threads.cc | ||
posix.cc | ||
prims.cc | ||
resolve.cc | ||
verify.cc | ||
win32-threads.cc | ||
win32.cc |
README
This is libgcj: the runtime library for gcj, the GNU Compiler for Java. libgcj provides a partial implementation of the Java Class Libraries. libgcj is free software. See the file LIBGCJ_LICENSE for copying permission. DOCUMENTATION ============= All documentation, including detailed installation and usage instructions, can be found on the gcj web pages at this URL: http://gcc.gnu.org/java/ BUGS ==== Please submit bug reports via this URL: http://gcc.gnu.org/bugzilla