Files
gcc/libjava/testsuite/libjava.lang
Diego Novillo c597ef4eab re PR tree-optimization/16867 (Inline array initializer miscompilation at -O)
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
2004-08-12 10:34:11 -04:00
..
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-12-16 05:59:45 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2000-02-09 20:49:34 +00:00
2000-02-09 20:49:34 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
1999-08-17 22:05:56 +00:00
1999-08-17 22:05:56 +00:00
2002-10-03 13:12:01 +00:00
2001-12-20 14:09:03 +00:00
2000-12-16 05:59:45 +00:00
2000-06-13 23:52:00 +00:00
2003-02-17 16:07:49 +00:00
2003-02-17 16:07:49 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-05-04 13:24:40 +00:00
2002-05-04 13:24:40 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
2004-08-10 14:21:05 +00:00
2004-08-10 14:21:05 +00:00
2000-01-30 22:08:32 +00:00
2000-01-30 22:08:32 +00:00
2000-02-12 18:34:50 +00:00
2000-02-12 18:34:50 +00:00
1999-07-05 20:54:41 +01:00
1999-07-05 20:54:41 +01:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-08-25 18:38:58 +00:00
1999-08-25 18:38:58 +00:00
1999-08-25 17:54:55 +00:00
1999-08-25 17:54:55 +00:00
2001-07-03 23:52:27 +00:00
2001-07-03 23:52:27 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-11-02 23:36:47 +00:00
2003-03-11 20:36:34 +00:00
2003-03-11 20:36:34 +00:00
2002-07-02 17:21:10 +00:00
2002-07-02 17:21:10 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-05-16 19:58:42 +00:00
2000-05-16 19:58:42 +00:00
2000-12-16 05:59:45 +00:00
2001-04-05 16:07:30 -07:00
2000-12-01 21:58:34 +00:00
1999-05-12 11:17:09 +00:00
1999-05-12 11:17:09 +00:00
2004-04-14 18:45:20 +01:00
2004-04-14 18:45:20 +01:00
2002-02-24 06:45:19 +00:00
2001-05-30 15:23:23 +00:00
2001-08-01 12:40:06 +00:00
2001-08-27 06:31:06 -07:00
2000-01-11 18:58:49 +00:00
2000-01-11 18:58:49 +00:00
2001-08-13 11:06:22 -07:00
2001-08-13 11:06:22 -07:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
1999-07-13 16:20:44 +00:00
2002-04-17 16:39:47 +00:00
2002-04-17 16:39:47 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2002-12-05 08:06:10 +00:00
2002-12-05 08:06:10 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 19:55:09 +00:00
2000-01-16 21:01:25 +00:00
2000-01-16 21:01:25 +00:00
2004-07-28 03:44:06 +01:00
2000-03-21 04:55:43 +00:00
2000-03-29 03:08:59 +01:00
2000-03-29 03:08:59 +01:00
2002-10-23 22:56:13 +00:00
2002-10-23 22:56:13 +00:00
2002-11-02 00:19:52 +00:00
2002-11-02 00:19:52 +00:00
2002-11-22 16:54:22 +00:00
2002-11-22 16:54:22 +00:00
2002-12-09 01:20:38 +00:00
2002-12-09 01:20:38 +00:00
2002-12-19 06:40:03 +00:00
2002-12-19 06:40:03 +00:00
2000-03-05 07:25:14 +00:00
2000-03-05 07:25:14 +00:00
2000-03-07 18:06:31 +00:00
2000-04-28 08:42:27 +01:00
2000-04-28 08:42:27 +01:00
2000-06-23 21:53:52 +00:00
2000-06-23 21:53:52 +00:00
2001-12-18 04:59:18 +00:00
2001-12-18 04:59:18 +00:00
2001-12-18 04:38:04 +00:00
2001-12-18 04:38:04 +00:00
2002-05-23 04:30:13 +01:00
2003-07-24 17:17:24 +00:00
2003-07-24 17:17:24 +00:00
2003-11-11 20:11:43 +00:00
2003-11-11 20:11:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
1999-05-19 06:53:20 +00:00
1999-05-19 06:53:20 +00:00
2002-10-15 19:00:24 +00:00
2002-10-15 19:25:13 +00:00
2000-07-07 20:51:48 +00:00
2000-07-07 20:51:48 +00:00
2000-05-23 21:45:16 +00:00
2000-05-23 21:45:16 +00:00
2000-02-07 21:40:18 +00:00
2000-02-07 21:40:18 +00:00
2001-07-31 02:13:46 +00:00
2001-07-31 02:13:46 +00:00
2000-03-27 19:37:16 +00:00
2000-03-27 19:37:16 +00:00
2002-09-30 05:19:09 +00:00
2002-09-30 05:19:09 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2000-03-23 12:35:44 +00:00
2004-07-28 03:44:06 +01:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2000-01-19 21:38:43 +00:00
2002-09-30 05:19:09 +00:00
2002-09-30 05:19:09 +00:00
2002-11-04 17:34:09 +00:00
2002-11-04 17:34:09 +00:00
2003-05-07 01:23:16 +00:00
2003-05-07 01:23:16 +00:00