summaryrefslogtreecommitdiff
path: root/gcc/java/ChangeLog.tree-ssa
blob: 6abe4f2899efc84e05a1969997f587bdb0e150b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
2004-05-10  Andrew Haley  <aph@redhat.com>

	* java-gimplify.c (java_gimplify_expr): Copy the LHS of a binary
	expression into a temporary variable.

	(java_gimplify_new_array_init): Set the DECL_CONTEXT of array and
	tmp to current_function_decl.

2004-04-13  Diego Novillo  <dnovillo@redhat.com>

	* expr.c (build_expr_wfl): Don't check type nodes for
	side effects.

2004-04-12  Diego Novillo  <dnovillo@redhat.com>

	* decl.c (java_expand_stmt): Remove.
	* lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Remove.

2004-02-24  Richard Henderson  <rth@redhat.com>

	* java-gimplify.c (java_gimplify_new_array_init): Remove extra
	argument building BLOCK.

2004-02-19  Steven Bosscher  <stevenb@suse.de>

	* decl.c (poplevel): Don't output nested inline functions.

2004-02-16  Richard Henderson  <rth@redhat.com>

	* builtins.c (java_build_function_call_expr): Add static chain
	operand to call_expr.

2004-01-29  Richard Henderson  <rth@redhat.com>

	PR java/12906
	* decl.c (maybe_pushlevels): Careful with TREE_CHAIN when
	registering decls with push_jvm_slot.

2003-12-10  Diego Novillo  <dnovillo@redhat.com>

	* parse.y (resolve_field_access): Remove superfluous
	initialization of decl.

2003-12-10  Richard Henderson  <rth@redhat.com>

	* lang.c (java_post_options): Don't ever use rtl inlining.

2003-12-06  Jan Hubicka  <jh@suse.cz>

	* parse.y (resolve_field_access): Initialize decl.

2003-11-31  Richard Henderson  <rth@redhat.com>

	* lang.c (java_start_inlining): Remove.
	(LANG_HOOKS_TREE_INLINING_START_INLINING): Remove.

2003-11-31  Richard Henderson  <rth@redhat.com>

	* jcf-parse.c (java_parse_file): Finalize cgraph after emitting
	class tables.

2003-11-24  Richard Henderson  <rth@redhat.com>

	* Make-lang.in (parse.o): Remove -Wno-error.

2003-11-20  Richard Henderson <rth@redhat.com>

	* constants.c (build_constant_data_ref): Lay out the array type.

2003-11-20  Richard Henderson <rth@redhat.com>

	* class.c (build_indirect_class_ref): Use convert.
	* constants.c (build_constant_data_ref): Fix type on the decl
	and return that directly.
	(build_constants_constructor): Remove kruft to match.
	(build_ref_from_constant_pool): Use ARRAY_REF.
	* expr.c (build_java_indirect_ref): Use convert.
	(build_known_method_ref): Likewise.
	* parse.y (patch_string_cst): Likewise.

	* class.c (finish_class): Kill code to output_inline_function.

2003-11-12  Jason Merrill  <jason@redhat.com>

	PR optimization/12547
	* lang.c (java_tree_inlining_walk_subtrees): Restore.
	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Restore.

2003-11-12  Richard Henderson  <rth@redhat.com>

	* java-gimplify.c (java_gimplify_expr): Use annotate_with_locus
	instead of annotate_all_with_locus.

2003-11-10  Richard Henderson  <rth@redhat.com>

	* expr.c: Use append_to_statement_list instead of add_tree.

2003-10-30  Richard Henderson  <rth@redhat.com>

	* java-gimplify.c (cleanup_compound_expr): Remove.
	(cleanup_try_finally_expr): Remove.
	(java_gimplify_expr): Don't call them.
	(java_gimplify_case_expr): Use create_artificial_label.
	(java_gimplify_default_expr): Likewise.

2003-10-30  Richard Henderson  <rth@redhat.com>

	* expr.c (expand_java_switch, expand_java_add_case): New.
	(LOOKUP_SWITCH, TABLE_SWITCH): Use them.

2003-10-23  Richard Henderson  <rth@redhat.com>

	* java-gimplify.c (java_gimplify_expr): Return gimplify_status.

2003-10-14  Richard Henderson  <rth@redhat.com>

	* decl.c (finish_method): Set cfun->function_end_locus.
	* java-gimplify.c (java_gimplify_expr): Set input_location
	for EXPR_WITH_FILE_LOCATION.  Use annotate_all_with_locus.
	* parse.h (DECL_SOURCE_LINE_MERGE): Remove.
	(DECL_SOURCE_LINE_FIRST, DECL_SOURCE_LINE_LAST): Remove.
	* parse.y (missing_return_error): Use DECL_FUNCTION_LAST_LINE.
	(finish_method_declaration): Likewise.
	(start_artificial_method_body): Likewise.
	(lookup_cl): Use DECL_SOURCE_LINE.
	(start_complete_expand_method): Likewise.
	(java_complete_lhs): Fix IS_EXPR_CODE_CLASS check.

2003-10-13  Richard Henderson  <rth@redhat.com>

	* decl.c (java_add_stmt): Use annotate_with_locus.

2003-10-13  Richard Henderson  <rth@redhat.com>

	* expr.c (build_java_jsr): Don't emit LABEL_EXPR or
	load_type_state here.

2003-10-12  Richard Henderson  <rth@redhat.com>

	* class.c (build_utf8_ref, get_dispatch_table): Set TREE_INVARIANT.
	(make_class_data, build_symbol_entry, emit_symbol_table): Likewise.
	* decl.c (java_init_decl_processing): Likewise.
	* except.c (prepare_eh_table_type): Likewise.
	* parse.y (patch_assignment, patch_binop): Likewise.
	(patch_string_cst, patch_new_array_init): Likewise.
	* resource.c (compile_resource_data): Likewise.

2003-10-08  Jeff Sturm  <jsturm@one-point.com>

	* decl.c (cgraph.h): Include.
	(tree-inline.h, tree-dump.h, tree-flow.h): Remove includes.
	(complete_start_java_method): Remove.
	(start_java_method): Combine with complete_start_java_method.
	Remove dead code.
	(end_java_method): Don't patch or expand tree.
	Use finish_method.
	(finish_method): New function.
	(java_expand_body): Use tree_rest_of_compilation.
	(java_expand_stmt): New function.

	* java-gimplify.c (tree-dump.h): Include.
	(java_genericize): New function.
	(dump_java_tree): Declare.  New function.

	* java-tree.h (start_complete_expand_method): Remove declaration.
	(complete_start_java_method): Remove declaration.
	(finish_method, java_expand_stmt, java_genericize): Declare.

	* lang.c (LANG_HOOKS_RTL_EXPAND_STMT): Define.

	* parse.y (tree-inline.h, tree-dump.h, tree-flow.h,
	cgraph.h): Remove includes.
	(start_complete_expand_method): Declare.
	(source_end_java_method): Don't expand tree.  Use finish_method.
	Reset current_function_decl.
	(java_expand_method_bodies): Don't patch tree for class
	initialization or method synchronization.

2003-10-01  Richard Henderson  <rth@redhat.com>

	* decl.c (end_java_method): Invoke remove_useless_stmts_and_vars
	and lower_eh_constructs.
	* parse.y (source_end_java_method): Likewise.

2003-09-24  Jason Merrill  <jason@redhat.com>

	* decl.c, jcf-parse.c, jcf-write.c, parse.h, parse.y, resource.c:
	Revert from TREE_LOCUS to DECL_SOURCE_LOCATION.

2003-09-18  Richard Henderson  <rth@redhat.com>

	* lang.c (java_estimate_num_insns): Take an expr, not a decl.

2003-08-12  Diego Novillo  <dnovillo@redhat.com>

	* java-gimplify.c (java_gimplify_block): If the body is a
	NULL_TREE, return an empty statement.

2003-08-08  Jason Merrill  <jason@redhat.com>

	* parse.y (source_end_java_method): Support
	!keep_function_tree_in_gimple_form.
	Do TDI_generic dump.

2003-07-31  Andrew Haley  <aph@redhat.com>

	* java-tree.h: (add_stmt_to_compound): New function.
	(java_add_stmt): New function.
	(java_add_local_var): New function.
	(get_stmts): New function.
	* java-gimplify.c (java_gimplify_block): Allow for null body.
	* except.c (link_handler): Set h->stmt.
	(expand_start_java_handler): Build a TRY_CATCH_EXPR for this
	range;  don't expand_eh_region_start.
	(expand_end_java_handler): Rewrite.
	* java-except.h (stmt): New field.
	* expr.c (flush_quick_stack): Replace expand_assignment with
	java_add_stmt.
	(java_stack_dup): Replace emit_move_insn with java_add_stmt.
	(build_java_athrow): Replace expand_expr_stmt with java_add_stmt.
	(build_java_jsr): Replace emit_jump with java_add_stmt (build (GOTO_EXPR))
	(build_java_ret): Replace expand_computed_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_java_arraystore): Replace expand_assignment with
	java_add_stmt.
	(expand_java_return): Replace expand_return with
	java_add_stmt (build (RETURN_EXPR))
	(expand_load_internal): Remove layout_decl, DECL_REGISTER,
	expand_decl, and expand_decl_init.  Instead, add the local
	variable and a MODIFY_EXPR to the current tree.
	(expand_iinc): Replace expand_assignment with
	java_add_stmt.
	(expand_compare): Replace expand_cond with
	java_add_stmt(build (COND_EXPR))
	(expand_java_goto): Replace expand_goto with
	java_add_stmt (build (GOTO_EXPR))
	(expand_invoke): Replace expand_expr_stmt with java_add_stmt.
	(build_jni_stub): Generate a BIND_EXPR to hold the block we've
	created.  Don't distinguish between source and byte compiler.
	(expand_java_field_op):  Replace expand_assignment with
	java_add_stmt.
	(java_expand_expr): Abort.  No-one should call this function any
	more.
	(expand_byte_code): Replace expand_label with
	java_add_stmt (build (LABEL_EXPR))
	(process_jvm_instruction): Replace build (JAVA_EXC_OBJ_EXPR) with
	build_exception_object_ref.  Replace expand_assignment with
	java_add_stmt.
	* except.c (link_handler): Null stmt field.
	(expand_start_java_handler): Don't expand_eh_region_start.
	Instead, generate a TRY_CATCH_EXPR and insert it into the tree
	we're building.
	(expand_end_java_handler): Don't expand_start_all_catch.  Instead,
	build a TRY_FINALLY_EXPR and wrap the catch block with it.
	Don't expand_end_all_catch.
	* decl.c (push_jvm_slot): Call pushdecl().
	(find_local_variable): Give symbolic names to unnamed local
	variables.
	(struct binding_level: stmts): New field.
	(poplevel): If any statements have been generated at this level,
	create a BIND_EXPR to hold them and copy the variables to it.  If
	we are at the outermost level, save this BIND_EXPR in the
	DECL_SAVED_TREE of this function.
	(maybe_pushlevels): Don't expand_start_bindings.
	(maybe_poplevels): Don't expand_end_bindings.
	(complete_start_java_method): Reorganize static initialization and
	synchronization logic for source compiler.  Remove pushlevel and
	expand_start_bindings for byte compiler.
	(end_java_method): Don't expand_end_bindings.  Add static
	initialization and synchronization logic for byte compiler.
	Set cfun->x_whole_function_mode_p.
	Call gimplify_function_tree and optimize_function_tree and
	expand_expr_stmt.
	(add_stmt_to_compound): New.
	(java_add_stmt): New.
	(java_add_local_var): New.
	(get_stmts): New.
	* parse.y (add_stmt_to_compound): Remove.
	* jcf-parse.c (parse_class_file): Don't call expand_expr_stmt for
	a native method -- we'll do that later.

2003-07-27  Andreas Jaeger  <aj@suse.de>

	* expr.c (build_expr_wfl): Convert remaining K&R prototypes
	to ISO C90.

2003-06-28  Jeff Sturm  <jsturm@one-point.com>

	* java-gimplify.c (java_gimplify_block): Rebuild BLOCK_SUBBLOCKS.
	* lang.c (flag_disable_gimple): Remove initialization.

2003-06-23  Jeff Law  <law@redhat.com>

	* Make-lang.in (java-gimplify.o): Add dependencies.

2003-06-22  Jeff Sturm  <jsturm@one-point.com>

	* parse.y (source_end_java_method): Don't attempt to inline
	or optimize trees if flag_disable_gimple.

	* Make-lang.in (JAVA_OBJS): Remove java-tree-inline.o.

2003-06-21  Jeff Sturm  <jsturm@one-point.com>

	* Make-lang.in (JAVA_OBJS): Add java-gimplify.o.

	* decl.c (java_init_decl_processing): Initialize size_type_node.
	(complete_start_java_method): Update DECL_SAVED_TREE.
	(dump_function): Remove.
	(java_optimize_inline): Remove.

	* expr.c (always_initialize_class_p): Initialize to 1.
	(build_instanceof): Build proper boolean condition.
	(build_class_init): Set DECL_INITIAL for init_test_decl.
	(force_evaluation_order): Don't save_expr a void expr node.

	* java-gimplify.c: New file.

	* java-tree.h (java_gimplify_expr): Declare.

	* lang.c (java_tree_inlining_walk_subtrees): Remove declaration.
	(flag_optimize_sci): Initialize to 0.
	(LANG_HOOKS_TREE_INLINING_WALK_SUBTREES): Remove define.
	(LANG_HOOKS_SIMPLIFY_EXPR): Add define.
	(java_tree_inlining_walk_subtrees): Remove function.
	(java_init): Set flag_disable_gimple to 1.

	* parse.y (source_end_java_method): Set cfun->x_whole_function_mode_p.
	Gimplify.  Optimize tree before expanding.  Update comments.
	(java_expand_method_bodies): Always save DECL_SAVED_TREE.
	(patch_invoke): Don't save_expr force_evaluation_order result.
	(patch_assignment): Use simpler compound expression.
	(patch_if_else_statement): Don't optimize constant condition nodes.

2003-03-02  Diego Novillo  <dnovillo@redhat.com>

	* class.c: Replace DECL_SOURCE_FILE with TREE_FILENAME and
	DECL_SOURCE_LINE with TREE_LINENO everywhere.

2003-02-03  Diego Novillo  <dnovillo@redhat.com>

	* parse.y (qualify_ambiguous_name): Initialize variable 'decl'.

2003-01-15  Jeff Law <law@redhat.com>

	* class.c: Use TREE_FILENAME and TREE_LINENO to extract file/line
	information from tree nodes.  Use annotate_with_file_line to
	annotate tree nodes with file/line information.
	* decl.c, jcf-parse.c, jcf-write.c, parse.h: Likewise.
	* parse.y: Likewise.
	* expr.c (java_expand_expr): Handle EXPR_WITH_FILE_LOCATION nodes.
	(build_expr_wfl): New function.
	* java-tree.def (EXPR_WITH_FILE_LOCATION): New node.
	* java-tree.h (EXPR_WFL_*): New macros.
	(build_expr_wfl): Declare.

Local Variables:
mode: change-log
change-log-default-name: "ChangeLog.tree-ssa"
End:


Copyright (C) 2003-2004 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.