summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
blob: 479cec5166e089b72839dc9caa50021421129dc2 (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
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
2004-07-03  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
	doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
	doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
	doc/portability.texi, doc/tree-ssa.texi, doc/trouble.texi: Avoid
	some first-person references and patronizing comments.  Based on
	printed manual.
	* doc/invoke.texi: Don't reference fortran@gnu.org.
	* doc/trouble.texi (Warning when a non-void function value is
	ignored): Rewrite.  From Russ Allbery and Chris Devers.

2004-07-02  Daniel Berlin  <dberlin@dberlin.org)

	* tree-ssa-pre.c (bitmap_set_t): New.
	(bb_value_sets): avail_out is now a bitmap_set_t.
	(bitmap_find_leader): New function.
	(bitmap_value_insert_into_set): Ditto.
	(bitmap_set_copy): Ditto.
	(bitmap_value_replace_in_set): Ditto.
	(bitmap_set_contains_value): Ditto.
	(bitmap_set_new): Ditto.
	(bitmap_set_pool): New pool.
	(find_or_generate_expression): Use bitmap_ functions on AVAIL sets.
	(insert_aux): Ditto.
	(add_to_sets): Ditto.
	(compute_avail): Ditto
	(eliminate): Ditto.
	(init_pre): Ditto.
	(fini_pre): Ditto.
	(execute_pre): Ditto.

2004-07-02  Roger Sayle  <roger@eyesopen.com>

	* config/rs6000/rs6000.c (struct processor_costs): New structure
	used to hold instruction latencies/sizes for processor types.
	(rs6000_cost): New global variable pointing to current CPU's costs.
	(rs6000_override_options): Initialize rs6000_cost to point to the
	appropriate cost table based upon rs6000_cpu and optimize_size.
	(rs6000_rtx_costs): Use rs6000_cost to avoid hardcoding processor
	timings inline.

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

	* expmed.c (make_tree): Don't use SET_DECL_RTL.

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

	* tree-flow.h (bb_ann_d): Remove ephi_nodes field.

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

	* config/alpha/alpha.c (struct machine_function): Add gp_save_rtx.
	(alpha_gp_save_rtx): Use assign_stack_local instead of
	gen_mem_addressof.

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

	* config/alpha/alpha.c (struct alpha_rtx_cost_data): Add int_div.
	(alpha_rtx_cost_data): Update to match.
	(alpha_rtx_cost_size): New.
	(alpha_rtx_costs): Honor optimize_size.

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

	* gimple-low.c (lower_function_body): Don't reset_block_changes here.
	* cfgexpand.c (tree_expand_cfg): Do it here.
	* config/alpha/alpha.c (alpha_output_mi_thunk_osf): And here.
	* config/ia64/ia64.c (ia64_output_mi_thunk): And here.
	* config/mips/mips.c (mips_output_mi_thunk): And here.
	* config/rs6000/rs6000.c (rs6000_output_mi_thunk): And here.
	* config/sh/sh.c (sh_output_mi_thunk): And here.
	* config/sparc/sparc.c (sparc_output_mi_thunk): And here.

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

	* tree.def (RTL_EXPR): Remove.
	* c-typeck.c (lvalue_p): Don't handle it.
	* expr.c (safe_from_p): Likewise.
	(expand_expr_real_1): Likewise.
	* fold-const.c (non_lvalue, operand_equal_p, fold): Likewise.	
	(fold_checksum_tree, tree_expr_nonnegative_p): Likewise.
	* gengtype.c (adjust_field_tree_exp): Likewise.
	* stmt.c (warn_if_unused_value): Likewise.
	* tree-gimple.c (recalculate_side_effects): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree.c (make_node_stat, first_rtl_op, unsave_expr_1): Likewise.
	(unsafe_for_reeval, stabilize_reference, build1_stat): Likewise.
	* tree.h (RTL_EXPR_SEQUENCE, RTL_EXPR_RTL, RTL_EXPR_ALT_RTL): Remove.

	* stmt.c (struct stmt_status): Remove x_last_expr_type,
	x_last_expr_value, x_last_expr_alt_rtl, x_expr_stmts_for_value.
	(last_expr_type, last_expr_value, last_expr_alt_rtl): Remove.
	(expand_expr_stmt): Merge with expand_expr_stmt_value.  Remove
	all the bits that tracked last_expr.
	(expand_end_bindings): Don't track last_expr.
	(expand_start_stmt_expr, expand_end_stmt_expr): Remove.
	(clear_last_expr): Remove.
	(expand_asm): Don't call it.
	(expand_asm_operands, expand_end_cond): Likewise.
	(expand_naked_return, expand_null_return_1): Likewise.
	* c-typeck.c (c_begin_compound_stmt): Likewise.
	* cfgexpand.c (expand_block): Use expand_expr_stmt.
	* expr.c (expand_expr_real_1): Likewise.
	* tree.h: Update prototypes.

	* function.h (struct sequence_stack): Remove sequence_rtl_expr.
	(struct emit_status): Remove sequence_rtl_expr.
	(struct function): Remove x_rtl_expr_chain.
	(seq_rtl_expr, rtl_expr_chain): Remove.
	* function.c (struct temp_slot): Remove rtl_expr.
	(assign_stack_temp_for_type): Don't set it.
	(free_temp_slots, pop_temp_slots): Don't check it.
	(free_after_compilation): Don't clear x_rtl_expr_chain.
	(fixup_var_refs): Don't search it.
	(preserve_rtl_expr_result, free_temps_for_rtl_expr): Remove.
	* emit-rtl.c (start_sequence): Don't use sequence_rtl_expr
	or seq_rtl_expr.
	(push_topmost_sequence): Likewise.
	(end_sequence, init_emit): Likewise.
	(start_sequence_for_rtl_expr): Remove.
	* expmed.c (make_tree): Build a VAR_DECL instead of an RTL_EXPR.
	* rtl.h (preserve_rtl_expr_result): Remove.

2004-07-02  Kazu Hirata  <kazu@cs.umass.edu>

	* ifcvt.c, modulo-sched.c, tree-alias-common.c, tree-sra.c,
	tree-ssa-copy.c, tree-ssa-dom.c, tree-ssa-pre.c: Fix comment
	typos.

2004-07-02  Aaron W. LaFramboise <aaronraolete36@aaronwl.com>

	* gcc.c (STANDARD_STARTFILE_PREFIX_1): Define.
	(STANDARD_STARTFILE_PREFIX_2): Define.
	(standard_startfile_prefix_1): Initialize to
	STANDARD_STARTFILE_PREFIX_1.
	(standard_startfile_prefix_2): Initialize to
	STANDARD_STARTFILE_PREFIX_2.
	* config/i386/mingw32.h (MD_STARTFILE_PREFIX): Remove.
	(STANDARD_STARTFILE_PREFIX_1): Define.
	(STANDARD_STARTFILE_PREFIX_2): Define.
	* doc/tm.texi (STANDARD_STARTFILE_PREFIX_1): Document.
	(STANDARD_STARTFILE_PREFIX_2): Document.

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

	* tree-sra.c (sra_walk_expr): Don't maybe_lookup_element_for_expr
	in order to disable scalarization.  Instead set a flag and wait
	for a candidate decl.

2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>

	* doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
	doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
	Use terminology "testsuite" and "enumerated".

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

	* dwarf2out.c (reg_save): Use INVALID_REGNUM.
	(dwarf2out_reg_save, dwarf2out_return_save): Likewise.
	(initial_return_save): Likewise.
	(flush_queued_reg_saves): Remap register numbers.
	(dwarf2out_return_reg): Likewise.

2004-07-01  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

	* gimplify.c (gimplify_one_sizepos): Don't do anything if any VAR_DECL.

	* tree-pretty-print.c (dump_generic_node, case ARRAY_REF): Use
	access functions for lower bound and element size and only output
	if lower bound nonzero or element size not same as that of type.
	(dump_generic_node, case COMPONENT_REF): Use access func. for offset.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* c-pretty-print.c (pp_c_postfix_expression): Fix pasto.

2004-07-01  Per Bothner  <per@bothner.com>

	* final.c (final):  Fix typo reported by Aaron W. LaFramboise.

2004-07-01  Jakub Jelinek  <jakub@redhat.com>

	* expr.c (expand_assignment): Optimize bitfld += cst for 1 bit
	bitfields as well.  STRIP_NOPS from src operand and PLUS_EXPR's
	first operand.  Don't optimize if the bitfield is volatile.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* c-pretty-print.c (pp_c_postfix_expression): Handle
	floating-point comparison operators.
	(pp_c_expression): Pass floating-point comparison
	operators to pp_c_postfix_expression.

2004-07-01  Roger Sayle  <roger@eyesopen.com>

	* simplify-rtx.c (simplify_binary_operation) <PLUS, MINUS>: Use
	rtx_cost instead of "had_mult" to determine whether the transformed
	expression is cheaper than the original.

2004-07-01  Jerry Quinn  <jlquinn@optonline.net>

	* alias.c (get_alias_set, canon_rtx, get_addr,
	nonoverlapping_memrefs_p, nonlocal_referenced_p_1, memory_modified_1):
	Use MEM_P.
	* builtins.c (expand_builtin_prefetch, expand_builtin_profile_func,
	expand_builtin): Likewise.
	* calls.c (expand_call, emit_library_call_value_1, store_one_arg):
	Likewise. 
	* combine.c (can_combine_p, combinable_i3pat, try_combine,
	find_split_point, combine_simplify_rtx, simplify_set, make_extraction,
	rtx_equal_for_field_assignment_p, gen_lowpart_for_combine,
	record_dead_and_set_regs_1, get_last_value_validate,
	mark_used_regs_combine, move_deaths, unmentioned_reg_p_1): Likewise.
	* cse.c (check_dependence, canon_hash, equiv_constant,
	gen_lowpart_if_possible, cse_insn, invalidate_from_clobbers,
	cse_around_loop, cse_check_loop_start, cse_set_around_loop,
	count_reg_usage): Likewise.
	* cselib.c (rtx_equal_for_cselib_p, add_mem_for_addr, cselib_lookup,
	cselib_invalidate_mem, cselib_invalidate_rtx, cselib_record_set,
	cselib_record_sets): Likewise.
	* dbxout.c (PARM_PASSED_IN_MEMORY, dbxout_symbol,
	dbxout_symbol_location, dbxout_parms, dbxout_reg_parms): Likewise.
	* ddg.c (mark_mem_use, mark_mem_store, rtx_mem_access_p): Likewise.
	* df.c (df_uses_record): Likewise.
	* dojump (do_jump): Likewise.
	* dwarf2out.c (stack_adjust_offset, mem_loc_descriptor,
	loc_descriptor_from_tree, rtl_for_decl_location, add_bound_info,
	decl_start_label): Likewise.
	* emit-rtl.c (gen_complex_constant_part, gen_highpart,
	operand_subword, change_address_1, make_safe_from): Likewise.
	* explow.c (break_out_memory_refs, copy_all_regs, validize_mem,
	stabilize, force_not_mem): Likewise.
	* expmed.c (store_bit_field, store_split_bit_field, extract_bit_field,
	expand_mult_const, expand_divmod, emit_store_flag): Likewise.
	* expr.c (convert_move, convert_modes, emit_block_move,
	emit_group_load, emit_group_store, clear_storage, emit_move_insn,
	emit_move_insn_1, expand_assignment, store_expr,
	store_constructor_field, store_constructor, store_field,
	force_operand, safe_from_p, expand_expr_real_1, expand_increment):
	Likewise. 
	* final.c (cleanup_subreg_operands, alter_subreg,
	get_mem_expr_from_op): Likewise.
	* flow.c (notice_stack_pointer_modification_1,
	init_propagate_block_info, insn_dead_p, mark_set_1, mark_used_regs):
	Likewise. 
	* function.c (mark_temp_addr_taken, preserve_temp_slots,
	preserve_rtl_expr_result, put_var_into_stack, fixup_var_refs_1,
	optimize_bit_field, flush_addressof, purge_addressof_1,
	instantiate_decl, instantiate_virtual_regs_1, assign_parms,
	setjmp_protect, setjmp_protect_args, fix_lexical_addr,
	keep_stack_depressed): Likewise.
	* ifcvt.c (noce_try_cmove_arith, noce_try_abs, noce_operand_ok,
	noce_process_if_block, find_memory): Likewise.
	* integrate.c (subst_constants, allocate_initial_values): Likewise.
	* local-alloc.c (validate_equiv_mem_from_store, memref_referenced_p,
	update_equiv_regs): Likewise.
	* loop.c (scan_loop, prescan_loop, note_addr_stored, check_store,
	maybe_eliminate_biv_1, find_mem_in_note_1): Likewise.
	* optabs.c (expand_abs, emit_unop_insn): Likewise.
	* passes.c (rest_of_handle_final): Likewise.
	* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
	move2add_note_store): Likewise.
	* ra-build.c (detect_remat_webs): Likewise.
	* ra-debug.c (dump_static_insn_cost): Likewise.
	* ra-rewrite.c (slots_overlap_p, insert_stores): Likewise.
	* recog.c (validate_change, apply_change_group, cancel_changes,
	validate_replace_rtx_1, general_operand, register_operand,
	nonmemory_operand, push_operand, pop_operand, memory_operand,
	indirect_operand, asm_operand_ok, offsettable_memref_p,
	offsettable_nonstrict_memref_p, constrain_operands,
	store_data_bypass_p): Likewise.
	* reg-stack.c (subst_stack_regs_pat): Likewise.
	* regclass.c (record_operand_costs, scan_one_insn, record_reg_classes,
	copy_cost, reg_scan_mark_refs): Likewise.
	* regmove.c (optimize_reg_copy_3, stack_memref_p,
	combine_stack_adjustments_for_block): Likewise.
	* regrename.c (copyprop_hardreg_forward_1): Likewise.
	* reload.c (can_reload_into, push_reload, decompose, immune_p,
	find_reloads, find_reloads_address, find_reloads_address_1,
	reg_overlap_mentioned_for_reload_p, refers_to_mem_for_reload_p,
	find_equiv_reg): Likewise.
	* reload1.c (reload, eliminate_regs, eliminate_regs_in_insn,
	reload_as_needed, choose_reload_regs, emit_input_reload_insns,
	do_input_reload, emit_reload_insns, gen_reload, delete_output_reload,
	delete_address_reloads): Likewise.
	* resource.c (mark_referenced_resources): Likewise.
	* rtlanal.c (get_jump_table_offset, count_occurrences,
	reg_referenced_p, reg_set_p, set_of_1, set_noop_p,
	reg_overlap_mentioned_p, note_uses, replace_regs, nonzero_bits1,
	num_sign_bit_copies1): Likewise.
	* rtlhooks.c (gen_lowpart_general): Likewise.
	* sched-deps.c (sched_analyze_1, sched_analyze_2): Likewise.
	* sdbout.c (PARM_PASSED_IN_MEMORY, sdbout_symbol,
	sdbout_toplevel_data, sdbout_parms, sdbout_reg_parms,
	sdbout_global_decl): Likewise.
	* simplify-rtx.c (simplify_subreg): Likewise.
	* stmt.c (expand_asm_operands, expand_expr_stmt_value, expand_decl,
	expand_anon_union_decl, expand_end_case_type): Likewise.
	* unroll.c (calculate_giv_inc): Likewise.
	* var-tracking.c (stack_adjust_offset_pre_post,
	bb_stack_adjust_offset, track_expr_p, count_uses, add_uses,
	add_stores, compute_bb_dataflow, vt_get_decl_and_offset,
	vt_add_function_parameters): Likewise.
	* varasm.c (make_var_volatile, notice_global_symbol,
	assemble_external, decode_addr_const, mark_weak,
	default_encode_section_info): Likewise.

2004-07-01  Steven Bosscher  <stevenb@suse.de>

	* stmt.c (check_seenlabel): Remove.
	(pushcase, pushcase_range, expand_end_case_type): Don't call it.

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

	* function.h (struct function): Remove x_function_call_count.
	(function_call_count): Remove.
	* calls.c (expand_call): Don't set it.
	* integrate.c (copy_rtx_and_substitute): Likewise.

	* function.h (struct function): Remove x_cleanup_label.
	(cleanup_label): Remove.
	* stmt.c (expand_value_return): Don't use it.
	* function.c (free_after_compilation): Don't set it.
	(expand_function_start): Likewise.  Remove parms_have_cleanups arg.
	* cfgexpand.c (tree_expand_cfg): Update call.
	* tree.h (expand_function_start): Update decl.

2004-07-01  Joseph S. Myers  <jsm@polyomino.org.uk>

	PR c/1027
	* c-lang.c (c_initialize_diagnostics): Move from here ...
	* c-objc-common.c: ... to here.  Include "c-pretty-print.h".
	(c_tree_printer): Use pretty-printer to format %T.
	* c-pretty-print.c (pp_c_specifier_qualifier_list): Include space
	before '*' if not C++.
	(pp_c_direct_abstract_declarator): Don't try to print array upper
	bound for flexible array members.
	* c-tree.h: Include "diagnostic.h".
	(c_initialize_diagnostics): Declare.
	* objc/objc-lang.c (LANG_HOOKS_INITIALIZE_DIAGNOSTICS): Define.
	* c-format.c (format_type_warning): New function.  Improve
	diagnostics for incorrect format argument types.
	(check_format_types): Use it.  Add two parameters.  Use the
	TYPE_MAIN_VARIANT of wanted_type.
	(check_format_info_main): Pass new parameters to
	check_format_types.
	(struct format_wanted_type): Update comment.

2004-07-01  Nick Clifton  <nickc@redhat.com>

	* target.h (struct gcc_target): Add new field to struct cxx:
	import_export_class.
	* target-def.h (TARGET_CXX): Initialise the new field.
	(TARGET_CXX_IMPORT_EXPORT_CLASS): Provide a default value for
	the new field.  
	* doc/tm.texi: Document the new target hook.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin_classify): Fix typo.

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

	* function.c (identify_blocks, identify_blocks_1): Remove.
	* function.h (identify_blocks): Remove.
	* rtl.h (NOTE_INSN_BLOCK_BEG): Update comment.

2004-07-01  Paolo Bonzini  <bonzini@gnu.org>

	* builtins.c (fold_builtin_classify): New.
	(fold_builtin_unordered_cmp): Fix commentary.
	(fold_builtin): Use it.
	* builtins.def: Define builtins for isnan,
	isnanf, isnanl, finite, finitef, finitel,
	isinf, isinff, isinfl.

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

	* function.h (struct function): Remove dont_emit_block_notes.
	* gimple-low.c (lower_function_body): Don't set it.
	* cfgexpand.c (expand_block): Don't check it.
	* cfglayout.c (insn_locators_initialize): Likewise.
	* expr.c (expand_expr_real, expand_expr_real_1): Likewise.
	* passes.c (rest_of_compilation): Likewise.
	* stmt.c (expand_start_bindings_and_block): Likewise.
	(expand_end_bindings): Likewise.

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

	* cgraph.h (cgraph_build_static_cdtor): Declare.
	* cgraphunit.c (cgraph_build_static_cdtor): New.
	* c-objc-common.c (build_cdtor): Use it.
	* coverage.c (create_coverage): Likewise.
	* libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove.
	* optabs.c (init_optabs): Don't set gcov_init_libfunc.

See ChangeLog.11 for earlier changes.