OSDN Git Service

* jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2001-08-28  Alexandre Oliva  <aoliva@redhat.com>
2
3         * jump.c (mark_jump_label): Fix typo: REG_LABEL is EXPR_LIST, not
4         INSN_LIST.
5
6 2001-08-28  Richard Henderson  <rth@redhat.com>
7
8         * config/ia64/ia64.md (andcmbi3, iorcmbi3): Fix typos.
9         (one_cmplbi2 splitter): Remove redundant test.
10
11 2001-08-28  Dale Johannesen  <dalej@apple.com>
12
13         * config/rs6000/darwin.h (DEFAULT_SIGNED_CHAR): Define.
14
15 2001-08-28  Danny Smith  <dannysmith@users.sourceforge.net>
16
17         * config/i386/cygwin.h (BIGGEST_FIELD_ALIGNMENT): Set to 64.
18
19 2001-08-28  Stan Shebs  <shebs@apple.com>
20
21         * config/darwin.h (ASM_OUTPUT_LABELREF): Handle '*' names.
22         (UNALIGNED_SHORT_ASM_OP): Define.
23         (UNALIGNED_INT_ASM_OP): Define.
24
25 2001-08-28  Will Cohen  <wcohen@redhat.com>
26
27         * config/rs6000/rs6000.md (store_multiple): Correct RTL
28         generation for first set.
29
30 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
31
32         * flow.c (redirect_edge_succ_nodup): Return new edge.
33         (try_simplify_condjump): Use new edge.
34         * basic-block.h (redirect_edge_succ_nodup): Update prototype.
35
36         * cse.c (cse_basic_block): Skip note instructions.
37
38 2001-08-27  Richard Henderson  <rth@redhat.com>
39
40         * combine.c (combine_simplify_rtx): Don't reverse condition
41         if there is no reverse for the condition.
42         (simplify_comparison): Don't simplify subregs from INT to FP.
43
44         * config/m68k/m68k.md (sordered, sordered_1, sunordered, sunordered_1,
45         suneq, suneq_1, sunge, sunge_1, sungt, sungt_1, sunle, sunle_1,
46         sunlt, sunlt_1, sltgt, sltgt_1, fsogt_1, fsoge_1, fsolt_1, fsole_1,
47         bordered, bunordered, buneq, bunge, bungt, bunle, bunlt, bltgt,
48         bordered_rev, bunordered_rev, buneq_rev, bunge_rev, bungt_rev,
49         bunle_rev, bunlt_rev, bltgt_rev): New patterns.
50         
51 2001-08-27  Roman Zippel  <zippel@linux-m68k.org>
52
53         * config/m68k/m68k.md (subreghi1ashrdi_const32, bsetmemqi,
54         bsetmemqi+1, strict_low_part peephole): Fix SUBREG_BYTE offset.
55         (pushqi1): New.
56         (adddi_dilshr32, adddi_dishl32): Only data register can be
57         source for mem destination.
58
59         * expmed.c (store_bit_field): Ignore adjustment to bitpos
60         and use bitnum to decide about register move.
61
62 2001-08-27  Richard Henderson  <rth@redhat.com>
63
64         * genattr.c (main): Emit state_t even when not doing scheduling.
65
66 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
67             Richard Henderson  <rth@redhat.com>
68
69         * gcse.c (reg_first_set, reg_last_set): Replace with ...
70         (reg_avail_info, current_bb): ... these.
71         (oprs_unchanged_p, record_last_reg_set_info): Use them.
72         (compute_hash_table): Likewise.
73
74 2001-08-27  Roman Zippel <zippel@linux-m68k.org>
75
76         * flow.c (verify_flow_info): Use checksums to verify edges.
77
78 2001-08-27  Richard Henderson  <rth@redhat.com>
79
80         * genautomata.c (expand_automata): Always create a description.
81
82 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
83
84         * optabs.c (expand_binop): Correctly handle the carry in multiword
85         add/subtract operations.
86
87 2001-08-27  Fred Fish  <fnf@be.com>
88
89         * ginclude/stddef.h: Fix typo, __SIZE__TYPE__ should be
90         __SIZE_TYPE__.
91
92 2001-08-27  Geoffrey Keating  <geoffk@redhat.com>
93
94         * reload.c (find_reloads_toplev): Back out this change:
95
96         Wed Jul 26 19:44:05 2000   Hans-Peter Nilsson  <hp@axis.com>
97
98         * reload.c (find_reloads_toplev): Reload a paradoxical subreg of a
99         mem if the address is a mode_dependent_address_p.
100
101 2001-08-27  Vladimir Makarov  <vmakarov@touchme.toronto.redhat.com>
102
103         * rtl.def (DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT, EXCLUSION_SET,
104         PRESENCE_SET, ABSENCE_SET, DEFINE_BYPASS, DEFINE_AUTOMATON,
105         AUTOMATA_OPTION, DEFINE_RESERVATION, DEFINE_INSN_RESERVATION): New
106         RTL constructions.
107         
108         * genattr.c (main): New variable num_insn_reservations.  Increase
109         it if there is DEFINE_INSN_RESERVATION.  Output automaton based
110         pipeline hazard recognizer interface.
111
112         * genattrtab.h: New file.
113         
114         * genattrtab.c: Include genattrtab.h.
115         (attr_printf, check_attr_test, make_internal_attr,
116         make_numeric_value): Move protypes into genattrtab.h.  Define them
117         as external.
118         (num_dfa_decls): New global variable.
119         (main): Process DEFINE_CPU_UNIT, DEFINE_QUERY_CPU_UNIT,
120         DEFINE_BYPASS, EXCLUSION_SET, PRESENCE_SET, ABSENCE_SET,
121         DEFINE_AUTOMATON, AUTOMATA_OPTION, DEFINE_RESERVATION,
122         DEFINE_INSN_RESERVATION.  Call expand_automata and write_automata.
123
124         * genautomata.c: New file.
125
126         * rtl.h (LINK_COST_ZERO, LINK_COST_FREE): Remove them.
127         
128         * sched-int.h: (curr_state): Add the external definition for
129         automaton pipeline interface.
130         (haifa_insn_data): Add comments for members blockage and units.
131         
132         * target-def.h (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
133         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
134         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
135         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
136         TARGET_SCHED_DFA_POST_CYCLE_INSN,
137         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
138         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): New
139         macros.
140         (TARGET_SCHED): Use the new macros.
141
142         * target.h (use_dfa_pipeline_interface, init_dfa_pre_cycle_insn,
143         dfa_pre_cycle_insn, init_dfa_post_cycle_insn, dfa_post_cycle_insn,
144         first_cycle_multipass_dfa_lookahead, init_dfa_bubbles,
145         dfa_bubble): New members in gcc_target.sched.
146         
147         * haifa-sched.c (insert_schedule_bubbles_p): New variable.
148         (MAX_INSN_QUEUE_INDEX): New macro for automaton interface.
149         (insn_queue): Redefine it as pointer to array.
150         (NEXT_Q, NEXT_Q_AFTER): Use MAX_INSN_QUEUE_INDEX instead of
151         INSN_QUEUE_SIZE.
152         (max_insn_queue_index_macro_value): New variable.
153         (curr_state, dfa_state_size, ready_try): New varaibles for
154         automaton interface.
155         (ready_element, ready_remove, max_issue): New function prototypes
156         for automaton interface.
157         (choose_ready): New function prototype.
158         (insn_unit, blockage_range): Add comments.
159         (unit_last_insn, unit_tick, unit_n_insns): Define them for case
160         FUNCTION_UNITS_SIZE == 0.
161         (insn_issue_delay, actual_hazard_this_instance, schedule_unit,
162         actual_hazard, potential_hazard): Add comments.
163         (insn_cost): Use cost -1 as undefined value.  Remove
164         LINK_COST_ZERO and LINK_COST_FREE.  Add new code for automaton
165         pipeline interface.
166         (ready_element, ready_remove): New functions for automaton
167         interface.
168         (schedule_insn): Add new code for automaton pipeline interface.
169         (queue_to_ready): Add new code for automaton pipeline interface.
170         Use MAX_INSN_QUEUE_INDEX instead of INSN_QUEUE_SIZE.
171         (debug_ready_list): Print newline when the queue is empty.
172         (max_issue): New function for automaton pipeline interface.
173         (choose_ready): New function.
174         (schedule_block): Add new code for automaton pipeline interface.
175         Print ready list before scheduling each insn.
176         (sched_init): Add new code for automaton pipeline interface.
177         Initiate insn cost by -1.
178         (sched_finish): Free the current automaton state and finalize
179         automaton pipeline interface.
180         
181         * sched-rgn.c: Include target.h.
182         (init_ready_list, new_ready, debug_dependencies): Add new code for
183         automaton pipeline interface.
184
185         * sched-vis.c: Include target.h.
186         (get_visual_tbl_length): Add code for automaton interface.
187         (target_units, print_block_visualization):  Add comments.
188         
189         * Makefile.in (GETRUNTIME, HASHTAB, HOST_GETRUNTIME, HOST_HASHTAB,
190         USE_HOST_GETRUNTIME, USE_HOST_HASHTAB, HOST_VARRAY): New variables.
191         (sched-rgn.o, sched-vis.o): Add new dependency file target.h.
192         (getruntime.o, genautomata.o): New entries.
193         (genattrtab.o): Add new dependency file genattrtab.h.
194         (genattrtab): Add new dependencies.  Link it with `libm.a'.
195         (getruntime.o, hashtab.o): New entries for canadian cross.
196
197         * doc/md.texi: Description of automaton based model.
198         
199         * doc/tm.texi (TARGET_SCHED_ISSUE_RATE, TARGET_SCHED_ADJUST_COST):
200         Add comments.
201         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
202         TARGET_SCHED_DFA_PRE_CYCLE_INSN,
203         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
204         TARGET_SCHED_DFA_POST_CYCLE_INSN,
205         TARGET_SCHED_INIT_DFA_POST_CYCLE_INSN,
206         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
207         TARGET_SCHED_INIT_DFA_BUBBLES, TARGET_SCHED_DFA_BUBBLE): The new
208         hook descriptions.
209         (TRADITIONAL_PIPELINE_INTERFACE, DFA_PIPELINE_INTERFACE,
210         MAX_DFA_ISSUE_RATE): New macro descriptions.
211         
212         * doc/contrib.texi: Add dfa based scheduler contribution.
213
214         * doc/gcc.texi: Add more information about genattrtab.
215
216 2001-08-27  Diego Novillo  <dnovillo@redhat.com>
217
218         * flow.c (flow_loop_dump): Do not display insn UIDs if this is not
219         an RTL basic block.
220
221 2001-08-27  Richard Henderson  <rth@redhat.com>
222
223         * function.c (expand_function_end): Don't init arg_pointer_save_area.
224         (get_arg_pointer_save_area): New.  Create an init it here.
225         (fix_lexical_addr): Use it.
226         * function.h: Declare it.
227         * builtins.c (expand_builtin_setjmp_receiver): Use it.
228         * stmt.c (expand_nl_goto_receiver): Use it.
229
230 2001-08-27  Richard Henderson  <rth@redhat.com>
231
232         * final.c (final_scan_insn): Don't enter APP_ON mode for
233         empty asm strings.
234
235         * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Use proper
236         alignment for assemble_integer for DW_EH_PE_aligned.
237         * except.c (output_function_exception_table): Likewise.
238
239 2001-08-26  Andreas Jaeger  <aj@suse.de>
240
241         * c-tree.h: Add prototyp for c_sizeof_nowarn.
242
243 2001-08-25 Dan Nicolaescu  <dann@ics.uci.edu>
244   
245         * ssa-ccp.c (ssa_const_prop): Free ssa_edges.
246
247 2001-08-27  Alan Modra  <amodra@bigpond.net.au>
248
249         * config/rs6000/rs6000.c (mask_operand): Rewrite without
250         bit-shifting loop.
251         (mask64_operand): Likewise.
252         (rldic_operand): Delete.
253         (includes_lshift64_p): Delete.
254         (includes_rldic_lshift_p): New function.
255         (includes_rldicr_lshift_p): New function.
256         (print_operand): Don't call rldic_operand in case 'W'.
257         * config/rs6000/rs6000-protos.h (rldic_operand): Remove.
258         (includes_lshift64_p): Remove.
259         (includes_rldic_lshift_p): Declare.
260         (includes_rldicr_lshift_p): Declare.
261         * config/rs6000/rs6000.h (PREDICATE_CODES): Remove rldic_operand.
262         * config/rs6000/rs6000.md <ashldi3_internal 64 bit patterns>:
263         Replace match_operand rldic_operand predicate with
264         const_int_operand.  Replace includes_lshift64_p condition with
265         includes_rldic_lshift_p.
266         <ashldi3_internal 64 bit rldicr patterns>: New.
267
268 2001-08-27  Andreas Jaeger  <aj@suse.de>
269
270         * emit-rtl.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
271         * errors.c: Likewise.
272         * final.c: Likewise.
273         * dwarf2asm.c: Likewise.
274         * doprint.c (checkit): Likewise.
275         * diagnostic.c: Likewise.
276         * collect2.c: Likewise.
277         * calls.c: Likewise.
278         * c-semantics.c (build_stmt): Likewise.
279         * c-format.c (status_warning): Likewise.
280         * c-errors.c (pedwarn_c99): Likewise.
281         * builtins.c (validate_arglist): Likewise.
282         * config/pj/pj.c (pj_printf): Likewise.
283         * fix-header.c: Likewise.
284         * gcc.c: Likewise.
285         * gcov.c (fnotice): Likewise.
286         * gensupport.c (message_with_line): Likewise.
287         * mips-tfile.c: Likewise.
288         * protoize.c (notice): Likewise.
289         * read-rtl.c (fatal_with_file_and_line): Likewise.
290         * rtl-error.c: Likewise.
291         * tradcpp.c: Likewise.
292         * tree.c: Likewise.
293         * cp/tree.c (build_min_nt): Likewise.
294         (build_min): Likewise.
295         * cp/lex.c: Likewise.
296         * cp/errfn.c: Likewise.
297         * cp/rtti.c (create_pseudo_type_info): Likewise.
298
299 Sun Aug 26 20:25:44 2001  Denis Chertykov  <denisc@overta.ru>
300
301         * df.c (df_uses_record): Return after recording all uses
302         in ASM_OPERANDS.
303
304 2001-08-26  Daniel Berlin  <dan@cgsoftware.com>
305
306         * df.c (df_insn_modify): Realloc the INSN table here, if
307         necessary, here, too.
308
309 2001-08-26  Aldy Hernandez  <aldyh@redhat.com>
310
311         * config/mips/mips.c (mips_function_value): Handle complex return
312         values.
313
314 2001-08-25  Hans-Peter Nilsson  <hp@bitrange.com>
315
316         * reload1.c (reload): Make all entries in reg_equiv_memory_loc
317         unshared.
318         * reload.c (make_memloc): Copy result if it is still
319         reg_equiv_memory_loc[regno] on return.
320         (subst_reloads) [ENABLE_CHECKING]: Check that none of
321         reg_equiv_constant, reg_equiv_memory_loc, reg_equiv_address and
322         reg_equiv_mem are modified by the substitutions.
323
324 Sat Aug 25 23:07:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
325
326         * predict.c (expensive_function_p): New.
327         * rtl.h (expensive_function_p): Declare.
328         * i386.c (FAST_PROLOGUE_INSN_COUNT): New constant.
329         (use_fast_prologue_epilogue): New static variable.
330         (expand_prologue): Set it; emit short prologues if unset.
331         (expand_epilogue): Likewise.
332
333 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
334
335         * config.gcc: Add stormy16-*-elf case.
336         * config/stormy16/stormy-abi: New file.
337         * config/stormy16/stormy16-lib2.c: New file.
338         * config/stormy16/stormy16-protos.h: New file.
339         * config/stormy16/stormy16.c: New file.
340         * config/stormy16/stormy16.h: New file.
341         * config/stormy16/stormy16.md: New file.
342         * config/stormy16/t-stormy16: New file.
343
344 Sat Aug 25 15:46:51 CEST 2001  Jan Hubicka  <jh@suse.cz>
345
346         * i386.h (no-accumulate-outgoing-args): Use proper mask.
347
348 2001-08-24  David Edelsohn  <edelsohn@gnu.org>
349
350         * config/rs6000/rs6000.c (rs6000_initialize_trampoline): Function
351         descriptor members are pointer size, not constant 4.
352         * config/rs6000/rs6000.md (define_splits): Remove more unused
353         constraints.
354
355 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
356
357         * sparc.h (ASM_OUTPUT_BYTE): Fix format specifier warning.
358
359 2001-08-24  Andreas Jaeger  <aj@suse.de>, rkl@connect.org.uk
360
361         * cp/rtti.c (VPARAMS): Fix parameter.
362
363 2001-08-24  Zack Weinberg  <zackw@panix.com>
364
365         * expmed.c: Default-#define HAVE_insv, HAVE_extv, and HAVE_extzv
366         to zero.
367         (mode_for_extraction): No need for #ifdefs.  Add default-case abort
368         to switch.
369         (store_bit_field): Eliminate insv_bitsize variable.  Put HAVE_insv
370         in if controlling use of insv.
371         (extract_bit_field): Likewise, for extv and extzv.
372
373 Fri Aug 24 17:27:46 CEST 2001  Jan Hubicka  <jh@suse.cz>
374
375         * i386.md (movcc peep2): Fix load of 0.
376
377 2001-08-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
378
379         * fold-const.c (tree_expr_nonnegative_p): Handle *_DIV_EXPR,
380         *_MOD_EXPR, SAVE_EXPR and NON_LVALUE_EXPR.
381
382 2001-08-23  Jason Merrill  <jason_merrill@redhat.com>
383
384         * c-pragma.h: Move weak_syms and weak_decls...
385         * varasm.c: ...here.  Now static.
386         (declare_weak, weak_finish, remove_from_pending_weak_list): Don't
387         depend on HANDLE_PRAGMA_WEAK.
388
389         * c-common.c (c_alignof, c_alignof_expr): Move here...
390         * c-typeck.c: ...from here.
391         * c-tree.h, c-common.h: Adjust.
392
393 2001-08-23  Bernd Schmidt  <bernds@redhat.com>
394
395         * config/ia64/ia64.c (rws_update): If !pred, set write_count
396         instead of incrementing it.
397
398         * config/ia64/ia64.c (ia64_sched_reorder): When there's more than one
399         asm ready, don't try to move them all into the same array element.
400
401 Thu Aug 23 17:21:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
402
403         * function.c (thread_prologue_and_epilogue_insns): Avoid
404         fallthru flag on edge to exit.
405
406         * i386.md (trunc?fsi splitter): Conditionionize for non-sse.
407
408         * flow.c (delete_noop_moves, propagate_block_delete_insn): Purge
409         dead edges.
410
411 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
412
413         * config/mcore/mcore.h (MACHINE_DEPENDENT_SIMPLIFY): Remove.
414         * config/mcore/mcore.c (mcore_dependent_simplify_rtx): Likewise.
415         * config/mcore/mcore-protos.h (mcore_dependent_simplify_rtx):
416         Remove prototype.
417
418 2001-08-23  Lars Brinkhoff  <lars@nocrew.org>
419
420         * genconstants.c, genpreds.c, libfuncs.h, optabs.h, rtl-error.h:
421         replace "GNU CC" with "GCC".
422
423 2001-08-23  Richard Henderson  <rth@redhat.com>
424
425         * config/ia64/ia64.c (ia64_register_move_cost): Add mode arguemnt.
426         Reorganize.  Handle ADDL like GR, add GR_AND_BR.  Handle TFmode.
427         (ia64_secondary_reload_class): Need GR between AR/BR and anything.
428         Need GR between FR and not GR_AND_FR.
429         * config/ia64/ia64-protos.h (ia64_register_move_cost): Update.
430         * config/ia64/ia64.h (reg_class): Add GR_AND_BR_REGS, move
431         AR regs before GR regs.
432         (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update.
433         (PREFERRED_RELOAD_CLASS): Tweak for reordered classes.
434         (REGISTER_MOVE_COST): Update.
435         (MEMORY_MOVE_COST): Add GR_AND_FR_REGS.
436
437 2001-08-23  Richard Henderson  <rth@redhat.com>
438
439         * regclass.c (init_reg_sets_1): Don't assume cost 2 within
440         a register class.
441
442 2001-08-22  Geoffrey Keating  <geoffk@redhat.com>
443
444         * reload1.c (emit_reload_insns): Don't look for notes
445         on a NULL store_insn.
446
447 2001-08-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
448
449         * sparc.c (uns_small_int): Don't reference a constant >32-bit.
450         (addrs_ok_for_ldd_peep): Fix signed/unsigned warning.
451         (sparc_flat_function_prologue, sparc_flat_function_epilogue): Fix
452         format specifier warnings.
453         (sparc_sched_reorder): Mark parameter with ATTRIBUTE_UNUSED.
454
455 2001-08-22  David Billinghurst <David.Billinghurst@riotinto.com>
456
457         * config/i386/i386-protos.h: Correct declaration of
458         i386_pe_asm_named_section.
459
460 2001-08-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
461
462         * pa32-regs.h (CONDITIONAL_REGISTER_USAGE): Add declaration for
463         variable i.
464         * pa64-regs.h (CONDITIONAL_REGISTER_USAGE): Likewise.
465
466 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
467
468         * cpperror.c (print_location): Don't show _Pragma.
469         * cppfiles.c (_cpp_pop_file_buffer): Handle -include file pushing
470         and file change callback generation here.
471         (stack_include_file): Update use of cpp_push_buffer.
472         * cpphash.h (_cpp_pop_file_buffer): Update prototype.
473         (struct cpp_buffer): Remove type, pfile members.
474         * cppinit.c (cpp_handle_option): Use free_chain.
475         * cpplex.c (_cpp_lex_token): Don't do -include file pushing here.
476         (skip_escaped_newlines, get_effective_char, lex_percent): Take
477         a cpp_reader rather than a cpp_buffer.
478         (skip_escaped_newlines, get_effective_char, skip_block_comment,
479         skip_line_comment, parse_string, lex_percent, lex_dot,
480         _cpp_lex_token): Update accordingly.
481         * cpplib.c (_cpp_pop_buffer): Don't do file change callback
482         generation here.
483         (cpp_push_buffer): Update prototype.
484         (run_directive): Update use of cpp_push_buffer.
485         (_cpp_do__Pragma, cpp_define, cpp_define_builtin, cpp_undef,
486         handle_assertion): Update use of run_directive.
487         * cpplib.h (enum cpp_buffer_type): Remove.
488         (cpp_push_buffer): Update prototype.
489         * fix-header.c (read_scan_file): Update.
490
491 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
492
493         * gcc.c (struct prefix_list): Change prefix to const char *.
494
495 2001-08-22  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
496
497         * final.c (final_scan_insn): Call ADDR_VEC_ALIGN on next insn.
498
499 2001-08-22  Jason Merrill  <jason_merrill@redhat.com>
500
501         * explow.c (set_mem_attributes): Avoid returning a bogus alias set
502         from a new MEM.
503
504         * jump.c (squeeze_notes): Take parms by reference.  Handle END being
505         a squeezable note.
506         * rtl.h: Adjust.
507         * ifcvt.c (dead_or_predicable): Adjust.
508         * loop.c (find_and_verify_loops): Adjust.
509         * stmt.c (expand_end_case): Adjust.
510         * flow.c (merge_blocks_move_successor_nojumps): Adjust.  Modify the
511         head and end insn pointers in the basic block, not just local copies.
512         (merge_blocks_move_predecessor_nojumps): Likewise.
513
514 2001-08-22  Lars Brinkhoff  <lars@nocrew.org>
515
516         * Makefile.in, alias.c, basic-block.h, bb-reorder.c, bitmap.c,
517         bitmap.h, builtin-types.def, builtins.c, builtins.def,
518         c-aux-info.c, c-common.c, c-common.def, c-common.h,
519         c-convert.c, c-decl.c, c-dump.c, c-dump.h, c-errors.c,
520         c-format.c, c-lang.c, c-lex.c, c-lex.h, c-parse.in,
521         c-pragma.c, c-pragma.h, c-semantics.c, c-tree.h, c-typeck.c,
522         caller-save.c, calls.c, collect2.c, collect2.h, combine.c,
523         conditions.h, config.gcc, configure.frag, configure.in,
524         conflict.c, convert.c, convert.h, cppspec.c, crtstuff.c,
525         cse.c, cselib.c, cselib.h, dbxout.c, dbxout.h, defaults.h,
526         dependence.c, df.c, df.h, diagnostic.c, diagnostic.h,
527         doloop.c, dominance.c, dwarf.h, dwarf2.h, dwarf2asm.c,
528         dwarf2asm.h, dwarf2out.c, dwarf2out.h, dwarfout.c,
529         emit-rtl.c, errors.c, errors.h, except.c, except.h,
530         exgettext, explow.c, expmed.c, expr.c, expr.h, final.c,
531         fixproto, flags.h, flow.c, fold-const.c, fp-test.c,
532         function.c, function.h, gbl-ctors.h, gcc.c, gcc.h, gcc.hlp,
533         gccspec.c, gcov-io.h, gcse.c, genattr.c, genattrtab.c,
534         gencheck.c, gencodes.c, genconfig.c, genemit.c,
535         genextract.c, genflags.c, gengenrtl.c, genmultilib,
536         genopinit.c, genoutput.c, genpeep.c, genrecog.c,
537         gensupport.c, gensupport.h, ggc-callbacks.c, ggc-common.c,
538         ggc-none.c, ggc-page.c, ggc-simple.c, ggc.h, global.c,
539         graph.c, graph.h, gthr-aix.h, gthr-dce.h, gthr-posix.h,
540         gthr-rtems.h, gthr-single.h, gthr-solaris.h, gthr-vxworks.h,
541         gthr-win32.h, gthr.h, haifa-sched.c, halfpic.c, halfpic.h,
542         hard-reg-set.h, hwint.h, ifcvt.c, input.h, insn-addr.h,
543         integrate.c, integrate.h, jump.c, lcm.c, libgcc2.c,
544         libgcc2.h, lists.c, local-alloc.c, loop.c, loop.h,
545         machmode.def, machmode.h, main.c, mbchar.c, mbchar.h,
546         mips-tdump.c, mips-tfile.c, mklibgcc.in, mkmap-flat.awk,
547         mkmap-symver.awk, optabs.c, output.h, params.c, params.def,
548         params.h, predict.c, predict.def, predict.h, prefix.c,
549         prefix.h, print-rtl.c, print-tree.c, profile.c, protoize.c,
550         read-rtl.c, real.c, real.h, recog.c, recog.h, reg-stack.c,
551         regclass.c, regmove.c, regrename.c, regs.h, reload.c,
552         reload.h, reload1.c, reorg.c, resource.c, resource.h, rtl.c,
553         rtl.def, rtl.h, rtlanal.c, sbitmap.c, sbitmap.h,
554         sched-deps.c, sched-ebb.c, sched-int.h, sched-rgn.c,
555         sched-vis.c, sdbout.c, sdbout.h, sibcall.c, simplify-rtx.c,
556         ssa-ccp.c, ssa-dce.c, ssa.c, ssa.h, stmt.c, stor-layout.c,
557         stringpool.c, system.h, timevar.c, timevar.def, timevar.h,
558         tlink.c, toplev.c, toplev.h, tree.c, tree.def, tree.h,
559         tsystem.h, unroll.c, unwind-dw2-fde.c, unwind-dw2-fde.h,
560         unwind-dw2.c, unwind-pe.h, unwind-sjlj.c, unwind.h,
561         unwind.inc, varasm.c, varray.c, varray.h, xcoffout.c,
562         xcoffout.h: replace "GNU CC" with "GCC".
563
564 2001-08-21  Richard Henderson  <rth@redhat.com>
565
566         * final.c (LABEL_ALIGN_AFTER_BARRIER): Default to no alignment.
567         (final_scan_insn): Consider jump tables data even if we have no
568         independant text section if !JUMP_TABLES_IN_TEXT_SECTION.  Use
569         ADDR_VEC_ALIGN.
570         * config/ia64/ia64.h (JUMP_TABLES_IN_TEXT_SECTION): Remove.
571         (ASM_OUTPUT_CASE_END): Remove.
572         (ASM_OUTPUT_ADDR_DIFF_ELT): Emit pc-relative references.
573         * config/ia64/ia64.md (tablejump): Decode pc-relative references.
574         * config/ia64/sysv4.h (ASM_OUTPUT_BEFORE_CASE_LABEL): Remove.
575
576 2001-08-21  Richard Henderson  <rth@redhat.com>
577
578         * config/ia64/ia64.c (emit_all_insn_group_barriers): Flush state
579         at barrier insns.  Emit stop bits before barriers.
580
581         * flow.c (flow_find_cross_jump): Don't consider unconditional
582         return insns for commoning.
583
584         * final.c (compute_alignments): Fix typo.
585
586         * expmed.c (CODE_FOR_insv, gen_insv): Provide defaults.
587         (CODE_FOR_extv, gen_extv, CODE_FOR_extzv, gen_extzv): Likewise.
588         (store_bit_field): Use mode_for_extraction more places.
589         (extract_bit_field): Likewise.
590
591 2001-08-21  Zack Weinberg  <zackw@panix.com>
592
593         * caller-save.c: Don't include insn-codes.h.
594         (reg_save_code, reg_restore_code): Make arrays of int.
595         All uses updated to match.
596         (insert_save, insert_restore): No need to initialize "code"
597         variable upon declaration.
598         * Makefile.in: update dependencies; fix typo in clean rule.
599
600 2001-08-21  Richard Henderson  <rth@redhat.com>
601
602         * ifcvt.c (find_if_block): Allow join_bb as EXIT.
603         (merge_if_block): Handle fallout from same.
604
605 2001-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
606
607         * builtins.c (type_to_class): Fix typo in last change.
608
609 2001-08-21  Richard Henderson  <rth@redhat.com>
610
611         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't emit '#' if
612         ia64_asm_output_label.
613
614         * config/ia64/crtbegin.asm (__do_global_dtors_aux): Use saved
615         copy of gp while the real gp register contains garbage.
616
617 2001-08-21  Zack Weinberg  <zackw@panix.com>
618
619         * expmed.c (mode_for_extraction): New function.
620         (store_bit_field, extract_bit_field): Use it.
621         * expr.h: Prototype it and provide an enum for its first argument.
622
623         * combine.c, function.c, recog.c: Don't include insn-codes.h.
624         Use mode_for_extraction rather than testing HAVE_insv/extv/extzv
625         and digging through the insn_data tables.
626         * Makefile.in: Update dependencies.
627
628 2001-08-22  Neil Booth  <neil@daikokuya.demon.co.uk>
629
630         * cppfiles.c (stack_include_file): line-map.c now handles include
631         depth.
632         (handle_missing_handler): Similarly.
633         (_cpp_execute_include): Similarly.
634         (_cpp_pop_file_buffer): Similarly.
635         * cpphash.h (struct cpp_reader): Remove system_include_depth,
636         buffer_stack_depth and include_depth.
637         * cpplib.c (do_include_common): line-map.c now handles include depth.
638         (cpp_push_buffer): Similarly.
639         (_cpp_pop_buffer): Similarly.
640         * cppmacro.c (builtin_macro): Update.
641         * line-map.c (init_line_maps): Set depth.
642         (add_line_map): Increment "used" earlier.  Update and use the
643         include depth.
644         (trace_include): Use the include depth.
645         * line-map.h (struct line_maps): New member depth.
646
647 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
648
649         * cppfiles.c (stack_include_file): Don't handle -H here.
650         * cppinit.c (cpp_start_read): Set include tracing after
651         cpp_post_options and after stacking the main file.
652         * line-map.c (trace_include): New.
653         (init_line_maps, add_line_map): Update.
654         * line-map.h (struct line_maps): New member trace_includes.
655
656 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
657
658         * cppfiles.c (stack_include_file): Harmonize system headerness tests.
659         * cppfiles.c (stack_include_file): Only stack a file if there
660         is something to do.  Return a boolean indicating whether a
661         buffer was stacked or not.
662         (_cpp_execute_include): Similarly.
663         (_cpp_read_file): Similarly.
664         * cpphash.h (_cpp_read_file, _cpp_execute_include): Update prototypes.
665
666 2001-08-21  Sam Steingold  <sds@gnu.org>
667
668         * tradcpp.c (rescan): define obufp_before_macroname before RECACHE
669         (RECACHE): keep obufp_before_macroname up to date
670
671 2001-08-21  Zack Weinberg  <zackw@panix.com>
672
673         * stmt.c: Don't include insn-codes.h.
674         (expand_end_case): Machine specific logic moved to expr.c.
675         No need to worry about __builtin_classify_type.
676         (check_for_full_enumeration_handling, emit_case_nodes):
677         Kill #if 0 blocks.
678
679         * builtins.o (expand_builtin_classify_type): Split up so code
680         can be shared with fold_builtin_classify_type.
681         (type_to_class, fold_builtin_classify_type): New functions.
682         (fold_builtins): Handle __builtin_classify_type.
683
684         * expr.c (do_tablejump): Now static.
685         (case_values_threshold, try_casesi, try_tablejump): New;
686         code mostly from stmt.c (expand_end_case).
687         (expr.h): Update prototypes.
688
689         * Makefile.in (stmt.o): Update dependencies.
690
691 2001-08-21  Will Cohen  <wcohen@redhat.com>
692
693         * configure/alpha/alpha.h (CONDITIONAL_REGISTER_USAGE): Added local
694         declaration of variable i.
695         * configure/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Added local
696         declaration of variable i.
697
698 2001-08-21  Richard Henderson  <rth@redhat.com>
699
700         * crtstuff.c: Fix thinko last change.  Move list tails to start
701         of CRT_END section.  Tidy ifdefs.
702         (__EH_FRAME_BEGIN__): Always static for ELF.
703         (__do_global_ctors_1): Rename from __frame_dummy.
704         * config/mips/iris6.h (LINK_SPEC): Update for __do_global_ctors_1
705         name change; don't hide __EH_FRAME_BEGIN__.
706
707 2001-08-21  Richard Henderson  <rth@redhat.com>
708
709         * gdbinit.in: Move break on exit after break on fancy_abort.
710
711         * config/ia64/ia64.c (ia64_return_in_memory): True for variable
712         sized types.
713
714 2001-08-21  Neil Booth  <neil@daikokuya.demon.co.uk>
715
716         * cpphash.h (_cpp_push_next_buffer): New.
717         * cppinit.c (do_includes): Remove.
718         (push_include, free_chain, _cpp_push_next_buffer): New.
719         (cpp_start_read): Use them to rework command line option handling.
720         (cpp_handle_option): Combine handling of -include and -imacros.
721         * cpplex.c (_cpp_lex_token): Push a new -include buffer if
722         appropriate.  Always insert missing \n at EOF.
723         * cpplib.c (start_directive): Get the directive position right.
724         * cppmain.c (cb_file_change): Always print the first line, unless
725         preprocessed.
726
727 2001-08-20  Andreas Jaeger  <aj@suse.de>
728
729         * profile.c (compute_branch_probabilities): Remove extra new-line
730         in error message.
731         * flow.c (verify_flow_info): Likewise.
732
733 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
734
735         * basic-block.h (basic_block): Add new field 'flags'.
736         (BB_REACHABLE): Define.
737         (expunge_block): Declare.
738         * flow.c (ENTRY_BLOCK_PTR): Initialize field 'flags'.
739         (EXIT_BLOCK_PTR): Ditto.
740         (expunge_block): Remove static declaration.
741         (cleanup_cfg): Clear bb->aux on every basic block.
742         (find_unreachable_blocks): Set BB_REACHABLE bit in bb->flags when
743         computing reachability.
744         (delete_unreachable_blocks): Delete block b if b->flags has
745         BB_REACHABLE unset.
746
747 2001-08-20  Diego Novillo  <dnovillo@redhat.com>
748
749         * doc/invoke.texi: Replace references to -fdump-tree with -fdump-ast.
750
751 2001-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
752
753         * sparc.c (sparc_variable_issue): Fix typo in last change.
754
755 2001-08-20  Richard Henderson  <rth@redhat.com>
756
757         * varasm.c (assemble_integer): Document ppc-eabi -mrelocatable losage.
758
759 2001-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
760
761         * pa.h (RETURN_IN_MEMORY): Improve comment.
762
763 2001-08-20  Janis Johnson  <janis187@us.ibm.com>
764
765         * doc/invoke.texi (Profiling options): Clarify the interactions
766         between -fprofile-arcs and -ftest-coverage, -fprofile-arcs.
767
768 2001-08-20  Jeffrey Oldham  <oldham@codesourcery.com>
769
770         * crtstuff.c (__do_global_ctors): Fix typo in preprocessing
771         command.
772
773 2001-08-20  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
774
775         * gcc.c (make_relative_prefix): Allocate a sufficiently large
776         buffer.
777
778 2001-08-20  Richard Henderson  <rth@redhat.com>
779
780         * final.c (end_final): Fix typo last change.
781
782 2001-08-20  Neil Booth  <neil@daikokuya.demon.co.uk>
783
784         * cppinit.c (init_standard_includes): The returned buffer
785         is already malloc-ed.
786         * gcc.c (add_prefix): Similarly.
787         * prefix.c (translate_name): Update to support clear buffer
788         ownership rules.
789         (update_path): Similarly.  Be sure to free any newly allocated
790         key.  UPDATE_PATH_HOST_CANONICALIZE takes only one argument.
791         (tr): New function.
792         * prefix.h (update_path): Update prototype and document.
793         * config/i386/xm-djgpp.h (UPDATE_PATH_HOST_CANONICALIZE): Clean
794         up and update to new buffer ownership rules.
795         * doc/gcc.texi (UPDATE_PATH_HOST_CANONICALIZE): Update.
796
797 Mon Aug 20 01:44:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
798
799         * final.c (compute_alignments): New function.
800         (init_insn_lengths): Do not care label_align.
801         (LABEL_ALIGN_AFTER_BARRIER): Default to 1.
802         (LABEL_ALIGN_AFTER_BARRIER_MAX_SKIP): Default to 0.
803         (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): New.
804         (shorted_branches): Realloc label_align array; do
805         not call init_insn_lengths; Do not care about loop alignments.
806         * output.h (compute_alignments): Declare.
807         * toplev.c (rest_of_compilation): Call compute_alignments.
808         * tm.texi (JUMP_ALIGN, JUMP_ALIGN_MAX_SKIP): Document.
809
810         * predict.c (block_info_def): Add npredecesors, remove nvisited;
811         change visited to tovisit.
812         (propagate_freq): Use faster traversing algorithm.
813         (estimate_loops_at_level, estimate_bb_frequencies): Change visited
814         to tovisit; reverse meaning.
815
816         * predict.c (struct block_info_def): Remove nvisited.
817         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
818         (estimate_bb_frequencies): Call mark_dfs_back_edges.
819
820 2001-08-19  Geoffrey Keating  <geoffk@redhat.com>
821
822         * doc/invoke.texi (MIPS Options): Document -mfused-madd.
823         * config/mips/mips.h (MASK_NO_FUSED_MADD): New.
824         (TARGET_FUSED_MADD): New.
825         (TARGET_SWITCHES): Add -mfused-madd, -mno-fused-madd.
826         * config/mips/mips.md: Add TARGET_FUSED_MADD as condition to
827         the multiply-add instructions.
828
829 2001-08-19  Richard Henderson  <rth@redhat.com>
830
831         * dwarf2asm.c (dw2_output_indirect_constant_1): The symbol ref
832         is aligned to pointer size.
833
834 2001-08-19  Richard Henderson  <rth@redhat.com>
835
836         * config/ia64/ia64.c (ia64_cycle_display): Only emit cycle
837         display markers during final schedule.
838
839 2001-08-19  Richard Henderson  <rth@redhat.com>
840
841         * function.c (gen_mem_addressof): Don't call get_alias_set if no decl.
842
843 2001-08-19  Richard Henderson  <rth@redhat.com>
844
845         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Handle @ and *
846         in the same string.
847         (ASM_NAME_TO_STRING): Remove.
848         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Handle @ and *
849         in the same string.  Remove support for expressions.
850
851 2001-08-19  Richard Henderson  <rth@redhat.com>
852
853         * config/i386/i386.md (tablejump): Make an expander; handle
854         pic relative addressing here.
855         (tablejump_1): Rename from tablejump_pic.
856         (casesi): Remove.
857
858 2001-08-19  Richard Henderson  <rth@redhat.com>
859
860         * regclass.c (fix_register): Fix typo.
861
862 2001-08-18  Richard Henderson  <rth@redhat.com>
863
864         * config/ia64/unwind-ia64.c (UNW_REG_B0): New.
865         (struct _Unwind_Context): Expand br_loc to hold it.
866         (uw_frame_state_for): Handle leaf functions better.
867         (uw_update_reg_address): Update for br_loc change.
868
869 2001-08-18  Richard Henderson  <rth@redhat.com>
870
871         * crtstuff.c: Move list heads before code that uses them.
872         (__JCR_LIST__): Remove initial null.
873         (frame_dummy, __frame_dummy): Do java registration here ...
874         (__do_global_ctors_aux): ... not here.
875
876         * config/ia64/crtbegin.asm (dtor_ptr): Make gp-relative.
877         (__do_global_dtors_aux): Update to match.
878         (__JCR_LIST__, __do_jv_register_classes): New.
879         (.init): Call it.
880         * config/ia64/crtend.asm (__JCR_END__): New.
881         (__do_global_ctors_aux): Use a GPREL64I reloc to __CTOR_END__
882         instead of an indirect LTOFF22 reloc.
883
884 2001-08-18  Richard Henderson  <rth@redhat.com>
885
886         * flow.c (mark_regs_live_at_end): Use regs_invalidated_by_call.
887         * regclass.c (init_reg_sets_1): Fix typo.
888         * config/ia64/ia64.c (ar_pfs_reg_operand): New.
889         (ia64_expand_call): Pass ar.pfs to sibcall expanders.
890         (ia64_compute_frame_size): Make ar.unat live when in use.
891         (ia64_epilogue_uses): Reformat; do not check current_function_is_leaf
892         for ar.pfs; remove ar.unat handling.
893         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): ar.unat is
894         call-saved.
895         (PREDICATE_CODES): Add ar_pfs_reg_operand.
896         * config/ia64/ia64-protos.h: Update decls.
897         * config/ia64/ia64.md (sibcall_nopic): Use ar.pfs.
898         (sibcall_pic): Likewise.
899
900 2001-08-18  Richard Henderson  <rth@redhat.com>
901
902         * config/ia64/ia64.c (ia64_sched_reorder2): Also skip past
903         pred_rel_mutex when searching for insn_group_barrier.
904         * config/ia64/ia64.md (cycle_display): Combine the expander
905         and insn patterns.
906
907         * config/ia64/ia64.c (ia64_internal_sched_reorder): Emit stop
908         bit before asm as needed.
909
910 2001-08-18  Richard Henderson  <rth@redhat.com>
911
912         * timevar.def (TV_MACH_DEP): New.
913         * toplev.c (rest_of_compilation): Use it.
914         * config/ia64/ia64.c (ia64_reorg): Push to TV_SCHED2.
915
916 2001-08-18  Zack Weinberg  <zackw@panix.com>
917
918         * unwind-dw2.c (execute_stack_op): Add default aborts to
919         the inner switches to prevent warnings.
920
921 2001-08-18  Richard Henderson  <rth@redhat.com>
922
923         * timevar.h (struct timevar_time_def): Change element type to float.
924         (ticks_to_msec, clocks_to_msec): Likewise.
925         (TICKS_TO_MSEC, CLOCKS_TO_MSEC): Rescale to seconds; use type float.
926         (get_time): Likewise.
927         (timevar_print): Adjust zero check and printing to match.
928
929 2001-08-18  Zack Weinberg  <zackw@panix.com>
930
931         * doc/extend.texi, doc/gcc.texi, doc/install-old.texi,
932         doc/invoke.texi, doc/md.texi, doc/rtl.texi, doc/include/gpl.texi:
933         Eliminate overfull or underfull hboxes.
934
935 2001-08-18  Zack Weinberg  <zackw@panix.com>
936
937         * cpperror.c: Use VA_OPEN/VA_CLOSE/VA_FIXEDARG throughout.
938
939 2001-08-18  Zack Weinberg  <zackw@panix.com>
940
941         * haifa-sched.c: Convert to target hooks.  Macros replaced
942         are ISSUE_RATE, ADJUST_COST, ADJUST_PRIORITY, MD_SCHED_INIT,
943         MD_SCHED_REORDER, MD_SCHED_REORDER2, MD_SCHED_VARIABLE_ISSUE,
944         MD_SCHED_FINISH, and HAVE_cycle_display.
945         * target-def.h (TARGET_SCHED_ADJUST_COST,
946         TARGET_SCHED_ADJUST_PRIORITY, TARGET_SCHED_ISSUE_RATE,
947         TARGET_SCHED_VARIABLE_ISSUE, TARGET_SCHED_INIT,
948         TARGET_SCHED_FINISH, TARGET_SCHED_REORDER,
949         TARGET_SCHED_REORDER2, TARGET_SCHED_CYCLE_DISPLAY):
950         New hook #defines to be overridden.
951         (TARGET_SCHED): Bring them all together.
952         (TARGET_INITIALIZER): Update.
953         * target.h: Don't forward declare struct rtx_def.  Use 'rtx'
954         instead of 'struct rtx_def *' throughout.
955         (struct sched): New set of hooks for the scheduler.
956         * Makefile.in (haifa-sched.o): Depend on target.h.
957         * doc/tm.texi: Document the new scheduler hooks, together in
958         their own section, instead of scattered around.
959         Fix a bunch of underfull/overfull hboxes.
960
961         * a29k.h, alpha.h, arm.h, c4x.h, convex.h, d30v.h, i386.h,
962         ia64.h, m32r.h, m88k.h, mips.h, pa.h, rs6000.h, s390.h, sh.h,
963         sparc.h: Don't define any of the old scheduler macros.
964
965         * a29k.c, alpha.c, arm.c, c4x.c, convex.c, d30v.c, i386.c,
966         ia64.c, m32r.c, m88k.c, mips.c, pa.c, rs6000.c, s390.c, sh.c,
967         sparc.c: Create hook functions from code extracted from
968         corresponding target header, or make existing hooks static, as
969         appropriate.  Set the appropriate entries in targetm.
970
971         * alpha-protos.h, arm-protos.h, c4x-protos.h, d30v-protos.h,
972         i386-protos.h, ia64-protos.h, m32r-protos.h, pa-protos.h,
973         rs6000-protos.h, s390-protos.h, sparc-protos.h:
974         Remove prototypes for functions which are now static.
975
976         * d30v.h, d30v.c, m32r.h, m32r.c: Remove #ifdef HAIFA and
977         related gunk; the Haifa scheduler is now the only choice.
978
979 2001-08-18  Zack Weinberg  <zackw@panix.com>
980
981         * optabs.h (OTI_flodiv, flodiv_optab): Kill.
982         * genopinit.c: Put floating point divide insns in sdiv_optab.
983         * expr.c (expand_expr): Use sdiv_optab, not flodiv_optab.
984         * config/gofast.h, config/c4x/c4x.h,
985         config/ia64/hpux_longdouble.h, config/mips/mips.h,
986         config/pa/long_double.h, config/rs6000/sysv4.h,
987         config/sparc/sparc.h: Put floating point divide libcalls in sdiv_optab.
988         * optabs.c (init_optab): Break into new_optab, init_optab, init_optabv.
989         (init_optabs): Use init_optabv for overflow-trapping optabs.
990         Don't init flodiv_optab.  Give mov_optab, movstrict_optab, and
991         cmp_optab RTX codes so have_insn_for can find them.
992
993         * optabs.c (expand_simple_binop, expand_simple_unop,
994         have_insn_for, gen_sub3_insn): New interfaces.
995         * expr.h: Prototype new functions.
996         (enum optab_methods): Move here from optabs.h.
997
998         * builtins.c, combine.c, doloop.c, function.c, ifcvt.c,
999         loop.c, profile.c, simplify-rtx.c, stmt.c, unroll.c:
1000         Use new functions instead of working directly with optabs.
1001         * doloop.c, ifcvt.c, loop.c, profile.c, simplify-rtx.c,
1002         unroll.c: Don't include optabs.h.
1003         * caller-save.c, combine.c, function.c, stmt.c: Just include
1004         insn-codes.h, not optabs.h.
1005         * Makefile.in: Update dependencies.
1006
1007         * combine.c (make_compound_operation, simplify_comparison):
1008         Fix typos testing for this or that instruction.
1009
1010 2001-08-18  Herman A.J. ten Brugge  <Haj.Ten.Brugge@net.HCC.nl>
1011
1012         * mklibgcc.in: Prefer LIB1ASMFUNCS over LIB2_DIVMOD_FUNCS when
1013         generating libgcc.a.
1014
1015 2001-08-18  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1016
1017         * except.c (TYPE_HASH): Delete.
1018
1019         * objc/objc-act.c (HASHFUNCTION): Cast to size_t, not
1020         HOST_WIDE_INT.
1021
1022         * tree.c (TYPE_HASH): Delete.
1023
1024         * tree.h (TYPE_HASH): Define.
1025
1026 2001-08-18  Graham Stott  <grahams@redhat.com>
1027
1028         * config/mips/mips.md (adddi3_internal_2+1): Remove contraints from
1029         define_split.
1030         (adddi3_internal_2+2): Likewise.
1031         (eh_set_lr_di+1): Likewise.
1032
1033 2001-08-17  Richard Henderson  <rth@redhat.com>
1034
1035         * defaults.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
1036         UNALIGNED_DOUBLE_INT_ASM_OP, ASM_BYTE_OP): Move from ...
1037         * dwarf2asm.c: ... here.
1038         * dwarfout.c: Remove them.
1039
1040         * varasm.c (assemble_integer): Add align parameter.
1041         (assemble_real, output_constant, output_constructor): Likewise.
1042         * output.h: Update decls.
1043         * dwarf2asm.c, final.c, varasm.c, config/darwin.c, config/nextstep.c,
1044         config/alpha/alpha.c, config/arm/arm.md, config/clipper/clipper.c,
1045         config/m88k/m88k.c, config/mcore/mcore.md, config/mips/mips.h,
1046         config/mips/mips.md, config/pa/pa.c, config/rs6000/rs6000.c,
1047         config/rs6000/rs6000.h, config/s390/s390.h, config/sh/sh.md:
1048         Update all callers.
1049
1050         * final.c (end_final): Abort profile block generation if we
1051         havn't layed it out properly.
1052         * output.h (assemble_eh_integer): Remove stale decl.
1053         * varasm.c (assemble_zeros): Tidy; use assemble_integer.
1054         (min_align): New.
1055         (assemble_integer): Handle unaligned data.
1056         (assemble_real): Abort on unaligned data.
1057         (output_constructor): Don't assume ASM_OUTPUT_ALIGN 0 does
1058         anything useful.
1059         (default_dtor_section_asm_out_destructor): Use assemble_align.
1060         (default_named_section_asm_out_constructor): Likewise.
1061         (default_ctor_section_asm_out_constructor): Likewise.
1062         * config/darwin.c (machopic_asm_out_constructor): Likewise.
1063         (machopic_asm_out_destructor): Likewise.
1064         * config/nextstep.c (nextstep_asm_out_constructor): Likewise.
1065         (nextstep_asm_out_destructor): Likewise.
1066         * config/alpha/alpha.c (vms_asm_out_constructor): Likewise.
1067         (vms_asm_out_destructor): Likewise.
1068
1069 2001-08-17  Richard Henderson  <rth@redhat.com>
1070
1071         * config/mips/iris6.h (TARGET_IRIX6): New.
1072         (current_section_name, current_section_flags): New.
1073         (ASM_OUTPUT_ALIGN, ASM_FILE_START, ASM_FILE_END): New.
1074         (MAX_OFILE_ALIGNMENT): New.
1075         (ASM_OUTPUT_ALIGNED_LOCAL): Use bss_section.
1076         * config/mips/mips.c (mips_make_temp_file, temp_filename): Remove.
1077         (copy_file_data): Split out from
1078         (mips_asm_file_end): ... here.
1079         (mips_asm_file_start): Remove extra .section directive.  Use
1080         tmpfile instead of mips_make_temp_file.
1081         (mips_unique_section): Use const char * as needed for warnings.
1082         (iris6_asm_named_section_1): Renamed from iris6_asm_named_section;
1083         re-add align parameter.
1084         (iris6_asm_named_section): New.
1085         (iris_section_align_entry_eq, iris_section_align_entry_hash): New.
1086         (iris6_asm_output_align, iris6_section_align_1): New.
1087         (iris6_asm_file_start, iris6_asm_file_end): New.
1088         * config/mips/mips-protos.h: Update decls.
1089
1090 2001-08-17  Janis Johnson  <janis187@us.ibm.com>
1091
1092         * doc/install.texi (Install GCC): Add links to build status pages.
1093         (Specific): Ditto.
1094         (Final install): Ditto; request updates for specific info
1095
1096 2001-08-17  Neil Booth  <neil@daikokuya.demon.co.uk>
1097
1098         * cpperror.c (print_location):  Don't take a file name; use the
1099         line map instead.
1100         (_cpp_begin_message): Similarly.
1101         (cpp_ice, cpp_fatal, cpp_error, cpp_error_with_line, cpp_warning,
1102         cpp_warning_with_line, cpp_pedwarn, cpp_pedwarn_with_line): Update.
1103         (cpp_pedwarn_with_file_and_line): Remove.
1104         * cppfiles.c (stack_include_file): Update; set filename to stdin
1105         here when appropriate.
1106         * cpphash.h (struct cpp_buffer): Remove nominal_fname.
1107         (_cpp_begin_message): Don't take a file name.
1108         * cppinit.c: Add comment.
1109         * cpplex.c: Fix end-of-directive indicator.
1110         * cpplib.c: Don't include intl.h.
1111         (run_directive, do_diagnostic): Update.
1112         (do_line): Update to not use nominal_fname.
1113         (cpp_push_buffer): Don't take a filename.
1114         * cpplib.h (struct ht): Remove.
1115         (cpp_push_buffer): Don't take a filename.
1116         (cpp_pedwarn_with_file_and_line): Remove.
1117         * cppmacro.c (struct cpp_macro): Remove file.
1118         (builtin_macro): Update.
1119         (_cpp_create_definition): Update.
1120         * cppmain.c: Correct comment.
1121         * fix-header.c (read_scan_file): Update.
1122
1123 2001-08-17  Kazu Hirata  <kazu@hxi.com>
1124
1125         * sbitmap.c: Fix comment formatting.
1126         * sched-deps.c: Likewise.
1127         * sibcall.c: Likewise.
1128         * simplify-rtx.c: Likewise.
1129         * ssa.c: Likewise.
1130         * ssa-ccp.c: Likewise.
1131         * stor-layout.c: Likewise.
1132         * timevar.c: Likewise.
1133         * toplev.c: Likewise.
1134         * unwind-dw2.c: Likewise.
1135         * unwind-dw2-fde.c: Likewise.
1136         * varasm.c: Likewise.
1137
1138 2001-08-17  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1139
1140         * pa.h (RETURN_IN_MEMORY): Return types with a size that is varable
1141         or larger than an integer in memory.
1142
1143 2001-08-17  Zack Weinberg  <zackw@panix.com>
1144
1145         * system.h: Forward-declare struct rtx_def, struct rtvec_def,
1146         and union tree_node.  Typedef rtx, rtvec, and tree.  Fix comment.
1147         * rtl.h: Don't forward-declare union tree_node here.  Don't
1148         typedef rtx or rtvec here.  Change all uses of struct rtx_def *,
1149         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
1150         and tree respectively.
1151         * tree.h: Don't forward-declare struct rtx_def here.  Don't
1152         typedef tree here.  Change all uses of struct rtx_def *,
1153         struct rtvec_def *, or union tree_node * to use rtx, rtvec,
1154         and tree respectively.
1155
1156 2001-08-17  Richard Henderson  <rth@redhat.com>
1157
1158         * config/mips/elf.h, config/mips/elf64.h, config/mips/netbsd.h,
1159         config/mips/openbsd.h: Fix typos last change.
1160
1161 2001-08-17  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1162
1163         * doc/invoke.texi (Optimize Options): The default for
1164         -finline-limit is 600.
1165
1166 2001-08-17  Richard Henderson  <rth@redhat.com>
1167
1168         * varasm.c (text_section): Allow TEXT_SECTION to override the
1169         printing of TEXT_SECTION_ASM_OP.
1170         * dwarf2out.c (TEXT_SECTION_NAME): Rename from TEXT_SECTION.
1171         (DATA_SECTION, BSS_SECTION): Remove.
1172         * dwarfout.c (TEXT_SECTION_NAME, DATA_SECTION_NAME, DATA1_SECTION_NAME,
1173         RODATA_SECTION_NAME, RODATA1_SECTION_NAME, BSS_SECTION_NAME):
1174         Rename from s/_NAME//.
1175         * config/mips/mips.h (TARGET_FILE_SWITCHING): Add !TARGET_MIPS16.
1176         (ASM_DECLARE_FUNCTION_NAME): Move file switching ...
1177         (TEXT_SECTION): ... here.  New.
1178         * config/mips/elf.h (TEXT_SECTION): New; no file switching.
1179         * config/mips/elf64.h, config/mips/netbsd.h: Likewise.
1180         * config/mips/openbsd.h: Likewise.
1181         * config/mips/mips.c (mips_asm_file_start): Tidy file switching test.
1182         (mips_asm_file_end): Likewise test.
1183         (mips_output_function_epilogue): Likewise.  Switch back to data
1184         section after emitting the function.
1185
1186         * doc/tm.texi (Sections): Document TEXT_SECTION.
1187
1188 2001-08-17  Richard Henderson  <rth@redhat.com>
1189
1190         * dwarf2out.c (dwarf2out_init): Don't emit .debug_loc label here.
1191         (dwarf2out_finish): Do it here.  Emit .debug_loc before .debug_info.
1192
1193 2001-08-17  Richard Henderson  <rth@redhat.com>
1194
1195         * varasm.c (assemble_variable): Don't overalign if DECL_USER_ALIGN.
1196         * crtstuff.c (__CTOR_LIST__, __DTOR_LIST__, __EH_FRAME_BEGIN__,
1197         __JCR_LIST__, __CTOR_END__, __DTOR_END__, __FRAME_END__,__JCR_END__):
1198         Add aligned attribute.
1199
1200 2001-08-17  Andrew Haley  <aph@cambridge.redhat.com>
1201
1202         * config/sh/sh.md: Add modes to unspecs in first insn to match
1203         those in the second.
1204
1205         * Makefile.in: Fix collect2 copy for Cygwin.
1206
1207 Fri Aug 17 15:48:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
1208
1209         Install the proper patch.
1210         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
1211         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
1212         (expand_function_start): Likewise.
1213         * stmt.c (expand_decl): Likewise.
1214         * varasm.c (make_decl_rtx): Likewise.
1215
1216 Fri Aug 17 15:41:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
1217
1218         * final.c: Undo my previous accidental checkin.
1219         * output.h: Likewise.
1220         * tm.texi: Likewise.
1221
1222 2001-08-16  Richard Henderson  <rth@redhat.com>
1223
1224         * varasm.c (named_section_flags): Remove align parameter.
1225         * varasm.c, dwarf2out.c: Update all callers.
1226         * output.h: Update prototypes.
1227
1228         * target.h (target.asm_out.named_section): Remove align parameter.
1229         * varasm.c, config/a29k/a29k.c, config/alpha/alpha.c,
1230         config/arm/arm.c, config/c4x/c4x.c, config/h8300/h8300.c,
1231         config/i386/i386.c, config/i386/winnt.c, config/m68k/m68k.c,
1232         config/mcore/mcore.c, config/mips/mips.c, config/rs6000/rs6000.c,
1233         config/sh/sh.c, config/sparc/sparc.c: Update implementations to match.
1234
1235         * varasm.c (in_named_entry_eq, in_named_entry_hash): New.
1236         (get_named_section_flags, set_named_section_flags): New.
1237         (named_section_flags): Use them.
1238         (named_section): Do decl vs section flags check here...
1239         (default_section_type_flags): ... not here.
1240         (init_varasm_once): Create in_named_htab.
1241         (resolve_unique_section): Mark reloc unused.
1242
1243 2001-08-16  Richard Henderson  <rth@redhat.com>
1244
1245         * varasm.c (force_const_mem): Keep pool alignment in bits.
1246         (output_constant_pool): Use assemble_align.
1247
1248 2001-08-16  Zack Weinberg  <zackw@panix.com>
1249
1250         * doc/tm.texi: Remove extra @table command.
1251
1252 2001-08-16  Zack Weinberg  <zackw@panix.com>
1253
1254         * final.c (shorten_branches): Clear the end of the label_align
1255         array only if we made it larger.  Break up messy expressions
1256         for clarity.
1257
1258         * diagnostic.c (internal_error): Check for error recursion
1259         before doing ICE suppression.
1260
1261         * timevar.c: Timing variables now count in milliseconds.
1262         (init_timevar): Set up ticks_to_msec and clocks_to_msec here.
1263         (get_time): Not here.
1264         (timevar_print): Don't print any timer whose user, cpu, and
1265         wall times are all zero as displayed.
1266         * timevar.h: Update comment aboout units.  Make timevar
1267         counters unsigned.
1268
1269 Thu Aug 16 17:39:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
1270
1271         * function.c (put_var_into_stack): Temporarily clear DECL_RTL.
1272         (assign_params): Avoid setting DECL_RTL to unfinished RTX.
1273         (expand_function_start): Likewise.
1274         * stmt.c (expand_decl): Likewise.
1275         * varasm.c (make_decl_rtx): Likewise.
1276
1277 2001-08-16  Jason Merrill  <jason_merrill@redhat.com>
1278
1279         * stor-layout.c (layout_decl): Don't set DECL_USER_ALIGN.
1280         (finalize_record_size): Don't set TYPE_USER_ALIGN.
1281
1282 2001-08-16  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
1283
1284         * config/i386/i386.c (ix86_init_mmx_sse_builtins): Remove unused
1285         variables.
1286
1287 2001-08-16  Andreas Jaeger  <aj@suse.de>
1288
1289         * config/s390/s390.c: Include "debug.h" for dwarf2out_do_frame
1290         prototype.
1291
1292 Wed Aug 15 15:22:52 EDT 2001  John Wehle  (john@feith.com)
1293
1294         * rtl.h (only_sets_cc0_p): New prototype.
1295         * jump.c (sets_cc0_p): Handle INSN.
1296         (only_sets_cc0_p): New function.
1297         * flow.c (merge_blocks_nomove): Use only_sets_cc0_p.
1298         (tidy_fallthru_edge): Likewise.
1299         * integrate.c (copy_insn_list): Likewise.
1300         * unroll.c (unroll_loop): Likewise.
1301         (copy_loop_body): Likewise.
1302
1303 2001-08-15  Jason Eckhardt  <jle@redhat.com>
1304
1305         * config/i960/i960.md (trap): Change "faulteq.t" to "faulte.t".
1306
1307 Wed Aug 15 14:24:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
1308
1309         * predict.c (struct block_info_def): Remove nvisited.
1310         (propagate_freq): Use EDGE_DFS_BACK to detect irreducible regions.
1311         (estimate_bb_frequencies): Call mark_dfs_back_edges.
1312
1313         * i386.c (ix86_agi_depdendant): Lea causes AGI only on the Pentium
1314         (ix86_adjust_cost): Teach scheduler that latency to load operand can
1315         be masked.
1316
1317 Wed Aug 15 12:41:32 CEST 2001  Jan Hubicka  <jh@suse.cz>
1318
1319         * predict.def: Update hitrates.
1320
1321 2001-08-15  Richard Henderson  <rth@redhat.com>
1322
1323         * except.c (TYPE_HASH): Cast to size_t, not HOST_WIDE_INT.
1324
1325 Tue Aug 14 17:30:59 2001  Jeffrey A Law  (law@cygnus.com)
1326
1327         * flow.c (commit_one_edge_insertion): Don't separate a LOOP_BEG
1328         note from its associated jump.
1329
1330 2001-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
1331
1332         * config/s390/linux64.h (CPP_PREDEFINES): Define __s390__
1333         also on 64-bit s390x targets.
1334
1335 2001-08-14  Nick Clifton  <nickc@cambridge.redhat.com>
1336
1337         * config/arm/arm.c (arm_compute_initial_elimination_offset): New
1338         function.
1339         (arm_expand_prologue): Handled nested functions which take a
1340         variable argument list.
1341         * config/arm/arm.h (ARM_INITIAL_ELIMINATION_OFFSET): Replace
1342         macro with an invocation of
1343         arm_compute_initial_elimination_offset.
1344         * config/arm/arm-protos.h: Prototype
1345         arm_compute_initial_elimination_offset.
1346
1347 2001-08-14  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1348
1349         * doc/install.texi (Specific, avr): Fix markup.
1350         (Specific, c4x): Ditto.
1351
1352 2001-08-14  Matt Kraai  <kraai@alumni.carnegiemellon.edu>
1353
1354         * predict.c (dump_prediction): Change `bool' parameter to `int'.
1355
1356 2001-08-14  Gabriel Dos Reis  <gdr@codesourcery.com>
1357
1358         * Makefile.in (OBJS): Add rtl-error.o
1359         (rtl-error.o): New rule.
1360         (diagnostic.o): Adjust dependency.
1361         diagnostic.c (file_and_line_for_asm, diagnostic_for_asm,
1362         error_for_asm, _fatal_insn, _fatal_insn_not_found,
1363         warning_for_asm): Move to...
1364         rtl-error.c: ...here.  New file.
1365
1366 2001-08-14  Richard Henderson  <rth@redhat.com>
1367
1368         * dwarf2out.c (dwarf2out_frame_finish): Never emit .eh_frame
1369         if USING_SJLJ_EXCEPTIONS.
1370
1371 2001-08-14  Steve Ellcey <sje@cup.hp.com>
1372
1373         * tlink.c (scan_linker_output): Check string for unsatisfied in
1374         addition to undefined and unresolved.
1375
1376 2001-08-14  Graham Stott  <grahams@redhat.com>
1377
1378         * libgcc2.c (*): Replace EH_FRAME_SECTION with
1379         EH_FRAME_SECTION_NAME.
1380
1381 Tue Aug 14 14:57:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
1382
1383         * genattrtab.c (simplify_test_exp_in_temp): New function.
1384         (simplify_test_exp): Avoid explicit use of temporary obstack.
1385         (simplify_cond, insert_right_side, evaluate_eq_attr,
1386         simplify_and_tree, simplify_or_tree, eliminate_known_true):
1387         Use simplify_test_exp_in_temp.
1388         (optimize_attrs): Iterate until expression stabilizes.
1389
1390 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>:
1391
1392         * glimits.h: Remove the __LONG_MAX__ special case for s390x.
1393         * config/s390/linux64.h: Define __LONG_MAX__ in CPP_PREDEFINES.
1394
1395 2001-08-13  Richard Henderson  <rth@redhat.com>
1396
1397         * config/arm/unknown-elf.h (CTOR_LIST_BEGIN, CTOR_LIST_END): Remove.
1398         (DTOR_LIST_BEGIN, DTOR_LIST_END): Remove.
1399         * config/arm/conix-elf.h: Likewise.
1400
1401 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
1402
1403         * config/svr4.h (LINK_SPEC): Don't do -Wl, here, it is done
1404         in gcc.c.
1405         * config/rs6000/sysv4.h (LINK_SPEC): Likewise.
1406
1407         * gcse.c (hash_scan_set): Expressions that are set as part of
1408         jump instructions are not available.
1409
1410 2001-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
1411
1412         * config/s390/s390.c (print_operand, s390_function_prologue,
1413         s390_va_start): Fixed HOST_WIDE_INT type mismatch.
1414
1415 2001-08-13  Richard Henderson  <rth@redhat.com>
1416
1417         * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): New.
1418         * defaults.h (EH_FRAME_SECTION_NAME): Respect it.
1419         * doc/tm.texi (Exception Region Output): Document it.
1420
1421 2001-08-13  Geoffrey Keating  <geoffk@redhat.com>
1422
1423         * config/rs6000/sysv4.h (PREFERRED_DEBUGGING_TYPE): Use
1424         DWARF2 instead of stabs by default.
1425
1426 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
1427
1428         * config/rs6000/rs6000.c: Include optabs.h.
1429
1430 2001-08-13  David Edelsohn  <edelsohn@gnu.org>
1431
1432         * config/rs6000/eabi.asm: Define 64-bit versions of FPR
1433         save/restore routines.
1434         * ginclude/ppc-asm.h: Define 64-bit FUNC_* macros.
1435
1436 2001-08-13  Andreas Jaeger  <aj@suse.de>
1437
1438         * gcc.c (init_spec): Revert last patch by Theodore Papadopoulo,
1439         the english is correct.
1440
1441 2001-08-13  Zack Weinberg  <zackw@panix.com>
1442
1443         * expr.h: Split out optab- and libfunc-related code to...
1444         * optabs.h, libfuncs.h: ... these new headers.
1445
1446         * Makefile.in (CONFIG_H, EXPR_H): Take out insn-codes.h.
1447         (OPTABS_H): New.
1448         (various .o rules): Add $(OPTABS_H) and/or libfuncs.h to
1449         dependencies.
1450         * mkconfig.sh: Don't include insn-codes.h from config.h.
1451
1452         * reload.h: Use #ifdef GCC_INSN_CODES_H to decide whether
1453         enum insn_code is available.  Move reload_in_optab and
1454         reload_out_optab array declarations to optabs.h.
1455         * regmove.c (gen_add3_insn): Move to optabs.c, export from
1456         there, prototype in expr.h.
1457         * gencodes.c: Cleanup: zap global variables, don't use
1458         printf where puts will do, don't bother defining MAX_INSN_CODE
1459         which nothing uses, let CODE_FOR_nothing get its value implicitly.
1460
1461         * genemit.c, genopinit.c: Include optabs.h in generated file.
1462         * genoutput.c: Include insn-codes.h in generated file.
1463         * builtins.c, caller-save.c, combine.c, doloop.c, explow.c,
1464         expmed.c, expr.c, function.c, ifcvt.c, loop.c, optabs.c, profile.c,
1465         reload1.c, simplify-rtx.c, stmt.c, unroll.c, config/alpha/alpha.c,
1466         config/arm/arm.c, config/c4x/c4x.c, config/clipper/clipper.c,
1467         config/i386/i386.c, config/ia64/ia64.c, config/mn10300/mn10300.c,
1468         config/pj/pj.c, config/sh/sh.c, config/sparc/sparc.c:
1469         Include optabs.h.
1470         * builtins.c, calls.c, dwarf2out.c, except.c, expr.c, function.c,
1471         optabs.c, stmt.c, config/c4x/c4x.c, config/clipper/clipper.c,
1472         config/m88k/m88k.c, config/sparc/sparc.c:
1473         Include libfuncs.h.
1474         * reload.c: Include expr.h and optabs.h before reload.h.
1475         * config/alpha/alpha.c: Include tree.h before reload.h.
1476         * config/pa/pa.c: Include expr.h, optabs.h, libfuncs.h,
1477         and reload.h in that order.
1478         * config/sparc/sparc.c: Include debug.h.
1479         * recog.c: Include insn-codes.h.
1480
1481 2001-08-13  Andreas Jaeger  <aj@suse.de>
1482
1483         * config.gcc: Use t-slibgcc-elf to build shared libgcc_s on
1484         s390*linux.
1485
1486 2000-08-13 Theodore Papadopoulo <Theodore.Papadopoulo@sophia.inria.fr>
1487
1488         * dwarf2out.c (output_cfa_loc): Fix typo in comment.
1489         * gcc.c (init_spec): Fix typo in comment.
1490         * varasm.c (data_section): Fix typo in comment.
1491
1492 Mon Aug 13 02:27:39 CEST 2001  Jan Hubicka  <jh@suse.cz>
1493
1494         * predict.c (dump_prediction): New argument "USED".
1495         (combine_predictions_for_insn): Determine the used heuristics,
1496         output the case no heuristic applied.
1497         * predict.def (PRED_DS_THEORY, PRED_NO_HEURISTIC): New.
1498
1499 2001-08-13  Andreas Jaeger  <aj@suse.de>
1500
1501         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Don't capitalize
1502         register %rip.
1503
1504 2001-08-13  Kazu Hirata  <kazu@hxi.com>
1505
1506         * jump.c: Fix formatting.
1507
1508 2001-08-13  Kazu Hirata  <kazu@hxi.com>
1509
1510         * config/h8300/h8300.md (zero_extendqihi2): Correct the insn
1511         length.
1512
1513 2001-08-12  Geoffrey Keating  <geoffk@redhat.com>
1514
1515         * loop.c (check_dbra_loop): Use condjump_label to compute
1516         jump_label.
1517
1518         * rtl.h: Move prototypes of rtx_alloc and rtvec_alloc around
1519         to better document the files they're in.
1520
1521 2001-08-12  Zack Weinberg  <zackw@panix.com>
1522
1523         * recog.h (struct insn_operand_data): Shrink 'mode' field
1524         to 16 bits.
1525
1526 2001-08-12  Kazu Hirata  <kazu@hxi.com>
1527
1528         * gcc.c: Fix comment formatting.
1529         * gccspec.c: Likewise.
1530         * gcov.c: Likewise.
1531         * gcse.c: Likewise.
1532         * genemit.c: Likewise.
1533         * gengenrtl.c: Likewise.
1534         * genrecog.c: Likewise.
1535         * gensupport.c: Likewise.
1536         * ggc-page.c: Likewise.
1537         * global.c: Likewise.
1538         * graph.c: Likewise.
1539         * ifcvt.c: Likewise.
1540         * integrate.c: Likewise.
1541         * lcm.c: Likewise.
1542         * libgcc2.c: Likewise.
1543         * loop.c: Likewise.
1544         * mbchar.c: Likewise.
1545         * optabs.c: Likewise.
1546         * predict.c: Likewise.
1547         * prefix.c: Likewise.
1548         * profile.c: Likewise.
1549         * protoize.c: Likewise.
1550         * real.c: Likewise.
1551         * recog.c: Likewise.
1552         * regclass.c: Likewise.
1553         * regmove.c: Likewise.
1554         * reg-stack.c: Likewise.
1555         * reload1.c: Likewise.
1556         * resource.c: Likewise.
1557         * rtlanal.c: Likewise.
1558         * rtl.c: Likewise.
1559
1560 2001-08-12  Kazu Hirata  <kazu@hxi.com>
1561
1562         * doc/tm.texi (ENCODE_SECTION_INFO): Add documentation on how
1563         a tree representing a constant is passed to the macro.
1564
1565 2001-08-12  Richard Henderson  <rth@redhat.com>
1566
1567         * config/rs6000/rs6000.c (rs6000_elf_asm_out_constructor): New.
1568         (rs6000_elf_asm_out_destructor): New.
1569         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): Remove.
1570         (DTORS_SECTION_ASM_OP): Remove.
1571         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
1572         (ASM_OUTPUT_INT): Don't hack TARGET_RELOCATABLE for constructors.
1573
1574 2001-08-12  David Edelsohn  <edelsohn@gnu.org>
1575
1576         Revert:
1577         2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1578         * gcc.c (set_collect_gcc_options): New function, split out from
1579         main.
1580         Ignore elided switches.
1581         (do_spec_1): Invoke before executing command.
1582         (set_input): Export.
1583         Move declaration ...
1584         * gcc.h (set_input): ... here.
1585         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
1586         file.
1587
1588 2001-08-12  Richard Henderson  <rth@redhat.com>
1589
1590         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Fix
1591         thinko wrt TARGET_RELOCATABLE.
1592
1593 2001-08-12  Neil Booth  <neil@daikokuya.demon.co.uk>
1594
1595         * fix-header.c (cb_file_change): Update prototype.
1596
1597 2001-08-11  Zack Weinberg  <zackw@panix.com>
1598
1599         * toplev.c (set_float_handler): Make static.
1600         * toplev.h: Don't prototype set_float_handler.
1601
1602         * simplify-rtx.c: Don't include setjmp.h.
1603         (simplify_unary_real, simplify_binary_real, simplify_binary_is2orm1):
1604         New functions.
1605         (simplify_unary_operation, simplify_binary_operation): Use them,
1606         via do_float_handler.
1607
1608         * fold-const.c: Don't include setjmp.h.
1609         (exact_real_inverse_1): New function.
1610         (exact_real_inverse): Use it, via do_float_handler.
1611
1612         * varasm.c: Don't include setjmp.h.
1613         (assemble_real_1): New function.
1614         (assemble_real): Use it, via do_float_handler.
1615         Call internal_error if we get a trap here.
1616
1617         * c-parse.in, cse.c, cselib.c, config/i386/i386.c,
1618         config/pj/pj.c, config/s390/s390.c: Don't include setjmp.h.
1619
1620 2001-08-11  Zack Weinberg  <zackw@panix.com>
1621
1622         * defaults.h: Define PREFERRED_STACK_BOUNDARY to
1623         STACK_BOUNDARY if not already defined.
1624
1625         * calls.c, function.c, reload1.c, explow.c: Don't default
1626         PREFERRED_STACK_BOUNDARY.  Remove all #if/#ifdef on
1627         PREFERRRED_STACK_BOUNDARY and/or STACK_BOUNDARY.
1628
1629         * explow.c (allocate_dynamic_stack_space): Change unsafe #if
1630         to run-time test.
1631
1632         * doc/tm.texi: Document that STACK_BOUNDARY is required;
1633         clarify difference between it and PREFERRED_STACK_BOUNDARY.
1634
1635 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1636
1637         * cppmacro.c (enter_macro_context): Push macro expansions even
1638         if empty.
1639
1640 2001-08-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1641
1642         * config/rs6000/rs6000.c: Include integrate.h to silence warning.
1643         (rs6000_elf_section_type_flags): Actually return a value.
1644
1645 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
1646
1647         * s390.c, s390.h, s390.md, s390-protos.h, linux.h, t-linux:
1648         Clean up code: add missing comments and prototypes, fix warnings,
1649         remove obsolete code, fix spacing to conform to coding style.
1650
1651 2001-08-11  Ulrich Weigand  <uweigand@de.ibm.com>
1652
1653         * config/s390/s390.c (targetm): Define TARGET_ASM_OPEN_PAREN
1654         and TARGET_ASM_CLOSE_PAREN.
1655         (regclass_map): CC register belongs to class NO_REGS.
1656         (legitimize_pic_address): Don't generate unnecessary moves
1657         (to avoid confusing loop optimization).
1658         (check_and_change_labels): Replace jump_long by indirect_jump.
1659         (s390_final_chunkify): Don't start a new literal pool on section
1660         switch in 64-bit code.
1661         (s390_va_start, s390_va_arg): Fixed incorrect sizes for 64-bit.
1662
1663         * config/s390/s390.h (TARGET_SWITCHES): Renamed debug_arg to debug.
1664         (MAX_BITS_PER_WORD, MAX_LONG_TYPE_SIZE): Set to 64 (for 64-bit).
1665         (HARD_REGNO_MODE_OK, RETURN_IN_MEMORY): Support complex integer
1666         modes correctly.
1667         (reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Remove CC_REGS.
1668         (EH_RETURN_HANDLER_RTX): Fixed incorrect offset for 64-bit.
1669         (CONST_COSTS): Fixed incorrect costs.
1670
1671         * config/s390/s390.md (fixuns_trunc[sd]f[sd]i2, udivsi3, umodsi3):
1672         Use emit_jump instead of emit_jump_insn (gen_jump).
1673         (divsi3, modsi3): Clobber low word of divmoddisi3 before shifting
1674         (to avoid confusing flow analysis).
1675         (tablejump, tablejump1, tablejump2): Removed.  Replaced by casesi.
1676         (casesi, casesi_jump): New.
1677         (jump_long): Removed.  Functionality merged into indirect_jump.
1678         (indirect_jump): Accept address_operand, not just register_operand.
1679         (cjump_long, icjump_long): Use same logic as indirect_jump.
1680         (builtin_setjmp_setup, builtin_setjmp_receiver, builtin_longjmp):
1681         Fixed broken setjmp/longjmp handling.
1682         (do_builtin_setjmp_setup): Removed.
1683
1684         * config/s390/linux.h (ASM_OUTPUT_DOUBLE_INT): Work around
1685         broken GNU as versions that don't accept .quad with large
1686         negative values.  Use hexadecimal output instead.
1687         (ASM_OUTPUT_ADDR_DIFF_ELT): Adapt to new casesi insn.
1688         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN, FUNCTION_PROLOGUE,
1689         FUNCTION_EPILOGUE): Removed.  Now in targetm.
1690
1691         * config/s390/linux64.h (CALL_USED_REGISTERS): Add CC register.
1692
1693         * config/s390/fixdfdi.h: Add missing copyright statement.
1694         Fix type conflicts on 64-bit.  Add missing SFmode routines.
1695
1696         * s390.c, s390.h, s390.md, linux.h, linux64.h: Fixed incorrect
1697         email address.
1698
1699 2001-08-11  Richard Henderson  <rth@redhat.com>
1700
1701         * rtl.h (REG_EH_RETHROW): Remove.
1702         * rtl.c (reg_note_name): Update.
1703         * combine.c (distribute_notes): Don't check for it.
1704
1705 2001-08-11  Richard Henderson  <rth@redhat.com>
1706
1707         * combine.c (distribute_notes): Place REG_SETJMP.
1708
1709 2001-08-11  Richard Henderson  <rth@redhat.com>
1710
1711         * doc/extend.texi (Arrays and pointers implementation): Discourage
1712         relying on sign-extension of pointers.
1713
1714 2001-08-11  H.J. Lu <hjl@gnu.org>
1715
1716         * config/mips/linux.h (EXTRA_SECTIONS): Remove in_ctors and
1717         in_dtors.
1718         (EXTRA_SECTION_FUNCTIONS): Remove DTORS_SECTION_ASM_OP and
1719         RDATA_SECTION_ASM_OP.
1720
1721 2001-08-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1722
1723         * doc/install.texi (Specific, c4x): Fix cross-reference to the
1724         main manual to work both for info and HTML versions.
1725
1726 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1727             Matt Kraai <kraai@alumni.carnegiemellon.edu>
1728
1729         * cpphash.c (_cpp_destroy_hashtable): Use ht_destroy.
1730         * cpphash.h (CPP_IN_SYSTEM_HEADER): Fix.
1731         (struct cpp_pool): New member first.
1732         * cppinit.c (append_include_chain): Plug memory leaks.
1733         * cpplib.c (cpp_register_pragma, cpp_register_pragma_space):
1734         Allocate pragma structures from the (aligned) macro pool to
1735         avoid leaking memory.
1736         * cpplex.c (_cpp_init_pool, _cpp_free_pool): Use pool->first
1737         so we don't leak memory.
1738         * hashtable.c (ht_destroy): New.
1739         * hashtable.h (ht_destroy): New.
1740
1741 2001-08-11  Neil Booth  <neil@daikokuya.demon.co.uk>
1742             Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
1743
1744         * c-lex.c (map): Make const.
1745         (cb_file_change): Update for callback passing a line map.
1746         Don't assume we have a previous map.  Remove sanity check
1747         about popping too many files.
1748         * cpperror.c (print_location): Make map const.
1749         * cppfiles.c (stack_include_file): Update; line maps now hold sysp.
1750         (cpp_make_system_header): Similarly.
1751         (search_from): Similarly.
1752         (_cpp_execute_include): Don't remember where we came from.
1753         * cpphash.h (struct cpp_buffer): Remove return_to_line, sysp.
1754         (struct cpp_reader): Make map const.
1755         (CPP_IN_SYSTEM_HEADER, _cpp_do_file_change): Update.
1756         * cpplib.c (do_line): Update; line maps now hold sysp.
1757         (cpp_push_buffer): Similarly.
1758         (_cpp_do_file_change): Similarly; callback with map instead.
1759         (cpp_get_line_maps): Constify return value.
1760         (_cpp_pop_buffer): Update.
1761         * cpplib.h (struct cpp_file_change): Remove.
1762         (struct cpp_callbacks): Update.
1763         (cpp_get_line_maps): Constify return value.
1764         * cppmacro.c (_cpp_create_definition): Update.
1765         * cppmain.c (struct printer): Constify map.
1766         (maybe_print_line): Similarly.
1767         (print_line): Similarly.  Deduce flags 1 and 2 here.
1768         (cb_file_change): Update.
1769         * line-map.c (free_line_maps): Warn regardless.
1770         (add_line_map): Return pointer to const.  When passed NULL to_file
1771         with LC_LEAVE, use the obvious values for the return point so the
1772         caller doesn't have to figure them out.
1773         (lookup_line): Return pointer to const.
1774         (print_containing_files): Take pointer to const.
1775         * line-map.h (struct line_map): New members reason, sysp.
1776         (add_line_map): Return pointer to const.
1777         (lookup_line): Similarly.
1778         (print_containing_files): Take pointer to const.
1779
1780 2001-08-10  Roman Zippel  <zippel@linux-m68k.org>
1781             Richard Henderson  <rth@redhat.com>
1782
1783         * regmove.c (regmove_optimize): Avoid setting a register twice in
1784         a parallel set.
1785
1786 2001-08-10  Richard Henderson  <rth@redhat.com>
1787
1788         * doc/extend.texi (Arrays and pointers implementation): Document
1789         behavior of pointer/integer conversion.
1790
1791 2001-08-10  Ulrich Weigand  <uweigand@de.ibm.com>
1792
1793         * glimits.h (__LONG_MAX__): Add s390x as 64-bit architecture.
1794
1795 2001-08-10  Richard Henderson  <rth@redhat.com>
1796
1797         * doc/extend.texi (C Implementation): New chapter.
1798         * doc/gcc.texi (Top): Link it in.
1799
1800 2001-08-10  Andrew Cagney  <ac131313@redhat.com>
1801
1802         * doc/install.texi (Specific): Fix CVS merge botch.
1803
1804 2001-08-10  Richard Henderson  <rth@redhat.com>
1805
1806         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): Protect with
1807         ifdef CTOR_LIST_BEGIN instead of INIT_SECTION_ASM_OP.
1808
1809 2001-08-10  Zack Weinberg  <zackw@stanford.edu>
1810
1811         * calls.c, function.c: Always define PREFERRED_STACK_BOUNDARY
1812         if not already defined.  Remove all #ifdefs on STACK_BOUNDARY;
1813         this macro is now required.
1814
1815         * cselib.c (cselib_process_insn), flow.c (propagate_block),
1816         loop.c (find_and_verify_loops), reload.c (reload): Check
1817         for rtx code of CALL_INSN, not CALL, when deciding if we
1818         need to check for REG_SETJMP note.
1819
1820         * gcse.c (compute_hash_table, compute_store_table): Update
1821         the #ifdef NON_SAVING_SETJMP code to the new REG_SETJMP
1822         logic.
1823
1824         * config/avr/avr.c: Fix typo.
1825         * config/convex/convex.c (expand_movstr): Use adjust_address.
1826         * config/dsp16xx/dsp16xx.c: Define dsp16xx_compare_gen
1827         variable.
1828         * config/dsp16xx/dsp16xx.md: Correct calls to replace_equiv_address.
1829         * config/elxsi/elxsi.c: Include tree.h, expr.h, regs.h, and flags.h.
1830         Fix typo.
1831         * config/elxsi/elxsi.h: Don't define Rmode (typo for Pmode?)
1832         Do define STACK_BOUNDARY.
1833         * config/i370/i370.c: Include expr.h.
1834         * config/i860/sysv3.h, config/i860/sysv4.h, config/m32r/m32r.h,
1835         config/pa/som.h, config/v850/v850.h: Take in_ctors and
1836         in_dtors out of EXTRA_SECTIONS; take CTORS_SECTION_FUNCTION
1837         and DTORS_SECTION_FUNCTION out of EXTRA_SECTION_FUNCTIONS.
1838         * config/m88k/m88k.c: Include c-tree.h after expr.h.
1839         * config/pdp11/pdp11.c: Include expr.h and toplev.h.
1840         * config/romp/romp.c: Include expr.h after tree.h.
1841         Include toplev.h.
1842         (output_fpop): Use xmalloc, not oballoc.
1843         * config/we32k/we32k.c: Include expr.h.
1844
1845 2001-08-10  Kazu Hirata  <kazu@hxi.com>
1846
1847         * config/h8300/h8300.h: Fix formatting.
1848
1849 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
1850
1851         * c-common.h (RETURN_NULLIFIED_P): Lose.
1852         * c-semantics.c (genrtl_return_stmt): Don't check it.
1853
1854 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
1855
1856         * config/mips/mips.c (mips_add_large_offset_to_sp): New function.
1857         (mips_annotate_frame_insn): New function.
1858         (mips_emit_frame_related_store): New function.
1859         (save_restore_insns): Don't mark instructions that set up the base
1860         registers as frame-related.  Add REG_FRAME_RELATED_EXPR notes to
1861         the store instructions instead.
1862         (mips_expand_prologue): If the stack size is moved into a temporary
1863         register, do not mark that move as frame-related.  Add a
1864         REG_FRAME_RELATED_EXPR note to the stack adjustment instruction.
1865
1866 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
1867
1868         * config/mips/mips.c (save_restore_insns): Don't mark the RA's
1869         stack slot as unchanging if current_function_calls_eh_return.
1870
1871 2001-08-10  Richard Sandiford  <rsandifo@redhat.com>
1872
1873         * config/mips/mips.md (reload_incc): Use HARD_REGNO_NREGS to
1874         access the second half of the TFmode scratch operand.
1875
1876 2001-08-10  Anthony Green  <green@redhat.com>
1877
1878         * java/class.c (emit_register_classes): Conditionalize code on
1879         JCR_SECTION_NAME.
1880
1881 2001-08-10  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1882
1883         * doc/install.texi (Specific, avr): Fix cross-reference to the
1884         main manual to work both for info and HTML versions.
1885
1886 2001-08-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
1887
1888         * stmt.c (expand_null_return_1): Remove code to generate simple returns
1889         and "use_goto" argument.
1890         (expand_null_return, expand_value_return): Update all callers.
1891         * function.c (expand_function_end): Remove code to generate simple
1892         return.
1893         * config/vax/vax.md (epilogue): New expander for function return.
1894         * doc/md.texi (epilogue): Remove "if defined".
1895
1896 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
1897
1898         * Makefile.in: Partially revert my previous change:
1899         put -DGENERATOR_FILE back in HOST_CFLAGS, take it out
1900         of the hashtab.o and safe-ctype.o rules.
1901
1902 2001-08-09  Richard Henderson  <rth@redhat.com>
1903
1904         * Makefile.in (MAYBE_USE_COLLECT2): Remove; purge all uses.
1905         (USE_COLLECT2): Remove duplicate definition.
1906         * config.gcc (a29k-udi, a29k-wrs-vxworks) [tm_file]: Remove a29k/udi.h.
1907         (use_collect2): Remove dead code.
1908         * configure.in (use_collect2): Remove will_use_collect2 and
1909         maybe_use_collect2; add USE_COLLECT2 to host_xm_defines and xm_defines.
1910         * configure: Rebuild.
1911
1912         * target.h (targetm.asm_out.constructor): New.
1913         (targetm.asm_out.destructor, targetm.have_ctors_dtors): New.
1914         * target-def.h (TARGET_ASM_CONSTRUCTOR): New.
1915         (TARGET_ASM_DESTRUCTOR, TARGET_HAVE_CTORS_DTORS): New.
1916         * varasm.c (in_ctors, in_dtors): New.
1917         (assemble_constructor, assemble_destructor): Remove.
1918         (default_stabs_asm_out_destructor): New.
1919         (default_named_section_asm_out_destructor): New.
1920         (dtors_section, default_dtor_section_asm_out_destructor): New.
1921         (default_stabs_asm_out_constructor): New.
1922         (default_named_section_asm_out_constructor): New.
1923         (ctors_section, default_ctor_section_asm_out_constructor): New.
1924         * output.h: Update declarations.
1925         * c-decl.c (c_expand_body): Use target hooks instead of
1926         assemble_constructor and assemble_destructor.
1927         * profile.c (output_func_start_profiler): Likewise.
1928         * objc/objc-act.c (finish_objc): Likewise.
1929         (build_module_descriptor): Tidy.  Set TREE_PUBLIC properly
1930         for the constructor.
1931         * objc/Make-lang.in (objc-act.o): Depend on TARGET_H.
1932
1933         * crtstuff.c (CTORS_SECTION_ASM_OP): Don't define.
1934         (DTORS_SECTION_ASM_OP): Likewise.
1935         (__CTOR_LIST__): Use attribute section when possible.
1936         (__DTOR_LIST__, __CTOR_END__, __DTOR_END__): Likewise.
1937
1938         * defaults.h (EH_FRAME_SECTION_NAME): Don't depend on
1939         ASM_OUTPUT_CONSTRUCTOR.
1940
1941         * config/darwin.c (machopic_asm_out_constructor): New.
1942         (machopic_asm_out_destructor): New.
1943         * config/darwin-protos.h: Update declarations.
1944         * config/darwin.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
1945         (ASM_OUTPUT_DESTRUCTOR): Remove.
1946         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
1947         * config/nextstep.c (nextstep_asm_out_constructor): New.
1948         (nextstep_asm_out_destructor): New.
1949         * config/nextstep.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
1950         (ASM_OUTPUT_DESTRUCTOR): Remove.
1951         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
1952         * config/nextstep21.h: Undef TARGET_ASM_*STRUCTOR instead of
1953         ASM_OUTPUT_*STRUCTOR.
1954         * config/i386/aix386ng.h: Likewise.
1955
1956         * config/elfos.h (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Remove.
1957         (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): No ctors/dtors.
1958         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
1959         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
1960         * config/lynx.h: Likewise.
1961         * config/netware.h: Likewise.
1962         * config/psos.h: Likewise.
1963         * config/alpha/alpha-interix.h: Likewise.
1964         * config/alpha/elf.h: Likewise.
1965         * config/arc/arc.h: Likewise.
1966         * config/arm/aof.h: Likewise.
1967         * config/arm/coff.h: Likewise.
1968         * config/arm/elf.h: Likewise.
1969         * config/c4x/c4x.h: Likewise.
1970         * config/h8300/h8300.h: Likewise.
1971         * config/i386/cygwin.h: Likewise.
1972         * config/i386/djgpp.h: Likewise.
1973         * config/i386/i386-coff.h: Likewise.
1974         * config/i386/i386-interix.h: Likewise.
1975         * config/i386/sco5.h: Likewise.
1976         * config/i386/vsta.h: Likewise.
1977         * config/i386/win32.h: Likewise.
1978         * config/i960/i960-coff.h: Likewise.
1979         * config/ia64/sysv4.h: Likewise.
1980         * config/m68hc11/m68hc11.h: Likewise.
1981         * config/m68k/coff.h: Likewise.
1982         * config/m68k/mot3300.h: Likewise.
1983         * config/m88k/m88k.h: Likewise.
1984         * config/mcore/mcore-pe.h: Likewise.
1985         * config/mcore/mcore.h: Likewise.
1986         * config/mips/elf.h: Likewise.
1987         * config/mips/elf64.h: Likewise.
1988         * config/mips/iris6.h: Likewise.
1989         * config/pa/pa64-hpux.h: Likewise.
1990         * config/rs6000/sysv4.h: Likewise.
1991         * config/sh/sh.h: Likewise.
1992         * config/sparc/litecoff.h: Likewise.
1993
1994         * config/svr3.h (CTORS_SECTION_ASM_OP): Remove.
1995         (CTORS_SECTION_FUNCTION, DTORS_SECTION_FUNCTION): Remove.
1996         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
1997         * config/1750a/1750a.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
1998         (ASM_OUTPUT_DESTRUCTOR): Remove.
1999         * config/a29k/a29k.c: Move include of tree.h.
2000         * config/a29k/udi.h: Delete file.
2001         * config/alpha/alpha.c (vms_asm_out_constructor): New.
2002         (vms_asm_out_destructor): New.
2003         * config/alpha/vms.h (EXTRA_SECTIONS): No ctors/dtors.
2004         (EXTRA_SECTION_FUNCTIONS): Likewise.
2005         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
2006         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2007         * config/c4x/c4x.c: Move include of tree.h.
2008         * config/clipper/clipper.c (clix_asm_out_constructor): New.
2009         (clix_asm_out_destructor): New.
2010         * config/clipper/clix.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2011         (ASM_OUTPUT_DESTRUCTOR): Remove.
2012         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2013         * config/i386/aix386.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2014         (TARGET_ASM_CONSTRUCTOR): New.
2015         * config/i386/i386.c (ix86_svr3_asm_out_constructor): New.
2016         (sco_asm_out_constructor): New.
2017         * config/i386/sco5.h (TARGET_ASM_CONSTRUCTOR): New.
2018         * config/i386/svr3gas.h: Remove stack grows up code.
2019         Remove code duplicated from i386/sysv3.h.
2020         (TARGET_ASM_CONSTRUCTOR): New.
2021         (ASM_OUTPUT_CONSTRUCTOR, ASM_OUTPUT_DESTRUCTOR): Remove.
2022         (DTORS_SECTION_FUNCTION, CTORS_SECTION_FUNCTION): Remove.
2023         * config/i386/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2024         (TARGET_ASM_CONSTRUCTOR): New.
2025         * config/m68hc11/m68hc11.c (m68hc11_asm_out_constructor): New.
2026         (m68hc11_asm_out_destructor): New.
2027         * config/m68hc11/m68hc11.h (TARGET_ASM_CONSTRUCTOR): New.
2028         (TARGET_ASM_DESTRUCTOR): New.
2029         * config/m68k/auxgas.h: Don't undef ASM_OUTPUT_*STRUCTOR.
2030         * config/m68k/dpx2.h: Properly undef all the bits inherited from
2031         config/svr3.h pertaining to section manipulation.
2032         * config/m68k/dpx2g.h: Remove #if 0 code.
2033         * config/m68k/m68k.c (m68k_svr3_asm_out_constructor): New.
2034         * config/m68k/tower-as.h (ASM_OUTPUT_SOURCE_LINE): Fix typo.
2035         (ASM_OUTPUT_CONSTRUCTOR): Remove.
2036         (TARGET_ASM_CONSTRUCTOR): New.
2037         * config/m88k/m88k.c (m88k_layout_frame): Don't use assign_stack_local.
2038         (m88k_svr3_asm_out_constructor): New.
2039         (m88k_svr3_asm_out_destructor): New.
2040         * config/m88k/sysv3.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2041         (ASM_OUTPUT_DESTRUCTOR): Remove.
2042         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2043         * config/mips/mips.h: Remove #if 0 ASM_OUTPUT_*STRUCTOR code.
2044         * config/rs6000/aix.h: Likewise.
2045         * config/mips/rtems64.h: Don't undef removed constructor related bits.
2046         * config/mips/vxworks.h: Likewise.
2047         * config/rs6000/lynx.h: Likewise.
2048         * config/sh/elf.h: Likewise.
2049         * config/rs6000/sysv4.h (CTORS_SECTION_ASM_OP): New.
2050         (DTORS_SECTION_ASM_OP): New.
2051         * config/sparc/linux64.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2052         (ASM_OUTPUT_DESTRUCTOR): Remove.
2053         * config/sparc/sol2-sld-64.h: Likewise.
2054         * config/vax/vax.c (vms_asm_out_constructor): New.
2055         (vms_asm_out_destructor): New.
2056         * config/vax/vms.h (ASM_OUTPUT_CONSTRUCTOR): Remove.
2057         (ASM_OUTPUT_DESTRUCTOR): Remove.
2058         (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR): New.
2059
2060         * doc/tm.texi (@node Initialization): Update.
2061
2062 2001-08-09  Richard Henderson  <rth@redhat.com>
2063
2064         * config/alpha/crtbegin.asm (__JCR_LIST__): New.
2065         (__do_global_dtors_aux): Use gp-relative static data to avoid
2066         one dynamic relocation.
2067         (__do_frame_setup): Register Java classes.
2068         * config/alpha/crtend.asm (__JCR_END__): New.
2069
2070 2001-08-09  Zack Weinberg  <zackw@stanford.edu>
2071
2072         * Makefile.in (HOST_CFLAGS): Take out -DGENERATOR_FILE.
2073         (CONFIG_H, TCONFIG_H, TM_P_H): Update.
2074         (GEN, STAGESTUFF): Add new files.
2075         (insn-constants.h, s-constants, tm-preds.h, s-preds,
2076         genconstants, genpreds, genconstants.o, genpreds.o): New rules.
2077         (hashtab.o, safe-ctype.o): Add -DGENERATOR_FILE.
2078         * mkconfig.sh: Include tm-preds.h in tm_p.h; insn-constants.h
2079         as well as insn-codes.h and insn-flags.h in config.h; and no
2080         extra headers in tconfig.h and hconfig.h.
2081
2082         * gencodes.c: Eliminate code to generate predicate declarations
2083         or #defines for md-file constants.
2084         * genconstants.c, genpreds.c: New files.
2085
2086         * i386.md: Re-order guard expressions such that TARGET_64BIT
2087         comes first, when this permits better optimization.  Add
2088         TARGET_64BIT to more x86-64 patterns.  Add comment explaining
2089         why this is desirable.
2090
2091 2001-08-09  Jakub Jelinek  <jakub@redhat.com>
2092
2093         * config/ia64/fde-glibc.c: Require glibc 2.2.4+ headers.
2094         (find_fde_for_dso): Remove.
2095         (_Unwind_IteratePhdrCallback): New.
2096         (_Unwind_FindTableEntry): Use dl_iterate_phdr.
2097         * config/ia64/crtbegin.asm (__ia64_app_header): Remove.
2098
2099 Thu Aug  9 11:30:20 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2100
2101         * expr.c (emit_single_push_insn): Only exists ifdef PUSH_ROUNDING.
2102         (move_by_pieces_1): If would call it, abort if no PUSH_ROUNDING.
2103
2104 2001-08-09  Graham Stott  <grahams@redhat.com>
2105
2106         * sched-vis.c (MAX_VISUAL_NO_UNIT): Define.
2107         (vis_no_unit): Use it.
2108         (visualize_no_unit): Add the insn only if room exists.
2109
2110 2001-08-09  Graham Stott  <grahams@redhat.com>
2111
2112         * predict.c (estimate_probability): Replace magic numbers with
2113         appropriate enumeration.
2114
2115 2001-08-09  Graham Stott  <grahams@redhat.com>
2116
2117         * cppexp.c (EXTRACT_PRIO): Uppercase and parenthsize macro
2118         parameter.
2119         (EXTRACT_FLAGS): Likewise.
2120
2121 2001-08-09  Aldy Hernandez  <aldyh@redhat.com>
2122
2123         * config/mips/mips.c    (mips_legitimate_address_p): Check for
2124         CONST_INT in last patch.
2125
2126 2001-08-08  Anthony Green  <green@redhat.com>
2127
2128         * java/class.c (emit_register_classes): Use assemble_jcr if
2129         possible.  Keep the original mechanism as a fallback.
2130         * defaults.h (JCR_SECTION_NAME): Define if we have named section
2131         and weak symbol support.
2132         * crtstuff.c (__JCR_LIST__): Define.
2133         (__JCR_END__): Define.
2134         (_Jv_RegiserClasses): Define weak symbol if possible.
2135         (__do_global_ctors_aux): Register classes for ELF targets with
2136         weak symbol support.
2137
2138 2001-08-08  Kazu Hirata  <kazu@hxi.com>
2139
2140         * dbxout.c: Fix comment formatting.
2141         * dependence.c: Likewise.
2142         * df.c: Likewise.
2143         * diagnostic.c: Likewise.
2144         * dominance.c: Likewise.
2145         * doprint.c: Likewise.
2146         * dwarf2out.c: Likewise.
2147         * dwarfout.c: Likewise.
2148         * emit-rtl.c: Likewise.
2149         * except.c: Likewise.
2150         * explow.c: Likewise.
2151         * expmed.c: Likewise.
2152         * expr.c: Likewise.
2153         * flow.c: Likewise.
2154         * fold-const.c: Likewise.
2155         * function.c: Likewise.
2156
2157 2001-08-08  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2158
2159         * global.c (retry_global_alloc): Avoid shadowing allocno.
2160
2161 2001-08-08  Mark Mitchell  <mark@codesourcery.com>
2162
2163         * except.c (remove_fixup_regions): Fix typo.
2164
2165 2001-08-08  Jan van Male <jan.vanmale@fenk.wau.nl>
2166
2167         * emit-rtl.c (adjust_address, adjust_address_nv): Cast offset to
2168         unsigned HOST_WIDE_INT to avoid warning.
2169         * final.c (final): Cast INSN_UID to unsigned to avoid warning.
2170         * flow.c (set_block_for_new_insns): Likewise.
2171
2172 Wed Aug  8 21:08:14 CEST 2001  Jan Hubicka  <jh@suse.cz>
2173
2174         * sibcall.c (return_value_pseudo): New static variable.
2175         (skip_copy_to_return_value): Handle return_value_pseudo.
2176         (call_ends_block_p): Ensure that return_value_pseudo is set.
2177         (optimize_sibling_and_tail_recursive_call): Discover the
2178         load of pseudo return value in alternate exit block.
2179
2180 Wed Aug  8 21:06:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
2181
2182         * calls.c (ECF_ALWAYS_RETURN): New constant.
2183         (emit_call_1): Add REG_ALWAYS_RETURN note if needed.
2184         (expand_call): Use LCF_ALWAYS_RETURN for __bb_fork_func.
2185         (emit_library_call_value_1): Handle LCT_ALWAYS_RETRUN.
2186         * flow.c (need_fake_edge_p): Handle REG_ALWAYS_RETURN.
2187         * rtl.c (reg_note_name): New name.
2188         * rtl.h (enum reg_note): Add REG_ALWAYS_RETURN.
2189
2190 2001-08-07  Aldy Hernandez  <aldyh@redhat.com>
2191
2192         * config/mips/mips.c (mips_legitimate_address_p): Limit "la" addresses.
2193
2194 2001-08-08  Jason Merrill  <jason_merrill@redhat.com>
2195
2196         * alias.c (get_alias_set): Return a previously calculated
2197         alias set for a VAR_DECL.
2198         * function.c (gen_mem_addressof): Calculate the alias set before
2199         touching the RTL.
2200
2201 Wed Aug  8 18:44:37 CEST 2001  Jan Hubicka  <jh@suse.cz>
2202
2203         * predict.def: Set hitrates according our experimental run.
2204
2205 Wed Aug  8 18:01:58 CEST 2001  Jan Hubicka  <jh@suse.cz>
2206
2207         * i386.h (HARD_REGNO_RENAME_OK): New macro.
2208
2209 2001-08-08  H.J. Lu <hjl@gnu.org>
2210
2211         * config/mips/mips.c (mips_unique_section): New. Copied from
2212         config/mips/elf.h.
2213
2214         * config/mips/mips-protos.h (mips_unique_section): New
2215         prototype.
2216
2217         * config/mips/elf.h (UNIQUE_SECTION): Use mips_unique_section.
2218
2219         * config/mips/little.h: New. Generic little endian mips
2220         targets. Only mips*-*-linux* is converted to use it so far.
2221
2222         * config/mips/linux.h: Include "gofast.h" and "mips/mips.h".
2223         (WCHAR_TYPE): Defined
2224         (WCHAR_TYPE_SIZE): Likewise.
2225         (INIT_SUBTARGET_OPTABS): Likewise.
2226         (BSS_SECTION_ASM_OP): Likewise.
2227         (SBSS_SECTION_ASM_OP): Likewise.
2228         (ASM_OUTPUT_ALIGNED_BSS): Likewise.
2229         (ASM_DECLARE_OBJECT_NAME): Likewise.
2230         (UNIQUE_SECTION): Likewise.
2231         (EXTRA_SECTIONS): Likewise.
2232         (ASM_OUTPUT_CONSTRUCTOR): Likewise.
2233         (ASM_OUTPUT_DESTRUCTOR): Likewise.
2234         (ASM_OUTPUT_DEF): Likewise.
2235         (HANDLE_SYSV_PRAGMA): Removed.
2236         (NO_IMPLICIT_EXTERN_C): Likewise.
2237         (TARGET_MEM_FUNCTIONS): Likewise.
2238         (STARTFILE_SPEC): Likewise.
2239         (ENDFILE_SPEC): Likewise.
2240         (LIB_SPEC): Likewise.
2241         (INVOKE__main): Likewise.
2242         (CTOR_LIST_BEGIN): Likewise.
2243         (CTOR_LIST_END): Likewise.
2244         (DTOR_LIST_BEGIN): Likewise.
2245         (DTOR_LIST_END): Likewise.
2246         (SET_ASM_OP): Likewise.
2247         (ASM_OUTPUT_SOURCE_LINE): Likewise.
2248         (ASM_OUTPUT_DEF): Likewise.
2249         (ASM_OUTPUT_IDENT): Likewise.
2250
2251         * config/mips/mips.h (ASM_SPEC): Undefine before define.
2252         (CPLUSPLUS_CPP_SPEC): Likewise.
2253         (ASM_APP_ON) Redefine only if not defined.
2254         (ASM_APP_OFF): Likewise.
2255         (ASM_OUTPUT_SOURCE_LINE): Likewise.
2256         (ASM_OUTPUT_IDENT): Likewise.
2257
2258         * config.gcc: Update tm_file for Linux/mips.
2259
2260 2001-08-08  Bernd Schmidt  <bernds@redhat.com>
2261
2262         * cselib.c (cselib_record_sets): If insn is predicated, turn
2263         sources into IF_THEN_ELSEs.
2264
2265         * config/ia64/ia64.md (cond_opsi2_internal, cond_opsi2_internal_b):
2266         Turn into define_insn_and_split.
2267
2268         * sched-deps.c: Include "cselib.h".
2269         (add_insn_mem_dependence, sched_analyze_1, sched_analyze_2):
2270         Use cselib to turn memory addresses into VALUEs.
2271         (sched_analyze): Call cselib_init/cselib_finish if necessary.
2272         * sched-int.h (struct sched_info): New member USE_CSELIB.
2273         * sched-ebb.c (ebb_sched_info): Initialize it.
2274         * sched-rgn.c (rgn_sched_info): Likewise.
2275         * Makefile.in (sched-deps.o): Update dependencies.
2276
2277         * cselib.h (cselib_subst_to_values): Declare.
2278         * cselib.c (cselib_subst_to_values): No longer static.  Allow MEMs
2279         that have no value and autoincs to be handled by generating a new
2280         dummy value.
2281
2282 2001-08-08  Graham Stott  <grahams@redhat.com>
2283
2284         * final.c (shorten_branches): Update the INSN_ADDRESSES of insns
2285         within fixed length SEQUENCE.
2286
2287 2001-08-08  Graham Stott  <grahams@redhat.com>
2288
2289         * diagnostic.h (diagnostic_format_decoder): Parenthesize macro parameter.
2290         (diagnostic_prefixing_rule): Likewise.
2291         (diagnostic_line_cutoff): Likewise.
2292         (diagnostic_kind_count): Likewise.
2293
2294 2001-08-08  Graham Stott  <grahams@redhat.com>
2295
2296         * alias.c (find_base_decl): Delete redundent assignment.
2297
2298 2001-08-08  Graham Stott  <grahams@redhat.com>
2299
2300         * dependence.c (INDEX_LIMIT_CHECK): Uppercase macro parameter.
2301         (abs): Uppercase and paranthesize macro parameter.
2302         (MEM_DEPENDENCY): Add whitespace.
2303
2304 2001-08-08  Graham Stott  <grahams@redhat.com>
2305
2306         * config/mips/mips.c (mips_legitimate_address_p): Fix enable checking
2307         failure check for CONST_INT
2308
2309 2001-08-08  Graham Stott  <grahams@redhat.com>
2310
2311         * flow.c (back_edge_of_syntactic_loop_p): Add whitespace.
2312         (libcall_dead_p): Likewise.
2313
2314         (mark_used_regs): Constify fmt.
2315         (find_use_as_address): Likewise.
2316
2317 2001-08-08  Graham Stott  <grahams@redhat.com>
2318
2319         * c-typeck.c (RESTORE_SPELLING_DEPTH): Uppercase and parenthesize macro
2320          parameter.
2321
2322 2001-08-08  Graham Stott  <grahams@redhat.com>
2323
2324         * combine.c (combine_simplify_rtx): Update comment and
2325         remove erroneous test.
2326
2327 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2328
2329         * cppinit.c (cpp_finish): Pop the final buffer without comment.
2330         * cpplex.c (_cpp_lex_token): Don't pop the final buffer; and
2331         take care to avoid multiple no-newline at EOF warnings in that
2332         case.
2333
2334 Tue Aug  7 22:18:06 CEST 2001  Jan Hubicka  <jh@suse.cz>
2335
2336         * calls.c (expand_call): Do not emit INSN_SETJMP note.
2337         (emit_library_call_value_1): Likewise.
2338         (emit_call_1): Emit REG_SETJMP note.
2339         * cse.c (cse_end_of_basic_block): Use REG_SETJMP instead
2340         of INSN_SETJMP
2341         * cselib.c (cselib_process_insn): Likewise.
2342         * flow.c (propagate_block): Likewise.
2343         * loop.c (find_and_verify_loops): Likewise.
2344         * reload.c (find_equiv_regs): Likewise.
2345         * reload1.c (reload): Likewise.
2346         * resource.c (mark_referenced_resources,
2347         mark_set_resources): Likewise.
2348         * sched-deps (sched_analyze_insn, sched_analyze): Likewise.
2349         * final.c (final_scan_insn): Remove NOTE_INSN_SETJMP.
2350         * haifa-sched.c (unlink_other_notes): Likewise.
2351         (reemit_notes): Likewise.
2352         * sched-ebb.c (sched_ebb): Likewise.
2353         * sched-rgc.c (sched_region): Likewise.
2354         * rtl.c (note_insn_name): Likewise.
2355         (reg_note_name): Add REG_SETJMP
2356         * rtl.h (reg_note): Add REG_SETJMP.
2357         (insn_note): Remove NOTE_INSN_SETJMP.
2358
2359         * profile.c (branch_prob): Add fake edges for setjmp.
2360
2361 2001-08-07  Daniel Jacobowitz  <drow@mvista.com>
2362
2363         * config.gcc: Quote target_cpu_default2 correctly for
2364         powerpc*-*-* targets.
2365
2366 2001-08-07  Neil Booth  <neil@daikokuya.demon.co.uk>
2367
2368         * cpplib.h, line-map.h: Update comments.
2369         * cppmain.c (printer_init): Move inline.
2370         (maybe_print_line, print_line): Take a map pointer.
2371         (cb_ident, cb_define, cb_undef, cb_include, cb_def_pragma): Update.
2372         (cb_file_change): Don't use prior value of print.map.
2373
2374 2001-08-07  David Edelsohn  <edelsohn@gnu.org>
2375
2376         * doc/install.texi: Document fine-grained multilib configuration.
2377
2378 Tue Aug  7 16:52:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
2379
2380         * rtlanal.c (find_first_parameter_load): Call note_stores
2381         only on the instructions.
2382
2383 Tue Aug  7 14:56:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
2384
2385         * alias.c (nonlocal_mentioned_p):
2386         Rename CONST_CALL_P to CONST_OR_PURE_CALL_P
2387         * calls.c (emit_call_1): Likewise.
2388         * cse.c (cse_insn, invalidate_skipped_block): Likewise.
2389         * cselib.c (cselib_process_insn): Likewise.
2390         * df.c (df_insns_modify): Likewise.
2391         * flow.c (need_fake_edge_p): Likewise.
2392         (propagate_one_insn): Likewise.
2393         * haifa-sched.c (reemit_notes): Likewise.
2394         * integrate.c (copy_insn_list): Likewise.
2395         * jump.c (delete_prior_computation): Likewise.
2396         * local-alloc.c (validate_equiv_mem): Likewise.
2397         * loop.c (scan_loop): Likewise.
2398         * predict.c (estimate_probability): Likewise.
2399         * reload.c (reload): Likewise.
2400         * sched-deps (sched_analyze): Likewise.
2401         * rtl.h (CONST_CALL_P): rename to CONST_OR_PURE_CALL_P.
2402         * gcse.c (compute_hash_table): Likewise.
2403         (mark_call): Likewise.
2404         (store_killed_in_insn): Likewise.
2405
2406 2001-08-07  Jason Merrill  <jason_merrill@redhat.com>
2407
2408         * c-semantics.c (make_rtl_for_local_static): Use DECL_RTL_SET_P.
2409
2410 2001-08-06  Richard Henderson  <rth@redhat.com>
2411
2412         * varasm.c (assemble_gc_entry): Remove.
2413         * output.h: Likewise.
2414
2415 2001-08-06  Richard Henderson  <rth@redhat.com>
2416
2417         * varasm.c (assemble_constructor): Take a symbol_ref and a
2418         priority instead of a bare string.  Move priority handling
2419         here from cp/decl2.c.
2420         * output.h: Update decls.
2421
2422         * c-decl.c (c_expand_body): Update calls to assemble_constructor
2423         and assemble_destructor.
2424         * profile.c (output_func_start_profiler): Likewise.
2425         * objc/objc-act.c (finish_objc): Likewise.
2426         (build_module_descriptor): Return the symbol not the symbol name.
2427
2428 2001-08-06  David Edelsohn  <edelsohn@gnu.org>
2429
2430         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): Add whitespace.
2431         * config/rs6000/linux64.h (RS6000_MCOUNT): Define.
2432         ({SAVE,RESTORE}_FP_{PREFFIX,SUFFIX}): Define.
2433         * config/rs6000/rs6000.h (ASM_OUTPUT_DOUBLE_INT): Remove whitespace.
2434         * config/rs6000/sysv4.h (DOUBLE_INT_ASM_OP): Add whitespace.
2435         * config/rs6000/xcoff.h (DOUBLE_INT_ASM_OP): Add whitespace.
2436
2437 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2438
2439         * cpperror.c (print_containing_files): Moved to line-map.c.
2440         (print_location): line-map.c handles re-listing or otherwise.
2441         * cpphash.h (struct lexer_state): Remove next_bol.
2442         (struct cpp_buffer): Remove include_stack_listed.
2443         * cpplib.c (do_line, cpp_push_buffer, _cpp_pop_buffer):
2444         Remove faked buffer handling.
2445         (_cpp_do_file_change): Tweak.
2446         * cpplib.h (enum cpp_buffer_type): Remove BUF_FAKE.
2447         * cppmain.c (struct printer): Remove filename.
2448         (print_line, cb_file_change): Update accordingly.
2449         * line-map.c: Include intl.h.
2450         (init_line_maps): Initialize last_listed.
2451         (free_line_maps): Sanity check, warn if ENABLED_CHECKING.
2452         (add_line_map): Sanity check inputs, warn if ENABLED_CHECKING.
2453         (print_containing_files): New.
2454         * line-map.h (struct line_maps): New member last_listed.
2455         (print_containing_files, INCLUDED_FROM): New.
2456         * Makefile.in: Update.
2457         * po/POTFILES.in: Add line-map.c.
2458
2459 2001-08-06  Richard Henderson  <rth@redhat.com>
2460
2461         * except.c (convert_from_eh_region_ranges_1): Never mark
2462         USE or CLOBBER insns as throwing.
2463
2464         * expr.c (store_constructor): Don't clobber memory targets.
2465
2466 2001-08-06  Andreas Jaeger  <aj@suse.de>
2467
2468         * profile.c (branch_prob): Remove unused variable insn.
2469
2470         * Makefile.in (local-alloc.o): Add dependency on except.h.
2471
2472         * local-alloc.c: Include except.h for can_throw_internal prototype.
2473
2474 2001-08-06  Richard Henderson  <rth@redhat.com>
2475
2476         * config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): New.
2477         * function.c (expand_main_function): Implement it.
2478         * doc/tm.texi: Document it.
2479
2480 2001-08-06  Stan Shebs  <shebs@apple.com>
2481
2482         * doc/install.texi: Document powerpc-*-darwin* details.
2483
2484 2001-08-06  Daniel Berlin  <dan@cgsoftware.com>
2485
2486         * config/rs6000/aix.h (CPP_CPU_SPEC): Move back to rs6000.h
2487         (ASM_CPU_SPEC): Move back to rs6000.h
2488         #undef CPP_DEFAULT_SPEC and ASM_DEFAULT_SPEC before redefining them.
2489
2490         * config/rs6000/darwin.h (DOUBLE_INT_ASM_OP): New macro.
2491
2492         * config/rs6000/linux.h: Remove vtable thunks stuff we accidently
2493         readded.
2494
2495         * config/rs6000/linux64.h: Ditto.
2496
2497         * config/rs6000/rs6000.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
2498         to here. Define default ASM_DEFAULT_SPEC and CPP_DEFAULT SPEC to
2499         nothing.
2500
2501         Remove accidently readded definitions of FUNCTION_PROLOGUE,
2502         FUNCTION_EPILOGUE,  ASM_OPEN_PAREN, ASM_CLOSE_PAREN
2503
2504         * config/rs6000/sysv4.h: Move CPP_CPU_SPEC and ASM_CPU_SPEC back
2505         to rs6000.h
2506
2507 2001-08-05  Richard Henderson  <rth@redhat.com>
2508
2509         * local-alloc.c (update_equiv_regs): Do not move insns that
2510         can throw.
2511
2512 2001-08-05  Jan Hubicka  <jh@suse.cz>
2513
2514         * Makefile.in (reload1.o): Add dedendancy on except.h
2515         * basic-block.h (purge_all_dead_edges, purge_dead_edges): Update
2516         prototypes.
2517         * flow.c (purge_dead_edges, purge_all_dead_edges): Return bool
2518         indicating wehther edges has been cleaned up.
2519         * reload1.c: Inlucde except.h
2520         (fixup_abnormal_edges): Accept deleted insns.
2521         * toplev.c (rest_of_compilation): Purge dead edges unconditionally
2522         after combine.
2523
2524 2001-08-06  Neil Booth  <neil@daikokuya.demon.co.uk>
2525
2526         * cpplib.c (do_line): Correct line number after pop_buffer.
2527
2528 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2529
2530         PR preprocessor/3824
2531         * line-map.c: Update comments.
2532         * line-map.h: Update comments.
2533         * tradcif.y: Don't consider large numbers unsigned.
2534
2535 2001-08-05  Neil Booth  <neil@daikokuya.demon.co.uk>
2536
2537         PR preprocessor/3081
2538         * c-lex.c (map): New.
2539         (cb_file_change): Update map and use it.
2540         (cb_def_pragma, cb_define, cb_undef): Use map and line.
2541         (c_lex): Update to use map.
2542         * cpperror.c (print_location): Move to using logical line numbers.
2543         * cppfiles.c (stack_include_file): Update for new _cpp_do_file_change.
2544         (cpp_make_system_header): Similarly.
2545         (_cpp_execute_include): Stop line numbering hacks.  Store the
2546         line we will return to.
2547         * cpphash.h (CPP_BUF_LINE): Remove.
2548         (struct cpp_buffer): Remove lineno and pseudo_newlines.
2549         Add map and return_to_line.
2550         (_cpp_do_file_change): Update.
2551         * cppinit.c (cpp_start_read): Update line kludge.
2552         * cpplex.c (handle_newline): Don't update lineno and pseudo_newlines.
2553         (trigraph_ok): Use logical line numbers for diagnostics.
2554         (skip_block_comment): Likewise.
2555         (skip_whitespace): Likewise.
2556         (skip_line_comment): Use pfile->line instead.
2557         (_cpp_lex_token): Update to use logical line numbering exclusively.
2558         Handle BOL locally.  Accept new lines in directives, but keep
2559         pfile->line decremented.  Diagnostics use logical lines.  Update
2560         directive handling.
2561         * cpplib.c (SEEN_EOL): New.
2562         (skip_rest_of_line, check_eol): Use it.
2563         (end_directive): Increase line number when accepting the newline
2564         at the end of a directive.
2565         (run_directive): Simplify.
2566         (do_line): Bad LC_LEAVEs become LC_RENAMEs.  Update.
2567         (_cpp_do_file_change): Update to take buffer line number as an
2568         argument, and store the current map in the cpp_reader.  Remove
2569         line number kludges.
2570         (_cpp_do__Pragma): Restore output position after a _Pragma.
2571         (cpp_push_buffer): Don't set output line or lineno.
2572         (_cpp_pop_buffer): Transfer more info from a faked buffer.
2573         Remove line kludge.  Set output_line.
2574         * cppmacro.c (builtin_macro): Update handling of __LINE__.
2575         (parse_arg): Use logical lines.
2576         (save_lookahead_token): Save EOFs too now.
2577         * cppmain.c (struct printer): Fix comments.
2578         (printer_init): Simplify, let caller do errors.
2579         (scan_translation_unit, check_multiline_token, dump_macro): Update.
2580         (maybe_print_line): Simplify.
2581         (print_line): Don't print a linemarker if -P.
2582         (cb_define, cb_undef, cb_def_pragma, cb_ident, cb_include): Update.
2583         (cb_file_change): Simplify.
2584         * line-map.h (LAST_SOURCE_LINE): Fix.
2585         (CURRENT_LINE_MAP): New.
2586
2587 2001-08-05  Bernd Schmidt  <bernds@redhat.com>
2588
2589         * doloop.c (doloop_modify_runtime): Properly compute number of
2590         iterations if loop was unrolled.
2591
2592         * alias.c (rtx_equal_for_memref_p): VALUEs are only identical
2593         if their CSELIB_VAL_PTRs are.
2594
2595         * config/ia64/ia64.c (struct spill_fill_data): New member prev_insn.
2596         (setup_spill_pointers): Initialize it.
2597         (spill_restore_mem): Set it.
2598         (do_spill, do_restore): Use it to add REG_INC note.
2599         * config/ia64/ia64.md (movti_internal): Add REG_INC notes as needed.
2600
2601         * config/ia64/ia64.c (ia64_sched_reorder): Defer scheduling of
2602         asms if other insns are available.
2603
2604         * config/ia64/ia64.c (condop_operator): New predicate.
2605         * config/ia64/ia64.h (PREDICATE_CODES): Add it.
2606         * config/ia64/ia64.md (cond_opsi2_internal and splitters): New
2607         patterns.
2608
2609         * expr.c (expand_expr, case COND_EXPR): Prefer working with a
2610         temporary register than directly using a MEM.
2611
2612 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
2613
2614         * config/sh/sh.c (sh_asm_named_section): Fix typo in align
2615         parameter in last change.
2616
2617 2001-08-04  Zack Weinberg  <zackw@panix.com>
2618
2619         * sparc.md: Don't use #if inside C test expression.
2620
2621 2001-08-04  Richard Henderson  <rth@redhat.com>
2622
2623         * i386.c: Revert 07-30 ix86_output_main_function_alignment_hack.
2624
2625 2001-08-04  Neil Booth  <neil@daikokuya.demon.co.uk>
2626
2627         * cpphash.h (struct cpp_reader): New member directive_line.
2628         * cpplib.h (struct cpp_callbacks): Update prototypes of callbacks.
2629         * cpplib.c (do_define, do_undef, do_ident, do_include_common,
2630         do_pragma): Pass line to callbacks.
2631         (start_directive): Record line of directive.
2632         * cppmain.c (cb_ident, cb_define, cb_undef, cb_def_pragma,
2633         cb_include): Similarly.
2634         * c-lex.c (cb_ident, cb_define, cb_undef, cb_def_pragma):
2635         Similarly.
2636
2637 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
2638
2639         * config/d30v/d30v.h: Fix typo in start of UNIQUE_SECTION
2640         comment.
2641
2642 Sat Aug  4 13:51:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
2643
2644         * loop.c (try_copy_prop); Kill invalidated REG_EQUAL notes.
2645
2646         * reload1.c (fixup_abnormal_edges): New static function.
2647         (reload): Use it.
2648
2649         * flow.c (need_fake_edge_p): New function.
2650         (flow_call_edges_add): Fix handling of noreturn and sibbling calls;
2651         avoid call insn to be very last insn in the insn stream.
2652
2653         * profile.c (branch_prob): Call flow_call_edges_add instead of
2654         doing that by hand; cleanup cfg to re-merge basic blocks once
2655         we are done.
2656
2657 2001-08-04  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2658
2659         * Makefile.in (CPPLIB_H): New, so that dependencies on cpplib.h
2660         are also on line-map.h.
2661         * cppfiles.c (stack_include_file): Update.
2662         * cpphash.h (struct cpp_buffer): New member return_at_eof.
2663         (_cpp_pop_buffer): New.
2664         * cppinit.c (cpp_destroy, cpp_finish): Update.
2665         (do_includes): Mark each buffer to return at EOF.
2666         * cpplex.c (_cpp_lex_token): Pop buffers at EOF.  Continue or
2667         return as requested.
2668         * cpplib.c (run_directive, do_line, cpp_push_buffer): Update.
2669         (cpp_pop_buffer): Rename _cpp_pop_buffer.  Stop skipping.
2670         * cpplib.h (cpp_pop_buffer): Remove.
2671         (cpp_scan_buffer_nooutput): Rename cpp_scan_nooutput.
2672         * cppmacro.c (cpp_scan_buffer_nooutput): Similarly.  No need to pop
2673         buffers.
2674         * cppmain.c (scan_buffer): Rename scan_translation_unit.  No need
2675         to pop buffers.
2676         (do_preprocessing): Update.
2677         * fix-header.c (read_scan_file): Update.  No need to pop buffers.
2678         * c-parse.in (_yylex): Similarly.
2679         * scan-decls.c (scan_decls): Similarly.
2680         * line-map.h: Update comments.
2681
2682         * objc/Make-lang.in (objc-act.o): Update dependencies.
2683
2684 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2685
2686         * config/m68hc11/m68hc11.md ("cmphi_1", "cmpqi_1"): Allow memory
2687         and soft register for operand 0.
2688         ("cmphi_z_used", "cmpqi_z_used"): Allow memory for operand 0.
2689
2690 2001-08-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2691
2692         * config/m68hc11/m68hc11.md ("bitcmpqi"): Allow memory and soft
2693         register for operand 0.
2694         ("bitcmpqi_z_used"): Allow memory for operand 0.
2695         (split "bitcmpqi"): New split to handle address reg as operand 1.
2696
2697 2001-08-04  Andreas Jaeger  <aj@suse.de>
2698
2699         * gcse.c: Revert Daniel's last patch.
2700
2701 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
2702
2703         * sparc-protos.h: Add prototypes for fp_zero_operand and
2704         reg_or_0_operand.
2705         * sh-protos.h: Add prototype for fpul_operand.
2706
2707 2001-08-04  Hans-Peter Nilsson  <hp@bitrange.com>
2708
2709         * doc/extend.texi (Other Builtins): Fix typo in last change.
2710
2711 2001-08-03  Richard Henderson  <rth@redhat.com>
2712
2713         * target.h (gcc_target): Add asm_out.named_section,
2714         section_type_flags, have_named_sections.
2715         * target-def.h (TARGET_ASM_NAMED_SECTION): New.
2716         (TARGET_HAVE_NAMED_SECTIONS): New.
2717         (TARGET_SECTION_TYPE_FLAGS): New.
2718
2719         * Makefile.in (toplev.o): Depend on TARGET_H.
2720         (varasm.o, dbxout.o): Likewise.
2721         * c-common.c (decl_attributes): Check targetm.have_named_sections
2722         instead of ifdef ASM_OUTPUT_SECTION_NAME.
2723         * dbxout.c (dbxout_function_decl): Likewise.
2724         (dbxout_function_end): Likewise.
2725         * toplev.c (compile_file): Likewise.
2726         * varasm.c (exception_section): Likewise.
2727         * cp/decl2.c (finish_objects): Likewise.
2728
2729         * defaults.h (EH_FRAME_SECTION): Remove.
2730         (EH_FRAME_SECTION_ASM_OP): Remove.
2731         (EH_FRAME_SECTION_NAME): New.
2732         (UNIQUE_SECTION): Don't depend on ASM_OUTPUT_SECTION_NAME.
2733         (UNIQUE_SECTION_P): Remove.
2734         * dwarf2out.c (SECTION_FORMAT): Remove.
2735         (ASM_OUTPUT_SECTION): Remove.
2736         (output_call_frame_info): Use named_section_flags.
2737         (output_comp_unit, dwarf2out_start_source_file): Likewise.
2738         (dwarf2out_end_source_file, dwarf2out_define): Likewise.
2739         (dwarf2out_undef, dwarf2out_init, dwarf2out_finish): Likewise.
2740         * varasm.c (in_eh_frame, eh_frame_section): Remove.
2741         (named_section_flags): New.
2742         (named_section): Use it and targetm.section_type_flags.
2743         (resolve_unique_section): New.
2744         (assemble_start_function): Use it.
2745         (asm_emit_uninitialised, assemble_variable): Likewise.
2746         (default_section_type_flags): New.
2747         (default_no_named_section, default_elf_asm_named_section): New.
2748         (default_coff_asm_named_section, default_pe_asm_named_section): New.
2749         * output.h: Update varasm.c decls.
2750         (SECTION_*): New flags.
2751
2752         * crtstuff.c: Check EH_FRAME_SECTION_NAME not EH_FRAME_SECTION_ASM_OP.
2753         (__EH_FRAME_BEGIN__, __FRAME_END__): Use attribute section.
2754
2755         * config/elfos.h (UNIQUE_SECTION_P): Remove.
2756         * config/alpha/elf.h, config/arm/linux-elf.h: Likewise.
2757         * config/arm/pe.h, config/arm/unknown-elf.h: Likewise.
2758         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
2759         * config/i386/i386-interix.h, config/i386/win32.h: Likewise.
2760         * config/ia64/sysv4.h, config/mcore/mcore-pe.h: Likewise.
2761         * config/mips/elf.h, config/mips/elf64.h: Likewise.
2762         * config/mips/iris6gld.h, config/mips/mips.h: Likewise.
2763         * config/pa/pa64-hpux.h,
2764
2765         * config/elfos.h (ASM_OUTPUT_SECTION_NAME): Remove.
2766         (TARGET_ASM_NAMED_SECTION): New.
2767         * config/psos.h, config/a29k/a29k.h, config/alpha/elf.h: Likewise.
2768         * config/alpha/vms.h, config/arm/coff.h: Likewise.
2769         * config/arm/conix-elf.h, config/arm/elf.h: Likewise.
2770         * config/arm/linux-elf.h, config/arm/pe.h: Likewise.
2771         * config/arm/unknown-elf.h, config/avr/avr.h: Likewise.
2772         * config/c4x/c4x.h, config/h8300/h8300.h: Likewise.
2773         * config/i386/cygwin.h, config/i386/djgpp.h: Likewise.
2774         * config/i386/i386-interix.h, config/i386/i386elf.h : Likewise.
2775         * config/i386/sco5.h, config/i386/win32.h: Likewise.
2776         * config/m68k/coff.h, config/mcore/mcore-pe.h: Likewise.
2777         * config/mcore/mcore.h, config/mips/elf.h: Likewise.
2778         * config/mips/elf64.h, config/mips/iris6.h: Likewise.
2779         * config/mips/netbsd.h, config/mips/openbsd.h: Likewise.
2780         * config/pa/pa64-hpux.h, config/rs6000/sysv4.h: Likewise.
2781         * config/rs6000/xcoff.h, config/sh/sh.h: Likewise.
2782         * config/sparc/sysv4.h: Likewise.
2783
2784         * config/nextstep.h: Error until named sections implemented.
2785
2786         * config/a29k/a29k.c (a29k_asm_named_section): New.
2787         * config/alpha/alpha.c (SECTION_VMS_OVERLAY): New.
2788         (vms_section_type_flags, vms_asm_named_section): New.
2789         * config/arm/arm.c (arm_elf_asm_named_section): New.
2790         * config/avr/avr.c (asm_output_section_name): Remove.
2791         * config/avr/avr-protos.h: Update.
2792         * config/c4x/c4x.c (c4x_asm_named_section): New.
2793         * config/h8300/h8300.c (h8300_asm_named_section): New.
2794         * config/i386/i386.c (sco_asm_named_section): New.
2795         * config/i386/winnt.c (SECTION_PE_SHARED): New.
2796         (i386_pe_section_type_flags): New.
2797         (i386_pe_asm_named_section): New.
2798         * config/i386/i386-protos.h: Update.
2799         * config/m68k/m68k.c (m68k_coff_asm_named_section): New.
2800         * config/mcore/mcore.c (mcore_asm_named_section): New.
2801         * config/mips/mips.c (iris6_asm_named_section): New.
2802         * config/mips/mips.h (ENCODE_SECTION_INFO): Use DECL_ONE_ONLY
2803         instead of UNIQUE_SECTION_P.
2804         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): New.
2805         (xcoff_asm_named_section): New.
2806         * config/sh/sh.c (sh_asm_named_section): New.
2807         * config/sparc/sparc.c (sparc_elf_asm_named_section): New.
2808
2809         * config/i386/djgpp.h (EH_FRAME_SECTION_ASM_OP): Remove.
2810         * config/i386/sco5.h (EH_FRAME_SECTION_ASM_OP*): Remove.
2811         (EH_FRAME_SECTION_NAME): New.
2812         (EXCEPTION_SECTION): New.
2813         * config/ia64/ia64.h (EH_FRAME_SECTION_ASM_OP): Remove.
2814         (DEBUG_*_SECTION): Remove.
2815         * config/m68k/rtemself.h (EH_FRAME_SECTION_ASM_OP): Remove.
2816         * config/mips/iris6.h (DEBUG_*_SECTION): Remove.
2817         (EH_FRAME_SECTION_ASM_OP): Remove.
2818
2819         * doc/tm.texi (UNIQUE_SECTION_P): Remove.
2820         (ASM_OUTPUT_SECTION_NAME): Remove.
2821         (TARGET_ASM_NAMED_SECTION): New.
2822         (TARGET_HAVE_NAMED_SECTIONS): New.
2823         (TARGET_SECTION_TYPE_FLAGS): New.
2824         (EH_FRAME_SECTION_ASM_OP): Remove.
2825         (EH_FRAME_SECTION_NAME): New.
2826
2827 2001-08-03  Zack Weinberg  <zackw@stanford.edu>
2828
2829         * builtins.c (fold_builtin_constant_p): Return integer_zero_node
2830         for complex expressions when cfun == 0.
2831         * doc/extend.texi: Document that __builtin_constant_p can be
2832         used in data initializers as well as functions.
2833
2834 2001-08-03  Alexandre Oliva  <aoliva@redhat.com>
2835
2836         * config/mn10300/mn10300.h (CONDITIONAL_REGISTER_USAGE): Declare
2837         variable I locally, instead of expecting a declaration in the
2838         calling context.
2839
2840 2001-08-03  Richard Henderson  <rth@redhat.com>
2841
2842         * except.c (collect_one_action_chain): Add an explicit cleanup
2843         action if regions surrounding a catch were encoded entirely
2844         within the call-site entry.
2845
2846 2001-08-03  Richard Henderson  <rth@redhat.com>
2847
2848         * dbxout.c (dbxout_symbol_location): Flatten subregs first;
2849         don't take REGNO of a non-register.
2850
2851 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2852
2853         * gthr-dce.h (__GTHREAD_MUTEX_INIT_FUNCTION and
2854         __GTHREAD_MUTEX_INIT_DEFAULT): New macros for mutex initialization.
2855         (__gthread_key_delete): Remove code for __PTHREAD_LIBRARY_VERSION_1 >= 1
2856         (__gthread_mutex_init_function): New function for mutex initialization.
2857
2858 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
2859
2860         * Makefile.in: Revert screwed up commit.
2861
2862 2001-08-03  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
2863
2864         * config/m68hc11/t-m68hc11-gas (T_CPPFLAGS): Add _ctor and _dtor.
2865         * config/m68hc11/larith.asm (_exit): Split in several sub-sections
2866         merged by linker script to get a final _exit().
2867         (__do_global_dtors): New for destructor handling in specific exit
2868         section.
2869         (__do_global_ctors): New for constructors in specific install section.
2870         (__map_data_section): Map data sections before running constructors.
2871         * config/m68hc11/m68hc11.h (INT_ASM_OP): Define to use .word.
2872         (CTORS_SECTION_ASM_OP): Define to put in readonly section.
2873         (DTORS_SECTION_ASM_OP): Likewise.
2874         (CTORS_SECTION_FUNCTION): Define to force a reference to
2875         __do_global_ctors.
2876         (DTORS_SECTION_FUNCTION): Likewise for __do_global_dtors.
2877
2878 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
2879
2880         * ChangeLog: Fix date on previous ChangeLog entry for GCSE.
2881
2882         * Makefile.in: Add df.h to gcse.c dependencies.
2883
2884 2001-08-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
2885
2886         * varasm.c (output_constant_def_contents): Use for the length of a
2887         string constant either its TREE_STRING_LENGTH or its int_size_in_bytes
2888         depending on which is larger.
2889
2890 2001-08-03  Daniel Berlin  <dan@cgsoftware.com>
2891
2892         * gcse.c: Include df.h for use as a dataflow analyzer.
2893         Remove regvec.
2894         Declaration of reg_set_info: gone.
2895         New df_analyzer variable used by store motion.
2896         (reg_set_info): Deleted.
2897         (mark_mem_regs): New function, analyze regs used by a mem.
2898         (store_ops_ok): Use dataflow analyzer results to determine if
2899         necessary regs are changed in the block.
2900         (find_moveable_store): Remove check for symbol ref, we can handle
2901         much more complex expressions now.
2902         (compute_store_table): Remove most of the code, it's unnecessary
2903         now that the dataflow analyzer records the info for us.
2904         (store_killed_after): Add parameter to say whether to do the
2905         store_ops_okay test, used to speed up testing when we already know
2906         the answer, and just want to know if the store itself was killed.
2907         (build_store_vector): Largely rewritten to calculate the various
2908         vectors properly, and somewhat optimized.
2909         (store_motion): Init the df_analyzer, get REG_DEF chains.
2910         Also handle trapping expressions (since mems almost always trap)
2911         (simple_mem): Redefine what a simple mem is.
2912
2913 2001-08-03  DJ Delorie  <dj@redhat.com>
2914
2915         * ifcvt.c (noce_get_alt_condition): Don't make an auxiliary
2916         set from a constant part of the condition.
2917
2918 2001-08-01  Andrew Cagney  <ac131313@redhat.com>
2919
2920         * mkdeps.c (deps_add_default_target): Make local variable
2921         ``start'' a const char pointer.
2922         * dwarf2out.c (compute_section_prefix): Localize use of ``p''.
2923
2924 2001-08-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2925
2926         * doc/install.texi (Configuration): Fix markup.
2927         (Specific, i?86-*-udk): Likewise.
2928         (Specific, alpha*-dec-osf*): Warn against --with-gnu-as,
2929         --with-gnu-ld.
2930         Document --enable-threads and --enable-libgcj status.
2931         (Specific, mips-sgi-irix*): Canonicalize triples.
2932         (Specific, mips-sgi-irix5): Warn about problems with this config.
2933         Mention required GNU as patch.
2934         Native assembler problems are fixed.
2935         (Specific, mips-sgi-irix6): Update O32 ABI support status.
2936         Document --enable-threads and --enable-libgcj status.
2937
2938 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
2939
2940         * Makefile.in, mklibgcc.in: Restore changes with fixed invocation
2941         of mkinstalldirs.
2942
2943 2001-08-03  Richard Henderson  <rth@redhat.com>
2944
2945         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Don't write to
2946         constant data.
2947
2948 2001-08-03  Richard Henderson  <rth@redhat.com>
2949
2950         * rtlanal.c (find_first_parameter_load): Stop if we
2951         reach a CODE_LABEL at BOUNDARY.
2952
2953 2001-08-03  Richard Henderson  <rth@redhat.com>
2954
2955         * config/alpha/alpha.md (force_movdi): New insn.
2956         * config/alpha/alpha.c (alpha_expand_prologue): Use it.
2957         Tweek FRP marking of VMS prologue insns.
2958         * config/alpha/vms.h (EPILOGUE_USES): New.
2959
2960 2001-08-02  Richard Henderson  <rth@redhat.com>
2961
2962         * Makefile.in, mklibgcc.in: Revert mkinstalldirs change.
2963
2964 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
2965
2966         * combine.c, config.gcc, cse.c, defaults.h, real.c, reload.c,
2967         simplify-rtx.c, config/alpha/alpha.h, config/avr/avr.h,
2968         config/convex/convex.h, config/d30v/d30v.c,
2969         config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
2970         config/elxsi/elxsi.h, config/fr30/fr30.h, config/m88k/m88k.c,
2971         config/mips/mips.h, config/mn10200/mn10200.h,
2972         config/mn10300/mn10300.h, config/pdp11/pdp11.md,
2973         config/v850/v850.h, config/vax/openbsd.h,
2974         config/vax/openbsd1.h, config/vax/ultrix.h,
2975         config/vax/vax-protos.h, config/vax/vax.c, config/vax/vax.h,
2976         config/vax/vax.md, config/vax/vaxv.h, config/vax/xm-vms.h,
2977         cp/decl2.c, doc/contrib.texi, doc/cpp.texi, doc/gcc.texi,
2978         doc/install.texi, doc/invoke.texi, doc/md.texi, doc/rtl.texi,
2979         doc/tm.texi: consistently use "VAX", "VAXen", and "MicroVAX"
2980         in comments and documentation.
2981
2982 2001-08-03  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
2983
2984         * line-map.c: New.
2985         * line-map.h: New.
2986         * Makefile.in (line-map.o): New.
2987         (LIBCPP_OBJS, LIBCPP_DEPS): Update.
2988         * c-lex.c (cb_file_change): Update for new cpp_file_change structure.
2989         * cpperror.c (print_containing_files): Similarly.
2990         (print_location): Update.  Don't output a space before _Pragma.
2991         * cppfiles.c (stack_include_file): Set to line 1 immediately.
2992         (stack_include_filee, cpp_make_system_header): Update.
2993         (_cpp_execute_include): Get logical line number right for calling
2994         as-yet-unterminated #include.
2995         * cpphash.h (struct cpp_reader): Add line_maps.
2996         (_cpp_do_file_change): Update.
2997         * cppinit.c (cpp_create_reader): Initialize line maps.
2998         (cpp_destroy): Destroy line maps.
2999         (cpp_start_read): Get logical line number right.
3000         * cpplex.c (parse_string): Only warn once for multi-line strings.
3001         Use boolean variable for null warning.
3002         * cpplib.c (_cpp_handle_directive): End the directive if it isn't
3003         already.
3004         (do_include_common): End the directive early.
3005         (do_line): Don't warn about out-of-range lines in preprocessed
3006         source.  Update.  Remove unused variables.
3007         (_cpp_do_file_change): Update for new line mapping.
3008         (pragma_cb): New typedef.
3009         (cpp_register_pragma): Stop looking ahead before calling the
3010         handler.  Clean up.
3011         (do_pragma_system_header): End directive early.
3012         (cpp_get_line_maps): New.
3013         (cpp_pop_buffer): Fudge logical line.  Update.
3014         * cpplib.h: Include line-map.h
3015         (enum cpp_fc_reason): Remove.
3016         (struct cpp_file_change): Update.
3017         (cpp_get_line_maps): New.
3018         * cppmain.c (struct_printer): New member map.
3019         (cb_file_change): Update for new mappings.
3020         * fix-header.c (cb_file_change): Similarly.
3021
3022 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
3023
3024         * Makefile.in (libgcc.mk): Define mkinstalldirs.
3025         * mklibgcc.in: Use mkinstalldirs instead of mkdir.
3026
3027 2001-08-02  Lars Brinkhoff  <lars@nocrew.org>
3028
3029         * config/vax/vax.c: include expr.h.
3030
3031 2001-08-02  Nick Clifton  <nickc@cambridge.redhat.com>
3032
3033         * Makefile.in ($(srcdir)/configure): Only rebuild in
3034         maintainer mode.
3035         ($(srcdir)/config.in): Only define in maintainer mode.
3036         ($(srcdir)/cstamp-h.in): Only define in maintainer mode.
3037
3038 2001-08-02  David Edelsohn  <edelsohn@gnu.org>
3039
3040         * doc/install.texi (Install GCC: Binaries): Update Bull info.
3041
3042 2001-08-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3043
3044         * gcc.c (set_collect_gcc_options): New function, split out from
3045         main.
3046         Ignore elided switches.
3047         (do_spec_1): Invoke before executing command.
3048         (set_input): Export.
3049         Move declaration ...
3050         * gcc.h (set_input): ... here.
3051         * config/alpha/osf.h (ASM_FINAL_SPEC): Use %U.s to refer to input
3052         file.
3053
3054 2001-08-02  Nathan Sidwell  <nathan@codesourcery.com>
3055
3056         Kill -fhonor-std.
3057         * doc/c-tree.texi (Namespaces): Remove std & -fhonor-std
3058         interaction.
3059         * doc/invoke.texi (C++ Dialect Options): Remove -fno-honor-std.
3060
3061 2001-08-02  Richard Sandiford  <rsandifo@redhat.com>
3062
3063         * mips.md (movdicc): Make conditional on TARGET_64BIT.  Likewise
3064         for the unnamed instructions it expands to.
3065
3066 2001-08-02  Richard Henderson  <rth@redhat.com>
3067
3068         * regclass.c (call_really_used_regs): Conditionally define.
3069         (init_reg_sets_1): Don't use it if not defined.
3070         (fix_register): Similarly, don't set it.
3071
3072 2001-08-01  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3073
3074         * params.def (PARAM_MAX_INLINE_INSNS): Change default to 600.
3075         Correct comment that had been missed in the previous change.
3076
3077 2001-08-01  Stan Shebs  <shebs@apple.com>
3078
3079         * config/darwin.c (machopic_stub_name): Try matching by name.
3080         (update_stubs): New function.
3081         (darwin_encode_section_info):  Call it and update_non_lazy_ptrs
3082         unconditionally.
3083
3084 2001-08-01  Richard Henderson  <rth@redhat.com>
3085
3086         * except.c (output_function_exception_table): Use assemble_align.
3087         * varasm.c (assemble_eh_label): Remove.
3088         (assemble_eh_align, assemble_eh_integer): Remove.
3089
3090 2001-08-01  Robert Lipe  <robertl@caldera.com>
3091
3092         * dwarfout.c: Remove reference to README.DWARF.
3093
3094 2001-08-01  Andrew MacLeod  <amacleod@redhat.com>
3095
3096         * regclass.c (call_really_used_regs): New array for registers which
3097         are actually used by a call.
3098         (init_reg_sets_1): Initialize regs_invalidated_by_call with the
3099         new array.
3100         (fix_register): Set call_really_used too.
3101         * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): Initialize.
3102         * doc/tm.texi (CALL_REALLY_USED_REGISTERS): Document.
3103
3104 2001-08-01  Richard Henderson  <rth@redhat.com>
3105
3106         * read-rtl.c (read_name): Consider \r whitespace.
3107
3108 2001-07-11  Andrew Cagney  <ac131313@redhat.com>
3109
3110         * config.gcc: Recognize powerpc-*-netbsd*.
3111
3112         * doc/install.texi (Host/target specific installation notes for
3113         GCC): Mention powerpc-*-netbsd*.
3114
3115         * config/rs6000/netbsd.h: New file.
3116         (STANDARD_STARTFILE_PREFIX, LINK_SHLIB_SPEC): Redefine.
3117         (LIB_DEFAULT_SPEC, STARTFILE_DEFAULT_SPEC): Redefine.
3118         (ENDFILE_DEFAULT_SPEC, LINK_START_DEFAULT_SPEC): Redefine.
3119         (LINK_OS_DEFAULT_SPEC, CPP_OS_DEFAULT_SPEC): Redefine.
3120         (TARGET_VERSION): Redefine.
3121
3122         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_SYSV): Recognize
3123         mcall-netbsd as a match for mcall-sysv.
3124         (EXTRA_MULTILIB_PARTS): Add ncrti$(objext) and ncrtn$(objext).
3125         (ncrti.S, ncrtn.S): New targets.
3126         ($(T)ncrti$(objext), $(T)ncrtn$(objext)): New targets.
3127
3128         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Recognize
3129         "netbsd' as a V4 ABI.
3130         (ASM_SPEC): Check for -mcall-netbsd.
3131         (CC1_SPEC, CC1_SPEC, LINK_START_SPEC, LINK_OS_SPEC): Ditto.
3132         (CPP_ENDIAN_SPEC, CPP_SPEC, STARTFILE_SPEC): Ditto.
3133         (LIB_SPEC, ENDFILE_SPEC): Ditto.
3134         (LIB_NETBSD_SPEC, STARTFILE_NETBSD_SPEC): Define.
3135         (ENDFILE_NETBSD_SPEC, LINK_START_NETBSD_SPEC): Define.
3136         (LINK_OS_NETBSD_SPEC, CPP_OS_NETBSD_SPEC): Define.
3137         (SUBTARGET_EXTRA_SPECS): Add NetBSD specs.
3138
3139         * doc/invoke.texi (Option Summary): Add -mcall-netbsd.
3140         (RS/6000 and PowerPC Options): Mention -mcall-netbsd.
3141
3142 2001-08-01  Mark Kettenis  <kettenis@gnu.org>
3143
3144         * unwind-pe.h (base_of_encoded_value, read_encoded_value): Define
3145         only if NO_BASE_OF_ENCODED_VALUE isn't defined.
3146         * unwind-dw2-fde.c (NO_BASE_OF_ENCODED_VALUE): Define before
3147         including "unwind-pe.h".
3148
3149 Wed Aug  1 20:01:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
3150
3151         * rs6000.md (define_splits): Kill unused constraints.
3152
3153 Wed Aug  1 20:02:12 CEST 2001 Graham Stott  <grahams@redhat.com>
3154                               Jan Hubicka  <jh@suse.cz>
3155
3156         * function.c (thread_prologue_and_epilogue_insns): Kill code
3157         dealing with non-existent CFG.
3158
3159 2001-08-01  Kazu Hirata  <kazu@hxi.com>
3160
3161         * alias.c: Fix comment formatting.
3162         * bitmap.c: Likewise.
3163         * builtins.c: Likewise.
3164         * calls.c: Likewise.
3165         * c-common.c: Likewise.
3166         * c-decl.c: Likewise.
3167         * c-dump.c: Likewise.
3168         * c-lex.c: Likewise.
3169         * collect2.c: Likewise.
3170         * combine.c: Likewise.
3171         * conflict.c: Likewise.
3172         * cppfiles.c: Likewise.
3173         * cppinit.c: Likewise.
3174         * cpplex.c: Likewise.
3175         * cpplib.c: Likewise.
3176         * cppmacro.c: Likewise.
3177         * cppspec.c: Likewise.
3178         * c-pragma.c: Likewise.
3179         * crtstuff.c: Likewise.
3180         * cse.c: Likewise.
3181         * cselib.c: Likewise.
3182         * c-semantics.c: Likewise.
3183         * c-typeck.c: Likewise.
3184
3185 2001-08-01  H.J. Lu <hjl@gnu.org>
3186
3187         * config/mips/linux.h (ASM_OUTPUT_IDENT): Defined.
3188
3189 2001-08-01  H.J. Lu <hjl@gnu.org>
3190
3191         * gcc/config/mips/linux.h (ASM_OUTPUT_SOURCE_LINE): Defined.
3192
3193 2001-08-01  Ziemowit Laski  <zlaski@apple.com>
3194
3195         * c-parse.in (OBJC_NEED_RAW_IDENTIFIER): Define macro and flag for
3196         contextualizing Objective-C class name lookup by the lexer.
3197         (typespec_reserved_nonattr): Disable ObjC class name lookup after
3198         seeing a TYPESPEC.
3199         (protocoldef): Add support for forward @protocol declarations.
3200         (yylexname): Suppress ObjC class name lookup in certain contexts;
3201         re-enable after lookup is complete.
3202         (_yylex): Re-enable ObjC class name lookup when certain
3203         punctuation marks are seen.
3204
3205         * objc/objc-act.c (check_protocol_recursively): New function used
3206         for finding circular dependencies in protocols.
3207         (objc_declare_protocols): New function for handling forward
3208         @protocol declarations.
3209         (receiver_is_class_object): Detect the case when 'self' is used
3210         inside of a class method.
3211         (build_message_expr): Issue a warning if class method is desired
3212         but instance method is found instead.
3213         (conforms_to_protocol): Streamline.
3214         (objc_comptypes): Detect the fact that 'Bar<Foo> foo' conforms to
3215         protocol Foo, even if 'Bar foo' does not.
3216         (check_protocols): Streamline.
3217         (start_protocol): Add checks for circular and duplicate protocol
3218         definitions.
3219         (encode_aggregate_within): For typedefs of structs, encode the
3220         underlying struct.
3221         * objc/objc-act.h (PROTOCOL_DEFINED): New tree accessor.
3222         (objc_declare_protocols): New prototype.
3223
3224 2001-08-01  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3225
3226         * cpphash.h (struct cpp_reader): New members line, pseudo_newlines.
3227         * cpplex.c (handle_newline): Update prototype.  Maintain logical
3228         line number.
3229         (skip_escaped_newlines, skip_block_comment, parse_string):
3230         Update accordingly.
3231         (_cpp_lex_token): Update, and store token position within the token.
3232         * cpplib.h (struct cpp_token): Add line and column entries.
3233         * cppmacro.c (replace_args): Position stringified tokens correctly.
3234
3235 2001-08-01  Andreas Jaeger  <aj@suse.de>
3236
3237         * basic-block.h: Add prototype for last_loop_beg_note.
3238
3239 2001-07-31  Alexandre Petit-Bianco  <apbianco@redhat.com>
3240
3241         * expr.c (safe_from_p): Use WITH_CLEANUP_EXPR_RTL instead of
3242         RTL_EXPR_RTL while handling WITH_CLEANUP_EXPR nodes. Fixed typo in
3243         comment.
3244         (expand_expr): Use WITH_CLEANUP_EXPR_RTL instead of RTL_EXPR_RTL
3245         while handling WITH_CLEANUP_EXPR node. Use second operand calling
3246         expand_decl_cleanup.
3247         * tree.c (firt_rtl_op): The third operand of WITH_CLEANUP_EXPR is
3248         the first RTX.
3249         (simple_cst_equal): WITH_CLEANUP_EXPR node to use its second
3250         operand while calling simple_cst_equal.
3251         * tree.def (WITH_CLEANUP_EXPR): Switched operands: the second
3252         operand is the cleanup expression, the third is the RTL_EXPR.
3253         * tree.h (WITH_CLEANUP_EXPR_RTL): New macro.
3254
3255 2001-07-31  Jeff Sturm  <jsturm@one-point.com>
3256
3257         * except.c (duplicate_eh_regions): Test n_array[i] for NULL.
3258
3259 2001-07-31  matthew green  <mrg@eterna.com.au>
3260
3261         * config.gcc (i386-*-netbsdelf): New description.
3262         * config/i386/netbsd-elf.h: New file.
3263
3264 2001-07-30  Geoffrey Keating  <geoffk@redhat.com>
3265
3266         * loop.c (check_dbra_loop): Use single_set to compute
3267         jump_label.
3268
3269 2001-07-31  Daniel Berlin  <dan@cgsoftware.com>
3270
3271         PowerPC reorg and support for powerpc64-*-linux*.
3272
3273         Also fixes emitting of constants on 32 bit and 64 bit
3274         platforms.
3275
3276         * config.gcc: powerpc64-*-linux* is a new target.
3277         Things that needed aix.h now also include xcoff.h
3278
3279         * config/rs6000/rs6000.h: Split XCOFF specific stuff into
3280         xcoff.h.
3281         Move AIX specific stuff into aix.h.
3282         (TARGET_AIX): Renamed to TARGET_XCOFF, since the AIX ABI is used
3283         with more than just XCOFF now.
3284         (SET_ASM_OP): Remove, now defined where needed.
3285         (FUNCTION_PROLOGUE): New macro definition.
3286         (FUNCTION_EPILOGUE): New macro definition.
3287         (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): New macro definition.
3288
3289         * config/rs6000/xcoff.h: New file.
3290
3291         * config/rs6000/linux64.h: New file.
3292
3293         * config/rs6000/darwin.h: Copy needed AIX alignment definitions.
3294
3295 2001-07-31  Alan Modra  <amodra@bigpond.net.au>
3296
3297         * rs6000.c (print_operand_address): Handle ELF syntax.
3298         (output_toc): Simplify.  Use DOUBLE_INT_ASM_OP.
3299         * rs6000.md (load_toc_aix_di): Handle ELF syntax.
3300         * rs6000.h (ASM_OUTPUT_DOUBLE_INT, ASM_LONG): Use DOUBLE_INT_ASM_OP.
3301
3302 2001-07-31  David Edelsohn  <edelsohn@gnu.org>
3303
3304         * rs6000.c (rs6000_override_options): Only disable
3305         flag_function_sections for XCOFF.
3306         (exact_log2_cint_operand): New predicate.
3307         (reg_or_{add,sub}_cint64_operand): New predicates.
3308         (add_operand): Compare CONST_INT with fewer function calls.
3309         (rs6000_emit_set_const, rs6000_emit_set_long_const): New functions.
3310         (print_operand, case 'p'): Ensure positive operand.
3311         (rs6000_emit_load_toc_table): No load_toc_v4_pic_di.
3312         * rs6000.h (CONST_OK_FOR_LETTER_P, case 'N'): Ensure positive value.
3313         (PREDICATE_CODES): Add new predicates.
3314         * rs6000.md (addsi3): Split 32-bit constants more correctly.
3315         (divsi3, modsi3): Ensure positive power-of-2.
3316         (adddi3): Use new predicate.  Split 32-bit constants more
3317         correctly.  Re-arrange splitter to handle any constant.
3318         (subdi3): Use new predicate.
3319         (divdi3, moddi3): Ensure positive power-of-2.
3320         (movdi): Use rs6000_emit_set_const.
3321         (load_toc_v4_pic_di): Delete.
3322
3323 2001-07-31  Graham Stott <grahams@redhat.com>
3324
3325         * function.c (pad_below): Revert 2001-07-26 patch.
3326
3327 Tue Jul 31 15:37:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
3328
3329         * reg-stack (convert_regs_1): Fix best edge condition.
3330
3331 Tue Jul 31 15:33:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
3332
3333         * jump.c (duplicate_loop_exit_test): Better test for jumps
3334         entering the loop; create loop pre_header.
3335
3336 2001-07-31 Hartmut Penner <hpenner@de.ibm.com>
3337
3338         * doc/install.texi: Add s390 and s390x as new targets.
3339         * doc/invoke.texi: Add documantation of S/390 and zSeries
3340         target options.
3341         * doc/md.texi: Add documantation of S/390 and zSeries constraints.
3342
3343 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
3344
3345         * config/m68k/m68k.md: Replace all general_operand with
3346         nonimmediate_operand for all destinations.
3347         * config/m68k/m68k.c (not_sp_operand): Likewise.
3348
3349 Mon Jul 30 23:20:34 EDT 2001  John Wehle  (john@feith.com)
3350
3351         * flow.c (merge_blocks): Return 1 if an extra jump is inserted.
3352
3353 2001-07-30  Richard Henderson  <rth@redhat.com>
3354
3355         * config/ia64/ia64.h (DEBUG_RANGES_SECTION): New.
3356         * config/mips/iris6.h (DEBUG_RANGES_SECTION): New.
3357
3358 2001-07-30  Roman Zippel  <zippel@linux-m68k.org>
3359
3360         * config/m68k/m68k.h (TARGET_SWITCHES/TARGET_OPTIONS):
3361         Add missing doc strings
3362         * config/m68k/linux-aout.h (SUBTARGET_SWITCHES): Likewise
3363         * config/m68k/linux.h (SUBTARGET_SWITCHES): Likewise
3364
3365 Mon Jul 30 22:16:08 CEST 2001  Jan Hubicka  <jh@suse.cz>
3366
3367         * i386.c (ix86_output_main_function_alignment_hack): New function.
3368         (TARGET_ASM_FUNCTION_PROLOGUE): Default to it.
3369
3370         * flow.c (mark_dfs_back_edges): Move from loop_p ; mark back
3371         edges by EDGE_DFS_BACK flag.
3372         (dump_edge_info): Add dfs_back flag.
3373         * basic-block.h (EDGE_DFS_BACK): New constant.
3374         (mark_dfs_back_edges): Declare.
3375         * alias.c (loop_p): Remove.
3376         (mark_constant_function): Use mark_dfs_back_edges.
3377
3378         * reg-stack.c (block_info_def): Add predecesors counter and stack_out.
3379         (reg_to_stack): Call mark_dfs_back_edges; count the predecesors.
3380         (compensate_edge): Break out from ...
3381         (convert_regs_1): ... here; do smart choosing of stack_out to copy.
3382         (convert_regs_2): Set block_done once block is really done;
3383         Do updating of the predecesors counts.
3384
3385         * toplev.c (rest_of_compilation): Recompute block_for_insn
3386         before post-reload cfg_cleanup.
3387         * function.c (thread_prologue_epilogue_insns):
3388         Call set_block_for_new_insns when emitting prologue directly.
3389
3390 2001-07-30  Andreas Jaeger  <aj@suse.de>
3391
3392         * jump.c: Add prototype for mark_modified_reg.
3393
3394         * cse.c (set_live_p): Add unused attribute.
3395
3396         * gcov.c (calculate_branch_probs): Use gcov_type to avoid
3397         overflow.
3398         (scan_for_source_files): Use long for count to avoid overflow.
3399         (output_data): Likewise.
3400         (output_data): Don't use string concatatenation to silence gcc
3401         -traditional.
3402
3403         * predict.c: Fix typos and grammar.
3404
3405         * gcse.c (insert_insn_end_bb): Remove unused variables.
3406
3407 Mon Jul 30 21:54:53 CEST 2001  Jan Hubicka  <jh@suse.cz>
3408
3409         * flow.c (mark_set_1): Use REG_FREQ_FROM_BB.
3410         (attempt_auto_inc): LIkewise.
3411         (mark_used_reg): Likewise.
3412         (try_pre_increment_1): Likewise.
3413         * regclass.c (regclass): Likewise.
3414         * global.c (allocno_compare): Update comment; change scaling factor.
3415         * local-alloc.c (QTY_CMP_PRI): Likewise.
3416         * regs.h (REG_FREQ_FROM_BB): New.
3417         (REG_FREQ_MAX): Likewise.
3418
3419 2001-07-30  H.J. Lu <hjl@gnu.org>
3420
3421         * config/mips/linux.h (CPLUSPLUS_CPP_SPEC): Add
3422         -D_GNU_SOURCE.
3423
3424 2001-07-30  H.J. Lu  (hjl@gnu.org)
3425
3426         * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Defined.
3427         (ASM_DECLARE_FUNCTION_SIZE): Likewise.
3428         (FUNCTION_NAME_ALREADY_DECLARED): Likewise.
3429
3430 2001-07-30  Nick Clifton  <nickc@cambridge.redhat.com>
3431
3432         * config/arm/t-arm-elf (MULTILIB_EXCEPTIONS): Skip -mthumb as well
3433         as -mthumb-interwork when -mcpu=arm7 is specified.
3434
3435 Mon Jul 30 17:44:43 CEST 2001  Jan Hubicka  <jh@suse.cz>
3436
3437         * predict.def (noreturn, loop branch, loop exit): Mark as first
3438         match heuristics.
3439
3440 Mon Jul 30 12:52:11 CEST 2001  Jan Hubicka  <jh@suse.cz>
3441
3442         * combine.c (try_combine): Avoid barrier after noop jumps.
3443
3444 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3445
3446         * cpphash.h (struct cpp_reader): Remove import_warning.
3447         * cpplib.c (skip_rest_of_line): Don't bother turning off
3448         macro expansion.
3449         (parse_include): Move include handling to...
3450         (do_include_common): ... here.  Move import warning from...
3451         (do_import): ... here.
3452         (do_pragma_poison): Don't do a callback for poison identifiers.
3453         * cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
3454         * cppmain.c (setup_callbacks): Similarly.
3455
3456 Sun Jul 29 23:26:50 CEST 2001  Jan Hubicka  <jh@suse.cz>
3457
3458         * rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
3459         handle multiple sets.
3460         * except.c (sjlj_mark_call_sites): .... here.
3461         * gcse.c (insert_insn_end_bb): Use find_first_parameter_load.
3462
3463 Sun Jul 29 21:38:45 CEST 2001  Jan Hubicka  <jh@suse.cz>
3464
3465         Suggested by Richard Henderson and Richard Kenner:
3466         * combine.c (recog_for_combine): Use the fake recog
3467         only if instruction does not match.
3468         * rtl.h (NOOP_MOVE_INSN_CODE): New.
3469         * rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.
3470
3471         * combine.c (try_combine): Discover noop jump as direct jump.
3472
3473 2001-07-29  Daniel Berlin  <dan@cgsoftware.com>
3474
3475         * df.c (df_rd_global_compute): Add successors to worklist, not
3476         current item.
3477         (df_ru_global_compute): Ditto.
3478
3479 2001-07-27  Daniel Berlin  <dan@cgsoftware.com>
3480
3481         * regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
3482         increment REG_N_SETS.
3483
3484 2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
3485
3486         * sbitmap.h: New prototype for sbitmap_a_xor_b.
3487
3488         * sbitmap.c (sbitmap_a_xor_b): New function.
3489         ifdef the basic block stuff on IN_GCC.
3490
3491 2001-07-29  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3492
3493         * cppexp.c (parse_defined): Always record the macro name.
3494         (lex): Don't worry about identifiers, or special-case
3495         CPP_NOT here.
3496         (_cpp_parse_expr): Figure out at the end of the routine
3497         whether we saw a valid !defined() expression.
3498         * cppfiles.c (stack_include_file): Update for mi_valid.
3499         (_cpp_pop_file_buffer): Similarly.
3500         * cpplex.c (_cpp_lex_token): Similarly.
3501         * cpphash.h (enum mi_state, enum mi_ind, mi_state,
3502         mi_if_not_defined, mi_lexed): Remove.
3503         (mi_valid): New.
3504         * cpplib.c (do_if): Simplify.
3505         (do_endif, push_conditional, _cpp_handle_directive): Update
3506         for renaming of mi_state to mi_valid.
3507 doc:
3508         * cpp.texi: Add index entries for digraphs, and add comment
3509         that C++ refers to them as alternative tokens.
3510
3511 Sun Jul 29 18:59:13 CEST 2001  Jan Hubicka  <jh@suse.cz>
3512
3513         * basic-block.h (CLEANUP_PRE_LOOP): New.
3514         * except.c (finish_eh_generation): Update call of cleanup_cfg.
3515         * sibcall.c (optimize_sibling_calls): Likewise.
3516         * toplev.c (rest_of_compilation): Likewise.
3517         * flow.c (try_forward_edges): Take argument MODE;
3518         do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
3519         (try_optimize_cfg): Update call of try_forward_edges.
3520
3521 Sun Jul 29 18:59:56 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
3522                                Jan Hubicka  <jh@suse.cz>
3523
3524         * (validate_replace_rtx_1): Fix simplification of MINUS.
3525
3526 2001-07-29  Neil Booth  <neil@daikokuya.demon.co.uk>
3527
3528         PR preprocessor/3669
3529         * cppinit.c (init_dependency_output): Turn off dump requests
3530         if sending dependencies to stdout.
3531
3532 2001-07-28  Richard Henderson  <rth@redhat.com>
3533
3534         * flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
3535         not optimizing.
3536
3537 2001-07-28  Golubev I. N.  <gin@mo.msk.ru>
3538
3539         * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
3540
3541 2001-07-28  Kazu Hirata  <kazu@hxi.com>
3542
3543         * config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
3544         is VAR_DECL first to prevent an ICE.
3545
3546 2001-07-28  Richard Henderson  <rth@redhat.com>
3547
3548         * varasm.c (immed_real_const_1): Don't elide special cases for
3549         nested functions.
3550         (clear_const_double_mem): Clear const_tiny_rtx too.
3551
3552 2001-07-28  Richard Henderson  <rth@redhat.com>
3553
3554         * dwarf2out.c (dw_val_class_offset): New.
3555         (struct dw_ranges_struct, dw_ranges_ref): New.
3556         (ranges_table, ranges_table_allocated): New.
3557         (ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
3558         (add_AT_offset, add_ranges, output_ranges): New.
3559         (print_die, output_die): Handle dw_val_class_offset.
3560         (attr_checksum, size_of_die, value_format): Likewise.
3561         (gen_lexical_block_die): Handle non-contiguous blocks.
3562         (gen_block_die): Likewise.
3563         (dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
3564         if needed.  Dump the ranges table.
3565         * final.c (final_start_function): Remove unnecessary notes and
3566         rebuild the block tree before numbering the blocks.
3567         * function.c (reorder_blocks_0): Walk the existing block tree
3568         to unmark all blocks.
3569         (reorder_blocks_1): Create block fragments when duplicate block
3570         notes are seen.
3571         (reorder_fix_fragments): New.
3572         (reorder_blocks): Call it.
3573         * tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.
3574
3575 2001-07-28  Richard Henderson  <rth@redhat.com>
3576
3577         * emit-rtl.c (adjust_address): Make a copy of the memory address.
3578
3579 2001-07-28  Richard Henderson  <rth@redhat.com>
3580
3581         * flow.c (add_to_mem_set_list): New function.
3582         (init_propagate_block_info): Use it.
3583         (mark_set_1): Likewise.
3584         (insn_dead_p): Canonicalize memory address for dead store
3585         comparison.  Allow wider mode stores to kill narrower mode stores.
3586         (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
3587         (invalidate_mems_from_set): Don't handle MEMs.
3588
3589 2001-07-28  Kazu Hirata  <kazu@hxi.com>
3590
3591         * config/h8300/h8300.h: Fix formatting.
3592
3593 Sat Jul 28 23:35:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
3594
3595         * basic-block.h (EDGE_FREQUENCY): New macro.
3596         * bb-reorder (fixup_reorder_chain): Set counts and frequencies
3597         for new BB/edges.
3598         * flow.c (find_sub_basic_blocks): Likewise.
3599         (try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
3600         (redirect_edge_and_branch): Use EDGE_FREQUENCY.
3601
3602         * predict.c (DEF_PREDICTOR): New argument FLAGS.
3603         (HITRATE): New macro.
3604         (PRED_FLAG_FIRST_MATCH): New constant.
3605         (predictor_info): New field flgags.
3606         (combine_predictions_for_insn): Use DS theory to combine
3607         probabilities; set the edge probabilities when finished.
3608         (estimate_probability): Avoid duplicated matches
3609         of LOOP_BRANCH heuristics for nested loops; update comment.
3610         * predict.def: Add flags for each prediction, set probabilities
3611         according to B&L paper.
3612         * predict.h (DEF_PREDICTOR): New argument FLAGS.
3613
3614         * profile.c (compute_branch_probabilities):  Cleanup way the edge
3615         probabilities are computed and REG_BR_PROB notes are dropped; if
3616         values does not match, emit error.
3617         (init_branch_prob): Do error instead of warning when profile driven
3618         feedback is missing or corrupt.
3619
3620 2001-07-27  DJ Delorie  <dj@redhat.com>
3621
3622         * ifcvt.c (noce_get_alt_condition): If the condition is a compare
3623         against a constant, try to adjust the compare to have the desired
3624         constant in it so that min/max optimizations happen more often.
3625
3626 Fri Jul 27 17:53:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
3627
3628         * flow.c (last_loop_beg_note): New function.
3629         (redirect_edge_and_branch): Use it.
3630         (split_edge): Likewise.
3631
3632         * alias.c (loop_p): Avoid uninitialized memory access.
3633
3634         * flow.c (try_forward_edges): Avoid accessing freed memory.
3635
3636         * flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
3637         variable access.
3638
3639 2001-07-26  Andrew Haley  <aph@redhat.com>
3640         Joern Rennecke <amylaar@redhat.com>
3641
3642         * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
3643         (SUBTARGET_CPP_ENDIAN_SPEC): New.
3644         (SUBTARGET_CPP_SPEC): New.
3645         (CPP_SPEC): Remove.
3646         * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
3647         (SUBTARGET_CPP_PTR_SPEC): New.
3648         (CPP_DEFAULT_CPU_SPEC): New.
3649         (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
3650         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
3651         (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
3652         SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
3653         (SUBTARGET_CPP_SPEC): Define as an empty string.
3654
3655 2001-07-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
3656
3657         * doc/install.texi (Configuration): Properly link the host
3658         specific instructions also when generating HTML.
3659
3660 Fri Jul 27 00:33:35 EDT 2001  John Wehle  (john@feith.com)
3661
3662         * flow.c (redirect_edge_and_branch_force): Test
3663         target->global_live_at_start.
3664
3665 2001-07-26  Richard Henderson  <rth@redhat.com>
3666
3667         * simplify-rtx.c (avoid_constant_pool_reference): Export.
3668         * rtl.h (avoid_constant_pool_reference): Declare it.
3669         * dwarf2out.c (add_location_or_const_value_attribute): Use it.
3670         (add_const_value_attribute): Use add_AT_unsigned for unsigned values.
3671
3672 Thu Jul 26 22:30:22 CEST 2001  Jan Hubicka  <jh@suse.cz>
3673
3674         * rtl.h (cleanup_barriers): Declare.
3675         * jump.c (cleanup_barriers): New function.
3676         * toplev.c (rest_of_compilation): Call cleanup_barriers
3677         before loop optimizer and after bb_reorder.
3678
3679         * flow.c (back_edge_of_syntactic_loop_p): New.
3680         (split_edge): Use it.
3681
3682 2001-07-26  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3683
3684         * glimits.h (_MACH_MACHLIMITS_H_): Delete.
3685
3686 Thu Jul 26 22:22:21 2001  Denis Chertykov  <denisc@overta.ru>
3687
3688         * cse.c (cse_process_notes): Replace any registers if the address
3689         remains valid.
3690
3691 Thu Jul 26 14:04:03 EDT 2001  John Wehle  (john@feith.com)
3692
3693         * basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
3694         (PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
3695         (propagate_block): Update prototype.
3696         * flow.c (update_life_info): Simplify the CFG and
3697         recalculate the global regs which are alive when
3698         removing dead code during a global update.
3699         (propagate_block): Return non-zero if an INSN is
3700         deleted.
3701
3702 2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3703
3704         * Makefile.in (LIBICONV): Define.
3705
3706 2001-07-26  Catherine Moore  <clm@redhat.com>
3707
3708         * config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
3709         of conditional to avoid tree checking errors.
3710
3711 2001-07-26  Kazu Hirata  <kazu@hxi.com>
3712
3713         * regmove.c (regmove_optimize): Don't replace a reg with
3714         another reg of a different mode.
3715
3716 2001-07-26  Andrew MacLeod  <amacleod@redhat.com>
3717
3718         * params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
3719         limit length of dependancy flush list.
3720         * params.h (MAX_PENDING_LIST_LENGTH): Define.
3721         * sched-int.h  (struct deps): Add pending_flush_length field.
3722         * sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
3723         has 1 element in it.
3724         (sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
3725         (sched_analyze): After a jump, if the pending memory flush list is too
3726         large, flush the pending lists.
3727         (init_deps): Initialize pending_flush_length to 0.
3728         * doc/invoke.texi (max_pending_list_length): Document parameter.
3729
3730 2001-07-26  Neil Booth  <neil@daikokuya.demon.co.uk>
3731
3732         * toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
3733         * dbxout.c (dbxout_global_decl): Move outside #ifdef.
3734         * Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.
3735
3736 2001-07-26  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
3737
3738         * cpphash.h (struct_lexer_state): Delete was_skipping.
3739         Move skipping here from struct cpp_reader.
3740         * cpplex.c (parse_identifier): Update.
3741         (_cpp_lex_token): Don't skip tokens in a directive.
3742         * cpplib.c (struct if_stack): Update.
3743         (start_directive, end_directive): Don't change skipping state.
3744         (_cpp_handle_directive): Update.
3745         (do_ifdef, do_ifndef, do_if, do_elif): Similarly.
3746         (do_else, do_endif): Update; only check for excess tokens if not
3747         in a skipped conditional block.
3748         (push_conditional): Update for new struct if_stack.
3749
3750 2001-07-26  Graham Stott  <grahams@redhat.com>
3751
3752         * function.c (locate_and_pad_parm): Also pad initial offset
3753         so that the total argument size also includes the padding.
3754
3755 2001-07-26  Graham Stott <grahams@redhat.com>
3756
3757         * gensupport.c (alter_output_for_insn): Correct enable checking failure
3758         change XSTR to XTMPL.
3759
3760         (process_one_cond_exec): Likewise
3761
3762 2001-07-25  Richard Henderson  <rth@redhat.com>
3763
3764         * varasm.c (assemble_variable): Create DECL_RTL before setting
3765         TREE_ASM_WRITTEN.
3766
3767 Thu Jul 26 00:19:30 CEST 2001  Jan Hubicka  <jh@suse.cz>
3768
3769         * predict.c (estimate_probability): Avoid duplicated predictions.
3770
3771         * loop.c (find_and_verify_loops): Grok multiple barriers.
3772
3773 Wed Jul 25 18:00:05 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
3774
3775         * config/alpha/alpha.c (print_operand, case '/'): Don't write '/'.
3776
3777         * dbxout.c: Consistently use putc instead of fputc.
3778         (print_wide_int): New function; call instead of direct fprintf.
3779         (dbxout_type_index): Adjust calls of CHARS to be more accurate.
3780         (dbxout_type_fields, dbxout_type_method_1): Likewise.
3781         (dbxout_type_methods, dbxout_range_type, dbxout_type): Likewise.
3782         (print_int_cst_octal): Likewise.
3783         (print_octal): Show we wrote characters.
3784         (dbxout_type): Set have_used_extensions in more places.
3785
3786 2001-07-25  Catherine Moore  <clm@redhat.com>
3787
3788         * config/v850/v850.c (v850_va_arg):  Use addr
3789         instead of valist to build incr.
3790
3791 Wed Jul 25 22:48:59 CEST 2001  Jan Hubicka  <jh@suse.cz>
3792
3793         * flow.c (delete_dead_jumptables): New function.
3794         (life_analyzis): Call it.
3795         * bb-reorder.c (skip_insns_after_block): Handle contradictory
3796         sequences.
3797
3798 2001-07-25  Richard Henderson  <rth@redhat.com>
3799
3800         * except.c (reachable_handlers): Handle a region being removed
3801         out from under a RESX.
3802
3803 2001-07-25  Richard Henderson  <rth@redhat.com>
3804
3805         * config/alpha/alpha.c (alpha_emit_conditional_move): Always
3806         swap GE/GT if it is an fp comparison.
3807
3808 2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>
3809
3810         * alias.c (rtx_equal_for_memref_p): Allow strings as types in
3811         operands.
3812
3813 Wed Jul 25 08:25:01 2001  Jeffrey A Law  (law@cygnus.com)
3814
3815         * ssa.c (rename_insn_1): Do not wrap an assignment to a
3816         paradoxical SUBREG inside a SEQUENCE.  Fix minor formatting
3817         glitch.
3818
3819         * ssa-ccp.c (visit_expression): Handle CALL_INSNs that can
3820         throw an exception.
3821         (visit_expression): When attempting to simplify an expression,
3822         retrieve any modes for arguments before they are simplified
3823         to constants.
3824
3825 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
3826             Janis Johnson  <janis@us.ibm.com>
3827
3828         * stmt.c (expand_goto): A nonlocal goto can be a call too.
3829         * builtins.c (expand_builtin_longjmp): Reverse label and static chain
3830         pointer parameters to match documented usage of nonlocal_goto.
3831         * config/ia64/ia64.md (nonlocal_goto): Revert label and static chain
3832         parameters to their correct order.
3833         * config/sparc/sparc.md (nonlocal_goto): Revert label and static chain
3834         parameters to their correct order.
3835
3836 2001-07-25  Andrew MacLeod  <amacleod@redhat.com>
3837
3838         * config/ia64/ia64.h (STRIP_NAME_ENCODING): Strip out '*' as well.
3839
3840 2001-07-25  Jan Hubicka  <jh@suse.cz>
3841             Richard Henderson  <rth@redhat.com>
3842
3843         * flow.c (find_sub_basic_blocks): Fix handling of the last BB in
3844         the sequence.
3845         (make_edges): New argument update_p; populate the edge cache if set.
3846         (find_basic_blocks): Update make_edges invocation.
3847
3848 2001-07-24  Joel Sherrill <joel@OARcorp.com>
3849
3850         * config/i960/i960.h (CPP_SPEC): Define _SOFT_FLOAT for -msoft-float.
3851
3852 2001-07-24  Joel Sherrill <joel@OARcorp.com>
3853
3854         * config/sparc/rtems.h (CPP_PREDEFINES): Remove redundant
3855         -Acpu and -Amachine.h.
3856         * config/sparc/rtemself.h (CPP_PREDEFINES): Likewise.
3857         Corrected header to say ELF not a.out.
3858         * config/sparc/sparc.h (CPP_CPU_SPEC): Define _SOFT_FLOAT
3859         when given -msoft-float.
3860
3861 2001-07-24  Joel Sherrill <joel@OARcorp.com>
3862
3863         * config.gcc (arm*-*-rtems*): Include crtinit.o and crtfini.o as
3864         extra multilib parts like arm-elf.
3865         (i960-*-coff*, i960-*-rtems): Should not use collect2.
3866         (m68020-*-elf*, m68k-*-elf*, m68k-*-rtems*): Include crtinit.o and
3867         crtfini.o as extra multilib parts.
3868
3869 2001-07-24  Joel Sherrill <joel@OARcorp.com>
3870
3871         * configure.in: Add rtems as a supported thread model.
3872         * gthr-rtems.h: Add missing entry point __gthread_active_p.
3873         * configure: Rebuilt.
3874
3875 2001-07-24  Lars Brinkhoff  <lars@nocrew.org>
3876
3877         * stor-layout.c (get_mode_alignment): make it work when
3878         BITS_PER_UNIT is not a power of two.
3879         * builtins.c (get_pointer_alignment): Likewise.
3880
3881 2001-07-24  Richard Henderson  <rth@redhat.com>
3882
3883         * simplify-rtx.c (avoid_constant_pool_reference): Coerce
3884         the retrieved constant into the expected mode.
3885
3886 Wed Jul 25 01:41:27 CEST 2001  Jan Hubicka  <jh@suse.cz>
3887
3888         * flow.c (try_simplify_condjump): Avoid duplicated edges.
3889         (verify_flow_info): Check for duplicated edges; clarify
3890         error reporting.
3891
3892         * flow.c (block_label): Update basic_block_for_insn.
3893         (commit_edge_insertions): Call compute_bb_for_insn.
3894
3895         * flow.c (purge_dead_edges): Handle conditional jumps and conditional
3896         returns too.
3897
3898         * flow.c (redirect_edge_and_branch,
3899         try_optimize_cfg): Use redirect_edge_succ_nodup
3900         (redirect_edge_succ_nodup): New.
3901         * basic_block.h (redirect_edge_succ_nodup): Declare.
3902
3903         * toplev.c (rest_of_compilation): Rebuild CFG before cfg_cleanup
3904         after gcse.
3905
3906 Wed Jul 25 00:32:49 CEST 2001  Jan Hubicka  <jh@suse.cz>
3907
3908         * flow.c (try_forward_edges): Accept fallthru edge; Update comment.
3909         (try_crossjump_to_edge): Update commetns.
3910         (try_crossjump_bb): Likewise.
3911
3912 2001-07-24  Richard Henderson  <rth@redhat.com>
3913
3914         * combine.c (distribute_notes): Move set of need_refresh
3915         for noop_move_p down to catch all cases.
3916
3917 Tue Jul 24 20:32:44 CEST 2001  Jan Hubicka  <jh@suse.cz>
3918
3919         * recog.c (split_all_insns_noflow): New.
3920         * rtl.h (split_all_insns_noflow): Declare.
3921         * ia64.c (ia64_reorg): Use split_all_insns_noflow.
3922         * m68hc11.c (m68hc11_reorg): Likewise.
3923         * sh.c (machine_dependent_reorg): Likewise.
3924         * toplev.c (rest_of_compilation): Likewise for last split_all_insns
3925         call.
3926
3927 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
3928
3929         * config/sh/sh.md (ashlsi3_std splitter): Split only after reload.
3930         (ashlsi3_n splitter): Likewise.
3931         (lshrsi3_n splitter): Likewise.
3932
3933         (GOTaddr2picreg): Make const SImode.
3934         (sym_label2reg): Likewise.
3935         (symGOT2reg): Likewise.
3936         (symGOTOFF2reg) Likewise.
3937
3938         (casesi_worker_0): Make unspec SImode.
3939
3940 2001-07-18  Andrew Haley  <aph@cambridge.redhat.com>
3941
3942         * config/sh/sh.c (barrier_align): Check that an operand really is
3943         an insn before extracting its INSN_CODE.
3944
3945 2001-07-24  Andrew Haley  <aph@cambridge.redhat.com>
3946
3947         * config/sh/sh.h (OVERRIDE_OPTIONS): Add braces to get rid of
3948         dangling else.
3949
3950         * config/sh/sh.h (INITIALIZE_TRAMPOLINE): Truncate operands
3951         for SImode to prevent overflow.
3952
3953 2001-07-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3954
3955         * config/mips/irix6-libc-compat.c: New file.
3956         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Use it.
3957         * doc/install.texi (Specific, mips*-sgi-irix6): Mention structure
3958         passing workaround.
3959
3960 2001-07-24  lars brinkhoff  <lars@nocrew.org>
3961
3962         * rtl.texi (REG_POINTER): Document.
3963         (Machine Modes): Document BImode, OImode, PQImode, PHImode,
3964         QFmode, HFmode, TQFmode, QCmode, and HCmode.
3965
3966 Tue Jul 24 10:49:40 CEST 2001  Jan Hubicka  <jh@suse.cz>
3967
3968         * flow.c (delete_noop_moves): Do not confuse libcall regions.
3969
3970 2001-07-23  Richard Henderson  <rth@redhat.com>
3971
3972         * flow.c (try_simplify_condjump): Use tidy_fallthru_edge.
3973
3974 2001-07-23  Kazu Hirata  <kazu@hxi.com>
3975
3976         * config/h8300/h8300-protos.h: Add a prototype for
3977         general_operand_dst_push.
3978         * config/h8300/h8300.c (general_operand_dst_push): New.
3979         * config/h8300/h8300.h (OK_FOR_T): New.
3980         (EXTRA_CONSTRAINT): Use it.
3981         * config/h8300/h8300.md (movqi_push): Remove and integrate into
3982         the existing movqi pattern.
3983         (movhi_push): Likewise.
3984
3985         * reload.c: Fix comment typos.
3986
3987 Mon Jul 23 23:34:07 CEST 2001  Jan Hubicka  <jh@suse.cz>
3988
3989         * gcse.c (cprop_insn): Update call of cprop_cc0_jump.
3990
3991 2001-07-23  H.J. Lu  (hjl@gnu.org)
3992
3993         * doc/extend.texi: Update __builtin_return_address and
3994         __builtin_frame_address.
3995
3996 2001-07-23  Richard Henderson  <rth@redhat.com>
3997
3998         * config/i386/i386.c (ix86_expand_setcc): Don't use method 0
3999         before CSE.
4000         * config/i386/i386.md: New setcc+movzbl peephole2.
4001
4002 2001-07-23  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4003
4004         * objc/Make-lang.in (objc-act.o): Depend on debug.h.
4005         * objc/objc-act.c: Include debug.h.
4006         (synth_module_prologue): Save and restore debug hooks too.
4007
4008 2001-07-23  lars brinkhoff  <lars@nocrew.org>
4009
4010         * tm.texi (TARGET_FLOAT_FORMAT): Document IBM_FLOAT_FORMAT
4011         and C4X_FLOAT_FORMAT.
4012         (BOOL_TYPE_SIZE): Document.
4013
4014 Mon Jul 23 11:54:23 2001  Clinton Popetz  <cpopetz@cpopetz.com>
4015
4016         * unroll.c (loop_iterations): Fix miscalculation of initial
4017         giv offset.
4018
4019 2001-07-13  Andrew Haley  <aph@redhat.com>
4020
4021         * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
4022         * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
4023         * config/sh/sh.c (sh_can_redirect_branch): New function.
4024         * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
4025         * reorg.c (steal_delay_list_from_target): Use
4026         MD_CAN_REDIRECT_BRANCH to see if redirection is possible.
4027
4028 Mon Jul 23 17:20:18 CEST 2001  Jan Hubicka  <jh@suse.cz>
4029
4030         * flow.c (try_simplify_condjump): Unlink insn chain on
4031         fallthru edge; use can_fallthru.
4032
4033 Mon Jul 23 16:03:19 CEST 2001  Jan Hubicka  <jh@suse.cz>
4034
4035         * basic-block.h (find_sub_basic_block): Declare.
4036         * flow.c (make_edges): New arguments MIN and MAX;
4037         (find_sub_basic_blocks): Revamp to use make_edges
4038         and purge_dead_edges.
4039         (find_basic_blocks): Update call of find_sub_basic_block.
4040
4041         * recog.c (split_all_insns): Always expect CFG to be consistent;
4042         call find_sub_basic_blocks in case something has changed.
4043         * toplev.c (rest_of_compilation): Always call split_all_insns once CFG
4044         has been built.
4045
4046         * basic-block.h (delete_noop_moves): Declare.
4047         * combine.c (combine_instructions): Call it.
4048         (recog_for_combine): Tolerate noop moves
4049         (distribute_notes): Force refresh when register dies at noop move.
4050         * flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
4051         too.
4052         (life_analysis): Update delete_noop_moves call.
4053         (set_noop_p): Move too ...
4054         * rtlanal.c (noop_move_p): ... here.
4055         * rtl.h (noop_move_p): Declare.
4056
4057         * basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
4058         * toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
4059         after combine.
4060         * gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
4061         (cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.
4062
4063 2001-07-23  Hans-Peter Nilsson  <hp@bitrange.com>
4064
4065         * reload.c (push_reload): Fix typo in comment.
4066         (find_reloads_address): Ditto.
4067         (reg_overlap_mentioned_for_reload_p): Ditto in head comment.
4068
4069 2001-07-22  Richard Henderson  <rth@redhat.com>
4070
4071         * flow.c: Grammar check and clarify a lot of comments.
4072         (try_simplify_condjump): Rename variables to be clearer.
4073         (try_forward_edges): Skip complex and fallthru edges.
4074         Rearrange tests to avoid duplicate checks.
4075         (flow_find_cross_jump): Likewise.
4076         (outgoing_edges_match): Allow match if neither branch has
4077         probability data.  Loosen probability match to 5%.
4078         (try_crossjump_to_edge): Hoist repeated indirection into
4079         local variables.
4080         (try_crossjump_bb): Don't check complex edges.  Eliminate
4081         redundant crossjump tests.
4082         (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
4083         checks before more expensive checks.
4084
4085 2001-07-22  Richard Henderson  <rth@redhat.com>
4086
4087         * fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
4088         INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
4089         arguments.
4090
4091 2001-07-22  Richard Henderson  <rth@redhat.com>
4092
4093         * m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
4094         (const_sint32_operand): Likewise.
4095         * m68k.md (anon mulsi pattern): Use const_int_operand not
4096         const_sint32_operand.
4097         (umulsi3_highpart): Zero extend a constant input.
4098         (smulsi3_highpart): Don't bother checking SImode constant.
4099         (const_umulsi3_highpart): Give op3 DImode.
4100         (const_smulsi3_highpart): Likewise.
4101
4102 2001-07-22  Richard Henderson  <rth@redhat.com>
4103
4104         * flow.c (split_block): Make sure bb_note is included in the
4105         new block when splitting before a label.
4106
4107 Sun Jul 22 23:28:56 CEST 2001  Jan Hubicka  <jh@suse.cz>
4108
4109         * basic-block.h (redirect_edge_and_branch_force,
4110         redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
4111         * flow.c (redirect_edge_and_branch_force,
4112         redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
4113         (redirect_edge_and_branch_force): Fix copying of lifeness information.
4114         (block_label): Handle EXIT_BLOCK_PTR by returning NULL.
4115         * ifcvt.c (dead_or_predictable): Take BB as an new destionation
4116         instead of label; update CFG after transformation.
4117         (find_if_case_1): Update call, use redirect_edge_and_branch_force
4118         for finishing the transformation; handle even case where ELSE
4119         does not follow THEN.
4120         (find_if_case_2): Update call of dead_or_predictable; simplify
4121         CFG update.
4122
4123         * emit-rtl.c (split_branch_probability): New global variable.
4124         (try_split): Take care to set split_branch_probability and
4125         create REG_BR_PROB note for new jump insns.
4126         * md.texi (define_split): Document new feature.
4127
4128         * i386.c (ix86_split_fp_branch): Redistribute branch probability notes.
4129
4130 2001-07-22  Neil Booth  <neil@daikokuya.demon.co.uk>
4131
4132         * varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
4133         (asm_out_file): Remove redundant declaration.
4134         (assemble_asm): Remove old #if 0 block.
4135         (assemble_variable): Remove end of function; debug output is
4136         now handled with global_decl.  Remove old #if 0 block.  Update.
4137         Remove saved_in_section and associated no-op code.
4138         * Makefile.in (varasm.o): Correct dependencies.
4139
4140 Sun Jul 22 17:55:11 2001  Alexandre Oliva  <aoliva@redhat.com>
4141
4142         * config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
4143         the definition in defaults.h.
4144
4145 Sun Jul 22 21:31:04 CEST 2001  Jan Hubicka  <jh@suse.cz>
4146
4147         * jump.c: Update comments.
4148         (delete_barrier_successors, delete_unreferenced_labels,
4149         delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
4150         delete_labelref_insn, redirect_tablejump, jump_optimize_1,
4151         jump_optimize, jump_optimize_minimal): Kill.
4152         (rebuild_jump_labels): Move code from jump_optimize_1.
4153         (purge_line_number_notes): Likewise.
4154         (copy_loop_headers): Likewise.
4155         * reg-stack.c: Update comment.
4156         * stmt.c: Likewise.
4157         * rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
4158         JUMP_AFTER_REGSCAN): Kill.
4159         * toplev.c (rest_of_compilation): Use cleanup_cfg, call
4160         purge_line_number_notes and copy_loop_headers.
4161
4162 2001-07-22 Neil Booth  <neil@daikokuya.demon.co.uk>
4163            Richard Henderson  <rth@redhat.com>
4164
4165         * dbxout.c (dbxout_global_decl): New.
4166         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
4167         * sdbout.c (sdbout_finish): New.
4168         (sdbout_debug_hooks): Use it, add comments.
4169         (sdbout_global_decl): Defer initialised public vars to
4170         sdbout_finish.
4171         * varasm.c (assemble_variable): Don't output debug information
4172         for file-scope variables.
4173
4174 2001-07-22  Richard Henderson  <rth@redhat.com>
4175
4176         * config/alpha/alpha.c (get_trap_mode_suffix): New.
4177         (get_round_mode_suffix): New.
4178         (print_operand): Use them for [/].  Remove support for [&'`()+].
4179         * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
4180         * config/alpha/alpha.md (attr round_suffix): New.
4181         (attr trap_suffix): New.
4182         (all insns): Set them appropriately.  Use %/ instead of the
4183         myriad punctuators.
4184
4185 2001-07-22  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4186
4187         * dbxout.c, sdbout.c, varasm.c: Revert most recent debug patch.
4188
4189 2001-07-22  Richard Henderson  <rth@redhat.com>
4190
4191         * regrename.c (regrename_optimize): Compute nregs for each
4192         potential target register.
4193
4194 2001-07-21 Neil Booth  <neil@daikokuya.demon.co.uk>
4195            Richard Henderson  <rth@redhat.com>
4196
4197         * dbxout.c (dbxout_global_decl): New.
4198         (xcoff_debug_hooks, dbx_debug_hooks): Use it.
4199         * sdbout.c (sdbout_finish): New.
4200         (sdbout_debug_hooks): Use it, add comments.
4201         (sdbout_global_decl): Defer initialised public vars to
4202         sdbout_finish.
4203         * varasm.c (assemble_variable): Don't output debug information
4204         for file-scope variables.
4205
4206 2001-07-21  H.J. Lu  (hjl@gnu.org)
4207
4208         * config/mips/mips.c (mips_cpu): Moved into ...
4209         (override_options): Here.
4210
4211         * config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
4212         mips_tune.
4213         (mips_cpu): Removed.
4214
4215 2001-07-21  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4216
4217         * config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
4218         ("iorqi3"): Likewise.
4219         ("xorqi3"): Likewise.
4220         ("*addhi3"): Fix constraint to avoid reloading in a soft register.
4221         ("*subhi3_sp): Likewise.
4222         ("*subhi3"): Likewise.
4223         ("extendhisi2"): Accept D, X and Y as source operand to avoid
4224         reload problems.
4225
4226 2001-07-21  Nathan Sidwell  <nathan@codesourcery.com>
4227
4228         * doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
4229         * config/freebsd.h: Likewise.
4230         * config/linux.h: Likewise.
4231         * config/openbsd.h: Likewise.
4232         * config/alpha/linux-elf.h: Likewise.
4233         * config/arm/linux-elf.h: Likewise.
4234         * config/d30v/d30v.h: Likewise.
4235         * config/fr30/fr30.h: Likewise.
4236         * config/ia64/aix.h: Likewise.
4237         * config/ia64/ia64.h: Likewise.
4238         * config/mips/linux.h: Likewise.
4239         * config/pj/pj.h: Likewise.
4240         * config/rs6000/linux.h: Likewise.
4241         * config/sparc/linux.h: Likewise.
4242         * config/sparc/linux64.h: Likewise.
4243
4244 2001-07-20  Bruce Korb  <bkorb@gnu.org>
4245
4246         * fixinc/fixincl.c(test_for_changes): force unsigned char comparisons
4247         because getc() and char* may disagree on signedness.
4248
4249 2001-07-20  Richard Henderson  <rth@redhat.com>
4250
4251         * doc/rtl.texi (REG_DEAD): Update for current semantics.
4252
4253         * flow.c (try_redirect_by_replacing_jump): Correctly compute which
4254         insns to delete in the presence of cc0 in a jump insn.
4255
4256 Fri Jul 20 22:14:49 CEST 2001  Roman Zippel  <zippel@linux-m68k.org>
4257                                Jan Hubicka  <jh@suse.cz>
4258
4259         * m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
4260         of doing the change by hand.
4261
4262 Fri Jul 20 21:59:42 CEST 2001  Jan Hubicka  <jh@suse.cz>
4263
4264         * rtlanal.c (set_noop_p): Return true for noop jumps.
4265
4266         * expr.c (emit_single_push_insn): Add call to push expander.
4267         * expr.h (optab_index): Add OTI_push
4268         (push_optab): New constant.
4269         * genopinit.c (optabs): Add push_optab.
4270         * optabs.c (init_optab): Init push optab.
4271         * md.texi (push??1): Document
4272
4273 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4274
4275         * config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
4276         expand to emit the pattern; put a REG_INC note for push/pop
4277         instructions.
4278         ("movdf", "movdf_internal"): Likewise.
4279         ("movsi", "movsi_internal"): Likewise.
4280         ("movsf", "movsf_internal"): Likewise.
4281         ("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.
4282
4283 2001-07-20  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
4284
4285         * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
4286         gen_highpart.
4287
4288 2001-07-20  Daniel Berlin  <dan@cgsoftware.com>
4289
4290         * params.def: Change default max inline insns to 100.
4291
4292 2001-07-20  Diego Novillo  <dnovillo@redhat.com>
4293
4294         * combine.c (combine_simplify_rtx): Generate a new shift operation
4295         when simplifying the first operand of a (neg (ashift)) expression.
4296
4297 2001-07-20  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
4298
4299         * regclass.c (N_REG_INTS): Use only 32 bits per element.
4300
4301 2001-07-20  Kelley Cook  <kelley.cook@home.com>
4302
4303         * doc/install.texi (sparc-sun-solaris*): Add in 4.x assembler bug
4304         information.   Move rest into ...
4305         (*-*-solaris): ... here.  Eliminate redundant information and
4306         reword necessary packages section.  Delete 4.x assembler bug info.
4307         (sparc-sun-*): Merge into ...
4308         (sparc-sun-sunos*): here.
4309
4310 2001-07-20  Catherine Moore  <clm@redhat.com>
4311
4312         * config/v850/v850.md (casesi): Generate LABEL_REF
4313         with Pmode.
4314
4315 Fri Jul 20 14:12:57 CEST 2001  Jan Hubicka  <jh@suse.cz>
4316
4317         * i386-protos.h (ix86_zero_extend_to_Pmode): Declare.
4318         * i386.c (ix86_zero_extend_to_Pmode): Make global.
4319         * i386.md (strclrsi expander): Use it.
4320
4321 Fri Jul 20 13:24:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
4322
4323         * integrate.c (copy_insn_list): handle
4324         NOTE_INSN_DELETED_LABEL, as if it were CODE_LABEL.
4325         (copy_rtx_and_substitute): Likewise; behave to NOTE_INSN_DELETED_LABEL
4326         identically as to CODE_LABEL.
4327
4328         * fold-const (fold): Convert A/B/C to A/(B*C) and
4329         A/(B/C) to (A/B)*C
4330
4331         * except.c (connect_post_landing_pads): Delete the RESX insns.
4332
4333 2001-07-20  Aldy Hernandez  <aldyh@redhat.com>
4334
4335         * config/mips/mips.h (ISA_HAS_NMADD_NMSUB): New macro.
4336
4337         * config/mips/mips.md (nmadd/nmsub): Use macro.
4338
4339 2001-07-20  Nathan Sidwell  <nathan@codesourcery.com>
4340
4341         * cppinit.c (remove_dup_dir): Make static.
4342         (remove_dup_dirs): Make static. Only warn about preempting a
4343         system directory with a non-system directory.
4344
4345 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
4346
4347         * ifcvt.c (noce_try_store_flag_constants): Correct order
4348         of parameters to trunc_int_for_mode.
4349
4350 2001-07-19  Mark Mitchell  <mark@codesourcery.com>
4351
4352         * reorg.c (fill_simple_delay_slots): If an instruction might throw
4353         an exception that will be caught within this function, do not fill
4354         its delay slot with any subsequent instruction.
4355
4356 2001-07-19  Steve Ellcey <sje@cup.hp.com>
4357
4358         * tm.texi (POINTERS_EXTEND_UNSIGNED) Modify definition.
4359         * optabs.c (can_extend_p) Check HAVE_ptr_extend for a specialized
4360         pointer extension instruction.
4361         * combine.c (nonzero_bits,num_sign_bit_copies) Likewise.
4362         * simplify-rtx.c (simplify_unary_operation) Likewise.
4363         * explow.c (convert_memory_address) Check value of
4364         POINTERS_EXTEND_UNSIGNED to avoid some conversions when
4365         less than zero.
4366         * config/ia64/t-hpux (LIBGCC, INSTALL_LIBGCC, MULTILIB_OPTIONS,
4367         MULTILIB_DIRNAMES, MULTILIB_MATCHES) Add multilib support.
4368         * config/ia64/hpux.h (CPP_SPEC, ASM_SPEC, SUBTARGET_SWITCHES)
4369         Add Multilib Support.
4370         (POINTERS_EXTEND_UNSIGNED)  Define for ILP32 support.
4371         * config/ia64/ia64.h (MASK_ILP32, TARGET_ILP32, SUBTARGET_SWITCHES)
4372         Add Multilib Support.
4373         (POINTER_SIZE, LONG_TYPE_SIZE, MAX_LONG_TYPE_SIZE) Modify for ILP32
4374         support.
4375         * config/ia64/ia64.c (rtx_needs_barrier) Add support for addp4.
4376         * config/ia64/ia64.md (ptr_extend) New instruction to "swizzle"
4377         a 32 bit HP-UX pointer into a 64 bit HP-UX pointer.
4378
4379 2001-07-19  Alexandre Oliva  <aoliva@redhat.com>
4380
4381         * simplify-rtx.c (simplify_replace_rtx): Try to obtain mode from
4382         old and new operands in `<', `3' and `b'.
4383
4384 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4385
4386         * Makefile.in (emit-rtl.o, c-decl.o): Depend on debug.h.
4387         (final.o): Don't depend on xcoffout.h, dbxout.h or sdbout.h.
4388         (toplev.o): Don't depend on xcoffout.h.
4389         * c-decl.c: Include debug.h
4390         (duplicate_decls): Use debug hook.
4391         * dbxout.c (dbxout_source_file, dbxout_args): Make static.
4392         (dbx_debug_hooks, xcoff_debug_hooks): Update.
4393         (dbxout_types): Remove.
4394         * dbxout.h (dbxout_source_file, dbxout_types, dbxout_args): Remove.
4395         * debug.c (do_nothing_debug_hooks): Update.
4396         (debug_true_tree, debug_nothing_rtx): New.
4397         * debug.h (struct rtx_def): New.
4398         (struct gcc_debug_hooks): New hooks ignore_block,
4399         outlining_inline_function and label.
4400         (debug_true_tree, debug_nothing_rtx, dwarf2out_frame_init,
4401         dwarf2out_frame_finish): New.
4402         * dwarf2out.c (dwarf2out_ignore_block, dwarf2out_abstract_function):
4403         Make static, update prototype.
4404         (dwarf2_debug_hooks): Update.
4405         * dwarf2out.h (dwarf2out_ignore_block, dwarf2out_abstract_function,
4406         dwarf2out_frame_init, dwarf2out_frame_finish): Remove.
4407         * dwarfout.c (dwarf_debug_hooks): Update.
4408         * emit-rtl.c: Include debug.h.
4409         (remove_unnecessary_notes): Use debug hook.
4410         * final.c: Don't include dbxout.h, xcoffout.h or sdbout.h.
4411         (final_scan_insn): Use debug hook.
4412         * integrate.c (output_inline_function): Use debug hook.
4413         * sdbout.c (sdbout_toplevel_data, sdbout_label): Make static.
4414         (sdb_debug_hooks): Update.
4415         * sdbout.h (sdbout_label, sdbout_toplevel_data): Remove.
4416         * toplev.c: Don't include xcoffout.h.
4417         (note_outlining_of_inline_function, debug_ignore_block): Remove.
4418         * toplev.h (note_outlining_of_inline_function, debug_ignore_block):
4419         Remove.
4420         * tree.h (dwarf2out_do_frame): Remove.
4421
4422 2001-07-19  Catherine Moore  <clm@cygnus.com>
4423
4424         * config/v850/v850.h (ASM_OUTPUT_LABELREF): Restore.
4425
4426 2001-07-19  Geoffrey Keating  <geoffk@redhat.com>
4427
4428         * reload1.c (eliminate_regs_in_insn): When updating a set
4429         to the frame pointer to the hardware frame pointer, perform
4430         the update always not just when REPLACE is set.
4431
4432         * reload1.c (choose_reload_regs): Don't inherit a reload
4433         that crosses multiple registers if registers past the first
4434         don't fit in the desired class.
4435
4436         * ifcvt.c (noce_try_store_flag_constants): Use trunc_int_for_mode
4437         when negating constants.
4438
4439 2001-07-19  Toon Moene  <toon@moene.indiv.nluug.nl>
4440
4441         * tree.def: Document restriction on {L|R}SHIFT_EXPR's second argument.
4442         * doc/tree.texi: Ditto.
4443
4444 2001-07-19  Mark Kettenis  <kettenis@wins.uva.nl>
4445             Jakub Jelinek  <jakub@redhat.com>
4446
4447         * unwind-dw2.c (_Unwind_FrameState): Add eh_ptr.
4448         (extract_cie_info): Handle "eh" augmentation properly,
4449         remember eh_ptr.
4450         (struct frame_state, __frame_state_for): New.
4451
4452 2001-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4453
4454         * config/alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL,
4455         HANDLE_SYSV_PRAGMA): Define.
4456         * mips-tfile.c (add_ext_symbol): Pass complete symbol ptr, inline
4457         previous args.
4458         (copy_object): Caller changed.
4459
4460 2001-07-19  Andreas Schwab  <schwab@suse.de>
4461
4462         * configure.in (assembler dwarf2 debug_line support): Define nop
4463         insn for m68k.
4464         * configure: Regenerated.
4465
4466 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4467
4468         * Makefile.in (toplev.o, dwarfout.o, final.o): Don't depend on
4469         dwarfout.h.
4470         * dbxout.c (dbxout_function): Rename dbxout_funciton_decl, move
4471         to conditionally compiled block.
4472         (dbx_debug_hooks, xcoff_debug_hooks): Update.
4473         * dbxout.h (dbxout_function): Remove.
4474         * debug.c (do_nothing_debug_hooks): Update.
4475         * debug.h (struct gcc_debug_hooks): New hooks function_decl,
4476         global_decl, deferred_inline_function.
4477         * dwarf2out.c (dwarf2_debug_hooks): Update.
4478         (dwarf2out_global_decl): New.
4479         * dwarfout.c: Don't include dwarfout.h.
4480         (dwarfout_global_decl, dwarfout_function_decl,
4481         dwarfout_deferred_inline_function): New.
4482         (dwarf_debug_hooks): Update.
4483         * dwarfout.h: Remove.
4484         * final.c: Don't include dwarfout.h.
4485         * sdbout.c (sdbout_global_decl): New.
4486         (sdbout_debug_hooks): Update.
4487         * toplev.c: Don't include dwarfout.h.
4488         (check_global_declarations, rest_of_compilation): Use new debug hooks.
4489         (note_deferral_of_defined_inline_function): Remove.
4490         * toplev.h (note_deferral_of_defined_inline_function): Remove.
4491         * ch/Makefile.in (lex.o): No dependence on dwarfout.h.
4492         * ch/lex.c: Don't include dwarfout.h.
4493         * cp/Make-lang.in (decl2.o): No dependence on dwarfout.h, dwarf2out.h.
4494         (semantics.o, optimize.o): Depend on debug.h not dwarfout.h.
4495         * cp/decl2.c: Don't include dwarfout.h and dwarf2out.h.
4496         * cp/optimize.c: Include debug.h.
4497         (maybe_clone_body): Use debug hook.
4498         * cp/semantics.c: Include debug.h.
4499         (expand_body): Use debug hook.
4500         * po/POTFILES.in: Remove dwarfout.h.
4501
4502 2001-07-19  Neil Booth  <neil@daikokuya.demon.co.uk>
4503
4504         * c-lex.c (c_lex): Remove CPP_INT, CPP_FLOAT cases.
4505         * c-parse.in (yyerror, _yylex): Similarly.
4506         * cppexp.c (parse_number, parse_defined, lex, _cpp_parse_expr):
4507         Don't use CPP_INT, CPP_FLOAT; CPP_NUMBER is enough.
4508         Update comments.
4509         * cpplib.h (CPP_INT, CPP_FLOAT): Remove.
4510         * cp/spew.c (read_token, yyerror): Remove CPP_INT, CPP_FLOAT cases.
4511
4512 2001-07-18  Jeff Sturm  <jsturm@one-point.com>
4513
4514         * dwarf2out.c (dwarf2out_abstract_function): Don't emit
4515         in-class declaration at -g1.  Fixes c++/2814.
4516
4517 2001-07-18  Richard Henderson  <rth@redhat.com>
4518
4519         * doc/md.texi (reload_in/out): Document restrictions in predicates
4520         and constraints for these patterns.  Document empty string matching
4521         ALL_REGS.
4522
4523 2001-07-18  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
4524
4525         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Check for ASM_WEAKEN_LABEL.
4526
4527 Wed Jul 18 20:47:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4528
4529         * cse.c: Undo my previous patch.
4530
4531 2001-07-18  Tom Tromey  <tromey@redhat.com>
4532
4533         For PR java/2812:
4534         * configure: Rebuilt.
4535         * configure.in: Don't check for iconv.h or iconv(); use AM_ICONV
4536         instead.
4537         * aclocal.m4 (AM_ICONV): New macro from Bruno Haible.
4538
4539 Wed Jul 18 18:46:30 CEST 2001  Richard Henderson <rth@cygnus.com>
4540                                Jan Hubicka  <jh@suse.cz>
4541
4542         * flow.c (redirect_edge_and_branch): Bail out on complex edges.
4543         (try_optimize_cfg): Do not remove tail recursive labels before sibcall.
4544         * jump.c (mark_jump_label): Do not forward branches.
4545
4546 Wed Jul 18 18:35:01 CEST 2001  Jan Hubicka  <jh@suse.cz>
4547
4548         * cse.c (delete_trivially_dead_insns): Delete the libcall block
4549         when return value is unused.
4550
4551 Wed Jul 18 18:28:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
4552
4553         * gcse.c (pre_insert_copy_insn): Call update_ld_motion_stores.
4554
4555 Wed Jul 18 12:05:29 2001  Nicola Pero  <n.pero@mi.flashnet.it>
4556
4557         * gthr-posix.h (__gthread_objc_mutex_trylock): Fixed return value
4558         on error.  We can't blindly return the result of
4559         pthread_mutex_trylock because it returns a positive number on
4560         error, while we must return -1 on error.
4561         (__gthread_objc_mutex_lock, __gthread_objc_mutex_unlock): Similar
4562         fixes.
4563         Reported by Stephen Brandon <stephen@brandonitconsulting.co.uk>.
4564
4565 2001-07-18  Andreas Jaeger  <aj@suse.de>
4566
4567         * integrate.c (output_inline_function): Correct type of debug_hooks.
4568
4569 2001-07-18  Toon Moene  <toon@moene.indiv.nluug.nl>
4570
4571         * combine.c (combine_simplify_rtx): DIV can be treated
4572         associatively for floats if unsafe math optimisations are enabled.
4573
4574 2001-07-17  Richard Henderson  <rth@redhat.com>
4575
4576         * reload.c (push_secondary_reload): Accept empty-string for ALL_REGS.
4577
4578 2001-07-17  Richard Henderson  <rth@redhat.com>
4579
4580         * calls.c (prepare_call_address): New parameter SIBCALLP.  If true,
4581         don't force the function address into a register.
4582         (expand_call, emit_library_call_value_1): Update callers.
4583         * builtins.c (expand_builtin_apply): Likewise.
4584         * expr.h (prepare_call_address): Update decl.
4585
4586 2001-07-17  Chandrakala Chavva  <cchavva@redhat.com>
4587
4588         * config.gcc: For *-*-chorusos triplet, get chorus.h file from
4589         config directory.
4590         * config/i386/chorus.h: Move up.
4591         * config/sparc/chorus.h: Likewise.
4592         * config/rs6000/chorus.h: Likewise.
4593         * config/chorus.h: Moved here.
4594
4595 2001-07-17  Andreas Schwab  <schwab@suse.de>
4596
4597        * configure.in  (assembler eh_frame optimization): Handle big
4598        endian.
4599        * configure: Regenerated.
4600
4601 Tue Jul 17 23:43:31 CEST 2001  Jan Hubicka  <jh@suse.cz>
4602
4603         * expr.c (epxand_expr): Convert divisions into multiplications by
4604         reciprocals if -ffast-math.
4605
4606 2001-07-17  Neil Booth  <neil@daikokuya.demon.co.uk>
4607
4608         * dbxout.c (dbxout_really_begin_function): Rename to
4609         dbxout_begin_function.
4610         (dbx_debug_hooks, xcoff_debug_hooks): Update.
4611         (dbxout_begin_function): Remove.
4612         (dbxout_function): Update.
4613         (dbxout_source_line): Update prototype.
4614         * dbxout.h (dbxout_begin_function): Remove.
4615         * debug.c (do_nothing_debug_hooks): Update.
4616         (debug_nothing_tree): Update.
4617         (debug_nothing_charstar_rtx): Remove.
4618         * debug.h (union tree_node): Declare.
4619         (struct rtx_def): Remove.
4620         (gcc_debug_hooks): New hooks begin_prologue, end_prologue,
4621         begin_function.  Change source_line prototype.
4622         (debug_nothing_tree): New.
4623         (debug_nothing_charstar_rtx): Delete.
4624         (dwarf2out_begin_prologue): Moved from ...
4625         * tree.h: ... here.
4626         * dwarf2out.c (dwarf2_debug_hooks): Update.
4627         (dwarf2out_begin_prologue): Update prototype.  If genuine dwarf2
4628         debug info, call dwarf2out_source_line.
4629         (dwarf2out_souce_line): Update prototype.
4630         * dwarfout.c (dwarfout_begin_function): Rename dwarfout_end_prologue.
4631         Change prototype, make static.
4632         (dwarfout_source_line): Update prototype.
4633         (dwarf_debug_hooks): Update.
4634         * dwarfout.h (dwarfout_begin_function): Remove.
4635         * final.c (final_start_function, final_scan_insn): Use appropriate
4636         debug hooks, update to use notice_source_line.
4637         (output_source_line): Rename notice_source_line.  Don't call the
4638         source_line debug hook.
4639         * sdbout.c (sdbout_begin_function): Rename sdbout_begin_prologue,
4640         make static, update prototype.
4641         (sdbout_mark_begin_function): Rename sdbout_begin_function, update
4642         prototype.
4643         (sdbout_end_prologue): New.
4644         (sdbout_source_line): Update prototype.
4645         (sdbout_debug_hooks): Update.
4646         (sdbout_symbol): Remove unused var.
4647         * sdbout.h (sdbout_begin_function, sdbout_mark_begin_function):
4648         Delete.
4649         * varasm.c: Include debug.h.
4650         (assemble_start_function): Use begin_function debug_hook.
4651         * xcoffout.c (xcoffout_begin_prologue): Rename xcoffout_begin_function,
4652         update with prototype.
4653         (xcoffout_source_line): Update prototype.
4654         * xcoffout.h (xcoffout_begin_prologue): Rename xcoffout_begin_function,
4655         update prototype.
4656         (xcoffout_source_line): Update prototype.
4657
4658 2001-07-17  Richard Henderson  <rth@redhat.com>
4659
4660         * c-typeck.c (build_binary_op): Do not shorten unsigned
4661         right shift after sign extension.
4662
4663 Tue Jul 17 16:56:05 CEST 2001  Jan Hubicka  <jh@suse.cz>
4664
4665         * combine.c (combine_simplify_rtx): Attempt to simplify
4666         a*(b/c) as (a*b)/c for floats in unsafe_math mode.
4667
4668         * simplify-rtx.c (avoid_constatn_pool_reference): New static function.
4669         (simplify_binary_operation, simplify_unary_operation,
4670          simplify_relational_operation): Use it.
4671
4672         * combine.c (combine_simplify_rtx): Don't do associative law
4673         on divisions; allow associative law on floats.
4674
4675 2001-07-17  H.J. Lu <hjl@gnu.org>
4676             Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4677
4678         * c-pragma.h (HANDLE_PRAGMA_WEAK): Define iff ASM_WEAKEN_LABEL and
4679         ASM_OUTPUT_WEAK_ALIAS are defined.
4680         * defaults.h (ASM_OUTPUT_WEAK_ALIAS): Define if possible.
4681         * config/mips/iris6.h (ASM_OUTPUT_WEAK_ALIAS, ASM_WEAKEN_LABEL):
4682         Moved ...
4683         * config/mips/iris5.h: ... here.
4684         (HANDLE_SYSV_PRAGMA): Defined as 1.
4685         * varasm.c (weak_finish): Use ASM_OUTPUT_WEAK_ALIAS.
4686         * doc/tm.texi (ASM_OUTPUT_WEAK_ALIAS): Support the undefined weak
4687         symbol.
4688
4689 2001-07-17  Joseph S. Myers  <jsm28@cam.ac.uk>
4690
4691         * c-parse.in (all_prefix_attributes): New variable.
4692         (PUSH_DECLSPEC_STACK, POP_DECLSPEC_STACK): New macros.
4693         (maybe_resetattrs): New production.
4694         (c_parse_init, datadef, fndef, datadecl, setspecs, setattrs, decl,
4695         maybe_type_quals_setattrs, initdecls, notype_initdecls, initdcl,
4696         notype_initdcl, nested_function, notype_nested_function,
4697         component_decl, components, components_notype,
4698         component_declarator, component_notype_declarator,
4699         absdcl_maybe_attribute, parm, firstparm, setspecs_fp, ivar_decl,
4700         ivars, mydecl, myparm): Update.  Avoid prefix attributes just
4701         after a comma being applied to more than one declarator.
4702         * doc/extend.texi (Attribute Syntax): Update.  Remove
4703         documentation of bugs that are no longer present.
4704
4705 2001-07-13  Eric Christopher  <echristo@redhat.com>
4706
4707         * config/mips/mips.h: Change TUNE_MIPS* options to use
4708         mips_tune.
4709         (EXTRA_SPECS): Add cc1_cpu_spec.
4710         * config/mips/mips.md (muldf3): Fix typo.
4711
4712 2001-07-16  Richard Henderson  <rth@redhat.com>
4713
4714         * config/m68k/m68k.c: Include expr.h and reload.h.
4715         (print_operand_address) [16 bit int]: Cast INTVAL to int for %d.
4716         [general int]: Use HOST_WIDE_INT_PRINT_DEC.
4717
4718 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
4719             Richard Henderson  <rth@redhat.com>
4720
4721         * cse.c (set_live_p): Take INSN argument for cc0; update callers.
4722         (insn_live_p): Fix fall off end of function.
4723         (dead_libcall_p): Remove COUNTS argument; update callers.
4724         (delete_trivially_dead_insns): Remove unused variables.
4725
4726 2001-07-17  Andreas Jaeger  <aj@suse.de>
4727
4728         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix output format for
4729         x86-64 pic support.
4730
4731         * lcm.c (optimize_mode_switching): Avoid warning for unused
4732         variable if !NORMAL_MODE.
4733
4734         * flow.c (try_crossjump_to_edge): Remove unused variable.
4735
4736 2001-07-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4737
4738         * inclhack.def (ultrix_atexit_param): New hack to fix ultrix 4.3
4739         atexit declaration in stdlib.h.
4740
4741 2001-07-16  Richard Begg  <Richard.Begg@colesmyer.com.au>
4742
4743         * fixinc/inclhack.def(hpux_vsnprintf): brokenness in stdio.h
4744
4745 Mon Jul 16 22:48:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
4746
4747         * basic-block.h (CLEANUP_PRE_SIBCALL): New constant.
4748         * except.c (finish_eh_generation): Update call of cleanup_cfg;
4749         do rebuild_jump_labels instead of jump_optimize
4750         * sibcall.c (optimize_sibling_and_tail_recursive_call): Likewise.
4751         * toplev.c (rest_of_compulation): Likewise for -Wreturn_type.
4752         * flow.c (try_optimize_cfg): Remove unneeded code_labels.
4753
4754         * flow.c: Include timevar.h
4755         (find_basic_block): Push/pop timevar;
4756         (cleanup_cfg): Likewise.
4757         * timevar.def (TV_CFG, TV_CLEANUP_CFG): New.
4758         * Makefile: Add dependencies on timevar.h
4759
4760         * integrate.c (save_for_inline): Kill all BASIC_BLOCK notes.
4761         (copy_insn_list): Avoid killing of BASIC_BLOCK notes.
4762
4763         * rtl.h (delete_trivially_dead_insns): Add new parameter.
4764         * toplev.c (rest_of_compilation): Update calls.
4765         * cse.c (set_live_p, insn_live_p, dead_libcall_p): Break out from ...
4766         (delete_trivially_dead_insns): ... here; accept new argument
4767         preserve_basic_blocks; preserve basic blocks if set.
4768
4769         * reg-stack.c (stack_regs_mentioned): Return 0 if
4770         stack_regs_mentioned_data is not initialized.
4771         (reg_to_stack): Make stack_regs_mentioned survive after the
4772         reg-stack is completted; do not call cleanup_cfg.
4773         * toplev.c (rest_of_compilation): Do cleanup_cfg before bb-reorder;
4774         make cleanup_cfg after bb-reorder to output to debug file.
4775
4776 2001-07-16  Richard Henderson  <rth@redhat.com>
4777
4778         * regclass.c (init_reg_sets): Use only 32 bits per initializer
4779         from int_reg_class_contents.
4780
4781 2001-07-16  Richard Henderson  <rth@redhat.com>
4782
4783         * hard-reg-set.h (regs_invalidated_by_call): Declare.
4784         * regclass.c (regs_invalidated_by_call): Move from cse.c.
4785         (init_reg_sets_1): Move initialization from cse_main.
4786         * cse.c (regs_invalidated_by_call): Move to regclass.c.
4787         (cse_main): Move its initialization also.
4788         * df.c (df_insn_refs_record): Use regs_invalidated_by_call.
4789         * flow.c (propagate_one_insn): Likewise.
4790         * gcse.c (compute_hash_table): Likewise.
4791         (compute_kill_rd, compute_store_table): Likewise.
4792         * sched-deps.c (sched_analyze_1): Likewise.
4793
4794 Mon Jul 16 18:07:07 2001  J"orn Rennecke <amylaar@redhat.com>
4795
4796         * gcse.c (pre_insert_copy_insn): Use gen_move_insn instead of
4797         gen_rtx_SET.
4798
4799 2001-07-16  Steve Ellcey <sje@cup.hp.com>
4800
4801         * dominance.c (calc_dfs_tree_nonrec): Reverse order of tests
4802         in if statement so we don't access undefined memory.
4803
4804 2001-07-16  Daniel Berlin  <dan@cgsoftware.com>
4805
4806         * gcse.c: Update comment at top.
4807         Update comment on mem handling.
4808         mem_last_set, mem_first_set, mem_set_in_block: gone.
4809         Declaration of reg_set_info: gone.
4810         (oprs_unchanged_p): Don't use mem_*set_* anymore. They are
4811         pointless with load_killed_in_block_p (they are *more*
4812         conservative then it, not less, and less accurate).
4813         (oprs_not_set_p): Ditto.
4814         (alloc_gcse_mem): Don't allocate mem_set_in_block
4815         (free_gcse_mem): Don't free it, either.
4816         (record_last_mem_set_info): Update comment in front, remove
4817         mem_*set_* stuff. Note the reason we don't handle stores directly
4818         here.
4819         (compute_hash_table): Update comments to reflect reality. Remove
4820         mem_*set_* references.
4821         (reset_opr_set_tables): Remove mem_*set_* references.
4822         (mark_call): Ditto.
4823         (mark_set): Ditto.  Also remove double sets of bitmaps for REG's.
4824         (mark_clobber): Ditto (on both parts, we double set here too).
4825         (expr_killed_p): Remove mem_set_in_block test.
4826         (compute_transp): Remove mem_set_in_block test.
4827
4828         * ssa-ccp.c: (optimize_unexecutable_edges): Add note about removal
4829         of edge, and removal of phi alternative to dump file.
4830         (ssa_ccp_substitute_constants): Add note about register now being
4831         constant, and which uses were replaced in what insns to dump file.
4832
4833 2001-07-16  Andreas Jaeger  <aj@suse.de>
4834
4835         * gcov.c (output_data): Use HOST_WIDEST_INT_PRINT_DEC to output
4836         variables of type HOST_WIDEST_INT.
4837
4838         * libgcc2.c (__bb_exit_func): Handle gcov_type as long long.
4839         (__bb_exit_func): Correct type of count_max to avoid overflow.
4840         (num_digits): Handle long long argument.
4841
4842         * combine.c (gen_lowpart_for_combine): Remove unused variable.
4843
4844 2001-07-16  Neil Booth  <neil@cat.daikokuya.demon.co.uk>
4845
4846         * output.h (sdb_begin_function_line): Restore as an extern
4847         variable.
4848         * sdbout.c (sdb_begin_function_line): Make extern.
4849
4850 2001-07-15  Richard Henderson  <rth@redhat.com>
4851
4852         * machmode.def (Pmode): Redefine if GENERATOR_FILE.
4853         * genrecog.c (maybe_both_true_mode): New.
4854         (maybe_both_true_2): Use it.
4855         (write_switch): Don't put Pmode in a switch.
4856         * rtl.c (mode arrays): Don't explicitly size them.
4857
4858 Sun Jul 15 14:07:36 CEST 2001  Jan Hubicka  <jh@suse.cz>
4859
4860         * toplev.c (rest_of_compilation): Fix register_life_up_to_date
4861         handling; move unconditional splitting before mode switching.
4862
4863         * i386.md (type): Add fistp type.
4864         (i387, length_attr, scheduling definitions): Handle this type.
4865         (fix_trunc?f?i2): Revamp to use mode switching.
4866         (fix_trunct?f?i_nonmemory, fix_trunc?f?i_memory): New patterns.
4867         * i386.h (fp_cw_mode): New enum
4868         (OPTIMIZE_MODE_SWITCHING, NUM_MODES_FOR_MODE_SWITCHING, MODE_NEEDED,
4869         MODE_PRIORITY_TO_MODE, ENUM_MODE_SET): New macros.
4870
4871 Sun Jul 15 12:53:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
4872
4873         * Makefile.in (integrate.o): Add debug.h.
4874         * integrate.c (debug.h): Add.
4875         (output_inline_function): Save, reset, and restore debug_hooks.
4876
4877 2001-07-15  Richard Henderson  <rth@redhat.com>
4878
4879         * config/alpha/alpha.c (alpha_emit_xfloating_compare): Use CCmode
4880         instead of COMPARE for the EQUIV expression.
4881
4882 2001-07-15  Richard Henderson  <rth@redhat.com>
4883
4884         * flow.c (redirect_edge_and_branch_force): Initialize
4885         global_live_at_start and global_live_at_end.
4886         (allocate_bb_life_data): Export.
4887         * basic-block.h (allocate_bb_life_data): Declare.
4888         * toplev.c (rest_of_compilation): Call it.
4889
4890 2001-07-15  Richard Henderson  <rth@redhat.com>
4891
4892         * config/alpha/alpha.c (alpha_tablejump_addr_vec): New.
4893         (alpha_tablejump_best_label): New.
4894         * config/alpha/alpha-protos.h: Declare them.
4895         * config/alpha/alpha.md: Use braced strings for code blocks.
4896         (tablejump_osf): Break out add with r29.
4897         (tablejump_osf_internal): Remove.
4898         (tablejump_osf_nt_internal): Rename from tablejump_nt_internal,
4899         use alpha_tablejump_addr_vec and alpha_tablejump_best_label.
4900
4901 Sun Jul 15 00:53:35 CEST 2001  Jan Hubicka  <jh@suse.cz>
4902
4903         * loop.c (scan_loop): Add USEs inside PARALLELs into dependencies
4904         of the movable.
4905
4906         * toplev.c (rest_of_compilation): Allow new pseudoes for mode switching.
4907
4908         * i386-protos.h (ix86_split_fp_branch): Update prototype.
4909         (ix86_fp_jump_nontrivial_p): New.
4910         * i386.md (fp_jcc_?): Update call of split_fp_branch;
4911         use ix86_fp_jump_nontrivial_p.
4912         * i386.c (ix86_fp_jump_nontrivial_p): New.
4913         (ix86_split_fp_branch): Accept code instead of rtx.
4914         (ix86_expand_compare): Expand comparison early in case
4915         doing so is resonably cheap.
4916
4917 2001-07-15  Nick Clifton  <nickc@cambridge.redhat.com>
4918
4919         * config/rs6000/sysv4.h (CPP_ENDIAN_BIG_SPEC): Assert 'endian'
4920         not 'machine'.
4921         (CPP_ENDIAN_LITTLE_SPEC): Assert 'endian' not 'machine'.
4922         (CPP_ENDIAN_SOLARIS_SPEC): Assert 'endian' not 'machine'.
4923
4924 2001-07-15  Neil Booth  <neil@daikokuya.demon.co.uk>
4925
4926         * dbxout.c (dbxout_source_line): Make static, update prototype.
4927         (dbx_debug_hooks, xcoff_debug_hooks): Add new hooks.
4928         (dbxout_init, dbxout_finish, dbxout_source_line,
4929         dbxout_begin_block, dbxout_end_block): Update for new prototypes.
4930         * dbxout.h (dbxout_source_line): Delete.
4931         * debug.c (debug_nothing_file, debug_nothing_file_int,
4932         debug_nothing_file_charstar_rtx): New.
4933         (do_nothing_debug_hooks): Update.
4934         (debug_nothing_void, debug_nothing_charstar_rtx,
4935         dwarf2out_end_epilogue): New.
4936         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
4937         * debug.h (struct rtx_def): Declare.
4938         (gcc_debug_hooks): New hooks source_line, end_epilogue
4939         and end_function.
4940         (debug_nothing_void, debug_nothing_charstar_rtx,
4941         dwarf2out_end_epilogue): New.
4942         (debug_nothing_file_charstar, debug_nothing_file_int_int): Rename.
4943         * dwarf2out.c (dwarf2out_source_line): Make static, update prototype.
4944         (dwarf2_debug_hooks): Update.
4945         (dwarf2out_init, dwarf2out_finish, dwarf2out_source_line,
4946         dwarf2out_begin_block, dwarf2out_end_block): Update for new prototypes.
4947         * dwarf2out.h (dwarf2out_source_line): Remove.
4948         * dwarfout.c (dwarfout_end_epilogue, dwarfout_end_function):
4949         Make static, update prototype.
4950         (dwarfout_init, dwarfout_finish, dwarfout_source_line,
4951         dwarfout_begin_block, dwarfout_end_block): Update for new prototypes.
4952         (dwarf_debug_hooks): Update.
4953         * dwarfout.h (dwarfout_end_epilogue, dwarfout_source_line,
4954         dwarfout_end_function): Remove.
4955         * final.c (profile_function): Use debug hooks for ending functions
4956         and epilogues.
4957         (output_source_line, final_end_function): Update prototype,
4958         use debug hooks.
4959         (final_start_function, final_scan_insn): Update.
4960         * output.h (sdb_begin_function_line): Remove.
4961         (final_end_function): Update prototype.
4962         * sdbout.c (sdb_begin_function_line): Make static.
4963         (PUT_SDB_EPILOGUE_END): Move to sdbout_end_epilogue.
4964         (sdbout_source_line): New.
4965         (sdbout_end_epilogue, sdbout_end_function): Make static, update
4966         prototypes.
4967         (sdb_debug_hooks): Update.
4968         (sdbout_init, sdbout_source_line,
4969         sdbout_begin_block, sdbout_end_block): Update for new prototypes.
4970         * sdbout.h (sdbout_end_epilogue, sdbout_end_function): Remove.
4971         * toplev.c (compile_file, rest_of_compilation): Update.
4972         * tree.h (dwarf2out_end_epilogue): Move to debug.h.
4973         * xcoffout.c (xcoffout_source_line, xcoffout_begin_block,
4974         xcoffout_end_block, xcoffout_end_epilogue, xcoffout_end_function):
4975         Update for prototype changes.
4976         * xcoffout.h (xcoffout_source_line, xcoffout_begin_block,
4977         xcoffout_end_block, xcoffout_end_epilogue): Update prototypes.
4978
4979 2001-07-15  Richard Henderson  <rth@redhat.com>
4980
4981         * config/alpha/alpha.h (TARGET_ABI_OSF): New.
4982         (TARGET_ABI_WINDOWS_NT, TARGET_ABI_OPEN_VMS): Rename; update users.
4983         * config/alpha/alpha-protos.h: Update TARGET_ABI_* users.
4984         * config/alpha/alpha.c: Likewise.
4985         * config/alpha/alpha.md: Likewise.
4986         * config/alpha/alpha32.h: Likewise.
4987         * config/alpha/vms.h: Likewise.
4988         (OPEN_VMS): Remove.
4989
4990 2001-07-14  Richard Henderson  <rth@redhat.com>
4991
4992         * config/alpha/alpha.md: Use define_constants for unspec values.
4993         Substitute throughout.
4994
4995 2001-07-14  Tim Josling  <tej@melbpc.org.au>
4996
4997         * tree.def (EXPON_EXPR) remove. Never supported anyway.
4998
4999 2001-07-14  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5000
5001         * pa.md: Remove unused constraints from define_split's.
5002
5003 2001-04-14  Richard Henderson  <rth@redhat.com>
5004
5005         * ifcvt.c (find_cond_trap): Test for exit block.
5006
5007 Sun Jul 15 00:50:20 CEST 2001  Jan Hubicka  <jh@suse.cz>
5008
5009         Re-install recently reverted patch.
5010         * emit-rtl.c (try_split): Update mark_jump_label call.
5011         * flow.c (find_sub_basic_blocks): Likewise.
5012         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
5013         jump_back_p): Kill.
5014         (mark_all_labels): Kill second parameter.
5015         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
5016         (rebuild_jump_labels, jump_optimize_minimal): Update call
5017         of jump_optimize_1.
5018         (jump_optimize_1): Kill crossjumping code.
5019         (mark_jump_label): Kill cross_jump parameter.
5020         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
5021         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
5022         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
5023          splitting.
5024         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
5025         DFI_bpro.
5026         (dump_file_info): Likewise.
5027         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
5028         reorganize passes to do reg-stack first, bb-reorder second.
5029         * invoke.texi (-d letters doc): Remove the jump2 pass.
5030
5031 2001-07-14  Richard Henderson  <rth@redhat.com>
5032
5033         * ifcvt.c (find_cond_trap): New.
5034         (find_if_header): Call it.
5035         (merge_if_block): Relax existing jump sanity check.
5036         * jump.c (jump_optimize_1): Remove conditional trap handling.
5037
5038 2001-07-14  Alan Modra  <amodra@bigpond.net.au>
5039
5040         * config/pa/pa.c (emit_hpdiv_const): Return reg is r2 for 64-bit
5041         millicode.
5042         (insn_refs_are_delayed): Correct comment.
5043         * config/pa/pa.h (INSN_REFERENCES_ARE_DELAYED): Likewise.
5044         * config/pa/pa.md (mulsi3): If TARGET_64BIT, clobber r2
5045         instead of r31.  Make associated insn !TARGET_64BIT, and
5046         provide an additional 64-bit insn that clobbers r2.
5047         (divsi3): Likewise.
5048         (udivsi3): Likewise.
5049         (modsi3): Likewise.
5050         (umodsi3): Likewise.
5051
5052 Sat Jul 14 02:58:38 CEST 2001  Jan Hubicka  <jh@suse.cz>
5053
5054         * bb-reorder.c (skip_insn_after_block): Get past the line number notes.
5055
5056         * flow.c (redirect_edge_and_branch_force, split_edge,
5057         try_crossjump_to_edge): Use set_block_for_new_insns.
5058         * bb-reorder.c (emit_jump_to_block_after): Call set_block_for_new_insns.
5059
5060 2001-07-13  H.J. Lu  (hjl@gnu.org)
5061
5062         * config/elfos.h (UNIQUE_SECTION): Enable .bss section with
5063         the correct patch.
5064
5065 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
5066
5067         Revert H.J. Lu's UNIQUE_SECTION patch of 2001-07-13.
5068
5069 2001-07-13  Joseph S. Myers  <jsm28@cam.ac.uk>
5070
5071         * c-common.c (decl_attributes): Take a pointer to the node to
5072         which attributes are to be attached, and a flags argument.
5073         * c-common.h (enum attribute_flags): New.
5074         (decl_attributes): Update prototype.
5075         * c-decl.c (start_decl, push_parm_decl, finish_struct,
5076         finish_enum, start_function): Update calls to decl_attributes.
5077         * c-parse.in (component_declarator, component_notype_declarator,
5078         label): Update calls to decl_attributes.
5079
5080 Fri Jul 13 23:04:00 2001  Denis Chertykov  <denisc@overta.ru>
5081
5082         * config/avr/avr.md (strlenhi): PARALLEL keyword removed.
5083         * config/avr/avr.c (legitimate_address_p): Return value changed
5084         from letter to register classes. For better debugging.
5085
5086 2001-07-13  Kazu Hirata  <kazu@hxi.com>
5087
5088         * jump.c (reversed_comparison_code_parts): Fix comment typos.
5089
5090 2001-07-13  H.J. Lu  (hjl@gnu.org)
5091
5092         * config/elfos.h (UNIQUE_SECTION): Enable .bss section.
5093
5094 2001-07-13  Marc Espie  <espie@cvs.openbsd.org>
5095
5096         * config.gcc (*-*-openbsd*):  Add fragment to compile libgcc
5097         correctly for shared configurations.
5098         * config/t-libgcc-pic:  New.
5099         * config/{i386,m68k,sparc}/t-openbsd:  New.
5100         * config/openbsd.h:  Include cpu_spec in cpp_spec where needed.
5101         Support -shared.  Support debugging libraries with -g.
5102         * config/i386/openbsd.h:  Correct ASM_COMMENT_START.  Ensure dwarf2
5103         frame information does not emit pointer diffs.
5104         * config/sparc/openbsd.h:  Ensure dwarf2 frame information does not
5105         emit pointer diffs.
5106
5107 2001-07-13  Geoffrey Keating  <geoffk@redhat.com>
5108
5109         Revert Jan Hubicka's patch of Fri Jul 13 14:46:21 CEST 2001.
5110
5111 2001-07-13  David Edelsohn  <edelsohn@gnu.org>
5112
5113         * combine.c (try_combine): Ensure const_int pow2 is positive.
5114
5115 2001-07-13  Hartmut Penner  <hpenner@de.ibm.com>
5116
5117         * config.gcc: Add configuration for s/390.
5118         * config/s390/s390.c: New. Subroutines for code generation.
5119         * config/s390/s390.h: New. Definitions for s/390.
5120         * config/s390/s390-protos.h: New. Prototypes.
5121         * config/s390/linux.h: New. Definitions for linux for s/390.
5122         * config/s390/linux64.h: New. Definitions for linux for zSeries.
5123         * config/s390/t-linux: New. Makefile fragment.
5124         * config/s390/s390.md: New. Machine description for s/390 and zSeries.
5125         * config/s390/fixdfdi.h: New. Fix L_fix*di.
5126
5127 Fri Jul 13 14:46:21 CEST 2001  Jan Hubicka  <jh@suse.cz>
5128
5129         * emit-rtl.c (try_split): Update mark_jump_label call.
5130         * flow.c (find_sub_basic_blocks): Likewise.
5131         * jump.c (cross_jump_death_matters, find_cross_jump, do_cross_jump,
5132         jump_back_p): Kill.
5133         (mark_all_labels): Kill second parameter.
5134         (jump_optimize, jump_optimize_1): Kill cross_jump parameter.
5135         (rebuild_jump_labels, jump_optimize_minimal): Update call
5136         of jump_optimize_1.
5137         (jump_optimize_1): Kill crossjumping code.
5138         (mark_jump_label): Kill cross_jump parameter.
5139         * rtl.h (mark_jump_label, jump_optimize): Update prototypes.
5140         (JUMP_CROSS_JUMP, JUMP_CROSS_JUMP_DEATH_MATTERS): Kill.
5141         * reg-stack.c (reg_to_stack): Do not rebuild if not needed; do
5142          splitting.
5143         * toplev.c (enum dump_file_index): Kill DFI_jump2; put DFI_stack before
5144         DFI_bpro.
5145         (rest_of_compilation): Update calls to jump_optimize; kill jump2 pass;
5146         reorganize passes to do reg-stack first, bb-reorder second.
5147         * invoke.texi (-d letters doc): Remove the jump2 pass.
5148
5149 2001-07-12  Steve Ellcey <sje@cup.hp.com>
5150
5151         * toplev.c (compile_file): Put call of ASM_FILE_START inside ifdef.
5152
5153 Thu Jul 12 17:57:16 CEST 2001  Jan Hubicka  <jh@suse.cz>
5154
5155         * flow.c (try_optimize_cfg): Delete whole chain of trivially dead
5156         basic blocks.
5157         (verify_flow_info): Make diagnostics prettier.
5158
5159 Thu Jul 12 16:48:54 CEST 2001  Jan Hubicka  <jh@suse.cz>
5160
5161         * flow.c (find_basic_blocks_1): Do not emit NOP after call.
5162
5163         * flow.c (outgoing_edges_match): Return early if condition reversal
5164         failed.
5165
5166 2001-07-06  Richard Sandiford  <rsandifo@redhat.com>
5167
5168         * config/mips/mips.c (print_operand): Extend '%D' to memory operands.
5169         (mips_move_2words): When splitting a move into two instructions,
5170         prefix the second address operand with '%D'.
5171
5172 2001-07-12  Neil Booth  <neil@daikokuya.demon.co.uk>
5173
5174         * Makefile.in (final.o): Depend on debug.h.
5175         * dbxout.c (dbxout_begin_block, dbxout_end_block): New.
5176         (dbx_debug_hooks): Add new hooks.
5177         (xcoff_debug_hooks): New.
5178         * debug.c (debug_nothing_file_int_int): New.
5179         (do_nothing_debug_hooks): Update.
5180         * debug.h (gcc_debug_hooks): New hooks begin_block and end_block.
5181         (debug_nothing_file_int_int): New.
5182         * dwarf2out.c (dwarf2out_begin_block, dwarf2out_end_block): Make
5183         static, update prototype.
5184         (dwarf2_debug_hooks): Update.
5185         * dwarf2out.h (dwarf2out_begin_block, dwarf2out_end_block): Remove.
5186         * dwarfout.c (dwarfout_begin_block, dwarfout_end_block): Make
5187         static, update prototype.
5188         (dwarf_debug_hooks): Update.
5189         * dwarfout.h (dwarfout_begin_block, dwarfout_end_block): Remove.
5190         * final.c: Include debug.h.
5191         (final_scan_insn): Use debug hooks when beginning and ending blocks.
5192         * sdbout.c (sdbout_begin_block, sdbout_end_block): Make
5193         static, update prototype.
5194         (sdb_debug_hooks): Update.
5195         * sdbout.h (sdbout_begin_block, sdbout_end_block): Remove.
5196         * toplev.c: Distinguish between xcoff and dbx.
5197
5198         * f/lex.c (ffelex_file_pop_, ffelex_file_push_, ffelex_hash_):
5199         Call all debug hooks, not just dwarf ones.
5200
5201 2001-07-11  Timothy Wall  <twall@redhat.com>
5202
5203         * config.gcc: Add configuration for AIX5/IA64.
5204         * config/ia64/aix.h: New.  AIX5/IA64-specific configuration.
5205         * config/ia64/crt[in].asm: New.  Generic static ctor/dtor
5206         support prefix/suffix code.
5207         * config/ia64/t-aix: New.  Makefile fragment.
5208         * config/ia64/unwind-aix.c: New.  Unwind table entry lookup.
5209
5210 2001-07-11  Kazu Hirata  <kazu@hxi.com>
5211
5212         * recog.c (validate_change): Fix a comment typo.
5213
5214 2001-07-11  Neil Booth  <neil@daikokuya.demon.co.uk>
5215
5216         * Makefile.in (c-lex.o): Wrap long lines.  Depend on debug.h.
5217         * c-lex.c (cb_file_change, cb_define, cb_undef): Use debug
5218         hooks directly.
5219         * dbxout.c (dbx_debug_hooks): Add new hooks.
5220         (dbxout_start_new_source_file): Rename dbxout_start_source_file,
5221         make static.
5222         (dbxout_resume_previous_source_file): Rename dbxout_end_source_file,
5223         make static.
5224         * dbxout.h (dbxout_start_new_source_file,
5225         dbxout_resume_previous_source_file): Delete.
5226         * debug.c (do_nothing_debug_hooks): Add new hooks.
5227         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
5228         (debug_nothing_int_charstar, debug_nothing_int): New.
5229         * debug.h (gcc_debug_hooks): New hooks define, undef,
5230         start_source_file and end_source_file.
5231         (debug_nothing_init_finish): Rename debug_nothing_file_charstar.
5232         (debug_nothing_int_charstar, debug_nothing_int): New.
5233         * dwarf2out.c (dwarf2_debug_hooks): Add new hooks.  Move into
5234         the conditionally compiled section.
5235         (dwarf2out_start_source_file, dwarf2out_end_source_file,
5236         dwarf2out_define, dwarf2out_undef): Make static.
5237         * dwarf2out.h (dwarf2out_start_source_file, dwarf2out_end_source_file,
5238         dwarf2out_define, dwarf2out_undef): Remove.
5239         * dwarfout.c (dwarf_debug_hooks): Add new hooks.
5240         (dwarfout_start_source_file, dwarfout_end_source_file,
5241         dwarfout_define, dwarfout_undef): Make static.
5242         (dwarfout_start_source_file_check,
5243         dwarfout_end_source_file_check): New.
5244         (dwarfout_define, dwarfout_finish): Update.
5245         * dwarfout.h (dwarfout_start_new_source_file,
5246         dwarfout_resume_previous_source_file, dwarfout_define,
5247         dwarfout_undef): Remove.
5248         * sdbout.c (sdb_debug_hooks): Add new hooks.
5249         (sdbout_start_new_source_file): Rename sdbout_start_source_file,
5250         make static.
5251         (sdbout_resume_previous_source_file): Rename sdbout_end_source_file,
5252         make static, take an arg.
5253         * sdbout.h (sdbout_start_new_source_file,
5254         sdbout_resume_previous_source_file): Delete.
5255         * toplev.c (debug_start_source_file, debug_end_source_file,
5256         debug_define, debug_undef): Delete.
5257         * toplev.h (debug_start_source_file, debug_end_source_file,
5258         debug_define, debug_undef): Delete.
5259
5260         * java/jcf-parse.c: Include debug.h.
5261         (parse_class_file): Update to use debug hooks directly.
5262         * java/Make-lang.in (jcf-parse.o): Depend on debug.h.
5263
5264 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5265
5266         * alias.c (set_mem_alias_set): New function.
5267         * rtl.h (set_mem_alias_set): Declare it.
5268         * builtins.c (expand_builtin_return_addr): Call it instead of
5269         using MEM_ALIAS_SET accessor.
5270         (expand_builtin_setjmp_setup, expand_builtin_longjmp): Likewise.
5271         (get_memory_rtx, expand_builtin_va_arg): Likewise.
5272         (expand_builtin_va_copy):Likewise.
5273         * caller-save.c (setup_save_areas): Likewise.
5274         * calls.c (compute_argument_addresses): Likewise.
5275         * explow.c (set_mem_attributes): Likewise.
5276         * expr.c (emit_single_push_insn, emit_push_insn): Likewise.
5277         (expand_assignment, store_constructor_field, store_field): Likewise.
5278         (expand_expr_unaligned): Likewise.
5279         * function.c (assign_stack_temp_for_type): Likewise.
5280         (put_reg_into_stack, gen_mem_addressof): Likewise.
5281         * ifcvt.c (noce_try_cmove_arith): Likewise.
5282         * reload1.c (reload, alter_reg): Likewise.
5283         * config/alpha/alpha.c (get_aligned_mem): Likewise.
5284         (alpha_set_memflags_1, alpha_expand_unaligned_load): Likewise.
5285         (alpha_expand_unaligned_store): Likewise
5286         (alpha_expand_unaligned_load_words): Likewise.
5287         (alpha_expand_unaligned_store_words): Likewise.
5288         (alpha_expand_block_clear, alpha_expand_prologue): Likewise.
5289         (alpha_expand_epilogue): Likewise.
5290         * config/arc/arc.c (arc_setup_incoming_varargs): Likewise.
5291         * config/clipper/clipper.c (clipper_builtin_saveregs): Likewise.
5292         * config/i386/i386.c (legitimize_pic_address): Likewise.
5293         * config/i960/i960.c (setup_incoming_varargs): Likewise.
5294         * config/ia64/ia64.c (spill_restore_mem): Likewise.
5295         * config/m32r/m32r.c (m32r_setup_incoming_varargs): Likewise.
5296         * config/m8k/m88k.c (m88k_builtin_saveregs): Likewise.
5297         * config/mips/mips.c (mips_va_arg): Likewise.
5298         * config/mn10300/mn10300.c (mn10300_builtin_saveregs): Likewise.
5299         * config/pa/pa.c (hppa_builtin_saveregs): Likewise.
5300         * config/rs6000/rs6000.c (rs6000_emit_move): Likewise.
5301         (setup_incoming_varargs, rs6000_va_arg): Likewise.
5302         (rs6000_emit_eh_toc_restore, rs6000_emit_prologue): Likewise.
5303         (rs6000_emit_epilogue): Likewise.
5304         * config/sh/sh.c (sh_builtin_saveregs): Likewise.
5305         * config/sparc/sparc.c (sparc_va_arg): Likewise.
5306         * config/v850/v850.c (v850_va_arg): Likewise.
5307
5308 Wed Jul 11 21:27:25 CEST 2001  Jan Hubicka  <jh@suse.cz>
5309
5310         * flow.c (merge_blocks_move_successor_nojumps): Do not crash
5311         when fallthru edge is present.
5312         (mege_blocks): Handle case where creation of jump insn
5313         is required.
5314
5315         * basic-block.h (CLEANUP_EXPENSIVE, CLEANUP_CROSSJUMP,
5316         CLEANUP_POST_REGSTACK): New constants.
5317         * except.c (finish_eh_generation): Update call of cleanup_cfg,
5318         * jump.c (rtx_renumbered_equal_p): Handle 't' fields.
5319         * output.h (cleanup_cfg): Update prototype.
5320         * reg-stack.c (reg_to_stack): Use cleanup_cfg instead of jump_optimize
5321         * sibcall.c (optimize_sibling_and_tail_recursive_call): Update
5322         cleanup_cfg call; kill missleading comment.
5323         * toplev.c (rest_of_compilation): Update all cleanup_cfg calls.
5324         * flow.c (merge_blocks, try_optimize_cfg, cleanup_cfg): Accept mode
5325         parameter; control optimizations performed using it.
5326         (flow_find_cross_jump, outgoing_edges_match, try_crossjump_to_edge,
5327         try_crossjump_bb): New functions.
5328
5329 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5330
5331         * pa.c (pa_output_function_prologue): Delete prototype.  Make function
5332         extern.
5333         * pa.h (ASM_OUTPUT_MI_THUNK): Rename output_function_prologue to
5334         pa_output_function_prologue.
5335         * pa-protos.h (pa_output_function_prologue): New prototype.
5336
5337 2001-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5338
5339         * stmt.c (emit_case_nodes): Widen high and low instead of new_bound
5340         and low to get correct sign extension in low+high test.
5341
5342 2001-07-11  Janis Johnson <janis@us.ibm.com>
5343
5344         * gcov.c (arcdata): Use gcov_type to fix branch percentage
5345         for large hit count.
5346
5347         * profile.c (branch_prob): Fix .bbg info for computed gotos
5348         and C++ EH code.
5349
5350 2001-07-11  Mark Mitchell  <mark@codesourcery.com>
5351
5352         * stmt.c (parse_output_constraint): New function, split out
5353         from ...
5354         (expand_asm_operands): ... here.  Use parse_output_constraint.
5355         * tree.h (parse_output_constraint): Declare it.
5356
5357 2001-07-11  Richard Henderson  <rth@redhat.com>
5358
5359         * bitmap.c: Comment some functions; fiddle whitespace.
5360         (bitmap_free): Don't export.
5361         (bitmap_element_allocate): Use memset.
5362         * bitmap.h (bitmap_free): Don't declare.
5363
5364 2001-07-11  Daniel Berlin  <dan@cgsoftware.com>
5365
5366         * gcse.c, lcm.c, sched-deps.c:
5367         s/free on sbitmap vectors/sbitmap_vector_free on sbitmap vectors/g
5368
5369         * flow.c (flow_loops_find): Free dom if we found no loops, since
5370         we aren't going to save it.
5371
5372         * lcm.c (pre_edge_rev_lcm): Free st_antin, st_antout when we are
5373         done.
5374
5375 Wed Jul 11 09:00:48 2001  Jeffrey A Law  (law@cygnus.com)
5376
5377         * ssa-ccp.c (ssa_fast_dce): Free worklist when completed.
5378
5379 Wed Jul 11 10:07:18 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5380
5381         * dwarf2out.c (dwarf2out_init, dwarf2out_finish): Add dummy version
5382         #ifndef DWARF2_DEBUGGING_INFO.
5383
5384 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
5385
5386         * simplify-rtx.c (simplify_gen_subreg): Return null for QUEUED rtxes.
5387
5388 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
5389
5390         * config/mips/mips.c (gen_int_relational): Tell the caller not to
5391         reverse a branch if a NE comparison is implemented with GTU.
5392
5393 2001-07-11  Richard Sandiford  <rsandifo@redhat.com>
5394             H.J. Lu  <hjl@gnu.org>
5395
5396         * mips.md (call_internal1): Use CONSTANT_ADDRESS_P to check for
5397         constant addresses.
5398         (call_internal2): Likewise.
5399         (call_value_internal1): Likewise.
5400         (call_value_internal2): Likewise.
5401         (call_value_multiple_internal1): Likewise.
5402         (call_value_multiple_internal2): Likewise.
5403
5404 2001-07-10  Kazu Hirata  <kazu@hxi.com>
5405
5406         * calls.c (emit_library_call_value_1): Fix a comment typo.
5407         * dwarf2out.c (mem_loc_descriptor): Likewise.
5408         * config/i386/i386.c (ix86_expand_aligntest): Likewise.
5409
5410 2001-07-11  David Billinghurst <David.Billinghurst@riotinto.com>
5411
5412         * simplify-rtx.c (simplify_subreg): Fix typo in comment
5413
5414 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5415
5416         * recog.c (offsettable_address_p): Handle LO_SUM case.
5417         * config/mips/mips.c (double_memory_operand): Use adjust_address_nv
5418         instead of plus_constant.
5419
5420 2001-07-10  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5421
5422         * reload1.c (merge_assigned_reloads): After a RELOAD_OTHER merge,
5423         fix setting of the reloads of that reload to RELOAD_FOR_OTHER_ADDRESS.
5424
5425 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5426
5427         * config/rs6000/rs6000.c (print_operand, case 'L', 'Y', 'Z'): Use
5428         adjust_address_nv instead of plus_constant.
5429
5430 2001-07-10  Neil Booth  <neil@daikokuya.demon.co.uk>
5431
5432         * Makefile.in (toplev.o, sdbout.o, dbxout.o, dwarfout.o,
5433         dwarf2out.o): Depend on debug.h, wrap long lines.
5434         * dbxout.c: Include debug.h.
5435         (dbx_debug_hooks): New.
5436         (dbxout_init): Make static, take just 2 args.
5437         (dbxout_finish): Make static.
5438         * dbxout.h (dbxout_init, dbxout_finish): Delete.
5439         * debug.c: New file.
5440         * debug.h: New file.
5441         * dwarf2out.c: Include debug.h.
5442         (dwarf2_debug_hooks): New.
5443         (dwarf2out_init): Make static.
5444         (dwarf2out_finish): Make static, take 2 args.
5445         * dwarf2out.h (dwarf2out_init, dwarf2out_finish): Delete.
5446         * dwarfout.c: Include debug.h.
5447         (dwarf_debug_hooks): New.
5448         (dwarfout_init): Make static.
5449         (dwarfout_finish): Make static, take 2 args.
5450         * dwarfout.h (dwarfout_init, dwarfout_finish): Delete.
5451         * sdbout.c: Include debug.h.
5452         (sdb_debug_hooks): New.
5453         (sdbout_init): Make static, take 2 args.
5454         * sdbout.h (sdbout_init): Delete.
5455         * toplev.c: Include debug.h.
5456         (debug_hooks): New.
5457         (compile_file): Set deubg_hooks based on command line options.
5458         Use the hooks unconditionally rather than conditional compilation.
5459
5460 Tue Jul 10 09:04:45 2001  Jeffrey A Law  (law@cygnus.com)
5461
5462         * ssa-ccp.c (first_phi_node): Remove.  Replace uses with calls to
5463         first_insn_after_basic_block_note instead.
5464
5465         * df.c (df_bb_refs_unlink): #if 0 out for now.
5466
5467 2001-07-10  David Billinghurst <David.Billinghurst@riotinto.com
5468
5469         * ssa.h: Add prototype for ssa_const_prop
5470         * ssa-ccp.c: Add prototype for ssa_fast_dce and mark_references
5471         (ssa_ccp_substitute_constants): Fix signed vs unsigned comparison
5472         (ssa_fast_dce): Remove unused variable
5473
5474 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
5475
5476         * diagnostic.c (finish_diagnostic): Rename to
5477         diagnostic_finish. Make it take an 'output_buffer *'.  Adjust
5478         calls thourghout.
5479
5480 2001-07-10  Jason Merrill  <jason_merrill@redhat.com>
5481
5482         * dwarf2out.c (dwarf2out_line): Emit -dA comment even when we have
5483         .loc support.
5484
5485         * collect2.c (main): Set COLLECT_NO_DEMANGLE for subprocesses.
5486         (dump_file): Only pad the demangled name with spaces if the
5487         mangled name was padded with spaces.
5488
5489 2001-07-10  Bernd Schmidt  <bernds@redhat.com>
5490
5491         * bb-reorder.c (make_reorder_chain_1): Correct branch/fallthru
5492         edge detection.
5493
5494 Tue Jul 10 07:27:53 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5495
5496         * expr.c (expand_expr, case COMPONENT_REF): Don't force using bitfield
5497         extraction if no direct load if either EXPAND_CONST_ADDRESS or
5498         EXPAND_INITIALIZER.
5499
5500         * emit-rtl.c (adjust_address, adjust_address_nv): Change criteria for
5501         whether can put offset inside LO_SUM to check mode alignment, not size.
5502
5503 2001-07-10  Gabriel Dos Reis  <gdr@merlin.codesourcery.com>
5504
5505         * doc/tm.texi (Misc): Fix thinko.
5506
5507 2001-07-10  Jan van Male  <jan.vanmale@fenk.wau.nl>
5508
5509         * regmove.c (replace_in_call_usage): Fix warnings.
5510         * sched-deps.c (add_dependence): Fix warnings.
5511         * simplify-rtx.c (simplify_subreg): Likewise.
5512         Return NULL_RTX instead of NULL.
5513
5514         * reg-stack.c (emit_swap_insn): Eliminate warnings.
5515         (subst_asm_stack_regs): Likewise.
5516
5517         * combine.c (num_sign_bit_copies): Cast bitwidth to int to avoid
5518         warnings.
5519
5520         * dwarf2out.c (output_call_frame_info): Declare i as int.
5521         (build_abbrev_table): Declare n_alloc as int.
5522         (dwarf2out_finish): Initialize die.
5523         * except.c: Declare sjlj_funcdef_number as unsigned.
5524         (connect_post_landing_pads): Declare j as unsigned.
5525         (convert_to_eh_region_ranges): Initialize call_site.
5526         (output_function_exception_table): Initialize tt_format_size.
5527         * expr.c (move_by_pieces_1): Initialize to1.
5528         (store_constructor): Initialize minelt and maxelt.
5529         * flow.c (mark_regs_live_at_end): Declare i as unsigned.
5530         * function.c (instantiate_decls): Avoid signed/unsigned warning.
5531
5532         * c-decl.c (combine_parm_decls): Unused, remove.
5533         * c-tree.h: Remove prototype for combine_parm_decls.
5534
5535         * reload.c (push_reload): Fix warning.
5536         (regno_clobbered_p): Likewise.
5537         * reload1.c (replace_pseudos_in_call_usage): Likewise.
5538         (reload_combine): Likewise.
5539
5540         * bitmap.c: Rename bitmap_zero to bitmap_zero_bits to fix warnings.
5541         * bitmap.h: Rename bitmap_zero to bitmap_zero_bits to fix
5542         warnings.
5543         * bitmap.c (bitmap_operation): Change user.
5544         * bitmap.h (EXECUTE_IF_AND_COMPL_IN_BITMAP): Likewise.
5545
5546 2001-07-10  Eric Christopher  <echristo@redhat.com>
5547
5548         * config/mips/mips.c (override_options): Fix typo.
5549
5550 2001-07-09  Stan Shebs  <shebs@apple.com>
5551
5552         * target.h (struct gcc_target): New fields init_builtins and
5553         expand_builtin.
5554         * target-def.h (TARGET_INIT_BUILTINS): New macro.
5555         (TARGET_EXPAND_BUILTIN): New macro.
5556         (TARGET_INITIALIZER): Add them.
5557         * builtins.c: Include target.h.
5558         (expand_builtin): Use targetm.expand_builtin.
5559         (default_init_builtins): New function.
5560         (default_expand_builtin): New function.
5561         * expr.h (default_init_builtins): Declare.
5562         (default_expand_builtin): Declare.
5563         * c-common.c (c_common_nodes_and_builtins): Use
5564         targetm.init_builtins.
5565         * defaults.h (MD_INIT_BUILTINS): Remove.
5566         * Makefile.in (builtins.o): Depend on target.h.
5567
5568         * config/arm/arm.c (TARGET_INIT_BUILTINS): Define.
5569         (TARGET_EXPAND_BUILTIN): Define.
5570         * config/arm/arm.h (MD_INIT_BUILTINS): Remove.
5571         (MD_EXPAND_BUILTIN): Remove.
5572
5573         * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define.
5574         (TARGET_EXPAND_BUILTIN): Define.
5575         (c4x_init_builtins): Make endlink arg a local.
5576         (c4x_print_operand): Fix typos in adjust_address usages.
5577         * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl.
5578         * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove.
5579         (MD_EXPAND_BUILTIN): Remove.
5580
5581         * config/i386/i386.c (TARGET_INIT_BUILTINS): Define.
5582         (TARGET_EXPAND_BUILTIN): Define.
5583         (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins.
5584         (ix86_init_builtins): Call new function only if TARGET_MMX.
5585         * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare.
5586         * config/i386/i386.h (MD_INIT_BUILTINS): Remove.
5587         (MD_EXPAND_BUILTIN): Remove.
5588
5589         * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define.
5590         (TARGET_EXPAND_BUILTIN): Define.
5591         * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove.
5592         (MD_EXPAND_BUILTIN): Remove.
5593
5594         * doc/tm.texi: Document these changes.
5595
5596 2001-07-09  Diego Novillo  <dnovillo@redhat.com>
5597
5598         * basic-block.h (tree_node): Forward declare if needed.
5599         (struct basic_block_def): Add fields 'head_tree' and 'end_tree'.
5600         (BLOCK_HEAD_TREE): Define.
5601         (BLOCK_END_TREE): Define.
5602         (struct loops): Rename field 'tree' to 'tree_root'.
5603         * flow.c (entry_exit_blocks): Add initializers for 'head_tree' and
5604         'end_tree'.
5605         (flow_loops_tree_build): Rename reference to field 'tree' to
5606         'tree_root'.
5607         (flow_loops_level_compute): Ditto.
5608         * predict.c (estimate_bb_frequencies): Ditto.
5609         * tree.h (struct tree_common): Add field 'aux'.
5610
5611 2001-07-09  Stan Shebs  <shebs@apple.com>
5612
5613         * config/darwin.c (darwin_encode_section_info): Don't mark any
5614         DECL_EXTERNAL node as defined.
5615
5616 2001-07-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5617
5618         * pa.c (pa_init_machine_status, pa_mark_machine_status,
5619         pa_free_machine_status, hppa_init_pic_save): Delete.
5620         (hppa_pic_save_rtx): New.  Use get_hard_reg_initial_val.
5621         (hppa_profile_hook): Use hppa_pic_save_rtx.
5622         * pa.h (struct machine_function, PIC_OFFSET_TABLE_SAVE_RTX,
5623         hppa_init_pic_save): Delete.
5624         (hppa_pic_save_rtx): Declare.
5625         * pa.md (call, call_value, sibcall, sibcall_value,
5626         builtin_setjmp_receiver): Use hppa_pic_save_rtx.
5627
5628 2001-07-09  Kazu Hirata  <kazu@hxi.com>
5629
5630         * config/h8300/t-h8300 (LIB1ASMFUNCS): Add _floatdisf and _fixsfdi.
5631         * config/mn10200/t-mn10200 (LIB1ASMFUNCS): Likewise.
5632
5633 2001-07-09  Andreas Jaeger  <aj@suse.de>
5634
5635         * output.h: Add declaration of final_forward_branch_p.
5636
5637         * config/i386/i386.c (output_fix_trunc): Remove unused variable.
5638
5639         * varray.c: Include errors.h for internal_error and trim_filename
5640         declarations.
5641
5642         * Makefile.in (varray.o): Add errors.h.
5643
5644 2001-07-09  Toon Moene  <toon@moene.indiv.nluug.nl>
5645
5646         * expr.h: Adjust prototypes for have_add2_insn, have_sub2_insn.
5647         * optabs.c (have_add2_insn): Check whether the add insn chosen
5648         really accepts the operands.  (have_sub2_insn): Ditto for sub insn.
5649         * reload1.c (reload_cse_move2add): Adjust calls of have_add2_insn.
5650
5651 Mon Jul  9 13:26:40 2001  Jeffrey A Law  (law@cygnus.com)
5652
5653         * Makefile.in (OBJS): Add ssa-ccp.o
5654         (ssa-ccp.o): Add dependencies.
5655         * toplev.c (DFI_ssa_ccp): New dump file enum.
5656         (dump_file): Add entry for dumping after SSA CCP.
5657         (flag_ssa_ccp): New flag variable.
5658         (f_options): Add -fssa-ccp.
5659         (rest_of_compilation): Run SSA CCP if requested.
5660         * timevar.def (TV_SSA_CCP): New timevar.
5661         * ssa.c (mark_phi_and_copy_regs): Handle deleted PHI nodes.
5662         * doc/gcc.texi (Passes): Add documentation for SSA CCP pass.
5663         Fix minor typo in SSA DCE documentation.
5664         * doc/invoke.texi: Add documentation for new flag -fssa-ccp.
5665         Add documentation for new dump option.  Renumber dump files
5666         appropriately.
5667
5668 Mon Jul  9 21:36:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
5669
5670         * emit-rtl.c (gen_highpart_mode): New.
5671         * rtl.h (gen_highpart_mode): Declare.
5672         * sparc.md (insn splitters): Use gen_highpart_mode, whenever the
5673         operand can be VOIDmode constant.
5674
5675 Mon Jul  9 17:23:10 CEST 2001  Jan Hubicka  <jh@suse.cz>
5676
5677         * flow.c (redirect_edge_and_branch_force): New.
5678         (can_fallthru): Ensure that basic blocks are succeeding.
5679         (try_optimize_cfg): Do not delete basic block if it is the last one.
5680
5681         * flow.c (try_redirect_by_replacing_jump): Do not remove
5682         jumps with side effects, unlink chain on fallthru edge;
5683         set block for new jump instruction; avoid basic block to
5684         over by line number note.
5685
5686         * flow.c (try_simplify_condjump): Verify that the condjump
5687         is not always falling trought.
5688
5689         Re-install patch:
5690         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
5691
5692         * flow.c (forwarder_block_p): Fix for fallthru blocks.
5693         (try_redirect_by_replacing_jump): Update properly the count
5694         and frequency information.
5695
5696 Mon Jul  9 06:41:07 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
5697
5698         * emit-rtl.c (adjust_address, adjust_address_nv): Handle an
5699         address that is a LO_SUM specially.
5700         * explow.c (plus_constant_wide, case LO_SUM): Deleted.
5701
5702         * c-lang.c (start_cdtor): Remove extra parameter from start_function.
5703
5704         * emit-rtl.c (adjust_address_nv, replace_equiv_address_nv): New fcns.
5705         (operand_subword): Use them.
5706         (change_address_1): Renamed from change_address; new arg VALIDATE.
5707         * expr.h: Reflect above changes; change_address now macro.
5708         * alias.c (canon_rtx): Use replace_equiv_address_nv instead of
5709         making MEM.
5710         * cselib.c (add_mem_for_addr): Likewise.
5711         * expr.c (protect_from_queue, emit_move_insn_1): Likewise.
5712         * regmove.c (try_apply_stack_adjustment): Likewise.
5713         * reload.c (push_reload, make_memloc): Likewise.
5714         * reload1.c (eliminate_regs): Likewise.
5715         * simplify-rtx.c (simplify_replace_rtx): Likewise.
5716         * caller-save.c (setup_save_areas): Use adjust_address_nv instead of
5717         adjust_addess.
5718         * combine.c (make_extraction, simplify_shift_const): Likewise.
5719         (gen_lowpart_for_combine): Likewise.
5720         * cse.c (gen_lowpart_if_possible): Likewise.
5721         * function.c (fixup_var_refs_1, purge_addressof_1): Likewise.
5722         * expr.c (expand_expr, case COMPONENT_REF): Likewise.
5723         * optabs.c (gen_move_insn): Likewise.
5724         * reload1.c (alter_reg): Likewise.
5725         * simplify-rtx.c (simplify_subreg): Likewise.
5726         * stmt.c (expand_anon_union_decl): Likewise.
5727         * recog.c (validate_replace_rtx_1): Likewise.
5728         (expr.h): Include.
5729         * Makefile.in (recog.o): Add $(EXPR_H).
5730         * explow.c (stabilize): Call replace_equiv_address.
5731         * expr.c (move_by_pieces_1, store_by_pieces_2): Likewise.
5732         * final.c (alter_subreg): OFFSET is HOST_WIDE_INT.
5733
5734 2001-07-03  Andrew Haley  <aph@redhat.com>
5735
5736         * expmed.c (store_fixed_bit_field): Don't use a mode bigger than
5737         the mode of the memory location.
5738
5739 2001-07-09  Bo Thorsen  <bo@suse.co.uk>
5740
5741         * config/i386/unix.h (ASM_OUTPUT_MI_THUNK): Fix x86-64 vtable support.
5742
5743 2001-07-09  Neil Booth  <neil@daikokuya.demon.co.uk>
5744
5745         * final.c (output_addr_const): Use target opening and
5746         closing parentheses.
5747         * target-def.h: Define TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN
5748         defaults, add to TARGET_ASM_OUT.
5749         * target.h (struct gcc_target): Add open_paren and close_paren.
5750         * doc/md.texi: Update.
5751         * doc/tm.texi: Document TARGET_ASM_FUNCTION_END_PROLOGUE,
5752         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, TARGET_ASM_OPEN_PAREN and
5753         TARGET_ASM_CLOSE_PAREN.
5754         * config/i386/i386.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
5755         Override.
5756         * config/pdp11/pdp11.c (TARGET_ASM_OPEN_PAREN, TARGET_ASM_CLOSE_PAREN):
5757         Override.
5758         * config/1750a/1750a.h (ASM_OPEN_PAREN, ASM_CLOSE_PAREN): Remove.
5759         * config/a29k/a29k.h: Similarly.
5760         * config/alpha/alpha.h: Similarly.
5761         * config/arc/arc.h: Similarly.
5762         * config/arm/aof.h: Similarly.
5763         * config/arm/aout.h: Similarly.
5764         * config/avr/avr.h: Similarly.
5765         * config/c4x/c4x.h: Similarly.
5766         * config/clipper/clipper.h: Similarly.
5767         * config/convex/convex.h: Similarly.
5768         * config/d30v/d30v.h: Similarly.
5769         * config/dsp16xx/dsp16xx.h: Similarly.
5770         * config/elxsi/elxsi.h: Similarly.
5771         * config/fr30/fr30.h: Similarly.
5772         * config/h8300/h8300.h: Similarly.
5773         * config/i370/i370.h: Similarly.
5774         * config/i386/i386.h: Similarly.
5775         * config/i860/i860.h: Similarly.
5776         * config/i960/i960.h: Similarly.
5777         * config/ia64/ia64.h: Similarly.
5778         * config/m32r/m32r.h: Similarly.
5779         * config/m68hc11/m68hc11.h: Similarly.
5780         * config/m68k/m68k.h: Similarly.
5781         * config/m88k/m88k.h: Similarly.
5782         * config/mcore/mcore.h: Similarly.
5783         * config/mips/mips.h: Similarly.
5784         * config/mn10200/mn10200.h: Similarly.
5785         * config/mn10300/mn10300.h: Similarly.
5786         * config/ns32k/ns32k.h: Similarly.
5787         * config/pa/pa.h: Similarly.
5788         * config/pdp11/pdp11.h: Similarly.
5789         * config/pj/pj.h: Similarly.
5790         * config/romp/romp.h: Similarly.
5791         * config/rs6000/rs6000.h: Similarly.
5792         * config/sh/sh.h: Similarly.
5793         * config/sparc/sparc.h: Similarly.
5794         * config/v850/v850.h: Similarly.
5795         * config/vax/vax.h: Similarly.
5796         * config/we32k/we32k.h: Similarly.
5797
5798 2001-07-09  Joseph S. Myers  <jsm28@cam.ac.uk>
5799
5800         * doc/c-tree.texi: Document representation of attributes.
5801
5802 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5803
5804         * doc/tm.texi: Update some places for the rename of target to
5805         targetm.  Fix typo.
5806
5807 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5808
5809         * target.h (struct gcc_target): Add insert_attributes.
5810         * target-def.h (TARGET_INSERT_ATTRIBUTES): Define.
5811         (TARGET_INITIALIZER): Update.
5812         * tree.c, tree.h (default_insert_attributes): New function.
5813         Update comments on other default functions to refer to targetm,
5814         not target.
5815         * doc/tm.texi (INSERT_ATTRIBUTES): Update to document
5816         TARGET_INSERT_ATTRIBUTES.
5817         (SET_DEFAULT_DECL_ATTRIBUTES): Remove.
5818         * c-common.c (decl_attributes): Use targetm.insert_attributes.
5819         Don't use PRAGMA_INSERT_ATTRIBUTES.
5820         * Makefile.in (c-common.o): Depend on $(TARGET_H).
5821         * c-decl.c (start_decl, start_function): Don't call
5822         SET_DEFAULT_DECL_ATTRIBUTES.
5823         * config/c4x/c4x.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
5824         * config/c4x/c4x-protos.h (c4x_set_default_attributes): Don't
5825         declare.
5826         * config/c4x/c4x.c (TARGET_INSERT_ATTRIBUTES): Define.
5827         (c4x_check_attribute): Avoid modifying attribute list itself.
5828         (c4x_set_default_attributes): Rename to c4x_insert_attributes.
5829         Make static.
5830         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Don't define.
5831         * config/sh/sh-protos.h (sh_pragma_insert_attributes): Don't
5832         declare.
5833         * config/sh/sh.c (TARGET_INSERT_ATTRIBUTES): Define.
5834         (sh_pragma_insert_attributes): Rename to sh_insert_attributes.
5835         Make static.
5836         * config/v850/v850.h (SET_DEFAULT_DECL_ATTRIBUTES): Don't define.
5837         * config/v850/v850-protos.h (v850_set_default_decl_attr): Don't
5838         declare.
5839         * config/v850/v850.c (TARGET_INSERT_ATTRIBUTES): Define.
5840         (v850_set_default_decl_attr): Rename to v850_insert_attributes.
5841         Adjust parameters.  Make static.
5842
5843 2001-07-08  Joseph S. Myers  <jsm28@cam.ac.uk>
5844
5845         * c-common.c (decl_attributes): Only take a single attributes
5846         parameter.
5847         * c-common.h (decl_attributes): Update prototype.
5848         * c-decl.c (start_decl, start_function): Only take a single
5849         attributes parameter.  Update calls to decl_attributes.
5850         (finish_struct, finish_enum): Update calls to decl_attributes.
5851         (push_parm_decl): Expect unified list of attributes.  Update call
5852         to decl_attributes.
5853         * c-parse.in (fndef, initdcl, notype_initdcl, nested_function,
5854         notype_nested_function, component_declarator,
5855         component_notype_declarator, label): Update calls to
5856         decl_attributes.
5857         (absdcl_maybe_attribute, parm, firstparm, myparm): Unify attribute
5858         lists that are passed to push_parm_decl.
5859         * c-tree.h (start_function, start_decl): Update prototypes.
5860         * config/sh/sh-protos.h, config/sh/sh.c
5861         (sh_pragma_insert_attributes): Only take a single attributes
5862         parameter.
5863         * config/sh/sh.h (PRAGMA_INSERT_ATTRIBUTES): Likewise.
5864         * doc/tm.texi (INSERT_ATTRIBUTES): Update.
5865         * objc/objc-act.c (define_decl, generate_objc_symtab_decl,
5866         build_module_descriptor, generate_static_references,
5867         generate_strings, build_selector_translation_table,
5868         generate_descriptor_table, generate_protocols,
5869         generate_ivars_list, generate_dispatch_table,
5870         generate_protocol_list, generate_category,
5871         generate_shared_structures, really_start_method, add_objc_decls,
5872         generate_classref_translation_entry): Update calls to start_decl
5873         and start_function.
5874         (build_tmp_function_decl, start_method_def): Unify attribute lists
5875         that are passed to push_parm_decl.
5876
5877 2001-07-08  Neil Booth  <neil@daikokuya.demon.co.uk>
5878
5879         * final.c (no_asm_to_stream): New.
5880         (final_scan_insn): Use target structures for prologue ends
5881         and epilogue starts.
5882         * output.h (no_asm_to_stream): New.
5883         * target-def.h (TARGET_ASM_FUNCTION_END_PROLOGUE,
5884         TARGET_ASM_FUNCTION_BEGIN_EPILOGUE): New.
5885         (TARGET_ASM_OUT): Update.
5886         * target.h (struct gcc_target): New members function_end_prologue
5887         and function_begin_epilogue.
5888         * config/1750/1750.h (ASM_OUTPUT_FUNNAM): Delete as unused.
5889         * config/alpha/alpha-protos.h (output_end_prologue): Delete.
5890         * config/alpha/alpha.c (output_end_prologue): Rename to
5891         alpha_output_function_end_prologue.  Use in target struct
5892         and make static.
5893         * config/alpha/alpha.h (FUNCTION_END_PROLOGUE): Delete.
5894         * config/ia64/ia64-protos.h (ia64_output_end_prologue): Delete.
5895         * config/ia64/ia64.c (ia64_output_end_prologue): Rename to
5896         ia64_output_function_end_prologue.  Use in target struct
5897         and make static.
5898         (ia64_function_prologue, ia64_funciton_epilogue): Rename
5899         mistyped prototypes.
5900         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE): Delete.
5901         * config/m88k/m88k-protos.h (m88k_end_prologue, m88k_begin_epilogue):
5902         Delete.
5903         * config/m88k/m88k.c (m88k_end_prologue, m88k_begin_epilogue): Rename
5904         an use in target struct, make static.
5905         * config/ia64/ia64.h (FUNCTION_END_PROLOGUE, FUNCTION_BEGIN_EPILOGUE):
5906         Delete.
5907
5908 2001-07-08  Richard Henderson  <rth@redhat.com>
5909
5910         * stmt.c (emit_case_nodes): Convert modes properly in low+high test.
5911
5912 2001-07-08  Richard Henderson  <rth@redhat.com>
5913
5914         * config/i386/i386.md: Remove constraints strings from define_split
5915         and define_peephole2 patterns.
5916         (eh_return_si, eh_return_di): Split eh_return_1 for modes.
5917         (eh_return): Use them.
5918
5919 2001-07-08  Richard Henderson  <rth@redhat.com>
5920
5921         * doc/tm.texi (Exception Handling): New subnode of Stack and Calling.
5922         Document MD_FALLBACK_FRAME_STATE_FOR.
5923
5924 2001-07-07  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
5925
5926         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset):
5927         Take into account m68hc11_sp_correction for FRAME_POINTER_REGNUM
5928         elimination.
5929         * config/m68hc11/m68hc11.h (STARTING_FRAME_OFFSET): Use 0.
5930
5931 2001-07-07  Nick Clifton  <nickc@cambridge.redhat.com>
5932
5933         * config/ia64/sysv4.h (ASM_OUTPUT_LABELREF): Append # to end
5934         of the label inside NAME as opposed to just the end of NAME.
5935
5936 2001-07-07  Neil Booth  <neil@daikokuya.demon.co.uk>
5937
5938         * config/alpha/alpha-protos.h (vms_valid_decl_attribute_p): Delete.
5939         * config/alpha/alpha.c (alpha_init_machine_status,
5940         alpha_mark_machine_status, alpha_free_machine_status): Delete.
5941         (TARGET_VALID_DECL_ATTRIBUTE): Define for VMS.
5942         (vms_valid_decl_attribute_p): Make static, conditionally compile.
5943         * config/alpha/alpha.h (VALID_MACHINE_DECL_ATTRIBUTE): Delete.
5944
5945 2001-07-06  Stan Shebs  <shebs@apple.com>
5946
5947         * target.h (targetm): Rename global from "target", so as not to
5948         conflict with local variables.
5949         * c-decl.c: Ditto.
5950         * c-typeck.c: Ditto.
5951         * final.c: Ditto.
5952         * tree.c: Ditto.
5953         * cp/decl.c: Ditto.
5954         * cp/decl2.c: Ditto.
5955         * cp/typeck.c: Ditto.
5956         * 1750a/1750a.c: Ditto.
5957         * a29k/a29k.c: Ditto.
5958         * arc/arc.c: Ditto.
5959         * arm/arm.c: Ditto.
5960         * avr/avr.c: Ditto.
5961         * clipper/clipper.c: Ditto.
5962         * convex/convex.c: Ditto.
5963         * d30v/d30v.c: Ditto.
5964         * dsp16xx/dsp16xx.c: Ditto.
5965         * elxsi/elxsi.c: Ditto.
5966         * fr30/fr30.c: Ditto.
5967         * h8300/h8300.c: Ditto.
5968         * i370/i370.c: Ditto.
5969         * i386/i386.c: Ditto.
5970         * i860/i860.c: Ditto.
5971         * i960/i960.c: Ditto.
5972         * ia64/ia64.c: Ditto.
5973         * m32r/m32r.c: Ditto.
5974         * m68hc11/m68hc11.c: Ditto.
5975         * m68k/m68k.c: Ditto.
5976         * m88k/m88k.c: Ditto.
5977         * mips/mips.c: Ditto.
5978         * ns32k/ns32k.c: Ditto.
5979         * pa/pa.c: Ditto.
5980         * pdp11/pdp11.c: Ditto.
5981         * romp/romp.c: Ditto.
5982         * rs6000/rs6000.c: Ditto.
5983         * sh/sh.c: Ditto.
5984         * sparc/sparc.c: Ditto.
5985         * vax/vax.c: Ditto.
5986         * we32k/we32k.c: Ditto.
5987         * doc/tm.texi: Update the manual to match.
5988
5989 2001-07-06  Richard Henderson  <rth@redhat.com>
5990
5991         * except.h (MUST_USE_SJLJ_EXCEPTIONS): Examine the value of
5992         DWARF2_UNWIND_INFO not just whether it is defined.
5993
5994 2001-07-06  Diego Novillo  <dnovillo@redhat.com>
5995
5996         * combine.c (combine_simplify_rtx): Also recompute 'mode' if the
5997         call to simplify_binary_operation returns a new pattern.
5998
5999 2001-07-06  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
6000
6001         * glimits.h (__SHRT_MAX__): New.
6002         (SHRT_MIN, USHRT_MAX): Define in terms of SHRT_MAX.
6003         (SHRT_MAX): Define in terms of __SHRT_MAX__.
6004
6005 2001-07-06  Jan van Male  <jan.vanmale@fenk.wau.nl>
6006
6007         * alias.c (base_alias_check): Cast GET_MODE_UNIT_SIZE to int to
6008         avoid warnings.
6009
6010 2001-07-06  Richard Henderson  <rth@redhat.com>
6011
6012         * bitmap.c (bitmap_release_memory): Move adjacent to the
6013         allocation functions.
6014         (bitmap_first_set_bit, bitmap_last_set_bit): Streamline knowing
6015         the implementation.  Binary search for the set bit.
6016         (bitmap_union_of_diff): Allocate the temporary on the stack
6017         instead of using xmalloc.
6018
6019 2001-07-06  Richard Henderson  <rth@redhat.com>
6020
6021         * genrecog.c (validate_pattern): Warn for constraints in
6022         define_{expand,split,peephole2}.  Remove strict_low_part
6023         before looking up match_dup.
6024
6025 2001-07-06  DJ Delorie  <dj@redhat.com>
6026
6027         * doc/gcc.texi (Makefile): Rename to be a more general purpose
6028         chapter about various build hints and history.  Add section
6029         talking about the various types of native and cross builds.
6030
6031 2001-07-06  Neil Booth  <neil@daikokuya.demon.co.uk>
6032
6033         * Makefile.in (final.o): Depend on target.h.
6034         * final.c: Include target.h.
6035         (default_function_pro_epilogue): New.
6036         (final_start_function): Use target structure for function prologues.
6037         (final_end_function): Use target structure for function epilogues.
6038         * fold-const.c (real_hex_to_f): Constify s and p.
6039         * output.h (default_function_pro_epilogue): New.
6040         * real.h (real_hex_to_f): Update prototype.
6041         * target-def.h (TARGET_ASM_FUNCTION_PROLOGUE,
6042         TARGET_ASM_FUNCTION_EPILOGUE, TARGET_ASM_OUT): New.
6043         (TARGET_INITIALIZER): Update.
6044         * target.h (gcc_target): Add struct asm_out.
6045         * doc/tm.texi: Update.
6046
6047 config:
6048         Update each arch to use TARGET_ASM_FUNCTION_PROLOGUE and
6049         TARGET_ASM_FUNCTION_EPILOGUE.  Move macro code to functions
6050         in cpu/cpu.c, or rename old functions consistently.  Take
6051         a HOST_WIDE INT not an int as the SIZE parameter.  Remove now
6052         redundant macros and prototypes.  Make new functions static.
6053
6054         * 1750a/1750a.c: Similarly.
6055         * 1750a/1750a.h: Similarly.
6056         * a29k/a29k-protos.h: Similarly.
6057         * a29k/a29k.c: Similarly.
6058         * a29k/a29k.h: Similarly.
6059         * arc/arc-protos.h: Similarly.
6060         * arc/arc.c: Similarly.
6061         * arc/arc.h: Similarly.
6062         * arm/arm-protos.h: Similarly.
6063         * arm/arm.c: Similarly.
6064         * arm/arm.h: Similarly.
6065         * avr/avr-protos.h: Similarly.
6066         * avr/avr.c: Similarly.
6067         * avr/avr.h: Similarly.
6068         * clipper/clipper-protos.h: Similarly.
6069         * clipper/clipper.c: Similarly.
6070         * clipper/clipper.h: Similarly.
6071         * convex/convex.c: Similarly.
6072         * convex/convex.h: Similarly.
6073         * d30v/d30v-protos.h: Similarly.
6074         * d30v/d30v.c: Similarly.
6075         * d30v/d30v.h: Similarly.
6076         * d30v/d30v.md: Similarly.
6077         * dsp16xx/dsp16xx-protos.h: Similarly.
6078         * dsp16xx/dsp16xx.c: Similarly.
6079         * dsp16xx/dsp16xx.h: Similarly.
6080         * elxsi/elxsi.c: Similarly.
6081         * elxsi/elxsi.h: Similarly.
6082         * fr30/fr30.c: Similarly.
6083         * fr30/fr30.md: Similarly.
6084         * h8300/h8300-protos.h: Similarly.
6085         * h8300/h8300.c: Similarly.
6086         * h8300/h8300.h: Similarly.
6087         * i370/i370-protos.h: Similarly.
6088         * i370/i370.c: Similarly.
6089         * i370/i370.h: Similarly.
6090         * i386/i386.c: Similarly.
6091         * i386/osf1elf.h: Similarly.
6092         * i386/osfrose.h: Similarly.
6093         * i860/i860-protos.h: Similarly.
6094         * i860/i860.c: Similarly.
6095         * i860/i860.h: Similarly.
6096         * i960/i960-protos.h: Similarly.
6097         * i960/i960.c: Similarly.
6098         * i960/i960.h: Similarly.
6099         * ia64/ia64-protos.h: Similarly.
6100         * ia64/ia64.c: Similarly.
6101         * ia64/ia64.h: Similarly.
6102         * m32r/m32r-protos.h: Similarly.
6103         * m32r/m32r.c: Similarly.
6104         * m32r/m32r.h: Similarly.
6105         * m68hc11/m68hc11-protos.h: Similarly.
6106         * m68hc11/m68hc11.c: Similarly.
6107         * m68hc11/m68hc11.h: Similarly.
6108         * m68k/crds.h: Similarly.
6109         * m68k/dpx2.h: Similarly.
6110         * m68k/m68k-protos.h: Similarly.
6111         * m68k/m68k.c: Similarly.
6112         * m68k/m68k.h: Similarly.
6113         * m68k/news.h: Similarly.
6114         * m88k/m88k-protos.h: Similarly.
6115         * m88k/m88k.c: Similarly.
6116         * m88k/m88k.h: Similarly.
6117         * mips/mips-protos.h: Similarly.
6118         * mips/mips.c: Similarly.
6119         * mips/mips.h: Similarly.
6120         * ns32k/merlin.h: Similarly.
6121         * ns32k/ns32k.c: Similarly.
6122         * ns32k/ns32k.h: Similarly.
6123         * ns32k/tek6000.h: Similarly.
6124         * pa/pa-protos.h: Similarly.
6125         * pa/pa.c: Similarly.
6126         * pa/pa.h: Similarly.
6127         * pdp11/2bsd.h: Similarly.
6128         * pdp11/pdp11-protos.h: Similarly.
6129         * pdp11/pdp11.c: Similarly.
6130         * pdp11/pdp11.h: Similarly.
6131         * romp/romp-protos.h: Similarly.
6132         * romp/romp.c: Similarly.
6133         * romp/romp.h: Similarly.
6134         * rs6000/rs6000-protos.h: Similarly.
6135         * rs6000/rs6000.c: Similarly.
6136         * rs6000/rs6000.h: Similarly.
6137         * rs6000/sysv4.h: Similarly.
6138         * sh/sh-protos.h: Similarly.
6139         * sh/sh.c: Similarly.
6140         * sh/sh.h: Similarly.
6141         * sparc/sparc-protos.h: Similarly.
6142         * sparc/sparc.c: Similarly.
6143         * sparc/sparc.h: Similarly.
6144         * vax/vax.c: Similarly.
6145         * vax/vax.h: Similarly.
6146         * vax/vms.h: Similarly.
6147         * we32k/we32k.c: Similarly.
6148         * we32k/we32k.h: Similarly.
6149
6150 Fri Jul  6 11:47:59 2001  Jeffrey A Law  (law@cygnus.com)
6151
6152         * basic-block.h (first_insn_after_basic_block_note): Declare.
6153         * flow.c (first_insn_after_basic_block_note): Define.  Moved
6154         from...
6155         * ssa.c (first_insn_after_basic_block_note): Remove.
6156         * ssa-dce.c (find_inherently_necessary): Consider BARRIERs
6157         necessary.
6158         (ssa_eliminate_dead_code): Properly update the CFG and PHI
6159         nodes when we find a dead conditional branch.  Insert BARRIERs
6160         after any blocks with no successors, but which do not have
6161         any BARRIERs.
6162
6163 2001-07-06  Zack Weinberg  <zackw@stanford.edu>
6164
6165         * varray.c (varray_check_failed): Use internal_error.
6166
6167 2001-07-05  Andrew Haley  <aph@redhat.com>
6168
6169         * Makefile.in (LIB2_DIVMOD_FUNCS): New.
6170         (LIB2FUNCS): Move divmod functions to LIB2_DIVMOD_FUNCS.
6171         * mklibgcc.in: Compile LIB2_DIVMOD_FUNCS.
6172
6173 2001-07-02  Jason Merrill  <jason_merrill@redhat.com>
6174
6175         * dwarf2out.c (mem_loc_descriptor): Only look through a constant pool
6176         reference if the target constant is also a SYMBOL_REF.
6177
6178 2001-07-05  Eric Christopher  <echristo@redhat.com>
6179
6180         * config/mips/mips.h (MASK_MIPS3900): Remove.
6181         (MASK_MIPS16,MASK_NO_CHECK_ZERO_DIV,MASK_CHECK_RANGE_DIV,
6182         MASK_UNINIT_CONST_IN_RODATA): Change for 3900 mask removal.
6183         (TARGET_MIPS3900): Change to use mips_arch.
6184         (TARGET_MIPS4000): New.
6185         (TARGET_MIPS4100): New.
6186         (TARGET_MIPS4300): New.
6187         (TARGET_SWITCHES): Change 3900 and 4650 options to NULL.
6188         (SUBTARGET_TARGET_OPTIONS): Add -march. Change help text
6189         for -mipsX.
6190         (GENERATE_BRANCHLIKELY): Move TARGET_MIPS3900.
6191         (ISA_HAS_BRANCHLIKELY): To here.
6192         (CC1_CPU_SPEC):  New.
6193         (CC1_SPEC): Use here.  Remove 4650 and 3900 options.
6194         (mips_arch_string): Declare.
6195         (mips_arch): Declare.
6196         (TARGET_OPTIONS): Add -march and -mtune.
6197
6198         * config/mips/mips.c (mips_arch_string): New.
6199         (mips_arch): New.
6200         (override_options): Handle -march for codegen and -mtune
6201         for scheduling. Use mips_arch. Move tx39 target default here.
6202         (mips_parse_cpu): Move error message to override_options.
6203
6204         * config/mips/r3900.h (TARGET_DEFAULT): Remove.
6205
6206         * config/mips/mips.md: Use TARGET_MIPS4000 and TARGET_MIPS4300.
6207
6208         * doc/invoke.texi (Option Summary): Add -march and -mtune entries.
6209         (MIPS Options): Ditto.  Change mcpu entry to historical text.
6210
6211 2001-07-05  H.J. Lu  (hjl@gnu.org)
6212
6213         * config/mips/mips.c (mips_parse_cpu): New function to parse
6214         -march=*/-mcpu=*.
6215
6216 2001-07-05  Jim Wilson  <wilson@redhat.com>
6217
6218         * config/ia64/lib1funcs.asm: Revert 2001-07-02 change.
6219         * config/ia64/t-ia64: Likewise.
6220         (LIB1ASMFUNCS): Update comment.
6221
6222 2001-07-05  David Edelsohn  <edelsohn@gnu.org>
6223
6224         * doc/install.texi (Install GCC: Binaries): Fix typo.
6225
6226 2001-07-04  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6227
6228         * config/m68hc11/m68hc11.md ("*ashlsi3"): Operand 1 can be a memory
6229         reference using the stack pointer, adjust it since we push Y
6230         temporarily.
6231         ("*ashrsi3"): Likewise.
6232         ("*lshrsi3"): Likewise.
6233
6234 2001-07-05  Stephane Carrez  <Stephane.Carrez@worldnet.fr>
6235
6236         * config/m68hc11/m68hc11.h (RETURN_ADDR_RTX): Fix return address
6237         when -fomit-frame-pointer is used.
6238
6239 2001-07-05  Jeffrey Oldham  <oldham@codesourcery.com>
6240
6241         * flow.c: Reverse Jan Hubicka's patch of 02July2001.
6242         (try_redirect_by_replacing_jump): Reverse updating properly the
6243         count and frequency information.  Reverse removing cc0 setter.
6244         (forwarder_block_p): Reverse fixing for fallthru blocks.
6245
6246 2001-07-05  DJ Delorie  <dj@redhat.com>
6247
6248         * gcc.c (TARGET_OPTION_TRANSLATE_TABLE): New.
6249         (translate_options): If the above is defined, use it to map
6250         given options to new options.
6251         * doc/tm.texi: Document it.
6252
6253 2001-07-05  Brad Lucier <lucier@math.purdue.edu>
6254             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6255
6256         * doc/invoke.texi (Optimize Options): Document that -fgcse may
6257         cause programs using computed gotos to run more slowly.
6258
6259 2001-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6260
6261         * doc/install.texi (Specific): Markup, spelling and typo fixes.
6262         Fixed sorting.
6263         Consistently require binutils 2.11.2, not prereleases.
6264         (Specific, decstation-*): Canonicalize as mips-dec-*.
6265         (Specific, i?86-*-sco3.2v5*): Remove make bootstrap requirement,
6266         always necessary.
6267         (Specific, m68k-altos): Removed reference to README.altos, deleted.
6268         (Specific, mips-*): Reword MIPS C compiler requirements.
6269         (Specific, powerpc*-*-*): New, mention --with-cpu once.
6270         (Specific, sunv5): Removed, obsolete.
6271
6272 2001-07-05  Nathan Sidwell  <nathan@codesourcery.com>
6273
6274         * dwarf2out.c (output_loc_list): Use an all ones mask for
6275         .text asm output and don't rely on long long
6276         literals. Reformat some long lines.
6277
6278 2001-07-05  Andreas Jaeger  <aj@suse.de>
6279
6280         * doc/gcc.texi (GNU/Linux): Remove accidental re-add of GPL
6281         section.
6282
6283 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
6284
6285         * dwarf2out.c (dwarf2out_define): Update comment.
6286         (dwarf2out_undef): Ditto.
6287         (dwarf2out_start_source_file): Ditto.
6288         (dwarf2out_end_source_file): Ditto.
6289         (dwarf2out_finish): Output DW_MACINFO_end_file for primary file,
6290         since we never call the start/end debug hook for the primary file.
6291
6292 2001-07-04  Kazu Hirata  <kazu@hxi.com>
6293
6294         * config/h8300/h8300.c (get_shift_alg): Remove an extra operand
6295         from shll.
6296
6297 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
6298
6299         * cppinit.c (remove_dup_dirs): Inform if a system include
6300         directory is being reordered.
6301         * doc/invoke.texi (Directory Options): GCC warns if you hide a
6302         system include.
6303         * doc/cpp.texi (Search Paths): Likewise.
6304         * doc/gcc.texi (Interoperation): Remove information about
6305         -I/usr/include.
6306
6307 2001-07-04  Nathan Sidwell  <nathan@codesourcery.com>
6308
6309         * varray.h (VARRAY_TOP_GENERIC_PTR): Remove spurious parameter.
6310         (VARRAY_TOP_CHAR_PTR): Likewise.
6311
6312 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6313
6314         * gcc.c (process_command): Don't assign elements of a const char*.
6315
6316 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6317
6318         * emit-rtl.c (change_address): Don't abort if invalid address while
6319         reload is in progress.
6320
6321 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
6322
6323         * c-lex.c (cb_file_change): Pass line number to
6324         debug_start_source_file.
6325         (cb_undefine): Pass correct line number to debug_undef.
6326
6327         * toplev.c (debug_start_source_file): Add line number to
6328         parameters. Pass it along to dwarf2out_start_source_file.
6329         (decode_g_option): Stop resetting debug level back to normal when
6330         we change debug formats, unless the current level is
6331         none. (Before, -g3 -gdwarf-2 would use debug level 2, rather than
6332         3).
6333
6334         * toplev.h (debug_start_source_file): Add line number to
6335         parameters.
6336
6337         * dwarf2out.h (dwarf2out_start_source_file): Add line number to
6338         parameters.
6339
6340         * dwarf2out.c (dwarf2out_start_source_file): Add line number to
6341         parameters.
6342         Output debug_macinfo data for starting file if requested.
6343         (dwarf2out_end_source_file): Output debug_macinfo data for ending
6344         file if requested.
6345         (dwarf2out_define): Output debug_macinfo data for defining a macro
6346         if requested.
6347         (dwarf2out_undef): Output debug_macinfo data for undefining a
6348         macro if requested.
6349         (DEBUG_MACINFO_SECTION): New. DWARF2 macro info section name.
6350         (DEBUG_MACINFO_SECTION_LABEL): New. DWARF2 macro info section label.
6351         (macinfo_section_label): New. DWARF2 macro info section label.
6352         (dwarf2out_init): If we want macro info, output the start label
6353         for the section.
6354         (dwarf2out_finish): If we want macro info, add a DW_AT_macro_info
6355         attribute to the compilation unit die pointing to the macro info.
6356
6357 2001-07-04  Daniel Berlin  <dan@cgsoftware.com>
6358
6359         * dwarf2out.c (new_loc_list): Move to inside #ifdef
6360         DWARF2_DEBUGGING_INFO.
6361         (add_loc_descr_to_loc_list): Ditto.
6362         (output_loc_list): Ditto.
6363         Also, fix thinko in curr not being initialized.
6364         (gen_internal_sym): Ditto.
6365
6366 Wed Jul  4 13:40:02 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6367
6368         * emit-rtl.c (replace_equiv_address): New function.
6369         * expr.h (replace_equiv_address): New declaration.
6370         * explow.c (validize_mem): Call it instead of change_address and
6371         also call if -fforce-addr and address is constant.
6372         * expr.c: Replace more calls to change_address with adjust_address
6373         and/or replace_equiv_address or to validize_mem.
6374         * function.c, regmove.c, config/alpha/alpha.c: Likewise.
6375         * config/arm/arm.md, config/clipper/clipper.md: Likewise.
6376         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
6377         * config/i370/i370.md, config/i860/i860.md: Likewise.
6378         * config/i960/i960.md, config/mips/mips.c: Likewise.
6379         * config/mips/mips.md, config/pa/pa.md: Likewise.
6380         * config/pdp11/pdp11.md, config/rs6000/rs6000.c: Likewise.
6381         * config/rs6000/rs6000.md, config/sh/sh.md: Likewise.
6382
6383 2001-07-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6384
6385         * bitmap.c (bitmap_union_of_diff): Don't use BITMAP_ALLOCA.
6386
6387         * bitmap.h (BITMAP_ALLOCA): Don't pass alloca as an argument to a
6388         function.
6389
6390 2001-07-04  Joseph S. Myers  <jsm28@cam.ac.uk>
6391
6392         * doc/include: New directory.
6393         * doc/fdl.texi: Move to doc/include/fdl.texi.
6394         * doc/texinfo.tex: Move to doc/include/texinfo.tex.
6395         * doc/include/funding.texi, doc/include/gpl.texi: New files.
6396         * doc/gcc.texi: Use funding.texi and gpl.texi.
6397         * Makefile.in ($(docdir)/cpp.info, $(docdir)/gcc.info,
6398         $(docdir)/cppinternals.info, cpp.dvi. gcc.dvi. cppinternals.dvi):
6399         Update dependencies and use -I $(docdir)/include.
6400
6401 2001-07-04  Anthony Green  <green@redhat.com>
6402
6403         * config/v850/t-v850 (v850-c.o): Add missing dependencies.
6404
6405 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6406
6407         * doc/install.texi (sparc64-*-*): Remove garbage.
6408
6409 Wed Jul  4 09:07:44 2001  Jan van Male  <jan.vanmale@fenk.wau.nl>
6410
6411         * i386.c (ix86_expand_builtin, case IX86_BUILTIN_SETPS):
6412         Fix typo in last change to use adjust_address.
6413
6414 2001-07-04  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6415
6416         * doc/install.texi (Specific): Update information for *-*-solaris*.
6417
6418 Tue Jul  3 22:33:15 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6419
6420         * explow.c (plus_constant_wide): Reinitialize Y for restart.
6421
6422 2001-07-03  Stan Shebs  <shebs@apple.com>
6423
6424         * config/darwin.h (SECTION_FUNCTION): Remove WAS_TEXT argument, remove
6425         case for flag_no_mach_text_sections.
6426         (EXTRA_SECTION_FUNCTIONS): Remove arg from uses of SECTION_FUNCTION.
6427         * config/darwin.c (flag_no_mach_text_sections): Remove.
6428         * config/darwin-protos.h (darwin_init_pragma): Remove decl.
6429
6430 Tue Jul  3 15:35:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6431
6432         * explow.c (plus_constant_wide, case PLUS): Call find_constant_term
6433         and avoid checking for constant as first operand.
6434         * recog.c (find_constant_term_loc): No longer static.
6435         (adj_offettable_operand): Delete.
6436         * rtl.h (adj_offsettable_operand): Delete declaration.
6437         (find_constant_term): Add declaration.
6438         * caller-save.c: Replace calls to adj_offsettable_operand with calls
6439         to adjust_address.
6440         * config/arm/arm.c, config/c4x/c4x.c: Likewise.
6441         * config/clipper/clipper.md, config/h8300/h8300.c: Likewise.
6442         * config/i386/i386.c, config/i386/i386.md: Likewise.
6443         * config/i860/i860.c, config/i960/i960.c: Likewise.
6444         * config/i960/i960.md, config/m68hc11/m68hc11.c: Likewise.
6445         * config/m68k/m68k.c, config/m68k/m68k.md: Likewise.
6446         * config/m88k/m88k.md, config/mcore/mcore.c: Likewise.
6447         * config/mips/mips.c, config/mips/mips.md: Likewise.
6448         * config/mn10200/mn10200.c, config/mn10300/mn10300.c: Likewise.
6449         * config/ns32k/ns32k.c, config/ns32k/ns32k.md: Likewise.
6450         * config/pa/pa.c, config/pdp11/pdp11.c: Likewise.
6451         * config/pdp11/pdp11.md, config/sh/sh.c, config/v850/v850.c: Likewise.
6452         * config/vax/vax.md, config/ns32k/ns32k.c: Likewise.
6453         * config/ns32k/ns32k.md: Likewise.
6454
6455 2001-07-03  Zack Weinberg  <zackw@stanford.edu>
6456
6457         * rtl.c (copy_rtx): Handle 'T' format letter.
6458         * gensupport.c (collect_insn_data): Likewise.
6459         * print-rtl.c (print_rtx): Print 'T' slots like 's'.
6460
6461 2001-07-03  Nick Clifton  <nickc@cambridge.redhat.com>
6462
6463         * doc/invoke.texi (Directory Options): Specifiy range for <N> in
6464         -B option.  Use 'dir' not 'foo' as example directory name.
6465
6466 2001-07-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6467
6468         * config/i386/sol2.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6469         Fixes PRs bootstrap/3067, bootstrap/3249, bootstrap/3275.
6470
6471 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6472
6473         * doc/cppinternals.texi: Improve formatting and logical markup.
6474
6475 2001-07-03  Andreas Jaeger  <aj@suse.de>
6476
6477         * Makefile.in (insn-recog.o): Add dependency on reload.h.
6478
6479         * genrecog.c (write_header): Include reload.h for prototypes in
6480         insn-recog.c.
6481
6482 2001-07-03  Neil Booth  <neil@daikokuya.demon.co.uk>
6483
6484 config:
6485         * i386/cygwin.h (VALID_MACHINE_DECL_ATTRIBUTE,
6486         VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
6487         * i386/i386-protos.h (i386_pe_valid_decl_attribute_p,
6488         i386_pe_valid_type_attribute_p): Add.
6489         * i386/i386.c (TARGET_INITIALIZER): Override for cygwin targets.
6490         * i386/winnt.c (i386_valid_decl_attribute_p): Return directly.
6491
6492 Mon Jul  2 21:52:19 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6493
6494         * explow.c (plus_constant_wide, case LO_SUM): New case.
6495         (plus_constant_for_output_wide): Delete.
6496         * rtl.h (plus_constant_for_output): Delete.
6497         * alias.c (canon_rtx, init_alias_analysis): Call plus_constant
6498         instead of plus_constant_for_output.
6499         * recog.c (offsettable_address_p, adj_offsettable_operand): Likewise.
6500         * config/darwin.c, config/arm/arm.c, config/m68k/m68k.c: Likewise.
6501         * config/m88k/m88k.c, config/mips/mips.c, config/pa/pa.c: Likewise.
6502         * config/rs6000/rs6000.c, config/sparc/sparc.c: Likewise.
6503         * config/sparc/sparc.md: Likewise.
6504         Convert some change_address calls to adjust_address.
6505
6506 2001-07-03  Joseph S. Myers  <jsm28@cam.ac.uk>
6507
6508         * doc/extend.texi, doc/gcc.texi, doc/invoke.texi, doc/md.texi,
6509         doc/rtl.texi, doc/tm.texi: Improve formatting.  Improve
6510         documentation of -std and -Wwrite-strings.
6511
6512 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
6513
6514         * cse.c (canon_hash): Don't register registers in very small
6515         register classes, as extending their lifetime might cause
6516         reload to fail.
6517
6518 Mon Jul  2 23:14:00 CEST 2001  Jan Hubicka  <jh@suse.cz>
6519
6520         * flow.c (try_redirect_by_replacing_jump): Remove cc0 setter.
6521
6522         * flow.c (forwarder_block_p): Fix for fallthru blocks.
6523         (try_redirect_by_replacing_jump): Update properly the count
6524         and frequency information.
6525
6526 Mon Jul  2 14:20:13 2001  Jeffrey A Law  (law@cygnus.com)
6527
6528         * toplev.c (dump_file_index): Move SSA dumps just after first
6529         jump dump.
6530         (dump_file): Corresponding changes.
6531         (rest_of_compilation): Move SSA path to just after the first
6532         jump pass.
6533         * doc/gcc.texi (Passes): Update due to movement of SSA path.
6534         * doc/invoke.texi: Update dump file #s as they were completely
6535         out of date with reality.
6536
6537 2001-07-02  Geoffrey Keating  <geoffk@redhat.com>
6538
6539         * doc/tm.texi (Frame Layout): Document STACK_PUSH_CODE.
6540
6541         * expr.c (emit_move_insn_1): Deal with non-default
6542         STACK_PUSH_CODE.
6543
6544         * expr.c (emit_single_push_insn): Fix warning.
6545
6546 2001-07-02  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
6547
6548         * expr.c (emit_move_insn_1): Avoid modifying
6549         cfun->expr->x_stack_pointer when PUSH_ROUNDING is defined.
6550
6551 Mon Jul  2 15:33:31 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6552
6553         * emit-rtl.c (adjust_address): New function.
6554         * expr.h (adjust_address): Add declaration.
6555         * builtins.c: Replace some calls to change_address with calls to it
6556         or to validize_mem.
6557         * caller-save.c, dwarf2out.c, except.c, expmed.c, expr.c: Likewise.
6558         * function.c, config/a29k/a29k.md, config/alpha/alpha.c: Likewise.
6559         * config/arm/arm.c, config/convex/convex.c: Likewise.
6560         * config/dsp16xx/dsp16xx.md, config/fr30/fr30.c: Likewise.
6561         * config/i386/i386.c, config/i386/i386.md: Likewise.
6562         * config/ia64/ia64.c, config/ia64/ia64.md: Likewise.
6563         * config/m32r/m32r.c, config/m68k/m68k.md: Likewise.
6564         * config/m88k/m88k.c, config/mips/mips.md: Likewise.
6565         * config/ns32k/ns32k.c, config/rs6000/rs6000.c: Likewise.
6566         * config/sh/sh.c, config/sparc/sparc.md: Likewise.
6567
6568 2001-07-02  Jim Wilson  <wilson@redhat.com>
6569
6570         * config/ia64/ia64.h: Delete obsolete lib1funcs.asm comment.
6571
6572 2001-07-02  Steve Ellcey  <sje@cup.hp.com>
6573
6574         * config/ia64/t-ia64: Change LIB1ASMFUNCS to use single underscore.
6575         * config/ia64/lib1funcs.asm: Change macro names to match t-ia64.
6576
6577 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
6578
6579         * cppinit.c (lang_defaults): New table.
6580         (set_lang): Just read from lang_defaults into the live options
6581         structure.
6582
6583 2001-07-02  Zack Weinberg  <zackw@stanford.edu>
6584
6585         * Makefile.in (doc): Depend on $(GENERATED_MANPAGES).
6586         * doc/.cvsignore: Add gcc.1, cpp.1, gcov.1.
6587         * doc/gcc.1, doc/cpp.1, doc/gcov.1: Removed.
6588
6589 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6590
6591         * doc/install.texi: Various spelling and markup fixes.
6592         (Installing GCC): Component specific installation instructions are
6593         gone.
6594         Fix reference.
6595         Warn about removing old install dir in the presence of shared libs.
6596         (Configuration): Invoke with options target to match configure
6597         --help.
6598         Consistently refer to gas, gld pathnames.
6599         Invert --enable-multilib documentation.
6600         Remove references to old compiler versions.
6601
6602 Mon Jul  2 12:50:51 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6603
6604         * flow.c (try_simplify_condjump): Fix typo in updating fallthru flags.
6605
6606 2001-07-02  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
6607
6608         * doc/install.texi (Specific, mips*-sgi-irix4): Split from IRIX 5
6609         section.
6610         (Specific, mips*-sgi-irix5): Note IDO download.
6611         Reworded MIPS C hints.
6612         Use GNU as instead of GAS.
6613         Markup fixes.
6614         Removed SGI Freeware reference, IRIX 6 only.
6615         (Specific, mips*-sgi-irix6): Removed ranlib caveats, obsolete.
6616         Note N64 library requirement/workaround.
6617         Update O32 hints.
6618         Complete list of structure passing bug victims.
6619
6620 2001-07-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6621
6622         * doc/install.texi: Remove CVS Id.
6623
6624 2001-07-02  Andreas Jaeger  <aj@suse.de>
6625
6626         * ssa-dce.c (note_inherently_necessary_set): Add unused attribute.
6627         (find_inherently_necessary): Remove unused variable.
6628
6629 2001-07-02  Nathan Sidwell  <nathan@codesourcery.com>
6630
6631         * c-common.h (TDI_inlined): New ast dump phase.
6632         (dump_flag_name): New function.
6633         * c-dump.c (dump_files): Add inlined phase.
6634         (dump_flag_name): Define.
6635         * doc/invoke.texi (-fdump-ast-inlined): Document.
6636
6637 Mon Jul  2 06:29:36 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6638
6639         * stor-layout.c (layout_decl): Revert change to handling of alignment
6640         in packed types.
6641
6642 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6643
6644         * c-common.c (decl_attributes, case A_MODE): Don't call layout_decl
6645         for FIELD_DECL.
6646
6647 2001-07-01  Geoffrey Keating  <geoffk@redhat.com>
6648
6649         * doc/tm.texi (FUNCTION_ARG): Document that the last call
6650         is special.
6651
6652 2001-07-01  Nathan Sidwell  <nathan@codesourcery.com>
6653
6654         * tlink.c (recompile_files): Remove COMPILER_PATH and
6655         LIBRARY_PATH from the environment.
6656
6657 2001-07-01  Zack Weinberg  <zackw@stanford.edu>
6658
6659         * c-common.h (enum rid): Add RID_FIRST_AT, RID_LAST_AT,
6660         RID_LAST_PQ.  Move RID_FIRST_PQ down with the other FIRST/LAST
6661         enumerators.
6662         (OBJC_IS_AT_KEYWORD, OBJC_IS_PQ_KEYWORD): New macros.
6663
6664         * c-parse.in (OBJC_STRING): Kill.
6665         (objc_string): Decompose to [objc_string] '@' STRING.
6666         (reswords): Take the leading '@' off all the Objective C keywords.
6667         (objc_rid_sans_at): Kill.
6668         (init_reswords): Don't initialize it.
6669         (yylexname): Use OBJC_IS_AT_KEYWORD and OBJC_IS_PQ_KEYWORD.
6670         (_yylex): Kill reconsider label.  Look ahead one token after
6671         an '@'; if we get an identifier, check whether it's an
6672         Objective C @-keyword.  If so, return the keyword.  Otherwise,
6673         put back the token and return the '@' as a terminal.
6674
6675         * cpplib.c (lex_macro_node): Remove unnecessary check for
6676         leading '@' on identifier.  Clarify control flow and commentary.
6677
6678 Sun Jul  1 11:53:52 2001  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
6679
6680         * cse.c (new_label_ref): Variable deleted.
6681         (insert): Remove set of new_label_ref.
6682         (check_for_label_ref): New function.
6683         (cse_basic_block): Don't check new_label_ref; call check_for_label_ref.
6684
6685 See ChangeLog.5 for earlier changes.