OSDN Git Service

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