OSDN Git Service

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