OSDN Git Service

6e8f49130d4f0aaa17aa99024c9df281857edab1
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2
3         * alias.c (set_mem_alias_set): New function.
4         * rtl.h (set_mem_alias_set): Declare it.
5         * builtins.c (expand_builtin_return_addr): Call it instead of
6         using MEM_ALIAS_SET accessor.
7         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
8         (get_memory_rtx, expand_builtin_va_arg): Likewise.
9         (expand_builtin_va_copy):Likewise.
10         * caller-save.c (setup_save_areas): Likewise.
11         * calls.c (compute_argument_addresses): Likewise.
12         * explow.c (set_mem_attributes): Likewise.
13         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
14         (expand_assignment, store_constructor_field, store_field): Likewise.
15         (expand_expr_unaligned): Likewise.
16         * function.c (assign_stack_temp_for_type): Likewise.
17         (put_reg_into_stack, gen_mem_addressof): Likewise.
18         * ifcvt.c (noce_try_cmove_arith): Likewise.
19         * reload1.c (reload, alter_reg): Likewise.
20         * config/alpha/alpha.c (get_aligned_mem): Likewise.
21         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
22         (alpha_expand_unaligned_store): Likewise
23         (alpha_expand_unaligned_load_words): Likewise.
24         (alpha_expand_unaligned_store_words): Likewise.
25         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
26         (alpha_expand_epilogue): Likewise.
27         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
28         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
29         * config/i386/i386.c (legitimize_pic_address): Likewise.
30         * config/i960/i960.c (setup_incoming_varargs): Likewise.
31         * config/ia64/ia64.c (spill_restore_mem): Likewise.
32         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
33         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
34         * config/mips/mips.c (mips_va_arg): Likewise.
35         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
36         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
37         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
38         (setup_incoming_varargs, rs6000_va_arg): Likewise.
39         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
40         (rs6000_emit_epilogue): Likewise.
41         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
42         * config/sparc/sparc.c (sparc_va_arg): Likewise.
43         * config/v850/v850.c (v850_va_arg): Likewise.
44
45 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
46
47         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
48         when fallthru edge is present.
49         (mege_blocks): Handle case where creation of jump insn
50         is required.
51
52         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
53         CLEANUP_POST_REGSTACK): New constants.
54         * except.c (finish_eh_generation): Update call of cleanup_cfg,
55         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
56         * output.h (cleanup_cfg): Update prototype.
57         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
58         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update 
59         cleanup_cfg call; kill missleading comment.
60         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
61         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
62         parameter; control optimizations performed using it.
63         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
64         try_crossjump_bb): New functions.
65
66 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
67
68         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
69         extern.
70         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
71         pa_output_function_prologue.
72         * pa-protos.h (pa_output_function_prologue): New prototype.
73
74 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
75
76         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
77         and low to get correct sign extension in low+high test.
78
79 2001-07-11  Janis Johnson <janis@us.ibm.com>
80
81         * gcov.c (arcdata): Use gcov_type to fix branch percentage
82         for large hit count.
83
84         * profile.c (branch_prob): Fix .bbg info for computed gotos
85         and C++ EH code.
86
87 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
88
89         * stmt.c (parse_output_constraint): New function, split out 
90         from ...
91         (expand_asm_operands): ... here.  Use parse_output_constraint.
92         * tree.h (parse_output_constraint): Declare it.
93
94 2001-07-11  Richard Henderson  <rth@redhat.com>
95
96         * bitmap.c: Comment some functions; fiddle whitespace.
97         (bitmap_free): Don't export.
98         (bitmap_element_allocate): Use memset.
99         * bitmap.h (bitmap_free): Don't declare.
100
101 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
102
103         * gcse.c, lcm.c, sched-deps.c:
104         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
105
106         * flow.c (flow_loops_find): Free dom if we found no loops, since
107         we aren't going to save it.
108
109         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
110         done.
111
112 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
113
114         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
115
116 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
117
118         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
119         #ifndef DWARF2_DEBUGGING_INFO.
120
121 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
122
123         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
124
125 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
126
127         * config/mips/mips.c (gen_int_relational): Tell the caller not to
128         reverse a branch if a NE comparison is implemented with GTU.
129
130 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
131             H.J. Lu  <hjl@gnu.org>
132
133         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
134         constant addresses.
135         (call_internal2): Likewise.
136         (call_value_internal1): Likewise.
137         (call_value_internal2): Likewise.
138         (call_value_multiple_internal1): Likewise.
139         (call_value_multiple_internal2): Likewise.
140
141 2001-07-10  Kazu Hirata  <kazu@hxi.com>
142
143         * calls.c (emit_library_call_value_1): Fix a comment typo.
144         * dwarf2out.c (mem_loc_descriptor): Likewise.
145         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
146
147 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
148
149         * simplify-rtx.c (simplify_subreg): Fix typo in comment
150
151 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
152
153         * recog.c (offsettable_address_p): Handle LO_SUM case.
154         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
155         instead of plus_constant.
156         
157 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
158
159         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
160         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
161
162 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
163
164         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
165         adjust_address_nv instead of plus_constant.
166
167 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
168
169         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
170         dwarf2out.o): Depend on debug.h, wrap long lines.
171         * dbxout.c: Include debug.h.
172         (dbx_debug_hooks): New.
173         (dbxout_init): Make static, take just 2 args.
174         (dbxout_finish): Make static.
175         * dbxout.h (dbxout_init, dbxout_finish): Delete.
176         * debug.c: New file.
177         * debug.h: New file.
178         * dwarf2out.c: Include debug.h.
179         (dwarf2_debug_hooks): New.
180         (dwarf2out_init): Make static.
181         (dwarf2out_finish): Make static, take 2 args.
182         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
183         * dwarfout.c: Include debug.h.
184         (dwarf_debug_hooks): New.
185         (dwarfout_init): Make static.
186         (dwarfout_finish): Make static, take 2 args.
187         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
188         * sdbout.c: Include debug.h.
189         (sdb_debug_hooks): New.
190         (sdbout_init): Make static, take 2 args.
191         * sdbout.h (sdbout_init): Delete.
192         * toplev.c: Include debug.h.
193         (debug_hooks): New.
194         (compile_file): Set deubg_hooks based on command line options.
195         Use the hooks unconditionally rather than conditional compilation.
196
197 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
198
199         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
200         first_insn_after_basic_block_note instead.
201
202         * df.c (df_bb_refs_unlink): #if 0 out for now.
203
204 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
205
206         * ssa.h: Add prototype for ssa_const_prop
207         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
208         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
209         (ssa_fast_dce): Remove unused variable
210
211 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
212
213         * diagnostic.c (finish_diagnostic): Rename to
214         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
215         calls thourghout.
216
217 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
218
219         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
220         .loc support.
221
222         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
223         (dump_file): Only pad the demangled name with spaces if the 
224         mangled name was padded with spaces.
225
226 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
227
228         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
229         edge detection.
230
231 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
232
233         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
234         extraction if no direct load if either EXPAND_CONST_ADDRESS or
235         EXPAND_INITIALIZER.
236
237         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
238         whether can put offset inside LO_SUM to check mode alignment, not size.
239
240 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
241
242         * doc/tm.texi (Misc): Fix thinko.
243
244 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
245
246         * regmove.c (replace_in_call_usage): Fix warnings.
247         * sched-deps.c (add_dependence): Fix warnings.
248         * simplify-rtx.c (simplify_subreg): Likewise.
249         Return NULL_RTX instead of NULL.
250
251         * reg-stack.c (emit_swap_insn): Eliminate warnings.
252         (subst_asm_stack_regs): Likewise.
253
254         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
255         warnings.
256
257         * dwarf2out.c (output_call_frame_info): Declare i as int.
258         (build_abbrev_table): Declare n_alloc as int.
259         (dwarf2out_finish): Initialize die.
260         * except.c: Declare sjlj_funcdef_number as unsigned.
261         (connect_post_landing_pads): Declare j as unsigned.
262         (convert_to_eh_region_ranges): Initialize call_site.
263         (output_function_exception_table): Initialize tt_format_size.
264         * expr.c (move_by_pieces_1): Initialize to1.
265         (store_constructor): Initialize minelt and maxelt.
266         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
267         * function.c (instantiate_decls): Avoid signed/unsigned warning.
268
269         * c-decl.c (combine_parm_decls): Unused, remove.
270         * c-tree.h: Remove prototype for combine_parm_decls.
271
272         * reload.c (push_reload): Fix warning.
273         (regno_clobbered_p): Likewise.
274         * reload1.c (replace_pseudos_in_call_usage): Likewise.
275         (reload_combine): Likewise.
276
277         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
278         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
279         warnings.
280         * bitmap.c (bitmap_operation): Change user.
281         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
282
283 2001-07-10  Eric Christopher  <echristo@redhat.com>
284
285         * config/mips/mips.c (override_options): Fix typo.
286
287 2001-07-09  Stan Shebs  <shebs@apple.com>
288
289         * target.h (struct gcc_target): New fields init_builtins and
290         expand_builtin.
291         * target-def.h (TARGET_INIT_BUILTINS): New macro.
292         (TARGET_EXPAND_BUILTIN): New macro.
293         (TARGET_INITIALIZER): Add them.
294         * builtins.c: Include target.h.
295         (expand_builtin): Use targetm.expand_builtin.
296         (default_init_builtins): New function.
297         (default_expand_builtin): New function.
298         * expr.h (default_init_builtins): Declare.
299         (default_expand_builtin): Declare.
300         * c-common.c (c_common_nodes_and_builtins): Use
301         targetm.init_builtins.
302         * defaults.h (MD_INIT_BUILTINS): Remove.
303         * Makefile.in (builtins.o): Depend on target.h.
304
305         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
306         (TARGET_EXPAND_BUILTIN): Define.
307         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
308         (MD_EXPAND_BUILTIN): Remove.
309
310         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
311         (TARGET_EXPAND_BUILTIN): Define.
312         (c4x_init_builtins): Make endlink arg a local.
313         (c4x_print_operand): Fix typos in adjust_address usages.
314         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
315         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
316         (MD_EXPAND_BUILTIN): Remove.
317
318         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
319         (TARGET_EXPAND_BUILTIN): Define.
320         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
321         (ix86_init_builtins): Call new function only if TARGET_MMX.
322         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
323         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
324         (MD_EXPAND_BUILTIN): Remove.
325
326         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
327         (TARGET_EXPAND_BUILTIN): Define.
328         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
329         (MD_EXPAND_BUILTIN): Remove.
330
331         * doc/tm.texi: Document these changes.
332
333 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
334
335         * basic-block.h (tree_node): Forward declare if needed.
336         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
337         (BLOCK_HEAD_TREE): Define.
338         (BLOCK_END_TREE): Define.
339         (struct loops): Rename field 'tree' to 'tree_root'.
340         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
341         'end_tree'.
342         (flow_loops_tree_build): Rename reference to field 'tree' to
343         'tree_root'.
344         (flow_loops_level_compute): Ditto.
345         * predict.c (estimate_bb_frequencies): Ditto.
346         * tree.h (struct tree_common): Add field 'aux'.
347
348 2001-07-09  Stan Shebs  <shebs@apple.com>
349
350         * config/darwin.c (darwin_encode_section_info): Don't mark any
351         DECL_EXTERNAL node as defined.
352
353 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
354
355         * pa.c (pa_init_machine_status, pa_mark_machine_status,
356         pa_free_machine_status, hppa_init_pic_save): Delete.
357         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
358         (hppa_profile_hook): Use hppa_pic_save_rtx.
359         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
360         hppa_init_pic_save): Delete.
361         (hppa_pic_save_rtx): Declare.
362         * pa.md (call, call_value, sibcall, sibcall_value,
363         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
364
365 2001-07-09  Kazu Hirata  <kazu@hxi.com>
366
367         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
368         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
369
370 2001-07-09  Andreas Jaeger  <aj@suse.de>
371
372         * output.h: Add declaration of final_forward_branch_p.
373
374         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
375
376         * varray.c: Include errors.h for internal_error and trim_filename
377         declarations.
378
379         * Makefile.in (varray.o): Add errors.h.
380
381 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
382
383         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
384         * optabs.c (have_add2_insn): Check whether the add insn chosen
385         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
386         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
387
388 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
389
390         * Makefile.in (OBJS): Add ssa-ccp.o
391         (ssa-ccp.o): Add dependencies.
392         * toplev.c (DFI_ssa_ccp): New dump file enum.
393         (dump_file): Add entry for dumping after SSA CCP.
394         (flag_ssa_ccp): New flag variable.
395         (f_options): Add -fssa-ccp.
396         (rest_of_compilation): Run SSA CCP if requested.
397         * timevar.def (TV_SSA_CCP): New timevar.
398         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
399         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
400         Fix minor typo in SSA DCE documentation.
401         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
402         Add documentation for new dump option.  Renumber dump files
403         appropriately.
404
405 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
406
407         * emit-rtl.c (gen_highpart_mode): New.
408         * rtl.h (gen_highpart_mode): Declare.
409         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
410         operand can be VOIDmode constant.
411
412 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
413
414         * flow.c (redirect_edge_and_branch_force): New.
415         (can_fallthru): Ensure that basic blocks are succeeding.
416         (try_optimize_cfg): Do not delete basic block if it is the last one.
417
418         * flow.c (try_redirect_by_replacing_jump): Do not remove
419         jumps with side effects, unlink chain on fallthru edge;
420         set block for new jump instruction; avoid basic block to
421         over by line number note.
422
423         * flow.c (try_simplify_condjump): Verify that the condjump
424         is not always falling trought.
425
426         Re-install patch:
427         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
428
429         * flow.c (forwarder_block_p): Fix for fallthru blocks.
430         (try_redirect_by_replacing_jump): Update properly the count
431         and frequency information.
432
433 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
434
435         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
436         address that is a LO_SUM specially.
437         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
438
439         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
440
441         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
442         (operand_subword): Use them.
443         (change_address_1): Renamed from change_address; new arg VALIDATE.
444         * expr.h: Reflect above changes; change_address now macro.
445         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
446         making MEM.
447         * cselib.c (add_mem_for_addr): Likewise.
448         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
449         * regmove.c (try_apply_stack_adjustment): Likewise.
450         * reload.c (push_reload, make_memloc): Likewise.
451         * reload1.c (eliminate_regs): Likewise.
452         * simplify-rtx.c (simplify_replace_rtx): Likewise.
453         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
454         adjust_addess.
455         * combine.c (make_extraction, simplify_shift_const): Likewise.
456         (gen_lowpart_for_combine): Likewise.
457         * cse.c (gen_lowpart_if_possible): Likewise.
458         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
459         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
460         * optabs.c (gen_move_insn): Likewise.
461         * reload1.c (alter_reg): Likewise.
462         * simplify-rtx.c (simplify_subreg): Likewise.
463         * stmt.c (expand_anon_union_decl): Likewise.
464         * recog.c (validate_replace_rtx_1): Likewise.
465         (expr.h): Include.
466         * Makefile.in (recog.o): Add $(EXPR_H).
467         * explow.c (stabilize): Call replace_equiv_address.
468         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
469         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
470
471 2001-07-03  Andrew Haley  <aph@redhat.com>
472
473         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
474         the mode of the memory location.
475
476 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
477
478         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
479
480 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
481
482         * final.c (output_addr_const): Use target opening and
483         closing parentheses.
484         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
485         defaults, add to TARGET_ASM_OUT.
486         * target.h (struct gcc_target): Add open_paren and close_paren.
487         * doc/md.texi: Update.
488         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
489         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
490         TARGET_ASM_CLOSE_PAREN.
491         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
492         Override.
493         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
494         Override.
495         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
496         * config/a29k/a29k.h: Similarly.
497         * config/alpha/alpha.h: Similarly.
498         * config/arc/arc.h: Similarly.
499         * config/arm/aof.h: Similarly.
500         * config/arm/aout.h: Similarly.
501         * config/avr/avr.h: Similarly.
502         * config/c4x/c4x.h: Similarly.
503         * config/clipper/clipper.h: Similarly.
504         * config/convex/convex.h: Similarly.
505         * config/d30v/d30v.h: Similarly.
506         * config/dsp16xx/dsp16xx.h: Similarly.
507         * config/elxsi/elxsi.h: Similarly.
508         * config/fr30/fr30.h: Similarly.
509         * config/h8300/h8300.h: Similarly.
510         * config/i370/i370.h: Similarly.
511         * config/i386/i386.h: Similarly.
512         * config/i860/i860.h: Similarly.
513         * config/i960/i960.h: Similarly.
514         * config/ia64/ia64.h: Similarly.
515         * config/m32r/m32r.h: Similarly.
516         * config/m68hc11/m68hc11.h: Similarly.
517         * config/m68k/m68k.h: Similarly.
518         * config/m88k/m88k.h: Similarly.
519         * config/mcore/mcore.h: Similarly.
520         * config/mips/mips.h: Similarly.
521         * config/mn10200/mn10200.h: Similarly.
522         * config/mn10300/mn10300.h: Similarly.
523         * config/ns32k/ns32k.h: Similarly.
524         * config/pa/pa.h: Similarly.
525         * config/pdp11/pdp11.h: Similarly.
526         * config/pj/pj.h: Similarly.
527         * config/romp/romp.h: Similarly.
528         * config/rs6000/rs6000.h: Similarly.
529         * config/sh/sh.h: Similarly.
530         * config/sparc/sparc.h: Similarly.
531         * config/v850/v850.h: Similarly.
532         * config/vax/vax.h: Similarly.
533         * config/we32k/we32k.h: Similarly.
534
535 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
536
537         * doc/c-tree.texi: Document representation of attributes.
538
539 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
540
541         * doc/tm.texi: Update some places for the rename of target to
542         targetm.  Fix typo.
543
544 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
545
546         * target.h (struct gcc_target): Add insert_attributes.
547         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
548         (TARGET_INITIALIZER): Update.
549         * tree.c, tree.h (default_insert_attributes): New function.
550         Update comments on other default functions to refer to targetm,
551         not target.
552         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
553         TARGET_INSERT_ATTRIBUTES.
554         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
555         * c-common.c (decl_attributes): Use targetm.insert_attributes.
556         Don't use PRAGMA_INSERT_ATTRIBUTES.
557         * Makefile.in (c-common.o): Depend on $(TARGET_H).
558         * c-decl.c (start_decl, start_function): Don't call
559         SET_DEFAULT_DECL_ATTRIBUTES.
560         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
561         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
562         declare.
563         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
564         (c4x_check_attribute): Avoid modifying attribute list itself.
565         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
566         Make static.
567         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
568         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
569         declare.
570         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
571         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
572         Make static.
573         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
574         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
575         declare.
576         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
577         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
578         Adjust parameters.  Make static.
579
580 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
581
582         * c-common.c (decl_attributes): Only take a single attributes
583         parameter.
584         * c-common.h (decl_attributes): Update prototype.
585         * c-decl.c (start_decl, start_function): Only take a single
586         attributes parameter.  Update calls to decl_attributes.
587         (finish_struct, finish_enum): Update calls to decl_attributes.
588         (push_parm_decl): Expect unified list of attributes.  Update call
589         to decl_attributes.
590         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
591         notype_nested_function, component_declarator,
592         component_notype_declarator, label): Update calls to
593         decl_attributes.
594         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
595         lists that are passed to push_parm_decl.
596         * c-tree.h (start_function, start_decl): Update prototypes.
597         * config/sh/sh-protos.h, config/sh/sh.c
598         (sh_pragma_insert_attributes): Only take a single attributes
599         parameter.
600         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
601         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
602         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
603         build_module_descriptor, generate_static_references,
604         generate_strings, build_selector_translation_table,
605         generate_descriptor_table, generate_protocols,
606         generate_ivars_list, generate_dispatch_table,
607         generate_protocol_list, generate_category,
608         generate_shared_structures, really_start_method, add_objc_decls,
609         generate_classref_translation_entry): Update calls to start_decl
610         and start_function.
611         (build_tmp_function_decl, start_method_def): Unify attribute lists
612         that are passed to push_parm_decl.
613
614 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
615
616         * final.c (no_asm_to_stream): New.
617         (final_scan_insn): Use target structures for prologue ends
618         and epilogue starts.
619         * output.h (no_asm_to_stream): New.
620         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
621         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
622         (TARGET_ASM_OUT): Update.
623         * target.h (struct gcc_target): New members function_end_prologue
624         and function_begin_epilogue.
625         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
626         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
627         * config/alpha/alpha.c (output_end_prologue): Rename to
628         alpha_output_function_end_prologue.  Use in target struct
629         and make static.
630         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
631         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
632         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
633         ia64_output_function_end_prologue.  Use in target struct
634         and make static.
635         (ia64_function_prologue, ia64_funciton_epilogue): Rename
636         mistyped prototypes.
637         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
638         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
639         Delete.
640         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
641         an use in target struct, make static.
642         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
643         Delete.
644
645 2001-07-08  Richard Henderson  <rth@redhat.com>
646
647         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
648
649 2001-07-08  Richard Henderson  <rth@redhat.com>
650
651         * config/i386/i386.md: Remove constraints strings from define_split
652         and define_peephole2 patterns.
653         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
654         (eh_return): Use them.
655
656 2001-07-08  Richard Henderson  <rth@redhat.com>
657
658         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
659         Document MD_FALLBACK_FRAME_STATE_FOR.
660
661 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
662
663         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
664         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
665         elimination.
666         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
667
668 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
669
670         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
671         of the label inside NAME as opposed to just the end of NAME.
672
673 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
674
675         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
676         * config/alpha/alpha.c (alpha_init_machine_status,
677         alpha_mark_machine_status, alpha_free_machine_status): Delete.
678         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
679         (vms_valid_decl_attribute_p): Make static, conditionally compile.
680         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
681
682 2001-07-06  Stan Shebs  <shebs@apple.com>
683
684         * target.h (targetm): Rename global from "target", so as not to
685         conflict with local variables.
686         * c-decl.c: Ditto.
687         * c-typeck.c: Ditto.
688         * final.c: Ditto.
689         * tree.c: Ditto.
690         * cp/decl.c: Ditto.
691         * cp/decl2.c: Ditto.
692         * cp/typeck.c: Ditto.
693         * 1750a/1750a.c: Ditto.
694         * a29k/a29k.c: Ditto.
695         * arc/arc.c: Ditto.
696         * arm/arm.c: Ditto.
697         * avr/avr.c: Ditto.
698         * clipper/clipper.c: Ditto.
699         * convex/convex.c: Ditto.
700         * d30v/d30v.c: Ditto.
701         * dsp16xx/dsp16xx.c: Ditto.
702         * elxsi/elxsi.c: Ditto.
703         * fr30/fr30.c: Ditto.
704         * h8300/h8300.c: Ditto.
705         * i370/i370.c: Ditto.
706         * i386/i386.c: Ditto.
707         * i860/i860.c: Ditto.
708         * i960/i960.c: Ditto.
709         * ia64/ia64.c: Ditto.
710         * m32r/m32r.c: Ditto.
711         * m68hc11/m68hc11.c: Ditto.
712         * m68k/m68k.c: Ditto.
713         * m88k/m88k.c: Ditto.
714         * mips/mips.c: Ditto.
715         * ns32k/ns32k.c: Ditto.
716         * pa/pa.c: Ditto.
717         * pdp11/pdp11.c: Ditto.
718         * romp/romp.c: Ditto.
719         * rs6000/rs6000.c: Ditto.
720         * sh/sh.c: Ditto.
721         * sparc/sparc.c: Ditto.
722         * vax/vax.c: Ditto.
723         * we32k/we32k.c: Ditto.
724         * doc/tm.texi: Update the manual to match.
725
726 2001-07-06  Richard Henderson  <rth@redhat.com>
727
728         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
729         DWARF2_UNWIND_INFO not just whether it is defined.
730
731 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
732
733         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
734         call to simplify_binary_operation returns a new pattern.
735
736 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
737
738         * glimits.h (__SHRT_MAX__): New.
739         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
740         (SHRT_MAX): Define in terms of __SHRT_MAX__.
741
742 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
743
744         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
745         avoid warnings.
746
747 2001-07-06  Richard Henderson  <rth@redhat.com>
748
749         * bitmap.c (bitmap_release_memory): Move adjacent to the
750         allocation functions.
751         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
752         the implementation.  Binary search for the set bit.
753         (bitmap_union_of_diff): Allocate the temporary on the stack
754         instead of using xmalloc.
755
756 2001-07-06  Richard Henderson  <rth@redhat.com>
757
758         * genrecog.c (validate_pattern): Warn for constraints in
759         define_{expand,split,peephole2}.  Remove strict_low_part
760         before looking up match_dup.
761
762 2001-07-06  DJ Delorie  <dj@redhat.com>
763
764         * doc/gcc.texi (Makefile): Rename to be a more general purpose
765         chapter about various build hints and history.  Add section
766         talking about the various types of native and cross builds.
767
768 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
769
770         * Makefile.in (final.o): Depend on target.h.
771         * final.c: Include target.h.
772         (default_function_pro_epilogue): New.
773         (final_start_function): Use target structure for function prologues.
774         (final_end_function): Use target structure for function epilogues.
775         * fold-const.c (real_hex_to_f): Constify s and p.
776         * output.h (default_function_pro_epilogue): New.
777         * real.h (real_hex_to_f): Update prototype.
778         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
779         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
780         (TARGET_INITIALIZER): Update.
781         * target.h (gcc_target): Add struct asm_out.
782         * doc/tm.texi: Update.
783
784 config:
785         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
786         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
787         in cpu/cpu.c, or rename old functions consistently.  Take
788         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
789         redundant macros and prototypes.  Make new functions static.
790
791         * 1750a/1750a.c: Similarly.
792         * 1750a/1750a.h: Similarly.
793         * a29k/a29k-protos.h: Similarly.
794         * a29k/a29k.c: Similarly.
795         * a29k/a29k.h: Similarly.
796         * arc/arc-protos.h: Similarly.
797         * arc/arc.c: Similarly.
798         * arc/arc.h: Similarly.
799         * arm/arm-protos.h: Similarly.
800         * arm/arm.c: Similarly.
801         * arm/arm.h: Similarly.
802         * avr/avr-protos.h: Similarly.
803         * avr/avr.c: Similarly.
804         * avr/avr.h: Similarly.
805         * clipper/clipper-protos.h: Similarly.
806         * clipper/clipper.c: Similarly.
807         * clipper/clipper.h: Similarly.
808         * convex/convex.c: Similarly.
809         * convex/convex.h: Similarly.
810         * d30v/d30v-protos.h: Similarly.
811         * d30v/d30v.c: Similarly.
812         * d30v/d30v.h: Similarly.
813         * d30v/d30v.md: Similarly.
814         * dsp16xx/dsp16xx-protos.h: Similarly.
815         * dsp16xx/dsp16xx.c: Similarly.
816         * dsp16xx/dsp16xx.h: Similarly.
817         * elxsi/elxsi.c: Similarly.
818         * elxsi/elxsi.h: Similarly.
819         * fr30/fr30.c: Similarly.
820         * fr30/fr30.md: Similarly.
821         * h8300/h8300-protos.h: Similarly.
822         * h8300/h8300.c: Similarly.
823         * h8300/h8300.h: Similarly.
824         * i370/i370-protos.h: Similarly.
825         * i370/i370.c: Similarly.
826         * i370/i370.h: Similarly.
827         * i386/i386.c: Similarly.
828         * i386/osf1elf.h: Similarly.
829         * i386/osfrose.h: Similarly.
830         * i860/i860-protos.h: Similarly.
831         * i860/i860.c: Similarly.
832         * i860/i860.h: Similarly.
833         * i960/i960-protos.h: Similarly.
834         * i960/i960.c: Similarly.
835         * i960/i960.h: Similarly.
836         * ia64/ia64-protos.h: Similarly.
837         * ia64/ia64.c: Similarly.
838         * ia64/ia64.h: Similarly.
839         * m32r/m32r-protos.h: Similarly.
840         * m32r/m32r.c: Similarly.
841         * m32r/m32r.h: Similarly.
842         * m68hc11/m68hc11-protos.h: Similarly.
843         * m68hc11/m68hc11.c: Similarly.
844         * m68hc11/m68hc11.h: Similarly.
845         * m68k/crds.h: Similarly.
846         * m68k/dpx2.h: Similarly.
847         * m68k/m68k-protos.h: Similarly.
848         * m68k/m68k.c: Similarly.
849         * m68k/m68k.h: Similarly.
850         * m68k/news.h: Similarly.
851         * m88k/m88k-protos.h: Similarly.
852         * m88k/m88k.c: Similarly.
853         * m88k/m88k.h: Similarly.
854         * mips/mips-protos.h: Similarly.
855         * mips/mips.c: Similarly.
856         * mips/mips.h: Similarly.
857         * ns32k/merlin.h: Similarly.
858         * ns32k/ns32k.c: Similarly.
859         * ns32k/ns32k.h: Similarly.
860         * ns32k/tek6000.h: Similarly.
861         * pa/pa-protos.h: Similarly.
862         * pa/pa.c: Similarly.
863         * pa/pa.h: Similarly.
864         * pdp11/2bsd.h: Similarly.
865         * pdp11/pdp11-protos.h: Similarly.
866         * pdp11/pdp11.c: Similarly.
867         * pdp11/pdp11.h: Similarly.
868         * romp/romp-protos.h: Similarly.
869         * romp/romp.c: Similarly.
870         * romp/romp.h: Similarly.
871         * rs6000/rs6000-protos.h: Similarly.
872         * rs6000/rs6000.c: Similarly.
873         * rs6000/rs6000.h: Similarly.
874         * rs6000/sysv4.h: Similarly.
875         * sh/sh-protos.h: Similarly.
876         * sh/sh.c: Similarly.
877         * sh/sh.h: Similarly.
878         * sparc/sparc-protos.h: Similarly.
879         * sparc/sparc.c: Similarly.
880         * sparc/sparc.h: Similarly.
881         * vax/vax.c: Similarly.
882         * vax/vax.h: Similarly.
883         * vax/vms.h: Similarly.
884         * we32k/we32k.c: Similarly.
885         * we32k/we32k.h: Similarly.
886
887 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
888
889         * basic-block.h (first_insn_after_basic_block_note): Declare.
890         * flow.c (first_insn_after_basic_block_note): Define.  Moved
891         from...
892         * ssa.c (first_insn_after_basic_block_note): Remove.
893         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
894         necessary.
895         (ssa_eliminate_dead_code): Properly update the CFG and PHI
896         nodes when we find a dead conditional branch.  Insert BARRIERs
897         after any blocks with no successors, but which do not have
898         any BARRIERs.
899
900 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
901
902         * varray.c (varray_check_failed): Use internal_error.
903
904 2001-07-05  Andrew Haley  <aph@redhat.com>
905
906         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
907         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
908         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
909
910 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
911
912         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
913         reference if the target constant is also a SYMBOL_REF.
914
915 2001-07-05  Eric Christopher  <echristo@redhat.com>
916
917         * config/mips/mips.h (MASK_MIPS3900): Remove.
918         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
919         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
920         (TARGET_MIPS3900): Change to use mips_arch.
921         (TARGET_MIPS4000): New.
922         (TARGET_MIPS4100): New.
923         (TARGET_MIPS4300): New.
924         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
925         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
926         for -mipsX.
927         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
928         (ISA_HAS_BRANCHLIKELY): To here.
929         (CC1_CPU_SPEC):  New.
930         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
931         (mips_arch_string): Declare.
932         (mips_arch): Declare.
933         (TARGET_OPTIONS): Add -march and -mtune.
934
935         * config/mips/mips.c (mips_arch_string): New.
936         (mips_arch): New.
937         (override_options): Handle -march for codegen and -mtune
938         for scheduling. Use mips_arch. Move tx39 target default here.
939         (mips_parse_cpu): Move error message to override_options.
940
941         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
942
943         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
944
945         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
946         (MIPS Options): Ditto.  Change mcpu entry to historical text.
947
948 2001-07-05  H.J. Lu  (hjl@gnu.org)
949
950         * config/mips/mips.c (mips_parse_cpu): New function to parse
951         -march=*/-mcpu=*.
952
953 2001-07-05  Jim Wilson  <wilson@redhat.com>
954
955         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
956         * config/ia64/t-ia64: Likewise.
957         (LIB1ASMFUNCS): Update comment.
958
959 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
960
961         * doc/install.texi (Install GCC: Binaries): Fix typo.
962
963 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
964
965         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
966         reference using the stack pointer, adjust it since we push Y
967         temporarily.
968         ("*ashrsi3"): Likewise.
969         ("*lshrsi3"): Likewise.
970
971 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
972
973         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
974         when -fomit-frame-pointer is used.
975
976 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
977
978         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
979         (try_redirect_by_replacing_jump): Reverse updating properly the
980         count and frequency information.  Reverse removing cc0 setter.
981         (forwarder_block_p): Reverse fixing for fallthru blocks.
982
983 2001-07-05  DJ Delorie  <dj@redhat.com>
984
985         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
986         (translate_options): If the above is defined, use it to map
987         given options to new options.
988         * doc/tm.texi: Document it.
989
990 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
991             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
992
993         * doc/invoke.texi (Optimize Options): Document that -fgcse may
994         cause programs using computed gotos to run more slowly.
995
996 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
997
998         * doc/install.texi (Specific): Markup, spelling and typo fixes.
999         Fixed sorting.
1000         Consistently require binutils 2.11.2, not prereleases.
1001         (Specific, decstation-*): Canonicalize as mips-dec-*.
1002         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
1003         always necessary.
1004         (Specific, m68k-altos): Removed reference to README.altos, deleted.
1005         (Specific, mips-*): Reword MIPS C compiler requirements.
1006         (Specific, powerpc*-*-*): New, mention --with-cpu once.
1007         (Specific, sunv5): Removed, obsolete.
1008
1009 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
1010
1011         * dwarf2out.c (output_loc_list): Use an all ones mask for
1012         .text asm output and don't rely on long long
1013         literals. Reformat some long lines.
1014
1015 2001-07-05  Andreas Jaeger  <aj@suse.de>
1016
1017         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
1018         section.
1019
1020 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
1021
1022         * dwarf2out.c (dwarf2out_define): Update comment.
1023         (dwarf2out_undef): Ditto.
1024         (dwarf2out_start_source_file): Ditto.
1025         (dwarf2out_end_source_file): Ditto.
1026         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
1027         since we never call the start/end debug hook for the primary file.
1028
1029 2001-07-04  Kazu Hirata  <kazu@hxi.com>
1030
1031         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
1032         from shll.
1033
1034 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
1035
1036         * cppinit.c (remove_dup_dirs): Inform if a system include
1037         directory is being reordered.
1038         * doc/invoke.texi (Directory Options): GCC warns if you hide a
1039         system include.
1040         * doc/cpp.texi (Search Paths): Likewise.
1041         * doc/gcc.texi (Interoperation): Remove information about
1042         -I/usr/include.
1043
1044 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
1045
1046         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
1047         (VARRAY_TOP_CHAR_PTR): Likewise.
1048
1049 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1050
1051         * gcc.c (process_command): Don't assign elements of a const char*.
1052
1053 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1054
1055         * emit-rtl.c (change_address): Don't abort if invalid address while
1056         reload is in progress.
1057
1058 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
1059
1060         * c-lex.c (cb_file_change): Pass line number to
1061         debug_start_source_file.
1062         (cb_undefine): Pass correct line number to debug_undef.
1063
1064         * toplev.c (debug_start_source_file): Add line number to
1065         parameters. Pass it along to dwarf2out_start_source_file.
1066         (decode_g_option): Stop resetting debug level back to normal when
1067         we change debug formats, unless the current level is
1068         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
1069         3).
1070
1071         * toplev.h (debug_start_source_file): Add line number to
1072         parameters.
1073
1074         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
1075         parameters.
1076
1077         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
1078         parameters.
1079         Output debug_macinfo data for starting file if requested.
1080         (dwarf2out_end_source_file): Output debug_macinfo data for ending
1081         file if requested.
1082         (dwarf2out_define): Output debug_macinfo data for defining a macro
1083         if requested.
1084         (dwarf2out_undef): Output debug_macinfo data for undefining a
1085         macro if requested.
1086         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
1087         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
1088         (macinfo_section_label): New. DWARF2 macro info section label.
1089         (dwarf2out_init): If we want macro info, output the start label
1090         for the section.
1091         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
1092         attribute to the compilation unit die pointing to the macro info.
1093
1094 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
1095
1096         * dwarf2out.c (new_loc_list): Move to inside #ifdef
1097         DWARF2_DEBUGGING_INFO.
1098         (add_loc_descr_to_loc_list): Ditto.
1099         (output_loc_list): Ditto.
1100         Also, fix thinko in curr not being initialized.
1101         (gen_internal_sym): Ditto.
1102
1103 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1104
1105         * emit-rtl.c (replace_equiv_address): New function.
1106         * expr.h (replace_equiv_address): New declaration.
1107         * explow.c (validize_mem): Call it instead of change_address and
1108         also call if -fforce-addr and address is constant.
1109         * expr.c: Replace more calls to change_address with adjust_address
1110         and/or replace_equiv_address or to validize_mem.
1111         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
1112         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
1113         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
1114         * config/i370/i370.md, config/i860/i860.md: Likewise.
1115         * config/i960/i960.md, config/mips/mips.c: Likewise.
1116         * config/mips/mips.md, config/pa/pa.md: Likewise.
1117         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
1118         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
1119
1120 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1121
1122         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
1123
1124         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
1125         function.
1126
1127 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
1128
1129         * doc/include: New directory.
1130         * doc/fdl.texi: Move to doc/include/fdl.texi.
1131         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
1132         * doc/include/funding.texi, doc/include/gpl.texi: New files.
1133         * doc/gcc.texi: Use funding.texi and gpl.texi.
1134         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
1135         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
1136         Update dependencies and use -I $(docdir)/include.
1137
1138 2001-07-04  Anthony Green  <green@redhat.com>
1139
1140         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
1141
1142 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1143
1144         * doc/install.texi (sparc64-*-*): Remove garbage.
1145
1146 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
1147
1148         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
1149         Fix typo in last change to use adjust_address.
1150
1151 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1152
1153         * doc/install.texi (Specific): Update information for *-*-solaris*.
1154
1155 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1156
1157         * explow.c (plus_constant_wide): Reinitialize Y for restart.
1158
1159 2001-07-03  Stan Shebs  <shebs@apple.com>
1160
1161         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
1162         case for flag_no_mach_text_sections.
1163         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
1164         * config/darwin.c (flag_no_mach_text_sections): Remove.
1165         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
1166
1167 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1168
1169         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
1170         and avoid checking for constant as first operand.
1171         * recog.c (find_constant_term_loc): No longer static.
1172         (adj_offettable_operand): Delete.
1173         * rtl.h (adj_offsettable_operand): Delete declaration.
1174         (find_constant_term): Add declaration.
1175         * caller-save.c: Replace calls to adj_offsettable_operand with calls
1176         to adjust_address.
1177         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
1178         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
1179         * config/i386/i386.c, config/i386/i386.md: Likewise.
1180         * config/i860/i860.c, config/i960/i960.c: Likewise.
1181         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
1182         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
1183         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
1184         * config/mips/mips.c, config/mips/mips.md: Likewise.
1185         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
1186         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
1187         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
1188         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
1189         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
1190         * config/ns32k/ns32k.md: Likewise.
1191
1192 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
1193
1194         * rtl.c (copy_rtx): Handle 'T' format letter.
1195         * gensupport.c (collect_insn_data): Likewise.
1196         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
1197
1198 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
1199
1200         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
1201         -B option.  Use 'dir' not 'foo' as example directory name.
1202
1203 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1204
1205         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
1206         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
1207
1208 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1209
1210         * doc/cppinternals.texi: Improve formatting and logical markup.
1211
1212 2001-07-03  Andreas Jaeger  <aj@suse.de>
1213
1214         * Makefile.in (insn-recog.o): Add dependency on reload.h.
1215
1216         * genrecog.c (write_header): Include reload.h for prototypes in
1217         insn-recog.c.
1218
1219 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
1220
1221 config:
1222         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
1223         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
1224         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
1225         i386_pe_valid_type_attribute_p): Add.
1226         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
1227         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
1228
1229 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1230
1231         * explow.c (plus_constant_wide, case LO_SUM): New case.
1232         (plus_constant_for_output_wide): Delete.
1233         * rtl.h (plus_constant_for_output): Delete.
1234         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
1235         instead of plus_constant_for_output.
1236         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
1237         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
1238         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
1239         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
1240         * config/sparc/sparc.md: Likewise.
1241         Convert some change_address calls to adjust_address.
1242
1243 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
1244
1245         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
1246         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
1247         documentation of -std and -Wwrite-strings.
1248
1249 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
1250
1251         * cse.c (canon_hash): Don't register registers in very small
1252         register classes, as extending their lifetime might cause
1253         reload to fail.
1254
1255 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
1256
1257         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
1258
1259         * flow.c (forwarder_block_p): Fix for fallthru blocks.
1260         (try_redirect_by_replacing_jump): Update properly the count
1261         and frequency information.
1262
1263 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
1264
1265         * toplev.c (dump_file_index): Move SSA dumps just after first
1266         jump dump.
1267         (dump_file): Corresponding changes.
1268         (rest_of_compilation): Move SSA path to just after the first
1269         jump pass.
1270         * doc/gcc.texi (Passes): Update due to movement of SSA path.
1271         * doc/invoke.texi: Update dump file #s as they were completely
1272         out of date with reality.
1273
1274 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
1275
1276         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
1277
1278         * expr.c (emit_move_insn_1): Deal with non-default
1279         STACK_PUSH_CODE.
1280
1281         * expr.c (emit_single_push_insn): Fix warning.
1282
1283 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
1284
1285         * expr.c (emit_move_insn_1): Avoid modifying
1286         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
1287
1288 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1289
1290         * emit-rtl.c (adjust_address): New function.
1291         * expr.h (adjust_address): Add declaration.
1292         * builtins.c: Replace some calls to change_address with calls to it
1293         or to validize_mem.
1294         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
1295         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
1296         * config/arm/arm.c, config/convex/convex.c: Likewise.
1297         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
1298         * config/i386/i386.c, config/i386/i386.md: Likewise.
1299         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
1300         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
1301         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
1302         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
1303         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
1304
1305 2001-07-02  Jim Wilson  <wilson@redhat.com>
1306
1307         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
1308
1309 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
1310
1311         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
1312         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
1313
1314 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
1315
1316         * cppinit.c (lang_defaults): New table.
1317         (set_lang): Just read from lang_defaults into the live options
1318         structure.
1319
1320 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
1321
1322         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
1323         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
1324         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
1325
1326 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1327
1328         * doc/install.texi: Various spelling and markup fixes.
1329         (Installing GCC): Component specific installation instructions are
1330         gone.
1331         Fix reference.
1332         Warn about removing old install dir in the presence of shared libs.
1333         (Configuration): Invoke with options target to match configure
1334         --help.
1335         Consistently refer to gas, gld pathnames.
1336         Invert --enable-multilib documentation.
1337         Remove references to old compiler versions.
1338
1339 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1340
1341         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
1342
1343 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1344
1345         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
1346         section.
1347         (Specific, mips*-sgi-irix5): Note IDO download.
1348         Reworded MIPS C hints.
1349         Use GNU as instead of GAS.
1350         Markup fixes.
1351         Removed SGI Freeware reference, IRIX 6 only.
1352         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
1353         Note N64 library requirement/workaround.
1354         Update O32 hints.
1355         Complete list of structure passing bug victims.
1356
1357 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1358
1359         * doc/install.texi: Remove CVS Id.
1360
1361 2001-07-02  Andreas Jaeger  <aj@suse.de>
1362
1363         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
1364         (find_inherently_necessary): Remove unused variable.
1365
1366 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
1367
1368         * c-common.h (TDI_inlined): New ast dump phase.
1369         (dump_flag_name): New function.
1370         * c-dump.c (dump_files): Add inlined phase.
1371         (dump_flag_name): Define.
1372         * doc/invoke.texi (-fdump-ast-inlined): Document.
1373
1374 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1375
1376         * stor-layout.c (layout_decl): Revert change to handling of alignment
1377         in packed types.
1378
1379 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1380
1381         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
1382         for FIELD_DECL.
1383
1384 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
1385
1386         * doc/tm.texi (FUNCTION_ARG): Document that the last call
1387         is special.
1388
1389 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
1390
1391         * tlink.c (recompile_files): Remove COMPILER_PATH and
1392         LIBRARY_PATH from the environment.
1393
1394 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
1395
1396         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
1397         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
1398         enumerators.
1399         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
1400
1401         * c-parse.in (OBJC_STRING): Kill.
1402         (objc_string): Decompose to [objc_string] '@' STRING.
1403         (reswords): Take the leading '@' off all the Objective C keywords.
1404         (objc_rid_sans_at): Kill.
1405         (init_reswords): Don't initialize it.
1406         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
1407         (_yylex): Kill reconsider label.  Look ahead one token after
1408         an '@'; if we get an identifier, check whether it's an
1409         Objective C @-keyword.  If so, return the keyword.  Otherwise,
1410         put back the token and return the '@' as a terminal.
1411
1412         * cpplib.c (lex_macro_node): Remove unnecessary check for
1413         leading '@' on identifier.  Clarify control flow and commentary.
1414
1415 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1416
1417         * cse.c (new_label_ref): Variable deleted.
1418         (insert): Remove set of new_label_ref.
1419         (check_for_label_ref): New function.
1420         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
1421
1422 See ChangeLog.5 for earlier changes.