OSDN Git Service

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