OSDN Git Service

* configure.in: Delete three unused variables. Move a variable
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-03-04  Nathanael Nerode  <neroden@gcc.gnu.org>
2
3         * configure.in: Delete three unused variables.  Move a variable
4         definition closer to its use.  Simplify use_collect2 logic.  Start to
5         organize.  Simplify tests for in-tree gas and ld.
6         * configure: Regenerate.
7
8 2003-03-04  Neil Booth  <neil@daikokuya.co.uk>
9
10         * Makefile.in: Update.
11         * c-common.c (flag_no_line_commands, flag_no_output,
12         flag_dump_macros, flag_dump_includes): New.
13         * c-common.h (flag_no_line_commands, flag_no_output,
14         flag_dump_macros, flag_dump_includes, preprocess_file): New.
15         (init_c_lex): Update prototype.
16         * c-lex.c (init_c_lex): Update prototype; move some code to
17         c_common_init.
18         * c-opts.c (preprocess_file): Subsume into c_common_init.
19         (c_common_decode_option): Update flags.
20         (c_common_init): Move code from preprocess_file and init_c_lex.
21         (sanitize_cpp_opts): Update.
22         * c-ppoutput.c: New, cppmain.c almost verbatim.
23         * cpphash.h (struct printer): Remove.
24         (struct cpp_reader): Remove print.
25         * cpplib.h (dump_none, dump_only, dump_names, dump_definitions,
26         cpp_preprocess_file): Remove.
27         (struct cpp_options): Remove no_output, no_line_commands, dump_macros
28         and dump_includes.
29         * cppmain.c: Remove.
30         * doc/passes.texi: Update.
31
32 2003-03-04  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
33
34         * function.c (STACK_ALIGNMENT_NEEDED): New macro.  Default to 1.
35         (assign_stack_local_1): Perform overall stack alignment only when
36         STACK_ALIGNMENT_NEEDED is non-zero.
37         * doc/tm.texi (STACK_ALIGNMENT_NEEDED): Document.
38
39         * pa.c (compute_frame_size): Rename fsize to size.  Account for
40         alignment to a word boundary before general register save block.  Only
41         account for double-word alignment before floating point register save
42         block if one or more are saved.  Don't allocate space for %r3 when
43         frame pointer is needed.
44         (hppa_expand_prologue): Include alignment to word boundary in local
45         frame size.
46         * pa.h (STARTING_FRAME_OFFSET): Define to 8 on both 32 and 64-bit ports.
47         (STACK_ALIGNMENT_NEEDED): Define.
48
49 2003-03-04  Kevin Buettner  <kevinb@redhat.com>
50
51         * dwarf2out.c (rtl_for_decl_location): Don't return NULL_RTX for
52         global register variables.
53
54 2003-03-04  Alexandre Oliva  <aoliva@redhat.com>
55
56         * reload.c (reload_adjust_reg_for_mode): New function.
57         (subst_reloads): Call it.
58         (operands_match_p): Adjust registers using HARD_REGNO_NREGS.
59         * reload.h (reload_adjust_reg_for_mode): Declare.
60         * reload1.c (emit_input_reload_insns, emit_output_reload_insns):
61         Call it.
62
63 2003-03-03  James E Wilson  <wilson@tuliptree.org>
64
65         * optabs.c (add_equal_note): Delete SUBREG_REG use.
66         Fixes PR c/7872.
67
68 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
69
70         * config/h8300/h8300.md (*ixorsi3_ashift_16): New.
71         (*ixorsi3_lshiftrt_16): New.
72         (*iorsi3_ashift_16): Remove.
73
74 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
75
76         * config/h8300/h8300.md (*extzv_8_8): Use '?' to simplify the
77         pattern.
78
79 2003-03-03  Geoffrey Keating  <geoffk@apple.com>
80
81         * doc/install.texi (Specific): Update entry for powerpc-darwin.
82
83 2003-03-03  Richard Henderson  <rth@redhat.com>
84
85         * config/ia64/ia64.h (HAVE_AS_LTOFFX_LDXMOV_RELOCS): Default to 0.
86
87 2003-03-03  David Edelsohn  <edelsohn@gnu.org>
88
89         * config/rs6000/rs6000.c (rs6000_multipass_dfa_lookahead): Delete.
90         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Delete.
91         (rs6000_variable_issue): Do not return negative value.
92         (rs6000_issue_rate): Uniformly set issue rate to 1 for first
93         scheduling pass.
94
95 2003-03-03  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
96
97         * dwarf2out.c (dwarf2out_finish): Swap order of break_out_includes and
98         prune_unused_types calls.
99
100 2003-03-03  Jason Merrill  <jason@redhat.com>
101
102         * tree-inline.c (find_builtin_longjmp_call): Save and restore
103         lineno and input_filename.
104         (find_alloca_call): Likewise.
105         (inlinable_function_p): Run the langhook earlier.
106
107         * calls.c (compute_argument_addresses): Give the new MEMs a
108         minimum alignment of PARM_BOUNDARY.
109
110 Mon Mar  3 20:45:25 2003  J"orn Rennecke <joern.rennecke@superh.com>
111
112         * config/sh/sh.h (EXTRA_SPECS): Add subtarget_asm_relax_spec and
113         subtarget_asm_isa_spec.
114         (SUBTARGET_ASM_RELAX_SPEC, SUBTARGET_ASM_ISA_SPEC): Define.
115         (ASM_SPEC): Define as SH_ASM_SPEC.
116         (SH_ASM_SPEC): New; take the role of ASM_SPEC, but safe from svr4.h.
117         Use subtarget_asm_relax_spec and subtarget_asm_isa_spec.
118         * config/sh/elf.h (ASM_SPEC): Use SH_ASM_SPEC.
119         (SUBTARGET_ASM_ISA_SPEC): Undef / define.
120
121         * sh.h (OVERRIDE_OPTIONS): Set default values for align_loops
122         and align_jumps if not set.
123         Force align_jumps to be at least 2.
124         When relaxing, force align_functions to be at least the maximum of
125         align_loops, align_jumps and 4.
126         * sh.c (find_barrier, barrier_align): Honour align_jumps_log.
127         (sh_loop_align): Honour align_loops_log.
128
129         * sh.md (length attribute): Use prev_nonnote_insn instead of PREV_INSN
130         to check for indirect_jump_scratch.
131         (indirect_jump_scratch): Add second set.
132         * sh.c (output_far_jump): Use prev_nonnote_insn instead of PREV_INSN
133         when looking for indirect_jump_scratch.
134         Extract scratch register taking new structure of indirect_jump_scratch
135         into account.
136         (gen_block_redirect): Set INSN_SCOPE for indirect_jump_scratch.
137
138 Mon Mar  3 19:07:21 CET 2003  Jan Hubicka  <jh@suse.cz>
139
140         * calls.c (rtx_for_function_call): Take the address as an argument
141         (expand_call): Do not modify the expression.
142
143         * toplev.c (rest_of_compilation):  Avoid cfg_cleanup calls when not
144         optimizing.
145
146 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
147
148         * config/h8300/h8300.md (*ixorsi3_zext_hi): Restrict to
149         TARGET_H8300H and TARGET_H8300S.
150
151 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
152
153         * config/h8300/h8300.md (a peephole2): New.
154
155 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
156
157         * config/h8300/h8300.md (*extzv_8_8): Use shorter code when
158         operands[0] and operands[1] are different.
159
160 2003-03-03  Kazu Hirata  <kazu@cs.umass.edu>
161
162         * reload1.c (reload_cse_move2add): Remove variable success.
163
164 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
165
166         * ggc-common.c (ggc_rlimit_bound): Cast RLIM_INFINITY to avoid
167         warnings.
168
169 2003-03-02  Richard Henderson  <rth@redhat.com>
170
171         * configure.in (HAVE_AS_LTOFFX_LDXMOV_RELOCS): New ia64 test.
172         * config.in, configure: Rebuild.
173         * config/ia64/ia64.c (ia64_ld_address_bypass_p): Accept lo_sum.
174         * config/ia64/ia64.md (load_symptr): Use high/lo_sum for the 
175         paired ldtoffx and ldxmov annotations.
176         (load_symptr_internal1): Remove.
177         (load_symptr_high, load_symptr_low): New.
178
179 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
180
181         * c-incpath.c (add_path): Fix sysp assignment.
182
183 2003-03-02  Kurt Garloff  <garloff@suse.de>
184
185         * params.def: Introduce parameter max-inline-insns-rtl for
186         a separate limit for the RTL inliner.
187         * params.h: Likewise.
188         * integrate.c (function_cannot_inline_p): Use it.
189         * toplev.c (decode_f_option): Set multiple parameters 
190         controlling inlining with -finline-limit.
191         * params.def: Fix orthographic and typographic errors.
192         * doc/invoke.texi: Document parameters controlling inlining
193         and the way -finline-limit sets multiple of them.
194
195         * tree.h (struct tree_decl): Introduce inlined_function_flag,
196         recording whether the function became eligible for inlining
197         by a compiler flag rather than the declaration.
198         Provide DID_INLINE_FUNC macro to access it.
199         * c-decl.c (grokdeclarator): Set DID_INLINE_FUNC.
200         * cp/decl.c (grokfndecl): Likewise.
201         * toplev.c (rest_of_compilation): Likewise.
202         * cp/optimize (maybe_clone_body): Copy DID_INLINE_FUNC.
203         * print-tree.c (print_node): Report it.
204         * params.def: Introduce new max-inline-insns-auto limit.
205         * params.h: Likewise.
206         * tree-inline.c (inlinable_function_p): Apply it to functions
207         with DID_INLINE_FUNC set.
208         * toplev.c (decode_f_option): Initialize it from -finline-limit
209         value.
210         * doc/invoke.texi: Document new parameter.
211
212 2003-03-02  Geoffrey Keating  <geoffk@apple.com>
213
214         * fix-header.c (read_scan_file): Don't reference simplify_path.
215
216 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
217
218         * config/m68hc11/m68hc11.c (m68hc11_override_options): Don't enable
219         min/max instructions by default as may result in reload errors.
220
221 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
222
223         * config/m68hc11/m68hc11.md ("mulqi3"): Allow address register to
224         avoid reload problems; define split for it.
225
226 2003-03-02  Stephane Carrez  <stcarrez@nerim.fr>
227
228         * config/m68hc11/m68hc11.c (m68hc11_shift_operator): New function.
229         * config/m68hc11/m68hc11-protos.h (m68hc11_shift_operator): Declare.
230         * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register.
231         * config/m68hc11/m68hc11.md ("rotrhi3", "rotlhi3"): New patterns for 
232         rotatert and rotate.
233         ("rotrhi3_const", "rotlhi3_const"): Rename of old 'rotrhi3' insns.
234         ("*rotrhi3", "*rotlhi3"): New insn pattern for non-const rotatert.
235         ("*rotrhi3_addr"): New split for shift insns on address register.
236         ("*lshrhi3", "*ashrhi3", "*ashlhi3_2"): Use new split.
237         * config/m68hc11/larith.asm (___rotlhi3): New asm function.
238         (___rotrhi3): Likewise.
239         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build them.
240
241 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
242
243         * toplev.c (aux_base_name): Moved from toplev.h.
244         (filename): Constify.
245         (lang_dependent_init): Don't duplicate name.
246         (process_options): Set aux_base_name here, not...
247         (do_compile): ...here.  Change protoype.
248         (toplev_main): Move some code from do_compile.
249         * toplev.h: Remove aux_base_name.
250
251 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
252
253         * config/h8300/h8300-protos.h: Add a prototype for
254         iorxor_operator.
255         * config/h8300/h8300.c (print_operand): Handle 'c'.
256         (iorxor_operator): New.
257         * config/h8300/h8300.h (PREDICATE_CODES): Add iorxor_operator.
258         * config/h8300/h8300.md (*iorhi3_zext): Remove.
259         (*iorsi3_zexthi): Likewise.
260         (*iorsi3_zextsi): Likewise.
261         (*xorhi3_zextqi): Likewise.
262         (*xorsi3_zexthi): Likewise.
263         (*xorsi3_zextsi): Likewise.
264         (*ixorhi3_zext): New.
265         (*ixorsi3_zext_qi): Likewise.
266         (*ixorsi3_zext_hi): Likewise.
267
268 2003-03-02  Neil Booth  <neil@daikokuya.co.uk>
269
270         * c-incpath.c (remove_component_p, simplify_path): Move back to
271         cppfiles.c.
272         (remove_duplicates): Use cpp_simplify_path.
273         * c-incpath.h (simplify_path): Remove.
274         * c-lex.c: Don't include c-incpath.h.
275         (init_c_lex): Remove simplify_path.
276         * cppfiles.c (remove_component_p, cpp_simplify_path): Restore.
277         (find_or_create_entry, validate_pch): Revert.
278
279 2003-03-02  Ashif Harji  <asharji@uwaterloo.ca>
280
281         * gcc.c (default_compilers): Add -no-integrated-cpp flag to invoke
282           an external cpp during compilation.
283         (option_map): Likewise.
284         * objc/lang-specs.h (default_compilers): Similarly.
285         * doc/invoke.texi: Document -no-integrated-cpp flag.
286
287 2003-03-02  Kazu Hirata  <kazu@cs.umass.edu>
288
289         * config/h8300/h8300.md (zero_extendqisi2): Change to an
290         expander.
291         (*zero_extendqisi2_h8300): New.
292         (*zero_extendqisi2_h8300hs): New.
293         (two splitters): New.
294
295 2003-03-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
296
297         * fp-bit.h (float_to_usi): Fix condition wrapping prototype.
298
299 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
300
301         * config/h8300/h8300.md (a peephole2): Remove dead code.
302
303 2003-03-01  Roger Sayle  <roger@eyesopen.com>
304
305         PR c++/9367
306         * builtin-types.def (DEF_FUNCTION_TYPE_VAR_3): New macro.
307         (BT_FN_INT_CONST_STRING_VALIST_ARG,
308         BT_FN_INT_STRING_CONST_STRING_VALIST_ARG,
309         BT_FN_INT_CONST_STRING_CONST_STRING_VALIST_ARG,
310         BT_FN_INT_STRING_SIZE_CONST_STRING_VALIST_ARG,
311         BT_FN_INT_STRING_CONST_STRING_VAR,
312         BT_FN_INT_CONST_STRING_CONST_STRING_VAR,
313         BT_FN_INT_STRING_SIZE_CONST_STRING_VAR): New built-in types.
314         * builtin-attrs.def (ATTR_NONNULL_1, ATTR_NONNULL_2,
315         ATTR_NONNULL_3): Also include the nothrow attribute.
316         (sprintf, scanf, sscanf, vprintf, vsprintf, snprintf,
317         vsnprintf, vscanf, vsscanf): Don't define attributes here.
318         * builtins.def (putchar, puts): Make full C89 built-ins.
319         (snprintf, sprintf, scanf, sscanf, vprintf, vscanf,
320         vsscanf, vsnprintf, vsprintf): New built-ins.
321         * c-common.c (c_common_nodes_and_builtins): Handle new macro
322         DEF_FUNCTION_TYPE_VAR_3.
323
324         * doc/extend.texi: Document these new built-in functions.
325
326 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
327
328         * config/h8300/h8300.md (a peephole2): New.
329
330 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
331
332         * predict.c (estimate_bb_frequencies): Correctly set
333         real_values_initialized after initialization.
334
335 2003-03-01  Neil Booth  <neil@daikokuya.co.uk>
336
337         * Makefile.in (C_AND_OBJC_OBJS, c-incpath.o, c-lex.o, LIBCPP_OBJS,
338         cppinit.o, cppdefault.o, fix-header): Update.
339         * c-incpath.c: New file.
340         * c-incpath.h: New file.
341         * c-lex.c: Include c-incpath.h.
342         (init_c_lex): Register path simplifier.
343         * c-opts.c: Include cppdefault.h and c-incpath.h.
344         (TARGET_SYSTEM_ROOT, verbose, iprefix, sysroot, std_inc,
345         std_cxx_inc, quote_chain_split, add_prefixed_path): New.
346         (COMMAND_LINE_OPTIONS): Add more options from cpplib.
347         (missing_arg, c_common_decode_option): Handle them.
348         (c_common_post_options): Register include chains.
349         (print_help): Update.
350         * cppdefault.h (struct default include): Update.
351         Move some macros to ...
352         * cppdefault.c: ... here.
353         (cpp_include_defaults): Add extra field add_sysroot.
354         * cppfiles.c (include_file, search_from, find_or_create_entry,
355         cpp_included, find_include_file, remap_filename): Update for
356         renaming of search_path to cpp_path, and of the chain headers.
357         (remove_component_p, _cpp_simplify_pathname): Move to c-incpath.c.
358         * cpphash.h (struct search_path): Move to cpplib.h.
359         (struct cpp_buffer, struct cpp_reader): Update.
360         (_cpp_simplify_pathname): Remove.
361         * cppinit.c: Don't include prefix.h and cppdefault.h.
362         (INO_T_EQ, INO_T_COPY, path_include, append_include_chain,
363         remove_dup_dir, remove_dup_nonsys_dirs, remove_dup_dirs,
364         init_standard_includes, BRACKET, SYSTEM, AFTER, no_dir,
365         no_pth, cpp_handle_options): Remove.
366         (struct pending_option): Remove chain members.
367         (cpp_destroy, cpp_read_main_file, COMMAND_LINE_OPTIONS,
368         cpp_handle_option): Update.
369         * cpplib.h (struct cpp_path, cpp_set_include_chains): New.
370         (struct cpp_options): Remove quote_include, bracket_include,
371         include_prefix, include_prefix_len, verbose, ignore_srcdir,
372         no_standard_includes, no_standard_cplusplus_includes.
373         (struct cpp_callbacks): Add simplify_path.
374         (cpp_handle_options): Remove.
375         * fix-header.c: Include c-incpath.h.
376         (read_scan_file): Update to use c-incpath functionality.
377         * doc/passes.texi: Update.
378
379 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
380
381         * config/h8300/h8300.c (bit_operand): Accept MEM only if it
382         satisfies EXTRA_CONSTRAINT 'U'.
383
384 2003-03-01  Kazu Hirata  <kazu@cs.umass.edu>
385
386         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Take a scratch
387         register.
388         (*tst_extzv_memqi_1_n): Change to a splitter.
389         (a peephole2): Update.
390
391 2003-03-01  Richard Earnshaw  <rearnsha@arm.com>
392
393         * predict.c (estimate_bb_frequencies): Initialize the sreal
394         constants once per compilation.
395
396 2003-02-28  Richard Henderson  <rth@redhat.com>
397
398         * toplev.c (flag_eliminate_unused_debug_types): Enable by default.
399
400 2003-02-28  scott snyder  <snyder@fnal.gov>
401
402         * flags.h: Add flag_eliminate_unused_debug_types.
403         * toplev.c: Add flag_eliminate_unused_debug_types.
404         (f_options): Add -feliminate-unused-debug-types.
405         * dwarf2out.c (struct file_table): Add emitted member.
406         (splice_child_die): Fix the parent pointer for the child being
407         spliced.
408         (lookup_filename): Maintain file_table.emitted array.  Don't
409         output .file directive here.
410         (maybe_emit_file): (new)
411         (init_file_table): Set up file_table.emitted.
412         (dwarf2out_source_line): Use maybe_emit_file.
413         (dwarf2out_start_source_file): Use maybe_emit_file.
414         (dwarf2out_init): Use maybe_emit_file.
415         (prune_unused_types_walk_attribs): (new)
416         (prune_unused_types_mark): (new)
417         (prune_unused_types_walk): (new)
418         (prune_unused_types_prune): (new)
419         (prune_unused_types): (new)
420         (dwarf2out_finish): Call prune_unused_types if
421         flag_eliminate_unused_debug_types is set.
422         * doc/invoke.texi (Option Summary): Add
423         -feliminate-unused-debug-types.
424         (Debugging Options): Likewise.
425
426 2003-02-28  Geoffrey Keating  <geoffk@apple.com>
427
428         * doc/invoke.texi: Change .pch to .gch.
429         * cppfiles.c (open_file_pch): Likewise.
430         * gcc.c (default_compilers): Likewise.
431
432 2003-02-28  Aldy Hernandez  <aldyh@redhat.com>
433
434         * floatlib.c: Remove.
435
436 2003-02-28  Jason Merrill  <jason@redhat.com>
437
438         * stor-layout.c (variable_size): Leave a "minus 1" outside the
439         SAVE_EXPR.
440
441 2003-02-28  David Edelsohn  <edelsohn@gnu.org>
442
443         * config/rs6000/power4.md: Add compare bypass.
444
445 2003-02-28  Jason Thorpe  <thorpej@wasabisystems.com>
446
447         * config/netbsd.h: Update copyright years.
448         (NETBSD_CPP_SPEC): Define _REENTRANT and _PTHREADS if
449         -pthread is specified on the command line.
450
451 2003-02-28  Dale Johannesen <dalej@apple.com>
452
453         * loop.c (struct movable): Add insert_temp, shrink savemode.
454         (scan_loop): Accept invariants that require copying; mark as
455         insert_temp.
456         (combine_movables): Don't combine insert_temp movables.
457         (move_movables): Insert copies for insert_temp movables.
458         Don't record the info based on regno for insert_temp's.
459
460 2003-02-28  Joel Sherrill <joel@OARcorp.com>
461
462         PR 9638/other
463         * config/i386/i386.c (DEFAULT_PCC_STRUCT_RETURN): Ensure the 
464         this constant defaults to 1.
465
466 2003-02-28  Bob Wilson  <bob.wilson@acm.org>
467
468         * config.gcc (xtensa-*-linux*): Add t-slibgcc-elf-ver to tmake_file.
469
470 2003-02-28  Richard Earnshaw  <rearnsha@arm.com>
471
472         * arm.md (mulhisi3, mulhisi3addsi, mulhidi3adddi): Enable for any 
473         ARMv5e processor, not just for XScale.  Instructions are predicable.
474         (mulhisi3tb, mulhisi3bt, mulhisi3tt): New patterns for ARMv5e.
475
476 2003-02-28  Nick Clifton  <nickc@redhat.com>
477
478         * config/arm/arm.c (note_invalid_constants): Change parameter type
479         from bool to int.
480
481 2003-02-28  Kazu Hirata  <kazu@cs.umass.edu>
482
483         * config/h8300/h8300.md (*tst_extzv_bitqi_1_n): Accept the
484         test of bit 7.
485         (*tst_extzv_memqi_1_n): Likewise.
486         (a peephole2): New.
487
488 2002-02-28  Richard Sandiford  <rsandifo@redhat.com>
489
490         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Wrap in
491         #ifndef __mips16.
492
493 Fri Feb 28 11:09:14 CET 2003  Jan Hubicka  <jh@suse.cz>
494
495         * combine.c (gen_lowpart_for_combine): Update handling of
496         subregs_of_mode
497         * flow.c (life_analysis, mark_used_regs): Likewise.
498         * regclass.c (subregs_of_mode): Turn into single bitmap.
499         (cannot_change-mode_set_regs, invalid_mode_change_p): Update
500         dealing with subregs_of_mode
501         * regs.h (subregs_of_mode): Update prototype.
502
503 2003-02-28  Josef Zlomek  <zlomekj@suse.cz>
504
505         * emit-rtl.c (set_reg_attrs_for_parm): New function.
506         * rtl.h (set_reg_attrs_for_parm): New exported function.
507         * function.c (assign_parms): Use set_reg_attrs_for_parm instead of
508         set_reg_attrs_from_mem.
509
510 2003-02-27  Roger Sayle  <roger@eyesopen.com>
511             Zack Weinberg <zack@codesourcery.com>
512
513         * gcc.c (do_spec_1):  Treat %U like %u for unique associations.
514
515 2003-02-27  Kazu Hirata  <kazu@cs.umass.edu>
516
517         * reload1.c (sext_for_mode): Remove.
518         (reload_cse_move2add): Use trunc_int_for_mode instead of
519         sext_for_mode.
520         (move2add_note_store): Likewise.
521         Reset register information if we see a set in non-integer
522         mode.
523
524 2003-02-27  David Edelsohn  <edelsohn@gnu.org>
525
526         * config/rs6000/aix43.h (ASM_SPEC): Only emit -mppc64 if no -mcpu
527         option.
528         (ASM_CPU_SPEC): Use -m620 for Power3, Power4, 620, 630.
529         * config/rs6000/aix51.h: Same.
530         * config/rs6000/aix52.h: Same.
531         * config/rs6000/power4.md: Additional VMX bypasses.
532
533 2003-02-27   Geert Bosch <bosch@gnat.com>
534
535         * toplev.c (print_version): Add indentation for GGC heuristics and
536         output after printing version information.
537
538 2003-02-27  James E Wilson  <wilson@tuliptree.org>
539
540         * combine.c (simplify_comparison): Require integral mode when
541         permuting SUBREG with AND.
542
543 2003-02-27  Steve Ellcey  <sje@cup.hp.com>
544
545         * config/ia64/hpux.h (STARTFILE_PREFIX_SPEC): Remove.
546
547 2003-02-27  Nick Clifton  <nickc@redhat.com>
548
549         * config/arm/arm.md (extendsfdf2): Add pattern accidentally
550         deleted when cirrus instructions were added.
551
552 2003-02-27  Jason Thorpe  <thorpej@wasabisystems.com>
553
554         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Enable
555         POSIX thread support by default.
556
557 2003-02-27  Roger Sayle  <roger@eyesopen.com>
558
559         * config/i386/cygwin.h: Don't include any other files directly.
560         * config/i386/mingw32.h: Don't include cygwin.h directly.
561         * config.gcc (cygwin, mingw32, uwin): Instead make these files
562         explicit in the tm_files variable.
563
564 2003-02-27  Alan Modra  <amodra@bigpond.net.au>
565
566         * config/rs6000/rs6000.md: Add TI constant splitter.
567
568 2003-02-26  Alexandre Oliva  <aoliva@redhat.com>
569
570         * builtins.c (purge_builtin_constant_p): Handle subreg of
571         constant_p_rtx too.
572
573         * function.c (assign_stack_local_1): Truncate constant added to
574         frame_pointer_rtx or virtual_stack_vars_rtx for Pmode.
575
576 2003-02-26  David Edelsohn  <edelsohn@gnu.org>
577
578         * config.gcc: Add power4 to PowerPC with_cpu list.
579
580 Wed Feb 26 19:46:25 CET 2003  Jan Hubicka  <jh@suse.cz>
581
582         * objc-act.c: (mark_referenced_methods): Fix compilation problem.
583
584 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
585
586         * gcov-dump.c (print_prefix): Fix signedness warning.
587         * gcov-io.h (struct counter_section, struct counter_section_data): New.
588         (struct function_info): n_arc_counts field removed, n_counter_sections,
589         counter_sections fields added.
590         (struct gcov_info): arc_counts, n_arc_counts fields removed,
591         n_counter_sections, counter_sections fields added.
592         * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple
593         profile sections.
594         * profile.h (MAX_COUNTER_SECTIONS): New.
595         (struct section_info): New.
596         (struct profile_info): count_instrumented_edges,
597         count_edges_instrumented_now fields removed, n_sections, section_info
598         fields added.
599         (find_counters_section): Declare.
600         * profile.c (struct function_list): count_edges field removed,
601         n_counter_sections, counter_sections fields added.
602         (set_purpose, label_for_tag, build_counter_section_fields,
603         build_counter_section_value, build_counter_section_data_fields,
604         build_counter_section_data_value, build_function_info_fields,
605         build_function_info_value, build_gcov_info_fields,
606         build_gcov_info_value): New static functions.
607         (find_counters_section): New function.
608         (instrument_edges, get_exec_counts, compute_branch_probabilities,
609         branch_prob, create_profiler): Modified to support multiple profile
610         sections.
611
612 2003-02-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
613
614         * pa.c (compute_frame_size): Don't assume PREFERRED_STACK_BOUNDARY
615         is 8 * STACK_BOUNDARY.
616         * pa.h (PREFERRED_STACK_BOUNDARY): Change to 128 on 64-bit port.
617
618 2003-02-26  Michael Matz  <matz@suse.de>
619
620         * ra-colorize.c (merge_moves): Fix list handling.
621
622 2003-02-26  Nick Clifton  <nickc@redhat.com>
623
624         * config/arm/arm.c (is_load_address): Rename to...
625         (arm_memory_load_p) ... this and make it check for SUBREGs and
626         constant loads that will be converted into loads from the
627         minipool.
628         (is_cirrus_insn): Rename to ...
629         (arm_cirrus_insn_p): ... this, for consistency.  Replace test
630         of CIRRUS_NO with CIRRUS_NOT.
631         (cirrus_reorg): Use renamed functions.
632         (note_invalid_constants): Change from a void function to bool.
633         Add an extra parameter, saying whether the fixups should be
634         pushed.  Return true if fixups are needed.
635         (arm_reorg): Use renamed functions.  Use INSN_P.  Replace test
636         of CIRRUS_NO with CIRRUS_NOT.
637         * config/arm/arm.h (FLOAT_WORDS_BIG_ENDIAN): Mention that
638         other floating point co-processors can also affect this.
639         * config/arm/arm.md ("type" attribute): Add mav_farith and
640         mav_dmult.  Replace references to "cirrus_type" attribute with
641         "type".
642         * config/arm/cirrus.md ("cirrus_fpu" attribute): Delete.
643         ("cirrus_type" attribute): Delete - use "type" instead.
644         ("cirrus" attribute): Replace 'no' with 'not' and 'yes' with
645         'normal'.        
646
647 Tue Feb 25 22:46:27 CET 2003  Jan Hubicka  <jh@suse.cz>
648
649         * objc-act.c: Include cgraph.h
650         (mark_referenced_methods): New function.
651         (objc_init): Call it.
652         * objc-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Set.
653
654         * c-decl.c (finish_function): Honor can_defer_p even in unit-at-a-time
655         mode.
656
657         * optabs.c (expand_fix): Do not widen the input operand.
658
659         * expr.c (emit_group_store):  Fix crash when converting single
660         register into complex register.
661
662         * Makefile.in (jump.o, regclass.o, alias.o): Add dependency on timevar.h
663         * alias.c: Include timevar.h
664         (init_alias_analysis):  Set timevar
665         * jump.c: Include timevar.h
666         (rebuild_jump_labels):  Set timevar
667         * regcalss.c: Include timevar.h
668         (reg_scan):  Set timevar
669         * timevar.def (TV_ALIAS_ANALYSIS, TV_REG_SCAN, TV_REBUILD_JUMP): New
670
671 2003-02-26  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
672
673         * cse.c (count_reg_usage): Fix handling of REG_EQUAL notes.
674
675         * Makefile.in (loop-unroll.o): New.
676         * cfgloop.h (UAP_PEEL, UAP_UNROLL, UAP_UNROLL_ALL): New.
677         (unroll_and_peel_loops): Declare.
678         * alias.c (init_alias_analysis): Flag_unroll_loops renamed to
679         flag_old_unroll_loops.
680         * loop.c (loop_invariant_p): Ditto.
681         * unroll.c (unroll_loop): Flag_unroll_all_loops renamed to
682         flag_old_unroll_all_loops.
683         * flags.h (flag_unroll_loops): Renamed to flag_old_unroll_loops.
684         (flag_unroll_all_loops): Renamed to flag_old_unroll_all_loops.
685         * params.def (PARAM_MAX_UNROLLED_INSNS): Default value changed.
686         (PARAM_MAX_AVERAGE_UNROLLED_INSNS, PARAM_MAX_UNROLL_TIMES,
687         PARAM_MAX_PEELED_INSNS, PARAM_MAX_PEEL_TIMES,
688         PARAM_MAX_COMPLETELY_PEELED_INSNS, PARAM_MAX_COMPLETELY_PEEL_TIMES,
689         PARAM_MAX_ONCE_PEELED_INSNS): New.
690         * toplev.h (flag_old_unroll_loops, flag_old_unroll_all_loops): New.
691         (flag_unroll_loops, flag_unroll_all_loops): Used for new unroller
692         instead of old one.
693         (flag_peel_loops): New.
694         (lang_independent_options): The new flags added.
695         (rest_of_compilation): Call new unroller.
696         (process_options): Setup flags for coexistence of old and new unroller.
697         * doc/invoke.texi: Document new options.
698         * doc/passes.texi: Document new unroller pass.
699
700 2003-02-26  David Billinghurst <David.Billinghurst@riotinto.com>
701
702         * fixinc/fixincl.x: Regenerate
703
704 2003-02-26  Josef Zlomek  <zlomekj@suse.cz>
705
706         * function.c (assign_parms): Set reg_attrs for parameters passed in
707         registers.
708
709 2003-02-26  Alan Modra  <amodra@bigpond.net.au>
710
711         PR target/9681
712         * tlink.c (scan_linker_output): Drop leading '.' from symbol names.
713
714 2003-02-25  David Edelsohn  <edelsohn@gnu.org>
715
716         * config/rs6000/xcoff.h (ASM_FILE_START): Do not emit machine
717         pseudo-op.
718
719 2003-02-25  Roger Sayle  <roger@eyesopen.com>
720
721         * combine.c (combine_simplify_rtx, simplfy_comparison):  Use CC0_P.
722         * cse.c (invalidate_skipped_set):  Likewise.
723         * integrate.c (subst_constants):  Likewise.
724         * jump.c (reversed_comparison_code_parts):  Likewise.
725         * loop.c (canonicalize_condition):  Likewise.
726         * simplify-rtx.c (simplify_relational_operation):  Likewise.
727
728 2003-02-25  Roger Sayle  <roger@eyesopen.com>
729
730         * builtins.def (DEF_LIB_ALWAYS_BUILTIN, DEF_UNUSED_BUILTIN): Delete.
731         (abs, labs, fabs, fabsf, fabsl, abort, exit, _exit, _Exit):  Use
732         the appropriate macro to define built-in function.
733         (fmod,fmodf,fmodl): New built-in functions.
734
735         * doc/extend.texi (fmod,fmodf,fmodl): Document new built-ins.
736
737 2003-02-25  Richard Henderson  <rth@redhat.com>
738
739         * config/i386/i386.c (function_arg): Pass variable sized
740         structures correctly on the stack.
741
742 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
743
744         * reload1.c (reload_cse_move2add): Use STRICT_LOW_PART if PLUS
745         does not reduce the cost of SET.
746
747 2003-02-25  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
748
749         PR target/9732
750         * config/rs6000/rs6000.c (first_reg_to_save): Handle
751         PIC_OFFSET_TABLE_REGNUM for -fPIC too.
752         (rs6000_emit_prologue): Likewise.
753         (rs6000_emit_epilogue): Likewise.
754         * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make
755         PIC_OFFSET_TABLE_REGNUM a fixed register for -fPIC.
756
757 2003-02-25  Richard Henderson  <rth@redhat.com>
758
759         * real.c (real_to_integer2): Force overflow result only for
760         unsigned overflow.
761
762 2003-02-25  Kazu Hirata  <kazu@cs.umass.edu>
763
764         * gcse.c (cprop_jump): Revert the 2003-02-23 change.
765
766 2003-02-25  Vladimir Makarov  <vmakarov@toke.toronto.redhat.com>
767             Richard Henderson  <rth@redhat.com>
768
769         * sched-ebb.c (add_deps_for_risky_insns): Add the dependence when
770         there is no similar load.
771
772 2003-02-25  Vladimir Makarov  <vmakarov@redhat.com>
773             Richard Henderson  <rth@redhat.com>
774
775         * sched-int.h (INSN_TRAP_CLASS, WORST_CLASS): Move them from
776         sched-rgn.c.
777         (add_forward_dependence): New function prototype.
778
779         * sched-rgn.c (INSN_TRAP_CLASS, WORST_CLASS): Move them to
780         sched-init.h.
781         (CONST_BASED_ADDRESS_P, may_trap_exp, haifa_classify_insn): Move
782         them to haifa-sched.c.
783
784         * haifa-sched.c (CONST_BASED_ADDRESS_P, may_trap_exp,
785         haifa_classify_insn): Move them from sched-rgn.c.
786
787         * sched-deps.c (add_dependence): Return flag of creating a new
788         entry.
789         (add_forward_dependence): New function.
790         (compute_forward_dependences): Use the function.
791         
792         * sched-ebb.c (earliest_block_with_similiar_load): New function.
793         (add_deps_for_risky_insns): New function.
794         (schedule_ebb): Call the function.
795
796 2003-02-20  Aldy Hernandez  <aldyh@redhat.com>
797
798         * doc/tm.texi: Document Rename TARGET_VECTOR_TYPES_COMPATIBLE to
799         TARGET_VECTOR_OPAQUE_P.  Document accordingly.
800
801         * testsuite/gcc.dg/20030218-1.c: Check that initialization of
802         opaque types fail.
803
804         * c-typeck.c (comptypes): Change call to vector_types_compatible
805         to vector_opaque_p.
806         (convert_for_assignment): Call vector_opaque_p instead of
807         vector_types_compatible.
808         (really_start_incremental_init): Disallow initialization of opaque
809         types.
810
811         * target-def.h: Remove TARGET_VECTOR_TYPES_COMPATIBLE.
812         Define TARGET_VECTOR_OPAQUE_P.
813         (TARGET_INITIALIZER): Same.
814
815         * target.h (struct gcc_target): Remove vector_types_compatible.
816         Add vector_opaque_p.
817
818         * config/rs6000/rs6000.c (rs6000_spe_vector_types_compatible):
819         Remove.
820         (is_ev64_opaque_type): Check for TARGET_SPE and make sure type is
821         a vector type.  Change return type to bool.
822         (TARGET_VECTOR_TYPES_COMPATIBLE): Remove.
823         (TARGET_VECTOR_OPAQUE_P): Define.
824
825         * cp/parser.c (cp_parser_init_declarator): Call vector_opaque_p
826         target hook.
827         Include target.h.
828         (cp_parser_init_declarator): Fix typo in function comments.
829
830 Tue Feb 25 12:35:34 CET 2003  Jan Hubicka  <jh@suse.cz>
831
832         * Makefile.in (lcm.o):  Add dependency on function.h
833         * lcm.c (function.h): Include.
834         * i386.c (machine_function, ix86_stack_locals,
835         * ix86_save_varrargs_registers) : Move to
836         ...
837         * i386.h (machine_function, ix86_stack_locals,
838         ix86_save_varrargs_registers): ... here; add optimize_mode_switching
839         (ix86_optimize_mode_switching): New.
840         * i386.md (fix patterns): Set ix86_optimize_mode_switching
841
842 2003-02-25  Nick Clifton  <nickc@redhat.com>
843
844         * config/d30v/d30v.c (d30v_init_cumulative_args): Fix typo.  Name
845         of fourth arg is 'fndecl' not 'indirect'.  Update comment
846         describing the function's parameters.
847
848 Mon Feb 24 22:08:22 CET 2003  Jan Hubicka  <jh@suse.cz>
849
850         * combine.c (simplify_shift_const):  Fix previous patch.
851
852 2003-02-24  Jeff Law  <law@redhat.com>
853
854         * i386.md (testdi_1_rex64): Discourage reload from using the %eax
855         alternative.
856         (testsi_1, testhi_1, testqi_1): Likewise.
857
858 2003-02-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
859
860         * config/alpha/osf.h (TARGET_OS_CPP_BUILTINS): Rename
861         __EXTERN_PREFIX to __PRAGMA_EXTERN_PREFIX.
862         * doc/extend.texi (Tru64 Pragmas): Reflect this.
863
864         * fixinc/inclhack.def (alpha___extern_prefix): Indicate #pragma
865         extern_prefix support for Tru64 UNIX V5 <sys/stat.h>. 
866         * fixinc/fixincl.x: Regenerate.
867         * fixinc/tests/base/sys/stat.h [ALPHA___EXTERN_PREFIX_CHECK]: New
868         testcase.
869         Fixes PR c/5059, c/6126, other/9671.
870         
871 2003-02-24  Roger Sayle  <roger@eyesopen.com>
872
873         * gcc.c (do_spec_1) ['{']:  Handle pending argument upon return
874         from handle_braces in "%{...}".
875
876 2003-02-24  Kaz Kojima  <kkojima@gcc.gnu.org>
877
878         * config/sh/sh.c (TARGET_HAVE_TLS): Conditionally define.
879         (prepare_move_operands): Handle TLS operands.
880         (tls_symbolic_operand): New.
881         (nonpic_symbol_mentioned_p): Handle TLS UNSPECs.
882         (legitimize_pic_address): Do nothing for the TLS symbol.
883         (sh_encode_section_info): Handle TLS case.
884         (sh_strip_name_encoding): Drop TLS encoding.
885         * config/sh/sh-protos.h (tls_symbolic_operand): Add prototype.
886         * config/sh/sh.h (SH_TLS_ENCODING): Define.
887         (TLS_SYMNAME_P, STRIP_TLS_ENCODING): Likewise.
888         (ASM_OUTPUT_LABELREF): Drop TLS encoding.
889         (OUTPUT_ADDR_CONST_EXTRA): Handle TLS UNSPECs.
890         * config/sh/sh.md: Define TLS UNSPEC constants.
891         (type): Add tls_load.
892         ("tls_global_dynamic", "tls_local_dynamic"): New insns.
893         ("sym2DTPOFF", "symDTPOFF2reg", "sym2GOTTPOFF"): New expanders.
894         ("tls_initial_exec"): New insn.
895         ("sym2TPOFF", "symTPOFF2reg"): New expanders.
896         ("load_gbr"): New insn.
897
898         * configure.in (HAVE_AS_TLS): Add sh-*-* and sh[34]*-*-* cases.
899         * configure: Regenerate.
900
901 2003-02-24  Alan Modra  <amodra@bigpond.net.au>
902
903         PR 9297, PR 9722
904         * calls.c (store_one_arg): Revert 1999-02-16 change.  Revert
905         2000-12-17 change.  Pass EXPAND_STACK_PARM to expand_expr.
906         * expr.h (enum expand_modifier): Define EXPAND_STACK_PARM.
907         (enum block_op_methods): Reorder for better store_expr optimization.
908         * expr.c (store_expr): Test bit 1 of "want_value" for call param
909         stores, test bit 0 for original want_value meaning.  Pass
910         BLOCK_OP_CALL_PARM to emit_block_move when bit 1 set.  Adjust
911         recursive calls, and calls to expand_param.
912         (expand_expr): Handle EXPAND_STACK_PARM modifier.  When cse
913         expected, set target to 0 rather than to subtarget.  Formatting.
914
915 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
916
917         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
918
919 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
920
921         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
922         new default behavior.
923         * ggc-common.c: Include sys/resource.h.
924         (ggc_rlimit_bound): New function.
925         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
926         defaults to account for rlimits.
927
928 2003-02-22  Richard Henderson  <rth@redhat.com>
929
930         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
931
932 2003-02-22  Kelley Cook <kelley@dwhoops.info>
933
934         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
935         (ix86_tune_string): Rename from ix86_cpu_string.
936
937 2003-02-22  Kelley Cook <kelleycook@comcast.net>
938
939         * config/i386/i386.c: Replace "mcpu" with "mtune".
940         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
941         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
942         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
943         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
944
945 2003-02-23  Andreas Schwab  <schwab@suse.de>
946
947         * config.gcc: Delete references to m68k/t-linux and
948         m68k/t-linux-aout.
949         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
950
951 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
952
953         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
954         of track scheduling patch.
955
956 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
957
958         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
959         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
960
961 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
962
963         * c-decl.c (c_expand_body_1): Fix.
964
965 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
966
967         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
968
969         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
970         when not optimizing.
971         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
972         when not expensive.
973         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
974         optimizing;  Delete trivially dead insns early; fix optimize check.
975
976         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
977         dependency on cgraph.h
978         * c-decl.c: Include cgraph.h
979         (finish_function): Update call of tree_inlinable_function_p.
980         * c-objc-common.c: Include cgraph.h
981         * cgraph.h: New file.
982         * cgraphunit.c: New file.
983         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
984         (cgraph_nodes, cgraph_n_nodes): Globalize.
985         (cgraph_finalize_function, cgraph_finalize_compilation_unit
986         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
987         Move into cgraphunit.c
988         * tree-inline.c: Include cgraph.h
989         * tree-inline.c: Include cgraph.h
990
991 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
992
993         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
994         for copying a register.
995
996 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
997
998         PR other/3782
999         * toplev.c (process_options): If flag_detailed_statistics is set,
1000         then set time_report as well.
1001
1002         PR c/8828
1003         * jump.c (never_reached_warning): Don't fall through BARRRIER
1004         insns.  Update comments to reflect what the function really does.
1005
1006 2003-02-21  Roger Sayle  <roger@eyesopen.com>
1007
1008         * fold-const.c (omit_one_operand): No longer static.
1009         * tree.h (omit_one_operand): Prototype here.
1010         (div_and_round_double): Keep fold-const.c prototypes together.
1011         * builtins.c (builtin_mathfn_code): Handle binary built-in
1012         funtions, such as "pow" and "atan2".
1013         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
1014         Simplify optimizations using "type" the builtin's return type.
1015
1016 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
1017
1018         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
1019         Fix functionalization typo.
1020
1021         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
1022         in an asm.
1023
1024 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1025
1026         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
1027         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
1028         documentation.
1029         * ggc-common.c: Include params.h
1030         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
1031         init_ggc_heuristics): New functions.
1032         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
1033         init_ggc_heuristics): Prototype.
1034         * toplev.c (print_version):  Output GGC heuristics.
1035         (parse_options_and_default_flags): Call init_ggc_heuristics.
1036
1037 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
1038
1039         * i386.c (def_builtin):  Special case 64bit builtins.
1040         (MASK_SSE164, MASK_SSE264): New constants.
1041         (builtin_description): Add 64bit builtins.
1042         (ix86_init_mmx_sse_builtins): Likewise.
1043         * i386.h (enum ix86_builtins): Likewise.
1044         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
1045         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
1046         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
1047         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
1048         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
1049         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
1050         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
1051
1052 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1053
1054         * i386.c (builtin_description): Add __builtin_ia32_paddq and
1055         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
1056          and __builtin_ia32_psubq128.
1057         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
1058         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
1059         (mmx_adddi3, mmx_subdi3): New.
1060         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
1061         * xmmintrin.h (_mm_movepi64_pi64): New.
1062         (_mm_add_epi64, _mm_sub_epi64): fix.
1063         (_mm_mul_pu16): Rename to...
1064         (_mm_mul_su32): ... this one.
1065
1066         * builtins.c (expand_builtin_expect):  Do not predict
1067         flag_guess_branch_prob is not set.
1068         * c-semantics.c (expand_stmt): Likewise.
1069         * predict.c (predict_insn): Likewise.
1070         * stmt.c (expand_continue_loop): Likewise.
1071         * toplev.c (rest_of_compilation): Do not call
1072         note_prediction_to_br_prob and note_prediction_to_br_prob
1073         when not optimizing.
1074
1075 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
1076
1077         * cfgrtl.c (commit_edge_insertions):  Call
1078         find_many_sub_basic_block only when some code has been emitted.
1079         (commit_edge_insertions_watch_calls): Bring into sync with
1080         commit_edge_insertions
1081
1082 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
1083
1084         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
1085
1086         * sh.md (binary_sf_op): Use extra constant operand instead of
1087         negating constant operand 4.
1088         * sh.c (sh_expand_binop_v2sf): Supply it.
1089
1090 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
1091
1092         * cpphash.h (struct lexer_state): Add directive_wants_padding.
1093         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
1094         for directives of type INCL.
1095         (glue_header_name, parse_include): Use get_token_no_padding.
1096         * cppmacro.c (replace_args): If directive_wants_padding,
1097         provide padding tokens.
1098
1099 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
1100
1101         * config/h8300/h8300.md (a peephole2): New.
1102
1103 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
1104
1105         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
1106         (commit_edge_insertions): Call find_many_sub_basic_blocks
1107
1108         * reg-stack.c (convert_regs): Cleax aux for blocks.
1109
1110 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
1111
1112         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
1113
1114 2003-02-21  Glen Nakamura  <glen@imodulo.com>
1115
1116         PR optimization/8613
1117         * builtins.c (expand_builtin): Emit postincrements before expanding
1118         builtin functions.
1119
1120 2003-02-21  Ben Elliston  <bje@redhat.com>
1121
1122         PR other/5634
1123         * doc/install.texi (Configuration): Explain using $HOME instead of
1124         the ~ metacharacter when referring to home directories.
1125
1126 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
1127
1128         * configure.in (TARGET_SYSTEM_ROOT): Set default to
1129         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
1130         '${exec_prefix}' (in addition to the expansion thereof) as
1131         relocatable.
1132         * configure: Rebuilt.
1133
1134 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
1135
1136         * config/h8300/h8300.md (addhi3_incdec): Change the name to
1137         *addhi3_incdec.
1138         (addsi3_incdec): Change the name to *addsi3_incdec.
1139
1140 2003-02-20  Roger Sayle  <roger@eyesopen.com>
1141
1142         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
1143
1144 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
1145
1146         PR fortran/9038
1147         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
1148         options to be ignored.
1149         (c_common_decode_option): Ignore them when preprocessing.
1150
1151 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
1152
1153         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
1154         global variables.
1155         (lang_independent_options):  Add -fsched2-use-superblocks
1156         -fsced2-use-traces.
1157         (rest_of_compilation): Deal with it.
1158         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
1159         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
1160         Declare.
1161         * rtl.h (reg_to_stack):  Update prototype.
1162         * reg-stack.c (reg_to_stack): Return when something has changed;
1163         update liveness when executing after superblock scheduling.
1164
1165         * combine.c (simplify_shift_const):  Simplify few special cases
1166         into constants.
1167
1168 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
1169
1170         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
1171         (add.,subf.,neg.): Change attribute to fast_compare.
1172         All DFA descriptions updated.
1173
1174 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
1175
1176         Change base class access representation.
1177         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
1178         TREE_VIA_PRIVATE): Remove.
1179         (BINFO_BASEACCESSES): New binfo elt.
1180         (BINFO_BASEACCESS): New accessor.
1181         (BINFO_ELTS): Increase.
1182         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
1183         (access_public_node, access_protected_node,
1184         access_private_node): New global nodes.
1185         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
1186         * dbxout.c (dbxout_type): Adjust.
1187         * dwarf2out.c (gen_inheritance_die): Add access parameter.
1188         (gen_member_die): Adjust.
1189         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
1190         (output_type): Adjust.
1191         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
1192
1193         Change base class access representation. Share virtual base
1194         binfos.
1195         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
1196         call.
1197         * cp/class.c (build_base_path): Likewise.
1198         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
1199         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
1200         (make_new_vtable): Adjust.
1201         (force_canonical_binfo_r): Delete.
1202         (force_canonical_binfo): Delete.
1203         (mark_primary_virtual_base): Delete.
1204         (dfs_unshared_virtual_bases): Delete.
1205         (mark_primary_bases): Adjust.
1206         (maybe_warn_about_overly_private_class): Adjust.
1207         (dfs_base_derived_from): Delete.
1208         (base_derived_from): Follow the inheritance chain.
1209         (struct find_final_overrider_data): Add vpath member.
1210         (dfs_find_final_overrider): Adjust.
1211         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
1212         (find_final_overrider): Adjust.
1213         (update_vtable_entry_for_fn): Adjust.
1214         (modify_all_vtables): Adjust.
1215         (walk_subobject_offsets): Adjust.
1216         (layout_nonempty_base_or_field): Adjust.
1217         (layout_empty_base): Remove last parameter. Adjust.
1218         (build_base_field): Adjust.
1219         (build_base_fields): Adjust.
1220         (propagate_binfo_offsets): Remove last parameter. Adjust.
1221         (dfs_set_offset_for_unshared_vbases): Delete.
1222         (layout_virtual_bases): Adjust.
1223         (finish_struct_1): Adjust.
1224         (init_class_processing): Don't init access nodes.
1225         (dfs_get_primary_binfo): Delete.
1226         (get_primary_binfo): Adjust.
1227         (dump_class_hierarchy_r): Remove most derived arg, add IGO
1228         parameter. Adjust.
1229         (dump_class_hierarchy): Adjust.
1230         (finish_vtbls): Adjust.
1231         (get_original_base): Delete.
1232         (build_vtt_inits): Adjust.
1233         (dfs_build_secondary_vptr_vtt_inits): Adjust.
1234         (dfs_ctor_vtable_bases_queue_p): Adjust.
1235         (build_ctor_vtbl_group): Adjust.
1236         (dfs_accumulate_vtbl_inits): Adjust.
1237         (build_vtbl_initializer): Adjust.
1238         (build_vbase_offset_vtbl_entries): Adjust.
1239         (add_vcall_offset_vtbl_entries_1): Adjust.
1240         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
1241         (access_*_node): Remove.
1242         (CANONICAL_BINFO): Delete.
1243         (BINFO_UNSHARED_MARKED): Remove.
1244         (BINFO_MARKED): Set LANG_FLAG_0 directly.
1245         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
1246         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
1247         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
1248         Delete.
1249         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
1250         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
1251         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
1252         Delete.
1253         (BINFO_DEPENDENT_BASE_P): New.
1254         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
1255         index.
1256         (markedp, unmarkedp): Adjust.
1257         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
1258         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
1259         find_vbase_instance, binfo_for_vbase): Delete.
1260         (copied_binfo, original_binfo): Declare.
1261         (finish_base_specifier): Add virtual_p arg.
1262         (unshare_base_binfos): Delete.
1263         (copy_base_binfos): Declare.
1264         (reverse_path): Delete.
1265         * cp/decl.c (xref_basetypes): Access and virtuality passed
1266         differently. Don't copy direct base binfos here. Call
1267         copy_base_binfos.
1268         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
1269         (initialize_vtbl_ptrs): Adjust.
1270         (expand_member_init): Adjust.
1271         * cp/parser.c (cp_parser_base_specifier): Adjust.
1272         * cp/pt.c (instantiate_class_template): Adjust.
1273         (get_template_base_recursive): Adjust.
1274         * cp/rtti.c (get_pseudo_ti_init): Adjust.
1275         (get_pseudo_ti_desc): Adjust.
1276         * cp/tree.c (unshare_base_binfos): Rename to ...
1277         (copy_base_binfos): ... here, reimplement.
1278         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
1279         (reverse_path): Remove.
1280         * cp/typeck.c (get_delta_difference): Adjust error messages.
1281         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
1282         * cp/search.c (lookup_base_r): Adjust.
1283         (dynamic_cast_base_recurse): Adjust.
1284         (canonical_binfo): Remove.
1285         (dfs_canonical_queue): Remove.
1286         (dfs_assert_unmarked_p): Remove.
1287         (assert_canonical_unmarked): Remove.
1288         (shared_marked_p, shared_unmarked_p): Remove.
1289         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
1290         (dfs_access_in_type): Adjust.
1291         (access_in_type): Adjust.
1292         (dfs_accessible_queue_p): Adjust.
1293         (dfs_accessible_p): Adjust.
1294         (is_subobject_of_p_1, is_subobject_of_p): Remove.
1295         (struct lookup_field_info): Remove from_dep_base_p field.
1296         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
1297         (lookup_field_r): Remove dependent base code.
1298         (lookup_member): Likewise.
1299         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
1300         (dfs_unmarked_real_bases_queue_p): Remove.
1301         (dfs_marked_real_bases_queue_p): Remove.
1302         (dfs_skip_vbases): Remove.
1303         (dfs_get_pure_virtuals): Adjust.
1304         (markedp, unmarkedp): Adjust.
1305         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
1306         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
1307         (dfs_unmark): Adjust.
1308         (dfs_get_vbase_types):Remove.
1309         (dfs_build_inheritance_graph_order): Remove.
1310         (get_vbase_types): Remove
1311         (dfs_find_vbase_instance): Remove.
1312         (find_vbase_instance): Remove.
1313         (dfs_debug_unmarkedp): Adjust.
1314         (dependent_base_p): Remove.
1315         (dfs_push_type_decls): Adjust.
1316         (dfs_push_decls): Adjust.
1317         (dfs_no_overlap_yet): Adjust.
1318         (copied_binfo): New function.
1319         (original_binfo): New function.
1320         (binfo_for_vbase): Remove.
1321
1322         Change base class access representation.
1323         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
1324         (add_interface_do): Likewise.
1325
1326 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
1327
1328         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
1329         * config/rs6000/power4.md (power4-store,power4-vecstore): New
1330         insn reservations.
1331         (power4-fpstore): Compact.
1332
1333 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
1334
1335         * config/h8300/h8300.md (*iorsi3_w): New.
1336
1337 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
1338
1339         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
1340         * rtl.c (reg_note_name): Likewise.
1341         * rtl.h (enum reg_note): Likewise.
1342         * doc/invoke.texi: Likewise.
1343         * doc/rtl.texi: Likewise.
1344
1345 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
1346
1347         * bb-reorder.c (find_traces_1_round): Fix comment typo.
1348
1349 2003-02-19  Roger Sayle  <roger@eyesopen.com>
1350
1351         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
1352         addition in the presence of signaling NaNs.
1353
1354 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
1355
1356         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
1357
1358 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
1359
1360         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
1361         ORing with 0xffff??00 with the highest bit of the ?? part set.
1362         (compute_logical_op_length): Update.
1363         (compute_logical_op_cc): Likewise.
1364
1365 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
1366
1367         * bb-reorder.c (find_traces_1_round): Fixed condition for small
1368         destination block with multiple predecessors.
1369         (connect_traces): Check whether the block is a start of trace.
1370
1371 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
1372
1373         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
1374         * function.c (assign_params): Likewise.
1375         * arm-protos.h (arm_init_cumulative_args): Update prototype.
1376         * arm.c (arm_init_cumulative_args): Update function.
1377         * arm.h (INIT_CUMULATIVE_ARGS): Update.
1378         * avr-protos.h (init_cumulative_args): Update prototype.
1379         * avr.c (init_cumulative_args): Update function.
1380         * avr.h (INIT_CUMULATIVE_ARGS): Update.
1381         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
1382         * d30v.c (d30v_init_cumulative_args): Update function.
1383         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
1384         * frv-protos.h (frv_init_cumulative_args): Update prototype.
1385         * frv.c (frv_init_cumulative_args): Update function.
1386         * frv.h (INIT_CUMULATIVE_ARGS): Update.
1387         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
1388         * pa.h (INIT_CUMULATIVE_ARGS): Update.
1389         * sparc-protos.h (init_cumulative_args): Update prototype.
1390         * sparc.c (init_cumulative_args): Update function.
1391         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
1392         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
1393
1394 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
1395
1396         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
1397         (*ashiftsi_sextqi_7): Likewise.
1398
1399 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1400
1401         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
1402         ISO C99 and C++.
1403
1404         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
1405         for C++ on IRIX 6.5.1[89].
1406         * fixinc/tests/base/internal/sgimacros.h: New file.
1407
1408         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
1409         * fixinc/tests/base/internal/wchar_core.h: New file.
1410
1411         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
1412         socklen_t definition.
1413         * fixinc/fixincl.x: Regenerate.
1414         * fixinc/tests/base/sys/socket.h: New file.
1415         Fixes PR libgcj/9652.
1416
1417 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
1418
1419         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
1420
1421 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
1422
1423         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
1424         align_jumps_max_skip and align_loops_max_skip.
1425
1426 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
1427
1428         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
1429         test size if named section.
1430
1431 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
1432
1433         * expr.c (expand_expr): Use gen_int_mode for the argument
1434         to gen_rtx_MULT.
1435
1436 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1437
1438         * i386.md (cosxf2):  Fix conditional.
1439
1440 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
1441
1442         * config/h8300/h8300.md (extendqisi2): Change to an expander.
1443         (*extendqisi2_h8300): New.
1444         (*extendqisi2_h8300hs): Likewise.
1445
1446 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
1447
1448         * config/h8300/h8300-protos.h: Update the prototype for
1449         split_adds_subs.  Remove the prototypes for
1450         const_int_le_2_operand and const_int_le_6_operand.
1451         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
1452         (const_int_le_2_operand): Remove.
1453         (const_int_le_6_operand): Likewise.
1454         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
1455         for const_int_le_2_operand and const_int_le_6_operand.
1456         * config/h8300/h8300.md: Update all uses of split_adds_subs.
1457         (a peephole2): New.
1458
1459 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1460
1461         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
1462         (cgraph_expand_function): Rewrite.
1463
1464 2003-02-18  Matt Austern <austern@apple.com>
1465
1466         * toplev.c, langhooks.c, langhooks-def.h: Move
1467         write_global_declarations from toplev.c to langhooks.c.
1468
1469 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
1470
1471         * config/h8300/h8300.c (general_operand_src): Always check
1472         MODE.
1473         (general_operand_dst): Likewise.
1474
1475 2003-02-18  Roger Sayle  <roger@eyesopen.com>
1476
1477         * convert.c (convert_to_real): Also optimize (float)log(x) into
1478         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
1479
1480 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
1481
1482         * config/sh/sh.c (unspec_caller_rtx_p): New.
1483         (sh_cannot_copy_insn_p): New.
1484         (TARGET_CANNOT_COPY_INSN_P): New.
1485
1486 2003-02-18  Richard Henderson  <rth@redhat.com>
1487
1488         * c-common.c (handle_used_attribute): Accept static data too.
1489
1490 2003-02-18  Nick Clifton  <nickc@redhat.com>
1491             Aldy Hernandez  <aldyh@redhat.com>
1492
1493         * testsuite/gcc.dg/20030218-1.c: New.
1494
1495         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
1496
1497         * target-def.h (TARGET_INITIALIZER): Add
1498         TARGET_VECTOR_TYPES_COMPATIBLE.
1499         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
1500
1501         * target.h (struct gcc_target): Add field vector_types_compatible.
1502
1503         * c-typeck.c (comptypes): Take into account
1504         TARGET_VECTOR_TYPES_COMPATIBLE.
1505         (convert_for_assignment): Same.
1506
1507         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
1508         (rs6000_spe_vector_types_compatible): New.
1509         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
1510
1511 2003-02-19  Andreas Schwab  <schwab@suse.de>
1512
1513         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
1514         * toplev.c: Include langhooks-def.h.
1515
1516 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
1517
1518         * config/mips/mips.h (enum processor_type): Sort entries
1519         alphabetically.
1520         * config/mips/mips.md (define_attr cpu): Sync with processor_type
1521         enum values, including adding entries that were missing.
1522
1523 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
1524
1525         * sh.c (calc_live_regs): Also check GET_CODE when checking if
1526         initial value for PR_REG is still the PR_REG register.
1527
1528 2003-02-18  Jim Wilson  <wilson@redhat.com>
1529
1530         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
1531         instruction in output template.
1532         (bsp_value): Change output template from string to C code, add %,
1533         before actual instruction.
1534         (flushrs): Mark as not predicable.
1535
1536 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
1537
1538         * inclhack.def (netbsd_bogus_semicolon): New fix.
1539         * fixincl.x: Rebuilt.
1540         * tests/base/ctype.h: Update.
1541
1542 2003-02-18  Roger Sayle  <roger@eyesopen.com>
1543
1544         * fold-const.c (negate_expr_p): New function to determine whether
1545         an expression can be negated cheaply.
1546         (fold) [MINUS_EXPR]: Use it to determine whether to transform
1547         -A - B into -B - A for floating point types.
1548
1549 2003-02-18  Roger Sayle  <roger@eyesopen.com>
1550
1551         * sbitmap.c (sbitmap_resize): New function.
1552         * sbitmap.h (sbitmap_resize): Prototype here.
1553         * recog.c (split_all_insns): Use sbitmap_resize.
1554
1555 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
1556
1557         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
1558         insn length.
1559         (extendqisi2): Likewise.
1560         (*extendhisi2_h8300): Likewise.
1561
1562 2003-02-18  Matt Austern <austern@apple.com>
1563
1564         * langhooks.h, langhooks-def.h: introduce new langhook,
1565         final_write_globals, with write_global_declarations as default.
1566         * toplev.c: Move invocation of wrapup_global_declarations from
1567         compile_file to new function, write_global_declarations.  Change
1568         compile_file to use final_write_globals hook.  Change
1569         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
1570         conditional.
1571
1572 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1573
1574         * pa.md: Correct and enhance comment.
1575
1576 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
1577
1578         * gcc.c (validate_switches): Don't scan past closing '}'.
1579
1580 2003-02-18  Ben Elliston  <bje@redhat.com>
1581
1582         PR c++/1607
1583         * doc/extend.texi (Function Attributes): Document the effect of
1584         the C++ "this" parameter on the counting of arguments for the
1585         "format" and "format_arg" attributes.
1586
1587 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
1588
1589         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
1590         (__ev_stdw): Same.
1591         (__ev_stdh): Same.
1592
1593 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1594
1595         * recog.c (split_all_insns):  Fix memory overflow.
1596
1597 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
1598
1599         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
1600         (cmphi): Likewise.
1601         (*cmphi_h8300): Likewise.
1602         (*cmphi_h8300hs): Likewise.
1603         (cmpsi): Likewise.
1604         (7 peephole2): Likewise.
1605
1606 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
1607
1608         * c-typeck.c (build_c_cast):  Fold constant variables into
1609         initial values.
1610
1611 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1612
1613         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
1614         (Binaries): Ditto for Sinix/Reliant Unix.
1615
1616 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
1617
1618         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
1619         not overlap the final result register.
1620
1621 2003-02-16 Arend Bayer <arend.bayer@web.de>
1622            Richard Henderson  <rth@redhat.com>
1623
1624         PR c/8068
1625         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
1626         rearrange mult arguments for less recursion.
1627         (extract_muldiv): New.  Prevent runaway recursion.
1628
1629 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
1630
1631         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
1632         MASK_ALIGN_DOUBLE.
1633
1634 2003-02-15  Roger Sayle  <roger@eyesopen.com>
1635
1636         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
1637         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
1638         (ext_80387_constants_table): Global table of 80387 special constants
1639         guarded by ext_80387_constants_init flag when not initialized.
1640         (init_ext_80387_constants): New function to initialize this table.
1641         (standard_80387_constant_p): Extend to recognize extra 80387
1642         constants, in XFmode, on processors where this is a win.
1643         (standard_80387_constant_opcode): New function to return the
1644         opcode associated with standard_80387_constant_p.
1645         (standard_80387_constant_rtx): New function to return the XFmode
1646         CONST_DOUBLE associated with standard_80387_constant_p.
1647         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
1648
1649         * config/i386/i386-protos.h (standard_80387_constant_opcode):
1650         Prototype here.
1651         (standard_80387_constant_rtx): Likewise.
1652
1653         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
1654         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
1655         *movtf_integer): Simplify using new standard_80387_constant_opcode.
1656
1657 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
1658
1659         * doc/invoke.texi (Optimize Options): Correct @option syntax.
1660
1661 2003-02-15  Richard Henderson  <rth@redhat.com>
1662
1663         * Makefile.in (cfglayout.o): Depend on TARGET_H.
1664         * cfglayout.c: Include target.h.
1665         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
1666         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
1667         * target.h (struct gcc_target): Add cannot_copy_insn_p.
1668
1669         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
1670         (TARGET_CANNOT_COPY_INSN_P): New.
1671         (override_options): Revert 2003-02-08 hack.
1672
1673 2003-02-15  Richard Henderson  <rth@redhat.com>
1674
1675         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
1676         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
1677
1678 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
1679
1680         * config/rs6000/rs6000.h (processor_type): Add PPC440.
1681         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
1682         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
1683         TARGET_SCHED_VARIABLE_ISSUE): Define.
1684         (rs6000_use_dfa_pipeline_interface): New function.
1685         (rs6000_multipass_dfa_lookahead): New Function.
1686         (rs6000_variable_issue): New function.
1687         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
1688         (rs6000_issue_rate): Add PPC440.
1689         * config/rs6000/rs6000.md (unspec list): Correct typo.
1690         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
1691         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
1692         cmp, delayed_cr, mfcr, mtcr.
1693         (automata_option): Set "ndfa".
1694         (extendMMNN2): Update attributes.
1695         (movcc_internal1): Discourage move to non-cr0.  Update
1696         attributes.
1697         (movMM_update): Update attributes.
1698         (cmpMM_internal): Update attributes.
1699         (sCC CR materialization): Update attributes.
1700         (branch patterns): Do not discourage non-cr0.
1701         (cr logical patterns): Prefer destructive register allocation.
1702         Update attributes.
1703         (movesi_from_cr): Update attribute.
1704         (mtcrf_operation): Update attribute.
1705         (mtcrfsi): Update attribute.
1706         * config/rs6000/40x.md: New file.
1707         * config/rs6000/603.md: New file.
1708         * config/rs6000/6xx.md: New file.
1709         * config/rs6000/7450.md: New file.
1710         * config/rs6000/7xx.md: New file.
1711         * config/rs6000/mpc.md: New file.
1712         * config/rs6000/power4.md: New file.
1713         * config/rs6000/rios1.md: New file.
1714         * config/rs6000/rios2.md: New file.
1715         * config/rs6000/rs64.md: New file.
1716         [Some DFA descriptions based on work by Michael Hayes]
1717
1718 2003-02-15  Richard Henderson  <rth@redhat.com>
1719
1720         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
1721         successors with multiple predecessors.
1722         (connect_traces): Try harder to copy traces of length 1.
1723
1724         * function.h (struct function): Add computed_goto_common_label,
1725         computed_goto_common_reg.
1726         * function.c (free_after_compilation): Zap them.
1727         * stmt.c (expand_computed_goto): Use them to produce one
1728         indirect branch per function.
1729
1730 2003-02-15  Richard Henderson  <rth@redhat.com>
1731
1732         * cfgcleanup.c: Include params.h.
1733         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
1734         too many outgoing edges from a block.
1735         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
1736         * params.def (max-crossjump-edges): New.
1737         * doc/invoke.texi: Document it.
1738
1739 2003-02-15  Richard Henderson  <rth@redhat.com>
1740
1741         * recog.c (split_all_insns): Include new blocks in life update;
1742         do a global life update.
1743
1744 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
1745
1746         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
1747         Update copyright.
1748         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
1749         -mno-cygwin case.
1750
1751 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1752
1753         PR optimization/7702
1754         * reload1.c (reload_cse_simplify_set): Honor
1755         CANNOT_CHANGE_MODE_CLASS.
1756
1757 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
1758
1759         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
1760         function.
1761         * config/mn10300/mn10300-protos.h: Declare it.
1762         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
1763         attribute cc of instructions that may use clr.
1764
1765 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1766
1767         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
1768         (x - (x & y)) is found.
1769
1770 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1771
1772         * configure.in: Fix typo.
1773         * configure: Regenerate.
1774
1775 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
1776
1777         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
1778
1779 2003-02-13  Adam Nemet  <anemet@lnxw.com>
1780
1781         PR opt/2391
1782         * combine.c: Fix spelling in comment.
1783         (cached_nonzero_bits): New function.
1784         (cached_num_sign_bit_copies): New function.
1785         (nonzero_bits_with_known): New macro.
1786         (num_sign_bit_copies_with_known): New macro.
1787         (nonzero_bits1): Rename from nonzero_bits.  Add three new
1788         arguments.  Change calls from nonzero_bits to
1789         nonzero_bits_with_known.
1790         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
1791         three new arguments.  Change calls from num_sign_bit_copies to
1792         num_sign_bit_copies_with_known.
1793         (nonzero_bits): New macro.
1794         (num_sign_bit_copies): New macro.
1795         (update_table_tick): Don't traverse identical subexpression more
1796         than once.
1797         (get_last_value_validate): Likewise.
1798
1799 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
1800
1801         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
1802         * function.h (struct emit_status): Length of regno_pointer_align
1803         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
1804         not regno_pointer_align_length (i.e. length actually used, not
1805         length as allocated)
1806
1807         * config/i386/i386.c (struct stack_local_entry): New.
1808         (struct machine_function): Replace huge array with alist.
1809         (assign_386_stack_local): Change to match.
1810
1811 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
1812
1813         * inclhack.def (hpux_long_double): Tighten select and add bypass
1814         regexp.
1815         * fixincl.x: Rebuilt.
1816
1817 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
1818
1819         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
1820         edge and block ends with a jump insn it must be simple jump.
1821
1822 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
1823
1824         * Makefile.in (PREPROCESSOR_DEFINES): Add
1825         @TARGET_SYSTEM_ROOT_DEFINE@.
1826         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
1827         is specified or if building a cross compiler.
1828         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
1829         if the sysroot is under $exec_prefix.
1830         * configure: Regenerated.
1831         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
1832         defined.
1833         (struct default_include): Add add_sysroot field.
1834         (cpp_SYSROOT): Declare.
1835         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
1836         field.
1837         (cpp_SYSROOT): New variable.
1838         * cppinit.c (cpp_create_reader): Initialize
1839         CPP_OPTION (pfile, sysroot).
1840         (init_standard_includes): Handle add_sysroot.  Do not
1841         add unrelocated copies of relocated directories.
1842         (COMMAND_LINE_OPTIONS): Add -isysroot.
1843         (cpp_handle_option): Handle -isysroot.
1844         * cpplib.h (struct cpp_options): Add sysroot member.
1845         * gcc.c (The Specs Language): Update description of %I.
1846         (target_system_root_changed): New variable.
1847         (process_command): Conditionalize make_relative_prefix call
1848         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
1849         target_system_root_changed.
1850         (do_spec_1): Add -isysroot to %I.
1851         * doc/invoke.texi (Spec Files): Update description of %I.
1852         * doc/install.texi (--with-sysroot): Update comment about
1853         relocation.
1854
1855 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
1856
1857         * config/h8300/h8300.md (a peephole2): New.
1858
1859 2003-02-13  Robert Lipe <robertlipe@usa.net>
1860             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1861
1862         * doc/install.texi (Specific): Update three SCO-related URLs.
1863
1864 2003-02-13  Andreas Schwab  <schwab@suse.de>
1865
1866         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
1867         Parenthesize properly.
1868         (NPREDECESORS): Parenthesize properly.
1869
1870 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
1871
1872         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
1873
1874 2003-02-12  Roger Sayle  <roger@eyesopen.com>
1875
1876         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
1877         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
1878
1879         * reg-stack.c (subst_stack_regs_pat): Add support for binary
1880         UNSPEC instructions (e.g. "fpatan").
1881
1882 2003-02-12  Mike Stump  <mrs@apple.com>
1883
1884         * varray.c (element_size): Remove.
1885         (uses_ggc): Remove.
1886         (element): Add.
1887         (varray_init): Use new interface.
1888         (varray_grow): Use new interface.
1889         (varray_clear): Use new interface.
1890
1891 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1892
1893         * config/rs6000/spe.h: Add casts to the arguments of the following
1894         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
1895         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
1896         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
1897         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
1898         __ev_get_u16, __ev_get_s16.
1899
1900 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1901
1902         * config/h8300/h8300.md (a peephole2): New.
1903
1904 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1905
1906         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
1907         (OBJS): Add callgraph.o
1908         (callgraph.o): New.
1909         * c-decl.c (expand_body_1): Break out from ...
1910         (expand_body): This one;  change calling convention
1911         (finish_function): Move some of expand_body logic here.
1912         (c_expand_deferred_function): Update call of expand_body
1913         (c_expand_stmt): Use c_expand_body_1.
1914         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1915         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1916         * c-tree.h (c_expand_body): Declare.
1917         * callgraph.c: New file.
1918         * flags.h (flag_unit_at_a_time): Declare.
1919         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1920         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1921         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1922         * langhooks.h (struct lang_hooks_for_callgraph): New.
1923         (struct lang_hooks): Add callgraph field.
1924         * toplev.c (flag_unit_at_a_time): New.
1925         (lang_independent_options): Add flag_unit_at_a_time.
1926         (process_options): Disable unit-at-a-time mode for frontends not
1927         supporting callgraph.
1928         * tree-inline.c (typedef struct inline_data): Add "decl"
1929         (expand_call_inline): Update callgraph.
1930         (optimize_inline_calls): Set id.decl.
1931         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1932         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1933         cgraph_calls_p): Declare.
1934         * invoke.texi (-funit-at-a-time): Document
1935
1936 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1937
1938         * config/rs6000/spe.h: Fix misc formatting.
1939         (__ev_create_ufix32_fs): Cast ev argument.
1940         (__ev_create_sfix32_fs): Same.
1941         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1942         (__ev_get_ufix32_fs_internal): Same.
1943
1944 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1945
1946         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1947         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1948
1949 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
1950
1951         * cpplib.c (do_include_common): Move warnings for
1952         #include_next and #import out to callers.  Use early-return
1953         instead of nested ifs.  Don't do check_eol here.
1954         (parse_include): Do check_eol here with the rest of the
1955         parsing stuff.
1956         (do_include_next, do_import): Now handle warnings.
1957
1958 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1959
1960         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1961
1962 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1963
1964         * predict.c (estimate_probability):  Fix roundoff error.
1965
1966 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1967
1968         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1969         (two peephole2): New.
1970
1971 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1972
1973         * config/h8300/h8300.md (several peephole2): Replace
1974         find_regno_note with peep2_reg_dead_p.
1975
1976 2003-02-11  Richard Henderson  <rth@redhat.com>
1977
1978         * gcse.c (lookup_set): Remove unused argument PAT.  Update
1979         both callers.
1980
1981 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1982
1983         * diagnostic.c (real_abort): New.
1984         (diagnostic_report_diagnostic): Call real_abort on error.
1985         * diagnostic.h (diagnostic_abort_on_error): New.
1986         (struct diagnostic_context): Add abort_on_error field.
1987         * toplev.c (setup_core_dumping): New.
1988         (decode_d_option): Handle 'H' case.
1989         * doc/invoke.texi (Debugging Options): Document -dH.
1990
1991 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
1992
1993         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1994         which refers to obsolete directories.
1995
1996 2003-02-11  Richard Henderson  <rth@redhat.com>
1997
1998         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1999
2000 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
2001
2002         * i386.c (contains_128bit_aligned_vector_p): New function.
2003         (ix86_function_arg_boundary): Properly align vector modes.
2004
2005 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
2006
2007         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
2008         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
2009         as a SET pattern.
2010
2011 2003-02-11  Roger Sayle  <roger@eyesopen.com>
2012
2013         * builtins.c:  Fix failure caused by commiting wrong patch.
2014
2015 2003-02-11  Dale Johannesen  <dalej@apple.com>
2016         * ra-build.c (compare_and_free_webs):  Relax checking.
2017         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
2018         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
2019
2020 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2021
2022         PR optimization/9651
2023         * rtlanal.c (may_trap_p): Handle FIX.
2024
2025 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
2026
2027         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
2028         * doc/invoke.texi: Extra alias.
2029
2030 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
2031
2032         * config/rs6000/host-darwin.c: Fix comment.
2033
2034 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
2035
2036         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
2037         predicate for mod result.
2038
2039 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2040
2041         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
2042         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
2043         * fixincl.x: Rebuilt.
2044         * tests/base/stdlib.h: Update.
2045         * tests/base/ctype.h: New file.
2046
2047 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
2048
2049         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
2050
2051 2003-02-11  Richard Henderson  <rth@redhat.com>
2052
2053         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
2054         appropriated as globals.
2055         (ix86_expand_clrstr): Similarly.
2056         * config/i386/i386.md (cmpstrsi): Similarly.
2057
2058 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
2059
2060         * config/h8300/h8300.md (a peephole2): Add a case of 255.
2061
2062 2003-02-11  Roger Sayle  <roger@eyesopen.com>
2063
2064         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
2065         (pow_optab, atan2_optab): Define corresponding macros.
2066         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
2067         * genopinit.c (optabs): Implement pow_optab and atan2_optab
2068         using pow?f3 and atan2?f3 patterns.
2069         * builtins.c (expand_errno_check): New function to update errno
2070         if necessary, split out from expand_builtin_mathfn.
2071         (expand_builtin_mathfn): Use expand_errno_check.
2072         (expand_builtin_mathfn_2): New function to handle expanding binary
2073         math functions, reusing the code in expand_errno_check.
2074         (expand_builtin): Handle the pow and atan2 math built-ins,
2075         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
2076         expand_builtin_mathfn_2.
2077
2078         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
2079
2080 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
2081
2082         * combine.c (combine_simplify_rtx): Fix folding of
2083         nested float_truncates.
2084
2085 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
2086
2087         * config/h8300/h8300.md (a peephole2): Fix a typo.
2088
2089 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
2090
2091         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
2092         register number.
2093
2094 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
2095
2096         * config/h8300/h8300-protos.h: Add a prototype for
2097         gtuleu_operator.
2098         * config/h8300/h8300.c (gtuleu_operator): New.
2099         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
2100         * config/h8300/h8300.md (a peephole2): New.
2101
2102 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2103
2104         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
2105
2106 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
2107
2108         * predict.c (choose_function_section): Choose sections correctly.
2109
2110 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2111
2112         * reload1.c (first_label_num): New.
2113         (reload): Index offsets_known_at and offsets_at using difference of
2114         label number and first label number.  Don't use offset pointers.
2115         (set_label_offsets, set_initial_label_offsets): Likewise.
2116
2117 2003-02-10  Roger Sayle  <roger@eyesopen.com>
2118
2119         * mips-tfile.c (init_file): Add missing initializers in the
2120         "#ifdef __alpha" case.
2121         (file_offset, max_file_offset): Declare as unsigned long.
2122         (write_varray): Cast to "unsigned long" in comparisons against
2123         either file_offset or max_file_offset.
2124         (write_object): Likewise.
2125         (read_seek): Likewise.
2126         (copy_object): Likewise. Declare "ifd" as int to match its use
2127         in add_ext_symbol, and avoid signed/unsigned conditional warning.
2128
2129 2003-02-10  Nick Clifton  <nickc@redhat.com>
2130             Aldy Hernandez  <aldyh@redhat.com>
2131
2132         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
2133         override options which have been specified on the command line.
2134
2135 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
2136
2137         * config/h8300/h8300.md (abssf2): New.
2138         (*abssf2_h8300): Likewise.
2139         (*abssf2_h8300hs): Likewise.
2140
2141 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
2142
2143         * tree.c (build_tree_list):  Fix parameter names in comment.
2144
2145 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
2146
2147         * config/rs6000/ppc64-fp.c: New file.
2148         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
2149
2150 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
2151
2152         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
2153         * bb-reorder.c (make_reorder_chain): Deleted.
2154         (make_reorder_chain_1): Deleted.
2155         (find_traces): New function.
2156         (rotate_loop): New function.
2157         (mark_bb_visited): New function.
2158         (find_traces_1_round): New function.
2159         (copy_bb): New function.
2160         (bb_to_key): New function.
2161         (better_edge_p): New function.
2162         (connect_traces): New function.
2163         (copy_bb_p): New function.
2164         (get_uncond_jump_length): New function.
2165         (reorder_basic_blocks): Use new functions (Software Trace Cache).
2166         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
2167         boundaries.
2168
2169 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
2170
2171         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
2172
2173 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
2174
2175         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
2176         (DECL_LIVE_RANGE_RTL): Remove.
2177
2178 2003-02-10  Nick Clifton  <nickc@redhat.com>
2179
2180         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
2181         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
2182         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
2183         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
2184         config/arm/freebsd.h, config/arm/linux-elf.h,
2185         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
2186         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
2187         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
2188         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
2189         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
2190         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
2191         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
2192         and reformat as appropriate.
2193
2194 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
2195
2196         * config/h8300/clzsi2.c: Remove.
2197         * config/h8300/ctzsi2.c: Likewise.
2198         * config/h8300/paritysi2.c: Likewise.
2199         * config/h8300/popcountsi2.c: Likewise.
2200         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
2201         ctzsi2, paritysi2, and popcountsi2.
2202
2203 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
2204             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2205
2206         PR c/7741
2207         * c-decl.c (duplicate_decls): Discard the initializer of the
2208         new decl when the types are conflicting.
2209
2210 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
2211
2212         * Makefile.in (sreal.o): Added.
2213         (predict.o): Depends on sreal.h instead of real.h.
2214         * sreal.c: New file.
2215         * sreal.h: New file.
2216         * predict.c: Use sreal.c instead of real.c.
2217
2218 2003-02-10  Nick Clifton  <nickc@redhat.com>
2219
2220         * Contributed support for the Cirrus EP9312 "Maverick"
2221         floating point co-processor.  Written by Aldy Hernandez
2222         <aldyh@redhat.com>.
2223         (config/arm/arm.c): Add Cirrus support.
2224         (config/arm/arm.h): Likewise.
2225         (config/arm/aout.h): Likewise.
2226         (config/arm/arm.md): Likewise.
2227         (config/arm/arm-protos.h): Likewise.
2228         (config.gcc): Likewise.
2229         (doc/invoke.texi): Describe new -mcpu value and new
2230         -mcirrus-fix-invalid-insns switch,
2231         (cirrus.md): New file.
2232
2233 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
2234
2235         * combine.c (combine_simplify_rtx): Simplify using
2236         (float_truncate (float x)) is (float x)
2237         (float_extend (float_extend x)) is (float_extend x).
2238
2239 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
2240
2241         * calls.c (try_to_integrate): Tidy stack_usage_map access.
2242         (emit_library_call_value_1): Likewise.  Formatting.
2243         (store_one_arg): Likewise.
2244
2245 2003-02-09  Nick Clifton  <nickc@redhat.com>
2246             Aldy Hernandez  <aldyh@redhat.com>
2247
2248         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
2249         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
2250         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
2251         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
2252         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
2253         docs.  Add range test for immediate value.
2254
2255 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
2256
2257         Rename spe_evxor to xorv2si3.
2258         (xorv4hi3): New.
2259         (xorv1di3): New.
2260
2261 2003-02-10  Glen Nakamura  <glen@imodulo.com>
2262
2263         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
2264         tag.
2265
2266 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2267
2268         * i386.c (vector_move_operand): New predicate.
2269         (ix86_expand_vector_move): Be happy about 0.
2270         * i386.h (PREDICATE_CODES): Add sse-move_operand.
2271         * i386.md (mov*_internal): Add 'C' alternative.
2272
2273 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2274
2275         * i386.md (floathi*): Deal with SSE.
2276
2277 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2278
2279         * simplify-rtx.c (simplify_unary_operation,
2280         simplify_binary_operation):  Deal with vector modes
2281         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
2282
2283 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
2284
2285         * toplev.c (rest_of_compilation): Recompute register usage after
2286         split_all_insns.
2287
2288 2003-02-09  Richard Henderson  <rth@redhat.com>
2289
2290         * libgcc-std.ver (__clztf2): New.
2291         (__ctztf2, __popcounttf2, __paritytf2): New.
2292         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
2293         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
2294         adjust code to match the different type sizes.
2295         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
2296         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
2297
2298         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
2299         TImode; select word_mode and twice that.
2300         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
2301         select the modes from float, double, and long double.
2302         (init_optabs): Remove duplicate initializations.
2303
2304 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
2305
2306         * doc/install.texi: Squeeze and streamline section on
2307         testing and regression checking.
2308
2309 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
2310
2311         * i386.md (ahi?v*3): Set third operand type to TImode.
2312         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
2313
2314         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
2315         integer mode.
2316
2317         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
2318         Change code so they are arithmetic expressions now.
2319         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
2320         simplify_ternary_operation): Deal with VEC_* expressions.
2321
2322         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
2323
2324 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2325
2326         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
2327         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
2328         possibly got duplicated.
2329
2330 2003-02-08  Richard Henderson  <rth@redhat.com>
2331
2332         * config/alpha/alpha.c (override_options): Turn off explicit
2333         relocs until post-peep2 code duplication resolved.
2334
2335 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
2336
2337         * optabs.c (expand_unop): Widen clz properly when clz is done
2338         via libcall.
2339
2340 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
2341
2342         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
2343         * config/h8300/crti.asm: Likewise.
2344         * config/h8300/crtn.asm: Likewise.
2345         * config/h8300/ctzsi2.c: Likewise.
2346         * config/h8300/fixunssfsi.c: Likewise.
2347         * config/h8300/h8300-protos.h: Likewise.
2348         * config/h8300/h8300.c: Likewise.
2349         * config/h8300/h8300.h: Likewise.
2350         * config/h8300/h8300.md: Likewise.
2351         * config/h8300/paritysi2.c: Likewise.
2352         * config/h8300/popcountsi2.c: Likewise.
2353         * config/h8300/rtems.h: Likewise.
2354
2355 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2356
2357         * doc/invoke.texi: Documentation for my previous commit.
2358         * doc/passes.texi: Ditto.
2359
2360 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2361
2362         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
2363         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
2364         Declare.
2365         (DLTHE_FLAG_UPDATE_FREQ): New.
2366         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
2367         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
2368         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
2369         fix_bb_placement, fix_bb_placements, place_new_loop,
2370         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
2371         New static functions.
2372         (fix_loop_placement, can_duplicate_loop_p,
2373         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
2374         New functions.
2375
2376         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
2377         unswitch_loops): Declare.
2378         * loop-init.c: New file.
2379         * loop-unswitch.c: New file.
2380         * Makefile.in (loop-init.o, loop-unswitch.o): New.
2381         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
2382         * toplev.c (DFI_loop2): New dump.
2383         (flag_unswitch_loops): New.
2384         (lang_independent_options): Add it.
2385         (rest_of_compilation): Call new loop optimizer.
2386         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
2387
2388 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
2389
2390         * config/h8300/clzsi2.c: New.
2391         * config/h8300/ctzsi2.c: Likewise.
2392         * config/h8300/paritysi2.c: Likewise.
2393         * config/h8300/popcountsi2.c: Likewise.
2394         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
2395
2396 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
2397
2398         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
2399         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
2400         (ctzsi2): New pattern.
2401         (ffssi2): Use clz instead of unspec.
2402         (clzdi2): Rename from cntlzd2.
2403         (ctzdi2): New pattern.
2404         (ffsdi2): Use clz instead of unspec.
2405
2406 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
2407
2408         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
2409         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
2410         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
2411         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
2412
2413 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
2414
2415         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
2416
2417 2003-02-07  Richard Henderson  <rth@redhat.com>
2418
2419         PR 9226
2420         * gcse.c (local_cprop_find_used_regs): New.
2421         (local_cprop_pass): Use it.
2422
2423 2003-02-07  Fred Fish  <fnf@intrinsity.com>
2424
2425         * mips-tfile.c (parse_def): Parenthesize assignments to fix
2426         precedence bugs.
2427
2428 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
2429
2430         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
2431
2432 2003-02-07  Roger Sayle  <roger@eyesopen.com>
2433
2434         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
2435         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
2436         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
2437         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
2438         builtin functions (and their __builtin_* variants).
2439         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
2440         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
2441         when not optimizing.
2442
2443         * doc/extend.texi: Document new pow and atan2 builtins, and
2444         their float and long double variants.  Realphabetize builtins.
2445
2446 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
2447
2448         * i386.md (sse2_nandv2di3): Fix.
2449
2450 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
2451
2452         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
2453         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
2454         definition.
2455         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
2456         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
2457
2458 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2459
2460         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
2461
2462 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
2463
2464         * cfg.c (dump_flow_info): Add back accidently deleted line.
2465
2466 2003-02-07  Andrey Petrov <petrov@netbsd.org>
2467
2468         * optabs.c (expand_float): Search wider integer modes first.
2469
2470 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
2471
2472         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
2473         based on preprocessor flag.
2474
2475 2003-02-07  Roger Sayle  <roger@eyesopen.com>
2476             Richard Henderson  <rth@redhat.com>
2477
2478         * gcse.c (implicit_sets): New.
2479         (compute_hash_table_work): Include them in hash table.
2480         (find_implicit_sets, fis_get_condition): New.
2481         (one_cprop_pass): Allocate and free implicit_sets; call
2482         find_implicit_sets before building hash table.
2483
2484 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
2485
2486         * config/t-netbsd (USER_H): Revert previous change.
2487
2488 2003-02-07  Gabor Greif  <ggreif@lucent.com>
2489
2490         * doc/c-tree.texi (Namespaces): Fix typo.
2491
2492 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2493
2494         * regrename.c (do_replace, find_oldest_value_reg,
2495         copyprop_hardreg_forward_1): Update register attributes.
2496
2497 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
2498
2499         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
2500         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
2501         variables starting with underscore.
2502         (struct unit_usage): New structure.
2503         (unit_usages, cycle_alt_unit_usages): New global variables.
2504         (check_unit_distribution_in_reserv): Remove it.
2505         (store_alt_unit_usage): New function.
2506         (check_regexp_units_distribution): Rewrite it.
2507
2508 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2509
2510         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
2511         target_cpu_default.
2512         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
2513         if not MASK_NO_SPACE_REGS.
2514         (output_call): Adjust return pointer, don't load new space register
2515         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
2516         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
2517         TARGET_NO_SPACE_REGS is true.
2518         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
2519         conditions.
2520         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
2521         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
2522         true.  Use bve when TARGET_64BIT is true.
2523
2524 2003-02-06  Richard Henderson  <rth@redhat.com>
2525
2526         * combine.c (nonzero_bits): Fix double break.
2527
2528 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
2529             Richard Henderson <rth@redhat.com>
2530
2531         PR c/9530
2532         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
2533         from functions that return a float to functions that don't.
2534
2535 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
2536
2537         * i386.c (x86_inter_unit_moves): New variable.
2538         (ix86_secondary_memory_needed): Fix 64bit case, honor
2539         TARGET_INTER_UNIT_MOVES
2540         * i386.h (x86_inter_unit_moves): Declare.
2541         (TARGET_INTER_UNIT_MOVES): New macro.
2542         * i386.md (movsi_1): Cleanup constraints; disable
2543         when not doing inter-unit moves.
2544         (movsi_1_nointernunit): New.
2545         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
2546         (movdi_1_rex64_nointerunit): New.
2547         (mivsf_1): disable when not doing inter-unit moves.
2548         (movsf_1_nointerunit): New.
2549
2550         * basic-block.h (inside_basic_block_p):  Declare.
2551         * cfgbuild.c (inside_basic_block_p): Make global.
2552         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
2553         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
2554         update CFG.
2555         (fix_basic_block_boundaries, add_missing_bbs): New.
2556         (rank): Use profile.
2557         (scheudle_ebbs): Rely on CFG; update coments.
2558
2559 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
2560
2561         * Makefile.in (host_hook_obj): New.
2562         (OBJS): Add $(host_hook_obj).
2563         (host_default.o): New rule.
2564         * config.gcc (host_hook_obj): New, default to host-default.o.
2565         (powerpc-*-darwin*): Use host-darwin.o.
2566         (out_host_hook_obj): New.
2567         * configure: Regenerate.
2568         * configure.in: Print information about out_host_hook_obj, substitute
2569         into output files.
2570         * host-default.c: New file.
2571         * hosthooks.h: New file.
2572         * toplev.c (general_init): Call host_hooks.extra_signals.
2573         * config/rs6000/host-darwin.c: New file.
2574         * config/rs6000/x-darwin: New file.
2575         * doc/hostconfig.texi: Add documentation for new host hook.
2576         Rearrange existing documentation.
2577
2578 2003-02-05  Roger Sayle  <roger@eyesopen.com>
2579
2580         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
2581         with *targetm.delegitimize_address.
2582         (rtl_for_decl_location): Likewise.
2583         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
2584         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
2585
2586         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2587         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
2588         prototype.
2589         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
2590         i386_simplify_dwarf_addr.  Made static.  Prototyped.
2591         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
2592         i386_simplify_dwarf_addr to ix86_delegitimize_address.
2593         (ix86_find_base_term): Likewise.
2594         (maybe_get_pool_constant): Likewise.
2595
2596         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
2597         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
2598         prototype.
2599         * config/s390/s390.c (s390_delegitimize_address): Renamed from
2600         s390_simplify_dwarf_addr.  Made static.  Prototyped.
2601         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
2602
2603 2003-02-05  Richard Henderson  <rth@redhat.com>
2604
2605         PR c/8602
2606         * integrate.c (output_inline_function): Reset input_filename
2607         and lineno from the decl before rest_of_compilation.
2608
2609 2003-02-05  Richard Henderson  <rth@redhat.com>
2610
2611         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2612         (CTZ_DEFINED_VALUE_AT_ZERO): New.
2613         * doc/rtl.texi, doc/tm.texi: Document them.
2614
2615         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
2616         of the value at zero properly.
2617         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2618         * simplify-rtx.c (simplify_unary_operation): Likewise.
2619
2620         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2621         (CTZ_DEFINED_VALUE_AT_ZERO): New.
2622
2623         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
2624         (TARGET_EXPAND_BUILTIN): Remove.
2625         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
2626         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
2627         (enum arm_builtins): Remove.
2628         * config/arm/arm.md (UNSPEC_CLZ): Remove.
2629         (clzsi2): Rename from clz; use clz instead of unspec.
2630         (ctzsi2): New.
2631         * config/arm/arm-protos.h: Update.
2632
2633 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
2634
2635         * i386-protos.h (x86_emit_floatuns):  Declare.
2636         * i386.c (x86_emit_floatuns): New global function.
2637         * i386.md (floatunssisf2, floatunsdisf2,
2638         floatunsdidf2):  New patterns.
2639
2640 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2641
2642         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
2643
2644 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
2645
2646         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
2647           config/ia64/linux.h
2648
2649 2002-02-05  Roger Sayle  <roger@eyesopen.com>
2650
2651         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
2652
2653 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
2654
2655         PR optimization/8555
2656         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
2657         instead of aborting.
2658
2659 2003-02-04  Richard Henderson  <rth@redhat.com>
2660
2661         * config/i386/i386.md (UNSPEC_BSF): Remove.
2662         (ffssi2): Split into cmove and no_cmove insns and splitters;
2663         lose pentium float trick for now.
2664         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
2665         (ctzsi2, clzsi2, bsr): New.
2666
2667 2003-02-04  Richard Henderson  <rth@redhat.com>
2668
2669         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
2670         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
2671         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
2672         (ffsdi2): Use popcount instead of unspec.
2673         (popcountdi2): Rename from *popcnt.
2674         (ctzdi2, clzdi2, getf_exp_tf): New.
2675
2676 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
2677
2678         * genconfig.c (main): Generate CC0_P.
2679         * rtl.h (CC0_P): Remove.
2680
2681 2003-02-04  Richard Henderson  <rth@redhat.com>
2682
2683         * libgcc2.h, libgcc2.c (__ffsSI2): New.
2684         (__ffsDI2): Rename from __ffsdi2.
2685         * mklibgcc.in (lib2funcs): Add _ffssi2.
2686
2687 2003-02-04  Richard Henderson  <rth@redhat.com>
2688
2689         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
2690         rounds with a "bit table" lookup.
2691
2692 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
2693
2694         * reload.c (find_reloads): Do not use the mode specified in the insn
2695         pattern as reload mode for address operands.  Do not generate optional
2696         reloads for operands where a mandatory reload was already pushed.
2697
2698 2003-02-04  Richard Henderson  <rth@redhat.com>
2699
2700         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
2701         builtins instead of inline assembly.
2702
2703 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2704
2705         PR c/9376
2706         * libgcc2.c (__subvdi3): Fix typo.
2707
2708 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
2709
2710         * i386.md (movti_rex64):  Fix constraint.
2711
2712 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
2713
2714         * i386.md (vector push splitters):  Fix typo in resolving conflict.
2715
2716 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
2717
2718         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
2719
2720 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
2721
2722         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
2723         for recent libstdc++.  Remove formatting cruft.
2724
2725 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
2726
2727         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
2728         attribute even if input file name is absolute, but one of the
2729         includes is relative.
2730
2731 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
2732
2733         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
2734         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
2735         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
2736
2737 2003-02-03  Richard Henderson  <rth@redhat.com>
2738
2739         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2740         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
2741         return type to "int".  Shuffle declarations and undef int trap.
2742         * libgcc2.h: Remove their declarations.
2743         * optabs.c (expand_unop): Force outmode to int for bitops.
2744
2745 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
2746
2747         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
2748         coprocessor registers before floating-point registers.
2749         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
2750         to account for a previously removed register.
2751         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
2752         Delete unused macros.
2753
2754 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2755
2756         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
2757         (mov*_internal): Fix predicates; require one of operands to not be
2758         memory.
2759         (SSE?MMX move expanders):  Fix predicates; force one of operands to
2760         register.
2761         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
2762         (movups/movupd/movdqu patterns): Force one of operands to not be
2763         memory.
2764
2765 2002-02-03  Roger Sayle  <roger@eyesopen.com>
2766
2767         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
2768         takes a single rtx and returns it unmodified.
2769         * hooks.h (hook_rtx_rtx_identity): Prototype here.
2770         * target.h (struct gcc_target): Add "delegitimize_address"
2771         field to target structure.
2772         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
2773         for delegitimize_address target using hook_rtx_rtx_identity.
2774         (TARGET_INITIALIZER): Initialize delegitimize_address field
2775         using TARGET_DELEGITIMIZE_ADDRESS macro.
2776         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
2777         extensions of constant pool references.  Use delegitimize_address
2778         to undo the obfuscation of "-fpic".
2779         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
2780
2781         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
2782         i386_simplify_dwarf_addr.
2783         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
2784         (maybe_get_pool_constant): Likewise.
2785
2786 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2787
2788         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
2789
2790 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
2791
2792         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
2793
2794 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2795
2796         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
2797         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
2798
2799 2003-02-02  Andreas Schwab  <schwab@suse.de>
2800
2801         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
2802
2803 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
2804
2805         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
2806         (epilogue_insns): Likewise.
2807
2808 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2809
2810         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
2811
2812 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2813
2814         * pa-protos.h (attr_length_millicode_call): Remove second argument.
2815         (attr_length_indirect_call, attr_length_indirect_call,
2816         attr_length_save_restore_dltp): New prototypes.
2817         * pa.c (attr_length_millicode_call): Remove second argument.  Check
2818         INSN_ADDRESSES_SET_P in distance calculation.
2819         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
2820         INSN_ADDRESSES.
2821         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
2822         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
2823         Call attr_length_call directly.
2824         (attr_length_indirect_call, output_indirect_call,
2825         attr_length_save_restore_dltp): New functions.
2826         * pa.md (attr_length_millicode_call): Drop second argument from all
2827         patterns.
2828         (return_internal_pic): Delete.
2829         (return_external_pic): Remove use of PIC register and pic operand and
2830         flag checks.
2831         (epilogue): Use return_internal for both normal and pic code.
2832         (call, call_value): Emit new 32-bit pic patterns for symref and
2833         indirect calls.  Remove uses for arg pointer and pic register.
2834         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
2835         call_reg_pic_post_reload, call_val_symref_pic,
2836         call_val_symref_pic_post_reload, call_val_reg_pic,
2837         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
2838         Implement define_split and define_peephole2 patterns for pre reload
2839         patterns.
2840         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
2841         call_value_internal_reg_64bit): Shorten names.
2842         (all call patterns): Explicitly indicate registers used and clobbered.
2843         Use attr_length_indirect_call and attr_length_save_restore_dltp for
2844         attribute length calculation.  Move code generation for indirect calls
2845         to output_indirect_call.
2846         (sibcall, sibcall_value): Don't restore PIC register.
2847         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
2848         register retore.
2849
2850 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2851
2852         * doc/install.texi (Testing): Simplify and compress instructions
2853         concerning Dejagnu.
2854
2855 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2856
2857         * collect2.c (pexecute_pid): Rename to pid.
2858         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
2859         pid.
2860
2861 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
2862
2863         * doc/extend.texi (Function Attributes): Remove documentation
2864         for PowerPC Windows NT function attributes..
2865
2866 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
2867
2868         * dwarf2out.c (gen_type_die): Check for typedefs before calling
2869         for TYPE_MAIN_VARIANT.
2870
2871 2003-02-01  Richard Henderson  <rth@redhat.com>
2872
2873         * libgcc2.c: Include auto-host.h.
2874         (ATTRIBUTE_HIDDEN): New.
2875         (__clz_tab): Don't declare here for clz and ctz.
2876         (__clzsi2, __clzdi2): Use count_leading_zeros.
2877         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
2878         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
2879         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
2880         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
2881
2882 2003-02-01  Richard Henderson  <rth@redhat.com>
2883
2884         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
2885         to the conditional.
2886         (ashlsi3_1_zext splitter): Likewise.
2887
2888 2003-02-01  Richard Henderson  <rth@redhat.com>
2889
2890         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
2891         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2892         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
2893         return type to Wtype.
2894
2895         * libgcc-std.ver (GCC_3.4): Fix inheritance.
2896
2897         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
2898         expander input constraint.
2899
2900 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
2901
2902         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
2903         OTI_parity.
2904         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
2905         * optabs.c (widen_clz, expand_parity): New.
2906         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
2907         for libcalls to clz, ctz, popcount, and parity.
2908         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
2909         parity_optab, and set up libfunc handlers.
2910         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
2911         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
2912         __popcount_tab): New.
2913         * libgcc2.h: Declare them.
2914         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2915         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2916         and parity_optab.
2917         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2918         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2919         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2920         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2921         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2922         BUILT_IN_PARITYLL): New.
2923         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2924         and add optab argument.
2925         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2926         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2927         * expr.c (expand_expr): Handle them.
2928         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2929         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2930         * reload1.c (eliminate_regs): Handle them.
2931         (elimination_effects): Likewise.
2932         * function.c (instantiate_virtual_regs_1): Likewise
2933         * genattrtab.c (check_attr_value): Likewise.
2934         * simplify-rtx.c (simplify_unary_operation): Likewise.
2935         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2936         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2937         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2938         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2939         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2940         __builtin_arm_clz.
2941         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2942         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
2943         * doc/extend.texi (Other Builtins): Add new builtins.
2944         * doc/md.texi (Standard Names): Add new patterns.
2945
2946 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
2947
2948         * reload.c: Revert 2003-01-31 change.
2949
2950 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2951
2952         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
2953
2954 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
2955
2956         * flags.h (flag_volatile): Remove declaration.
2957         (flag_volatile_global, flag_volatile_static): Likewise.
2958         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2959         * toplev.c (flag_volatile): Remove definition.
2960         (flag_volatile_global, flag_volatile_static): Likewise.
2961         (f_options): Remove corresponding entries here.
2962         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2963         or flag_volatile_static.
2964         * doc/invoke.texi: Remove documentation of -fvolatile,
2965         -fvolatile-global and -fvolatile-static.
2966
2967 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2968
2969         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2970         updating of total_code_bytes from prologue to epilogue.
2971
2972 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
2973
2974         * reload.c (find_reloads): Do not use the mode specified in the insn
2975         pattern as reload mode for address operands.  Do not generate optional
2976         reloads for operands where a mandatory reload was already pushed.
2977         Generate optional reloads only in the final pass though find_reloads.
2978         (have_replacement_p): New function.
2979
2980 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2981
2982         * doc/install.texi (Testing): Remove a reference to our obsolete
2983         /testresults web pages and strip redundant information concerning
2984         test results.
2985         (Binaries): Refer to Microsoft Windows instead of listing all
2986         possible variants.
2987
2988 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
2989
2990         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
2991         RTL chain.
2992
2993         * combine.c (simplify_set): Reverse order of ragumetns to
2994         REG_CANNOT_CHANGE_MODE_P
2995         * df.c (df_def_record_1): Likewise.
2996         * recog.c (register_operand): Likewise.
2997         * simplify-rtx.c (simplify_subreg): Likewise.
2998         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2999         CANNOT_CHANGE_MODE_CLASS.
3000         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
3001         Likewise.
3002         * reload.c (push_reload): Likewise.
3003         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3004         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3005         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3006         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
3007         * mips.c (mips_cannot_change_mode_class): Update.
3008         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3009         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3010         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3011         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
3012         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
3013         * sh.c (sh_cannot_change_mode_class): Update.
3014         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
3015         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
3016
3017 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
3018
3019         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
3020         change to LINK_COMMAND_SPEC in gcc.c.
3021
3022 2003-01-31  Jan Hubicka  <jh@suse.cz>
3023
3024         PR c/9506
3025         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
3026
3027 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3028
3029         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
3030         duplicated code.
3031
3032 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
3033
3034         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
3035         (BINFO_ELTS): New #define.
3036         * stor-layout.c (finalize_record_size): Don't set them.
3037         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
3038         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
3039         (BINFO_LANG_ELTS): New #define.
3040         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
3041         * java/class.c (make_class): Use BINFO_ELTS.
3042         (set_super_info): Likewse.
3043         (add_interface_do): Likewise.
3044         * objc/objc-act.c (start_class): Use BINFO_ELTS.
3045
3046 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
3047
3048         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
3049         (times): Don't ever declare if not HAVE_TIMES.
3050         (clock): Don't ever declare if not HAVE_CLOCK.
3051
3052 2003-01-30  Richard Henderson  <rth@redhat.com>
3053
3054         * flow.c (update_life_info): Zap life info after cleanup_cfg.
3055         (regno_uninitialized): Use correct live at function entry set.
3056         (regno_clobbered_at_setjmp): Likewise.
3057
3058         * expr.c (store_expr): Promote all MEM intermediates to regs.
3059
3060 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
3061
3062         * config/arm/arm.c: Fix comment typos.
3063         * config/arm/arm.h: Likewise.
3064         * config/arm/netbsd-elf.h: Likewise.
3065         * config/arm/netbsd.h: Likewise.
3066
3067 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
3068
3069         * gengtype.c (struct walk_type_data): Add needs_cast_p.
3070         (walk_type): Set needs_cast_p in walk_type_data.
3071         (write_types_process_field): Supply casts when required to suppress
3072         warnings.
3073         (write_root): Cast gt_pch_n_S to suppress warning.
3074         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
3075         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
3076         when they might exist.
3077         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
3078         insn-conditions.o, and rs6000.o.
3079
3080 2003-01-30  Richard Henderson  <rth@redhat.com>
3081
3082         * ggc-page.c (G.context_depth_allocations): New.
3083         (G.context_depth_collections): New.
3084         (alloc_page): Set G.context_depth_allocations.
3085         (ggc_collect): Set G.context_depth_collections.
3086         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
3087         (ggc_pop_context): Early exit for no allocations or collections.
3088
3089 2003-01-30  Richard Henderson  <rth@redhat.com>
3090
3091         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
3092
3093 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
3094
3095         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
3096         size, the link register is always saved if any other register is
3097         saved.
3098
3099 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
3100
3101         * config/h8300/h8300-protos.h: Update the prototype for
3102         compute_plussi_cc.
3103         (cpp_reader): Declare before it is used.
3104         * config/h8300/h8300.c (compute_plussi_cc): Change the return
3105         type to int.
3106         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
3107         see an unknown H8 variant.
3108
3109 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
3110
3111         PR target/9316
3112         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
3113         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
3114         * config/rs6000/t-rtems: New file. multilib variants to match OS.
3115         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
3116         rs6000/t-ppcgas so we get the desired multilibs.
3117
3118 2003-01-30  Nick Clifton  <nickc@redhat.com>
3119
3120         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
3121         when popping saved IP register off the stack.
3122
3123 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
3124
3125         * config/rs6000/aix43.h: Fix comment typos.
3126         * config/rs6000/aix51.h: Likewise.
3127         * config/rs6000/aix52.h: Likewise.
3128         * config/rs6000/altivec.h: Likewise.
3129         * config/rs6000/rs6000.c: Likewise.
3130         * config/rs6000/rs6000.h: Likewise.
3131         * config/rs6000/rs6000.md: Likewise.
3132         * config/rs6000/spe.md: Likewise.
3133
3134 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
3135
3136         * c-common.c (builtin_define_float_constants): Define
3137         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
3138
3139 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
3140
3141         * config/sh/lib1funcs.asm: Fix comment typos.
3142         * config/sh/linux.h: Likewise.
3143         * config/sh/sh.c: Likewise.
3144         * config/sh/sh.md: Likewise.
3145
3146 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
3147
3148         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
3149
3150 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
3151
3152         * config/fp-bit.h (__make_dp): Declare if TMODES.
3153
3154 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
3155
3156         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
3157         general_operand_src and general_operand_dst.
3158
3159 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
3160
3161         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
3162         Return true for variable sized types.
3163         (rs6000_va_arg): Handle variable sized types passed by reference
3164         on non-SVR4 ABI.
3165
3166 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
3167
3168         * arm.c (arm_legtimize_address): New function.
3169         * arm-protos.h (arm_legtimize_address): Add prototype.
3170         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
3171         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
3172         do ... while (0)
3173
3174 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
3175
3176         PR bootstrap/9296
3177         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
3178         depended on it being defined until now.
3179
3180 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
3181
3182         PR target/9295
3183         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
3184         RTEMS code knows which C++ initialization style the toolset
3185         configuration is using.
3186
3187 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
3188
3189         PR bootstrap/9293
3190         * config/m68k/t-crtstuff: Replace spaces with tabs, add
3191          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
3192
3193 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
3194
3195         PR bootstrap/9292
3196         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
3197         RTEMS threads.
3198         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
3199
3200 2003-01-29  Nick Clifton  <nickc@redhat.com>
3201
3202         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
3203         not $(srcdir).
3204
3205 2003-01-29  Andrew Haley  <aph@redhat.com>
3206
3207         * tree-inline.c (walk_tree): Add CHAR_TYPE.
3208
3209 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3210
3211         * i386.md (subdi3_carry_rex64): Fix typo.
3212
3213 2003-01-28  Stan Shebs  <shebs@apple.com>
3214
3215         * coretypes.h (cpp_reader): Forward declare struct.
3216         * c-pragma.h (cpp_reader): Remove forward declaration.
3217         * hashtable.h (cpp_reader): Likewise.
3218         * scan.h (cpp_reader): Likewise.
3219         * tree.h (cpp_reader): Likewise.
3220         * config/darwin-protos.h (cpp_reader): Likewise.
3221         * config/arm/arm-protos.h (cpp_reader): Likewise.
3222         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
3223         struct cpp_reader in prototypes.
3224
3225 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
3226
3227         * doc/install.texi: Add documentation for installation into
3228         tooldirs and with DESTDIR.
3229
3230 2003-01-28  Richard Henderson  <rth@redhat.com>
3231
3232         * config.gcc (ia64*-*-aix*): Remove.
3233         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
3234         * config/ia64/unwind-aix.c: Remove file.
3235
3236 2003-01-28  Andreas Schwab  <schwab@suse.de>
3237
3238         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
3239         register.
3240         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
3241         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
3242         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
3243         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
3244         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
3245         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
3246         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
3247
3248 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
3249
3250         * combine.c (nonzero_bits): Fix check for negative divide operands.
3251
3252 2003-01-28  Richard Henderson  <rth@redhat.com>
3253
3254         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
3255         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
3256
3257 2003-01-28  Richard Henderson  <rth@redhat.com>
3258
3259         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
3260
3261         * config/cris/cris.c (cris_address_cost): Make static.
3262         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
3263         * config/cris/cris.h (ADDRESS_COST): Remove.
3264         * config/cris/cris-protos.h: Update.
3265
3266 2003-01-23  Mike Stump  <mrs@apple.com>
3267
3268         * regclass.c (init_reg_autoinc): New function.
3269         (regclass): Move initialization of forbidden_inc_dec_class from
3270         here...
3271         (init_regs): to here.  Avoids reinitialization for each function,
3272         saving compilation time.
3273
3274 2003-01-28  Jason Merrill  <jason@redhat.com>
3275
3276         * cpplib.h (struct cpp_options): Add warn_deprecated field.
3277         * cppinit.c (cpp_create_reader): Turn it on by default.
3278         * c-opts.c (c_common_decode_option): Set it.
3279         * cpplib.c (do_pragma_once): Only complain about #pragma once
3280         if warn_deprecated is set.
3281
3282 2003-01-28  Dale Johannesen  <dalej@apple.com>
3283
3284         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
3285         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
3286         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
3287
3288 2003-01-28  Richard Henderson  <rth@redhat.com>
3289
3290         * target.h (targetm.address_cost): New.
3291         * target-def.h (TARGET_ADDRESS_COST): New.
3292         (TARGET_RTX_COSTS): Uncomment.  Oops.
3293         * cse.c (address_cost): Use new target hook.
3294         (default_address_cost): New.
3295         * output.h (default_address_cost): Declare.
3296         * hooks.c (hook_int_rtx_0): New.
3297         * hooks.h (hook_int_rtx_0): Declare.
3298         * loop.c (combine_givs_p): Remove if 0 code.
3299         * system.h (ADDRESS_COST): Poison.
3300
3301         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
3302         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
3303         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
3304         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
3305         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
3306         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
3307         config/xtensa/xtensa.c, config/xtensa/xtensa.h
3308         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
3309         (ADDRESS_COST): Remove.
3310
3311         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
3312         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
3313         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
3314         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
3315         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
3316         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
3317         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
3318         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
3319         config/mips/mips.c, config/mips/mips.h,
3320         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
3321         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
3322         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
3323         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
3324         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
3325         config/vax/vax.c, config/vax/vax.h
3326         (foo_address_cost): Make static.
3327         (TARGET_ADDRESS_COST): New.
3328         (ADDRESS_COST): Remove.
3329
3330         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
3331         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
3332         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
3333         config/stormy16/stormy16.h
3334         (ADDRESS_COST): Move code ...
3335         (foo_address_cost): ... here.
3336         (TARGET_ADDRESS_COST): New.
3337
3338         * config/m32r/m32r.c (m32r_address_cost): Remove.
3339         * config/m32r/m32r-protos.h: Update.
3340
3341         * config/mmix/mmix.c (mmix_address_cost): Remove.
3342         * config/mmix/mmix-protos.h: Update.
3343
3344         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
3345         mn10300_address_cost; move unsig allocation ...
3346         (mn10300_address_cost): ... here.
3347         (TARGET_ADDRESS_COST): New.
3348         * config/mn10300/mn10300-protos.h: Update.
3349         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
3350
3351         * doc/tm.texi: Update.
3352
3353 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
3354
3355         * haifa-sched.c (schedule_insn): Return necessary cycle advance
3356         after issuing the insn.
3357         (rank_for_schedule): Make a insn with /S the highest priority
3358         insn.
3359         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
3360         (choose_ready): Check SCHED_GROUP_P.
3361         (schedule_block): Advance cycle after issuing insn if it is
3362         necessary.  Don't reorder insns if there is an insn with /S.
3363         (set_priorities): Ignore schedule groups.
3364
3365         * sched-deps.c (remove_dependence, group_leader): Remove the
3366         functions.
3367         (add_dependence): Ignore schedule groups.
3368         (set_sched_group_p): Don't make copy of dependencies from previous
3369         insn of the schedule group.  Add anti-dependency to the previous
3370         insn of the schedule group.
3371         (compute_forward_dependences): Ignore schedule groups.
3372
3373         * sched-ebb.c (init_ready_list): Ignore schedule groups.
3374
3375         * sched-rgn.c (init_ready_list): Ditto.
3376         (can_schedule_ready_p): Ditto.
3377
3378 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
3379
3380         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
3381         register to another one.
3382
3383 2003-01-28  Richard Henderson  <rth@redhat.com>
3384
3385         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
3386
3387 2003-01-28  Roger Sayle  <roger@eyesopen.com>
3388
3389         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
3390
3391 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
3392
3393         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
3394         class contains a floating-point register, return the size of the
3395         mode in half words.
3396
3397 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
3398
3399         * i386.c (ix86_carry_flag_operator):  New predicate.
3400         (fcmov_operator): Fix whitespace.
3401         (ix86_expand_carry_flag_compare):  Deal with floating point.
3402         (ix86_expand_int_movcc): Deal with fp; update insn expansion
3403         (ix86_expand_int_addcc): Likewise.
3404         (ix86_expand_strlensi_unroll_1): likewsie.
3405         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
3406         * i386.md (add?i_carry_rex64): Use new predicate.
3407         (sub?i3_carry_rex64): Likewise.
3408         (x86_mov?icc_0_m1*): Likewise.
3409
3410 2003-01-28  Andreas Schwab  <schwab@suse.de>
3411
3412         * cfgloopmanip.c (create_preheader): Initialize src to avoid
3413         warning.
3414
3415         * expmed.c (emit_store_flag): Fix cast to avoid sign
3416         comparison warning.
3417
3418         * combine.c (force_to_mode): Add cast to fix warning when
3419         STORE_FLAG_VALUE is negative.
3420
3421 2003-01-27  Richard Henderson  <rth@redhat.com>
3422
3423         * Makefile.in (cse.o): Depend on TARGET_H.
3424         * cse.c (rtx_cost): Use targetm.rtx_costs.
3425         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
3426         * doc/tm.texi: Update.
3427
3428         * target.h (targetm.rtx_costs): New.
3429         * target-def.h (TARGET_RTX_COSTS): New.
3430         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
3431         * hooks.h: Update.
3432
3433         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
3434         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
3435         * config/alpha/alpha.h (PROCESSOR_MAX): New.
3436         (CONST_COSTS, RTX_COSTS): Remove.
3437
3438         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
3439         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
3440         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
3441         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
3442         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
3443         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
3444         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
3445         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
3446         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
3447         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
3448         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
3449         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
3450         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
3451         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
3452         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
3453         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
3454         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
3455         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
3456         config/v850/v850.c, config/v850/v850.h,
3457         config/xtensa/xtensa.c, config/xtensa/xtensa.h
3458         (CONST_COSTS, RTX_COSTS): Move code ...
3459         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
3460
3461         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
3462         (arm_rtx_costs, TARGET_RTX_COSTS): New.
3463         * config/arm/arm-protos.h: Update.
3464         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
3465
3466         * config/avr/avr.h (CONST_COSTS): Move code ...
3467         * config/avr/avr.c (avr_rtx_costs): ... here.
3468         (default_rtx_costs): Make static.
3469         * config/avr/avr-protos.h: Update.
3470
3471         * config/h8300/h8300.c (const_costs): Make static.
3472         (h8300_and_costs, h8300_shift_costs): Likewise.
3473         * config/h8300/h8300-protos.h: Update.
3474
3475         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
3476         (CONST_COSTS): Move code ...
3477         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
3478         default_rtx_costs; update for signature change.
3479         * config/ip2k/ip2k-protos.h: Update.
3480
3481         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
3482         (CONST_COSTS): Move code ...
3483         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
3484         (TARGET_RTX_COSTS): New.
3485         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
3486         * config/m68hc11/m68hc11-protos.h: Update.
3487
3488         * config/m68k/m68k.c (const_int_cost): Make static.
3489         * config/m68k/m68k-protos.h: Update.
3490
3491         * config/mcore/mcore.c (mcore_const_costs): Make static.
3492         (mcore_and_cost, mcore_ior_cost): Likewise.
3493         * config/mcore/mcore-protos.h: Update.
3494
3495         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
3496         (mmix_rtx_cost_recalculated): Remove.
3497         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
3498         * config/mmix/mmix-protos.h: Update.
3499
3500         * config/sh/sh.c (shiftcosts): Make static.
3501         (addsubcosts, andcosts, multcosts): Likewise.
3502         * config/sh/sh-protos.h: Update.
3503
3504         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
3505         (sparc_rtx_costs): Make static; update for change in signature.
3506         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
3507         * config/sparc/sparc-protos.h: Update.
3508
3509         * config/v850/v850.c (const_costs): Make static.
3510         * config/v850/v850-protos.h: Update.
3511
3512         * config/vax/vax.h (RTX_COSTS): Remove.
3513         (CONST_COSTS): Move code ...
3514         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
3515         from vax_rtx_cost.
3516         (vax_rtx_costs, TARGET_RTX_COSTS): New.
3517
3518 2003-01-27  Richard Henderson  <rth@redhat.com>
3519
3520         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
3521         * config/vax/vax-protos.h: Update.  Really.
3522
3523 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
3524
3525         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
3526         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
3527         zero if no hardware floating point.
3528         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
3529         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
3530         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
3531         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
3532         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
3533         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
3534         even FP registers on N32 and N64.
3535         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
3536         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
3537         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
3538         even-register-like alignment to 128-bit arguments.
3539         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
3540         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
3541         on N32 or N64.
3542         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
3543         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
3544         (TPBIT): Set to tp-bit.c.
3545         (tp-bit.c): Create out of fp-bit.c.
3546
3547 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3548
3549         * c-parse.in: Remove '%expect 32' directive in objc mode.
3550
3551 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
3552
3553         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
3554         (LIBGCOV): New variable.
3555         (libgcc.mk): Add LIBGCOV.
3556         (LIBGCC_DEPS): Add libgcov.c.
3557         (libgcov.a): New target.
3558         (clean): Remove libgcov.a.
3559         (install-libgcc): Do libgcov too.
3560         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
3561         with libgcov.a.
3562         * libgcc2.c (L_gcov): Move into ...
3563         * libgcov.c: ... here. New file.
3564         * mklibgcc.in: Add libgcov rules.
3565         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
3566
3567         * doc/invoke.texi (profile-arcs, test-coverage): Update and
3568         clarify.
3569
3570         * profile.c (index_counts_file): Remove duplicate check for open file.
3571
3572 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
3573
3574         * gcc/doc/invoke.texi (Optimization Options): Group together
3575         optional and experimental flags.  Move trapv and bounds-check
3576         out of this section.  Group floating point flags together.
3577         (Code Gen Options): Move trapv and bounds-check to here.
3578
3579 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
3580
3581         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
3582
3583 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
3584
3585         PR optimization/9090
3586         * function.c (purge_addressof_1): After pushing an addressed register
3587         onto the stack, simplify the result.
3588
3589 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3590
3591         * doc/extend.texi: Fix typo.
3592
3593 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3594
3595         * doc/cppopts.texi: Fix typo.
3596         * doc/objc.texi: Likewise.
3597         * doc/passes.texi: Likewise.
3598
3599 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
3600
3601         * real.c (ibm_extended_format): Add 53 to minimum exponent.
3602         (encode_ibm_extended): Adjust.
3603
3604 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
3605
3606         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
3607         timevar_id enumerations.
3608
3609 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3610
3611         * combine.c: Fix formatting.
3612
3613 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3614
3615         * doc/gccint.texi: Update the copyright.
3616
3617 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3618
3619         * doc/cpp.texi: Fix typos.
3620         * doc/extend.texi: Likewise.
3621         * doc/gty.texi: Likewise.
3622         * doc/install.texi: Likewise.
3623         * doc/passes.texi: Likewise.
3624         * doc/rtl.texi: Likewise.
3625         * doc/tm.texi: Likewise.
3626
3627 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3628
3629         * config/ia64/fde-glibc.c: Fix comment typos.
3630         * config/ia64/hpux.h: Likewise.
3631         * config/ia64/ia64.c: Likewise.
3632         * config/ia64/ia64.h: Likewise.
3633         * config/ia64/unwind-ia64.c: Likewise.
3634
3635 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
3636
3637         * config/i386/i386-modes.def: Fix comment typos.
3638         * config/i386/i386.c: Likewise.
3639         * config/i386/i386.md: Likewise.
3640
3641 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
3642
3643         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
3644         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
3645         ASM_FINISH_DECLARE_OBJECT before defining it.
3646         * toplev.c (rest_of_decl_compilation):  Don't define
3647         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
3648         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
3649         parameters for DWARF2 targets because they _are_ used.
3650
3651 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
3652
3653         * fp-bit.h: Define macros for TFmode floating-point constants
3654         in IBM-extended TFmode types.
3655         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
3656         widths.
3657         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
3658         TFmode type.
3659
3660         * config/fp-bit.h: Define macros for TFmode floating-point
3661         constants in IEEE quad TFmode type.  Declare functions according
3662         to L_ macros.
3663         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
3664         (TFtype, TItype, UTItype): Define if TMODES is defined.
3665         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
3666         (F_T_BITOFF, D_T_BITOFF): Define.
3667         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
3668         guaranteed to be wide enough.
3669         * config/fp-bit.c: Check for L_ macros for tf functions.
3670         (__thenan_tf): New.
3671         (nan): Adjust.
3672         (pack_d, unpack_d): Support IEEE 854 quad type.
3673         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
3674         from FRAC_NBITS, FRAC_BITS and NGARDS.
3675         (usi_to_float): Cast constants to be shifted to fractype
3676         instead of assuming long long is wide enough.
3677         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
3678
3679 2003-01-26  Andreas Jaeger  <aj@suse.de>
3680
3681         * df.c: Remove prototype of unused function df_regno_rtl_debug.
3682
3683 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
3684
3685         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
3686         (DBBIT_FUNCS): Added _df_to_tf.
3687         (TPBIT_FUNCS): New.
3688         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
3689         (LIBGCC_DEPS): Added TPBIT.
3690         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
3691
3692         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
3693         been able to move the result to target.
3694
3695         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
3696         for the appropriate mode.
3697
3698         * calls.c (emit_library_call_value_1): Handle return values
3699         in a PARALLEL.
3700
3701         * rtl.c (get_mode_alignment): Moved to...
3702         * stor-layout.c: ... here.
3703
3704         * print-rtl.c (print_rtx): Don't print MEM details in
3705         GENERATOR_FILEs.
3706
3707 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
3708
3709         * df.h: Update comments, tidy formatting.
3710         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
3711         REVERSE, UNION, INTERSECTION.  All uses updated.
3712         (OLD_DF_INTERFACE): Remove.
3713         (struct insn_info): Remove commented out insn field.
3714         * df.c: Update comments, tidy formatting.
3715         (df_def_table_realloc): Remove.
3716
3717
3718 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
3719
3720         * calls.c (save_fixed_argument_area): Tidy.
3721         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
3722         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
3723         call chain loop at 1 if !try_tail_call.  Formatting.
3724         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
3725         Use save_fixed_argument_area and restore_fixed_argument_area.
3726
3727 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3728
3729         * df.c (df_uses_record): Handle CC0.
3730
3731 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
3732
3733         * reload.c (maybe_memory_address_p): New function.
3734         (find_reloads_address): Use it instead of memory_address_p.
3735
3736 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
3737
3738         * final.c (shorten_branches): Align the address of code label
3739         when computing initial lengths and addresses.
3740
3741 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3742
3743         * config/m68hc11/m68hc11.md: Fix a comment typo.
3744
3745 2003-01-25  Andreas Jaeger  <aj@suse.de>
3746
3747         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
3748         TARGET_MACHO.
3749
3750 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3751
3752         * gcse.c (bypass_last_basic_block): New global variable.
3753         (bypass_block):  Use redirect_edge_and_branch_force to redirect
3754         fall-through edges.  Use bypass_last_basic_block to determine
3755         which blocks have valid PRE information.
3756         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
3757
3758 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
3759
3760         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
3761
3762 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3763                               Eric Botcazou <ebotcazou@libertysurf.fr>
3764         PR opt/8492
3765         * gcse.c (one_cprop_pass): Delete unreachable blocks.
3766
3767 2003-01-25  Richard Henderson  <rth@redhat.com>
3768
3769         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
3770         from ia64_aix_select_rtx_section.
3771         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
3772         instead of saving and restoring flag_pic.
3773         (ia64_rwreloc_unique_section): Similarly.
3774         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
3775         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
3776         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
3777         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
3778
3779 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3780
3781         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
3782         comment.
3783
3784 2002-01-25  Richard Henderson  <rth@redhat.com>
3785
3786         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
3787
3788 2002-01-25  Kelley Cook <kelleycook@comcast.net>
3789
3790         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
3791
3792 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
3793
3794         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
3795         type for bitmaps.  Use unsigned long.
3796         (nBITMAP_WORD_BITS): New macro.
3797         (BITMAP_WORD_BITS): New macro.
3798         (rest of file): Use it.
3799         * bitmap.c: Use it.
3800
3801 2003-01-25  Richard Henderson  <rth@redhat.com>
3802
3803         2002-02-19  Robert Lipe  <robertlipe@usa.net>
3804         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
3805
3806 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3807
3808         * builtins.c (purge_builtin_constant_p): Scan insn stream
3809         sequentially rather than by basic block.
3810         * function.c (purge_addressof): Simplify test with INSN_P.
3811
3812 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
3813
3814         * combine.c (simplify_comparison, case AND): Remove a redundant test.
3815
3816 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3817
3818         * function.h (struct function): New field calls_constant_p.
3819         (current_function_calls_constant_p): New macro for above.
3820         * function.c (prepare_function_start): Initialize calls_eh_return
3821         and calls_constant_p.
3822         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
3823         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
3824         when the current_function_calls_constant_p.
3825         * integrate.c (expand_inline_function): Set calls_constant_p if
3826         the function being inlined has calls_constant_p set.
3827
3828 2002-01-25  Roger Sayle  <roger@eyesopen.com>
3829
3830         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
3831         optimizing, even if flag_gcse is true.
3832         * toplev.c (rest_of_compilation): purge_builtin_constant_p
3833         only needs to be called when "optimize > 0 && flag_gcse".
3834
3835 2003-01-25  Roger Sayle  <roger@eyesopen.com>
3836
3837         * stmt.c (emit_case_bit_tests): New routine to implement suitable
3838         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
3839         (case_bit_test_cmp): New comparison function for "qsort" to order
3840         case_bit_tests by decreasing number of destination nodes.
3841         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
3842         (expand_end_case_type): Use emit_case_bit_tests to implement
3843         suitable switch statments.
3844         (CASE_USE_BIT_TESTS): New target macro to disable the above.
3845         * Makefile.in (stmt.o): Add dependency on optab.h.
3846         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
3847
3848 2003-01-23  Andreas Schwab  <schwab@suse.de>
3849
3850         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
3851         __do_global_ctors_aux hidden global and don't put it in
3852         .init_array.
3853         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
3854         instead so that it comes first.
3855
3856 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
3857
3858         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
3859         subreg is read/modify.
3860
3861 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
3862
3863         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
3864         do libcall for large blocks.
3865         * i386.md (comi patterns): Set type to ssecomi.
3866         (sse2_unpck?pd): Fix mode of vec_select.
3867
3868         * cse.c: Include except.h
3869         (cse_set_around_loop):  Do not create new basic blocks.
3870         * Makefile.in (cse.o): Add dependnecy on except.h
3871
3872 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
3873
3874         * builtins.c (fold_trunc_transparent_mathfn): New function.
3875         (fold_builtin): Use it.
3876         * convert.c (convert_to_real): Re-enable code to convert
3877         math functions; add support for floor familly functions.
3878
3879 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3880
3881         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
3882         dependencies on coretypes.h and $(TM_H).
3883
3884 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
3885
3886         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
3887
3888 2002-01-24  Stuart Hastings  <stuart@apple.com>
3889
3890         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
3891
3892 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
3893
3894         * config/c4x/c4x.md (UNSPEC_BU): New constants.
3895         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
3896         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
3897         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
3898         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
3899         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
3900         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
3901         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
3902
3903 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
3904
3905         * emit-rtl.c (reg_attrs_htab): New static variable.
3906         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
3907         functions.
3908         (reg_rtx): Do not maintain regno_decl.
3909         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
3910         set_mem_attrs_from_reg): New global function.
3911         (init_emit): Do not initialize regno_decl.
3912         (init_emit_once): initialize reg_attrs_htab.
3913         * final.c (alter_subreg): Do not replace REG by SUBREG.
3914         (gen_mem_expr_from_op): Improve output.
3915         (output_asm_operands): Likewise.
3916         * function.c (assign_params): Do not set REGNO_DECL.
3917         * function.h (struct function): Kill regno_decl.
3918         (REGNO_DECL): Kill.
3919         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3920         * print_rtl.c (print_rtx): Output REG information.
3921         * regclass.c (reg_scan_mark_refs): Update attrs.
3922         * reload1.c (alter_reg): Likewise.
3923         * simplify_rtx.c (simplify_subreg): Likewise.
3924         * stmt.c (expand_decl): Likewise.
3925         * rtl.def (REG): Add new field.
3926         * rtl.h (struct reg_attrs): New.
3927         (rtunion_def): At rtreg.
3928         (X0MEMATTR): Add checking.
3929         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3930         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3931         Declare.
3932         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3933
3934 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3935
3936         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3937         (xtensa_emit_call, print_operand): Fix printf format strings
3938         to avoid compile warnings.
3939         (xtensa_function_prologue, xtensa_function_epilogue): Change type
3940         of "size" argument to HOST_WIDE_INT to fix compile warnings.
3941         * config/xtensa/xtensa-protos.h
3942         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3943
3944 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
3945
3946         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3947         (implicit_built_in_decls): New global array.
3948         (mathfn_built_in): New global function.
3949         (fold_trunc_transparent_mathfn): New static function
3950         (expand_builtin_strstr, expand_bultin_strchr,
3951         expand_builtin_strpbrk, expand_builtin_strcpy,
3952         expand_builtin_strncpy, expand_bultin_strcmp,
3953         expand_bultin_strncat, expand_builtin_fputs): Use
3954         implicint_built_in_decls.
3955         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3956         * builtins.def: Fix comments.
3957         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3958         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3959         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3960         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3961         (DEF_C99_C90RES_BULTIN): New.
3962         (*f, *l builtins): Update.
3963         * c-common.c (DEF_BUILTIN): Initialize implicit array.
3964         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3965         * convert.c (strip_float_extensions): New global function.
3966         * tree.h (DEF_BUILTIN): Accept 10 arguments.
3967         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3968         Declare.
3969         * java/builtins.c (define_builtin): Handle implicit.
3970         (DEF_BUILTIN): Update.
3971         * tm.texi (TARGET_C99_FUNCTIONS): Document.
3972         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3973         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3974         when using glibc2.
3975
3976 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3977
3978         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3979         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
3980         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3981         * config/xtensa/crti.asm: New file.
3982         * config/xtensa/crtn.asm: New file.
3983         * config/xtensa/t-elf: New file.
3984         * config/xtensa/t-linux: New file.
3985         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3986         Move various CFLAGS settings to new t-elf file.
3987
3988 2003-01-24  Richard Henderson  <rth@redhat.com>
3989
3990         PR optimization/4382
3991         * tree-inline.c (find_builtin_longjmp_call_1): New.
3992         (find_builtin_longjmp_call): New.
3993         (inlinable_function_p): Use it.
3994
3995 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3996
3997         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3998         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3999         * config/i386/i386.c (function_arg_pass_by_reference): New.
4000         (ix86_va_arg): Support arguments passed by reference.
4001
4002 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4003
4004         * cfgloopanal.c: New file.
4005         * cfgloopmanip.c: New file.
4006         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
4007         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
4008         cfglayout.o): Add dependency on cfgloop.h.
4009         (cfgloop.o): Add flags.h dependency.
4010         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
4011         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
4012         (struct loop, struct loops, flow_loops_find, flow_loops_update,
4013         flow_loops_free, flow_loops_dump, flow_loop_dump,
4014         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
4015         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
4016         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
4017         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
4018         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
4019         find_common_loop, verify_loop_structure): Declarations moved to ...
4020         * cfgloop.h: New file.
4021         * bb-reorder.c (reorder_basic_blocks): Modified.
4022         * cfglayout.c: Include cfgloop.h.
4023         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
4024         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
4025         (break_superblocks): New static function.
4026         (cfg_layout_finalize): Use it.
4027         (cfg_layout_split_block): New function.
4028         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
4029         fields.
4030         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
4031         changed.
4032         (cfg_layout_split_block): Declare.
4033         * cfgloop.c: Include cfgloop.h and flags.h.
4034         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
4035         get_loop_body): Avoid signed versus unsigned comparison warnings.
4036         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
4037         loop_latch_edge): Modified.
4038         (verify_loop_structure): Modified to use flags stored in loop structure;
4039         check irreducible loops.
4040         (cancel_loop, cancel_loop_tree): New functions.
4041         (estimate_probability): Use loop analysis code for predictions.
4042         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
4043         warnings.
4044         * doloop.c: Include cfgloop.h.
4045         * loop.c: Include cfgloop.h.
4046         * predict.c: Include cfgloop.h.
4047         * toplev.c: Include cfgloop.h.
4048         * unroll.c: Include cfgloop.h.
4049         * tracer.c (tracer): Modified.
4050
4051 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
4052
4053         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
4054
4055 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
4056
4057         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
4058         * configure: Regenerate.
4059
4060         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
4061         (tls_symbolic_reference_mentioned_p): Add prototype.
4062         (s390_tls_get_offset): Add prototype.
4063         (emit_pic_move): Remove prototype, replace by ...
4064         (emit_symbolic_move): .. this new prototype.
4065
4066         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
4067         (tls_model_chars): New global variable.
4068         (s390_encode_section_info): Encode TLS model.
4069         Use targetm.binds_local_p to check for local symbols.
4070         (s390_strip_name_encoding): New function.
4071         (TARGET_STRIP_NAME_ENCODING): Define.
4072
4073         (get_thread_pointer): New function.
4074         (legitimize_tls_address): New function.
4075         (legitimize_address): Call it.
4076         (emit_pic_move): Remove, replace by ...
4077         (emit_symbolic_move): ... this new function.
4078
4079         (larl_operand): Handle TLS operands.
4080         (legitimate_constant_p): Likewise.
4081         (s390_decompose_address): Likewise.
4082         (s390_cannot_force_const_mem): New function.
4083         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
4084
4085         (s390_output_symbolic_const): Handle TLS unspecs.
4086         (print_operand): New code 'J'.
4087         (machine_function): Add struct member 'some_ld_name'.
4088         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
4089
4090         (enum s390_builtin): New type.
4091         (code_for_builtin_64, code_for_builtin_31): New global variables.
4092         (s390_init_builtins, s390_expand_builtin): New functions.
4093         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
4094
4095         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
4096         (ASM_OUTPUT_LABELREF): Define.
4097         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
4098
4099         * config/s390/s390.md: Define TLS UNSPEC constants.
4100         ("movdi", "movsi"): Handle TLS operands.
4101         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
4102         ("*tls_load_64", "*tls_load_31"): New insns.
4103         ("call_value_tls", "call_value_tls_exp"): New expanders.
4104         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
4105         "bas_tls_64", "bas_tls_31"): New insns.
4106
4107 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
4108
4109         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
4110         spe ABI is configured, if requested.
4111
4112 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4113
4114         * doc/passes.texi: Fix typo.
4115
4116 2003-01-24  Andreas Schwab  <schwab@suse.de>
4117
4118         * stor-layout.c (excess_unit_span): Only define if used.
4119
4120 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
4121
4122         * gcc/doc/invoke.texi (Optimization Options): List -O levels
4123         for each optimization flag.
4124
4125 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
4126
4127         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
4128
4129 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4130
4131         * doc/bugreport.texi: Use @command instead of @code for commands.
4132         * doc/collect2.texi: Likewise.
4133         * doc/headerdirs.texi: Likewise.
4134         * doc/invoke.texi: Likewise.
4135         * doc/standards.texi: Likewise.
4136         * doc/tm.texi: Likewise.
4137         * doc/trouble.texi: Likewise.
4138
4139 2003-01-24  Nick Clifton  <nickc@redhat.com>
4140
4141         * config/arm/arm.c (use_return_insn): Do not use a single return
4142         instruction for interrupt handelrs which have to create a stack
4143         frame.
4144         (arm_expand_prologue): Do not pre-bias the return address of
4145         interrupt handlers which create a stack frame.
4146
4147 2003-01-24  Nick Clifton  <nickc@redhat.com>
4148
4149         * Add sh2e support:
4150
4151         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
4152
4153                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
4154                 med_cbranches.  Fix logic in short_cbranches.
4155
4156         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
4157
4158                 * config/sh/sh.md (delay for cbranch): Don't annul delay
4159                 slots on SH2e.
4160                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
4161                 cbranch with unfilled delay slot on SH2e.
4162                 (output_branch): Fill with a nop the delay slot of a
4163                 branch that required a delay slot but didn't get one.
4164
4165         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
4166
4167                 * doc/invoke.texi (SH options): Document -m2e.
4168                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
4169                 * config/sh/lib1funcs.asm: Likewise.
4170                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
4171                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
4172                 not __sh1__.
4173                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
4174                 SH2E up.
4175                 (SH3E_BIT): Renamed to...
4176                 (SH_E_BIT): ... this.  Replace all uses.
4177                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
4178                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
4179                 (TARGET_SWITCHES): Added 2e.
4180                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
4181                 (processor_type): Added PROCESSOR_SH2E.
4182                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
4183                 TARGET_SH2E, except in sqrtsf2_i.
4184                 (attribute cpu): Added sh2e.
4185                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
4186                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
4187                 * config.gcc: Add sh2e target support.
4188
4189 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
4190
4191         Rename -W to -Wextra.
4192         * c-decl.c:  Update comments.
4193         * c-typeck.c:  Likewise.
4194         * flags.h:  Likewise.
4195         * function.c:  Likewise.
4196         * stmt.c:  Likewise.
4197         * toplev.c:  Update comments.
4198         (W_options):  Add 'extra'.
4199         (display_help):  Remove '-W'.
4200         (decode_W_option):  Special warn_uninitialized treatment in the case
4201         of -Wextra.
4202         * doc/invoke.texi:  Update with new entries.
4203
4204 2003-01-23  Richard Henderson  <rth@redhat.com>
4205
4206         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
4207         in no-else-block case.  Add commentary.
4208
4209 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4210
4211         * configure.in: Revert last change.
4212
4213 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4214
4215         * configure.in: Don't include ansidecl.h in tconfig.h.
4216         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
4217         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
4218         ATTRIBUTE_UNUSED.
4219
4220         * configure: Regenerate.
4221
4222 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
4223
4224         PR java/6748
4225         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
4226         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
4227         kernels.
4228
4229 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4230
4231         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
4232
4233 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
4234
4235         * genattrtab.c (write_attr_get): Mark 'insn' paramter
4236         as ATTRIBUTE_UNUSED.
4237
4238 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
4239
4240         * arm.c (thumb_base_register_rtx_p): New function.
4241         (thumb_index_register_rtx_p): New function.
4242         (thumb_legitimate_address_p): New function.
4243         (thumb_legitimate_offset_p): New function.
4244         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
4245         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
4246         definitions.
4247         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
4248         (THUMB_LEGITIMATE_OFFSET): Delte.
4249         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
4250         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
4251         (thumb_legitimate_offset_p): Likewise.
4252
4253 2003-01-23  Andreas Schwab  <schwab@suse.de>
4254
4255         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
4256
4257 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4258
4259         * fixinc/Makefile.in (FL_LIST): Revert last change.
4260
4261 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
4262
4263         PR other/7341
4264         * invoke.texi (ftest-coverage): Fix broken cross-reference.
4265         Change @code to @command for gcov command.
4266
4267         * gcc.texi: Adjust title of gcov section.
4268         Adjust copyright.
4269         * gcov.texi: Likewise.
4270
4271 2003-01-22  Roger Sayle  <roger@eyesopen.com>
4272
4273         PR optimization/8423
4274         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
4275         its argument is constant, or 0 if !flag_gcse.
4276         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
4277         if it's argument is constant.
4278         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
4279         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
4280         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
4281         * builtins.c (purge_builtin_constant_p): New function to force
4282         instantiation of any remaining CONSTANT_P_RTX nodes.
4283         * rtl.h (purge_builtin_constant_p): Prototype here.
4284         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
4285         pass after GCSE and before loop.
4286         (flag_gcse): No longer static.
4287         * flags.h (flag_gcse): Prototype here.
4288
4289 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
4290
4291         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
4292         introduced by last change.
4293
4294 2003-01-22  Andreas Schwab  <schwab@suse.de>
4295
4296         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
4297
4298 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
4299
4300         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
4301         request a scratch reg on H8S when the shift count is 8.
4302
4303 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
4304
4305         * config/s390/s390-protos.h (preferred_la_operand_p):
4306         Remove second parameter.
4307         * config/s390/s390.c (preferred_la_operand_p): Likewise.
4308         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
4309         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
4310         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
4311         Add peepholes to transform ADD to LOAD ADDRESS.
4312
4313 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
4314
4315         * arm.c (arm_address_register_rtx_p): New function.
4316         (arm_legitimate_address_p): New function.
4317         (arm_legitimate_index_p): New function.
4318         (legitimize_pic_address): Use arm_legitimate_index_p.
4319         * arm-protos.h (arm_legtimate_address_p): Add prototype.
4320         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
4321         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
4322
4323 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
4324
4325         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
4326         * config/s390/2064.md (define_bypass): Correct 'Load' and
4327         'Load-address' bypass values.
4328
4329 2003-01-22  Andreas Schwab  <schwab@suse.de>
4330
4331         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
4332
4333 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
4334
4335         * genautomata.c (output_internal_insn_latency_func,
4336         output_print_reservation_func): Short circuit when there is no
4337         automaton to generate code for.
4338
4339 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4340
4341         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
4342         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
4343
4344 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
4345
4346         * config/rs6000/rs6000.md: Remove warning.
4347         (builtin_setjmp_receiver): Likewise.
4348         * config/darwin.c (update_stubs): Slightly improve terrible hack
4349         with identifiers.  Add comment pointing out problems with it.
4350         (update_non_lazy_ptrs): Likewise.
4351
4352 2003-01-21  Richard Henderson  <rth@redhat.com>
4353
4354         * dwarf2out.c (lookup_filename): Fix printf format warning.
4355         * system.h (fread_unlocked, fwrite_unlocked): Undef.
4356
4357         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
4358         (fixincl.o-warn, gnu-regex.o-warn): New.
4359         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
4360         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
4361         * fixinc/fixincl.c (process): Fix printf format warning.
4362
4363 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
4364
4365         * dwarf2out (output_file_names): Don't crash if called
4366         with empty file_table.
4367
4368 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
4369
4370         * genautomata.c (output_internal_insn_latency_func): Add
4371         missing break statement to generated code.
4372
4373 2003-01-21  Roger Sayle  <roger@eyesopen.com>
4374
4375         * stmt.c (same_case_target_p): New function to determine whether
4376         two case labels branch to the same target.  Split out from...
4377         (group_case_nodes): ... here.  Use same_case_target_p instead.
4378         (strip_default_case_nodes): Remove explicit case nodes
4379         that branch to the default destination.
4380         (expand_end_case_type): Call strip_default_case_nodes after
4381         group_case_nodes, to simplify the case-list before we count it.
4382         Only generate table_label RTX when actually needed.  Try to share
4383         thiscase->exit_label and thiscase->data.case_stmt.default_label
4384         when a switch has no explicit default case.  Simplify test for
4385         constant index.
4386
4387 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
4388
4389         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
4390         \t.
4391         (*negsf2_h8300hs): Likewise.
4392         (*addsi3_lshiftrt_16_zexthi): Likewise.
4393         (*iorhi3_lshiftrt_8): Likewise.
4394
4395 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
4396
4397         * dwarf2out.c (fde_table_in_use): Mark GTY.
4398         (dwarf2out_cfi_label_num): New variable, marked GTY.
4399         (dwarf2out_cfi_label): Use it instead of static label_num.
4400         * emit-rtl.c (label_num): Mark GTY.
4401
4402 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
4403
4404         * config/h8300/h8300.c (output_plussi): Support H8/300.
4405         (compute_plussi_length): Likewise.
4406         (compute_plussi_cc): Likewise.
4407         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
4408         output assembly instructions.
4409
4410 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4411
4412         * calls.c (fix_unsafe_tree): Prototype.
4413
4414         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
4415         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
4416         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
4417         c-parse.o-warn): Add -Wno-error.
4418         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
4419
4420         * configure.in (--enable-werror): Add new flag.
4421         * doc/install.texi (--enable-werror): Document.
4422         * configure: Regenerate.
4423
4424         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
4425
4426 2003-01-21  Andreas Schwab  <schwab@suse.de>
4427
4428         * genautomata.c (output_internal_insn_latency_func): Fix missing
4429         close paren in output.
4430
4431 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
4432
4433         * genautomata.c: Space savings in generated code:
4434         (output_dfa_insn_code_func): Split out the table-enlargement
4435         path to an out-of-line static function, dfa_insn_code_enlarge.
4436         (output_internal_insn_latency_func): Use a lookup table for the
4437         default latencies.
4438         (output_print_reservation_func): Use a lookup table for the
4439         strings.
4440
4441 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
4442
4443         PR opt/7507
4444         * calls.c (fix_unsafe_tree): Split out from ...
4445         (expand_call): ... here.  Use it on the function address too.
4446
4447 2003-01-20  Richard Henderson  <rth@redhat.com>
4448
4449         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
4450
4451 2003-01-20  Richard Henderson  <rth@redhat.com>
4452
4453         PR opt/7154
4454         * stmt.c (expand_asm_operands): Validize memory operands.
4455
4456 2003-01-20  Richard Henderson  <rth@redhat.com>
4457
4458         PR opt/8848
4459         * ifcvt.c (noce_process_if_block): Correct arguments to
4460         modified_between_p for no-else-block case.
4461
4462 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
4463
4464         * config/h8300/h8300.c (const_costs): Remove a warning.
4465         (output_plussi): Likewise.
4466         (compute_plussi_length): Likewise.
4467         (compute_plussi_cc): Likewise.
4468
4469 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
4470
4471         * config/h8300/h8300.md (addsi_h8300): Remove the last
4472         alternative.
4473
4474 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
4475
4476         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
4477
4478 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4479
4480         * system.h (__NO_STRING_INLINES): Define.
4481
4482 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
4483
4484         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
4485         is not a scalar int mode.
4486
4487 2003-01-20  Roger Sayle  <roger@eyesopen.com>
4488
4489         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
4490         insn's notes following a substitution inside a libcall.
4491
4492 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
4493
4494         * configure.in: Check for system-provided 'uchar' type.
4495         * configure, config.in: Regenerate.
4496         * cpphash.h: Only typedef 'uchar' if the system doesn't.
4497
4498 2003-01-20  Richard Henderson  <rth@redhat.com>
4499
4500         * expr.h (MUST_PASS_IN_STACK): Move implementation...
4501         * calls.c (default_must_pass_in_stack): ... here.
4502
4503 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
4504
4505         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
4506
4507         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
4508
4509         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
4510         Wrap up definition of `insn_alts'.
4511
4512         * genattrtab.c (main): Wrap up `insn_alts'.
4513
4514 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4515
4516         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
4517         prototyping.
4518         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
4519
4520         * config.in, configure: Regenerate.
4521
4522 2003-01-20  Nick Clifton  <nickc@redhat.com>
4523
4524         * config/arm/arm.md (sibcall_epilogue): Add an
4525         UNSPEC_PROLOGUE_USE to prevent the link register from being
4526         considered dead.
4527
4528 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
4529
4530         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
4531
4532 2003-01-20  Andreas Schwab  <schwab@suse.de>
4533
4534         * system.h: Don't declare strsignal if the decl test hasn't been
4535         run yet.
4536
4537 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
4538
4539         * config/h8300/h8300.c (notice_update_cc): Don't assume that
4540         recog_data.operands[0] is always associated with cc0.
4541
4542 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
4543
4544         * collect2.c (ldgetname): Expand declaration to prototype.
4545         * read-rtl.c (atoll): Add prototype.
4546         * system.h (strsignal): Also declare if no declaration found.
4547
4548 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
4549
4550         * config.gcc (mips64*-*-linux*): Added.
4551         * config/mips/linux64.h, config/mips/t-linux64: New file.
4552         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
4553         * config/mips/mips.c (override_options): Use it.
4554         * config/mips/mips.h (TARGET_SWITCHES): Added...
4555         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
4556         * Makefile.in (SPECS): New.
4557         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
4558         * gcc.c (process_command): Move self-spec processing past spec
4559         file loading.
4560         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
4561         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
4562         CRTSTUFF_T_CFLAGS.
4563         (SPECS): Document.
4564         * doc/invoke.texi (-mabi-fake-default): Document.
4565
4566 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
4567
4568         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
4569         z_reg, z_reg_qi): Declare static and GTY().
4570         (da_reg): Remove.
4571         (create_regs_rtx): Don't create da_reg.
4572         ("gt-m68hc11.h"): Include for GTY roots.
4573         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
4574         and GTY() here.
4575         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
4576         (m68hc11_soft_tmp_reg): Likewise.
4577         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
4578
4579 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
4580
4581         * basic-block.h: Fix comment formatting.
4582         * calls.c: Likewise.
4583         * combine.c: Likewise.
4584         * convert.c: Likewise.
4585         * gcov.c: Likewise.
4586         * haifa-sched.c: Likewise.
4587         * libgcc2.c: Likewise.
4588         * loop.c: Likewise.
4589         * profile.c: Likewise.
4590         * system.h: Likewise.
4591
4592 2003-01-18  Roger Sayle  <roger@eyesopen.com>
4593
4594         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
4595
4596 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4597
4598         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
4599
4600 2003-01-17  Dale Johannesen  <dalej@apple.com>
4601
4602         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
4603           (*floatunssidf2_internal):  Ditto.
4604
4605 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
4606
4607         * alias.c: Fix comment typos.
4608         * basic-block.h: Likewise.
4609         * c-common.c: Likewise.
4610         * c-common.h: Likewise.
4611         * c-decl.c: Likewise.
4612         * c-opts.c: Likewise.
4613         * c-pragma.c: Likewise.
4614         * c-pretty-print.h: Likewise.
4615         * cfg.c: Likewise.
4616         * cfganal.c: Likewise.
4617         * cfgbuild.c: Likewise.
4618         * cfgcleanup.c: Likewise.
4619         * cfglayout.c: Likewise.
4620         * cfgrtl.c: Likewise.
4621         * convert.c: Likewise.
4622         * cpphash.h: Likewise.
4623         * cpplex.c: Likewise.
4624         * cpplib.h: Likewise.
4625         * df.h: Likewise.
4626         * diagnostic.c: Likewise.
4627         * diagnostic.h: Likewise.
4628         * dwarf2.h: Likewise.
4629
4630 2003-01-17  Stan Shebs  <shebs@apple.com>
4631
4632         * config/darwin-protos.h: Forward-declare struct cpp_reader.
4633
4634 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
4635
4636         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
4637         mistake in last checkin.
4638
4639 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
4640
4641         * et-forest.c: Fix comment typos.
4642         * et-forest.h: Likewise.
4643         * except.c: Likewise.
4644         * expr.c: Likewise.
4645         * flags.h: Likewise.
4646         * flow.c: Likewise.
4647         * gcc.c: Likewise.
4648         * gcse.c: Likewise.
4649         * genattrtab.c: Likewise.
4650         * genautomata.c: Likewise.
4651         * gengtype.c: Likewise.
4652         * genrecog.c: Likewise.
4653         * global.c: Likewise.
4654         * gthr-rtems.h: Likewise.
4655
4656 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4657
4658         * i386.c (x86_function_profiler): Fix format specifier.
4659
4660 2003-01-17  Richard Henderson  <rth@redhat.com>
4661
4662         * gengtype.c (walk_type): Allow paramN_is.
4663
4664 2003-01-17  Nick Clifton  <nickc@redhat.com>
4665
4666         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
4667
4668 2003-01-16  Richard Henderson  <rth@redhat.com>
4669
4670         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
4671
4672 2003-01-16  Richard Henderson  <rth@redhat.com>
4673
4674         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
4675         (alpha_next_sequence_number): Likewise.
4676         (alpha_this_literal_sequence_number): Likewise.
4677         (alpha_this_gpdisp_sequence_number): Likewise.
4678         (struct alpha_funcs, alpha_funcs_num): Likewise.
4679         (struct alpha_links): Fix branch merge error.
4680         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
4681
4682 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
4683
4684         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
4685         R. Ghazi.
4686
4687 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
4688
4689         * ifcvt.c: Fix comment typos.
4690         * lcm.c: Likewise.
4691         * libgcc2.c: Likewise.
4692         * local-alloc.c: Likewise.
4693         * loop.c: Likewise.
4694         * predict.c: Likewise.
4695         * ra-build.c: Likewise.
4696         * ra.c: Likewise.
4697         * ra-colorize.c: Likewise.
4698         * ra.h: Likewise.
4699         * ra-rewrite.c: Likewise.
4700         * regmove.c: Likewise.
4701         * reload.h: Likewise.
4702         * rtlanal.c: Likewise.
4703         * toplev.c: Likewise.
4704         * tree.h: Likewise.
4705         * unwind-dw2-fde-glibc.c: Likewise.
4706         * vmsdbgout.c: Likewise.
4707
4708 2003-01-16  Richard Henderson  <rth@redhat.com>
4709
4710         * dwarf2out.c (struct file_table): Remove.
4711         (FILE_TABLE_INCREMENT): Remove.
4712         (file_table): Make a varray; mark for GC.  Update all users.
4713         (file_table_last_lookup_index): Extract from struct file_table.
4714         (output_file_names): Fix unsigned compare warnings.
4715         (add_name_attribute): Remove inline marker.
4716         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
4717         (lookup_filename): Don't manage size of file_table.
4718         (init_file_table): Allocate file_table with GC.
4719         (dwarf2out_init): Don't record main_input_filename here.
4720         (dwarf2out_finish): Do it here instead.
4721
4722 2003-01-16  Bruce Korb  <bkorb@gnu.org>
4723
4724         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
4725
4726 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
4727
4728         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
4729         instead of rotldi3_mextr.
4730
4731 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
4732
4733         * haifa-sched.c (move_insn): Restore moving all schedule group.
4734         (set_priorities): Restore taking SCHED_GROUP_P into account.
4735
4736         * sched-deps.c (add_dependence): Restore processing the last group
4737         insn.
4738         (remove_dependence, group_leader): Restore the functions.
4739         (set_sched_group_p): Restore adding dependencies from previous insn
4740         in the group.
4741         (compute_forward_dependences): Restore usage of group_leader.
4742
4743         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
4744         account.
4745
4746         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
4747         account.
4748         (can_schedule_ready_p): Ditto.
4749         (add_branch_dependences): Restore skipping over the group insns.
4750
4751 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4752
4753         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
4754         68HC12 pre/post inc/dec side effects.
4755
4756 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4757
4758         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
4759
4760 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
4761
4762         * sh.md (mshflo_w_x): Fix description of operation.
4763
4764 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
4765
4766         * config/rs6000/rs6000.h: Mention Altivec registers in
4767         commentary.  Fix typo.
4768
4769 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
4770
4771         * config/rs6000/rs6000.md (movti_string): Remove clobber.
4772         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
4773         generate PARALLEL with clobber for TARGET_POWER.
4774
4775 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4776
4777         * ra-colorize.c (colorize_one_web): Initialize variable.
4778         * regmove.c (fixup_match_1): Likewise.
4779         * reload1.c (reload_as_needed): Likewise.
4780         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
4781
4782 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
4783
4784         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
4785
4786 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4787
4788         * dbxout.c (lastfile, cwd): Fix `unused' warning.
4789         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
4790         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
4791         is_main_source, file_table, decl_die_table_in_use,
4792         abbrev_die_table_in_use, line_info_table_in_use,
4793         separate_line_info_table_in_use, pubname_table_in_use,
4794         arange_table_in_use, ranges_table_in_use,
4795         current_function_has_inlines): Likewise.
4796         * flow.c (life_analysis): Likewise.
4797         * genemit.c (gen_insn): Likewise.
4798         * protoize.c (cplus_suffix): Likewise.
4799
4800         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
4801         * arm.h (ROUND_UP_WORD): Likewise.
4802
4803         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
4804         warning.
4805         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
4806         init_emit_once): Likewise.
4807         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
4808         Likewise.
4809         * function.c (assign_stack_temp_for_type): Likewise.
4810         * loop.c (loop_invariant_p): Likewise.
4811         * recog.c (push_operand): Likewise.
4812         * regclass.c (init_reg_sets_1): Likewise.
4813         * reload.c (update_auto_inc_notes): Likewise.
4814         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
4815         * stmt.c (expand_asm_operands): Likewise.
4816         * stor-layout.c (start_record_layout): Likewise.
4817
4818 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
4819
4820         * config/c4x/c4x.md (epilogue): Correct last patch.
4821
4822 2003-01-15  Richard Henderson  <rth@redhat.com>
4823
4824         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
4825         also check that GP is being used.
4826         (alpha_find_lo_sum_using_gp): New.
4827         (alpha_does_function_need_gp): Use get_attr_usegp.
4828         * config/alpha/alpha-protos.h: Update.
4829         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
4830         as needed.
4831
4832 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4833
4834         * gcse.c (one_cprop_pass): Change function arguments to take both
4835         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
4836         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
4837         (bypass_jumps): New function to perform separate jump bypassing pass.
4838         * rtl.h (bypass_jumps): Add function prototype.
4839         * timevar.def (TV_BYPASS): New timing variable.
4840         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
4841         (dump_file): New entry for the bypass RTL dump file.
4842         (rest_of_compilation): Insert new jump bypassing optimization
4843         pass after loop.
4844         * doc/passes.texi: Document new pass.
4845
4846 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
4847
4848         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
4849         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
4850         * pa.h (TARGET_SOM_SDEF): Define.
4851         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
4852
4853 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
4854
4855         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
4856         allocate 4-bytes of locals on 68HC11.
4857         (expand_epilogue): Likewise.
4858         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
4859
4860 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4861
4862         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
4863         and -mshort-double to the assembler to specify the ABI.
4864         (LINK_SPEC): Likewise.
4865         (CPP_SPEC): Pass HCS12 specific define.
4866         (MASK_M68S12): New define.
4867         (TARGET_M68S12): Likewise.
4868         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
4869         (TARGET_VERSION): Update.
4870         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
4871         (LINK_SPEC): Update.
4872         (ASM_SPEC): Update.
4873         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
4874         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
4875
4876 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
4877
4878         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
4879         the return code.
4880
4881 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4882
4883         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
4884         flag before setting it.
4885
4886 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4887
4888         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
4889         when loop condition is known true, i.e.  "while (1) { ... }".
4890         (genrtl_for_stmt): Similarly for "for" statements.
4891
4892 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4893
4894         * real.c (real_sqrt): Return a bool result indicating whether
4895         a floating point exception or trap should be raised.
4896         * real.h (real_sqrt): Update function prototype.
4897         * builtins.c (fold_builtin): Only fold non-trapping square
4898         roots unless we're ignoring errno and trapping math.
4899
4900 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
4901
4902         * expr.h (emit_conditional_add): Add PARAMS to declaration.
4903         * gengtype-lex.l (malloc, realloc): Move defines after include of
4904         system.h.  Remove duplicate include of system.h.
4905
4906 2003-01-15  Roger Sayle  <roger@eyesopen.com>
4907
4908         PR middle-end/9009
4909         * optabs.c (expand_unop):  When manipulating the FP sign bit
4910         using integer operations, account for targets with different
4911         integer and FP word orders.
4912         (expand_abs): Likewise.
4913
4914 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
4915
4916         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4917         file extension in section name.
4918
4919 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4920
4921         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4922         constant offset.
4923
4924 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4925
4926         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4927         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4928         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4929         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4930
4931 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
4932
4933         PR f/9258
4934         * global.c (struct allocno): Add no_stack_reg.
4935         (global_conflicts): Set no_stack_reg.
4936         (find_reg): Use it.
4937
4938         * convert.c (convert_to_real): Fold - and abs only when profitable.
4939         * fold-const.c (fold): Fold truncates in - and abs.
4940
4941 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4942
4943         Segher Boessenkool  <segher@koffie.nl>
4944
4945         * predict.c (real_inv_br_prob_base): New variable.
4946         (propagate_freq): Use multiply by reciprocal instead of
4947         division.  Don't divide by 1.0 at all.
4948         (estimate_bb_frequencies): Similar.
4949
4950 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4951
4952         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4953         * configure: Rebuilt.
4954
4955 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
4956
4957         * config/s390/s390.c (s390_safe_attr_type): New function.
4958         (s390_use_dfa_pipeline_interface): New function, return true for z900.
4959         (s390_issue_rate): New function.
4960         (s390_agen_dep_p): New function.
4961         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4962         (s390_adjust_cost): Return 'cost' if new DFA is used.
4963         (s390_adjust_priority): Delete function.
4964         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4965         * config/s390/s390.md (atype attribute): Attribute 'atype' default
4966         determined by 'op_type'.
4967         (type attribute): Added more type attributes.
4968         * config/s390/2064.md: New DFA description for z900 pipeline.
4969
4970 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4971
4972         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4973         forced to memory.  Fixes PR bootstrap/9036.
4974
4975         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4976         to set $gp before the call.
4977
4978 2003-01-14  Richard Henderson  <rth@redhat.com>
4979
4980         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4981         for force_const_mem.
4982
4983 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4984
4985         * genattr.c (main): Rearrange output to avoid prototype warning.
4986         * genautomata.c (transform_3): Fix ambiguous-else warning.
4987         * local-alloc.c (requires_inout): Add parentheses around
4988         assignment used as truth-value.
4989         * timevar.c: Move system includes above local includes.  Include
4990         toplev.h
4991         * Makefile.in (timevar.o): Depend on toplev.h.
4992
4993 2003-01-14  Denis Chertykov  <denisc@overta.ru>
4994
4995         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4996         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4997
4998         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
4999         attributes.
5000         (TARGET_ATTRIBUTE_TABLE): New macro.
5001         (valid_machine_type_attribute): Remove.
5002         (valid_machine_decl_attribute): Remove.
5003         (ip2k_handle_progmem_attribute): New function.
5004         (ip2k_handle_fndecl_attribute): New function.
5005
5006 2003-01-10  Andrew Haley  <aph@redhat.com>
5007
5008         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
5009         registers to be in correct order.  Add rip.
5010
5011 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
5012
5013         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
5014         (*iorsi3_and_lshiftrt_9_sb): Likewise.
5015
5016 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
5017
5018         * convert.c (strip_float_extensions):  Look for narrowest type handling
5019         FP constants.
5020
5021         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
5022         float1 CMP float2.
5023         * convert.c (strip_float_extensions): Make global.
5024         * tree.h (strip_float_extensions): Declare.
5025
5026 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
5027
5028         * timevar.def: define TV_NAME_LOOKUP.
5029         * timevar.c (timevar_pop): Be verbose when aborting.
5030
5031 2003-01-13  Andreas Schwab  <schwab@suse.de>
5032
5033         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
5034         $(parsedir), just move the temporary file at the end.
5035         ($(parsedir)/gengtype-yacc.c): Likewise.
5036
5037 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
5038
5039         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
5040         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
5041         splitting.
5042         * configure: Rebuilt.
5043
5044 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5045
5046         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
5047         internal_mcount): Don't use PARAMS.
5048         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
5049         ISO C style.
5050         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
5051
5052 2003-01-13  Andreas Schwab  <schwab@suse.de>
5053
5054         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
5055         directive.
5056
5057 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
5058
5059         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
5060         (*iorsi3_and_lshiftrt_n_sb): Likewise.
5061
5062 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
5063
5064         PR c++/9264
5065         * c-lex.c (c_lex): Set the token value to error_mark_node for
5066         invalid numeric constants.
5067
5068 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5069
5070         * c-pch.c (asm_file_startpos): Change to `long'.
5071         (pch_init): Use ftell, not ftello.
5072         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
5073         Use `long' instead of `off_t'.
5074         (c_common_read_pch): Likewise.
5075         * ggc-common.c (gt_pch_save): Use long/ftell instead of
5076         off_t/ftello.
5077
5078 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
5079
5080         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
5081
5082 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
5083
5084         * arm-protos.h (struct cpp_reader): Add declaration.
5085
5086 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
5087
5088         PR target/9068
5089         * i386.c (output_fp_compare): Fix typo.
5090
5091 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
5092
5093         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
5094
5095 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
5096
5097         * Makefile.in (parsedir): New variable.
5098         (docobjdir): New variable.
5099         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
5100         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
5101         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
5102         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
5103         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
5104         Use docobjdir.
5105         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
5106         objc.maintainer-clean): Use parsedir.
5107
5108         * varasm.c (struct constant_descriptor_rtx): Remove unused
5109         `label' field.
5110
5111         * toplev.c (documented_lang_options): Document -Winvalid-pch.
5112
5113 2003-01-10  Richard Henderson  <rth@redhat.com>
5114
5115         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
5116         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
5117
5118 2003-01-10  Richard Henderson  <rth@redhat.com>
5119
5120         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
5121         not INTEGRAL_MODE_P when widening extensions.
5122
5123 2003-01-10  Richard Henderson  <rth@redhat.com>
5124
5125         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
5126
5127 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
5128
5129         * ggc-page.c (ggc_collect): Avoid overflow computing
5130         min_expand.
5131
5132         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
5133         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
5134         Remove calls.
5135         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
5136
5137 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
5138
5139         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
5140         with weird operands.
5141
5142 2003-01-10  Dale Johannesen <dalej@apple.com>
5143
5144         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
5145         parameters.  Call check_sibcall_argument_overlap if indicated.
5146         (check_sibcall_argument_overlap):  Add mark_stored_args_map
5147         parameter.  Don't mark parameter area as clobbered if not set.
5148         (expand_call):  Adjust calls to above.
5149
5150 2003-01-10 Kelley Cook <kelleycook@comcast.net>
5151
5152         * configure.in (linker read-only and read-write section mixing):
5153         Squelch some assembler warnings.
5154         * configure: Likewise.
5155
5156 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
5157
5158         * doc/invoke.texi: Document -mtune, delete -mcpu
5159         option for S/390 and zSeries.
5160         * config/s390/s390.c (s390_tune_string) New variable.
5161         (s390_cpu_string) Delete variable.
5162         (override_options): Use s390_tune_string instead of
5163         s390_cpu_string.
5164         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
5165
5166 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
5167
5168         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
5169
5170 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
5171
5172         * jump.c (next_nonnote_insn_in_loop): New function.
5173         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
5174         next_nonnote_insn.
5175         (duplicate_loop_exit_test). Likewise.
5176
5177 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
5178
5179         Merge from pch-branch:
5180
5181         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
5182
5183         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
5184         load.
5185
5186         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
5187
5188         * cpplib.c (count_registered_pragmas): New function.
5189         (save_registered_pragmas): New function.
5190         (_cpp_save_pragma_names): New function.
5191         (restore_registered_pragmas): New function.
5192         (_cpp_restore_pragma_names): New function.
5193         * cpphash.h (_cpp_save_pragma_names): Prototype.
5194         (_cpp_restore_pragma_names): Likewise.
5195         * cpppch.c (struct save_macro_item): Split from save_macro_data.
5196         (struct save_macro_data): New field 'saved_pragmas'.
5197         (save_macros): Update for changes to struct save_macro_data.
5198         (cpp_prepare_state): Call _cpp_save_pragma_names, update
5199         for changes to struct save_macro_data.
5200         (cpp_read_state): Call _cpp_restore_pragma_names, update
5201         for changes to struct save_macro_data.
5202
5203         * cpppch.c (cpp_read_state): Restore the hashtable references
5204         in the cpp_reader.
5205
5206         * tree.h (built_in_decls): Mark for PCH.
5207
5208         * dbxout.c (lastfile): Don't mark for PCH.
5209
5210         * ggc.h: Document PCH calls into memory managers.
5211
5212         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
5213
5214         * doc/invoke.texi (Precompiled Headers): Document the
5215         directory form of PCH.
5216         * cppfiles.c (validate_pch): New function.
5217         (open_file_pch): Search suitably-named directories for PCH files.
5218
5219         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
5220
5221         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
5222         reorder options.
5223         (Type Information): Mention that the information is also
5224         used to implement PCH.
5225         * doc/passes.texi (Passes): Improve documentation of
5226         language-specific files.
5227
5228         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
5229
5230         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
5231         (struct walk_type_data): Add reorder_fn field.
5232         (walk_type): Process 'reorder' option.
5233         (write_types_process_field): Reorder parameters to gt_pch_note_object,
5234         call reorder_note_routine.
5235         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
5236         (ggc_wtd): Update for change to struct write_types_data.
5237         (pch_wtd): Likewise.
5238         * ggc.h (gt_pch_note_object): Reorder parameters.
5239         (gt_handle_reorder): New definition.
5240         (gt_pch_note_reorder): New prototype.
5241         * ggc-common.c (struct ptr_data): Add reorder_fn.
5242         (gt_pch_note_object): Reorder parameters.
5243         (gt_pch_note_reorder): New.
5244         (gt_pch_save): Call reorder_fn.
5245         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
5246
5247         * dbxout.c (cwd): Don't mark for PCH.
5248
5249         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
5250
5251         * gengtype.c (finish_root_table): Fix some warnings.
5252         (write_root): Handle TYPE_STRING.
5253         * ggc.h (gt_ggc_m_S): Add prototype.
5254         * stringpool.c (gt_ggc_m_S): New function.
5255
5256         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
5257
5258         * dwarf2out.c (dw2_string_counter): New.
5259         (AT_string_form): Use it.
5260         (same_dw_val_p): Update for removal of hashtable.h hash tables.
5261
5262         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
5263
5264         * dbxout.c: Include gt-dbxout.h.
5265         (lastfile): Mark for PCH/GGC.
5266         (cwd): Likewise.
5267         (struct typeinfo): Likewise.
5268         (typevec): Likewise.
5269         (typevec_len): Likewise.
5270         (next_type_number): Likewise.
5271         (struct dbx_file): Likewise.
5272         (current_file): Likewise.
5273         (next_file_number): Likewise.
5274         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
5275         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
5276         (dbxout_end_source_file): Don't free struct dbx_file.
5277         (dbxout_type): Use GGC to allocate typevec.
5278         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
5279         (GTFILES): Add dbxout.c.
5280         (gt-dbxout.h): New rule.
5281
5282         * Makefile.in (c-pch.o): Add debug.h as dependency.
5283         * c-pch.c: Include debug.h.
5284         (pch_init): Call start_source_file to keep nesting right.
5285         (c_common_read_pch): Add orig_name parameter.  Call
5286         start_source_file debug hook.  Call end_source_file debug hook.
5287         * c-common.h (c_common_read_pch): Update prototype.
5288         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
5289         callback.
5290         * cppfiles.c (struct include_file): Add new field `header_name'.
5291         (find_or_create_entry): Default it to `name'.
5292         (open_file_pch): Set it to the original header file searched for.
5293         (stack_include_file): Don't stack an empty buffer, just handle
5294         PCH files immediately.  Pass header_name field to read_pch callback.
5295
5296         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
5297
5298         * function.c (funcdef_no): Mark to be saved in a PCH.
5299
5300         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
5301
5302         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
5303
5304         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
5305
5306         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
5307
5308         * optabs.h (code_to_optab): Add GTY marker.
5309
5310         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
5311
5312         * Makefile.in (GTFILES): Add cpplib.h.
5313         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
5314         * c-decl.c (build_compound_literal): Don't use var_labelno.
5315         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
5316         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
5317         * varasm.c (const_labelno): Use gengtype to mark.
5318         (var_labelno): Likewise.
5319         (in_section): Likewise.
5320         (in_named_name): Likewise.
5321         (struct in_named_entry): Likewise.
5322         (in_named_htab): Likewise.
5323         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
5324         (init_varasm_once): Use GGC to allocate in_named_htab.
5325         * config/darwin.c (current_pic_label_num): Mark for PCH.
5326
5327         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
5328
5329         * ggc-simple.c (init_ggc_pch): New stub procedure.
5330         (ggc_pch_count_object): Likewise.
5331         (ggc_pch_total_size): Likewise.
5332         (ggc_pch_this_base): Likewise.
5333         (ggc_pch_alloc_object): Likewise.
5334         (ggc_pch_prepare_write): Likewise.
5335         (ggc_pch_write_object): Likewise
5336         (ggc_pch_finish): Likewise.
5337         (ggc_pch_read): Likewise.
5338
5339         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
5340
5341         * c-pch.c (c_common_write_pch): Write the macro definitions after
5342         the GCed data.
5343         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
5344         definitions after the GCed data.
5345         * cpplib.c (save_macros): New.
5346         (reset_ht): New.
5347         (cpp_write_pch_deps): Split out of cpp_write_pch.
5348         (cpp_write_pch_state): Split out of cpp_write_pch.
5349         (cpp_write_pch): Delete.
5350         (struct save_macro_data): Delete.
5351         (cpp_prepare_state): New.
5352         (cpp_read_state): Erase and restore initial macro definitions.
5353         * cpplib.h (struct save_macro_data): Forward-declare.
5354         (cpp_write_pch_deps): Prototype.
5355         (cpp_write_pch_state): Prototype.
5356         (cpp_write_pch): Delete prototype.
5357         (cpp_prepare_state): Prototype.
5358         (cpp_read_state): Add fourth argument.
5359
5360         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
5361
5362         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
5363         (write_array): Remove warning.
5364
5365         * gengtype.c (contains_scalar_p): New.
5366         (finish_root_table): Add the table to all languages, even if it's
5367         empty.
5368         (write_roots): Output gt_pch_scalar_rtab.
5369         * ggc-common.c (gt_pch_save): Write out scalars.
5370         (gt_pch_restore): Read scalars back.
5371
5372         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
5373         (struct page_entry): Delete pch_page field.
5374         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
5375         (clear_marks): Likewise.
5376         (sweep_pages): Likewise.
5377         (poison_pages): Likewise.
5378         (ggc_print_statistics): Likewise.
5379         (ggc_pch_read): Don't free objects read from a PCH.
5380         Properly set up in_use_p and page_tails.
5381
5382         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
5383
5384         * gengtype.c (struct write_types_data): New.
5385         (struct walk_type_data): Make `cookie' const; add extra
5386         prev_val item; add `orig_s' field.
5387         (walk_type): Update prev_val[3].
5388         (write_types_process_field): New.
5389         (write_func_for_structure): Take write_types_data structure.
5390         (write_types): New.
5391         (ggc_wtd): New.
5392         (pch_wtd): New.
5393         (write_types_local_process_field): New.
5394         (gc_mark_process_field): Delete.
5395         (write_local_func_for_structure): New.
5396         (gc_mark_func_name): Delete.
5397         (write_gc_types): Delete.
5398         (write_local): New.
5399         (finish_root_table): Don't include 'ggc_' in PFX.
5400         (write_root): Rename from write_root.  Fill pchw field of structures.
5401         (write_array): New.
5402         (write_roots): Rename from write_gc_roots.  Split out to write_array.
5403         Update to changes to other routines.  Write gt_pch_cache_rtab table.
5404         (main): Write PCH walking routines.
5405         * ggc-common.c: Include toplev.h, sys/mman.h.
5406         (ggc_mark_roots): For cache hashtables, also mark the hash table
5407         and the array of entries.
5408         (saving_htab): New.
5409         (struct ptr_data): New.
5410         (POINTER_HASH): New.
5411         (gt_pch_note_object): New.
5412         (saving_htab_hash): New.
5413         (saving_htab_eq): New.
5414         (struct traversal_state): New.
5415         (call_count): New.
5416         (call_alloc): New.
5417         (compare_ptr_data): New.
5418         (relocate_ptrs): New.
5419         (write_pch_globals): New.
5420         (struct mmap_info): New.
5421         (gt_pch_save): New.
5422         (gt_pch_restore): New.
5423         * ggc-page.c (ROUND_UP_VALUE): New.
5424         (ROUND_UP): New.
5425         (struct page_entry): Add field `pch_page'.
5426         (init_ggc): Use ROUND_UP.
5427         (struct ggc_pch_data): Declare.
5428         (init_ggc_pch): New.
5429         (ggc_pch_count_object): New.
5430         (ggc_pch_total_size): New.
5431         (ggc_pch_this_base): New.
5432         (ggc_pch_alloc_object): New.
5433         (ggc_pch_prepare_write): New.
5434         (ggc_pch_write_object): New.
5435         (ggc_pch_finish): New.
5436         (ggc_pch_read): New.
5437         * ggc.h (gt_pointer_operator): New.
5438         (gt_note_pointers): New.
5439         (gt_pch_note_object): New prototype.
5440         (gt_pointer_walker): New.
5441         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
5442         (LAST_GGC_ROOT_TAB): Update.
5443         (gt_pch_cache_rtab): Declare.
5444         (gt_pch_scalar_rtab): Declare.
5445         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
5446         (LAST_GGC_CACHE_TAB): Update.
5447         (gt_pch_save_stringpool): Declare.
5448         (gt_pch_restore_stringpool): Declare.
5449         (gt_pch_p_S): Declare.
5450         (gt_pch_n_S): Declare.
5451         (struct ggc_pch_data): Forward-declare.
5452         (init_ggc_pch): Declare.
5453         (ggc_pch_count_object): Declare.
5454         (ggc_pch_total_size): Declare.
5455         (ggc_pch_this_base): Declare.
5456         (ggc_pch_alloc_object): Declare.
5457         (ggc_pch_prepare_write): Declare.
5458         (ggc_pch_write_object): Declare.
5459         (ggc_pch_finish): Declare.
5460         (ggc_pch_read): Declare.
5461         (gt_pch_save): Declare.
5462         (gt_pch_restore): Declare.
5463         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
5464         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
5465         const_double_htab, mem_attrs_htab using GGC.
5466         * c-pch.c: Include ggc.h.
5467         (pch_init): Allow reading PCH file back.
5468         (c_common_write_pch): Call gt_pch_save.
5469         (c_common_read_pch): Call gt_pch_restore.
5470         * c-parse.in (init_reswords): Delete now-untrue comment.
5471         Allocate ridpointers using GGC.
5472         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
5473         calling expand_deferred_fns.
5474         * c-common.h (ridpointers): Mark for GTY machinery.
5475         * Makefile.in (stringpool.o): Update dependencies.
5476         (c-pch.o): Update dependencies.
5477         (ggc-common.o): Update dependencies.
5478         * stringpool.c: Include gt-stringpool.h.
5479         (gt_pch_p_S): New.
5480         (gt_pch_n_S): New.
5481         (struct string_pool_data): New.
5482         (spd): New.
5483         (gt_pch_save_stringpool): New.
5484         (gt_pch_restore_stringpool): New.
5485         * tree.c (init_ttree): Make type_hash_table allocated using GC.
5486
5487         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
5488
5489         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
5490         (output_mangled_typename): Don't pass size_t to printf.
5491
5492         * tree.h (union tree_type_symtab): Add tag to `address' field.
5493         (union tree_decl_u2): Add tag to 'i' field.
5494         * varasm.c (union rtx_const_un): Add tags to all fields.
5495         * gengtype.c (struct walk_type_data): New.
5496         (output_escaped_param): Take struct walk_type_data parameter.
5497         (write_gc_structure_fields): Delete.
5498         (walk_type): New.
5499         (write_gc_marker_routine_for_structure): Delete.
5500         (write_func_for_structure): New.
5501         (gc_mark_process_field): New.
5502         (gc_mark_func_name): New.
5503         (gc_counter): Delete.
5504         (write_gc_types): Use write_func_for_structure.
5505         (write_gc_roots): Use walk_type.
5506
5507         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
5508
5509         * ggc-common.c (ggc_mark_roots): Delete 'x'.
5510         (ggc_splay_dont_free): Fix warning about unused 'x'.
5511         (ggc_print_common_statistics): Remove warnings.
5512
5513         2002-10-01  Mike Stump  <mrs@apple.com>
5514
5515         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
5516         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
5517
5518         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
5519             Catherine Moore  <clm@redhat.com>
5520
5521         * Makefile (c-pch.o): Update dependencies.
5522         (LIBCPP_OBJS): Add cpppch.o.
5523         (cpppch.o): New.
5524         * c-common.c (c_common_init): Don't call pch_init here.
5525         * c-common.h (c_common_read_pch): Update prototype.
5526         * c-lex.c (c_common_parse_file): Call pch_init here.
5527         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
5528         (c_common_decode_option): Handle them.
5529         * c-pch.c: Include c-pragma.h.
5530         (save_asm_offset): Delete.
5531         (pch_init): Move contents of save_asm_offset into here, call
5532         cpp_save_state.
5533         (c_common_write_pch): Call cpp_write_pch.
5534         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
5535         cpp_valid_state.
5536         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
5537         * cppfiles.c (stack_include_file): Update for change to
5538         parameters of cb.read_pch.
5539         * cpphash.h (struct cpp_reader): Add `savedstate' field.
5540         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
5541         `restore_pch_deps' fields.
5542         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
5543         (cpp_save_state): Prototype.
5544         (cpp_write_pch): Prototype.
5545         (cpp_valid_state): Prototype.
5546         (cpp_read_state): Prototype.
5547         * cpppch.c: New file.
5548         * flags.h (version_flag): Remove prototype.
5549         * mkdeps.c (deps_save): New.
5550         (deps_restore): New.
5551         * mkdeps.h (deps_save): Prototype.
5552         (deps_restore): Prototype.
5553         * toplev.c (late_init_hook): Delete.
5554         (version_flag): Make static again.
5555         (compile_file): Don't call late_init_hook.
5556         * toplev.h (late_init_hook): Delete.
5557         * doc/cppopts.texi: Document -fpch-deps.
5558         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
5559
5560         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
5561
5562         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
5563         callers.
5564         (c_common_valid_pch): Rename from c_valid_pch, change callers.
5565         (c_common_read_pch): Rename from c_read_pch, change callers.
5566
5567         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
5568         a space between it and its argument.
5569
5570         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
5571
5572         * c-pch.c: New file.
5573         * toplev.h (late_init_hook): Declare.
5574         * toplev.c (late_init_hook): Define.
5575         (version_flag): Make globally visible.
5576         (compile_file): Call late_init_hook.
5577         (init_asm_output): Make output file seekable.
5578         * gcc.c (default_compilers): Update c-header rule.
5579         * flags.h (version_flag): Declare.
5580         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
5581         fields.
5582         * cppfiles.c (struct include_file): Add 'pch' field.
5583         (INCLUDE_PCH_P): New.
5584         (open_file_pch): New.
5585         (stack_include_file): Handle PCH files specially.
5586         (find_include_file): Call open_file_pch instead of open_file.
5587         (_cpp_read_file): Explain why open_file is used instead of
5588         open_file_pch.
5589         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
5590         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
5591         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
5592         in cpplib callbacks.
5593         * c-common.c (pch_file): Correct comment.
5594         (allow_pch): Define.
5595         (c_common_init): Call pch_init.
5596         * c-common.h (allow_pch): Declare.
5597         (pch_init): Declare.
5598         (c_valid_pch): Declare.
5599         (c_read_pch): Declare.
5600         (c_write_pch): Declare.
5601         * Makefile.in (c-pch.o): New.
5602         (C_AND_OBJC_OBJS): Add c-pch.o.
5603         * doc/invoke.texi (Precompiled Headers): Add index entries,
5604         complete truncated paragraph.
5605
5606         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
5607
5608         * c-common.c: (pch_file): Define.
5609         * c-common.h (pch_file): Declare.
5610         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
5611         (missing_arg): Require --output-pch= to have an argument.
5612         (c_common_decode_option): Handle --output-pch=.
5613         * gcc.c: Document new %V.
5614         (default_compilers): Handle compiling C header files.
5615         (do_spec_1): Implement %V.
5616         (main): Handle "gcc foo.h" without trying to run linker.
5617         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
5618         (Overall Options): Document what the driver does with header files,
5619         document new -x option possibilities.
5620         (Invoking G++): More documentation for PCH.
5621         (Precompiled Headers): New.
5622
5623         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
5624
5625         * ggc.h: Don't include varray.h.  Rearrange functions to be more
5626         organized.
5627         (ggc_add_root): Delete.
5628         (ggc_mark_rtx): Delete.
5629         (ggc_mark_tree): Delete.
5630         (struct ggc_statistics): Remove contents.
5631         * ggc-common.c: Remove unneeded includes.
5632         (struct ggc_root): Delete.
5633         (roots): Delete.
5634         (ggc_add_root): Delete.
5635         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
5636         (ggc_print_common_statistics): Remove most of the contents.
5637         * Makefile.in (GGC_H): No longer uses varray.h.
5638         (ggc-common.o): Update dependencies.
5639         (c-parse.o): Add varray.h to dependencies.
5640         (c-common.o): Add varray.h.
5641         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
5642         (mark_ident_hash): Rename to ggc_mark_stringpool.
5643         (init_stringpool): Don't use ggc_add_root.
5644         * c-parse.in: Include varray.h.
5645         * c-common.c: Include varray.h.
5646         * objc/Make-lang.in (objc-act.o): Add varray.h.
5647         * objc/objc-act.c: Include varray.h.
5648
5649         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
5650
5651         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
5652         (dw_cfi_oprnd1_desc): Likewise.
5653
5654         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
5655
5656         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
5657         move out of ifdef.
5658         (alpha_links): Use gengtype to mark; move out of ifdef.
5659         (mark_alpha_links_node): Delete.
5660         (mark_alpha_links): Delete.
5661         (alpha_need_linkage): Use GGC to allocate splay tree, struct
5662         alpha_links, strings.  Don't use ggc_add_root.
5663         * ggc-common.c (ggc_splay_alloc): New.
5664         (ggc_splay_dont_free): New.
5665         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
5666         (ggc_mark_tree): Likewise.
5667         (splay_tree_new_ggc): New.
5668         (ggc_splay_alloc): Declare.
5669         (ggc_splay_dont_free): Declare.
5670         * dwarf2asm.c: Include gt-dwarf2asm.h.
5671         (mark_indirect_pool_entry): Delete.
5672         (mark_indirect_pool): Delete.
5673         (indirect_pool): Use gengtype to mark.
5674         (dw2_force_const_mem): Don't use ggc_add_root.
5675         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
5676         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
5677         (gt-dwarf2asm.h): Depend on s-gtype.
5678
5679         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
5680
5681         * tree.h (union tree_type_symtab): Mark `die' field.
5682         * Makefile.in (dwarf2out.o): Update dependencies.
5683         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
5684         hash tables.
5685         (dw_cfi_oprnd1_desc): New function.
5686         (dw_cfi_oprnd2_desc): New function.
5687         (indirect_string_alloc): Delete.
5688         (debug_str_do_hash): New function.
5689         (debug_str_eq): New function.
5690         (mark_limbo_die_list): Delete.
5691         (dwarf2out_init): Don't call ggc_add_root.
5692
5693 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
5694
5695         The following changes are merged from itanium-sched-branch:
5696
5697         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5698
5699         * doc/md.texi: Clarify assignment of units to automata description.
5700
5701         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
5702
5703         * genautomata.c (unit_decl): Remove members
5704         `the_same_automaton_unit' and
5705         `the_same_automaton_message_reported_p'.
5706         (process_unit_to_form_the_same_automaton_unit_lists,
5707         form_the_same_automaton_unit_lists_from_regexp,
5708         form_the_same_automaton_unit_lists, the_same_automaton_lists):
5709         Remove them.
5710         (annotation_message_reported_p): New global variable.
5711         (check_unit_distribution_in_reserv,
5712         check_regexp_units_distribution): New functions.
5713         (check_unit_distributions_to_automata): Rewrite it.
5714
5715         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
5716
5717         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
5718         Use continue instead of break if cycle is too big.
5719
5720         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
5721
5722         * genautomata.c (check_unit_distributions_to_automata): Output at
5723         most one message for a unit.
5724         (process_unit_to_form_the_same_automaton_unit_lists): Check
5725         automaton of units instead of units themself.
5726
5727         * doc/md.texi: Describe the constraint about assigning unit to
5728         automata.
5729
5730         2002-12-20  Jan Hubicka  <jH@suse.cz>
5731                     Vladimir Makarov  <vmakarov@redhat.com>
5732
5733         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
5734         and `in_set_p'.
5735         (gen_cpu_unit): Initialize the new members.
5736         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
5737         up `min_occ_cycle_num'.
5738         (evaluate_max_reserv_cycles): Change the function call.
5739         (CLEAR_BIT): New macro.
5740         (states_union, state_shift): Use the mask.
5741         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
5742         (form_reservs_matter): New function.
5743         (make_automaton): Call the function and use the mask.
5744         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
5745         account.
5746
5747         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5748
5749         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
5750
5751         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5752
5753         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
5754         for Itanium.
5755
5756         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5757
5758         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
5759         default cpu.
5760
5761         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
5762                 2002-10-31  Dale Johannesen <dalej@apple.com>
5763
5764         * haifa-sched.c (find_set_reg_weight): New function.
5765         (find_insn_reg_weight): Use the new function.
5766         (schedule_block): Do sorting ready queue always
5767         after insn issue.
5768
5769         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
5770
5771         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
5772
5773         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
5774
5775         * haifa-sched.c (choice_entry): New structure.
5776         (choice_stack, cycle_issued_insns): New variables.
5777         (max_issue): Rewrite it.
5778         (choose_ready): Set up ready_try for unknown insns too.
5779         (schedule_block): Allocate and free choice_stack.  Set up
5780         and modify cycle_issued_insns.
5781
5782         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
5783         with and without filling the bundle.
5784         (bundling): Combine calls of issue_nops_and_insn.
5785
5786         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
5787
5788         * config/ia64/itanium1.md: New file.
5789
5790         * config/ia64/itanium2.md: New file.
5791
5792         * config/ia64/ia64.md: Move DFA descriptions into the new files.
5793         Remove the old pipeline description.
5794
5795         * config/ia64/ia64.c (ia64_override_options): Add aliases of
5796         itanium processor names.
5797
5798         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
5799
5800         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
5801         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
5802
5803         * config/ia64/ia64.md: Add descriptions for Itanium2.
5804
5805         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5806
5807         * config/ia64/ia64.h (processor_type): New enumeration.
5808         (ia64_tune, ia64_tune_string): New external declarations.
5809         (TARGET_OPTIONS): Add option `tune='.
5810
5811         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
5812         variables.
5813         (ia64_override_options): Set up `ia64_tune'.
5814         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
5815         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
5816         (bundling): Add nops for MM-insns only for Itanium.
5817         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
5818         Itanium.
5819
5820         * config/ia64/ia64.md (cpu): New attribute.
5821         (DFA description): Enable it only for Itanium.
5822
5823         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
5824                     Richard Henderson  <rth@redhat.com>
5825
5826         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
5827         MASK_EARLY_STOP_BITS.
5828         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
5829         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
5830         `early-stop-bits'.
5831
5832         * config/ia64/ia64.c (ia64_dfa_new_cycle,
5833         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
5834         instead of TARGET_TUNE_STOP_BITS.
5835
5836         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
5837         `-mearly-stop-bits'.
5838
5839         * config/ia64/ia64.c (automata_option "v"): Comment it.
5840
5841         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
5842
5843         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
5844         New macros.
5845         (TARGET_SWITCHES): Add entries for the new option.
5846
5847         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
5848         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
5849         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
5850         global variables.
5851         (ia64_sched_reorder2): Set up `clocks'.
5852         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
5853         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
5854         queue when TARGET_TUNE_STOP_BITS.
5855         (bundling): Insert additional nops for MM-insns.
5856         (final_emit_insn_group_barriers): Add insertion of stop bits
5857         according `stops_p'.
5858         (ia64_reorg): Initiate the new varibales.
5859
5860         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
5861
5862         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
5863
5864         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
5865         insns at the end of block insn scheduling.
5866
5867         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
5868
5869         * sched-deps.c (remove_dependence, group_leader): Remove it.
5870         (add_dependence): Add dependence to group leader to.
5871         (set_sched_group_p): Add dependence to the first insn of the
5872         schedule group too.
5873         (sched_analyze_insn): Make dependence to jump as anti-dependence.
5874         Change true dependence by anti-dependence when
5875         `reg_pending_barrier'.
5876
5877         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
5878         add_branch_dependences): Ignore schedule groups.
5879
5880         * sched-ebb.c (init_ready_list): Ditto.
5881
5882         * (move_insn, set_priorities): Ditto.
5883
5884         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
5885         flag is clear after reload.
5886         (adjust_cost): Change cost only for output dependencies.
5887
5888         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
5889
5890         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
5891
5892         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
5893
5894         * target.h (gcc_target): Add member
5895         `dependencies_evaluation_hook'.
5896
5897         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
5898         macro.
5899         (TARGET_SCHED): Add initiatialization of the new member.
5900
5901         * sched-ebb.c: Include `target.h'.
5902         (schedule_ebb): Call `dependencies_evaluation_hook'.
5903
5904         * sched-rgn.c (schedule_region): Call
5905         `dependencies_evaluation_hook'.
5906
5907         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5908         New macro.
5909         (ia64_dependencies_evaluation_hook): New function.
5910
5911         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
5912         Describe the new hook.
5913
5914         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
5915
5916         * target.h (gcc_target): Add members
5917         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5918
5919         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5920         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5921         macros.
5922         (TARGET_SCHED): Add initiatialization of the new members.
5923
5924         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5925         insn scheduling too.
5926         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5927         initialize `ready_try'.
5928         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
5929         `dfa_new_cycle' says not to do it.
5930
5931         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5932         bundling.
5933
5934         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5935
5936         * config/ia64/ia64.c: Include `hashtab.h'.
5937         (ia64_first_cycle_multipass_dfa_lookahead_guard,
5938         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5939         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5940         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5941         bundle_state_eq_p, insert_bundle_state,
5942         initiate_bundle_state_table, finish_bundle_state_table,
5943         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5944         get_template, get_next_important_insn, bundling): New functions.
5945         (ia64_internal_sched_reorder): Remove it.
5946         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5947         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5948         (ia64_safe_itanium_requires_unit0): Remove it.
5949         (group_barrier_needed_p): Place group barrier right before a real
5950         insn.
5951         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5952         Remove them.
5953         (bundle_name): New variable.
5954         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5955         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5956         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5957         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5958         temp_dfa_state, prev_cycle_state): New global variables.
5959         (insn_matches_slot, maybe_rotate, finish_last_head,
5960         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5961         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5962         find_best_packet, itanium_reorder, dump_current_packet,
5963         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5964         (sched_data, sched_ready, sched_types): Remove them.
5965         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5966         `init_insn_group_barriers'.
5967         (ia64_sched_reorder, ia64_sched_reorder2): Call
5968         ia64_dfa_sched_reorder.
5969         (ia64_variable_issue): Rewrite it.
5970         (bundle_state): New structure.
5971         (index_to_bundle_states, bundle_states_num,
5972         allocated_bundle_states_chain, free_bundle_state_chain): New
5973         global variables.
5974         (ia64_sched_finish): Add stop bits and call `bundling' after the
5975         2nd insn scheduling.
5976         (ia64_use_dfa_pipeline_interface): Return zero always.
5977         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5978         insn scheduling.
5979         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5980         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5981         (ia64_reorg): Add bundling insns.
5982
5983         * doc/tm.texi
5984         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5985         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
5986
5987         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
5988
5989         * config/ia64/ia64.md: Add Itanium1 DFA description.
5990         (itanium_class): Add `nop' and `pre_cycle'.  Add
5991         define_function_unit for `nop'.
5992         (nop): Change attribute `itanium_class'.
5993         (pre_cycle): New define_insn.
5994
5995         * config/ia64/ia64-protos.h (bundling_p): New external variable.
5996         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5997         ia64_produce_address_p): New function prototypes.
5998
5999         * config/ia64/ia64.c (bundling_p): New global variable.
6000         (ia64_use_dfa_pipeline_interface,
6001         ia64_first_cycle_multipass_dfa_lookahead,
6002         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
6003         functions.
6004         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
6005         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
6006         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
6007         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
6008         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
6009         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
6010         (dfa_pre_cycle_insn): New variable.
6011
6012         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
6013
6014         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
6015         constructions.
6016
6017         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
6018         New function prototypes.
6019
6020         * genattrtab.c (main): Process the new constructions.
6021
6022         * genautomata.c (gen_presence_absence_set,
6023         process_presence_absence_names, process_presence_absence_patterns,
6024         add_presence_absence, check_absence_pattern_sets): Add parameter
6025         `final_p'.
6026         (unit_decl): Add new members `final_presence_list' and
6027         `final_absence_list'.
6028         (unit_pattern_rel_decl): Add new member `final_p'.
6029         (gen_final_presence_set, gen_final_absence_set): New functions.
6030         (process_decls): Use member `final_p'.
6031         (temp_reserv): New global variable.
6032         (reserv_sets_are_intersected): Add processing `final_presence_set'
6033         and `final_absence_set'.
6034         (initiate_states): Allocate `temp_reserv'.
6035         (unit_final_presence_set_table, unit_final_absence_set_table): New
6036         gloabal variables.
6037         (initiate_presence_absence_pattern_sets): Initiate them.
6038         (NDFA_to_DFA): Fix typo.
6039         (output_description): Output `final_presence_set' and
6040         `final_absence_set'.
6041
6042         * doc/md.texi (final_presence_set, final_absence_set): Describe
6043         them.
6044
6045         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
6046
6047         * genautomata.c (transform_3): Process a missing case (nothing on
6048         unit place).
6049
6050         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
6051
6052         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
6053         comments about queried units and the minimization.
6054
6055         * doc/md.texi: Ditto.
6056
6057         * genautomata.c (create_composed_state): Return nonzero if the new
6058         state has been created.
6059         (first_cycle_unit_presence): New function.
6060         (state_is_differed): Add new parameter.  Use the new function.
6061         Take queried units into account.
6062         (partition_equiv_class): Pass additional parameter to
6063         `state_is_differed'.
6064         (merge_states): Process composed states too.
6065         (build_automaton, create_automata, output_min_issue_delay_table,
6066         output_tables, output_statistics): Output more information.
6067         (output_reserved_units_table): Use function
6068         `first_cycle_unit_presence'.
6069         (output_tables): Output table of queried units even if the
6070         minimization is switched on.
6071         (write_automata): Output code for querying units even if the
6072         minimization is switched on.
6073
6074         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
6075
6076         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
6077         syntax of the constructions.
6078
6079         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
6080         extended syntax of the constructions.
6081
6082         * genautomata.c (unit_rel_decl): Rename it to
6083         `unit_pattern_rel_decl'.
6084         (pattern_set_el, pattern_reserv): New structures.
6085         (pattern_set_el_t, pattern_reserv_t): New types.
6086         (gen_presence_absence_set): New function.
6087         (process_presence_absence): Remove it.
6088         (process_presence_absence_names,
6089         process_presence_absence_patterns): New functions.
6090         (get_presence_absence_set): Remove it.
6091         (initiate_presence_absence_sets): Rename it on
6092         `initiate_presence_absence_pattern_sets'.  Use new function
6093         `form_reserv_sets_list'.
6094         (form_reserv_sets_list, check_presence_pattern_sets,
6095         check_absence_pattern_sets, output_pattern_set_el_list): New
6096         functions.
6097         (unit_decl): Change types of members `presence_list' and
6098         `absence_list'.
6099         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
6100         (decl): Change types of members `excl', `presence', and `absence'.
6101         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
6102         at the end of the vector.
6103         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
6104         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
6105         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
6106         (gen_presence_set, gen_absence_set): Use new function
6107         `gen_presence_absence_set'.
6108         (add_presence_absence): Process `pattern_list' instead of
6109         `source_list'.
6110         (process_decls): USe new functions
6111         `process_presence_absence_names' and
6112         `process_presence_absence_patterns'.
6113         (reserv_sets_are_intersected): Use new function
6114         `check_presence_pattern_sets'.
6115         (presence_set, absence_set): Remove them.
6116         (unit_presence_set_table, unit_absence_set_table): New global
6117         variables.
6118         (output_description): Use new function
6119         `output_pattern_set_el_list'.
6120         (generate): Use `initiate_presence_absence_pattern_sets'.
6121
6122         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
6123
6124         * genattr.c (main): Add output of prototype of new interface
6125         function `dfa_clean_insn_cache'.
6126
6127         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
6128         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
6129         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
6130         the generated code.
6131         (write_automata): Call the new function.
6132
6133 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
6134
6135         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
6136         correctly.
6137
6138 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
6139
6140         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
6141
6142 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
6143
6144         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
6145         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
6146         (CONSTRAINT_LEN): Provide default definition.
6147         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
6148         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
6149         (EXTRA_CONSTRAINT_STR): Likewise.
6150         (REG_CLASS_FROM_CONSTRAINT): Define.
6151         * genoutput.c (check_constraint_len, constraint_len): New functions.
6152         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
6153         constraint / modifier.
6154         (gen_insn): Call check_constraint_len.
6155         * local-alloc.c (block_alloc): Update to use new macros / pass
6156         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
6157         * ra-build.c (handle_asm_insn): Likewise.
6158         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
6159         (constrain_operands, peep2_find_free_register): Likewise.
6160         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
6161         * regmove.c (find_matches): Likewise.
6162         * reload.c (push_secondary_reload, find_reloads): Likewise.
6163         (alternative_allows_memconst): Likewise.
6164         * reload1.c (maybe_fix_stack_asms): Likewise.
6165         (reload_cse_simplify_operands): Likewise.
6166         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
6167         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
6168         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
6169         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
6170         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
6171         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
6172
6173         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
6174
6175 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
6176
6177         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
6178         length.
6179         (*extzv_1_r_h8300hs): Likewise.
6180         (*extzv_1_r_inv_h8300): Likewise.
6181         (*extzv_1_r_inv_h8300hs): Likewise.
6182
6183 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
6184
6185         * config/h8300/h8300.h (PREDICATE_CODES): New.
6186
6187 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
6188
6189         * config/h8300/h8300.md (*addsi3_upper): New.
6190         (*iorsi3_shift): Likewise.
6191         (two splitters): Likewise.
6192         (*addsi3_shift): Likewise.
6193         (two splitters): Likewise.
6194
6195 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
6196
6197         * Makefile.in (optabs.o): Add dependency on basic-block.h.
6198         * basic-block.h (control_flow_insn_p): Fuction was exported.
6199         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
6200         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
6201         notes only when the region is contained in a single basic block.
6202
6203 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
6204
6205         PR inline-asm/8832
6206         * tree.h (expand_asm): New prototype.
6207         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
6208         to do so.
6209         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
6210         down to expand_asm.
6211         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
6212         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
6213         (volatile_refs_p) [ASM_INPUT]: Likewise.
6214         (side_effects_p) [ASM_INPUT]: Likewise.
6215
6216 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
6217
6218         * i386.md (*mul*): FIx constraints; remove confused comment; fix
6219         athlon_decode attributes
6220         (imul/k8 optimization peep2s): New.
6221
6222         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
6223         * i386.md (type attribute): Add ssecomi.
6224         (unit, memory, prefix attributes): Handle ssecomi.
6225         (cvt?2? patterns): Fix athlon_decode attribute
6226         (comi patterns): Set attribute to ssecomi.
6227
6228         PR target/8343
6229         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
6230
6231 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
6232
6233         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
6234         that match register_operands.
6235         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
6236         register_operand the default case.
6237
6238 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
6239
6240         PR c/8032
6241         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
6242         an empty element, do not advance the pointer to unfilled
6243         fields if there are pending initializers.
6244
6245 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
6246
6247         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
6248         (install-gcc-tooldir, install-cpp, installdirs,
6249         install-common, install-driver, install-info, install-man,
6250         install-headers, install-include-dir, install-headers-tar,
6251         install-headers-cpio, install-headers-cp, install-mkheaders,
6252         install-collect2, uninstall): Prepend $(DESTDIR) to
6253         destination paths in all (un)installation commands.
6254         (install-driver): Rewrite $(LN) commands to support DESTDIR
6255         with "ln" as well as with "ln -s".
6256         (installdirs): Simply use mkinstalldirs.
6257         (install-libgcc, install-multilib): Also pass DESTDIR.
6258         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
6259         installation destination variable ldir.
6260         * config/alpha/t-osf4, config/arm/t-netbsd,
6261         config/ia64/t-hpux, config/mips/t-iris5-6,
6262         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
6263         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
6264         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
6265         in the definition of SHLIB_INSTALL.
6266         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
6267         $(libsubdir) in the installation commands.
6268
6269 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
6270
6271         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
6272         non-optimizing compile.
6273         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
6274         compile.
6275
6276 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
6277
6278         * config/i386/i386.c (ix86_attribute_table): Add new attributes
6279         ms_struct and gcc_struct.
6280         (ix86_handle_struct_attribute): New function.
6281         (ix86_ms_bitfield_layout_p): Update to take new attributes
6282         into account.
6283         * doc/extend.texi: Document new attributes.
6284         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
6285
6286 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
6287
6288         PR optimization/8750
6289         * config/i386/i386.c (ix86_expand_prologue): Don't allow
6290         scheduling pass to move insns across __alloca call.
6291
6292 2003-01-08  Dale Johannesen  <dalej@apple.com>
6293
6294         * config/rs6000/rs6000.md:  Replace *store_multiple_string
6295         with *stmsi[3-8].
6296
6297 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
6298
6299         PR target/9210
6300         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
6301         Set SYMBOL_REF_FLAG on local data sym_ref.
6302
6303 2003-01-08  Dale Johannesen  <dalej@apple.com>
6304
6305         * function.c (assign_parms):  Don't set pretend_args_size if
6306           REG_PARM_STACK_SPACE.
6307           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
6308           pretend_args_size.
6309
6310 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
6311
6312         * gcc.hlp: Delete.
6313
6314 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
6315
6316         * i386.c  (ix86_expand_int_addcc): Fix thinko.
6317
6318 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
6319
6320         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
6321         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
6322         as hook_bool_tree_hwi_hwi_tree_true.
6323         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
6324         (rs6000_emit_epilogue): Same.
6325         (rs6000_output_mi_thunk): Re-implement as RTL.
6326         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
6327         xcoffout_declare_function if any debugging enabled.
6328
6329 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
6330
6331         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
6332         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
6333         * config/mips/mips.h (enum processor_type): Rename
6334         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
6335         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
6336         Add PROCESSOR_M4K.
6337         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
6338         (ISA_MIPS32R2): New define.
6339         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
6340         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
6341         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
6342         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
6343         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
6344         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
6345         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
6346         compiling MIPS16 code.
6347         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
6348         comment.
6349         (ISA_HAS_SEB_SEH): New define.
6350         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
6351         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
6352         processor_type value renaming.  Add support for MIPS32R2.
6353         Clean up comments, and move "sb1" entry with other MIPS64 CPU
6354         entries.
6355         (override_options): Reimplement -mipsN option handling so that
6356         it will work correctly for -mips32r2.  Avoid branch-likely
6357         instructions on MIPS32R2.
6358         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
6359         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
6360         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
6361         (extendhisi2_hw, extendqisi2_hw): New.
6362         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
6363         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
6364         MIPS32R2, and MIPS64.
6365         (LINK_SPEC): Pass -mips32r2 to linker.
6366         * config/mips/t-isa3264: Built -mips32r2 multilibs.
6367         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
6368         for mips32r2 in the -march description.  Alphabetically sort
6369         CPU names in the -march description.  Add long-missed -mips32
6370         and -mips64 to MIPS option summary.
6371
6372         * config.gcc: Update copyright years to include 2003.
6373         * config/mips/mips.c: Likewise.
6374         * config/mips/mips.h: Likewise.
6375         * config/mips/mips.md: Likewise.
6376         * config/mips/netbsd.h: Likewise.
6377         * doc/invoke.texi: Likewise.
6378
6379 2003-01-08  Andreas Schwab  <schwab@suse.de>
6380
6381         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
6382         variable.
6383         * configure: Regenerated.
6384
6385 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
6386
6387         * config/h8300/h8300.c (output_logical_op): Replace byte/word
6388         extraction of det with b0, b1, w0, w2, etc.
6389         (compute_logical_op_length): Likewise.
6390         (compute_logical_op_cc): Likewise.
6391
6392 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
6393
6394         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
6395         HIGH on all variants.
6396
6397 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
6398
6399         * Makefile.in (PARTITION_H): New.
6400         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
6401         * basic-block.h: Include hard-reg-set.h.
6402
6403 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
6404
6405         * arm.h (ENABLE_XF_PATTERNS): Delete.
6406         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
6407         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
6408         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
6409         (cmpxf_trap): Delete.
6410         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
6411
6412 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
6413
6414         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
6415         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
6416         (add??cc): New expanders.
6417         * i386.c (expand_int_addcc): New function.
6418         * i386-protos.h (expand_int_addcc): Declare.
6419
6420         * alias.c (memory_modified_1): New static function.
6421         (memory_modified): New static varaible.
6422         (memory_modified_in_insn_p): New global function.
6423         * rtl.h (memory_modified_in_insn_p): Declare.
6424         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
6425         references.
6426
6427         * expr.h (emit_conditional_add): Declare.
6428
6429 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
6430
6431         PR other/8947
6432         * doc/invoke.texi (-malign-double): Explain that the option breaks
6433         binary compatibility.
6434
6435 2003-01-08  Andreas Schwab  <schwab@suse.de>
6436
6437         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
6438         should come from the generic *-*-linux* entry.
6439
6440 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
6441
6442         * cselib.c (cselib_current_insn_in_libcall): New static variable.
6443         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
6444         we are inside libcall.
6445         * cselib.h (elt_loc_list): Add in_libcall.
6446         * gcse.c (do_local_cprop): Do not copy propagate using insns
6447         in libcalls.
6448
6449 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
6450
6451         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
6452         not normally affect to issue rate.
6453
6454 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
6455
6456         * genopinit.c (optabs): Add addc_optab.
6457         * ifcvt.c (noce_try_store_flag): Rename to ...
6458         (noce_try_addcc): ... this one; handle generic conditional increment.
6459         (noce_process_if_block): Update noce_try_addcc call.
6460         * optabs.c (emit_conditional_add): New.
6461         (init_obtabs): Initialize addc_optab.
6462         * optabs.h (optab_index): Add OTI_addcc.
6463         (addcc_optab): New macro.
6464         * md.texi: Document addMcc
6465
6466         PR target/8322
6467         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
6468         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6469         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
6470
6471         * reload1.c (delete_output_reload): Avoid repeated attempts
6472         to delete insn.
6473
6474 2003-01-07  Andreas Schwab  <schwab@suse.de>
6475
6476         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
6477         Move --enable-initfini-array check ...
6478         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
6479         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
6480         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
6481         * configure: Rebuild.
6482
6483 2003-01-07  Richard Henderson  <rth@redhat.com>
6484
6485         * alias.c (find_base_value): Only use new_reg_base_value shortcut
6486         if the register is set once.
6487
6488 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
6489
6490         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
6491         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
6492         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
6493
6494 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
6495             Sunil Davasam  <sunil.k.davasam@intel.com>
6496
6497         PR libstdc++/9076
6498         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
6499         DW_CFA_same_value, read next and ignore.
6500
6501 2003-01-07  Richard Henderson  <rth@redhat.com>
6502
6503         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
6504
6505 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
6506
6507         * cfg.c: Include alloc-pool.h
6508         (edge_pool): New pool.
6509         (bb_pool): New pool.
6510         (first_deleted_edge): Remove.
6511         (first_deleted_block): Remove.
6512         (init_flow): Alloc/free the pools.
6513         (free_edge): Use pools.
6514         (alloc_block): Ditto.
6515         (expunge_block): Ditto.
6516         (cached_make_edge): Ditto.
6517
6518         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
6519
6520 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
6521
6522         * et-forest.c: Include alloc-pool.h.
6523         (struct et_forest): Add node_pool and occur_pool.
6524         (et_forest_create): Create the new pools.
6525         (et_forest_delete): Delete them.
6526         (et_forest_add_node): Allocate and free using pools.
6527         (et_forest_add_edge): Ditto.
6528         (et_forest_remove_node): Ditto.
6529         (et_forest_remove_edge): Ditto.
6530
6531         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
6532
6533 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
6534
6535         * config/h8300/h8300.c (output_logical_op): Simplify and
6536         optimize the handling of SImode.
6537         * config/h8300/h8300.c (compute_logical_op_length): Update
6538         accordingly.
6539         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
6540
6541 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
6542
6543         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
6544         big-endian correction to indirect arguments too.
6545
6546 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
6547
6548         Segher Boessenkool  <segher@koffie.nl>
6549
6550         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
6551         (alt_reg_names): Ditto, fix formatting.
6552         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
6553
6554 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
6555
6556         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
6557         (output_logical_op): Constify intval and det.
6558         (compute_logical_length): Likewise.
6559         (compute_logical_cc): Likewise.
6560         (output_a_shift): Constify mask.
6561         (h8300_encode_label): Constify len.
6562
6563 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
6564
6565         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
6566         (h8300_expand_epilogue): Likewise.
6567
6568 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
6569
6570         Segher Boessenkool  <segher@koffie.nl>
6571
6572         * config/rs6000/altivec.md: Remove spaces from assembler
6573         instruction argument lists.
6574
6575 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
6576
6577         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
6578         c4x_assembler_function_p.
6579         (c4x_null_epilogue_p): Complement return value, all uses updated.
6580         (c4x_insert_attributes): Add naked.
6581         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
6582         * doc/extend.texi: Update C4x function attributes.
6583
6584 2003-01-06  Richard Henderson  <rth@redhat.com>
6585
6586         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
6587         properly when changing "local-ness".
6588         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
6589
6590 2003-01-06  Dale Johannesen  <dalej@apple.com>
6591
6592         * config/darwin-protos.h:  Add prototypes for new section functions.
6593
6594 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
6595
6596         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
6597         to EABI.
6598
6599 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
6600
6601         * hwint.h: If the current compiler has no 64-bit type at all,
6602         make HOST_WIDEST_INT 32 bits.
6603
6604 2003-01-06  Eric Christopher  <echristo@redhat.com>
6605
6606         * config/mips/mips.md (movdf_internal2): Fix constraints.
6607
6608 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
6609
6610         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
6611
6612 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
6613
6614         * config/mips/mips.md (leadi): Use dla rather than la.
6615
6616 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
6617
6618         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
6619         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
6620
6621 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
6622
6623         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
6624         redefinition.
6625
6626 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6627
6628         * config/h8300/h8300.md (*extzv_8_23): New.
6629
6630 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6631
6632         * pa64-hpux.h (JCR_SECTION_NAME): Define.
6633         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
6634         USE_EH_FRAME_REGISTRY when defining.
6635
6636 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
6637
6638         * config/h8300/h8300.c (output_a_shift): Do not output a
6639         variable shift.
6640         * config/h8300/h8300.md (two splitters): New.
6641
6642 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
6643
6644         * config/mips/mips.md: Disable the movstrsi define_split.
6645
6646 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6647
6648         * alloc-pool.c: Don't include "libiberty.h".
6649         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
6650         * convert.c (convert_to_real): Hide unused variable.
6651
6652 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6653
6654         * Makefile.in (gtyp-gen.h): Const-ify.
6655         * gcov-dump.c (tag_table): Likewise.
6656
6657 2003-01-04  Bruce Korb  <bkorb@gnu.org>
6658
6659         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
6660         of *both* the file name and the fix name.
6661
6662 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
6663
6664         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
6665         collect2.
6666         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
6667         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
6668         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
6669         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
6670         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
6671         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
6672         elfos.h.
6673         (EH_FRAME_IN_DATA_SECTION): Delete define.
6674         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
6675         (STARTFILE_SPEC): Use crtbegin.o.
6676         (ENDFILE_SPEC): Use crtend.o.
6677         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
6678         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
6679         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
6680         DTOR_LIST_BEGIN): Define.
6681         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
6682         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
6683         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
6684
6685 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
6686
6687         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
6688         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
6689         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
6690         Cleanup handling of replacement text.
6691         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
6692
6693 2003-01-04  Bruce Korb  <bkorb@gnu.org>
6694
6695         * fixinc/tests/base/math.h: removed obsolete results
6696         * fixinc/tests/base/stdlib.h: ditto
6697         * fixinc/tests/base/sys/param.h: ditto
6698         * fixinc/tests/base/sys/stat.h: ditto
6699         * fixinc/tests/base/time.h: ditto
6700         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
6701         * fixinc/tests/base/sys/byteorder.h: ditto
6702         * fixinc/inclhack.def: Remove superfluous backslashes
6703
6704 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
6705
6706         * config/h8300/h8300-protos.h: Add prototypes for
6707         the new functions defined below.
6708         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
6709         define.
6710         (dosize): Emit RTL instead of assembly code.
6711         (push): Likewise.
6712         (pop): Likewise.
6713         (h8300_output_function_prologue): Remove.
6714         (h8300_expand_prologue): New.
6715         (h8300_expand_epilogue): New.
6716         (h8300_output_function_epilogue): Do only the reset of
6717         pragma_saveall.
6718         * config/h8300/h8300.md (push_h8300): New.
6719         (push_h8300hs): Likewise.
6720         (pop_h8300): Likewise.
6721         (pop_h8300hs): Likewise.
6722         (*stm_h8300s_2): Change the name to stm_h8300s_2.
6723         (*stm_h8300s_3): Change the name to stm_h8300s_3.
6724         (*stm_h8300s_4): Change the name to stm_h8300s_4.
6725         (*ldm_h8300s_2): New.
6726         (*ldm_h8300s_3): Likewise.
6727         (*ldm_h8300s_4): Likewise.
6728         (return): Likewise.
6729         (*return_1): Likewise.
6730         (prologue): Likewise.
6731         (epilogue): Likewise.
6732         (monitor_prologue): Likewise.
6733
6734 2003-01-03  Dale Johannesen  <dalej@apple.com>
6735
6736         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
6737           machopic_picsymbol_stub1.
6738           (EXTRA_SECTION_FUNCTIONS):  Ditto.
6739         * rs6000/rs6000.c:  Update copyright.
6740           (machopic_output_stub):  Use them.  Remove an insn from stub code.
6741
6742 2003-01-02  Jason Merrill  <jason@redhat.com>
6743
6744         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
6745
6746         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
6747         static/external decls.
6748
6749         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
6750         outermost scope.
6751         * c-decl.c (c_make_fname_decl): Push the decls there, too.
6752
6753 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
6754
6755         * config/h8300/h8300-protos.h: Add a prototype for
6756         h8300_current_function_interrupt_function_p.
6757         * config/h8300/h8300.c (interrupt_handler): Remove.
6758         (os_task): Likewise.
6759         (monitor): Likewise.
6760         (pragma_interrupt): New.
6761         (WORD_REG_USED): Use
6762         h8300_current_function_interrupt_function_p.
6763         (dosize): Likewise.
6764         (h8300_output_function_prologue): Likewise.
6765         Do not set interrupt_handler, os_task, monitor.
6766         (h8300_output_function_prologue): Use
6767         h8300_current_function_interrupt_function_p.
6768         Do not set interrupt_handler, os_task, monitor.
6769         (h8300_current_function_interrupt_function_p): New.
6770         (h8300_pr_interrupt): Set pragma_interrupt.
6771         (h8300_insert_attributes): Reset pragma_interrupt.
6772
6773 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6774
6775         * doc/install.texi (Configuration): Fix markup for reference to
6776         gcc/config.gcc.
6777
6778 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6779
6780         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
6781         (*iorhi3_two_qi): Likewise.
6782         (*iorsi3_zexthi): Likewise.
6783         (*xorhi3_zextqi): Likewise.
6784         (*xorsi3_zexthi): Likewise.
6785         (*xorsi3_zextqi): Likewise.
6786
6787 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
6788
6789         * config/h8300/h8300.c (stack_pointer_operand): New.
6790         (const_int_gt_2_operand): Likewise.
6791         (const_int_ge_8_operand): Likewise.
6792         * config/h8300/h8300.md (a splitter): Likewise.
6793         (a peephole2): Likewise.
6794         * config/h8300/h8300-protos.h: Add prototypes for the new
6795         functions above.
6796
6797 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
6798
6799         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
6800         objc/objc-act.h: Fix copyright years.
6801
6802 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6803
6804         * doc/passes.texi: Fix documentation for -fssa-ccp
6805
6806 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
6807
6808         * gccbug.in: Update for new categories.
6809
6810 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6811
6812         * config/h8300/h8300.md: Reorder some patterns.
6813
6814 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6815
6816         * config/h8300/h8300.c (output_logical_op): Fix a warning.
6817
6818 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6819
6820         * config/darwin-protos.h, config/c4x/c4x-protos.h,
6821         config/cris/cris-protos.h, config/i370/i370-protos.h,
6822         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
6823         config/v850/v850-protos.h: Use struct, and don't conditionally
6824         compile on GCC_C_PRAGMA_H.
6825
6826 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6827
6828         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
6829         * config/h8300/h8300-protos.h: Likewise.
6830         * config/sh/sh-protos.h: Likewise.
6831
6832 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6833
6834         * config/arm/arm-protos.h: Use struct cpp_reader instead of
6835         cpp_reader.
6836         * config/h8300/h8300-protos.h: Likewise.
6837         * config/sh/sh-protos.h: Likewise.
6838
6839 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6840
6841         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
6842         arm_pr_long_calls_off): Use struct.
6843         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
6844         : Similarly.
6845         Don't include cpplib.h.
6846         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
6847         sh_pr_nosave_low_regs): Similarly.
6848
6849 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
6850
6851         * config/h8300/h8300.c: Include cpplib.h.
6852
6853 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
6854
6855         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
6856           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
6857           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
6858           "GCC" in the copyright header.
6859
6860 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
6861
6862         * c-pragma.c (c_register_pragma): New.
6863         (init_pragma): Use it.
6864         * c-pragma.h (cpp_register_pragma): Don't declare.
6865         (c_register_pragma): New.
6866         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
6867         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
6868         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
6869         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
6870         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
6871         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
6872         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
6873         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
6874         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
6875         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
6876         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
6877         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
6878
6879 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6880
6881         * config/h8300/h8300-protos.h: Update the prototypes.
6882         * config/h8300/h8300.c (const_le_2_operand): Change to
6883         const_int_le_2_operand.
6884         (const_int_le_6_operand): Change to const_int_le_6_operand.
6885         * config/h8300/h8300.md (two peepholes): Update the function
6886         names.
6887
6888 2002-12-31  Tom Tromey  <tromey@redhat.com>
6889
6890         * doc/install.texi (Testing): Fixed typo.
6891
6892 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6893
6894         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
6895         (TRAMPOLINE_SIZE): Support the normal mode.
6896         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
6897
6898 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
6899
6900         * c-common.h (pending_lang_change): Declare.
6901
6902 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6903
6904         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
6905         descriptions.
6906
6907 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
6908
6909         * gcc/doc/invoke.texi (Optimization Options): List the options
6910         enabled by each -O flag.
6911
6912 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6913
6914         * doc/install.texi (Configuration): Explicitly refer
6915         gcc/config.gcc for a list of cpu models.
6916
6917 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6918
6919         * config/h8300/h8300.h: Fix comment typos.
6920
6921 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
6922
6923         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6924
6925 2002-12-30  Tom Tromey  <tromey@redhat.com>
6926
6927         * doc/install.texi (Testing): Mention Jacks.
6928
6929 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6930
6931         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6932
6933 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6934
6935         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6936         cases.
6937         (compute_logical_op_length): Update to reflect the change in
6938         output_logical_op.
6939         (compute_logical_op_cc): Likewise.
6940
6941 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6942
6943         * doc/service.texi: Uncomment and update FAQ link.
6944
6945 2002-12-30  Andreas Jaeger  <aj@suse.de>
6946
6947         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6948
6949 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6950
6951         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6952
6953 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6954
6955         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6956         are clearing the most significant byte.
6957         (compute_logical_op_length): Update to reflect the change in
6958         output_logical_op.
6959         (compute_logical_op_cc): Likewise.
6960
6961 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6962
6963         * config/h8300/h8300.md: Give internal names to anonymous
6964         insns.
6965
6966 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6967
6968         * config/h8300/h8300.md: Reorder some insns.
6969
6970 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6971
6972         * config/h8300/h8300-protos.h: Add prototypes for
6973         const_int_qi_operand and const_int_hi_operand.
6974         * config/h8300/h8300.c (const_int_qi_operand): New.
6975         (const_int_hi_operand): Likewise.
6976         * config/h8300/h8300.md (three peepholes): New.
6977
6978 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6979
6980         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6981         Use @copying.
6982
6983 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6984
6985         * configure.in: Increase makeinfo version requirement to 4.[2-9].
6986         * configure: Regenerate.
6987         * doc/install.texi: Update Texinfo version requirement.
6988
6989 2002-12-28  Andreas Jaeger  <aj@suse.de>
6990
6991         * config/i386/i386.c (x86_function_profiler): Mark labelno as
6992         possibly unused.
6993
6994         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6995         correct format.
6996
6997 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
6998
6999         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
7000         *iorhi_ashift_8.
7001         (*iorhi_lshiftrt_8): New.
7002
7003 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
7004
7005         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
7006
7007 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7008
7009         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
7010
7011 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
7012
7013         * config/h8300/h8300-protos.h: Fix comment typos.
7014         Update copyright.
7015         * config/h8300/h8300.c: Fix comment typos.
7016
7017 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
7018
7019         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
7020
7021 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
7022
7023         * config/i386/athlon.md: Fix comment typos.
7024         * config/i386/crtdll.h: Likewise.
7025         * config/i386/djgpp.h: Likewise.
7026         * config/i386/i386-interix.h: Likewise.
7027         * config/i386/i386.c: Likewise.
7028         * config/i386/i386.h: Likewise.
7029         * config/i386/i386.md: Likewise.
7030         * config/i386/k6.md: Likewise.
7031         * config/i386/mingw32.h: Likewise.
7032         * config/i386/pentium.md: Likewise.
7033         * config/i386/sco5.h: Likewise.
7034         * config/i386/winnt.c: Likewise.
7035         * config/i386/xmmintrin.h: Likewise.
7036
7037 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
7038
7039         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
7040         INSN_P before checking to see if it is dead.
7041         (mark_all_insn_unnecessary): Similarly.
7042         (ssa_eliminate_dead_code): Similarly.
7043         * rtl.h (struct rtx_def): Update comments for in_struct usage
7044         in dead code elimination pass.
7045         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
7046
7047 2002-12-26  Andreas Schwab  <schwab@suse.de>
7048
7049         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
7050
7051 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
7052
7053         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
7054         tartet_flags_explicit.
7055         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
7056         Compact target_flags bits.
7057         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
7058         (TARGET_SWITCHES): Delete references to *_SET flags.
7059
7060 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
7061
7062         * i386.md (memory attribute): Fix setcc attribute.
7063
7064 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
7065
7066         * output.h: Fix comment typos.
7067         * predict.c: Likewise.
7068         * print-tree.c: Likewise.
7069         * profile.c: Likewise.
7070         * ra-build.c: Likewise.
7071         * ra-colorize.c: Likewise.
7072         * ra-debug.c: Likewise.
7073         * ra-rewrite.c: Likewise.
7074         * ra.c: Likewise.
7075         * ra.h: Likewise.
7076         * real.c: Likewise.
7077         * recog.c: Likewise.
7078         * reg-stack.c: Likewise.
7079         * regclass.c: Likewise.
7080
7081 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
7082
7083         * config/h8300/h8300.c (print_operand_address): Do not negate
7084         a negative number when printing one.
7085
7086 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
7087
7088         * config/h8300/h8300-protos.h: Add prototypes for
7089         output_plussi, compute_plussi_length, and compute_plussi_cc.
7090         * config/h8300/h8300.c (output_plussi): New.
7091         (compute_plussi_length): Likewise.
7092         (compute_plussi_cc): Likewise.
7093         * config/h8300/h8300.md (addsi_h8300h): Call
7094         output_plussi, compute_plussi_length, and compute_plussi_cc.
7095
7096 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
7097
7098         * config/h8300/h8300.md (two peepholes): Use match_dup instead
7099         of match_operand in the new patterns.
7100
7101 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
7102
7103         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
7104
7105 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
7106
7107         * configure.in (enable-coverage): Add SELF_COVERAGE.
7108         * profile.c (end_branch_prob): Use SELF_COVERAGE.
7109
7110 2002-12-24  Jim Wilson  <wilson@redhat.com>
7111
7112         * alias.c (record_set): Handle multi-reg hard registers.
7113
7114 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
7115
7116         * regmove.c: Fix comment typos.
7117         * reload.c: Likewise.
7118         * reload1.c: Likewise.
7119         * resource.c: Likewise.
7120         * rtl.def: Likewise.
7121         * rtl.h: Likewise.
7122         * rtlanal.c: Likewise.
7123         * sched-deps.c: Likewise.
7124         * sched-rgn.c: Likewise.
7125         * sibcall.c: Likewise.
7126         * simplify-rtx.c: Likewise.
7127         * ssa-ccp.c: Likewise.
7128         * ssa.c: Likewise.
7129         * stmt.c: Likewise.
7130         * stor-layout.c: Likewise.
7131         * system.h: Likewise.
7132         * tlink.c: Likewise.
7133         * toplev.c: Likewise.
7134         * tracer.c: Likewise.
7135         * tree-inline.c: Likewise.
7136         * tree.c: Likewise.
7137         * tree.h: Likewise.
7138         * unroll.c: Likewise.
7139         * varasm.c: Likewise.
7140
7141 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
7142
7143         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
7144         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
7145         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
7146         DG/UX entries.
7147         * doc/md.texi: Remove AMD 29K entries.
7148         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
7149         1.38.1, NewsOS, RT PC, WE32K entries.
7150
7151 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
7152
7153         PR/8763
7154         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
7155         (altivec_vspltisw_v4sf): Name pattern.
7156         (altivec_vslw_v4sf): New pattern.
7157
7158 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
7159
7160         * doc/include/gcc-common.texi: Define DEVELOPMENT.
7161
7162 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
7163
7164         * stor-layout.c (update_alignment_for_field): Correct handling of
7165         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
7166         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
7167         bitfield does not affect alignment.
7168
7169 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
7170
7171         * expr.c (expand_assignment): Apply special treatment to
7172         ARRAY_TYPE.
7173
7174 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
7175
7176         * config/h8300/h8300-protos.h: Update the prototype of
7177         expand_a_shift.
7178         * config/h8300/h8300.c (expand_a_shift): Change the return
7179         type to void.
7180         * config/h8300/h8300.md: Update all the uses of
7181         expand_a_shift.
7182
7183 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
7184
7185         * tree.c (save_expr): Allow either side of a dyadic operand to be
7186         constant.
7187
7188         * doc/portability.texi (portability): Update portability goals.
7189
7190 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
7191
7192         * config/h8300/h8300.c (output_a_shift): Remove unused code.
7193
7194 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
7195
7196         * stor-layout.c (update_alignment_for_field): Guard use of
7197         ADJUST_FIELD_ALIGN with #ifdef.
7198
7199         * stor-layout.c (update_alignment_for_field): Use
7200         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
7201         bitfield when PCC_BITFIELD_TYPE_MATTERS.
7202
7203 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
7204
7205         * genautomata.c: Fix comment typos.
7206
7207 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7208
7209         * params.def (tracer-min-branch-probability-feedback): Fix default.
7210         * final.c (compute_alignments): Use profile to avoid code bloat.
7211
7212 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
7213
7214         * config/h8300/h8300.c (get_shift_alg): Make shift insn
7215         sequences end with a valid cc0 whenever possible.
7216
7217 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
7218
7219         * config/h8300/h8300.md (negsf2): New.
7220         (*negsf2_h8300): Likewise.
7221         (*negsf2_h8300hs): Likewise.
7222
7223 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
7224
7225         * integrate.c (output_inline_function): Don't hold private
7226         pointers to 'struct function' over GC calls.
7227
7228 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
7229
7230         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
7231         NO_FPSCR_VALUES.
7232         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
7233
7234 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
7235
7236         * config/h8300/h8300.md (zero_extendqisi2): Correct the
7237         length.
7238
7239 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
7240
7241         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
7242         second alternative "#".
7243         (*zero_extendqihi2_h8300hs): Likewise.
7244         (a define_split): New.
7245
7246 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
7247
7248         * config/h8300/h8300-protos.h: Update the prototype for
7249         split_adds_subs.
7250         Add prototypes for const_le_2_operand and const_le_6_operand.
7251         * config/h8300/h8300.c (split_adds_subs): Add an argument to
7252         specify whether inc/dec should be used when possible.
7253         (const_le_2_operand): New.
7254         (const_le_6_operand): Likewise.
7255         * config/h8300/h8300.md (two peepholes): New.
7256
7257 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
7258
7259         * config/fr30/fr30.md: Fix a comment typo.
7260         * config/i386/i386.c: Likewise.
7261         * config/ip2k/ip2k.h: Likewise.
7262
7263 2002-12-20  Jim Wilson  <wilson@redhat.com>
7264
7265         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
7266         (__ev_subw, __ev_subiw): New.
7267         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
7268         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
7269
7270 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
7271
7272         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
7273         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
7274         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
7275         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
7276
7277 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
7278
7279         * config/h8300/h8300-protos.h: Add prototypes for
7280         incdec_operand and eqne_operator.
7281         * config/h8300/h8300.c (incdec_operand): New.
7282         (eqne_operator): Likewise.
7283         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
7284         (CONST_OK_FOR_O): Likewise.
7285         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
7286         CONST_OK_FOR_O.
7287         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
7288         (addhi3_incdec): New.
7289         (addsi3_incdec): Likewise.
7290         (two peepholes): Likewise.
7291
7292 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
7293
7294         * config/h8300/h8300.c (dosize): Remove warnings.
7295         (print_operand): Likewise.
7296
7297 2002-12-20  Richard Henderson  <rth@redhat.com>
7298
7299         * config/alpha/alpha.c (decl_has_samegp): New.
7300         (samegp_function_operand): Use it.  Rename from
7301         current_file_function_operand.
7302         (direct_call_operand): Handle -msmall-text via symbol->jump.
7303         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
7304         (tls_symbolic_operand_type): Likewise.
7305         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
7306         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
7307         (alpha_end_function): Set symbol->jump for functions defined in
7308         the text section.
7309         * config/alpha/alpha-protos.h: Update.
7310         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
7311         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
7312         (PREDICATE_CODES): Update.
7313         * config/alpha/alpha.md (call patterns): Update for
7314         samegp_function_operand rename; use !samegp reloc if
7315         TARGET_EXPLICIT_RELOCS.
7316         * doc/invoke.text: Document -msmall-text and -mlarge-text.
7317
7318 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
7319
7320         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
7321         all registers capable of holding a double float.
7322         (*rcond): change name of "reverse branch" insns to
7323         something more meaningful.
7324         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
7325         comparisons properly.
7326         (*ffs): Change operand 0 from write to read-modify-write.
7327         (*ffsssi2): Drop constraints from define_expand.
7328
7329         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
7330         MOVE_RATIO as default for store operations.
7331
7332         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
7333         LONG_REGS class.
7334         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
7335         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
7336         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
7337
7338         * config/ns32k/STATUS: New File
7339         * config/ns32k/NOTES: New file.
7340
7341 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
7342
7343         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
7344         option for S/390 and zSeries.
7345         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
7346         s390_arch_string): New variables.
7347         (override_options): Checking for options and setting of
7348         appropriate target_flags, cpu and arch flags.
7349         * config/s390/s390.h: (processor_type): New enum.
7350         (TARGET_SWITCHES): New switches -mesa/zarch.
7351         * config/s390/s390.md: New attribute 'cpu'.
7352
7353 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
7354
7355         * c-pretty-print.h: Fix comment typos.
7356         * integrate.c: Likewise.
7357         * varasm.c: Likewise.
7358         * config/c4x/c4x.h: Likewise.
7359         * config/c4x/c4x.md: Likewise.
7360         * config/fr30/fr30.md: Likewise.
7361         * config/frv/frv.c: Likewise.
7362         * config/h8300/h8300.c: Likewise.
7363         * config/i386/i386.c: Likewise.
7364         * config/i386/i386.h: Likewise.
7365         * config/ia64/ia64.c: Likewise.
7366         * config/ia64/ia64.h: Likewise.
7367         * config/ip2k/ip2k.md: Likewise.
7368         * config/m68hc11/m68hc11-crt0.S: Likewise.
7369         * config/m68hc11/m68hc11.h: Likewise.
7370         * config/m68hc11/m68hc11.md: Likewise.
7371         * config/m68hc11/m68hc12.h: Likewise.
7372         * config/mcore/mcore.md: Likewise.
7373         * config/mips/mips.c: Likewise.
7374         * config/mips/mips.md: Likewise.
7375         * config/mmix/mmix-modes.def: Likewise.
7376         * config/pa/pa.c: Likewise.
7377         * config/rs6000/rs6000.c: Likewise.
7378         * config/rs6000/rs6000.h: Likewise.
7379         * config/rs6000/rs6000.md: Likewise.
7380
7381 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
7382
7383         * config/h8300/h8300.md (output_a_shift): Clean up the code to
7384         output shifts using rotation.
7385
7386 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7387
7388         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
7389
7390 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
7391
7392         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
7393         pointer.
7394         (pushqi_h8300hs): Likewise.
7395         (pushhi_h8300): Likewise.
7396         (pushhi_h8300hs): Likewise.
7397
7398 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
7399
7400         * sched-rgn.c (init_regions): Update comment.
7401
7402 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
7403
7404         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
7405         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
7406         attributes.
7407         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
7408         (get_vrsave_internal,set_vrsave_internal): Same.
7409         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
7410         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
7411         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
7412
7413 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7414             Danny Smith  <dannysmith@users.sourceforge.net>
7415             Eric Kohl  <ekohl@rz-online.de>
7416
7417         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
7418         attributes incompatible with fastcall attribute.
7419         (ix86_handle_regparm_attribute): Likewise.
7420
7421         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
7422         fastcall types.
7423
7424         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7425         attributes.
7426         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
7427         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
7428         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
7429         i386_pe_output_labelref rather than here.
7430         (gen_fastcall_suffix): New function. Decorates a label name with the
7431         fastcall prefix (@) and the stdcall suffix.
7432         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
7433         has a fastcall attribute.
7434         (i386_pe_output_labelref): New function. Outputs a label reference.
7435         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
7436         valid attribute.
7437         (ix86_return_pops_args): Fastcall functions pop the stack.
7438         (init_cumulative_args): Reserve registers ECX and EDX if function has
7439         fastcall attribute.
7440         (function_arg): Use registers ECX and EDX if function has fastcall
7441         attribute.
7442         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
7443         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
7444         (FASTCALL_PREFIX): Define as '@'.
7445         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
7446         attributes.
7447         * doc/extend.texi: Add documentation of fastcall attribute.
7448
7449 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7450
7451         * configure.in: FORBUILD when build!=host changed from
7452         ../$build-alias to ../build-$build_alias to match change made
7453         in top directory.
7454         * configure: Regenerated.
7455
7456 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
7457
7458         PR optimization/8988
7459         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
7460         the biv when eliminating.
7461
7462 2002-12-19  Devang Patel  <dpatel@apple.com>
7463         * gcc.c (struct default_compiler): Recognizes input file name with
7464         .CPP extension as C++ source files
7465         * cp/lang-spec.h: Same
7466         * doc/invoke.texi:  Add documentation for .CPP support.
7467
7468 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
7469
7470         PR 8553
7471         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
7472         registers.
7473         ("absv16qi2"): Same.
7474         ("absv4si2"): Same.
7475         ("absv4sf2"): Same.
7476         ("altivec_abss_v16qi"): Same.
7477         ("altivec_abss_v8hi"): Same.
7478         ("altivec_abss_v4si"): Same.
7479
7480 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
7481
7482         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
7483         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
7484
7485 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
7486
7487         PR target/8340
7488         * stmt.c (expand_asm_operands): Produce an error when
7489         the PIC register is clobbered.
7490
7491 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
7492
7493         * Makefile.in (OBJS): Add alloc-pool.o
7494         (alloc-pool.o): New object.
7495
7496         * alloc-pool.c: New file.
7497         * alloc-pool.h: New file.
7498
7499 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
7500
7501         * gcc.c (validate_switches): Robustify against skipping past '\0'.
7502
7503 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
7504
7505         * config.gcc: Set extra_objs in the generic Darwin rule,
7506         not in the machine-specific rules.
7507
7508 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
7509
7510         * ChangeLog: Follow spelling conventions.
7511         * ChangeLog.2: Likewise.
7512         * ChangeLog.4: Likewise.
7513         * ChangeLog.5: Likewise.
7514         * cppexp.c: Likewise.
7515         * df.c: Likewise.
7516         * gcov.c: Likewise.
7517         * gengtype.c: Likewise.
7518         * reload1.c: Likewise.
7519         * sched-rgn.c: Likewise.
7520         * stmt.c: Likewise.
7521         * stor-layout.c: Likewise.
7522         * timevar.c: Likewise.
7523         * toplev.c: Likewise.
7524         * tree.h: Likewise.
7525         * varasm.c: Likewise.
7526         * config/fr30/fr30.md: Likewise.
7527         * config/i386/i386.c: Likewise.
7528         * config/ia64/ia64.c: Likewise.
7529         * config/pa/pa.c: Likewise.
7530
7531 2002-12-18  Roger Sayle  <roger@eyesopen.com>
7532
7533         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
7534
7535 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
7536
7537         PR 8551
7538         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
7539         macro.
7540         (vec_cmplt C++ functions): Reverse arguments.
7541
7542 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
7543
7544         * config/rs6000/t-rs6000: Move contents to t-fprules,
7545         add rules for dependencies of rs6000.o and to build rs6000-c.o
7546         * config/rs6000/t-fprules: New file from t-rs6000.
7547         * config/rs6000/t-beos: Remove soft-fp rules.
7548         * config/rs6000/t-ppccomm: Likewise.
7549         * config/rs6000/t-newas: Likewise.
7550         * config/rs6000/t-rs6000-c-rule: Delete.
7551         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
7552         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
7553         Create generic Darwin rules.
7554
7555         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
7556
7557 2002-12-18  Doug Evans  <dje@sebabeach.org>
7558
7559         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
7560         and LIT_NAME_P.
7561         (move_src_operand): Remove compile-time warning.
7562         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
7563
7564 2002-12-18  Jason Merrill  <jason@redhat.com>
7565
7566         * unwind-dw2-fde.c (frame_downheap): Split out from...
7567         (frame_heapsort): Here.
7568
7569 2002-12-17  Jason Merrill  <jason@redhat.com>
7570
7571         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
7572         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
7573
7574         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
7575
7576         * calls.c (expand_call): Don't try to be clever about expanding
7577         the return slot address.
7578
7579 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
7580
7581         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
7582         Define.
7583
7584 2002-12-17  Jason Merrill  <jason@redhat.com>
7585
7586         * genmultilib: Use 'cd ./foo'.
7587
7588 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
7589
7590         * doc/c-tree.texi: Restore deliberate spelling mistakes.
7591
7592 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
7593
7594         * doc/c-tree.texi: Fix typos and follow spelling conventions.
7595         * doc/cpp.texi: Likewise.
7596         * doc/extend.texi: Likewise.
7597         * doc/gty.texi: Likewise.
7598         * doc/install.texi: Likewise.
7599         * doc/invoke.texi: Likewise.
7600         * doc/md.texi: Likewise.
7601         * doc/passes.texi: Likewise.
7602         * doc/rtl.texi: Likewise.
7603         * doc/sourcebuild.texi: Likewise.
7604         * doc/tm.texi: Likewise.
7605
7606 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
7607
7608         * doc/invoke.texi: Minor spelling and grammar fixes.
7609
7610 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
7611
7612         * config/s390/s390.c (s390_output_constant_pool): Replace
7613         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
7614
7615 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
7616
7617         * convert.c (convert_to_real): Disable function transformation for
7618         now.
7619
7620 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
7621
7622         * gcc.c (handle_braces): Allow '@' as a switch name.
7623
7624 2002-12-16  Jason Merrill  <jason@redhat.com>
7625
7626         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
7627         with special struct-return ABIs.
7628
7629         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
7630         doesn't match the begin SCOPE_STMT in partialness.
7631
7632 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
7633
7634         * genmultilib: Create temporary files in unique subdirectory.
7635
7636         * gcc.c (validate_switches): Allow '@' as a switch name.
7637
7638 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
7639
7640         * Makefile.in (gcov-iov.h): Improve portability.
7641
7642 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
7643
7644         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
7645         gas
7646         * mips.md (tablejump insn): Likewise.
7647
7648 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
7649
7650         * doc/include/gcc-common.texi: Change version number to 3.4.
7651
7652 2002-12-16  Bruce Korb  <bkorb@gnu.org>
7653
7654         * fixinc/fixlib.h: add: #include <signal.h>
7655         * fixinc/fixincl.c: remove: #include <signal.h>
7656
7657 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
7658
7659         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
7660         (EXTRA_CONSTRAINT): Use it.
7661         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
7662
7663 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
7664
7665         * config.gcc (need_64bit_hwint): New variable.
7666         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
7667         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
7668         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
7669         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
7670         Set it.
7671         (powerpc*-*-darwin*): Unset it.
7672         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
7673         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
7674         deleted/nonexistent xm-*.h headers.
7675         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
7676         target set need_64bit_hwint in config.gcc.
7677         * configure, config.in: Regenerate.
7678
7679         * hwint.h: Overhaul.  Don't bother trying int for
7680         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
7681         decision to force 64-bit HOST_WIDE_INT on
7682         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
7683         not visible at this point.  Don't allow prior definition of
7684         any macro defined by this file.
7685
7686         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
7687         HOST_BITS_PER_WIDE_INT.
7688         * config/c4x/c4x.h: Adjust redefinition of
7689         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
7690         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
7691         config/i386/xm-i386-interix.h: Delete file.
7692
7693 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
7694             John David Anglin  <dave@hiauly1.hia.nrc.ca>
7695
7696         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
7697         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
7698
7699 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
7700
7701         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
7702
7703 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
7704
7705         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
7706         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
7707         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
7708         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
7709         config/v850/t-v850:  Correct dependencies and normalize
7710         compilation commands for files that include coretypes.h and tm.h.
7711
7712         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
7713         not config.h and system.h.
7714
7715 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
7716
7717         * i386.c (flags_reg_operand):  New function.
7718         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
7719         * i386.md (cmov splitter, movqicc): Use new predicate.
7720
7721 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7722
7723         * i386.md (movqicc splitter): Fix template.
7724
7725 2002-12-13  Jason Merrill  <jason@redhat.com>
7726
7727         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
7728         * calls.c (expand_call): Handle it.
7729         * tree-inline.c (struct inline_data): Remove target_exprs field.
7730         (optimize_inline_calls): Don't initialize it.
7731         (expand_call_inline): Don't modify it.  Handle
7732         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
7733         (declare_return_variable): Take return slot addr.
7734         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
7735         to return_slot_addr.
7736         * langhooks-def.h, langhooks.c: Adjust.
7737         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
7738         a decl with no DECL_INITIAL.
7739
7740         * expr.c (expand_expr): Don't discard the target of a call which
7741         returns in memory.
7742
7743 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
7744
7745         * cppinit.c (path_include): Take an environment variable name.
7746         Tidy up.
7747         (init_standard_includes): Simplify environment handling, and
7748         move to ...
7749         (cpp_read_main_file): ...here as -nostdinc should not affect
7750         environment variable paths.
7751
7752 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7753
7754         * pa.c (output_millicode_call): Correct typo.
7755         (output_call): Likewise.
7756
7757 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
7758
7759         * config/mn10300/mn10300.c (print_operand) <case N>: Check
7760         operand's range.  Print value directly, without aid from
7761         output_address.
7762         <case U>: New.
7763         <case S>: Make sure argument to fprintf has the right type.
7764         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
7765         (EXTRA_CONSTRAINT): Adjust.
7766         * config/mn10300/mn10300.md: Add new all-QImode pattern for
7767         bclr.  Use %U for immediate operands of bset and bclr.
7768         (iorqi3): New expand, with insns for AM33 and mn10300.
7769
7770 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
7771
7772         * sh.c (sh_register_operand): New function.
7773         (prepare_move_operands): Use it.
7774         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
7775         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
7776         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
7777         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
7778         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
7779         (movv2si_i): Likewise.
7780
7781 2002-12-13  Jim Wilson  <wilson@redhat.com>
7782
7783         * doc/extend.texi (Complex Numbers): Update info on debug info.
7784
7785 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
7786
7787         * config/h8300/h8300.md (addhi3_h8300): Remove the last
7788         alternative.
7789
7790 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7791
7792         * hooks.h (hook_tree_tree_bool_false): Declare
7793         hook_bool_tree_tree_false instead.
7794
7795 2002-12-12  Devang Patel  <dpatel@apple.com>
7796
7797         * doc/invoke.texi: Document Darwin linker options, -bundle
7798         -bind_at_load, -all_load and -arch_errors_fatal
7799
7800 2002-12-12  Jim Wilson  <wilson@redhat.com>
7801
7802         * dbxout.c (dbxout_fptype_value): New.
7803         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
7804
7805 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7806
7807         * c-decl.c: Fix a comment typo.
7808         * cfg.c: Likewise.
7809         * cfgcleanup.c: Likewise.
7810         * cfglayout.c: Likewise.
7811         * cfgrtl.c: Likewise.
7812         * c-typeck.c: Likewise.
7813         * dominance.c: Likewise.
7814         * dwarf2asm.c: Likewise.
7815         * dwarfout.c: Likewise.
7816         * expmed.c: Likewise.
7817         * expr.c: Likewise.
7818         * final.c: Likewise.
7819         * flow.c: Likewise.
7820         * function.c: Likewise.
7821         * gcc.c: Likewise.
7822         * genautomata.c: Likewise.
7823         * integrate.c: Likewise.
7824         * loop.c: Likewise.
7825         * loop.h: Likewise.
7826         * output.h: Likewise.
7827         * profile.c: Likewise.
7828         * ra.h: Likewise.
7829         * reload1.c: Likewise.
7830         * reload.c: Likewise.
7831         * sched-rgn.c: Likewise.
7832         * stmt.c: Likewise.
7833         * tree.h: Likewise.
7834         * vmsdbgout.c: Likewise.
7835
7836 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7837
7838         * config/h8300/h8300.md: Add a new peephole2.
7839
7840 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7841
7842         * config/h8300/h8300.md (a peephole2): Accept a constant
7843         that's accepted by CONST_OK_FOR_J.
7844
7845 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7846
7847         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
7848         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
7849         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
7850         (*addhi_h8300hs): Likewise.
7851
7852 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
7853
7854         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
7855         (sh_register_move_cost): Add clause for SImode fp-fp moves.
7856         Increase cost for moves involving multiple general purpose registers.
7857         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
7858         TARGET_FMOVD.
7859         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
7860         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
7861         (enum reg_class reg_class_from_letter): No longer const.
7862         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
7863         REGCLASS_HAS_GENERAL_REG.
7864         Handle SImode moves from/to fp registers.
7865         ! TARGET_SHMEDIA && TARGET_FMOVD.
7866         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
7867         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
7868
7869 2002-12-12  Andreas Schwab  <schwab@suse.de>
7870
7871         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
7872         change and some warnings.
7873
7874 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
7875
7876         * doc/md.texi (pushm): Fix a typo.
7877
7878 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
7879
7880         * config/mips/mips.c (mips_output_conditional_branch): Support
7881         PIC-safe out-of-range branch and branch-likely.
7882         * config/mips/mips.md (attr length): PIC-safe out-of-range
7883         branches are longer.
7884         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
7885         unused code to support indirect jumps.
7886
7887 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
7888
7889         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
7890         $(tm_file_list).
7891
7892 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
7893
7894         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
7895
7896 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
7897
7898         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
7899
7900 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7901
7902         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
7903         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
7904         BIGGEST_ALIGNMENT.
7905         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
7906         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
7907
7908 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7909
7910         * doc/invoke.texi: Correct dump file names.
7911
7912 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7913
7914         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7915         name to globalize_label or assemble_name.
7916
7917 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
7918
7919         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7920         if not TARGET_SHMEDIA.
7921
7922 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
7923
7924         * sh.h (REG_CLASS_HAS_FP_REG): New.
7925         (REGISTER_MOVE_COST) Use it.  Put body into a function and
7926         move it into:
7927         * sh.c (sh_register_move_cost).
7928         * sh-protos.h (sh_register_move_cost): Declare.
7929
7930         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7931         (sh_adjust_cost): Always return a value.
7932
7933 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
7934
7935         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7936         (REGISTER_MOVE_COST): Use it.
7937
7938 2002-12-11  Richard Henderson  <rth@redhat.com>
7939
7940         * tree.h (MODULE_LOCAL_P): Kill.
7941         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7942
7943 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7944
7945         * config/h8300/h8300.md (two define_peephole2): New.
7946
7947 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7948
7949         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7950         (CONST_OK_FOR_K): Likewise.
7951         (CONST_OK_FOR_M): Likewise.
7952         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7953
7954 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
7955
7956         * c-common.c (builtin_define_type_max): Handle unsigned
7957         types too.
7958
7959 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
7960
7961         * haifa-sched.c (rank_for_schedule): Correct style.
7962
7963 2002-12-10  Per Bothner  <pbothner@apple.com>
7964
7965         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
7966         directive_index into an unsigned field and a new is_directive field.
7967         * cppinit.c (mark_named_operators):  Update to set new fields.
7968         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
7969         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
7970         No longer need to subtract 1 from directive_index.
7971         (_cpp_init_directives):  No longer need to add 1 to directive_index.
7972         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
7973
7974 2002-12-10  Roger Sayle  <roger@eyesopen.com>
7975
7976         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7977         check for evaluating sqrt of a constant at compile time.
7978         * simplify-rtx.c (simplify_unary_operation): Likewise.
7979
7980 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
7981
7982         PR other/8882
7983         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7984
7985 2002-12-10  Devang Patel  <dpatel@appple.com>
7986
7987         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7988         * doc/invoke.texi: Add new "Darwin Options" section.
7989
7990 2002-12-10  Jim Wilson  <wilson@redhat.com>
7991
7992         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7993         memory.
7994
7995 2002-12-10  Andrew Haley  <aph@redhat.com>
7996
7997         * cse.c (cse_insn): Don't cse past a basic block boundary.
7998
7999 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
8000
8001         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
8002         -shared.
8003         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
8004         * config/alpha/linux.h (LIB_SPEC): Likewise.
8005         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
8006         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
8007         * config/sparc/linux.h (LIB_SPEC): Likewise.
8008         * config/sparc/linux64.h (LIB_SPEC): Likewise.
8009
8010 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
8011
8012         * doc/invoke.texi: Document UltraSparc III option.
8013
8014 2002-12-09  Richard Henderson  <rth@redhat.com>
8015
8016         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
8017         __tune_pentium2__ and __tune_pentium3__ as necessary.
8018
8019 2002-12-09  Richard Henderson  <rth@redhat.com>
8020
8021         * target.h (gcc_target): Add cannot_force_const_mem.
8022         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
8023         (TARGET_INITIALIZER): Add it.
8024         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
8025         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
8026         * reload1.c (reload): Likewise.
8027         * hooks.c (hook_bool_rtx_false): New.
8028         * hooks.h: Declare it.
8029
8030         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
8031         (TARGET_CANNOT_FORCE_CONST_MEM): New.
8032         (ix86_expand_move): Remove de-const-pooling hack.
8033
8034 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
8035
8036         * toplev.c (dump_file): Fix order to match reality.
8037
8038 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
8039
8040         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
8041         (store_multiple): Likewise.
8042
8043 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8044
8045         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
8046         function pointers in page 0.
8047
8048 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
8049
8050         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
8051         definition
8052         (MEMBER_TYPE_FORCES_BLK): Move.
8053         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
8054         aggregate arguments.
8055         (ia64_function_value): Use PARALLEL to return aggregate values.
8056
8057 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
8058
8059         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
8060         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
8061         * calls.c (store_unaligned_arguments_into_pseudos) Remove
8062         FUNCTION_ARG_REG_LITTLE_ENDIAN.
8063         * stmt.c (expand_return): Ditto.
8064         * expr.c (move_block_from_reg): Ditto.
8065         (copy_blkmode_from_reg): Ditto.
8066         * expmed.c (store_bit_field): Ditto.
8067
8068 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
8069
8070         * config.gcc: Added tic4x-* target as an alias to c4x-*
8071
8072 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
8073
8074         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
8075         constructing insn directly.
8076
8077 2002-12-06  Per Bothner  <pbothner@apple.com>
8078
8079         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
8080         char to an int bit-field, for hosts where char is unsigned.
8081
8082 2002-12-07  Roger Sayle  <roger@eyesopen.com>
8083             Richard Henderson <rth@redhat.com>
8084
8085         * real.c (ieee_extended_motorola_format,
8086         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
8087         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
8088         Provide appropriate values for new signbit field.
8089
8090 2002-12-07  Roger Sayle  <roger@eyesopen.com>
8091
8092         * real.h (real_format): Add signbit field.
8093         * real.c (ieee_single_format, ieee_double_format,
8094         ieee_extended_motorola_format, ieee_extended_intel_96_format,
8095         ieee_extended_intel_128_format, ibm_extended_format,
8096         ieee_quad_format, vax_f_format, vax_d_format,
8097         vax_g_format, i370_single_format, i370_double_format,
8098         c4x_single_format, c4x_extended_format, real_internal_format):
8099         Provide suitable signbit value, or -1 to avoid bit twiddling.
8100
8101         * optabs.c (expand_unop): Try implementing negation of
8102         floating point modes by flipping the sign bit.
8103         (expand_abs): Try implementing abs of floating point modes
8104         by clearing the sign bit.
8105
8106 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
8107
8108         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
8109         of constructing insn directly.
8110
8111 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
8112
8113         * config/h8300/h8300.md (*iorhi_shift_8): New.
8114
8115 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
8116
8117         * doc/invoke.texi: Document FRV port options.
8118         * doc/md.texi: Document FRV register classes.
8119
8120 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8121
8122         * doc/install.texi (Configuration): Improve description of cases
8123         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
8124
8125 2002-12-06  Per Bothner  <pbothner@apple.com>
8126
8127         * cpplib.h (NODE_MACRO_ARG):  New flag.
8128         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
8129         Remove value.operator field.  Move arg_index field to value union.
8130         (directive_index):  Make signed, since also used for C++ operators.
8131         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
8132         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
8133         Save node->value, and set node->value.arg_index.
8134         (_cpp_create_definition):  For each paramater, restore node->value.
8135         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
8136         * cpptrad.c (scan_out_logical_line): Likewise.
8137         (scan_out_logical_line): Check for directive > 0.
8138         * cpplib.c (cpp_handle_directive):  Likewise.
8139         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
8140         by negative of directive_index.
8141         * cppinit.c (mark_named_operators):  Likewise.
8142
8143         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
8144
8145 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
8146
8147         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
8148         FPU.
8149         (push): Generate push_fpscr.
8150         (pop): Generate pop_fpscr.
8151         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
8152         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
8153
8154 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
8155
8156         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
8157         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
8158
8159 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
8160
8161         * sh.md (movdi_i): Name.  Remove inappropriate comment.
8162
8163 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
8164         Merged from basic improvements branch (excerpt):
8165
8166         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8167         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8168
8169 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
8170
8171         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
8172
8173 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
8174
8175         * i386.md (dimode peep2s): Re-add "&& 1".
8176
8177 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
8178
8179         * i386.c (ix86_expand_prologue):  Add comment, do not use
8180         fast prologues for cold and normal functions.
8181
8182 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
8183
8184         * i386.c (x86_rep_movl_optimal): New variable.
8185         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
8186         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
8187
8188         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8189         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8190         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8191         generate unnecesary subregs.
8192
8193 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8194
8195         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
8196         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
8197
8198 2002-12-05  Dale Johannesen  <dalej@apple.com>
8199
8200         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
8201
8202 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
8203
8204         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
8205         PROFILE_HOOK.
8206         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
8207
8208 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
8209
8210         * config/rs6000/spe.h (__ev_mwlufi): Remove.
8211         (__ev_mwlufia): Remove.
8212         (__ev_mwlumfaaw): Remove.
8213         (__ev_mwlusfaaw): Remove.
8214         (__ev_mwlumfanw): Remove.
8215         (__ev_mwlusfanw): Remove.
8216
8217 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
8218
8219         * config/h8300/h8300.md (*andorsi3_shift_8): New.
8220
8221 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
8222
8223         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
8224         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
8225         (get_shift_alg): Return optimal assembly instructions for the
8226         shifts mentioned above.
8227
8228 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
8229
8230         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
8231         condtiional moves.
8232
8233 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
8234
8235         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
8236         implement ashiftrt:HI by 13 bits on H8S.
8237
8238 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8239
8240         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
8241         * pa.md (canonicalize_funcptr_for_compare): Output library call to
8242         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
8243         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
8244         CTOR_LIST_BEGIN): New defines.
8245         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
8246         (fptr.c): Add make rules.
8247
8248 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
8249
8250         * combine.c (combine_simplify_rtx): Add new canonicalizations.
8251         * doc/md.texi (Insn Canonicalizations): Document new
8252         canonicalizations for multiply/add combinations.
8253         * config/rs6000/rs6000.md: Add and modify floating add/multiply
8254         patterns to ensure they're used whenever they can be.
8255
8256 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
8257
8258         * config/h8300/h8300.c: Update the comments related to shifts.
8259
8260 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
8261
8262         * config/mips/mips.md (get_fnaddr): Correct length attribute.
8263
8264 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
8265
8266         * config/h8300/h8300.md (*extzv_8_8): New.
8267         (*extzv_8_16): Likewise.
8268
8269 2002-12-04  Jason Merrill  <jason@redhat.com>
8270
8271         PR c++/8461, c++/8625
8272         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
8273         references.
8274         * tree-inline.c (initialize_inlined_parameters): Likewise.
8275
8276         * tree.c (variably_modified_type_p): Just return an error_mark_node.
8277
8278 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
8279
8280         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
8281         macro instruction in a branch delay slot, to avoid assembler
8282         warnings.
8283
8284 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
8285
8286         PR c/7622
8287         * c-semantics (genrtl_scope_stmt): Do not output inlined
8288         nested functions that contain no code.
8289
8290 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
8291
8292         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
8293         to be forced into nonfallthru.
8294
8295 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
8296
8297         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
8298
8299 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
8300
8301         * config/rs6000/spe.md (*movv1di_const0): New pattern.
8302
8303 2002-12-03  Richard Henderson  <rth@redhat.com>
8304
8305         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
8306
8307 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
8308
8309         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
8310         Initialize tmp.using_obstack to 0.
8311
8312 2002-12-03  Andreas Schwab  <schwab@suse.de>
8313
8314         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
8315         (EH_RETURN_STACKADJ_RTX): Define.
8316         (EH_RETURN_HANDLER_RTX): Define.
8317         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8318         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
8319         registers and don't save fixed registers.
8320         (m68k_output_function_prologue): Use it.
8321         (use_return_insn): Likewise.
8322         (m68k_output_function_epilogue): Likewise.
8323
8324 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
8325
8326         * config/h8300/h8300.c (single_one_operand): Fix a warning.
8327         (single_zero_operand): Likewise.
8328
8329 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
8330
8331         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
8332         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
8333         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
8334         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
8335         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
8336         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
8337         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
8338         doc/install-old.texi: Replace hconfig.h with bconfig.h.
8339         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
8340
8341 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
8342
8343         * config/rs6000/rs6000.md (ffssi): Convert to expander.
8344         (ffsdi): Likewise.
8345         (cntlzw2, cntlzd2): New patterns.
8346
8347 2002-12-02  H.J. Lu <hjl@gnu.org>
8348
8349         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
8350         (mips*-*-linux*): Remove mips/t-linux.
8351
8352 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
8353
8354         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
8355
8356 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
8357
8358         * config/h8300/h8300.c (dosize): Replace argument op with
8359         sign.
8360         (h8300_output_function_prologue): Update the call to dosize.
8361         (h8300_output_function_epilogue): Likewise.
8362
8363 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
8364
8365         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
8366
8367 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
8368
8369         * configure.in: Use "missing" script to generate warning if
8370         flex or bison programs not found, instead of invoking "false".
8371         * configure: Rebuilt.
8372
8373 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8374
8375         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
8376
8377 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
8378
8379         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
8380
8381 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
8382
8383         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
8384         (push): Likewise.
8385         (pop): Likewise.
8386         (h8300_output_function_prologue): Likewise.
8387         (h8300_output_function_epilogue): Likewise.
8388
8389 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
8390
8391         * expmed.c (store_bit_field): Use int_mode_for_mode to find
8392         corresponding mode of non-integer mode, unless it is VOIDmode.
8393
8394 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
8395
8396         * config/h8300/h8300.md (stm_h8300s_2): New.
8397         (stm_h8300s_3): Likewise.
8398         (stm_h8300s_4): Likewise.
8399         (five define_peephole2): Likewise.
8400
8401 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
8402
8403         * ra-build.c: Fix a comment typo.
8404
8405 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
8406
8407         * i386.c (ix86_expand_int_movcc): fix
8408         reversed BRANCH_COST test; be curefull about infinite recursion.
8409
8410 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
8411
8412         * config/h8300/h8300.c (h8300_output_function_prologue):
8413         Remove variable idx.
8414         (h8300_output_function_epilogue): Likewise.
8415
8416 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
8417
8418         * config/frv/xm-frv.h: Delete, unnecessary.
8419
8420 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
8421
8422         * config/h8300/h8300.md: Add comments for define_peephole2.
8423
8424 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
8425
8426         * builtin-types.def (BT_SIZE): Use size_type_node.
8427         * builtins.c (fold_builtin): Make the builtin strlen returns a
8428         size_t, not a sizetype.
8429         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
8430         c_size_type_node.
8431         (c_alignof_expr): Likewise.
8432         (c_common_nodes_and_builtins): Likewise.
8433         * c-common.h (CTI_C_SIZE_TYPE): Remove.
8434         (c_size_type_node): Likewise.
8435         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
8436         * tree.h (TI_SIZE_TYPE): New enumeral.
8437         (size_type_node): Likewise.
8438
8439 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
8440
8441         * configure.in: Don't put ${tm_file} into host_xm_file,
8442         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
8443         Take location of tm-preds.h into account when calculating
8444         tm_p_file_list.
8445         * configure: Regenerate.
8446         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
8447         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
8448         Remove special case code for tm_p.h and *config.h; add new
8449         special case code for tm.h and tconfig.h. Clean up a bit.
8450
8451         * Makefile.in (tm_file, tm_file_list): New variables set from
8452         @-substitutions.
8453         (GCONFIG_H): Deleted.
8454         (GTM_H, TM_H): New.
8455         (CONFIG_H): Is now just config.h $(host_xm_file_list).
8456         (TM_P_H): Move up with the other mkconfig.sh-generated
8457         headers; don't mention tm-preds.h explicitly.
8458         (tm.h, cs-tm.h): New rule.
8459         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
8460         invocations of mkconfig.sh for changes to that program.
8461         (mostlyclean): Delete print-rtl1.c.
8462         (clean): Delete tm.h.
8463         Update dependencies for the files listed below.
8464
8465         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
8466
8467         * coretypes.h: New file.
8468         * system.h: #define malloc to xmalloc and realloc to xrealloc
8469         when FLEX_SCANNER or YYBISON is defined, independent of the
8470         value of GCC_VERSION.
8471         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
8472         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
8473         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
8474         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
8475         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
8476         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
8477         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
8478         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
8479         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
8480         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
8481         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
8482         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
8483         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
8484         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
8485         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
8486         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
8487         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
8488         genconstants.c, genemit.c, genextract.c, genflags.c,
8489         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
8490         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
8491         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
8492         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
8493         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
8494         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
8495         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
8496         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
8497         print-tree.c, profile.c, protoize.c, ra-build.c,
8498         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
8499         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
8500         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
8501         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
8502         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
8503         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
8504         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
8505         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
8506         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
8507         xcoffout.c, config/darwin-c.c, config/darwin.c,
8508         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
8509         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
8510         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
8511         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
8512         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
8513         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
8514         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
8515         config/i960/i960-c.c, config/i960/i960.c,
8516         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
8517         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
8518         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
8519         config/mips/irix6-libc-compat.c, config/mips/mips.c,
8520         config/mmix/mmix.c, config/mn10200/mn10200.c,
8521         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
8522         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
8523         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
8524         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
8525         config/sparc/sparc.c, config/stormy16/stormy16.c,
8526         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
8527         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
8528         Include coretypes.h and tm.h.
8529
8530         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
8531         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
8532         genrecog.c: Include coretypes.h and tm.h from the file
8533         generated by this program.
8534
8535         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
8536         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
8537         coretypes.h and tm.h, and tsystem.h when not already included.
8538         No need to include stddef.h nor stdlib.h.
8539
8540         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
8541         include auto-host.h or ansidecl.h/
8542         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
8543         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
8544         include auto-host.h, ansidecl.h, or system.h.
8545         * fixinc/server.c: Likewise.  Also, do not include signal.h,
8546         and do not redefine volatile.
8547
8548 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
8549
8550         * i386.md (movdf_integer):  Always enable in 64bit.
8551         (movdf_nointeger): Always disable in 64bit.
8552
8553 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8554
8555         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
8556         pseudo register number plus 1.
8557
8558 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
8559
8560         * expmed.c (store_bit_field): Use int_mode_for_mode to find
8561         corresponding mode of non-integer mode, unless it is VOIDmode.
8562
8563 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
8564
8565         * cpplib.c (_cpp_test_assertion): Default *value to 0.
8566
8567         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
8568
8569 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
8570
8571         * config/s390/t-crtstuff: New target makefile fragment.
8572         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
8573
8574 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
8575
8576         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
8577         alternatives to correct the length when the memory operand is
8578         either pre_dec or post_inc.
8579
8580 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
8581
8582         * config/h8300/h8300.md (an anonymous pattern): Give an
8583         internal name *tst_extzv_bitqi_1_n.
8584         Accept bit_operand instead of bit_memory_operand.
8585         Do not accept bit tests with the MSB.
8586         (*tst_extzv_memqi_1_n): New.
8587
8588 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
8589
8590         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
8591         sharing when operand is SUBREG.
8592
8593 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
8594
8595         * athlon.md (athlon-decodev): New reservation unit.
8596         (athlon-direct0): New reservation.
8597         (athlon-vector): New use athlon-decodev.
8598         (athlon-double, athlon-direct): Better model.
8599         (athlon_imul_k8): Use athlon-direct0.
8600         (athlon_movlpd_load): New insn reservation.
8601
8602 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8603
8604         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
8605         Fix a comment typo.
8606         (h8300_tiny_constant_address_p): Likewise.
8607
8608 2002-11-28  Michael Matz  <matz@suse.de>
8609
8610         * doc/passes.texi: Mention the other register allocator.
8611
8612 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8613
8614         * config/h8300/h8300.md (6 new peephole2 patterns): New.
8615
8616 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
8617
8618         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
8619         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
8620         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
8621
8622 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
8623
8624         * config/h8300/h8300.c (h8300_and_costs): New.
8625         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
8626         * config/h8300/h8300-protos.h: Add a prototype for
8627         h8300_and_costs.
8628
8629 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
8630
8631         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
8632         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
8633         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
8634         * i386.md (truncdfsf patterns and splitters): Use
8635         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
8636
8637 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
8638
8639         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
8640         pointer argument in the prototypes of the following builtins
8641         be (const TYPE *) rather than (TYPE *):
8642          + __builtin_altivec_ld_internal_4sf
8643          + __builtin_altivec_ld_internal_4si
8644          + __builtin_altivec_ld_internal_8hi
8645          + __builtin_altivec_ld_internal_16qi
8646          + __builtin_altivec_lvsl
8647          + __builtin_altivec_lvsr
8648          + __builtin_altivec_lvebx
8649          + __builtin_altivec_lvehx
8650          + __builtin_altivec_lvewx
8651          + __builtin_altivec_lvxl
8652          + __builtin_altivec_lvx
8653          + __builtin_altivec_dst
8654          + __builtin_altivec_dstt
8655          + __builtin_altivec_dstst
8656          + __builtin_altivec_dststt
8657
8658 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
8659
8660         * except.c (default_exception_section): Move variable into the
8661         scope where it is used.
8662
8663 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
8664
8665         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
8666         correct version.
8667
8668 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
8669
8670         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
8671
8672 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
8673
8674         * config/h8300/h8300.c (h8300_shift_costs): New.
8675         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
8676         * config/h8300/h8300-protos.h: Add a prototype for
8677         h8300_shift_costs.
8678
8679 2002-11-27  Jim Wilson  <wilson@redhat.com>
8680
8681         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
8682         in output template.
8683
8684 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
8685
8686         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
8687         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
8688         DLL_IMPORT_EXPORT_PREFIX, not '@'.
8689         (i386_pe_dllimport_name_p): Likewise.
8690         (i386_pe_mark_dllexport): Likewise.
8691         (i386_pe_mark_dllimport): Likewise.
8692         (i386_pe_encode_section_info): Likewise.
8693         (i386_pe_strip_name_encoding): Likewise.
8694
8695 2002-11-27  Richard Henderson  <rth@redhat.com>
8696
8697         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
8698         (nm && NF == 3): Set sawsymbol true.
8699         (END): Exit if no symbols seen.
8700         (output): Fix map syntax error if no globals for the version.
8701
8702 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
8703
8704         * builtins.def (DEF_C99_BUILTIN): Fix.
8705
8706 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
8707
8708         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
8709         (all): Add .size and .type information.
8710
8711 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
8712
8713         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
8714         partial_reg_stall target.
8715
8716 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
8717
8718         * i386.md (movhicc): Allow general operand.
8719         (movqicc): New expander.
8720         (movqicc_noc): New pattern.
8721         * i386.c (ix86_expand_carry_flag_compare): New function.
8722         (ix86_expand_int_movcc): Optimize harder using sbb; support more
8723         HImode conversion; support QImode conditional moves
8724
8725 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
8726
8727         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
8728         (ix86_expand_prologue): Multiply the count by amount of registers to be
8729         pushed.
8730
8731 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8732
8733         * i386.c (override_options): Error about wrong -mcpu on x86-64
8734         compilation.
8735
8736 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
8737
8738         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
8739
8740 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
8741
8742         * i386-protos.h (x86_extended_QIreg_mentioned_p,
8743         x86_extended_reg_mentioned_p): Declare.
8744         * i386.c (extended_reg_mentioned_1): New static function.
8745         (x86_extended_QIreg_mentioned_p,
8746         x86_extended_reg_mentioned_p): New global functions.
8747         * i386.h (REX_SSE_REGNO_P): New macro.
8748         * i386.md (prefix_rex): New attribute.
8749         (length attribute): Add rex.
8750
8751 2002-11-26  Andrew Haley  <aph@redhat.com>
8752
8753         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
8754         from_Unwind_Find_Enclosing_Function.
8755         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
8756         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
8757         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
8758         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
8759         * unwind.h (_Unwind_FindEnclosingFunction): Add.
8760
8761 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8762
8763         * config/s390/s390.c (390_output_constant_pool): Set alignment
8764         before label in 64 bit mode, behind otherwise.
8765
8766 2002-11-26  Richard Henderson  <rth@redhat.com>
8767
8768         * c-common.c (handle_visibility_attribute): Accept "default".
8769         * tree.h (enum symbol_visibility): New.
8770         (decl_visibility): Declare.
8771         * target.h (gcc_target.visibility): Take visibility arg as integer.
8772         * varasm.c (default_assemble_visibility): Likewise.
8773         (decl_visibility): New.
8774         (maybe_assemble_visibility): Use it.
8775         * output.h (default_assemble_visibility): Update prototype.
8776         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
8777         visibility arg as integer.
8778         * doc/extend.texi: Document default visibility.
8779
8780 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
8781
8782         * config/h8300/h8300.c: Adjust spacing.
8783         * config/h8300/h8300.h: Likewise.
8784
8785 2002-11-26  Richard Henderson  <rth@redhat.com>
8786
8787         * hooks.c (hook_bool_void_false, hook_void_tree_int,
8788         hook_void_FILEptr_constcharptr): Rename so that the return
8789         type is first.
8790         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
8791         hook_bool_tree_false): New.
8792         * hooks.h: Update.
8793         * langhooks-def.h: Update for renames.
8794         * target-def.h: Likewise.
8795         * tree.c (default_comp_type_attributes,
8796         default_set_default_type_attributes, default_insert_attributes,
8797         default_function_attribute_inlinable_p,
8798         default_ms_bitfield_layout_p): Remove.
8799         * tree.h: Update.
8800
8801 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8802
8803         * pa-protos.h (function_value): New prototype.
8804         * pa.c (function_value): Use a PARALLEL to return small aggregates on
8805         TARGET_64BIT.
8806         * pa.h (FUNCTION_VALUE): Use function_value.
8807         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
8808         call_value_internal_reg, sibcall_value_internal_symref,
8809         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
8810         value.
8811
8812 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8813
8814         * expr.c (gen_group_rtx, emit_group_move): New functions.
8815         * expr.h (gen_group_rtx, emit_group_move): Prototype.
8816         * function.c (expand_function_start): Use gen_group_rtx to create a
8817         PARALLEL rtx to hold the return value when the real return rtx is a
8818         PARALLEL.
8819         (expand_function_end): Use emit_group_move to move the return value
8820         from a PARALLEL to the real return registers.
8821         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
8822         in PARALLELs.
8823
8824 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8825
8826         * config/t-libc-ok: Fix typo.
8827
8828 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8829
8830         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
8831         before AC_PROG_CC.
8832         * configure: Rebuilt.
8833
8834 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
8835
8836         * c-decl.c: (start_struct): Commonize flag setting.
8837
8838 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
8839
8840         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
8841         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
8842         RS6000_CPU_CPP_ENDIAN_BUILTINS.
8843         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
8844
8845 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
8846
8847         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
8848         insns.
8849         * config/s390/s390.c (struct machine_function): Introduction of
8850         struct machine_function.
8851         (s390_output_symbolic_const): Use of cfun.
8852         (s390_optimize_prolog): Likewise.
8853         (s390_fixup_clobbered_return_reg): Likewise.
8854         (s390_frame_info): Likewise.
8855         (s390_emit_prologue, s390_emit_epilogue): Likewise.
8856         (s390_init_machine_status): New function.
8857         (override_options): call s390_init_machine_status.
8858         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
8859         prototype.
8860
8861 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8862
8863         * varasm.c (output_constant_pool): For pool constants in mergeable
8864         section ensure each constant is padded to multiple of entity size.
8865
8866 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
8867
8868         * varasm.c (default_exception_section): Move to...
8869         * except.c (default_exception_section): ... here. Make
8870         .gcc_except_table read-only if it is not expected to have any
8871         dynamic relocations and linker handles it.
8872         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
8873         if it is not expected to have any dynamic relocations and linker
8874         handles it.
8875         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
8876         when linking read-only and read-write sections together.
8877         * configure, config.in: Rebuilt.
8878         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
8879         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
8880
8881 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
8882
8883         * i386.md (pushsf_rex64): Fix typo.
8884
8885 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8886
8887         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
8888         new function.
8889         (__ev_create_ufix32_fs): Same.
8890         (__ev_get_sfix32_fs_internal): New.
8891         (__ev_get_sfix32_fs): Define to use function.
8892         (__ev_get_ufix32_fs_internal): New.
8893         (__ev_get_ufix32_fs): Define to use function.
8894         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
8895         (__ev_get_lower_ufix32_fs): Same.
8896         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
8897         (__ev_get_lower_sfix32_fs): Same.
8898         (__ev_set_sfix32_fs_internal): New.
8899         (__ev_set_ufix32_fs_internal): New.
8900         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
8901         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
8902         (__ev_set_upper_sfix32_fs): Call function.
8903         (__ev_set_lower_sfix32_fs): Same.
8904         (__ev_set_upper_ufix32_fs): Same.
8905         (__ev_set_lower_ufix32_fs): Same.
8906
8907 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
8908
8909         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
8910
8911 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8912
8913         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8914         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8915         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8916         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8917         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8918         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8919         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8920         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8921         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8922         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8923         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8924         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8925         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8926         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8927         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8928         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8929         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8930         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8931         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8932         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8933         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8934         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8935         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8936         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8937         defining.
8938         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8939         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8940
8941 2002-11-25  Dave Pitts  <dpitts@cozx.com>
8942
8943         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8944
8945 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8946
8947         * config/h8300/h8300.md (an anonymous pattern): New.
8948
8949 2002-11-25  Richard Henderson  <rth@redhat.com>
8950
8951         * alias.c (find_base_value): Use new_reg_base_value if it's live.
8952         (copying_arguments): Make boolean.
8953
8954 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8955
8956         * gcc.c (static_spec_functions): Add if-exists-else spec
8957         function.
8958         (if_exists_else_spec_function): New function.
8959         * doc/invoke.texi: Document the if-exists-else spec function.
8960
8961         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8962         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8963
8964 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8965
8966         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8967         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
8968         "${tmake_file} rs6000/t-netbsd".
8969         * config/rs6000/netbsd.h: Rewrite.
8970         * config/rs6000/t-netbsd: New file.
8971
8972 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8973
8974         * config/h8300/h8300.md (an anonymous pattern): Relax the
8975         condition for the pattern.
8976
8977 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8978
8979         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8980         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8981         evmwlssfanw, evmwlsmfanw.
8982
8983         * config/rs6000/rs6000.c (bdesc_2arg): Same.
8984
8985         * config/rs6000/spe.md: Same for patterns.
8986
8987 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
8988
8989         PR c/8639
8990         * fold-const.c (extract_muldiv): Don't propagate division unless
8991         both arguments are multiples of C.
8992
8993 2002-11-25  Andrew Haley  <aph@redhat.com>
8994
8995         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8996         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8997         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8998         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
8999
9000 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
9001
9002         * i386.c (x86_use_ffreep): New global variable.
9003         * i386.h (x86_use_frfeep): Declare
9004         (TARGET_USE_FFREEP): New macro
9005         * i386.md  (movs?f*): Use freep when asked for.
9006         (push?f): Remove dead code.
9007
9008 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
9009
9010         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
9011         target help message.
9012
9013 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
9014
9015         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
9016         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
9017         crtbeginT.o".
9018         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
9019         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
9020         to "" for a.out configurations.
9021         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
9022
9023 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
9024
9025         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
9026         NETBSD_CPP_SPEC directly.
9027         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
9028         netbsd_endfile_spec.
9029         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
9030
9031 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
9032
9033         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
9034         NETBSD_STARTFILE_SPEC.
9035         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
9036         (ENDFILE_SPEC): Likewise.
9037         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
9038
9039 2002-11-24  Andreas Schwab  <schwab@suse.de>
9040
9041         * Makefile.in (install-driver): Remove versioned link before
9042         trying to create it.
9043
9044         * config/m68k/m68k.c: Fix typo in last change defining
9045         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
9046
9047 2002-11-23  H.J. Lu <hjl@gnu.org>
9048
9049         * aclocal.m4: Include ../config/accross.m4.
9050         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
9051         (gcc_AC_C_COMPILE_ENDIAN): Removed.
9052         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
9053         instead of $ac_cv_c_compile_endian.
9054
9055         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
9056         AC_COMPILE_CHECK_SIZEOF.
9057         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
9058         * configure: Rebuild.
9059
9060 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
9061
9062         * config/h8300/h8300.c (print_operand): Update the use of
9063         h8300_tiny_constant_address_p.
9064         (h8300_adjust_insn_length): Likewise.
9065         (h8300_tiny_constant_address_p): Check if the given rtx is a
9066         variable declared with __attribute__ ((tiny_data)).
9067
9068 2002-11-22  Dale Johannesen  <dalej@apple.com>
9069
9070         * toplev.c (rest_of_compilation):  Fix comments.
9071
9072 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
9073
9074         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
9075         allow mmap from /dev/zero.  Don't make decisions for the host
9076         based on presence or absence of /dev/zero on the build machine.
9077         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
9078         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
9079         * configure: Regenerate.
9080
9081 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
9082
9083         * gcc.c (make_relative_prefix, split_directories)
9084         (free_split_directories): Removed.
9085
9086 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
9087
9088         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
9089         * configure: Regenerated.
9090
9091 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
9092
9093         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
9094         length computation when xor.l is output.
9095
9096 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
9097
9098         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
9099         (call_vms_1, call_value_vms_1): Cleanup syntax.
9100
9101 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
9102
9103         * athlon.md (define_atuomaton): Add athlon_load.
9104         (athlon-double): New reservation.
9105         (athlon-ieu0): New CPU unit.
9106         (athlon-load?): Use athlon_load automaton.
9107         (*_k8 reservations): New.
9108         (other insn revervations): Activate for K8.
9109
9110 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9111
9112         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
9113
9114 2002-11-21  Jim Wilson  <wilson@redhat.com>
9115
9116         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
9117         vectors to SI.
9118
9119 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
9120
9121         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
9122         * config/xtensa/xtensa.c (struct machine_function): Add
9123         incoming_a7_copied flag.
9124         (xtensa_copy_incoming_a7): Define.
9125         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
9126         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
9127
9128 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
9129
9130         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
9131         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
9132         x86_64_nonmemory_operand, x86_64_movabs_operand,
9133         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9134         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
9135         (local_symbolic_operand): Do not care the 64bit limits.
9136         (x86_64_sign_extended_value): Remove allow_rip support.
9137         (legitimate_pic_address_disp_p): Handle all cases allowed
9138         with RIP addressing.
9139         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
9140         (legitimize_pic_address): Reorganize.
9141         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
9142
9143 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
9144
9145         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
9146         * config/arm/netbsd-elf.h: New file.
9147
9148 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
9149
9150         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
9151         subtarget_asm_float_spec.
9152         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
9153         defaults from...
9154         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
9155
9156 2002-11-21  Nick Clifton  <nickc@redhat.com>
9157
9158         * config/fr30/fr30.md (movsf_constant_store): Move code to
9159         detect 0.0 into fr30.c.
9160         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
9161         Prototype.
9162         * config/fr30/fr30.c (fr30_const_double_is_zero): New
9163         function.  Return true if the rtx is 0.0.
9164
9165 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
9166
9167         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
9168         if -mlittle-endian is specified.
9169
9170 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
9171
9172         PR optimization/2903
9173         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
9174         (anddi_notsesidi_di): Likewise.
9175
9176 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
9177
9178         * config/h8300/h8300.c (print_operand): Use
9179         h8300_eightbit_constant_address_p and
9180         h8300_tiny_constant_address_p.
9181         (h8300_adjust_insn_length): Likewise.
9182         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
9183         (TINY_CONSTANT_ADDRESS_P): Likewise.
9184         (OK_FOR_U): Use eightbit_constant_address_p.
9185
9186 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
9187
9188         * config/s390/libgcc-libc.ver: Add multilib support.
9189         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
9190         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
9191         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
9192         EXTRA_MULTILIB_PARTS): Define.
9193
9194 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
9195
9196         * arm.c (arm_get_frame_size): A leaf function does not need its
9197         stack padding to an aligned boundary if it has no frame.
9198         (thumb_get_frame_size): Likewise.
9199
9200 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
9201
9202         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
9203         (override_options): Likewise.
9204
9205 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
9206
9207         * config.gcc: Add k8 target alias support
9208         * i386.c (_cost): Declare costs for various variants of divides and
9209         multiplies.
9210         (k8_cost): New.
9211         (m_K8, m_ATHLON_K8): New macros.
9212         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
9213         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
9214         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
9215         x86_integer_DFmode_moves, x86_partial_reg_dependency,
9216         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
9217         x86_prologue_using_move, x86_epilogue_using_move,
9218         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
9219         x86_sse_typeless_stores): Set for K8
9220         (override_options): Add k8 support; fix athlon alignment;
9221         complain about non-x86-64 capable CPU being used in x86-64 compilation.
9222         (ix86_issue_rate): Set for K8.
9223         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
9224         x86_machine_dependent_reorg): Handle K8 like
9225         * i386.h
9226         (x86_costs):  Change mult_init and divide into array.
9227         (TARGET_K8, TARGET_ATHLON): New macros.
9228         (MODE_INDEX): New macro.
9229         (RTX_COST): Use new costs.
9230         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
9231         (TARGET_CPU_DEFAULT_NAMES): Add k8
9232         (TARGET_CPU_DEFAULT_k8): New constant
9233         (enum processor_type): Add PROCESSOR_K8.
9234         * i386.md (cpu attribute): Add k8.
9235
9236         * invoke.texi: Document -march=k8.
9237
9238         * i386.md (type attribute): Add leave
9239         (mode attribute): Remove unknownfp.
9240         (length_immediate, modrm, memory attributes): Handle leave correctly.
9241         (fp comparison patterns): Determine FP mode.
9242         (leave, leave_rex64): Remove special cases.
9243         * ppro.md (ppro_uops, ppro_p2): Add leave
9244         * pentiun.md (pent_pop): Handle leave too.
9245         * k6.md (k6_load): Handle leave.
9246         * athlon.md (athlon_leave, athlon_pop): Fix.
9247         (athlon_decode): Handle leave.
9248
9249 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
9250
9251         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
9252         to component type using GET_MODE_INNER.
9253         * expr.c (emit_move_insn_1): Ditto.
9254         * optabs.c (expand_binop): Ditto.
9255         (expand_unop): Ditto.
9256         (expand_complex_abs): Ditto.
9257
9258 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
9259
9260         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
9261
9262 2002-11-20  DJ Delorie  <dj@redhat.com>
9263
9264         * config/stormy16/stormy16.c (s16builtins,
9265         xstormy16_init_builtins, xstormy16_expand_builtin): New.
9266         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
9267
9268 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
9269
9270         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
9271         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
9272         (executing gencheck, genconfigs, genconditions, genflags,
9273         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
9274         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
9275         gengtype, genprotos): Prepend $(RUN_GEN).
9276         * configure.in: Move host compiler tests before --enable-checking
9277         tests.
9278         (--enable-checking=valgrind): New.
9279         * config.in, configure: Regenerate.
9280         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9281         Define as empty.
9282         (read_include_file): When doing the mmap+1 trick,
9283         valgrind-annotate the byte after the mmap:ed area as readable.
9284         (purge_cache): Remove above annotation.
9285         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
9286         VALGRIND_PATH -q to each command.
9287
9288         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9289         Define as empty.
9290         (ggc_realloc): Update valgrind annotations.
9291         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
9292         Define as empty.
9293         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
9294         valgrind-annotate memory.
9295
9296 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
9297
9298         * recog.c (constrain_operands): Prefer exact match over reloadable
9299         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
9300
9301         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
9302         operands in Pmode.
9303
9304 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
9305
9306         PR c/8518
9307         * c-decl.c (duplicate_decls): Outline the second definition
9308         of an extern inline function in all cases.
9309
9310 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
9311
9312         * stor-layout.c (place_field): Update rli->offset as well as
9313         rli->bitpos.
9314
9315 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
9316
9317         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
9318
9319 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
9320
9321         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
9322         into a libcall block.
9323         (divsi3): Likewise divsi3_i4_media.
9324
9325 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
9326
9327         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
9328         out another register.
9329
9330 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
9331
9332         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
9333         (not just mask) are set in C.
9334
9335 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
9336
9337         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
9338
9339 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9340
9341         * profile.c (index_counts_file): Fix obvious mistake.
9342
9343 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9344
9345         * Makefile.in (profile.o): Add hashtab.h dependency.
9346         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
9347         * profile.c: Include hashtab.h.
9348         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
9349         cleanup_counts_index, index_counts_file, struct section_reference,
9350         struct da_index_entry, counts_file_name, counts_file_index): New.
9351         (get_exec_counts, init_branch_prob): Modified.
9352
9353 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
9354
9355         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
9356         to tmake_file. Remove setting gas and gnu_ld here.
9357         * config/sh/libgcc-glibc.ver: New file.
9358         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
9359         (SHLIB_MAPFILES): New.
9360         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
9361         (MD_STARTFILE_PREFIX): Likewise.
9362         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
9363         (DWARF2_UNWIND_INFO): Redefine.
9364         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9365         (LINK_EH_SPEC): Redefine.
9366         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
9367         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
9368         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
9369         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
9370         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
9371         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
9372         SH_DWARF_FRAME_FPSCR): Likewise.
9373         * config/sh/sh-protos.h (sh_set_return_address): Declare.
9374         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
9375         registers if the current function calls EH return.
9376         (sh_expand_epilogue): Handle EH stack adjustments.
9377         (sh_set_return_address): New function.
9378         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
9379         Don't abort even if the number is mapped to -1.
9380         (EH_RETURN_DATA_REGNO): Define.
9381         (EH_RETURN_STACKADJ_RTX): Define.
9382         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
9383         (eh_return): New pattern.
9384         (eh_set_ra_di, eh_set_ra_si): Likewise.
9385         Add splitter to perform EH return after reload.
9386
9387 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
9388
9389         * stor-layout.c (excess_unit_span): New function.
9390         (place_field): Use it.
9391
9392 2002-11-19  Andreas Schwab  <schwab@suse.de>
9393
9394         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
9395         not valid in C++.
9396
9397 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
9398
9399         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
9400         * configure: Regenerate.
9401
9402 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9403
9404         * convert.c (strip_float_extensions): New function.
9405         (convert_to_real): Optimize some cases.
9406
9407 2002-11-19  Andreas Jaeger  <aj@suse.de>
9408
9409         * loop.c (record_giv): Initialize not_replaceable.
9410         (check_final_value): Likewise.
9411
9412 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
9413
9414         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
9415         MASK_H8300S.
9416
9417 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
9418
9419         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
9420         only if -mh or -ms present.
9421         (h8300_eightbit_constant_address_p): Support the normal mode.
9422         (h8300_tiny_constant_address_p): Likewise.
9423         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
9424         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
9425         (Pmode): Evaluate to HImode for the normal mode.
9426         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
9427         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
9428         (ASM_WORD_OP): Evaluate to word for the normal mode.
9429         * config/h8300/h8300.md (tablejump_normal_mode): New.
9430         (indirect_jump_normal_mode): New.
9431         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
9432         directory.
9433         (MULTILIB_DIRNAMES): Create target dependent directory
9434         'normal'.
9435         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
9436         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
9437
9438 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
9439
9440         * i386.md (length_immediate): Do not refer to insn address.
9441         (jcc*, jmp patterns):  Compute length explicitly.
9442
9443 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
9444
9445         PR c/8588
9446         * optabs.c (expand_binop): Convert CONST_INTs in shift
9447         operations too.
9448
9449 2002-11-19  Roger Sayle  <roger@eyesopen.com>
9450
9451         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
9452
9453 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
9454
9455         * config/h8300/h8300.md (an anonymous pattern): Relax the
9456         condition to accept the same operands and/or subregs.
9457
9458 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
9459
9460         * config/sh/sh.c (gen_shl_and): Revert previous patch.
9461         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
9462         reload_completed.
9463
9464 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
9465
9466         * config/h8300/h8300.c (print_operand): Update the use of
9467         EIGHTBIT_CONSTANT_ADDRESS_P.
9468         (h8300_adjust_insn_length): Likewise.
9469         (h8300_eightbit_constant_address_p): Check if the given rtx is
9470         a variable with __attribute__((eightbit_data)).
9471         * config/h8300/h8300.h (OK_FOR_U): Update the use of
9472         EIGHTBIT_CONSTANT_ADDRESS_P.
9473
9474 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9475
9476         * doc/contrib.texi (Contributors): Add self as second contact in
9477         addition to Jeff Law.
9478
9479 2002-11-19  Andreas Jaeger  <aj@suse.de>
9480
9481         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
9482         find_alloca_call to right place.
9483
9484 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
9485
9486         * cppfiles.c: Fix formatting.
9487
9488 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
9489
9490         * gcc.c (The Specs Language): Document spec functions.
9491         (static_spec_functions, lookup_spec_function)
9492         (eval_spec_function, handle_spec_function)
9493         (if_exists_spec_function, alloc_args): New.
9494         (execute): Abort if processing_spec_function is true.
9495         (do_spec_1): Hand off spec to handle_spec_function if %:
9496         is encountered.  If processing_spec_function is true,
9497         end any pending argument when the end of the string is reached.
9498         (main): Use alloc_args to allocate the initial argument vector.
9499         * gcc.h (struct spec_function): New.
9500         (lang_specific_spec_functions): New extern.
9501
9502         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
9503         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
9504         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
9505
9506         * doc/invoke.texi: Document spec functions.
9507
9508         * cppspec.c (lang_specific_spec_functions): New.
9509         * gccspec.c: Likewise.
9510
9511 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
9512
9513         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
9514         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
9515         (fixunstfsi_libfunc): Change.
9516         (fixunstfdi_libfunc): Change.
9517         (sdiv_optab): Don't zero out SImode handler.
9518         (udiv_optab): Don't zero out SImode handler.
9519         (smod_optab): Don't zero out SImode handler.
9520         (umod_optab): Don't zero out SImode handler.
9521
9522 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
9523
9524         PR preprocessor/8524
9525         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
9526         Add a new one in its place, which hopefully works.
9527         (skip_rest_of_line): Change test for bottom-of-context-stack.
9528
9529 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
9530
9531         * i386.md (addqi_1_slp): Fix output template.
9532         (subqi_1_slp): Fix type.
9533
9534 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
9535
9536         * calls.c (alloca_call_p): New global function.
9537         * tree.h (alloca_call_p): New.
9538         * tree-inline.c (inlinable_function_p):  Do not inline when
9539         function calls alloca.
9540         (find_alloca_call, find_alloca_call_1): New functions.
9541
9542 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
9543
9544         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
9545         bst.  Update the insn length.
9546         (*andorhi3): Likewise.
9547         (*andorsi3): Likewise.
9548
9549 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
9550
9551         * config/sh/sh-protos.h (sh_mark_label): Declare.
9552         * config/sh/sh.c (sh_mark_label): New function, taken from
9553         movdi_const, but fixing the case when the address has an addend.
9554         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
9555
9556 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
9557
9558         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
9559         (add_constant): Set it.
9560         (dump_table): Don't reorder a constant if part_of_sequence_p.
9561         (machine_dependent_reorg): Assume that float constants will
9562         stay in their original order if used as a sequence.
9563
9564 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
9565
9566         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
9567         in compact code.
9568
9569 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
9570
9571         * config/sh/sh.md (initialize_trampoline): Do not force the
9572         trampoline address into R0_REGS here.
9573
9574 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
9575
9576         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
9577         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
9578         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
9579         generate unnecesary subregs.
9580
9581 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9582
9583         * df.c: Fix formatting.
9584
9585 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9586
9587         * config/h8300/h8300.md (two anonymous patterns): Fix insn
9588         lengths.
9589
9590 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
9591
9592         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
9593         is not an arith_reg_operand.
9594
9595 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
9596
9597         * real.c (real_to_decimal): Fix buffer overrun when buffer size
9598         is smaller than representation.
9599
9600 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
9601
9602         * builtins.c: Fix formatting.
9603
9604 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9605
9606         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
9607         floats?dff2_i387):
9608         Work around regclass stupidity.
9609         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
9610
9611 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
9612
9613         * i386.md (fop_df_6): New pattern.
9614         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
9615         (fop_xf_6): Rewrite
9616         (fop_xf_7): Delete.
9617         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
9618         (fop_tf_6): Rewrite
9619         (fop_tf_7): Delete.
9620
9621 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9622
9623         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
9624
9625 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9626
9627         * config/h8300/h8300.md: Fix formatting.
9628
9629 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9630
9631         * config/h8300/h8300.md: Replace spaces with tabs.
9632         * config/h8300/t-h8300: Remove a trailing empty line.
9633
9634 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9635
9636         * tlink.c: Fix formatting.
9637
9638 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
9639
9640         PR 8362
9641         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
9642         * config/rs6000/rs6000.md (movti_string): Remove output modifier
9643         when scratch register never needed.
9644         (ldmsi[3-8]): New patterns.
9645
9646 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9647
9648         * hard-reg-set.h: Follow spelling conventions.
9649         * real.c: Likewise.
9650         * target.h: Likewise.
9651
9652 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
9653
9654         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
9655
9656 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
9657
9658         * optabs.c: Fix formatting.
9659
9660 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
9661
9662         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
9663         * i386.md (attribute type): Add type shift1 and rotate1.
9664         (*_slp): Rewrite to have just two operands to avoid reload problems.
9665
9666 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
9667
9668         * config/h8300/h8300.md (4 anonymous patterns): New.
9669
9670 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
9671
9672         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
9673         * doc/invoke.texi: Correct description of what needs to be done to
9674         force collection at every ggc_collect call.
9675
9676 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
9677
9678         * config/s390/s390.c (optimization_options): Set
9679         flag_asynchronous_unwind_tables to 1 by default.
9680
9681 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
9682
9683         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9684
9685 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9686
9687         * i386-protos.h (x86_function_profiler): New function
9688         * i386.h (MCOUNT_NAME): New.
9689         (PROFILE_COUNT_REGISTER): New.
9690         (FUNCTION_PROFILER): Move offline to ...
9691         * i386.c (x86_function_profiler) ... here; fix 64bit support
9692         * beos-elf.h (FUNCTION_PROFILER): Kill.
9693         (MCOUNT_NAME): New.
9694         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
9695         (MCOUNT_NAME): New.
9696         (PROFILE_COUNT_REGISTER): New.
9697         * linux.h (FUNCTION_PROFILER): Kill.
9698         (MCOUNT_NAME): New.
9699         * x86-64.h (FUNCTION_PROFILER): Kill.
9700         (MCOUNT_NAME): New.
9701         * freebsd.h (FUNCTION_PROFILER): Kill.
9702         (MCOUNT_NAME): New.
9703
9704 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
9705
9706         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
9707         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
9708         * config/arm/arm.c (arm_va_arg,
9709         arm_function_arg_pass_by_reference): New.
9710         * config/arm/arm-protos.h: Add prototypes.
9711
9712 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
9713
9714         * gthr-single.h: Fix formatting.
9715
9716 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
9717
9718         * tree.c (tree_vec_elt_check_failed): New function.
9719         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
9720         (TREE_VEC_ELT): Use it.
9721
9722         * tree-inline.c (optimize_inline_calls): Don't copy a
9723         zero-length vector.
9724
9725 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
9726
9727         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
9728
9729 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
9730
9731         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
9732         both operands contain local relocations.
9733         (categorize_decl_for_section): Don't use mergeable sections if
9734         initializer has any relocations.
9735
9736 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
9737
9738         * gthr-vxworks.h: Fix formatting.
9739
9740 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
9741
9742         * doc/install.texi (Testing): Document extra Java testing.
9743         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
9744
9745 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9746
9747         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
9748         beginning of the spec.
9749         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
9750         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
9751         regarding problems with global constructors when using GNU ld.
9752
9753 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9754
9755         * gthr-solaris.h: Fix formatting.
9756
9757 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
9758
9759         * gthr-posix.h: Fix formatting.
9760
9761 2002-11-12  Devang Patel <dpatel@apple.com>
9762         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
9763         (process_command): Same.
9764         * doc/invoke.texi: Info about these two new options.
9765
9766 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9767
9768         * config/h8300/h8300.md (*andorsi3): New.
9769
9770 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9771
9772         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
9773
9774 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9775
9776         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
9777         expressions appropriately.
9778
9779 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9780
9781         * gthr-win32.h: Fix formatting.
9782
9783 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
9784
9785         * config/h8300/h8300.c (single_one_operand): Correctly compute
9786         mask when mode is SImode.
9787         (single_zero_operand): Likewise.
9788         * config/h8300/h8300.md (two new anonymous insns): New.
9789
9790 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9791
9792         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
9793         to that entire project.
9794
9795 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
9796
9797         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
9798         directories.
9799
9800 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
9801
9802         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
9803         * doc/invoke.texi: Document them.
9804
9805         * ggc-page.c: Include params.h.  Remove definitions of
9806         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
9807         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
9808         (init_gcc): Don't set G.allocated_last_gc here.
9809         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
9810         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
9811         perform collection.
9812         * ggc-simple.c: Similarly.
9813         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
9814         dependencies.
9815
9816 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
9817
9818         * gthr-dce.h: Fix formatting.
9819
9820 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
9821
9822         PR c/8467
9823         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
9824         mode of DECL_RTL case.
9825
9826 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
9827
9828         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
9829
9830 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
9831
9832         * i386.c (construct_container): Fix handling of SSE_CLASS.
9833
9834 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
9835
9836         * config/m68k/t-crtstuff (crti.o): Use this...
9837         ($(T)crti.o): ... instead.
9838         (crtn.o): Use this...
9839         ($(T)crtn.o): ... instead.
9840
9841 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
9842
9843         PR c/8439
9844         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
9845         if there is something new to be simplified.
9846
9847 2002-11-10  H.J. Lu <hjl@gnu.org>
9848
9849         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
9850         * expr.c (PUSH_ARGS_REVERSED): Likewise.
9851
9852         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
9853
9854 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
9855
9856         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
9857         * config/rs6000/linux.h, config/rs6000/linux64.h,
9858         config/rs6000/windiss.h: ... not here.
9859
9860 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
9861
9862         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
9863         __ABICALLS__ if TARGET_ABICALLS.
9864
9865 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
9866
9867         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
9868
9869 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
9870
9871         * c-decl.c (grokdeclarator): Make error for duplicate type
9872         qualifiers into a pedwarn, disabled for C99.
9873
9874 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
9875
9876         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
9877         as FUNCTION_ARG_PASS_BY_REFERENCE.
9878
9879 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
9880
9881         * doc/install.texi: Add *-*-vxworks* specific installation
9882         instructions.
9883
9884         * config/vxlib.c: Rewrite using generation numbers to identify
9885         valid TSD keys.
9886
9887 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
9888
9889         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
9890
9891 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9892
9893         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
9894
9895         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
9896         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
9897         * pa.c (output_millicode_call): Use symbol difference rather than
9898         $PIC_pcrel$0 when using HP assembler.
9899         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
9900         not elfos.h (i.e., gas) is being used.
9901         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
9902         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
9903         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
9904         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
9905         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
9906         using elfos.h.
9907         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
9908         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
9909         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
9910         using elfos.h.
9911         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
9912         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
9913         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9914         Don't define when not using elfos.h.
9915         (ASM_DECLARE_RESULT): Don't define.
9916         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9917         doesn't work on hppa64-hp-hpux11.
9918         (hppa*-hp-hpux11): Update.
9919
9920 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
9921
9922         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9923         to the assembler if -mno-abicalls was specified.
9924
9925 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9926
9927         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9928         ASM_OUTPUT_DEF): Delete.
9929
9930 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
9931
9932         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9933
9934 2002-11-08  Roger Sayle  <roger@eyesopen.com>
9935
9936         * real.c (real_sqrt): Update comment with bibliographic reference.
9937
9938 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9939
9940         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9941
9942 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
9943
9944         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9945
9946 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9947
9948         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9949         (expand_builtin): Likewise.
9950         * builtins.def: Add
9951         __builtin_floor, __builtin_floorf, __builtin_floorl
9952         __builtin_ceil, __builtin_ceilf, __builtin_ceill
9953         __builtin_round, __builtin_roundf, __builtin_roundl
9954         __builtin_trunc, __builtin_truncf, __builtin_truncl
9955         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9956         * genopinit.c (optabs): Initialize the new optabs.
9957         * optab.c (init_optabs): Likewise.
9958         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9959         OTI_round, OTI_nearbyint.
9960         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9961         * doc/md.texi: Document new named patterns.
9962         * doc/extend.texi (builtin functions)  Document
9963         floor, floorf, floorl, ceil, ceilf,
9964         ceill, round, roundf, roundl, trunc,
9965         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9966
9967 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9968
9969         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9970
9971 2002-11-08  Dale Johannesen  <dalej@apple.com>
9972
9973         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
9974
9975 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9976
9977         PR preprocessor/8497
9978         PR preprocessor/8501
9979         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9980         start a directive.  In assembler, #NUM is not a line directive.
9981
9982 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9983
9984         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9985         buffers.
9986
9987 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
9988
9989         * config/h8300/h8300.md (two anonymous test insns): New.
9990
9991 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9992
9993         * jump.c (mark_jump_label): Handle subregs of label_refs.
9994
9995 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
9996
9997         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9998         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9999
10000 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
10001
10002         * config/ia64/crtend.asm: Include "auto-host.h".
10003         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
10004         * config/ia64/crtbegin.asm: Similarly.
10005         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
10006         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
10007
10008         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
10009         * configure.in: Use it if --enable-initfini-array not specified.
10010         * doc/install.texi (Configuration): Document --enable-initfini-array.
10011         * configure, config.in: Rebuild.
10012
10013 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
10014
10015         * config/arm/arm-protos.h (arm_get_frame_size)
10016         (thumb_get_frame_size): New prototypes.
10017         * config/arm/arm.c (arm_get_frame_size)
10018         (thumb_get_frame_size): New functions.
10019         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
10020         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
10021         arm_get_frame_size.
10022         (thumb_expand_prologue, thumb_expand_epilogue): Use
10023         thumb_get_frame_size.
10024         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
10025         (machine_function): Add frame_size member.
10026         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
10027
10028 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
10029
10030         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
10031         Adjust code to use portable unsigned bit manipulation.
10032         (insn_flags, tune_flags): Change type to unsigned.
10033         (struct processors): Make flags unsigned long.
10034         (arm_override_options): Change type of count and current_bit_count
10035         to unsigned.
10036
10037 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
10038
10039         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
10040
10041 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
10042
10043         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
10044
10045 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
10046
10047         * reg-stack.c (compensate_edge): Fix sanity check.
10048
10049 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
10050
10051         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
10052         crt2.o.  Rearrange t-darwin makefiles.
10053         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
10054         * unwind-dw2-fde-darwin.c: New.
10055         * unwind-dw2-fde-glibc.c: Correct comment.
10056         * unwind-dw2-fde.c (__register_frame_info_bases)
10057         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
10058         (classify_object_over_fdes): Use last_fde.
10059         (add_fdes): Likewise.
10060         (linear_search_fdes): Likewise.
10061         * unwind-dw2-fde.h (struct object)
10062         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
10063         (last_fde): New.
10064         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
10065         (ENDFILE_SPEC): No crtend.o.
10066         * config/t-darwin: New.
10067         * config/i386/t-darwin: Delete.
10068         * config/darwin-crt2.c: New.
10069         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
10070         or config/t-darwin.
10071
10072 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
10073
10074         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
10075         MASK_MS_BITFIELD_LAYOUT
10076         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
10077         MS bitfields for Objective-C.
10078         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
10079         defines.
10080
10081         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
10082         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
10083         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
10084
10085         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
10086         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
10087         (TARGET_SWITCHES): Add above mask.
10088
10089         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
10090         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
10091         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
10092         flags for interix.
10093
10094 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
10095
10096         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
10097         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
10098         assembler.
10099         * config/mips/mips.md (tablejump_internal3): Output .cpadd
10100         before jump on ABI_N32 too.
10101         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
10102         length to match.
10103
10104 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
10105
10106         * i386.md (negsf splitter): Accept memory operand in second register.
10107         (abssf/absdf splitters): Simplify
10108         (sse_loadss, sse_loadsd): Turn into expander.
10109
10110 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
10111
10112         PR target/8480
10113         * config/rs6000/rs6000.md (movdi_internal64): Discourage
10114         FPR to FPR moves.
10115
10116 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
10117
10118         * doc/contrib.texi: Merge in the list from the Java web pages.
10119
10120 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
10121
10122         * config/sparc/freebsd: Fix typo.
10123
10124 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10125
10126         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
10127
10128 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
10129
10130         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
10131         non-SImode addresses.
10132
10133 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
10134
10135         * i386.md (float_truncate SSE splitter): Ensure that operand is not
10136         stack register.
10137         (float SSE splitters): Reorder conditional.
10138
10139 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
10140
10141         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
10142
10143 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
10144
10145         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
10146         (STARTFILE_SPEC): Remove p and pg options.
10147
10148 2002-11-05  Andrew Haley  <aph@redhat.com>
10149
10150         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
10151         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
10152
10153 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
10154
10155         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
10156         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
10157
10158 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
10159
10160         * gthr-vxworks.h: Rewritten from scratch.
10161         * config/vxlib.c: New file.
10162         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
10163         * config/rs6000/t-vxworks: Add config/vxlib.c to
10164         LIB2FUNCS_EXTRA here too, because of clash with
10165         config/rs6000/t-ppccomm.
10166
10167 2002-11-04  Dale Johannesen  <dalej@apple.com>
10168
10169         * doloop.c (doloop_modify_runtime):  Fix loop count computation
10170         for unrolled loops.
10171         * loop.c (loop_invariant_p):  Support calling from unroller.
10172
10173 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
10174
10175         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
10176         for comparison.
10177
10178 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
10179
10180         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
10181
10182         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
10183         (CLASS_CANNOT_CHANGE_MODE): Remove.
10184         (CANNOT_CHANGE_MODE_CLASS): New.
10185
10186         * config/alpha/alpha.h: Same.
10187
10188         * config/ia64/ia64.h: Same.
10189
10190         * config/mips/mips.h: Same.
10191
10192         * config/s390/s390.h: Same.
10193
10194         * config/sh/sh.h: Same.
10195
10196         * config/pa/pa64-regs.h: Same.
10197
10198         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
10199
10200         * config/sh/sh.c (sh_cannot_change_mode_class): New.
10201
10202         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
10203         prototype.
10204
10205         * config/mips/mips.c (mips_cannot_change_mode_class): New.
10206
10207         * doc/tm.texi (Register Classes): Remove
10208         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
10209         Document CANNOT_CHANGE_MODE_CLASS.
10210
10211         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
10212         (push_reload): Same.
10213
10214         * simplify-rtx.c (simplify_subreg): Same.
10215
10216         * reload1.c (choose_reload_regs): Same.
10217
10218         * recog.c (register_operand): Same.
10219
10220         * regrename.c (mode_change_ok): Change to use new
10221         CANNOT_CHANGE_MODE_CLASS infrastructure.
10222
10223         * regclass.c (cannot_change_mode_set_regs): New.
10224         Declare subregs_of_mode.
10225         (regclass): Use subregs_of_mode.
10226         Remove references to reg_changes_mode.
10227         (init_reg_sets_1): Remove class_can_change_mode and
10228         reg_changes_mode code.
10229         (invalid_mode_change_p): New.
10230         (dump_regclass): Use invalid_mode_change_p instead of
10231         class_can_change_mode.
10232         (regclass): Same.
10233         (record_operand_costs): Do not set reg_changes_mode.
10234
10235         * local-alloc.c (struct qty): Remove changes_mode field.
10236         (alloc_qty): Remove changes_mode initialization.
10237         (update_qty_class): Remove set of changes_mode.
10238         (find_free_reg): Use subregs_of_mode.
10239
10240         * global.c (find_reg): Use subregs_of_mode info.
10241
10242         * rtl.h (cannot_change_mode_set_regs): New prototype.
10243         (invalid_mode_change_p): Same.
10244         (REG_CANNOT_CHANGE_MODE_P): New macro.
10245
10246         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
10247         REG_CHANGES_MODE.
10248         (life_analysis): Clear subregs_of_mode.
10249
10250         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
10251         Remove use of CLASS_CANNOT_CHANGE_MODE.
10252         (simplify_set): Same.
10253         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
10254         REG_CHANGES_MODE.
10255
10256         * regs.h: Add extern for subregs_of_mode;
10257         Include hard-reg-set and basic-block.
10258         (REG_CHANGES_MODE): Delete.
10259
10260 2002-11-03  Roger Sayle  <roger@eyesopen.com>
10261
10262         * real.c (real_sqrt): New function to calculate square roots.
10263         * real.h (real_sqrt): Add function prototype.
10264         * builtins.c (fold_builtin): Fold sqrt of constant argument.
10265         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
10266         of constant argument.
10267
10268 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10269
10270         * jump.c (never_reached_warning): Don't set contains_insn until the
10271         first line note is seen.
10272
10273 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
10274
10275         * config/rs6000/rs6000.md (movti_string): Use string instructions.
10276
10277 2002-11-03  Roger Sayle  <roger@eyesopen.com>
10278
10279         PR c/7128
10280         * c-typeck.c (c_expand_asm_operands): Defend against
10281         error_mark_nodes in the output argument to avoid ICE.
10282
10283 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
10284
10285         PR middle-end/8408
10286         * genrecog.c (preds): Handle ADDRESSOF.
10287         (validate_pattern): Mark it as an lvalue.
10288
10289 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
10290
10291         * config/rs6000/rs6000.c (rs6000_override_options): Use string
10292         instructions when optimizing for size.
10293
10294 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
10295
10296         * config/h8300/h8300.h: Fix comment typos.
10297         * config/h8300/h8300.md: Likewise.
10298         * config/h8300/lib1funcs.asm: Likewise.
10299
10300 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
10301
10302         Revert this change:
10303
10304         *doc/install.texi (Installing GCC: Configuration): Clarify
10305         the only supported ways to configure gcc.
10306
10307 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
10308
10309         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
10310         instead of 'O' for the constraint for the second operand.
10311
10312 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
10313
10314         PR c++/8391
10315         * toplev.c (rest_of_compilation): Do not refuse to output code for
10316         an inline function in a local class.
10317
10318 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
10319
10320         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
10321         (TRANSFER_FROM_TRAMPOLINE): Reformat.
10322         Add comment.
10323
10324 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
10325
10326         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
10327
10328 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
10329
10330         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
10331
10332 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
10333
10334         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
10335         (MASK_INLINE_DIV_THR): Remove.
10336         (TARGET_INLINE_DIV_LAT): Remove.
10337         (TARGET_INLINE_DIV_THR): Remove.
10338         (TARGET_INLINE_DIV): Remove.
10339         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
10340         (MASK_INLINE_FLOAT_DIV_THR): New macro.
10341         (MASK_INLINE_INT_DIV_LAT): New macro.
10342         (MASK_INLINE_INT_DIV_THR): New macro.
10343         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
10344         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
10345         (TARGET_INLINE_INT_DIV_LAT): New macro.
10346         (TARGET_INLINE_INT_DIV_THR): New macro.
10347         (TARGET_INLINE_FLOAT_DIV): New macro.
10348         (TARGET_INLINE_INT_DIV): New macro.
10349         * config/ia64/ia64.md (divsi3): Change to use new macros.
10350         (modsi3): Ditto.
10351         (udivsi3): Ditto.
10352         (umodsi3): Ditto.
10353         (divsi3_internal): Ditto.
10354         (divdi3): Ditto.
10355         (moddi3): Ditto.
10356         (udivdi3): Ditto.
10357         (umoddi3): Ditto.
10358         (divdi3_internal_lat): Ditto.
10359         (divdi3_internal_thr): Ditto.
10360         (divsf3): Ditto.
10361         (divsf3_internal_lat): Ditto.
10362         (divsf3_internal_thr): Ditto.
10363         (divdf3): Ditto.
10364         (divdf3_internal_lat): Ditto.
10365         (divdf3_internal_thr): Ditto.
10366         (divtf3): Ditto.
10367         (divtf3_internal_lat): Ditto.
10368         (divtf3_internal_thr): Ditto.
10369         * config/ia64/ia64.c (ia64_override_options): Change
10370         to check new macros for conflicts in settings.
10371         * doc/invoke.texi (-minline-divide-min-latency): Remove.
10372         (-minline-divide-max-throughput): Remove.
10373         (-minline-float-divide-min-latency): New.
10374         (-minline-float-divide-max-throughput): New.
10375         (-minline-int-divide-min-latency): New.
10376         (-minline-int-divide-max-throughput): New.
10377
10378 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
10379
10380         PR target/7856
10381         * arm.c (use_return_insn): Don't use a return insn if there are
10382         saved integer regs, but LR is not one of them.
10383
10384 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
10385
10386         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
10387         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
10388
10389 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
10390
10391         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
10392         (movps, movpd splitters): Use canonical form.
10393         (movv2di): Fix merge problem.
10394
10395 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
10396
10397         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10398
10399 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
10400
10401         PR optimization/6162
10402         * doc/md.texi: Document restriction on commutative operand
10403         specification.
10404
10405 2002-10-31  Eric Christopher  <echristo@redhat.com>
10406
10407         * explow.c (convert_memory_address): Use shallow_copy_rtx.
10408
10409 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
10410
10411         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
10412
10413 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
10414
10415         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
10416
10417 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
10418
10419         * config/rs6000/darwin.h:  Correct formatting in previous.
10420
10421 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
10422
10423         * config/rs6000/darwin.h:  Enable -falign-xxx options.
10424
10425 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
10426
10427         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
10428         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
10429         * i386.c (optimization_options): Set flag_omit_frame_pointer,
10430         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
10431         Do not clear -momit-leaf-frame-pointer when profiling.
10432         (ix86_frame_pointer_required): Frame pointer is always required when
10433         profiling.
10434
10435 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
10436
10437         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
10438
10439 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
10440
10441         * sh.h (binary_logical_operator): Declare.
10442         * sh.c (binary_logical_operator): New function.
10443         * sh.md (xordi3+1): New combiner splitter pattern.
10444
10445 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
10446
10447         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10448         __enable_execute_stack function.
10449
10450 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
10451
10452         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
10453         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
10454         * unwind-sjlj.c (fc_key_dtor): Delete.
10455         (fc_key_init): Adjust __gthread_key_create call to match.
10456
10457 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
10458
10459         * c-common.c: Add GTY to vector_type_node_list.
10460
10461 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
10462
10463         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
10464         * pa-protos.h (attr_length_millicode_call, attr_length_call,
10465         pa_init_machine_status): Declare new global functions.
10466         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
10467         implement new functions.
10468         (attr_length_millicode_call, attr_length_call): Implement.
10469         (total_code_bytes): Change type to long.
10470         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
10471         Reset counter if flag_function_sections.
10472         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
10473         (output_cbranch): Move call to gen_label_rtx.
10474         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
10475         delay slot in all variants, shorten pc-relative calls.
10476         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
10477         slot usage and exposure, various new call variants, and shortened
10478         sequences for some variants on TARGET_PA_20.
10479         Miscellaneous format changes.
10480         * pa.h (total_code_bytes): Change type to long.
10481         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
10482         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
10483         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
10484         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
10485         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
10486         stores on TARGET_ELF32.
10487         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
10488         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
10489         canonicalize_funcptr_for_compare expanders): Calculate attribute length
10490         attr_length_millicode_call().
10491         (call_internal_symref, call_value_internal_symref): Clobber register 1.
10492         Calculate attribute length using attr_length_call().
10493         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
10494         to delay slot.
10495         (sibcall, sibcall_value): Rewrite.
10496         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
10497         register 1.  Use attr_length_call().
10498         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
10499         New patterns.
10500         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
10501         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
10502         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
10503         * doc/invoke.texi (mlong-calls): Document.
10504
10505 2002-10-30  Roger Sayle  <roger@eyesopen.com>
10506
10507         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
10508         handling of cases where one or both branches of the conditional
10509         have void type, i.e. throw an exception or don't return.
10510         (fold): Only apply (and undo) type conversion to the non-void
10511         branches of a COND_EXPR.
10512
10513 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
10514
10515         PR c++/8333
10516         * varasm.c (asm_output_aligned_bss): Do not call
10517         ASM_GLOBALIZE_LABEL.
10518
10519 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
10520             Torbjorn Granlund  <tege@swox.com>
10521
10522         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
10523         for addressibility.
10524         (load_toc_v4_PIC_1b): Same.
10525
10526 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
10527
10528         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
10529         Truncate the addresses for H8/300 using HImode.
10530
10531 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
10532
10533         * i386.md (negdf splitter): Fix construction of the constant.
10534
10535 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
10536
10537         * i386.md (negsf, negdf): Reorganize to use vector modes
10538         for SSE variants.
10539         (abssf, absdf): Use force_reg.
10540         (movv4sf, movv2df): New splitters.
10541         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
10542         * i386.c (zero_extended_scalar_load_operand
10543
10544         * i386-protos.h (ix86_expand_call): Update prototype.
10545         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
10546         (ix86_expand_call): Use r11 for indirect sibcalls.
10547         * i386.md (call, call_value, untyped_call, call_value_pop):
10548         update x86_expand_call call.
10549         (sibcall, sibcall_value): new patterns
10550         (call_rex64, call_value_rex64): Do not accept sibcalls.
10551         (sibcall_rex64, sibcall_value_rex64,
10552         sibcall_rex64_v, sibcall_value_rex64_v): New.
10553
10554 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
10555
10556         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
10557         before final pass.
10558
10559 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
10560
10561         * toplev.c (rest_of_type_compilation): Return early in case of
10562         errors.
10563         (check_global_declarations): Don't call debug_hooks->global_decl
10564         in case of errors.
10565
10566 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
10567
10568         * doc/c-tree.texi (Tree overview): Fix typos.
10569
10570 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
10571
10572         * Makefile.in (gnucompare*):  Only record bad comparisons
10573         if there really was a bad comparison.
10574
10575 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
10576
10577         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
10578         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
10579         * md.texi (machine dependent constraints): Document 'C'
10580
10581         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
10582
10583         * i386.c (ix86_expand_vector_move): Fix.
10584
10585         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
10586         * i386.md (sse2_maskmovdqu_rex64): New pattern
10587
10588         PR target/8322
10589         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
10590         (ix86_init_mmx_sse_builtins): Fix type.
10591
10592 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
10593
10594         * gthr-posix.h: Include <unistd.h> for feature tests.
10595         (sched_get_priority_max, sched_get_priority_min)
10596         (pthread_getschedparam, pthread_setschedparam): Only use
10597         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
10598         (__gthread_objc_thread_set_priority): Don't treat all nonzero
10599         returns from sched_get_priority_max and sched_get_priority_min
10600         as an error.
10601
10602 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10603
10604         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
10605         MASK_QUICKCALL.
10606
10607 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10608
10609         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
10610         (h8300_tiny_constant_address_p): Likewise.
10611         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
10612         h8300_eightbit_constant_address_p.
10613         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
10614         * config/h8300/h8300-protos.h: Add the prototypes for the two
10615         new functions.
10616
10617 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10618
10619         * reload1.c (update_eliminables): Unconditionally check if
10620         frame_pointer_needed has changed.
10621
10622 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
10623
10624         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
10625         before final pass.
10626
10627 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
10628
10629         PR optimization/8334
10630         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
10631         check for zero operands explicitly.
10632
10633 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
10634
10635         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
10636         memory after adjusting to BLKmode.
10637
10638 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
10639
10640         * config/h8300/h8300.h (MASK_*): New.
10641         (TARGET_*): Use MASK_*.
10642
10643 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
10644
10645         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
10646         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
10647         config/rs6000/vxworks.h: New files.
10648         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
10649
10650         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
10651         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
10652         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
10653         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
10654         sparc-*-vxsim*): Delete stanzas.
10655         * gthr-vxworks.h: Rip out all substantive code and just
10656         include gthr-single.h.
10657
10658         * config/alpha/vxworks.h, config/arm/vxarm.h,
10659         config/i386/vxi386.h, config/i960/t-vxworks960,
10660         config/i960/vx960-coff.h, config/i960/vx960.h,
10661         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
10662         config/mips/vxworks.h, config/rs6000/vxppc.h,
10663         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
10664         config/sparc/vxsim.h, config/sparc/vxsparc.h,
10665         config/sparc/vxsparc64.h: Delete files.
10666
10667 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
10668
10669         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
10670         tm_defines if pthreads are enabled.
10671         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
10672         if NETBSD_ENABLE_PTHREADS is defined.
10673
10674 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
10675
10676         * ChangeLog.1: Fix typos.
10677         * cse.c: Fix a comment typo.
10678         * reload1.c: Likewise.
10679
10680 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
10681
10682         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
10683         * fixinc/tests/base/_G_config.h: New file.
10684
10685 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
10686
10687         * combine.c: Fix comment formatting.
10688         * loop.c: Likewise.
10689         * real.c: Likewise.
10690         * regclass.c: Likewise.
10691         * regmove.c: Likewise.
10692         * regrename.c: Likewise.
10693         * reg-stack.c: Likewise.
10694         * reload1.c: Likewise.
10695         * reload.c: Likewise.
10696         * reload.h: Likewise.
10697         * unroll.c: Likewise.
10698
10699 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
10700
10701         * reload1.c (reload): Fix a comment typo.
10702
10703 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
10704
10705         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
10706
10707 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10708
10709         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
10710         * dwarf2out.c: Include hashtab.h.
10711         (is_main_source): New static variable.
10712         (attr_checksum, die_checksum): Modified to handle die references.
10713         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
10714         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
10715         record_comdat_symbol_number): New static functions.
10716         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
10717         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
10718         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
10719         declarations added.
10720
10721 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
10722
10723         * config/h8300/h8300.c (initial_offset): Change to
10724         h8300_initial_elimination_offset.
10725         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
10726         h8300_initial_elimination_offset.
10727         * config/h8300/h8300-protos.h: Update the prototype.
10728
10729 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
10730
10731         * config/mmix/mmix.h (LIBCALL_VALUE): Use
10732         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
10733         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
10734         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
10735         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
10736         and RTX_CODE.
10737         (mmix_function_value_regno_p): Declare.
10738
10739         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
10740         invalid for floating point mode result, with fix.
10741
10742 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
10743
10744         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
10745         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
10746         (stage1_build): Likewise.
10747
10748 2002-10-25  Mike Stump  <mrs@apple.com>
10749
10750         Fixes gcc.dg/warn-1.c.
10751         * c-typeck.c (warn_for_assignment): Don't print argument number,
10752         if zero.
10753
10754 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
10755
10756         * toplev.c (dump_file_index): Add DFI_ce3.
10757         (dump_file_info): Likewise.
10758         (rest_of_compilation): Run first ifcvt pass before tracer.
10759
10760 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
10761
10762         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
10763
10764 2002-10-25  Richard Henderson  <rth@redhat.com>
10765
10766         * real.c (real_to_decimal): If the >1 tens reduction loop results
10767         in a negative exponent, fall into the <1 pten computation.
10768
10769 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
10770
10771         PR middle-end/6994
10772         * c-objc-common.c (inline_forbidden_p): Can not inline
10773         functions containing structures or unions containing VLAs.
10774         * tree-inline.c (walk_tree): For all class 't' nodes, walk
10775         TYPE_SIZE and TYPE_SIZE_UNIT.
10776         (copy_tree_r): Copy types if they are variably modified.
10777
10778 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10779
10780         * config/s390/s390.md: Remove old-style peepholes.
10781
10782 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
10783
10784         * config/s390/s390.c (s390_decompose_address): Do not range check the
10785         displacement if base or index is the argument pointer register.
10786
10787 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
10788
10789         PR other/3337
10790         PR bootstrap/6763
10791         PR bootstrap/8122
10792         * fixinc/inclhack.def (libc1_G_va_list): New fix.
10793         * fixinc/fixincl.x: Regenerate.
10794         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
10795         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
10796         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
10797         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
10798         * config.in, configure: Regenerate.
10799
10800 2002-10-24  Igor Shevlyakov <igor@microunity.com>
10801
10802         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
10803
10804 2002-10-24  Richard Henderson  <rth@redhat.com>
10805
10806         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
10807
10808 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10809
10810         * config/h8300/h8300.c (initial_offset): Simplify by using
10811         round_frame_size.
10812
10813 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
10814
10815         * doc/install.texi (avr): Update required binutils version.
10816
10817 2002-10-24  Theodore A. Roth  <troth@openavr.org>
10818
10819         * doc/install.texi: Point avr users at more up-to-date information.
10820
10821 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10822
10823         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
10824         to pull operands out of the literal pool where possible.
10825
10826 2002-10-24  Denis Chertykov  <denisc@overta.ru>
10827
10828         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
10829
10830 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
10831
10832         * expr.c (convert_move): If unsignedp is less then zero there
10833         is no equivalent code.
10834
10835 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
10836
10837         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
10838
10839 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
10840
10841         * config/s390/s390.h: Rework comments; re-sort target macro definitions
10842         according to the sequence they are defined in the manual.
10843         (POINTER_BOUNDARY): Remove.
10844
10845 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10846
10847         * config/h8300/h8300.c (round_frame_size): Replace 8 with
10848         BITS_PER_UNIT.
10849
10850 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
10851
10852         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
10853         64-bit safe.
10854         (TINY_CONSTANT_ADDRESS_P): Likewise.
10855
10856 2002-10-24  Richard Henderson  <rth@redhat.com>
10857
10858         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10859         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
10860         vcall offset.
10861
10862 2002-10-24  Richard Henderson  <rth@redhat.com>
10863
10864         PR opt/7944
10865         * reload.c (find_reloads_toplev): Mode of X is not important
10866         when simplifying subregs of constants.
10867
10868 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10869
10870         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
10871         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
10872         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
10873         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
10874         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
10875
10876 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
10877
10878         * optabs.c (expand_binop): Don't reuse the shift target in the
10879         middle of shift sequences.
10880
10881 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
10882
10883         * i386.md (abs splitters): Do not produce nested subregs.
10884
10885 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
10886
10887         * i386.md (movti_rex64): Fix constraints.
10888
10889 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
10890
10891         * i386.md (abssf,absdf): Use vector operands for SSE
10892         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
10893         vector operand.
10894
10895 2002-10-23  Ziemowit Laski <zlaski@apple.com>
10896
10897         * objc/objc-act.c (get_static_reference): Remove unneeded
10898         TYPE_BINFO initialization.
10899         (get_object-reference): Likewise.
10900         (build_constructor): Tighten precondition check.
10901         (finish_message_expr): Likewise.
10902
10903 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
10904
10905         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
10906         after CONST test.
10907
10908 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
10909
10910         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
10911         in HFAs.
10912
10913 2002-10-23  Richard Henderson  <rth@redhat.com>
10914
10915         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10916         (alpha_output_mi_thunk_osf): Handle vcall_offset.
10917
10918 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
10919
10920         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10921         var_mod_type_p.
10922         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10923         hook_tree_bool_false.
10924
10925         * tree.c (variably_modified_type_p): Moved here from
10926         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
10927         language-specific cases.  Due to this, must weaken some 'if
10928         and only if' checks to merely 'if'.
10929         * tree.h: Prototype variably_modified_type_p.
10930
10931         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10932
10933 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10934
10935         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10936         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10937
10938         * config/s390/s390-protos.h (fp_operand): Remove.
10939         * config/s390/s390.c (fp_operand): Remove.
10940         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10941         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10942         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10943         (movdi_31, movdf_31 splitters): Likewise.
10944
10945         * config/s390/s390.h (IEEE_FLOAT): Remove.
10946         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10947         (INT_REGNO_P): Rename to ...
10948         (GENERAL_REGNO_P): ... this.
10949         (FLOAT_REGNO_P): Rename to ...
10950         (FP_REGNO_P): ... this.
10951         (ADDR_REGNO_P): New macro.
10952         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10953         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10954         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10955         (HARD_REGNO_NREGS): Adapt to macro renaming.
10956         (HARD_REGNO_MODE_OK): Likewise.
10957
10958 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
10959             Geoff Keating  <geoffk@apple.com>
10960
10961         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10962         (rs6000_memory_move_cost): New function.
10963         * config/rs6000/rs6000-protos.h: Declare them.
10964         * config/rs6000/rs6000.h: Use them.
10965
10966 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10967
10968         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
10969         inlining it into other libgcc2 routines.
10970         (__udivmoddi4): Likewise.
10971
10972 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10973
10974         * doc/sourcebuild.texi (Test Suites): Improve.
10975
10976 2002-10-22  Stan Shebs  <shebs@apple.com>
10977
10978         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10979         case for Darwin.
10980
10981 2002-10-22  Jim Wilson  <wilson@redhat.com>
10982
10983         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10984
10985 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10986
10987         PR other/8289
10988         * xmmintrin.h: Add const to the argument of loads.
10989
10990         * i386.md (pushv2di): New pattern.
10991         PR target/6890
10992         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10993
10994 2002-10-22  Richard Henderson  <rth@redhat.com>
10995
10996         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10997         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
10998         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10999         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
11000         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11001         (TARGET_ASM_OUT): Update.
11002         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
11003         (hook_bool_tree_hwi_hwi_tree_true): New.
11004         (default_can_output_mi_thunk_no_vcall): New.
11005         * hooks.h: Declare them.
11006         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
11007
11008         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11009         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
11010         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
11011         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
11012         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
11013         config/stormy16/stormy16.c: Similarly.
11014
11015         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
11016         Handle 64-bit properly.  Streamline.
11017         (x86_output_mi_vcall_thunk): Remove.
11018         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
11019         (x86_can_output_mi_thunk): New.
11020         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
11021         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11022         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
11023
11024         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
11025         output_mi_thunk; make static; always use function_section.
11026         (TARGET_ASM_OUTPUT_MI_THUNK): New.
11027         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11028         (rs6000_ra_ever_killed): Test no_new_pseudos not
11029         targetm.asm_out.output_mi_thunk in conjunction with thunks.
11030         * config/rs6000/rs6000-protos.h: Update.
11031         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11032         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
11033         xcoffout_declare_function when using rs6000_output_mi_thunk.
11034
11035         * config/s390/s390.c (s390_output_mi_thunk): Rename from
11036         s390_output_mi_vcall_thunk.
11037         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11038         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11039
11040         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
11041         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
11042         * config/vax/vax-protos.h: Update.
11043         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
11044
11045 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
11046
11047         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
11048         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
11049         * i386.md (movti_internal): Use 'C'
11050
11051         * xmmintrin.h (_mm_cmplt_epi*): New.
11052
11053 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
11054
11055         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
11056         ("*movdf_64"): Likewise.
11057         ("*lshrdi3_64"): Likewise.
11058         ("blockage"): Add length attribute.
11059         ("lit"): Likewise.
11060
11061 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
11062
11063         * i386.md: FIx typo.
11064         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
11065         (sse2_umulv2siv2di3): Fix predicate.
11066         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
11067         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
11068         * xmmintrin.h (_mm_mul_epu16): Rename to...
11069         (_mm_mul_epu32): This one.
11070         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
11071
11072         (contains_128bit_aligned_vector_p): Undo accidental checkin.
11073
11074 2002-10-22  Eric Christopher  <echristo@redhat.com>
11075
11076         * config/sparc/sparc.h: Add #error.
11077
11078 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
11079
11080         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
11081         [s390x-*-linux*]: Likewise.
11082         * config/s390/t-linux: Remove.
11083         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
11084
11085 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
11086
11087         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
11088         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
11089         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
11090         * i386.md (mmx_punpck?dq): Simplify.
11091         (sse2_pubpcklqdq): Fix.
11092         (sse2_pubpckhqdq): New.
11093         * xmmintrin.h (_mm_unpackhi_epi32): New.
11094
11095         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
11096         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
11097
11098 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
11099
11100         PR c++/7209
11101         * fold_const.c (fold_binary_op_with_conditional_arg): Always
11102         build compound_expr if we used save_expr.
11103
11104 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
11105
11106         * output.h (SECTION_NOTYPE): Define.
11107         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
11108         init array sections.
11109         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
11110         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
11111         merge TLS support.
11112
11113 2002-10-21  Richard Henderson  <rth@redhat.com>
11114
11115         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
11116         the function type, not the return type.
11117
11118 2002-10-21  Richard Henderson  <rth@redhat.com>
11119
11120         * real.c (sticky_rshift_significand): Return inexact, don't
11121         or it in immediately.
11122         (sub_significands): Accept incomming carry.
11123         (div_significands, rtd_divmod): Update for sub_significands change.
11124         (round_for_format): Update for sticky_rshift_significand change.
11125         (do_add): Don't involve the inexact bit in addition, do give the
11126         inexact bit as the subtraction carry-in.
11127         (encode_internal, decode_internal, real_internal_format): New.
11128         * real.h (real_internal_format): Declare.
11129
11130 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
11131
11132         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
11133         don't define sdiv_qrnnd.
11134
11135 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
11136
11137         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
11138         using IN_RANGE.
11139         (TINY_CONSTANT_ADDRESS_P): Likewise.
11140
11141 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11142
11143         * i386.c (builtin_description): Add punpcklqdq and movdq2q
11144         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
11145         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
11146         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
11147         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
11148         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
11149         __builtin_ia32_setzero128.
11150         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
11151         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
11152         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
11153         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
11154         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
11155         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
11156         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
11157         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
11158         sse2_movq): New patterns.
11159         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
11160         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
11161         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
11162         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
11163         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
11164         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
11165         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
11166         (_mm_insert_epi16): Fix.
11167
11168 2002-10-21  Dale Johannesen  <dalej@apple.com>
11169
11170         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
11171             unsafe math reversals correctly for RTL generation.
11172           (output_cbranch):  Replace rs6000_reverse_condition call
11173             by its former definition.
11174
11175 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
11176
11177         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
11178         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
11179         from constant pool or LABEL_REFs as sign extended if allow_rip.
11180         Change all +-1GB limits to +-16MB.
11181         (x86_64_general_operand, x86_64_szext_general_operand,
11182         x86_64_nonmemory_operand, x86_64_movabs_operand,
11183         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
11184         legitimate_address_p, ix86_expand_int_movcc): Update callers.
11185         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
11186         in CM_SMALL_PIC model.
11187         (legitimate_pic_address_disp_p): Don't check offsets before
11188         calling local_symbolic_operand.
11189         (legitimize_pic_address): Force offsets bigger than +-16MB into
11190         register.
11191         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
11192         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
11193         prototype.
11194
11195         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
11196         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
11197         * configure: Rebuilt.
11198         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
11199         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
11200         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
11201         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
11202         -fpic.
11203         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
11204         non-pic code if TARGET_64BIT.
11205         (legitimize_address): Generate 64-bit TLS sequences.
11206         (output_pic_addr_const): Support x86-64 TLS operators.
11207         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
11208         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
11209         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
11210         (output_addr_const_extra): Support x86-64 TLS operators.
11211         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
11212         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
11213         unconditionally.
11214         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
11215         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
11216         (*tls_global_dynamic_sun): Renamed to...
11217         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
11218         (tls_global_dynamic): Renamed to...
11219         (tls_global_dynamic_32): ... this.
11220         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
11221         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
11222         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
11223         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
11224         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
11225         (tls_local_dynamic_base_dynamic): Renamed to...
11226         (tls_local_dynamic_base_dynamic_32): ... this.
11227         (tls_local_dynamic_base_dynamic_64,
11228         *tls_local_dynamic_base_dynamic_64): New.
11229         (*tls_local_dynamic_once): Renamed to...
11230         (*tls_local_dynamic_32_once): ... this.
11231
11232 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
11233
11234         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
11235         __divdi3, __umoddi3, or __moddi3.
11236
11237 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
11238
11239         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
11240         instead of just opt_index as switch expression.
11241
11242         * calls.c (store_one_arg): Change type of 'excess_align'
11243         to unsigned int.
11244
11245         * profile.c (output_gcov_string): Change type of 'temp'
11246         to size_t.
11247
11248 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
11249
11250         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
11251         (__fixunssfdi, __fixsfdi): Likewise.
11252         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
11253         (s390_single_qi): Likewise.
11254         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
11255         unsigned comparison warning.
11256         (s390_return_addr_rtx): New function.
11257         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
11258         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
11259         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
11260
11261 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
11262
11263         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
11264         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
11265         (s390_output_mi_thunk): Remove.
11266         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
11267
11268 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
11269
11270         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
11271
11272 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
11273
11274         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
11275         inverted test in the conditional determining the possibility
11276         of sibcalls in PIC mode.
11277
11278 2002-10-20  Richard Henderson  <rth@redhat.com>
11279
11280         * target.h (struct gcc_target): Line wrap.
11281
11282         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
11283         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
11284         * config/alpha/alpha.h: ... not here.
11285         * config/alpha/alpha-protos.h: Update.
11286
11287         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
11288         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
11289         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
11290         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
11291         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
11292         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
11293         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
11294         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
11295         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
11296         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
11297         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
11298         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
11299         config/sparc/sparc.c, config/sparc/sparc.h,
11300         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
11301         config/stormy16/stormy16.h: Similarly.
11302
11303         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
11304         selection logic from call patterns.
11305
11306 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
11307
11308         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
11309
11310 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
11311
11312         PR other/8202
11313         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
11314         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
11315         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
11316         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
11317
11318 2002-10-20  Roger Sayle  <roger@eyesopen.com>
11319
11320         PR c/761
11321         * toplev.c (flag_unsafe_profile_arcs): Remove.
11322         (flag_bounded_pointers): Remove.
11323         (flag_bounds_check): Correct comments.
11324         (lang_independent_options): Remove -funsafe-profile-arcs and
11325         -fbounded-pointers.  Correct -fbounds-check comments.
11326
11327         * flags.h: Correct flag_schedule_interblock comments.
11328         (flag_bounded_pointers): Remove prototype.
11329         (flag_bounds_check): Correct comments.
11330
11331         * c-opts.c (c_common_init_options): No need to mark
11332         flag_bounds_check as unspecified.
11333         (c_common_post_options): And no need to set it from
11334         flag_bounded_pointers if its still unspecified.
11335
11336         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
11337         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
11338         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
11339         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
11340
11341 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
11342         Angela Marie Thomas  <angela@releasedominatrix.com>
11343         Brendan Kehoe  <brendan@zen.org>
11344         Nick Clifton  <nickc@redhat.com>
11345         Andrew Haley  <aph@redhat.com>
11346
11347         * configure.in (--with-sysroot): New.  Don't inhibit libc if
11348         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
11349         and CROSS_SYSTEM_HEADER_DIR.
11350         * configure: Rebuilt.
11351         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
11352         (TARGET_SYSTEM_ROOT): New.
11353         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
11354         CROSS_SYSTEM_HEADER_DIR.
11355         (install-gcc-tooldir): New target.
11356         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
11357         if SYSTEM_HEADER_DIR does not exist and it's not the default
11358         sys-include directory.
11359         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
11360         (install-mkheaders): Likewise.
11361         * gcc.c (target_system_root): New variable.
11362         (add_sysrooted_prefix): New function.
11363         (process_command): Recompute run-time target_system_root from
11364         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
11365         does not exist.
11366         (do_spec_1): Process 'R' spec.
11367         (main): Add md_exec_prefix to exec_prefixes regardless of
11368         startfile_prefix_spec.  Use add_sysrooted_prefix for
11369         startfile_prefixes, and don't skip the default ones when cross
11370         compiling with sysroot enabled.  Removed unused case of
11371         non-absolute standard_startfile_prefix.
11372         * config/interix.h: Remove the only potential, yet disabled,
11373         occurrence of non-absolute (empty) standard_startfile_prefix.
11374         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
11375         linking.
11376         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
11377         * doc/install.texi (--with-sysroot): Document.
11378         (--with-headers, --with-libs): Deprecate.
11379
11380 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11381             Mark Mitchell  <mark@codesourcery.com>
11382
11383         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
11384         match target.h.
11385         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
11386         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
11387         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
11388         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
11389         x86_output_mi_thunk): Likewise.
11390         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
11391         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
11392         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
11393         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
11394         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
11395         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
11396         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
11397         Likewise.
11398         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
11399
11400         * target.h (gcc_target): Update output_mi_thunk and
11401         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
11402         vcall_index.
11403
11404         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
11405         TARGET_ASM_OUTPUT_MI_THUNK in comments.
11406         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
11407         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
11408         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
11409         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
11410         signature.
11411         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
11412         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11413         TARGET_ASM_OUTPUT_MI_THUNK in comments.
11414         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
11415         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
11416         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
11417         TARGET_ASM_OUTPUT_MI_THUNK in comments.
11418         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
11419         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
11420
11421         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
11422         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
11423
11424 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
11425
11426         * real.c (do_add): Fix 0+0 sign corner case.
11427         (do_divide): Fix Inf/0 corner case.
11428
11429 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
11430
11431         * i386.c (classify_argument): Pass MMX arguments in memory
11432         (ix86_expand_builtin): Expand proper address mode for cflush.
11433         * i386.md (movdqa): Fix typo.
11434         (sse2_cflush): Accept DImode addresses.
11435
11436         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
11437         (_mm_max_sd): Fix pasto.
11438         (_mm_storeh_pd, _mm_storel_pd): Fix.
11439
11440         * i386.c (bdesc_comi): Fix to match specification.
11441         (ix86_expand_sse_comi): Emit the comparison properly.
11442         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
11443         Do not use comparison operator.
11444         (vnmaskcmp): Fix template.
11445
11446         * xmmintrin.h (_mm_cvtps_pi16): Fix.
11447
11448 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
11449
11450         * dependence.c : Removed.
11451         * Makefile.in : Remove dependence.o.
11452
11453 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
11454
11455         * mmintrin.h (__m64): typedef it to v2si.
11456         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
11457         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
11458         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
11459         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
11460         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
11461         * xmmintrin.h (_mm_setzero_si64): Likewise.
11462
11463         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
11464         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
11465
11466         PR target/7693
11467         Patch by Shawn Wagner
11468         * mmintrin.h: Replace pi64 by si64.
11469
11470 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
11471
11472         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
11473         Use length of 4 not *.
11474         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
11475         (movdf_softfloat64): Likewise.
11476         (movdi_internal32): Use length of 4 not *.
11477         (movti_power): Same.
11478         (ctrsi, ctrdi): Same.
11479
11480 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
11481
11482         * c-decl.c (start_decl): Point users of the old initialized-
11483         typedef extension at __typeof__.
11484
11485 2002-10-18  Richard Henderson  <rth@redhat.com>
11486
11487         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
11488         (real_to_decimal): Re-implement using the logic from the
11489         gcc 3.2 etoasc.  Comment heavily.
11490         (div_significands): Simplify loop startup and comparison logic.
11491
11492 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
11493
11494         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
11495         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
11496         (TARGET_ASM_OUT): Add them.
11497         * target.h (asm_out): Add output_mi_thunk and
11498         output_mi_vcall_thunk.
11499         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11500         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11501         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
11502         * config/arm/arm.c (arm_output_mi_thunk): Define.
11503         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11504         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11505         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11506         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11507         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11508         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11509         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
11510         prototype.
11511         (x86_output_mi_vcall_thunk): Declare.
11512         * config/i386/i386.c (override_options): Clear
11513         output_mi_vcall_thunk in 64-bit mode.
11514         (ix86_fntype_regparm): New function.
11515         (ix86_return_pops_args): Use it.
11516         (ia32_this_parameter): New function.
11517         (x86_output_mi_vcall_thunk): New function.
11518         (x86_output_mi_thunk): Use it
11519         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
11520         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
11521         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
11522         * config/i960/i960.c (i960_output_mi_thunk): New function.
11523         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
11524         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
11525         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
11526         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11527         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11528         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
11529         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11530         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11531         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11532         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11533         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11534         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11535         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11536         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11537         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11538         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11539         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
11540         * config/s390/s390.c (s390_output_mi_thunk): Define.
11541         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11542         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11543         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11544         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11545         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11546         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11547         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
11548         * config/vax/vax.c (vax_output_mi_thunk): Define.
11549         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
11550         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
11551         * doc/tm.texi: Adjust documentation.
11552
11553 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
11554
11555         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
11556         __enable_execute_stack function.
11557         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
11558         as NETBSD_ENABLE_EXECUTE_STACK.
11559         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11560         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11561         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11562         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11563         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
11564
11565 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
11566
11567         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
11568         to __enable_execute_stack with the address of the trampoline
11569         if TRANSFER_FROM_TRAMPOLINE is defined.
11570         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
11571         constant if building libgcc2.
11572
11573 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
11574
11575         * i386.c (pentium4_cost): Fix according to Intel recommendations.
11576         (ix86_memory_move_cost): Fix for 64bit compilation.
11577
11578 2002-10-17  Roger Sayle  <roger@eyesopen.com>
11579
11580         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
11581
11582 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
11583
11584         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
11585         in CTR/LR/MQ.
11586         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
11587         to/from CTR/LR/MQ.
11588         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
11589         (movsf_softfloat): Likewise.
11590
11591 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
11592
11593         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
11594
11595 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
11596
11597         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
11598         tramp, not addr, to pass the trampoline address to
11599         __enable_execute_stack.
11600
11601 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
11602
11603         * mmintrin.h: Guard by __MMX__
11604         * xmmintrin.h: Guard by __SSE__
11605
11606         PR other/8062
11607         * xmmintrin.h (_MM_SHUFFLE2): New macro.
11608         (_mm_load*_?d): New functions.
11609         (_mm_set*_?d): New functions.
11610         (_mm_store*_?d): New functions.
11611
11612 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
11613
11614         Really commit patch announced at Oct 14
11615         PR c/7344
11616         * predict.c (can_predict_insn_p): New function.
11617         (estimate_probability): Avoid unnecesary work.
11618         (process_note_prediction): Likewise.
11619         * toplev.c (rest_of_compilation): Account early branch prediction pass
11620         as TV_BRANCH_PROB.
11621
11622         PR other/8048
11623         Found by Ian Ollmann
11624         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
11625         (_mm_load?_pd): Likewise.
11626         (_mm_store?_pd): Likewise.
11627
11628         PR target/7386
11629         * i386.c (builtin_description):Drop cmpg[te]s[sd].
11630         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
11631         swapped alternative.
11632
11633         PR opt/7630
11634         * reload1.c (reload_inner_reg_of_subreg): New argument output;
11635         (push_reload): Update call.
11636
11637 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
11638
11639         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
11640         if using mips/elf.h or mips/elf64.h.
11641         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
11642         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
11643
11644 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
11645
11646         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
11647         SI.
11648
11649 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
11650
11651         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
11652         (LPREFIX): Likewise.
11653         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
11654         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
11655         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
11656         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
11657         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
11658
11659         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
11660         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
11661         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
11662         BSS_SECTION_ASM_OP): Move from linux.h.
11663         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11664         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11665
11666         * config/s390/s390.c (s390_function_profiler): Use
11667         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
11668
11669 2002-10-15  Eric Christopher  <echristo@redhat.com>
11670
11671         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
11672         * java/parse.y (obtain_incomplete_type): Make pointer
11673         ptr_mode.
11674
11675 2002-10-15  Richard Henderson  <rth@redhat.com>
11676
11677         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
11678         as arguments.  Bound DIGITS by the available buffer size.
11679         (real_to_hexadecimal): Likewise.
11680         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
11681         (REAL_VALUE_TO_DECIMAL): Remove.
11682         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
11683         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
11684         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
11685         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
11686         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
11687         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
11688         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
11689         use real_to_decimal directly, and with the proper arguments.
11690         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
11691
11692 2002-10-15  Jim Wilson  <wilson@redhat.com>
11693
11694         * reload1.c (merge_assigned_reloads): After converting overlapping
11695         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
11696
11697         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
11698
11699 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
11700
11701         * expr.c (do_tablejump): Fix typo in my previous commit.
11702
11703 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
11704
11705         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
11706
11707 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
11708
11709         * config/s390/s390.c (s390_split_branches): Add return
11710         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
11711
11712         (find_base_register_in_addr): New function.
11713         (find_base_register_ref): New function.
11714         (replace_base_register_ref): New function.
11715
11716         (struct constant_pool): Add members pool_insn, insns, and anchor.
11717         Remove member last_insn.
11718         (s390_start_pool): Initialize them.
11719         (s390_end_pool): Emit pool placeholder insn.
11720         (s390_add_pool_insn): New function.
11721         (s390_find_pool): Use insns bitmap instead of addresses.
11722         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
11723         Replace unspec 104 by local-pool-relative references.
11724         (s390_output_constant_pool): Output anchor label if required.
11725         (s390_output_symbolic_const): Handle unspec 104 and 105.
11726         (s390_add_pool): Remove, replace by ...
11727         (s390_add_constant, s390_find_constant): ... these new functions.
11728         (s390_add_anchor): New function.
11729
11730         (s390_chunkify_pool): Delete, replace by ...
11731         (s390_chunkify_start, s390_chunkify_finish,
11732         s390_chunkify_cancel): ... these new functions.
11733         (s390_optimize_prolog): Add parameter TEMP_REGNO.
11734         Recompute register live data for special registers.
11735         (s390_fixup_clobbered_return_reg): New function.
11736         (s390_machine_dependent_reorg): Rewrite to use new
11737         s390_chunkify_... routines.
11738
11739         config/s390/s390.md ("reload_base"): Rename to ...
11740         ("reload_base_31"): ... this.
11741         ("reload_base_64"): New insn.
11742         ("reload_base2"): Remove.
11743         ("reload_anchor"): New insn.
11744         ("pool"): New insn.
11745
11746         s390.c (s390_pool_overflow): Remove.
11747         s390.h (s390_pool_overflow): Likewise.
11748         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
11749
11750 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
11751
11752         * sh.md (movv8qi_i+2): Don't split if source is -1.
11753
11754 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
11755
11756         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
11757
11758 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
11759
11760         PR opt/7409
11761         * loop.c (loop_regs_scan): Mark registers used for function
11762         argument passing as MAY_NOT_OPTIMIZE.
11763
11764 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11765
11766         * gcov-io.h (gcov_info): Fix type.
11767         * profile.c (create_profiler): Fix type mismatch.
11768
11769 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
11770
11771         * i386.md (movv2di_internal): New pattern.
11772         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
11773         (movv2di): New expander.
11774         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
11775
11776         * i386.c (ix86_expand_timode_binop_builtin): Delete.
11777         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
11778         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
11779         (ix86_expand_builtin): Likewise.
11780         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11781         sse_andti3,
11782         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
11783         sse_andnti3,
11784         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
11785         sse_orti3,
11786         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
11787         sse_xorti3): Kill.
11788         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
11789          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
11790         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
11791          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11792         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
11793          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
11794
11795         * xmmintrin.h (__m128i): Define as __v2di.
11796
11797         PR c++/6419
11798         (expand_expr): Use DECL_RTL_SET_P.
11799
11800 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11801
11802         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
11803
11804 2002-10-14  Roger Sayle  <roger@eyesopen.com>
11805             Zack Weinberg <zack@codesourcery.com>
11806
11807         * config/i386/i386.c (k6_cost): Correct typo.
11808
11809 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
11810
11811         PR optimization/6631
11812         * alias.c (objects_must_conflict_p): Check honor_readonly when
11813         examining TYPE_READONLY.
11814         * function.c (assign_stack_temp_for_type): Likewise.
11815
11816 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
11817
11818         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
11819         Swap zero extension arguments.
11820         (umaxhi3): Fix instruction class.
11821         PR target/7211
11822         (prefetch): Fix prefetch instructions.
11823         PR target/7238
11824         (pkwb): Fix output constraint.
11825
11826 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
11827
11828         * config/mips/mips.c (print_operand): Increase buffer size for
11829         real numbers.
11830
11831 2002-10-14  Richard Henderson  <rth@redhat.com>
11832
11833         PR opt/8165
11834         * gcse.c (adjust_libcall_notes): Revert last change.
11835         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
11836
11837 2002-10-14  Andrew Haley  <aph@redhat.com>
11838
11839         * tree-inline.c (remap_block): All local class initialization
11840         flags go in the outermost scope.
11841         (expand_call_inline): Call java_inlining_map_static_initializers.
11842         (expand_call_inline): Call java_inlining_merge_static_initializers.
11843         * java/lang.c (merge_init_test_initialization): New.
11844         (java_inlining_merge_static_initializers): New.
11845         (inline_init_test_initialization): New.
11846         (java_inlining_map_static_initializers): New.
11847
11848         * tree-inline.c (expand_call_inline): Convert retvar to expected
11849         type.
11850
11851 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
11852
11853         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
11854
11855 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
11856
11857         * stmt.c: Fix typo in comment.
11858
11859 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11860
11861         * c-common.c (c_common_type_for_mode): Add V2HImode case.
11862         * tree.c (build_common_tree_nodes_2): Initialize
11863         unsigned_V2HI_type_node and V2HI_type_node.
11864         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
11865         (unsigned_V2HI_type_node, V2HI_type_node): Define.
11866
11867 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
11868
11869         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
11870         Handle TARGET_64BIT.
11871
11872 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11873
11874         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
11875         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
11876         (MULTILIB_DIRNAMES): Remove long32.
11877         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
11878         (MULTILIB_REDUNDANT_DIRS): Remove.
11879
11880 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
11881
11882         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
11883         * gcc.c (driver_self_specs): New variable.
11884         (do_self_spec): New function.
11885         (main): Use it to process driver_self_specs.
11886
11887 2002-10-13  Richard Henderson  <rth@redhat.com>
11888
11889         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
11890         indirect sibcalls when regparm >= 3.
11891
11892         * config/i386/i386.c (sibcall_insn_operand): New.
11893         * config/i386/i386.h (PREDICATE_CODES): Update.
11894         * config/i386/i386-protos.h: Update.
11895         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
11896
11897         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
11898
11899 2002-10-12  Roger Sayle  <roger@eyesopen.com>
11900
11901         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
11902         arithmetic right shifts of ~0 during RTL simplifications.
11903
11904 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
11905
11906         PR preprocessor/7862
11907         PR preprocessor/8190
11908         * gcc.c (cpp_unique_options): Don't delete .d files.
11909         Remove stray whitespace.
11910
11911 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
11912
11913         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11914         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11915         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11916         (pdp11_output_function_epilogue, output_ascii): Likewise.
11917         (output_addr_const_pdp11): Likewise.
11918         * pdp11.md (movdi): Use offsetable memory for floating store.
11919         (lshrsi3, negsi2): Delete irrelevant comment.
11920
11921 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
11922
11923         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11924         indirect calls to be sibcall optimized.
11925         * config/i386/i386.md (sibcall_1): New.
11926         (call_1): Add no-sibcalls condition.
11927         (sibcall_value_1): New.
11928         (call_value_1): Add no-sibcalls condition.
11929
11930 2002-10-11  Eric Christopher  <echristo@redhat.com>
11931
11932        * output.h (default_valid_pointer_mode): Declare.
11933        * varasm.c (default_valid_pointer_mode): Define.
11934        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11935        * target.h: Ditto.
11936        * tree.c (build_pointer_type_for_mode): New function.
11937        (build_pointer_type): Use.
11938        (build_reference_type_for_mode): New function.
11939        (build_reference_type): Use.
11940        * tree.h: Declare new functions.
11941        * c-common.c (handle_mode_attribute): Use new functions, check
11942        for type.
11943        * stor-layout.c (layout_type): Depend on machine mode for
11944        REFERENCE_TYPE and POINTER_TYPE.
11945        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11946        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11947        and REFERENCE_TYPE.
11948        * config/mips/mips.c (mips_valid_pointer_mode): New function.
11949        (TARGET_VALID_POINTER_MODE): Use and define.
11950        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11951
11952 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
11953
11954         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11955         not the address of the REG.
11956         (struct cse_reg_info): Make subreg_ticked unsigned.
11957
11958 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
11959
11960         * doc/compat.texi: Add info about C++ libraries.
11961
11962 2002-10-11  Richard Henderson  <rth@redhat.com>
11963
11964         PR opt/8165
11965         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11966
11967 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11968
11969         * cfganal.c (dfs_enumerate_from): Use PARAMS.
11970         * genautomata.c (output_insn_code_cases): Likewise.
11971         * real.c (real_format): Likewise.
11972         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11973         ensure value is promoted before doing subtraction.
11974
11975 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
11976
11977         * calls.c (expand_call): Simplify noreturn call.
11978
11979         PR c/7344
11980         * cfgbuild.c (make_edges): Create edge cache when we do have
11981         large jumptable.
11982         * expr.c (do_tablejump): Note size of maximal jumptable.
11983         * function.c (prepare_function_start): Zero out size.
11984         * function.h (function): Add max_jumptable_ents.
11985
11986         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11987
11988 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11989
11990         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11991         register for mperm_w operation.
11992
11993 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11994
11995         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11996         an integer, use simplify_gen_subreg.
11997
11998 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
11999
12000         * calls.c (flags_from_decl_or_type): Make extern.
12001         (ECF_*): Move ...
12002         * rtl.h (ECF_*): ... here.
12003         (flags_from_decl_or_type): Declare.
12004
12005 2002-10-10  Roger Sayle  <roger@eyesopen.com>
12006             Nathan Sidwell <nathan@codesourcery.com>
12007
12008         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
12009         shifts of the form -1 >> x.
12010
12011 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
12012
12013         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
12014
12015 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
12016
12017         * extend.texi (Vector Extensions): Remove comment about single
12018         element vectors.
12019
12020 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12021
12022         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
12023         * function.c (insns_for_mem_hash): Likewise.
12024         * varasm.c (STRHASH): Likewise.
12025
12026 2002-10-10  Stuart Hastings  <stuart@apple.com>
12027
12028         * cse.c (struct cse_reg_info): Add subreg_ticked.
12029         (SUBREG_TICKED): New.
12030         (get_cse_reg_info): Initialize SUBREG_TICKED.
12031         (mention_regs): Use it.
12032         (invalidate): Set SUBREG_TICKED.
12033         (invalidate_for_call): Likewise.
12034         (addr_affects_sp_p): Likewise.
12035
12036 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
12037
12038         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
12039         into proper operand.
12040
12041 2002-10-10  Denis Chertykov  <denisc@overta.ru>
12042
12043         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
12044         deallocation.
12045         * config/ip2k/libgcc.S: Combine routines used by function
12046         epilogue.
12047
12048 2002-10-10  Jim Wilson  <wilson@redhat.com>
12049
12050         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
12051         UDIV.
12052
12053 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
12054
12055         * config/rs6000/aix52.h: New file.
12056         * config/rs6000/t-aix52: New File.
12057         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
12058         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
12059
12060 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
12061
12062         PR target/5610
12063         * invoke.texi (-msse-math): Kill
12064         (-msse): Add note to mfpmath=sse.
12065
12066 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
12067
12068         PR target/7723
12069         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
12070
12071 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
12072
12073         PR preprocessor/8179
12074         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
12075         as cc1_options.
12076         (default_compilers): Pass debug options when preprocessing
12077         stdin.
12078
12079 2002-10-06  Richard Henderson  <rth@redhat.com>
12080
12081         * toplev.c (rest_of_compilation): Revert opt/2960 change.
12082
12083 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
12084
12085         * i386.c (*_cost): Add branch costs.
12086         (override_options): set ix86_branch_cost.
12087         (ix86_expand_int_movcc): Use BRANCH_COST.
12088         * i386.h (costs): Add branch_cost.
12089
12090 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
12091
12092         PR c/7353
12093         * c-decl.c (start_decl): Unconditionally issue error for
12094         'typedef foo = bar'.
12095         (finish_decl): Remove special case for TYPE_DECL with initializer.
12096
12097         * doc/extend.texi: Delete "Naming Types" section.  Change all
12098         cross-references to that section to refer to "Typeof" instead.
12099         Add the useful safe-max()-macro example from "Naming Types" to
12100         "Typeof", rewritten using that extension.  Add some compatibility
12101         notes to "Typeof."
12102
12103 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12104
12105         * loop.c: Revert 2002-08-15 change.
12106         (LOOP_REGNO_NREGS): Ensure type is int.
12107
12108 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
12109
12110         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
12111         which copies first FPR and clears second.
12112         (extendsftf2): Same.
12113         (floatditf2): Fix typo.
12114         (floatsitf2): Same.
12115         (fix_trunctfdi2): Same.
12116         (fix_trunctfsi2): Same.
12117
12118 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12119
12120         * conflict.c (arc_hash): Change return type to hashval_t.
12121         * cselib.c (get_value_hash): Likewise.
12122         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
12123         state_hash, automata_list_hash): Likewise.
12124         * read-rtl.c (def_hash): Likewise.
12125         * tree.c (type_hash_hash): Likewise.
12126
12127 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
12128
12129         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
12130         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
12131
12132 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
12133
12134         * sh.md (ffssi2): Fix emitted code.
12135
12136 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
12137
12138         * cse.c (insn_live_p): Pass insn pattern, not full insn
12139         to may_trap_p.
12140
12141 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
12142
12143         * cppmacro.c (paste_tokens): Only allow / to paste with =.
12144
12145 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
12146
12147         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
12148         64-bit hosts.
12149         (movtf_internal): Reference correct displacement for second value
12150         in memory.
12151         (movtf splitter): Correct generation of constants in 64-bit mode.
12152
12153 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
12154
12155         * libgcc2.c (__floatdisf): Properly cure double rounding.
12156
12157 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12158
12159         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
12160         * doc/cpp.texi (Common Predefined Macros): Document.
12161
12162 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
12163
12164         PR doc/7484
12165         * doc/invoke.texi (Option Summary): List
12166         -Wmissing-declarations as a C only option.
12167
12168 2002-10-08  Roger Sayle  <roger@eyesopen.com>
12169
12170         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
12171         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
12172         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
12173
12174 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
12175
12176         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
12177         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
12178         variables.
12179         (safe_vector_operand): Update sse_clrv4sf call.
12180         (ix86_expand_buildin): Likewise
12181         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
12182         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
12183         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
12184         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
12185         macros.
12186         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
12187         movv4si):  Obey the new flags.
12188         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
12189         reformating penalty.
12190         (anddf, cmov patterns): Avoid reformating by first converting.
12191         (sse_cvtsd2ss): Fix predicate.
12192         (sse2_clrti): Fix mode,
12193         (sse_clrv4sf): Avoid unspec.
12194
12195 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
12196
12197         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
12198         mno-app-regs|mcmodel=medany.
12199         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
12200         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
12201         (CRTSTUFF_T_CFLAGS): Define.
12202
12203 2002-10-08  Roger Sayle  <roger@eyesopen.com>
12204
12205         PR target/8087
12206         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
12207         pool references that are constructed using LO_SUM.
12208
12209 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
12210
12211         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
12212         -Wall.
12213         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
12214         message.
12215         * flags.h (warn_strict_aliasing): Declare.
12216         * toplev.c (warn_strict_aliasing): Define.
12217         (lang_independent_options): Add it.
12218         * doc/invoke.texi (-Wstrict-aliasing): Document it.
12219
12220 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
12221
12222         * system.h (GCCBUGURL): Delete.
12223         * version.c (bug_report_url): New.  Add commentary about
12224         modifying both these strings in modified distributions.
12225         * version.h: Declare bug_report_url.
12226
12227         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
12228         bug_report_url.
12229
12230 2002-10-08  Nick Clifton  <nickc@redhat.com>
12231
12232         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
12233         convert uint64_t into __ev64_opaque__.
12234         (__ev_set_acc_s64): Likewise, but using signed types.
12235
12236 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
12237
12238         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
12239         ("*doloop_di_long"): Likewise.
12240
12241 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
12242
12243         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
12244
12245 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
12246
12247         * config/mips/mips.md (define_attr cpu): Add r4111.
12248
12249 2002-10-08  Anthony Green  <green@redhat.com>
12250
12251         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
12252
12253 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
12254
12255         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
12256         for REAL_VALUE_TO_DECIMAL output.
12257
12258 2002-10-07  Richard Henderson  <rth@redhat.com>
12259
12260         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
12261         function; cleanup PLUS case by using recursion.  Update all users.
12262         (NONZERO_BASE_PLUS_P): Remove.
12263         (find_comparison_args): Use rtx_addr_can_trap_p instead.
12264         (fold_rtx): Use nonzero_address_p.
12265         * rtl.h (nonzero_address_p): Declare.
12266         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
12267         (rtx_addr_can_trap_p): Likewise.
12268         (nonzero_address_p): New.
12269         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
12270         (simplify_relational_operation): Use nonzero_address_p.
12271
12272 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
12273
12274         * config/rs6000/rs6000.c (rs6000_override_options): Set
12275         real_format_for_mode for IBM extended format, if enabled.
12276         (easy_fp_constant): Add TFmode.
12277         (rs6000_legitimize_address): Add TFmode.
12278         (rs6000_legitimate_address): Same.
12279         (function_arg_advance): TFmode uses two FPRs.
12280         (rs6000_emit_prologue): Fix warning.
12281         (rs6000_output_function_epilogue): Add TFmode.
12282         (output_toc): Add TFmode.
12283         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
12284         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
12285         * rs6000.md (movtf splitter): Load TFmode constant.
12286
12287 2002-10-07  Dale Johannesen  <dalej@apple.com>
12288
12289         * rtl.h:  Add NOTE_PRECONDITIONED.
12290         * unroll.c:  Set it.
12291         * loop.c:  Set loop_info->preconditioned from it.
12292         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
12293
12294 2002-10-07  Richard Henderson  <rth@redhat.com>
12295
12296         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
12297         new rtx for comparing the argument pointer against zero.
12298         (i960_va_start): Similarly.
12299
12300 2002-10-07  Richard Henderson  <rth@redhat.com>
12301
12302         * config/i960/i960.md (*): Use TFmode, not XFmode.
12303         * config/i960/i960.c (*): Likewise.
12304         (i960_arg_size_and_align): Remove XFmode alignment hack.
12305         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
12306         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
12307         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
12308         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
12309
12310 2002-10-07  Richard Henderson  <rth@redhat.com>
12311
12312         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
12313         entry points; use void return value and argument list.
12314
12315 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
12316
12317         * calls.c (expand_call): Fix function-is-volatile check.
12318
12319 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
12320
12321         * t-pdp11: Add MULTILIB support for msoft-float.
12322         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
12323
12324         * t-pdp11: Add LIB2FUNCS_EXTRA.
12325         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
12326         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
12327         'fldd' to 'ldd', rename 'fstd' to 'std'.
12328         (pdp11_output_function_epilogue): Likewise.
12329         (output_move_quad): Make the comment gas compatible.
12330         (output_ascii): Add preceding 0 to the octal constant.
12331         (print_operand_address): Add pre_modify, post_modify.
12332         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
12333         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
12334         with the indication of Paul Koning.
12335         (PRINT_OPERAND): Fix floating constant.
12336         * pdp11.md (movdi): Restrict matching pattern.
12337         (movqi): Generalize the matching pattern.
12338         (movdf): Restrict matching pattern.
12339         (zero_extendqihi2): Change constant representation.
12340         (floatsidf2): Fix wrong operands.
12341         (addqi3): Fix wrong instruction name.
12342         (subqi3): Fix wrong instruction name.
12343         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
12344         (xorsi3): Fix wrong insn.
12345         (one_cmplqi2): Add two operand pattern.
12346         (lsrsi3): New.
12347         (negsi2): New.
12348         (call): Add register indirect case.
12349         (mod): Fix wrong subreg.
12350
12351 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
12352             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
12353
12354         PR c/7411
12355         * expr.c (expand_expr) [PLUS]: Simplify after the operands
12356         have been expanded in EXPAND_NORMAL mode.
12357
12358 2002-10-06  Richard Henderson  <rth@redhat.com>
12359
12360         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
12361
12362 2002-10-06  Richard Henderson  <rth@redhat.com>
12363
12364         PR optimization/2960
12365         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
12366         optimize_size.
12367
12368 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
12369
12370         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
12371         previously definitions.
12372
12373 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
12374
12375         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
12376         * c-opts.c (find_opt): Similarly.
12377
12378 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
12379
12380         * athlon.md: rewrite to DFA.
12381         * i386 (ix86_adjust_cost): Drop memory latency code.
12382         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
12383
12384 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
12385
12386         * gcc.c (set_multilib_dir): Don't access *end.
12387         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
12388         (print_multilib_info): Don't show paths starting with ".:".
12389         * genmultilib: Add new option, "yes" if multilibs are enabled.
12390         Update comments.  If multilibs not enabled, print .:${osdirout}
12391         for each directory.  If multilibs are enabled, always print
12392         ${dirout}:${osdirout}, even if the two are the same.
12393         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
12394         Pass all MULTILIB_* variables to genmultilib even if
12395         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
12396
12397 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
12398
12399         * gcc.c (process_command): Set .validated for -pipe.  Correct
12400         grammar in comment.
12401
12402 2002-10-04  Bruce Korb  <bkorb@gnu.org>
12403
12404         * fixinc/inclhack.def(hpux11_abs):  use format fix
12405         * fixinc/fixincl.x: regenerate
12406         * fixinc/tests/base/stdlib.h: accommodate new fix test
12407
12408 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
12409
12410         * c-common.c (cb_register_builtins):  Use really_no_inline.
12411
12412 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
12413
12414         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
12415         copied instruction if the note is not loop invariant.
12416
12417 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
12418
12419         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
12420
12421 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
12422
12423         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
12424         and -mhp-ld options to list of options.  Add -mgnu-ld
12425         and -mhp-ld option descriptions.
12426
12427 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
12428
12429         * fixinc/inclhack.def (hpux11_abs):  New.
12430         (stdio_va_list): change __va_list__ to __gnuc_va_list.
12431         * fixinc/fixincl.x: Rebuild.
12432
12433 2002-10-04  Roger Sayle  <roger@eyesopen.com>
12434
12435         * config/i386/i386.h (processor_costs): Add new fields fadd,
12436         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
12437         (RTX_COSTS): Use these fields to determine the RTX costs
12438         of floating point addition/subtraction, multiplication,
12439         division, fabs, negation and square root respectively.
12440         * config/i386/i386.c (size_cost): Provide instruction sizes
12441         for these new fields.
12442         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
12443         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
12444         counts for these new fields for all x86 processor variants.
12445
12446 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12447
12448         * mips.c (mips_const_double_ok): Delete unused variable.
12449
12450         * gengtype.c (rtx_next): Change type to int.
12451
12452 2002-10-04  Andreas Jaeger  <aj@suse.de>
12453
12454         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
12455
12456 2002-10-04  Richard Henderson  <rth@redhat.com>
12457
12458         * real.h (SIGNIFICAND_BITS): Add one more word.
12459         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
12460         * real.c (times_pten): New.
12461         (real_to_decimal, real_from_string): Use it.
12462         (sticky_rshift_significand): Use & to find modulus.
12463         (rshift_significand, lshift_significand): Likewise.
12464         (do_divide): Apply sticky bit after normalization.
12465         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
12466
12467 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
12468
12469         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
12470         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12471
12472 2002-10-03  Andreas Jaeger  <aj@suse.de>
12473
12474         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
12475         to unsigned long, adjust printf format string.
12476         (output_mangled_typename): Likewise.
12477
12478 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
12479
12480         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
12481         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
12482         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
12483         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
12484         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
12485         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
12486         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
12487         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
12488
12489 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
12490
12491         * doc/invoke.texi (-Wabi): Document mangling bug.
12492
12493 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
12494
12495         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
12496         name for the tbtab label that depends on the function asm name.
12497         Don't output tbtab label unless optional_tbtab.
12498         (output_mi_thunk): Formatting.
12499
12500 2002-10-03  Richard Henderson  <rth@redhat.com>
12501
12502         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
12503         * config/m68k/m68k.c (override_options): ... here.
12504         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
12505         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
12506         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
12507         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
12508
12509 2002-10-03  Richard Henderson  <rth@redhat.com>
12510
12511         * real.h (struct real_value): Use ENUM_BITFIELD.
12512
12513 2002-10-03  Richard Henderson  <rth@redhat.com>
12514
12515         * config/i960/i960.md (call, call_value): Use emit_call_insn.
12516
12517 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
12518
12519         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
12520
12521 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
12522
12523         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
12524         * config/pa/pa.h (MASK_GNU_LD): New.
12525         (TARGET_GNU_LD): New.
12526         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
12527         on gnu-ld and MASK_GNU_LD.
12528         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
12529
12530 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
12531
12532         * i386.c (athlon_cost): Fix the move costs.
12533
12534 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
12535
12536         * final.c (final): Use symbol name as function name for profiling.
12537         * profile.c (get_exec_counts): Likewise.
12538         (branch_prob): Likewise.
12539
12540 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
12541
12542         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
12543
12544 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
12545
12546         * gcc.c (print_multi_os_directory): New variable.
12547         (option_map): Support --print-multi-os-directory.
12548         (struct prefix_list): Add os_multilib field.
12549         (multilib_os_dir): New variable.
12550         (static_specs): Add multilib_options.
12551         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
12552         subdirs if nonzero.
12553         (read_specs, execute): Update callers.
12554         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
12555         pass 1 as multilib option.
12556         (display_help): Include --print-multi-os-directory.
12557         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
12558         (process_command): Update callers.  Handle --print-multi-os-directory.
12559         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
12560         set.
12561         (main): Update find_a_file and add_prefix callers.
12562         Handle print_multi_os_directory.
12563         (struct mdswitchstr): New.
12564         (mdswitches, n_mdswitches): New variables.
12565         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
12566         present on the command line nor their mutually incompatible
12567         switches.
12568         (default_arg): Optimize.
12569         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
12570         array.
12571         (print_multilib_info): Only print GCC multilib dir name, not OS
12572         multilib dirname.
12573         * genmultilib: Add osdirnames parameter.  Output multilib_options
12574         variable.  If osdirnames is specified, output dirnames as
12575         dirname:osdirname.
12576         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
12577         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
12578         to compute libgcc_s soname and install path.
12579         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
12580         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
12581         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
12582         argument.
12583
12584         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12585         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12586         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
12587         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
12588         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
12589         and -m64.
12590         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
12591         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12592         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
12593         (STARTFILE_ARCH_SPEC): Remove.
12594         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
12595         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12596         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
12597         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
12598         (SHLIB_SLIBDIR_SUFFIXES): Remove.
12599
12600 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
12601
12602         * predict.c (choose_function_section): Avoid choice for linkonce functions.
12603
12604 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
12605
12606         * i386.md (lea to mul peep2): Fix condition.
12607
12608 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12609
12610         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
12611         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
12612
12613 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
12614
12615         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
12616         attribute "unused".
12617
12618         * config/t-libunwind: Mention unwind-sjlj.c.
12619         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
12620         to #ifndef __USING_SJLJ_EXCEPTIONS__.
12621
12622         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
12623         before inclusion of config.gcc, but after configuring the compiler etc.
12624         Determine default value for --enable-libunwind-exceptions based on
12625         whether the host has a libunwind library (not guaranteed to be correct,
12626         but it's a reasonable first guess and can always be overridden with an
12627         explicit --enable/disable-libunwind-exceptions.
12628         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
12629         tmake_file when $use_libunwind_exceptions is enabled.
12630         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
12631         ia64 (e.g., config/t-linux also updates it).
12632         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
12633         along with the shared version of libgcc since the latter requires
12634         the former.
12635         * unwind-libunwind.c: New file.
12636         * config/t-libunwind: Ditto.
12637
12638 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
12639
12640         * config.gcc: Remove support for vax-*-vms*.
12641         * config/vax/vms.h: Remove.
12642         * config/vax/xm-vms.h: Remove.
12643         * config/vax/vax-protos.h: Remove VMS-specific code.
12644         * config/vax/vax.c: Remove VMS-specific code.
12645
12646 2002-10-02  Richard Henderson  <rth@redhat.com>
12647
12648         PR opt/7124
12649         * config/i386/i386.c (ix86_register_move_cost): Increase cost
12650         for secondary_memory_needed pairs.
12651
12652 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
12653
12654         * doc/vms.texi: Blow away false include file section.
12655
12656 2002-10-02  Roger Sayle  <roger@eyesopen.com>
12657
12658         PR optimization/6627
12659         * toplev.c (force_align_functions_log): New global variable.
12660         * flags.h (force_align_functions_log): Add extern prototype.
12661         * varasm.c (assemble_start_function): Use it to force minimum
12662         function alignment.
12663         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
12664         minimum function alignment to one byte.
12665         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
12666         the least significant bit of vtable member function pointers.
12667         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
12668         here from cp/cp-tree.h.
12669
12670 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
12671
12672         * i386.c (print_operand_address): Use RIP addressing for offsetted
12673         label refs too.
12674
12675 2002-09-30  David S. Miller  <davem@redhat.com>
12676
12677         PR middle-end/7151
12678         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
12679         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
12680
12681 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
12682
12683         * calls.c (expand_call): Remove the `no indirect check'
12684         for sibcall optimization; use function_ok_for_sibcall
12685         target hook; refine check for `function is volatile'.
12686         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
12687         * hooks.c (hook_tree_tree_bool_false): New.
12688         * hooks.h (hook_tree_tree_bool_false): Declare.
12689         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
12690         (TARGET_INITIALIZER): Add it.
12691         * target.h (struct gcc_target): Add function_ok_for_sibcall.
12692         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
12693         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12694         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12695         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
12696         Remove function declaration.
12697         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
12698         function static and accept another argument of type `tree'.
12699         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12700         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12701         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12702         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
12703         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12704         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12705         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12706         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
12707         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
12708         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12709         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12710         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
12711         Remove function declaration.
12712         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
12713         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
12714         rename first argument to `decl'; accept another argument
12715         of type `tree'; make static.
12716         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12717         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12718         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
12719         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12720         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12721         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
12722         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
12723         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12724         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
12725
12726 2002-10-01  Roger Sayle  <roger@eyesopen.com>
12727
12728         * unroll.c (loop_iterations): Revert 2002-09-08 change.
12729
12730 2002-10-01  Richard Henderson  <rth@redhat.com>
12731
12732         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
12733         (real_to_hexadecimal): Likewise.
12734         * print-rtl.c (print_rtx): If we are linked with real.c, don't
12735         dump the XWINT fields of a floating point CONST_DOUBLE.
12736
12737 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
12738
12739         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
12740
12741 2002-10-01  Richard Henderson  <rth@redhat.com>
12742
12743         * calls.c (precompute_register_parameters): Force non-legitimate
12744         constants into pseudos.
12745
12746 2002-10-01  Nick Clifton  <nickc@redhat.com>
12747
12748         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
12749         to assembler template.
12750
12751 2002-10-01  Richard Henderson  <rth@redhat.com>
12752
12753         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
12754         for TLS debug info to !DECL_EXTERNAL.
12755
12756 2002-10-01  Matt Thomas  <matt@3am-software.com>
12757             Jason Thorpe  <thorpej@wasabisystems.com>
12758
12759         * config.gcc (vax-*-netbsdelf*): Enable configuration.
12760         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
12761         if not already defined.
12762         * config/vax/elf.h: New file.
12763         * config/vax/netbsd-elf.h: New file.
12764         * config/vax/vax.c: Include "debug.h".
12765         (vax_output_function_prologue): Add dwarf2 support.  Use
12766         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
12767         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
12768         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
12769         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
12770         (VAX_ISTREAM_SYNC): Remove.
12771         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
12772         (JUMP_TABLES_IN_TEXT_SECTION): Define.
12773         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
12774         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
12775         and assemble_name.
12776         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
12777         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
12778         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
12779         (INCOMING_RETURN_ADDR_RTX): Define.
12780         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
12781         (VUNSPEC_SYNC_ISTREAM): Define.
12782         (blockage): Use VUNSPEC_BLOCKAGE.
12783         (sync_istream): New insn.
12784
12785 2002-10-01  Richard Henderson  <rth@redhat.com>
12786
12787         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
12788         (*call_value_pop, call, call_value): Add dwarf2 EH support.
12789         (*call): New insn.
12790
12791 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12792
12793         PR c/8083
12794         * c-typeck.c (build_c_cast): Warn about type punning which breaks
12795         type based aliasing.
12796
12797 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
12798
12799         * stor-layout.c (update_alignment_for_field): New function.
12800         (place_union_field): Use it.
12801         (place_field): Likewise.
12802
12803 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
12804
12805         PR other/8077
12806         * gcc.c (cc1_options): Add space on -auxbase-strip.
12807
12808 2002-10-01  Jim Wilson  <wilson@redhat.com>
12809
12810         * config/v850/v850.h (EPILOGUE_USES): Define.
12811
12812 2002-09-30  Andrew Haley  <aph@redhat.com>
12813
12814         * flow.c (insn_dead_p): When using non-call-exceptions, don't
12815         eliminate insns that may trap.
12816         * cse.c (insn_live_p): Likewise.
12817
12818 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12819
12820         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
12821         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
12822         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
12823         * config/mips/mips.md: Apply same renaming here.
12824
12825 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12826
12827         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
12828         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
12829         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
12830         * config/mips/mips.md (define_attr cpu): Remove r4320.
12831         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
12832
12833 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12834
12835         * config/mips/mips.c (mips16_strings): New variable.
12836         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
12837         symbol in mips16_strings.  Free the list.
12838         (mips_encode_section_info): Keep track of local strings.
12839
12840 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12841
12842         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
12843         (sordered_df, sordered_sf): Remove.
12844         * config/mips/mips.c (get_float_compare_codes): New fn.
12845         (gen_int_relational, gen_conditional_move): Use it.
12846
12847 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
12848
12849         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
12850         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
12851         * config/mips/mips.c (fcc_register_operand): New function.
12852         (mips_emit_fcc_reload): New function, extracted from reload_incc.
12853         (override_options): Allow TFmode values in float registers
12854         if ISA_HAS_8CC.
12855         * cnfig/mips/mips.md (reload_incc): Change destination prediate
12856         to fcc_register_operand.  Remove misleading source constraint.
12857         Use mips_emit_fcc_reload.
12858         (reload_outcc): Duplicate reload_incc.
12859
12860 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
12861
12862         * gcc.c (validate_switches): Handle all new forms of spec
12863         syntax introduced recently.  Now returns a char *.
12864         (validate_all_switches): Repetitive logic broken out to...
12865         (validate_switches_from_spec): ...here.
12866         * mklibgcc.in: Don't @-flag commands to generate .oS files.
12867
12868 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
12869
12870         * longlong.h: Partially synchronize with GMP-4.1 version:
12871         Use i370 definitions also for s390.
12872         Add generic definition of umul_ppmm in terms of smul_ppmm.
12873         [s390] (umul_ppmm): Remove.
12874         [s390] (smul_ppmm): Fix incorrect assembler constraints.
12875         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
12876
12877 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
12878
12879         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
12880         Add new RL_REGS register class.
12881         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
12882         Call xtensa_preferred_reload_class for both input and output reloads.
12883         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
12884         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
12885         instead of either AR_REGS or GR_REGS classes.
12886         (xtensa_secondary_reload_class): Use new RL_REGS class.
12887         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
12888
12889 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12890
12891         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
12892         (pa_strip_name_encoding): Strip '@' and '*', in that order.
12893         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
12894         there is a '*' prefix in NAME.
12895
12896 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
12897
12898         * reload.c (push_reload): Handle subregs and secondary memory.
12899         * reload1.c (gen_reload): Likewise.
12900
12901         * jump.c (reg_or_subregno): New function.
12902         * rtl.h (reg_or_subregno): Declare
12903         * unroll.c (find_splittable_givs): Handle subregs.
12904
12905 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
12906
12907         * store-layout.c (finish_record_layout): Add free_p parameter.
12908         (layout_type): Pass it.
12909         * tree.h (finish_record_layout): Update prototype.
12910
12911 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
12912
12913         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12914
12915         * gcse.c (cprop_jump): Check that the register has not
12916         been modified
12917         (cprop_jump): Likewise.
12918
12919 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
12920
12921         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12922         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12923         that we have a SImode access, and only then if reload hasn't completed;
12924         for all other cases, use LO_REGS.
12925
12926 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12927
12928         * openbsd.h: Fix typo in last change.
12929
12930 2002-09-29  Richard Henderson  <rth@redhat.com>
12931
12932         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
12933
12934 2002-09-29  Richard Henderson  <rth@redhat.com>
12935
12936         PR c/8002
12937         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12938         for CONST_INT.
12939
12940 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
12941
12942         * real.h (ibm_extended_format): Declare.
12943         * real.c (encode_ibm_extended, decode_ibm_extended): New
12944         functions.
12945
12946 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12947
12948         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12949
12950         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12951
12952 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12953
12954         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12955
12956 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
12957
12958         * builtins.def: Fix comment formatting.
12959         * c-common.def: Likewise.
12960         * cfgcleanup.c: Likewise.
12961         * combine.c: Likewise.
12962         * gengtype.c: Likewise.
12963         * params.def: Likewise.
12964         * predict.def: Likewise.
12965         * rtl.def: Likewise.
12966         * stab.def: Likewise.
12967         * stor-layout.c: Likewise.
12968         * tree.def: Likewise.
12969         * config/darwin.c: Likewise.
12970         * config/darwin.h: Likewise.
12971         * config/dbxcoff.h: Likewise.
12972         * config/elfos.h: Likewise.
12973         * config/fp-bit.c: Likewise.
12974         * config/freebsd-spec.h: Likewise.
12975         * config/interix.h: Likewise.
12976         * config/libgloss.h: Likewise.
12977         * config/linux-aout.h: Likewise.
12978         * config/linux.h: Likewise.
12979         * config/lynx-ng.h: Likewise.
12980         * config/lynx.h: Likewise.
12981         * config/netbsd-aout.h: Likewise.
12982         * config/netbsd.h: Likewise.
12983         * config/netware.h: Likewise.
12984         * config/psos.h: Likewise.
12985         * config/ptx4.h: Likewise.
12986
12987 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
12988
12989         * ChangeLog.4: Fix typos.
12990         * ChangeLog.6: Likewise.
12991         * FSFChangeLog.10: Likewise.
12992         * genattrtab.c: Fix comment typos.
12993         * haifa-sched.c: Likewise.
12994         * real.c: Likewise.
12995         * tree.h: Likewise.
12996         * config/arm/arm.c: Likewise.
12997         * config/arm/crti.asm: Likewise.
12998         * config/arm/crtn.asm: Likewise.
12999         * config/frv/frv.c: Likewise.
13000         * config/frv/frv.md: Likewise.
13001         * config/h8300/h8300.md: Likewise.
13002         * config/i386/rtemself.h: Likewise.
13003         * config/ia64/unwind-ia64.c: Likewise.
13004         * config/ip2k/ip2k.h: Likewise.
13005         * config/m88k/m88k.c: Likewise.
13006         * config/m88k/m88k.md: Likewise.
13007         * config/mips/sr71k.md: Likewise.
13008         * config/mmix/mmix.c: Likewise.
13009         * config/rs6000/rs6000.c: Likewise.
13010         * config/sh/sh.md: Likewise.
13011
13012 2002-09-26  Theodore A. Roth  <troth@verinet.com>
13013
13014         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
13015         * config/avr/avr.md: Ditto.
13016
13017 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
13018
13019         PR preprocessor/8055
13020         * cppmacro.c (stringify_arg): Do not overflow the buffer
13021         with the terminating NUL when the argument to be stringified
13022         has no tokens.
13023
13024 2002-09-27  Richard Henderson  <rth@redhat.com>
13025
13026         * unroll.c (simplify_cmp_and_jump_insns): New.
13027         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
13028         instead of expand_simple_foo.
13029
13030 2002-09-27  Richard Henderson  <rth@redhat.com>
13031
13032         PR optimization/7520
13033         * cfganal.c (flow_active_insn_p): New.
13034         (forwarder_block_p): Use it.
13035
13036 2002-09-27  Richard Henderson  <rth@redhat.com>
13037
13038         * emit-rtl.c (active_insn_p): Revert last change.
13039
13040 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
13041
13042         * doc/extend.texi (tls_model): Document.
13043         * varasm.c (decl_tls_model): New.
13044         * c-common.c (handle_tls_model_attribute): New.
13045         (c_common_attribute_table): Add tls_model.
13046         * config/alpha/alpha.c (alpha_encode_section_info): Use
13047         decl_tls_model.
13048         * flags.h (enum tls_model, flag_tls_default): Move...
13049         * tree.h (enum tls_model, flag_tls_default): ...here.
13050         (decl_tls_model): New prototype.
13051         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
13052         * config/i386/i386.c (ix86_encode_section_info): Likewise.
13053         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
13054         Allow !flag_pic.
13055
13056 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
13057
13058         * LANGUAGES: Follow spelling conventions.
13059         * rtl.def: Likewise.
13060         * sbitmap.c: Likewise.
13061         * sched-int.h: Likewise.
13062         * sched-rgn.c: Likewise.
13063         * sibcall.c: Likewise.
13064         * simplify-rtx.c: Likewise.
13065         * ssa.c: Likewise.
13066         * stab.def: Likewise.
13067         * stmt.c: Likewise.
13068         * stor-layout.c: Likewise.
13069         * target.h: Likewise.
13070         * timevar.c: Likewise.
13071         * toplev.c: Likewise.
13072         * tree-dump.c: Likewise.
13073         * tree-inline.c: Likewise.
13074         * tree.c: Likewise.
13075         * tree.def: Likewise.
13076         * tree.h: Likewise.
13077         * unroll.c: Likewise.
13078         * varasm.c: Likewise.
13079         * vmsdbgout.c: Likewise.
13080         * treelang/treelang.texi: Likewise.
13081         * treelang/treetree.c: Likewise.
13082
13083 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
13084
13085         * config/h8300/h8300.c (compute_saved_regs): Use a macro
13086         instead of a hard register number.
13087         (get_shift_alg): Use an enumerated type instead of numbers.
13088         (h8300_shift_needs_scratch_p): Likewise.
13089
13090 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
13091
13092         * varasm.c (force_data_section): Remove.
13093         (assemble_constant_align): Likewise.
13094         * output.h: Remove corresponding prototypes.
13095
13096 2002-09-26  Roger Sayle  <roger@eyesopen.com>
13097
13098         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
13099         jump, if the loop to exit is the top of the current nesting stack.
13100
13101 2002-09-26  Torbjorn Granlund  <tege@swox.com>
13102
13103         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
13104         arithmetic.
13105
13106 2002-09-26  David S. Miller  <davem@redhat.com>
13107
13108         PR optimization/7335
13109         * calls.c (emit_library_call_value_1): Passing args by reference
13110         converts a CONST function into a PURE one.
13111
13112 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
13113
13114         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
13115         text_section.
13116         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
13117         text section.
13118         * config/rs6000/rs6000.c (rs6000_override_options): Allow
13119         function-sections and data-sections functionality on AIX.
13120
13121 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
13122             Dale Johannesen  <dalej@apple.com>
13123
13124         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
13125         in RTL for sub-word loads from memory.
13126
13127 2002-09-26  Richard Henderson  <rth@redhat.com>
13128
13129         PR c/7160
13130         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
13131         on call insns.
13132
13133 2002-09-26  Richard Henderson  <rth@redhat.com>
13134
13135         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
13136
13137 2002-09-26  Chris Lattner  <sabre@nondot.org>
13138
13139         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
13140         handling undefined values.
13141
13142 2002-09-26  Richard Henderson  <rth@redhat.com>
13143
13144         PR opt/7520
13145         * emit-rtl.c (active_insn_p): Consider a clobber of the
13146         function return value to be active even after reload.
13147
13148 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
13149
13150         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
13151         by absolute loop increment, not loop increment.
13152
13153 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
13154
13155         * c-common.h: Follow spelling conventions.
13156         * cpplex.c: Likewise.
13157         * cpplib.h: Likewise.
13158         * gthr-dce.h: Likewise.
13159         * gthr-posix.h: Likewise.
13160         * optabs.c: Likewise.
13161         * output.h: Likewise.
13162         * profile.c: Likewise.
13163         * protoize.c: Likewise.
13164         * ra-rewrite.c: Likewise.
13165         * real.c: Likewise.
13166         * recog.c: Likewise.
13167         * reg-stack.c: Likewise.
13168         * regclass.c: Likewise.
13169         * regmove.c: Likewise.
13170         * reload.c: Likewise.
13171         * reload.h: Likewise.
13172         * reload1.c: Likewise.
13173         * reorg.c: Likewise.
13174         * resource.c: Likewise.
13175         * rtl.h: Likewise.
13176         * rtlanal.c: Likewise.
13177
13178 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
13179
13180         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
13181         for symbol address.
13182
13183 2002-09-24  Eric Christopher  <echristo@redhat.com>
13184
13185         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
13186         * config/mips/elf64.h: Ditto.
13187
13188 2002-09-24  Eric Christopher  <echristo@redhat.com>
13189
13190         * except.c (expand_builtin_extract_return_address): Handle case
13191         where Pmode != ptr_mode.
13192
13193 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
13194
13195         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
13196
13197 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
13198
13199         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
13200
13201 2002-09-26  Igor Shevlyakov <igor@microunity.com>
13202
13203         * combine.c (simplify_set): Don't call to force_to_mode if size
13204         of integer type is larger than HOST_BITS_PER_WIDE_INT.
13205
13206 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
13207
13208         * Makefile.in (qmtest-g++): Fix file path.
13209
13210 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
13211
13212         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
13213         A + (-const) on RTX level, even for unsigned types.
13214
13215 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
13216
13217         * reload.c (dup_replacements): New function.
13218         (find_reloads): Use it to duplicate replacements at the top level
13219         of match_dup operands.
13220
13221 2002-09-26  Miles Bader  <miles@gnu.org>
13222
13223         * v850.md ("length"): Change default value to 4.
13224
13225 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
13226
13227         * ChangeLog.1: Follow spelling conventions.
13228         * ChangeLog.4: Likewise.
13229         * ChangeLog.6: Likewise.
13230         * FSFChangeLog.11: Likewise.
13231         * doc/cpp.texi: Likewise.
13232         * doc/invoke.texi: Likewise.
13233         * doc/tm.texi: Likewise.
13234
13235 2002-09-26  Nick Clifton  <nickc@redhat.com>
13236
13237         * config.gcc: Add x prefix to v850e case for handling
13238         --with-cpu=v850e.
13239
13240 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
13241
13242         * gcc.c (input_suffix_matches, switch_matches,
13243         mark_matching_switches, process_marked_switches,
13244         process_brace_body): New functions - split from handle_braces.
13245         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
13246         and ignore whitespace in more places.
13247         (specs documentation comment): Document %{S:X;T:Y;:D}.
13248         Clarify other %{...} docs.
13249         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
13250         %{...} docs.
13251
13252         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
13253         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
13254
13255 2002-09-25  David S. Miller  <davem@redhat.com>
13256
13257         PR target/7842
13258         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
13259         extend.
13260
13261 2002-09-25  Richard Henderson  <rth@redhat.com>
13262
13263         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
13264         fp CONST_DOUBLE; use real_identical.
13265
13266 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
13267
13268         * doc/invoke.texi: Add more -Wabi examples.
13269
13270 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
13271
13272         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
13273
13274 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
13275
13276         * profile.c (end_branch_prob): Only look for __gcov_init on
13277         weak-enabled native compilers.
13278
13279 2002-09-24  Denis Chertykov  <denisc@overta.ru>
13280
13281         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
13282         cases of optimizing "add sp,w" to "inc sp".
13283
13284 2002-09-24  Adam Nemet  <anemet@lnxw.com>
13285
13286         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
13287         epilogue for naked functions.
13288
13289 2002-09-24  Adam Nemet  <anemet@lnxw.com>
13290             Nick Clifton  <nickc@redhat.com>
13291
13292         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
13293         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
13294         is defined.
13295
13296 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
13297
13298         * config/s390/s390.c (preferred_la_operand_p): New function.
13299         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
13300         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
13301         ("*la_64_cc", "*la_31_cc", splitters): ... these.
13302         ("*la_31"): Deactivate for TARGET_64BIT.
13303         ("*la_31_and", "*la_31_and_cc"): New.
13304
13305 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13306
13307         * real.h (real_value): Make `exp' explicitly signed.
13308
13309 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
13310
13311         * config/elfos.h: Follow spelling conventions.
13312         * config/alpha/alpha.h: Likewise.
13313         * config/arc/arc.h: Likewise.
13314         * config/arm/arm.md: Likewise.
13315         * config/avr/avr.h: Likewise.
13316         * config/cris/cris.md: Likewise.
13317         * config/d30v/d30v.h: Likewise.
13318         * config/frv/frv.c: Likewise.
13319         * config/frv/frv.h: Likewise.
13320         * config/h8300/h8300.c: Likewise.
13321         * config/h8300/h8300.h: Likewise.
13322         * config/h8300/h8300.md: Likewise.
13323         * config/i386/cygwin.h: Likewise.
13324         * config/i386/i386.h: Likewise.
13325         * config/i386/sysv3.h: Likewise.
13326         * config/i960/i960.h: Likewise.
13327         * config/ia64/ia64.h: Likewise.
13328         * config/ia64/ia64.md: Likewise.
13329         * config/ip2k/ip2k.h: Likewise.
13330         * config/m32r/m32r.h: Likewise.
13331         * config/m68k/m68k.h: Likewise.
13332         * config/m88k/m88k.h: Likewise.
13333         * config/mcore/mcore.c: Likewise.
13334         * config/mcore/mcore.h: Likewise.
13335         * config/mcore/mcore.md: Likewise.
13336         * config/mips/mips.h: Likewise.
13337         * config/mmix/mmix.h: Likewise.
13338         * config/mmix/mmix.md: Likewise.
13339         * config/ns32k/netbsd.h: Likewise.
13340         * config/ns32k/ns32k.h: Likewise.
13341         * config/ns32k/ns32k.md: Likewise.
13342         * config/pa/pa.h: Likewise.
13343         * config/romp/romp.h: Likewise.
13344         * config/rs6000/rs6000.h: Likewise.
13345         * config/rs6000/rs6000.md: Likewise.
13346         * config/sparc/sparc.h: Likewise.
13347         * config/stormy16/stormy-abi: Likewise.
13348         * config/stormy16/stormy16.h: Likewise.
13349         * config/vax/vax.h: Likewise.
13350
13351 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
13352
13353         * config/alpha/alpha.h: Remove commented-out macro
13354         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
13355         * config/avr/avr.h: Likewise.
13356         * config/d30v/d30v.h: Likewise.
13357         * config/dsp16xx/dsp16xx.h: Likewise.
13358         * config/i370/i370.h: Likewise.
13359         * config/i386/i386.h: Likewise.
13360         * config/i960/i960.h: Likewise.
13361         * config/m68k/m68k.h: Likewise.
13362         * config/m88k/m88k.h: Likewise.
13363         * config/mips/mips.h: Likewise.
13364         * config/ns32k/ns32k.h: Likewise.
13365         * config/pdp11/pdp11.h: Likewise.
13366         * config/romp/romp.h: Likewise.
13367         * config/rs6000/rs6000.h: Likewise.
13368         * config/s390/s390.h: Likewise.
13369         * config/sh/sh.h: Likewise.
13370         * config/sparc/sparc.h: Likewise.
13371         * config/stormy16/stormy16.h: Likewise.
13372         * config/vax/vax.h: Likewise.
13373
13374 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
13375
13376         * function.c (push_temp_slots_for_block): Remove.
13377         (push_temp_slots_for_target): Likewise.
13378         (get_target_temp_slot_level): Likewise.
13379         (set_target_temp_slot_level): Likewise.
13380         (get_first_block_beg): Likewise.
13381         * function.h: Remove corresponding prototypes.
13382
13383 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
13384
13385         * version.c (version_string): Now const char[].
13386         * version.h: Update to match.
13387
13388 2002-09-23  Richard Henderson  <rth@redhat.com>
13389
13390         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
13391         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
13392         (TARGET_SWITCHES): Don't reference them.
13393         * config/i386/i386.c (override_options): Use target_flags_explicit
13394         to examine bits set by the user.
13395
13396 2002-09-23  Dale Johannesen  <dalej@apple.com>
13397
13398         * dbxout.c (dbxout_parms):  Set current_sym_code for params
13399         passed on stack by invisible reference.
13400
13401 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
13402
13403         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
13404         at least one byte of space.
13405
13406 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
13407
13408         * c-common.h (flag_abi_version): Fix typo in comment.
13409         * doc/invoke.texi (flag_abi_version): Document default value.
13410
13411 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
13412
13413         * doc/extend.texi (Extended Asm): Clarify that overlap between
13414         asm-declared register variables used in an asm and the asm clobber
13415         list is not allowed.
13416         * stmt.c (decl_conflicts_with_clobbers_p): New function.
13417         (expand_asm_operands): Keep track of clobbered registers.  Call
13418         decl_conflicts_with_clobbers_p for each input and output operand.
13419         If no conflicts found before, also do conflict sanity check when
13420         emitting clobbers.
13421
13422 2002-09-23  Richard Henderson  <rth@redhat.com>
13423
13424         * c-common.c (cpp_define_data_format): Remove.
13425         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
13426         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
13427         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
13428         * doc/cpp.texi: Don't document them either.
13429         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
13430         __LONG_LONG_MAX__): Document.
13431         (__TARGET_FLOAT_FORMAT__): Remove.
13432
13433 2002-09-23  Richard Henderson  <rth@redhat.com>
13434
13435         * real.c (do_multiply): Normalize U before addition.
13436
13437 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
13438
13439         * c-common.c (flag_abi_version): New variable.
13440         * c-common.h (flag_abi_version): Declare it.
13441         * c-opts.c (missing_arg): Add -fabi-version.
13442         (c_common_decode_option): Process -fabi-version.
13443         * doc/invoke.texi (-fabi-version): Document it.
13444         (-Wabi): Add information about bit-fields in unions.
13445
13446 2002-09-22  Roger Sayle  <roger@eyesopen.com>
13447
13448         * expr.c (STORE_BY_PIECES_P): New target macro.
13449         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
13450         instead of MOVE_BY_PIECES_P.
13451         * doc/tm.texi: Document this new macro.
13452
13453 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
13454
13455         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
13456         unless -fno-pic or -fno-PIC is specified.
13457
13458 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13459
13460         * c-common.c (preprocessing_trad_p): Define.
13461         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
13462         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
13463         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13464         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
13465         * pa-linux.h (CPP_PREDEFINES): Delete.
13466         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
13467         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
13468         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
13469         (TARGET_OS_CPP_BUILTINS): Define.
13470         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
13471         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
13472         (SUBTARGET_SWITCHES): Provide default definition.
13473         (TARGET_OPTIONS): Reformat.  Use N_() macro.
13474         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
13475         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
13476         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
13477         (TARGET_CPU_CPP_BUILTINS): Define.
13478         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
13479         * doc/invoke.texi (msio, mwsio): Document new hppa options.
13480         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
13481         preprocessing_trad_p().
13482
13483 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
13484
13485         * doc/install.texi: Document behavior of --with-headers and
13486         --with-libs when arguments are omitted.
13487
13488 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
13489
13490         * dbxout.c: Follow spelling conventions.
13491         * defaults.h: Likewise.
13492         * df.c: Likewise.
13493         * diagnostic.h: Likewise.
13494         * doloop.c: Likewise.
13495         * dwarf2out.c: Likewise.
13496         * dwarfout.c: Likewise.
13497         * emit-rtl.c: Likewise.
13498         * except.c: Likewise.
13499         * explow.c: Likewise.
13500         * expmed.c: Likewise.
13501         * expr.c: Likewise.
13502         * expr.h: Likewise.
13503         * flags.h: Likewise.
13504         * flow.c: Likewise.
13505         * fold-const.c: Likewise.
13506         * function.c: Likewise.
13507         * function.h: Likewise.
13508         * gcc.c: Likewise.
13509         * gcov-io.h: Likewise.
13510         * gcov.c: Likewise.
13511         * gcse.c: Likewise.
13512         * genattrtab.c: Likewise.
13513         * genconfig.c: Likewise.
13514         * genrecog.c: Likewise.
13515         * ggc-page.c: Likewise.
13516         * ggc.h: Likewise.
13517         * global.c: Likewise.
13518         * gthr-win32.h: Likewise.
13519         * integrate.c: Likewise.
13520         * jump.c: Likewise.
13521         * langhooks.c: Likewise.
13522         * langhooks.h: Likewise.
13523         * line-map.h: Likewise.
13524         * local-alloc.c: Likewise.
13525         * longlong.h: Likewise.
13526         * loop.c: Likewise.
13527         * loop.h: Likewise.
13528
13529 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
13530
13531         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
13532
13533 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
13534
13535         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
13536         for -Os/TARGET_64BIT too.
13537
13538 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
13539
13540         * ChangeLog: Follow spelling conventions.
13541         * ChangeLog.0: Likewise.
13542         * ChangeLog.1: Likewise.
13543         * ChangeLog.2: Likewise.
13544         * ChangeLog.3: Likewise.
13545         * ChangeLog.4: Likewise.
13546         * ChangeLog.5: Likewise.
13547         * ChangeLog.6: Likewise.
13548         * FSFChangeLog.10: Likewise.
13549         * FSFChangeLog.11: Likewise.
13550         * alias.c: Likewise.
13551         * basic-block.h: Likewise.
13552         * c-aux-info.c: Likewise.
13553         * c-common.c: Likewise.
13554         * c-common.h: Likewise.
13555         * c-decl.c: Likewise.
13556         * c-format.c: Likewise.
13557         * c-semantics.c: Likewise.
13558         * c-typeck.c: Likewise.
13559         * calls.c: Likewise.
13560         * cfganal.c: Likewise.
13561         * cfgloop.c: Likewise.
13562         * collect2.c: Likewise.
13563         * combine.c: Likewise.
13564         * conflict.c: Likewise.
13565         * cppexp.c: Likewise.
13566         * cppfiles.c: Likewise.
13567         * cpphash.h: Likewise.
13568         * cppinit.c: Likewise.
13569         * cpplex.c: Likewise.
13570         * cpplib.c: Likewise.
13571         * cpplib.h: Likewise.
13572         * cppmacro.c: Likewise.
13573         * cse.c: Likewise.
13574
13575 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
13576
13577         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
13578         LINK_SPEC.
13579         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
13580         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
13581         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
13582
13583 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
13584
13585         PR opt/7930
13586         * cse.c (fold_rtx): Calculate old_cost before we fold each
13587         operand.
13588
13589 2002-09-21  Richard Henderson  <rth@redhat.com>
13590
13591         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
13592         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
13593         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
13594         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
13595         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
13596         * doc/cpp.texi: Don't document them.
13597
13598 2002-09-21  Richard Henderson  <rth@redhat.com>
13599
13600         * c-common.c (builtin_define_float_constants): Use real_format
13601         to get the floating-point parameters.
13602
13603 2002-09-21  Richard Henderson  <rth@redhat.com>
13604
13605         * real.c (struct real_format): Move to real.h.
13606         (real_format_for_mode): Rename from fmt_for_mode; update all users;
13607         initialize with ieee defaults.
13608         (real_to_target_fmt, real_from_target_fmt): New.
13609         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13610         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
13611         ieee_quad_format, i370_single_format, i370_double_format,
13612         c4x_single_format, c4x_extended_format): Rename from s/_format//.
13613         (ieee_quad_format): Fix emin.
13614         (format_for_size, init_real_once): Remove.
13615         * real.h (struct real_format): Move from real.c.
13616         (real_format_for_mode): Declare.
13617         (real_to_target_fmt, real_from_target_fmt): Declare.
13618         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
13619         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
13620         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
13621         i370_single_format, i370_double_format, c4x_single_format,
13622         c4x_extended_format): Declare.
13623         * toplev.c (do_compile): Don't call init_real_once.
13624
13625         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13626         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13627
13628         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
13629         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
13630         * config/alpha/alpha.c (override_options): Set real_format_for_mode
13631         for VAX, if enabled.
13632
13633         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
13634         for C4X.
13635
13636         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
13637         * config/i370/i370.c (override_options): New.
13638         * config/i370/i370-protos.h: Update.
13639
13640         * config/i386/i386.c (override_options): Set real_format_for_mode
13641         for Intel 80-bit extended.
13642         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
13643
13644         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
13645         (OVERRIDE_OPTIONS): Move code...
13646         * config/i960/i960.c (i960_initialize): ... here.  Set
13647         real_format_for_mode for Intel 80-bit extended.
13648
13649         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
13650         for Intel 80-bit extended, if enabled.
13651
13652         * config/m68k/m68k.c (override_options): Set real_format_for_mode
13653         for Motorola 96-bit extended.
13654
13655         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
13656         * config/vax/vax.c (override_options): New.
13657         * config/vax/vax-protos.h: Update.
13658
13659 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
13660
13661         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
13662         #if TARGET_MACHO.
13663
13664         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
13665         insns.  Supply missing clobber of scratch reg.
13666
13667 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
13668
13669         * config/m32r/m32r.c: Follow spelling conventions.
13670         * config/m32r/m32r.h: Likewise.
13671         * config/m32r/m32r.md: Likewise.
13672         * config/m68k/m68k.c: Likewise.
13673         * config/m88k/m88k.c: Likewise.
13674         * config/mcore/mcore.c: Likewise.
13675         * config/mips/mips.c: Likewise.
13676         * config/mips/mips.h: Likewise.
13677         * config/mmix/mmix.c: Likewise.
13678         * config/mn10200/mn10200.c: Likewise.
13679         * config/ns32k/ns32k.h: Likewise.
13680         * config/pa/pa.c: Likewise.
13681         * config/pa/pa64-linux.h: Likewise.
13682         * config/pdp11/pdp11.h: Likewise.
13683         * config/romp/romp.c: Likewise.
13684         * config/romp/romp.h: Likewise.
13685         * config/rs6000/eabi.asm: Likewise.
13686         * config/rs6000/linux64.h: Likewise.
13687         * config/rs6000/rs6000.c: Likewise.
13688         * config/rs6000/rs6000.h: Likewise.
13689         * config/rs6000/rs6000.md: Likewise.
13690         * config/rs6000/sysv4.h: Likewise.
13691         * config/rs6000/xcoff.h: Likewise.
13692
13693 2002-09-20  Jim Wilson  <wilson@redhat.com>
13694
13695         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
13696
13697 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
13698
13699         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
13700         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
13701         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
13702         (legitimate_address_p): Likewise.
13703         (legitimize_address): Use @gotntpoff and @indntpoff.
13704         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
13705         (output_addr_const_extra): Likewise.
13706
13707 2002-09-20  Jim Wilson  <wilson@redhat.com>
13708
13709         * combine.c (try_combine): When split an instruction pair, where the
13710         first has a sign_extend src, verify that the src and dest modes match.
13711
13712 2002-09-20  Richard Henderson  <rth@redhat.com>
13713
13714         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
13715         (override_options): Do not initialize them.
13716         (mips_const_double_ok): Allow no fp constants except zero,
13717         and not even that for mips16.
13718         (const_float_1_operand): Use dconst1.
13719         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
13720         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
13721         Don't allow arbitrary constants; fix predicates and C constraint.
13722
13723 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
13724
13725         * cppmacro.c: Don't warn about function-like macros without
13726         '(' during pre-expansion.
13727
13728 2002-09-20  Jim Wilson  <wilson@redhat.com>
13729
13730         * config/v850/v850.c (current_function_anonymous_args): Delete.
13731         (expand_prologue): Use current_function_args_info.anonymous_args.
13732         (expand_epilogue): Delete use of current_function_anonymous_args.
13733         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
13734         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
13735         (current_function_anonymous_args): Delete extern declaration.
13736         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
13737
13738 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
13739
13740         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
13741         to load_macho_picbase.
13742         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
13743         (load_macho_picbase): Take the symbol to use as a parameter.
13744         (macho_correct_pic): New insn.
13745         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
13746
13747         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
13748         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
13749         (CAN_ELIMINATE): Likewise.
13750         (INITIAL_ELIMINATION_OFFSET): Likewise.
13751         (TOC_REGISTER): Likewise.
13752
13753 2002-09-20  Richard Henderson  <rth@redhat.com>
13754
13755         * real.c (real_hash): New.
13756         * real.h: Declare it.
13757         * cse.c (canon_hash): Use it.
13758         * cselib.c (hash_rtx): Likewise.
13759         * emit-rtl.c (const_double_htab_hash): Likewise.
13760         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
13761         * varasm.c (struct rtx_const): Reduce vector size; separate
13762         integer and fp vectors.
13763         (HASHBITS): Remove.
13764         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
13765         take modulus MAX_HASH_TABLE.
13766         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
13767         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
13768         (SYMHASH): Don't use HASHBITS.
13769         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
13770         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
13771         (simplify_subtraction): Fix kind comparison.
13772         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
13773         Use a union to pun integer array.
13774         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
13775         only hash two words of integral CONST_DOUBLE.
13776
13777 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
13778
13779         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
13780         (STARTFILE_PREFIX_SPEC): New.
13781         (LINK_SPEC): Modify.
13782         (LIB_SPEC): Modify.
13783         (LIBGCC_SPEC): New.
13784
13785 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
13786
13787         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
13788         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
13789
13790 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
13791
13792         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
13793         Add clobber of the condition code register.
13794
13795 2002-09-20  Richard Henderson  <rth@redhat.com>
13796
13797         * real.c (do_fix_trunc): Static.
13798         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
13799         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
13800         encode_i370_single, encode_i370_double, encode_c4x_single,
13801         encode_c4x_extended): Add default abort case.
13802
13803 2002-09-20  Richard Henderson  <rth@redhat.com>
13804
13805         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
13806         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
13807         (struct realvaluetype): Remove.
13808         (REAL_VALUE_TYPE): Use struct real_value.
13809         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
13810         (test_real_width): New.
13811         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
13812         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
13813         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
13814         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
13815         real_to_integer, real_to_integer2, real_to_decimal,
13816         real_to_hexadecimal, real_from_string, real_from_integer,
13817         real_inf, real_nan, real_2expN, real_convert, real_to_target,
13818         real_from_target): Likewise.
13819         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
13820         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
13821
13822 2002-09-20  Richard Henderson  <rth@redhat.com>
13823
13824         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
13825         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
13826         * defaults.h: ... here.
13827         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
13828         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
13829         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
13830         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
13831
13832 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
13833
13834         * config/mmix/mmix.md ("negdf2"): Rewrite.
13835         ("*expanded_negdf2"): New.
13836
13837 2002-09-19  Jim Wilson  <wilson@redhat.com>
13838
13839         * combine.c (simplify_set): When optimizing a subreg src with a
13840         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
13841
13842 2002-09-19  Dale Johannesen <dalej@apple.com>
13843         * combine.c (make_extraction): Don't create
13844         invalid subreg.
13845
13846 2002-09-19  Roger Sayle  <roger@eyesopen.com>
13847
13848         * tree.c (integer_nonzerop): New predicate for nonzero integers.
13849         * tree.h (integer_nonzerop): Add function prototype.
13850         * stmt.c (expand_end_loop):  Don't rotate the loop when there
13851         are no instructions in the test, i.e. the loop is unconditional.
13852         (expand_exit_loop_if_false):  Optimize RTL generation of loop
13853         tests when the condition is always true or always false.
13854         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
13855         do-loops when the condition is always true.
13856         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
13857         the for-expression is empty.
13858
13859 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
13860
13861         * gcc.c (use_pipes): New flag.
13862         (process_command): Set it.  Adjust check for -pipe conflicting
13863         with -time or -save-temps.
13864         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
13865         %<SWITCH.  Drop %| (without a SUFFIX).
13866         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
13867         (give_switch): Third argument eliminated.
13868         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
13869         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
13870         (specs documentation comment): Update.
13871
13872         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
13873         config/svr4.h, config/i386/freebsd-aout.h,
13874         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
13875         config/m68k/openbsd.h, config/mips/openbsd.h,
13876         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
13877         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
13878         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
13879         * config/cris/cris.h: Update comment.
13880
13881         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
13882         error messages.  Don't use %{^SWITCH}.
13883         * ada/misc.c (gnat_decode_option): Handle -I with a
13884         separate argument.
13885
13886         * f/lang-specs.h: Use %| and %m.
13887         * java/jvspec.c: Use %m and %(invoke_as).  Change all
13888         uses of %{<SWITCH} to %<SWITCH.
13889
13890         * doc/invoke.texi: Update documentation of specs.
13891         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
13892
13893 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
13894
13895         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
13896         and STRICT_LOW_PART within SET_DEST.
13897         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
13898         splitters, replacing pre-reload splitters.
13899         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
13900         "*zero_extendqihi2_31"): New insns.
13901         ("*zero_extendqihi2_64"): Do not clobber CC.
13902
13903 2002-09-18  Devang Patel  <dpatel@apple.com>
13904
13905         * cp/cp-tree.h: New prototype for walk_vtables().
13906         * cp/decl.c (walk_vtables_r): New function.
13907         (struct cp_binding_level): Add new members, namespaces,
13908         names_size and vtables.
13909         (add_decl_to_level): Add decl in namespaces or vtables
13910         chain, if conditions match.
13911         (walk_vtables): New function.
13912         (walk_namespaces_r): Travers separate namespace chain
13913         for namespace decls.
13914         (wrapup_globals_for_namespace): Use names_size instead
13915         of list_length().
13916         * cp/decl2.c (finish_file): Use walk_vtables() instead of
13917         walk_globals() to walk vtable decls.
13918
13919 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
13920
13921         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13922         (DTORS_SECTION_ASM_OP): Ditto.
13923         (READONLY_DATA_SECTION_ASM_OP): Moved.
13924         (DATA_SECTION_ASM_OP): New.
13925         (SDATA_SECTION_ASM_OP): New.
13926         (BSS_SECTION_ASM_OP): New.
13927         (SBSS_SECTION_ASM_OP): New.
13928         (TEXT_SECTION_ASM_OP): New.
13929
13930 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
13931
13932         * config/fp-bit.c: Follow spelling conventions.
13933         * config/d30v/d30v.c: Likewise.
13934         * config/d30v/d30v.h: Likewise.
13935         * config/fr30/fr30.c: Likewise.
13936         * config/fr30/fr30.h: Likewise.
13937         * config/fr30/fr30.md: Likewise.
13938         * config/frv/frv.c: Likewise.
13939         * config/frv/frv.h: Likewise.
13940         * config/h8300/h8300.c: Likewise.
13941         * config/h8300/lib1funcs.asm: Likewise.
13942         * config/i370/i370.c: Likewise.
13943         * config/i386/i386.h: Likewise.
13944         * config/i386/i386.md: Likewise.
13945         * config/i386/pentium.md: Likewise.
13946         * config/i386/winnt.c: Likewise.
13947         * config/i960/i960.c: Likewise.
13948         * config/ia64/ia64.h: Likewise.
13949         * config/ip2k/ip2k.c: Likewise.
13950         * config/ip2k/ip2k.h: Likewise.
13951         * config/ip2k/ip2k.md: Likewise.
13952         * config/ip2k/libgcc.S: Likewise.
13953
13954 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
13955
13956         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13957         (GOTOFF_P): Extend to allow gotoff plus constant.
13958
13959 2002-09-18  Richard Henderson  <rth@redhat.com>
13960
13961         * ifcvt.c (noce_process_if_block): Correctly detect X modified
13962         with INSN_B before COND_EARLIEST.  Don't check A and B for
13963         modification in condition range.  Reorder INSN_B for A==B properly.
13964         (if_convert): Iterate until no matches for a block.
13965
13966 2002-09-18  Richard Henderson  <rth@redhat.com>
13967
13968         * calls.c (store_one_arg): Rename default_align to parm_align;
13969         always adjust parm_align for downward padding.
13970
13971 2002-09-18  Richard Henderson  <rth@redhat.com>
13972
13973         * toplev.c (backend_init): Move init_real_once invocation ...
13974         (do_compile): ... here.
13975
13976 2002-09-18  Richard Henderson  <rth@redhat.com>
13977
13978         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13979         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13980
13981 2002-09-18  Richard Henderson  <rth@redhat.com>
13982
13983         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13984
13985 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
13986
13987         * config/rs6000/rs6000.md: (floatdisf2): Rename to
13988         floatdisf2_internal1.
13989         (floatdisf2): New define_expand.
13990         (floatdisf2_internal2): Likewise.
13991
13992 2002-09-18  Richard Henderson  <rth@redhat.com>
13993
13994         * real.c (sticky_rshift_significand): Collect sticky as
13995         unsigned long, not bool.
13996
13997 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
13998
13999         * config/s390/s390.c (s390_address_cost): New function.
14000         config/s390/s390-protos.h (s390_address_cost): Add prototype.
14001         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
14002         (RTX_COST): Use COSTS_N_INSNS.
14003
14004 2002-09-18  Douglas Rupp  <rupp@gnat.com>
14005             Donn Terry  <donnte@microsoft.com>
14006
14007         * stor-layout.c (place_field): Handle alignment of whole
14008         structures when MSVC compatible bitfields are involved.
14009         Change method of computing location of MS bitfields to
14010         be compatible with #pragma pack(n).
14011
14012         * tree.h (record_layout_info): Add new field
14013         remaining_in_alignment.
14014
14015         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
14016         (pragma pack): Add paragraph on MSVC bitfield packing.
14017
14018 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
14019
14020         PR optimization/7967
14021         * arm.md (ne_zeroextractsi): Add clobber of the condition code
14022         register.
14023
14024 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
14025
14026         * config/s390/s390.c: Follow spelling conventions.
14027         * config/sh/lib1funcs.asm: Likewise.
14028         * config/sh/sh.c: Likewise.
14029         * config/sh/sh.h: Likewise.
14030         * config/sparc/sparc.c: Likewise.
14031         * config/sparc/sparc.h: Likewise.
14032         * config/sparc/sparc.md: Likewise.
14033         * config/stormy16/stormy16.c: Likewise.
14034         * config/stormy16/stormy16.h: Likewise.
14035         * config/v850/v850.c: Likewise.
14036         * config/v850/v850.h: Likewise.
14037         * config/vax/vax.c: Likewise.
14038         * config/vax/vax.h: Likewise.
14039
14040 2002-09-18  Nick Clifton  <nickc@redhat.com>
14041
14042         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
14043         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
14044         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
14045
14046 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
14047
14048         * function.c (max_parm_reg_num): Remove.
14049         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
14050         drop_through_at_end_p, move_cleanups_up,
14051         expand_end_case_dummy, case_index_expr_type): Likewise.
14052         * stor-layout.c (pos_from_byte): Likewise.
14053         * tree.c (chain_member_value, chain_member_purpose, listify,
14054         tree_int_cst_msb, index_type_equal): Likewise.
14055         * tree.h: Remove prototypes for unused functions.
14056
14057 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
14058
14059         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
14060         statement that the only translation is to en_UK.
14061
14062 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
14063
14064         * config/alpha/alpha.c: Follow spelling conventions.
14065         * config/alpha/alpha.h: Likewise.
14066         * config/alpha/alpha.md: Likewise.
14067         * config/arc/arc.h: Likewise.
14068         * config/arm/arm.c: Likewise.
14069         * config/arm/arm.h: Likewise.
14070         * config/arm/arm.md: Likewise.
14071         * config/arm/pe.c: Likewise.
14072         * config/arm/unknown-elf.h: Likewise.
14073         * config/avr/avr.c: Likewise.
14074         * config/avr/avr.h: Likewise.
14075         * config/c4x/c4x.c: Likewise.
14076         * config/cris/cris.c: Likewise.
14077         * config/cris/cris.h: Likewise.
14078
14079 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
14080
14081         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
14082         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
14083         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
14084
14085 2002-09-17  Dale Johannesen  <dalej@apple.com>
14086
14087         * cfgcleanup.c (try_forward_edges):  Do not forward a
14088         branch to just after a loop exit before loop optimization;
14089         this interfered with doloop detection.
14090
14091 2002-09-17  Nick Clifton  <nickc@redhat.com>
14092
14093         * config/arm/arm.c (output_return_instruction): Do not
14094         writeback the stack pointer when it is being loaded.
14095         (arm_output_epilogue): Likewise.
14096
14097 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
14098
14099         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
14100         generate a pseudo reg that receives the result of a libcall.
14101         (prepare_float_lib_cmp): Likewise.
14102
14103 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
14104
14105         * config/ia64/elf.h: Remove CPP_PREDEFINES.
14106
14107 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14108
14109         Fix PR/7014 and related objc bugs:
14110         * c-typeck.c (comp_target_types): Added a reflexive argument.
14111         Pass it to ObjC when/if calling objc_comptypes().  Updated all
14112         callers to provide the appropriate reflexive argument.
14113         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
14114         typechecking for all cases of comparisons and assignments,
14115         particularly the obscure and less common ones involving protocols.
14116
14117 2002-09-17  Nick Clifton  <nickc@redhat.com>
14118
14119         * machmode.def (V1DImode): New mode.  A single element vector.
14120         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
14121         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
14122         * tree.c (build_common_tree_nodes_2): Build
14123         unsigned_V1DI_type_node and V1D1_type_node.
14124         * c-common.c (c_common_type_for_mode): Return
14125         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
14126         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
14127
14128 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14129
14130         * doc/objc.texi (Constant string objects): Extended documentation
14131         to make clear that the constant string class ivar layout is
14132         completely fixed.
14133
14134 2002-09-17  Roger Sayle  <roger@eyesopen.com>
14135
14136         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
14137         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
14138
14139 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14140
14141         * config/mips/mips.c (save_restore_insns): Remove unused variable.
14142         * gcc.c (make_relative_prefix): Likewise.
14143         * loop.c (check_final_value): Likewise.
14144         * jump.c (init_label_info): Remove return value.
14145         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
14146
14147 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14148
14149         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
14150         (ASM_PN_FORMAT): Define.
14151
14152 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14153
14154         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
14155         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
14156         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
14157         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
14158         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
14159         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
14160         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
14161         Delete.
14162         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
14163         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
14164         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
14165
14166         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
14167         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
14168
14169 2002-09-16  Richard Henderson  <rth@redhat.com>
14170
14171         * expr.c (emit_block_move): Set memory block size as appropriate
14172         for the copy.
14173
14174 2002-09-16  Richard Henderson  <rth@redhat.com>
14175
14176         PR fortran/3924
14177         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
14178
14179 2002-09-16  Richard Henderson  <rth@redhat.com>
14180
14181         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
14182         as well as OFFSET for BITPOS.
14183
14184 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
14185
14186         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
14187         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
14188         winchip2 and c3.
14189         * doc/invoke.texi: Mention new aliases.
14190
14191 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14192
14193         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
14194         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
14195         downward.
14196         * function.c (pad_below):  Always compile.
14197         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
14198         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
14199         Pad below when the argument is not in a register and the padding
14200         direction is downward.
14201
14202         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
14203         (PAD_VARARGS_DOWN): Define.
14204         * pa.c (function_arg_padding): Revise padding directions to make them
14205         compatible with the 32 and 64-bit runtime architecture documentation.
14206         (hppa_va_arg):  Add code to handle variable and size zero arguments
14207         passed by reference on TARGET_64BIT.  Reformat.
14208         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
14209         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
14210         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
14211         Add comments.
14212         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
14213         (RETURN_IN_MEMORY): Return size zero types in memory.
14214         (FUNCTION_VALUE): Return TFmode in general registers.
14215         (MUST_PASS_IN_STACK): Define.
14216         (FUNCTION_ARG_BOUNDARY): Simplify.
14217         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
14218         by reference.
14219         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
14220
14221 2002-09-16  Richard Henderson  <rth@redhat.com>
14222
14223         * real.c (do_fix_trunc): New.
14224         (real_arithmetic): Call it.
14225         * simplify-rtx.c (simplify_unary_operation): Handle FIX
14226         with a floating-point result mode.
14227
14228 2002-09-16  Richard Henderson  <rth@redhat.com>
14229
14230         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
14231         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
14232         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
14233         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
14234         * builtins.c (fold_builtin_nan): New.
14235         (fold_builtin): Call it.
14236         * real.c (real_nan): Parse a non-empty string.
14237         (round_for_format): Fix NaN significand truncation.
14238         * real.h (real_nan): Return bool.
14239         * doc/extend.texi: Document new builtins.
14240
14241 2002-09-16  Jason Merrill  <jason@redhat.com>
14242             Danny Smith  <dannysmith@users.sourceforge.net>
14243
14244         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
14245         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
14246         (i386_pe_mark_dllimport): Not here.
14247
14248 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
14249
14250         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
14251
14252 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
14253
14254         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
14255         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
14256         < 64.
14257         (rs6000_emit_cmove): Use real_isinf not target_isinf.
14258
14259 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
14260
14261         * calls.c (emit_library_call_value_1): Don't refer to
14262         hard_libcall_value.
14263         * optabs.c (prepare_float_lib_cmp): Likewise.
14264
14265 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
14266
14267         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
14268         mangling.
14269
14270         The following changes are merged from pch-branch:
14271
14272         * doc/gty.texi (GTY Options): Document %a.
14273         * gengtype.c (do_scalar_typedef): New function.
14274         (process_gc_options): Handle `length' option.
14275         (set_gc_used_type): A pointer to an array of structures doesn't
14276         qualify as a pointer to a structure.
14277         (output_escaped_param): Add `%a' escape.
14278         (write_gc_structure_fields): Allow 'desc' on array of unions.
14279         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
14280         do_scalar_typedef.
14281
14282         * gengtype.c (enum rtx_code): Make global.
14283         (rtx_format): Make global.
14284         (rtx_next): New.
14285         (gen_rtx_next): New.
14286         (write_rtx_next): New.
14287         (adjust_field_rtx_def): Skip fields marked by chain_next.
14288         (open_base_files): Delete redundant prototype.
14289         (write_enum_defn): New.
14290         (output_mangled_typename): Correct abort call.
14291         (write_gc_marker_routine_for_structure): Handle chain_next and
14292         chain_prev options.
14293         (finish_root_table): Don't output redundant \n.
14294         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
14295         * c-tree.h (union lang_tree_node): Add chain_next option.
14296
14297         * gengtype.h (NUM_PARAM): New definition.
14298         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
14299         * gengtype.c (find_param_structure): New.
14300         (adjust_field_type): Handle param<n>_is option.
14301         (process_gc_options): Detect use_params option.  Update callers.
14302         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
14303         'use_params' option.
14304         (open_base_files): Add splay-tree.h to list of files included.
14305         (output_mangled_typename): New.
14306         (write_gc_structure_fields): Update 'param' parameter to support
14307         multiple parameters.  Change name mangling.  Allow parameterized
14308         fields to have an apparent scalar type.  Handle param<n>_is options,
14309         use_param option.
14310         (write_gc_marker_routine_for_structure): Update for change to name
14311         mangling.  Better guess the output file for parameterized types.
14312         (write_gc_types): Update for change to name mangling.
14313         (write_gc_root): Update for change to name mangling.  Handle (ignore)
14314         param<n>_is options.
14315         * doc/gty.texi (GTY Options): Add description of param<n>_is
14316         options, use_params option.
14317         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
14318         * gengtype-lex.l: Produce token for param<n>_is.
14319         * gengtype-yacc.y: Parse param<n>_is.
14320
14321         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
14322
14323         * rtl.c: Update comment describing rtx_format.
14324         * rtl.h (union rtunion): Separate definition and typedef.
14325         (struct rtx_def): Use gengtype to mark.
14326         * Makefile.in (gengtype.o): Also depend on rtl.def.
14327         * ggc.h (ggc_mark_rtx_children): Delete prototype.
14328         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
14329         * ggc-common.c (ggc_mark_rtx_children): Delete.
14330         (ggc_mark_rtx_children_1): Delete.
14331         (gt_ggc_m_rtx_def): Delete.
14332         * gengtype.c (adjust_field_rtx_def): New.
14333         (adjust_field_type): Call adjust_field_rtx_def.
14334         (write_gc_structure_fields): Add 'default' case to switch if none
14335         is specified; remove unused code.
14336
14337         * tree.h (struct tree_exp): Update for change to meaning
14338         of special.
14339         * gengtype.c (adjust_field_tree_exp): New function.
14340         (adjust_field_type): Handle `tree_exp' special here.
14341         (write_gc_structure_fields): Don't handle `tree_exp' special here.
14342         Handle new `dot' option.
14343
14344         * gengtype.h: Make `info' a pointer-to-const.
14345         * gengtype-yacc.y (yacc_ids): Use xasprintf.
14346
14347         * gengtype.c (write_gc_structure_fields): Remove implementation
14348         of `always' option, add `default' option.
14349         * doc/gty.texi (GTY Options): Remove documentation of `always',
14350         add `default'.
14351
14352 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
14353
14354         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
14355
14356 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14357
14358         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
14359
14360         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
14361         instead of the *-protos.h file directly.
14362         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
14363         * darwin.c (machopic_output_stub): Move prototype ...
14364         * darwin-protos.h (machopic_output_stub): ... here.
14365         * rs6000-protos.h (machopic_output_stub): Don't declare.
14366
14367 2002-09-16  Richard Henderson  <rth@redhat.com>
14368
14369         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
14370
14371 2002-09-16  Richard Henderson  <rth@redhat.com>
14372
14373         * real.c, real.h: Rewrite from scratch.
14374
14375         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
14376         (paranoia): New target.
14377         * builtins.c (fold_builtin_inf): Use new real.h interface.
14378         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
14379         * c-lex.c (interpret_float): Likewise.
14380         * emit-rtl.c (gen_lowpart_common): Likewise.
14381         * optabs.c (expand_float): Use real_2expN.
14382         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
14383         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
14384         (FLOAT_WORDS_BIG_ENDIAN): New.
14385         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
14386         directly to REAL_VALUE_NEGATIVE.
14387         * loop.c (canonicalize_condition): Likewise.
14388         * simplify-rtx.c: Include tree.h.
14389         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
14390         with floating-point result modes.
14391         * toplev.c (backend_init): Call init_real_once.
14392
14393         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
14394         * tree.c (build_real): Likewise.
14395         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
14396         float_values, inited_float_values, check_float_value): Remove.
14397         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
14398         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
14399         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
14400         (VAX_HALFWORD_ORDER): Remove.
14401
14402 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
14403
14404         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
14405         (s390_load_address): ... this new function.
14406         (s390_decompose_address): Allow the argument pointer and all
14407         virtual registers as 'pointer' registers.
14408         (s390_expand_plus_operand): Use s390_load_address.
14409         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
14410         ("force_la_31"): New insn pattern.
14411         config/s390/s390-protos.h (legitimize_la_operand): Remove.
14412         (s390_load_address): Add prototype.
14413
14414         * config/s390/s390.c: Include "optabs.h".
14415         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
14416         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
14417         s390_expand_cmpstr): Add prototypes.
14418         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
14419         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
14420         for operands 0 and 1 to "memory_operand".  Add type attribute.
14421         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
14422         for operands 0 and 1 to "memory_operand".  Add type attribute.
14423         ("movstrdi_long", "movstrsi_long"): Remove.
14424         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
14425         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
14426         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
14427         ("clrstrsico"): Remove, replace by ...
14428         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
14429         ("clrstrsi_64"): Rename to "clrstr_long_64".
14430         ("clrstrsi_31"): Rename to "clrstr_long_31".
14431         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
14432         ("cmpstr_const"): Remove, replace by ...
14433         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
14434         ("cmpstr_64"): Rename to "cmpstr_long_64".
14435         ("cmpstr_31"): Rename to "cmpstr_long_31".
14436
14437 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
14438
14439         * ABOUT-NLS: Follow spelling conventions.
14440         * ChangeLog: Likewise.
14441         * ChangeLog.1: Likewise.
14442         * ChangeLog.2: Likewise.
14443         * ChangeLog.3: Likewise.
14444         * ChangeLog.4: Likewise.
14445         * ChangeLog.5: Likewise.
14446         * ChangeLog.6: Likewise.
14447         * FSFChangeLog.10: Likewise.
14448         * FSFChangeLog.11: Likewise.
14449         * c-common.c: Likewise.
14450         * c-lex.c: Likewise.
14451         * c-objc-common.c: Likewise.
14452         * cppexp.c: Likewise.
14453         * cppinit.c: Likewise.
14454         * cpplex.c: Likewise.
14455         * doloop.c: Likewise.
14456         * flow.c: Likewise.
14457         * function.c: Likewise.
14458         * integrate.c: Likewise.
14459         * loop.c: Likewise.
14460         * reg-stack.c: Likewise.
14461         * reload.h: Likewise.
14462         * ssa.c: Likewise.
14463
14464 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14465
14466         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
14467         * vmsdbgout.c: Include "target.h".
14468
14469 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
14470
14471         * ChangeLog: Follow spelling conventions.
14472         * ChangeLog.0: Likewise.
14473         * ChangeLog.1: Likewise.
14474         * ChangeLog.2: Likewise.
14475         * ChangeLog.4: Likewise.
14476         * ChangeLog.6: Likewise.
14477         * config.gcc: Likewise.
14478         * dwarfout.c: Likewise.
14479         * reload1.c: Likewise.
14480         * simplify-rtx.c: Likewise.
14481         * unwind-sjlj.c: Likewise.
14482         * config/avr/avr.h: Likewise.
14483         * config/d30v/d30v.h: Likewise.
14484         * config/frv/frv.c: Likewise.
14485         * config/frv/frv.h: Likewise.
14486         * config/ip2k/ip2k.h: Likewise.
14487         * config/m88k/m88k-move.sh: Likewise.
14488         * config/stormy16/stormy16.c: Likewise.
14489         * config/stormy16/stormy16.h: Likewise.
14490         * doc/extend.texi: Likewise.
14491         * doc/interface.texi: Likewise.
14492         * doc/invoke.texi: Likewise.
14493         * doc/md.texi: Likewise.
14494         * doc/rtl.texi: Likewise.
14495         * doc/tm.texi: Likewise.
14496         * doc/trouble.texi: Likewise.
14497         * ginclude/float.h: Likewise.
14498         * treelang/treelang.texi: Likewise.
14499
14500 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14501
14502         * i386-protos.h (i386_pe_dllexport_name_p,
14503         i386_pe_dllimport_name_p, i386_pe_unique_section,
14504         i386_pe_declare_function_type, i386_pe_record_external_function,
14505         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
14506         prototype.
14507         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
14508         * i386/t-interix (winnt.o): Likewise.
14509
14510         * v850-protos.h (v850_output_addr_const_extra): Prototype.
14511
14512 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
14513
14514         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
14515         MIPS ABI CPP macros.
14516         (TARGET_CPU_CPP_BUILTINS): Redefine.
14517         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
14518         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
14519
14520 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14521
14522         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
14523
14524 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
14525
14526         * ChangeLog: Follow spelling conventions.
14527         * ChangeLog.0: Likewise.
14528         * ChangeLog.1: Likewise.
14529         * ChangeLog.2: Likewise.
14530         * ChangeLog.3: Likewise.
14531         * ChangeLog.4: Likewise.
14532         * ChangeLog.5: Likewise.
14533         * ChangeLog.6: Likewise.
14534         * FSFChangeLog.10: Likewise.
14535         * FSFChangeLog.11: Likewise.
14536         * c-common.c: Likewise.
14537         * c-common.h: Likewise.
14538         * c-format.c: Likewise.
14539         * c-opts.c: Likewise.
14540         * cpplib.c: Likewise.
14541         * langhooks.h: Likewise.
14542         * real.c: Likewise.
14543         * reg-stack.c: Likewise.
14544         * toplev.c: Likewise.
14545         * config/arm/arm.c: Likewise.
14546         * config/arm/arm.md: Likewise.
14547         * config/arm/linux-gas.h: Likewise.
14548         * config/arm/netbsd.h: Likewise.
14549         * config/c4x/c4x.c: Likewise.
14550         * config/c4x/c4x.h: Likewise.
14551         * config/c4x/c4x.md: Likewise.
14552         * config/c4x/libgcc.S: Likewise.
14553         * config/fr30/fr30.md: Likewise.
14554         * config/frv/frv.md: Likewise.
14555         * config/ia64/ia64.md: Likewise.
14556         * config/mips/mips.h: Likewise.
14557         * config/mn10300/mn10300.c: Likewise.
14558         * config/stormy16/stormy16.c: Likewise.
14559         * config/v850/v850.md: Likewise.
14560         * doc/extend.texi: Likewise.
14561         * doc/invoke.texi: Likewise.
14562         * doc/md.texi: Likewise.
14563
14564 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
14565
14566         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
14567         library if -pthread is specified.
14568
14569 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
14570
14571         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
14572         for --enable-threads=yes and --enable-threads=posix.
14573
14574 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
14575
14576         * config/sparc/cypress.md: Replace Sparc with SPARC.
14577         * config/sparc/freebsd.h: Likewise.
14578         * config/sparc/gmon-sol2.c: Likewise.
14579         * config/sparc/hypersparc.md: Likewise.
14580         * config/sparc/lb1spc.asm: Likewise.
14581         * config/sparc/lb1spl.asm: Likewise.
14582         * config/sparc/linux.h: Likewise.
14583         * config/sparc/linux64.h: Likewise.
14584         * config/sparc/lynx.h: Likewise.
14585         * config/sparc/sol2.h: Likewise.
14586         * config/sparc/sparc-modes.def: Likewise.
14587         * config/sparc/sparc.c: Likewise.
14588         * config/sparc/sparc.h: Likewise.
14589         * config/sparc/sparc.md: Likewise.
14590         * config/sparc/sparclet.md: Likewise.
14591         * config/sparc/supersparc.md: Likewise.
14592         * config/sparc/sysv4.h: Likewise.
14593         * config/sparc/vxsim.h: Likewise.
14594         * config/sparc/vxsparc64.h: Likewise.
14595
14596 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14597
14598         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
14599         * collect2.c (ignore_library, aix_std_libs): Move into the context
14600         where it is used.
14601         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
14602         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
14603         * m88k.c (output_call): Wrap variables with macro controlling use.
14604         * rs6000.md: Likewise.  Const-ify variable.
14605         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
14606         * final.c (only_leaf_regs_used): Likewise.
14607         * regrename.c (maybe_mode_change): Mark parameter with
14608         ATTRIBUTE_UNUSED.
14609         * reload.c (find_valid_class): Likewise.  Likewise for variable.
14610         (find_reloads_address_1): Likewise.
14611         * varasm.c (weak_finish): Wrap variable with macro controlling use.
14612
14613 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
14614
14615         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
14616
14617 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14618
14619         * ChangeLog: Follow spelling conventions.
14620         * ChangeLog.0: Likewise.
14621         * ChangeLog.2: Likewise.
14622         * ChangeLog.3: Likewise.
14623         * ChangeLog.4: Likewise.
14624         * ChangeLog.5: Likewise.
14625         * ChangeLog.6: Likewise.
14626         * cppfiles.c: Likewise.
14627         * cppinit.c: Likewise.
14628         * cpplib.h: Likewise.
14629         * cse.c: Likewise.
14630         * debug.h: Likewise.
14631         * df.c: Likewise.
14632         * dominance.c: Likewise.
14633         * hashtable.c: Likewise.
14634         * hashtable.h: Likewise.
14635         * loop.c: Likewise.
14636         * config/arm/README-interworking: Likewise.
14637         * config/arm/arm.c: Likewise.
14638         * config/arm/arm.h: Likewise.
14639         * config/arm/arm.md: Likewise.
14640         * config/dsp16xx/dsp16xx.h: Likewise.
14641         * config/frv/frv.c: Likewise.
14642         * config/frv/frv.h: Likewise.
14643         * config/ip2k/ip2k.h: Likewise.
14644         * config/rs6000/rs6000.c: Likewise.
14645         * config/stormy16/stormy-abi: Likewise.
14646         * config/stormy16/stormy16.h: Likewise.
14647         * config/v850/v850.c: Likewise.
14648
14649 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14650
14651         * loop.c: Fix a comment typo.
14652
14653 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14654
14655         * config/fr30/fr30.h: Fix comment typos.
14656         * config/frv/frv.c: Likewise.
14657         * config/i386/xmmintrin.h: Likewise.
14658         * config/mips/mips.c: Likewise.
14659         * config/sh/sh.c: Likewise.
14660
14661 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
14662
14663         * haifa-sched.c: Follow spelling conventions.
14664         * regclass.c: Likewise.
14665         * regrename.c: Likewise.
14666         * config/fp-bit.c: Likewise.
14667         * config/frv/frv.h: Likewise.
14668         * config/m88k/m88k.c: Likewise.
14669         * config/mcore/mcore.c: Likewise.
14670         * config/rs6000/darwin.h: Likewise.
14671         * config/rs6000/gnu.h: Likewise.
14672         * config/rs6000/linux.h: Likewise.
14673         * config/rs6000/linux64.h: Likewise.
14674         * config/rs6000/rs6000.c: Likewise.
14675         * config/rs6000/rs6000.h: Likewise.
14676         * config/sh/sh.c: Likewise.
14677         * config/sparc/sparc.c: Likewise.
14678         * config/sparc/ultra1_2.md: Likewise.
14679
14680 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
14681
14682         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
14683         memory operand when source is 0 (K constraint).
14684         ("movsi_internal"): Likewise.
14685         ("movdf_internal"): Likewise.
14686         ("movsf_internal"): Likewise.
14687
14688 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
14689
14690         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
14691         targetm.binds_local_p to set SYMBOL_REF_FLAG.
14692         (rs6000_xcoff_encode_section_info): Likewise.
14693         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
14694
14695 2002-09-10  Theodore A. Roth  <troth@verinet.com>
14696
14697         * gcc/config/avr/avr.h: Set default options for C++ for avr.
14698
14699 2002-09-13  Roger Sayle  <roger@eyesopen.com>
14700
14701         * stmt.c (struct nexting): Remove unused alt_end_label field.
14702         (expand_start_loop): Delete initialization of alt_end_label.
14703         (expand_start_null_loop): Likewise.
14704         (expand_exit_loop_if_false): Delete updating of alt_end_label.
14705
14706 2002-09-13  Richard Henderson  <rth@redhat.com>
14707
14708         * Makefile.in (toplev.o): Depend on real.h.
14709         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
14710
14711 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
14712
14713         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
14714         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
14715         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
14716
14717 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
14718
14719         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
14720
14721 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14722
14723         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
14724         ia64*-*-linux*): Set extra_parts.
14725         * config/ia64/t-aix (EXTRA_PARTS): Remove.
14726         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
14727
14728 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14729
14730         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
14731         * config/h8300/h8300.c: Likewise.
14732         * config/h8300/h8300.h: Likewise.
14733         * config/h8300/h8300.md: Likewise.
14734         * doc/invoke.texi: Likewise.
14735
14736 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
14737
14738         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
14739
14740 2002-09-13  Richard Henderson  <rth@redhat.com>
14741
14742         * config/alpha/alpha.md (attr type): Add callpal.
14743         (imb, trap, load_tp, set_tp): Use it.
14744         * config/alpha/ev4.md (ev4_callpal): New.
14745         * config/alpha/ev5.md (ev5_callpal): New.
14746         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
14747         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
14748         (alphaev5_insn_pipe): Likewise.
14749
14750 2002-09-13  Andreas Jaeger  <aj@suse.de>
14751
14752         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
14753
14754 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14755
14756         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
14757         LIB2ADDEH): New, set to NULL.
14758         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
14759
14760 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
14761
14762         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
14763         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
14764         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
14765         Add declarations.
14766         (_U_Qfneg): Remove.
14767
14768 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
14769
14770         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
14771         for H8/300, H8S aa:8 mode.
14772         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
14773         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
14774         for H8/300 aa:8 mode.
14775
14776 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
14777
14778         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
14779         insns.
14780
14781 2002-09-12  Richard Henderson  <rth@redhat.com>
14782
14783         * Makefile.in (HOST_PRINT): Use print-rtl1.o
14784         (print-rtl.o): Don't define GENERATOR_FILE.
14785         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
14786         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
14787         unless GENERATOR_FILE.
14788
14789 2002-09-12  Stan Shebs  <shebs@apple.com>
14790
14791         * config/darwin.h (USER_LABEL_PREFIX): Define here...
14792         * config/i386/darwin.h: ... instead of here.
14793
14794         * target.h (struct gcc_target): New field
14795         terminate_dw2_eh_frame_info.
14796         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14797         (TARGET_INITIALIZER): Add it.
14798         * dwarf2out.c (output_call_frame_info): Use target hook.
14799         * dwarf2asm.c (dw2_asm_output_delta): Use macro
14800         ASM_OUTPUT_DWARF_DELTA if defined.
14801         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
14802         (ASM_OUTPUT_DWARF_DELTA): Ditto.
14803         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
14804         (ASM_OUTPUT_DWARF_PCREL): Ditto.
14805         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
14806         (powerpc-*-darwin*): Ditto.
14807         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
14808         to work correctly for Darwin.
14809         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
14810         (STARTFILE_SPEC): Add crtbegin.o.
14811         (ENDFILE_SPEC): Define.
14812         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
14813         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
14814         (ASM_OUTPUT_DWARF_DELTA): Define.
14815         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
14816         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
14817
14818 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
14819
14820         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
14821         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
14822         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
14823
14824 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
14825
14826         * toplev.c: Move default definition of USER_LABEL_PREFIX...
14827         * defaults.h: ... here.
14828
14829 2002-09-12  Richard Henderson  <rth@redhat.com>
14830
14831         * vax.c: Include tree.h earlier.
14832
14833 2002-09-12  Stan Shebs  <shebs@apple.com>
14834
14835         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
14836         (machopic_operand_p): Ditto.
14837
14838 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14839
14840         * config/arm/arm.c (arm_compute_initial_elimination_offset):
14841         Fix a comment typo.
14842
14843 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14844
14845         * toplev.c (do_abort): Fix a comment typo.
14846
14847 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14848
14849         * cselib.c: Fix comment formatting.
14850         * gengtype.c: Likewise.
14851
14852 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
14853
14854         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
14855         (udivmodhi4): Likewise.
14856
14857 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
14858             Roger Sayle  <roger@eyesopen.com>
14859
14860         * i386.c (any_fp_register_operand, fp_register_operand,
14861         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
14862         New predicate functions.
14863         * i386-protos.h:  Add their prototypes.
14864         * i386.h: Add them to PREDICATE_CODES.
14865         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
14866         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
14867         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
14868         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
14869         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
14870         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
14871         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
14872         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
14873         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
14874         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
14875         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
14876         Use these new predicates to simplify and correct the use of
14877         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
14878
14879 2002-09-12  Jason Merrill  <jason@redhat.com>
14880
14881         * diagnostic.c (output_add_identifier): New fn.
14882         * diagnostic.h: Declare it.
14883
14884         * calls.c (store_one_arg): Use size_in_bytes to determine the
14885         amount of space to push.
14886
14887 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
14888
14889         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
14890
14891 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
14892
14893         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
14894         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
14895         (s390_select_ccmode): Likewise.
14896         (s390_branch_condition_mask): Likewise.
14897         (optimization_options): Do not set flag_branch_on_count.
14898         (s390_split_branches): Handle doloop branches.
14899         (s390_chunkify_pool): Likewise.
14900         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
14901         ("doloop_end"): New expander.
14902         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
14903         associated splitters): New.
14904
14905 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14906
14907         * genattrtab.c (simplify_cond): Remove unused variable(s).
14908         * global.c (record_conflicts): Likewise.
14909         * jump.c (rebuild_jump_labels): Likewise.
14910         * loop.c (scan_loop, check_final_value): Likewise.
14911         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
14912         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
14913         * rtlanal.c (reg_set_p): Likewise.
14914         * stmt.c (expand_asm_operands, expand_decl): Likewise.
14915         * genautomata.c (empty_reserv): Remove.
14916         * loop.c (max_luid): Likewise.
14917         * sched-rgn.c (bitlst_table_size): Likewise.
14918
14919 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
14920
14921         Reimplement gcov format.
14922         * gcov-io.h: Replace.
14923         * gcov.c: Reimplement.
14924         * gcov-iov.c: New file.
14925         * gcov-dump.c: New file.
14926         * libgcc2.c (L_bb): Replace with ...
14927         (L_gcov): ... this.
14928         (struct bb_function_info, struct bb): Remove.
14929         (inhibit_libc): Never inhibit.
14930         (gcov_list, gcov_crc): New static variables.
14931         (gcov_version_mismatch): New static function.
14932         (__bb_exit_func): Renamed to ...
14933         (__gcov_exit): ... here. Made static. Reimplement.
14934         (__gcov_init_func): Rename to ...
14935         (__gcov_init): ... here. Check version, update crc.
14936         (__bb_fork_func): Rename to ...
14937         (__gcov_flush): ... here.
14938         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14939         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14940         * calls.c (expand_call): Call __gcov_flush.
14941         * profile.c (bb_file, last_bb_file_name): Remove.
14942         (bbg_file_name): New global variable.
14943         (output_gcov_string): Remove.
14944         (get_exec_counts): Reimplement.
14945         (branch_prob): Reimplement gcov file writing.
14946         (init_branch_prob): Create bbg_file_name, don't create
14947         bb_file_name.
14948         (end_branch_prob): Adjust. Don't remove counter file when
14949         instrumenting ourselves.
14950         (create_profiler): Adjust.
14951         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14952         point to gcov-io.h.
14953         * Makefile.in (LANGUAGES): Add gcov-dump.
14954         (coverageexts): Remove .bb.
14955         (STAGESTUFF): Add gcov-dump.
14956         (LIB2FUNCS_ST): Replace _bb with _gcov.
14957         (profile.o): Depend on gcov-iov.h.
14958         (final.o): Don't depend on profile.h, gcov.h.
14959         (gcov.o): Depend on gcov-iov.h.
14960         (gcov-iov.o): New target.
14961         (gcov-iov): New target.
14962         (gcov-iov.h): New target.
14963         (gcov-dump.o): New target.
14964         (GCOV_DUMP_OBJS): New variable.
14965         (gcov-dump): New target.
14966         (distclean): Remove coverageexts.
14967         (stage1): Remove coverageexts.
14968
14969 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
14970
14971         * fold-const.c (make_range): Only narrow to signed range if
14972         the signed range is smaller than the unsigned range.
14973
14974 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
14975
14976         * emit-rtl.c (set_mem_size): New function.
14977         * expr.h (set_mem_size): Declare.
14978         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14979         (expand_block_move): Instead, use adjust_address and
14980         replace_equiv_address to generate proper aliasing info.
14981         Move common code out of conditionals.  Localize vars.
14982
14983 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
14984
14985         * optabs.c (expand_binop): Minor cleanup.
14986         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14987
14988 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
14989
14990         * print-tree.c (print_node): Print the restrict qualifier.
14991
14992 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
14993
14994         * doc/install.texi: Fix typos.
14995
14996 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
14997
14998         * Makefile.in: Remove all references to s-under and underscore.c.
14999         * collect2.c, tlink.c: Change all uses of prepends_underscore
15000         to look directly at USER_LABEL_PREFIX.
15001
15002 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
15003
15004         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
15005         alignment to csect.
15006         (rs6000_xcoff_unique_section): Only set section name for public
15007         data.
15008         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
15009         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
15010         duplicate definition.
15011
15012 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15013
15014         * pa.md (extzv): Check predicates before emitting extzv_32.
15015         (insv): Likewise.
15016
15017 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
15018
15019         * config/s390/s390.h (MOVE_MAX): Define to correct value.
15020         (MAX_MOVE_MAX): Define.
15021         (MOVE_BY_PIECES_P): Define.
15022         (CLEAR_BY_PIECES_P): Define.
15023
15024 2002-09-10  Denis Chertykov  <denisc@overta.ru>
15025
15026         * config/avr/avr.md (movstrhi): Use right operands for conversion.
15027
15028 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
15029
15030         PR c/7873
15031         * arm.md (insv): Use reg_or_int_operand for operand[3].
15032
15033 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
15034
15035         * rs6000.c (rs6000_assemble_visibility): Protect declaration
15036         inside macro.  Correct function definition typo.
15037         (rs6000_xcoff_section_type_flags): New function.
15038         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
15039         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
15040         with appropriate PIC test.
15041         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
15042         determine readonly.
15043         (rs6000_binds_local_p): Combine PIC flags.
15044         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
15045         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
15046
15047 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15048
15049         * h8300.md: Fix signed/unsigned warnings.
15050         * mcore.md: Likewise.
15051         * mn10300.c (mask_ok_for_mem_btst): Likewise.
15052
15053 2002-09-09  Per Bothner  <per@bothner.com>
15054
15055         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
15056         characters, and only print TREE_STRING_LENGTH chars.
15057
15058 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
15059
15060         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
15061         (ASM_FILE_END) New.
15062         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
15063         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
15064         * config/ia64/ia64.c (ia64_asm_output_external): Create list
15065         of external functions if TARGET_HPUX_LD is true.
15066         (ia64_hpux_add_extern_decl): New, routine to put names on
15067         list of external functions.
15068         (ia64_hpux_asm_file_end): Put out declarations for external
15069         functions if and only if they are used.
15070
15071 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15072
15073         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
15074         on TARGET_64BIT before pic register restore.
15075
15076 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
15077
15078         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
15079         (TARGET_HAVE_TLS): New description.
15080
15081 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
15082
15083         * doc/extend.texi (Statement Exprs): Fix broken link.
15084
15085 2002-09-09  Denis Chertykov  <denisc@overta.ru>
15086
15087         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
15088         right conversion of operands[1].
15089
15090 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
15091
15092         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
15093         commutative.  Use "nonimmediate_operand" instead of "register_operand"
15094         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
15095
15096         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
15097         as commutative.
15098
15099         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
15100         mark as commutative.  Use "nonimmediate_operand" instead of
15101         "register_operand" as predicate for operand 1.
15102
15103         ("movstrictsi"): Fix typo in insn name.
15104
15105 2002-09-09  Jan Hubicka  <jh@suse.cz>
15106
15107         * i386.c (index_register_operand): New.
15108         * i386.h (predicate_codes): Add new predicate.
15109         * i386.md (lea_general_*): Use index_register_operand
15110         (ashift to lea splitter): Do not produce invalid leas
15111         (ashift to mov+ashift split): New.
15112
15113 2002-09-09  Nick Clifton  <nickc@redhat.com>
15114
15115         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
15116         Fix folding marks.
15117
15118 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
15119             J"orn Rennecke <joern.rennecke@superh.com>
15120
15121         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
15122
15123 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
15124
15125         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
15126         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
15127         attributes.
15128
15129 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
15130
15131         * basic_block.h (gcov_type): Explain why it is signed.
15132         * final.c: Don't include profile.h.
15133         (struct function_list, functions_head, functions_tail,
15134         end_final): Moved to profile.c
15135         (final): Move arc chaining code to profile.c.
15136         * function.c (prepare_function_start): Remove duplicate line.
15137         * output.h (end_final): Remove prototype.
15138         * predict.c (estimate_loops_at_level): Use gcov_type.
15139         * profile.c (struct function_list, functions_head,
15140         functions_tail): Moved from final.c
15141         (need_func_profiler): Remove.
15142         (instrument_edges): Don't set need_func_profiler.
15143         (get_exec_counts): Avoid signed/unsigned warning.
15144         (compute_checksum): Use crc32.
15145         (branch_prob): Adjust. Chain onto functions_head.
15146         (init_branch_prob): Absorb init_edge_profiler.
15147         (init_edge_profiler): Remove.
15148         (create_profiler): Moved and renamed from final.c:end_final.
15149         Emit data and constructor.
15150         (output_func_start_profiler): Remove.
15151         * profile.h (struct profile_info): checksum is unsigned.
15152         * rtl.h (output_func_start_profiler): Remove prototype.
15153         (create_profiler): Declare.
15154         * toplev.c (compile_file): Call create_profiler, if instrumenting
15155         arcs. Don't call end_final.
15156
15157 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15158
15159         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
15160
15161 2002-09-08  Richard Henderson  <rth@redhat.com>
15162
15163         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
15164         (DW_OP_GNU_push_tls_address): New.
15165         (DW_OP_lo_user): Fix.
15166         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
15167         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
15168         (size_of_loc_descr): Likewise.
15169         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
15170         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
15171         (loc_descriptor_from_tree): Handle TLS variables.
15172         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
15173         (add_location_or_const_value_attribute): ... not here.  Defer
15174         to loc_descriptor_from_tree for TLS variables.
15175
15176         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
15177         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
15178         * config/i386/i386-protos.h: Update.
15179
15180 2002-09-08  Roger Sayle  <roger@eyesopen.com>
15181
15182         PR optimization/6405
15183         * unroll.c (loop_iterations): last_loop_insn should be the previous
15184         non-note instruction before loop->end.
15185         * loop.c (strength_reduce): The conditional jump is the last
15186         non-note instruction before loop->end (as above).
15187
15188 2002-09-08  Roger Sayle  <roger@eyesopen.com>
15189
15190         * combine.c (try_combine): Handle the case that undobuf.other_insn
15191         has been turned into a return or unconditional jump, by inserting
15192         a BARRIER if necessary.
15193         (simplify_set):  Test if a condition code setter has a constant
15194         comparison at compile time, if so convert this insn to a no-op move
15195         and update/simplify the condition code user (undobuf.other_insn).
15196
15197 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
15198
15199         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
15200         (CLEAR_INSN_CACHE): Define.
15201
15202 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
15203
15204         * basic-block.h: Fix comment formatting.
15205         * c-common.c: Likewise.
15206         * c-common.h: Likewise.
15207         * c-lex.c: Likewise.
15208         * c-pretty-print.c: Likewise.
15209         * cfglayout.c: Likewise.
15210         * cfgloop.c: Likewise.
15211         * defaults.h: Likewise.
15212         * et-forest.c: Likewise.
15213         * explow.c: Likewise.
15214         * function.h: Likewise.
15215         * gcov.c: Likewise.
15216         * genattrtab.c: Likewise.
15217         * gengtype.c: Likewise.
15218         * ifcvt.c: Likewise.
15219         * libgcc2.c: Likewise.
15220         * loop.c: Likewise.
15221         * profile.c: Likewise.
15222         * ra-build.c: Likewise.
15223         * real.c: Likewise.
15224         * rtl.h: Likewise.
15225         * tracer.c: Likewise.
15226         * tree-inline.c: Likewise.
15227         * varasm.c: Likewise.
15228
15229 2002-09-08  Jan Hubicka  <jh@suse.cz>
15230
15231         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
15232         handling.
15233
15234         * loop.c (loop_givs_reduce):  Emit addition after.
15235
15236 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
15237
15238         * varasm.c (default_assemble_visibility): Rename from
15239         assemble_visibility.
15240         * output.h: Here too.
15241         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
15242         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
15243
15244 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
15245
15246         * reload.c (find_reloads <p constraint>): Pass operand_mode to
15247         find_reloads_address.
15248
15249 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
15250
15251         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
15252         (anonymous pattern): Likewise.
15253
15254 2002-09-07  Igor Shevlyakov <igor@microunity.com>
15255
15256         * machmode.def: Add modes for half-float vectors.
15257
15258 2002-09-07  Scott Snyder  <snyder@fnal.gov>
15259
15260         PR target/7374
15261         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
15262
15263 2002-09-07  Roger Sayle  <roger@eyesopen.com>
15264
15265         * basic-block.h (struct loop): Remove unused cont_dominator field.
15266
15267 2002-09-07  Igor Shevlyakov <igor@microunity.com>
15268
15269         * varasm.c (decode_rtx_const): Don't check undefined field for
15270         CONST_VECTOR.
15271
15272 2002-09-07  Glen Nakamura  <glen@imodulo.com>
15273
15274         PR opt/7814
15275         * sched-deps.c (sched_analyze_insn): Make sure to add insn
15276         to reg_last->sets after flushing the dependency lists to guarantee
15277         that subsequent clobbers will be dependent on it.
15278
15279 2002-09-07  Igor Shevlyakov <igor@microunity.com>
15280
15281         * combine.c (simplify_shift_const): Calculate rotate count
15282         correctly for vector operands.
15283
15284 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
15285
15286         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
15287         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
15288         tree_expr_nonnegative_p.
15289         (build_conditional_expr): Likewise.
15290         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
15291
15292 2002-09-07  Richard Henderson  <rth@redhat.com>
15293
15294         * builtins.def (inf, inff, infl): Mark const.
15295         (huge_val, huge_valf, huge_vall): Likewise.
15296         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
15297
15298         * real.c (ereal_inf): Clear E before use.
15299
15300 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
15301
15302         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
15303         an expander and an anonymous pattern.  Zero out the upper half
15304         of the dividend in the expander.
15305         (udivmodqi4): Likewise.
15306
15307 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
15308
15309         * config/h8300/h8300.c: Fix formatting.
15310         * config/h8300/h8300.h: Likewise.
15311         * config/h8300/h8300.md: Likewise.
15312
15313 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
15314
15315         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
15316         information.
15317
15318 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
15319
15320        * rtlanal.c (dead_or_set_regno_p): Fix typo.
15321
15322 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
15323
15324         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
15325
15326         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
15327         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
15328         (TARGET_ASM_OUT): Add the above here.
15329         * target.h (struct gcc_target): Add "visibility" field.
15330         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
15331         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
15332         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
15333         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
15334
15335 2002-09-06  Ziemowit Laski <zlaski@apple.com>
15336
15337         * c-lang.c (objc_is_id): New stub.
15338         * c-tree.h (objc_is_id): New forward declaration.
15339         * c-typeck.c (build_c_cast): Do not strip protocol
15340         qualifiers from 'id' type.
15341         * objc/objc-act.c (objc_comptypes): Correct handling
15342         of protocol qualifiers.
15343         (objc_is_id): New.
15344
15345 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
15346
15347         * pentium.md (pentium-firstvboth): Fix typo.
15348
15349 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
15350
15351         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
15352         (enum shift_type, enum h8_cpu): Likewise.
15353         (INL, ROT, LOP, SPC macros): Likewise.
15354         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
15355         const designator.
15356         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
15357         space efficient algorithms when optimize for codesize.
15358
15359 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15360
15361         Fix PR/1727 and long-standing failing testcase
15362         objc/formal-protocol-6.m.
15363         * objc-act.c (build_protocol_expr): If compiling for the GNU
15364         runtime, create a list of Protocol statically allocated instances
15365         if it doesn't exist, then add the Protocol object to this same
15366         list.
15367         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
15368         instead of TREE_CHAIN.
15369
15370 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15371
15372         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
15373         10k.  Fixed category dumping - print out category names with the
15374         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
15375         interface.
15376         (finish_objc): Fixed the -gen-decls option.  It was printing out
15377         only the last class.  Dump an interface declaration of all classes
15378         being compiled instead.
15379
15380 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
15381
15382         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
15383         prototype.
15384         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
15385         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
15386         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
15387         rather than GEN_INT.
15388         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
15389         (return_addr_mask, *check_arch2): New.
15390
15391 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
15392
15393         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
15394         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
15395         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
15396         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
15397         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
15398         "adddf3", "*adddf3", "*adddf3_ibm",
15399         "addsf3", "*addsf3", "*addsf3_ibm",
15400         "muldi3", "mulsi3", "mulsidi3",
15401         "muldf3", "*muldf3", "*muldf3_ibm",
15402         "mulsf3", "*mulsf3", "*mulsf3_ibm",
15403         "*anddi3_cc", "*anddi3_cconly", "anddi3",
15404         "*andsi3_cc", "*andsi3_cconly", "andsi3",
15405         "*iordi3_cc", "*iordi3_cconly", "iordi3",
15406         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
15407         "*xordi3_cc", "*xordi3_cconly", "xordi3",
15408         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
15409         instead of "register_operand" as predicate for "%0" operand.
15410
15411 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
15412
15413         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
15414         unconditionally when gcc_cv_as_flags64 checks are gone.
15415         * configure: Rebuilt.
15416
15417 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
15418
15419         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
15420         2002-07-26 change.  Comment.
15421
15422 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15423
15424         * frv.c (frv_unique_section, frv_select_section,
15425         frv_select_rtx_section): Delete.
15426         (frv_in_small_data_p): New.
15427         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
15428         TARGET_ASM_SELECT_RTX_SECTION): Delete.
15429         (TARGET_IN_SMALL_DATA_P): Define.
15430
15431 2002-09-05  Dale Johannesen  <dalej@apple.com>
15432
15433         * reload1.c (reload):  Retain only those memory clobbers
15434         added for variable-array handling.
15435
15436 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
15437
15438         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
15439         return-in-memory rules.
15440         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
15441
15442 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
15443
15444         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
15445         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
15446
15447 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
15448
15449         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
15450         not a compile-time constant for the non-IBM case.
15451         * config/arm/arm-protos.h (arm_float_words_big_endian): New
15452         prototype.
15453         * config/arm/arm.c (arm_float_words_big_endian): New function.
15454         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
15455         if TARGET_VFP  and not TARGET_HARD_FLOAT.
15456         (ARM_FLAG_VFP, TARGET_VFP): Define.
15457         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
15458
15459 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
15460
15461         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
15462         URLs.  Fix AIX wording.
15463
15464 2002-09-05  Stan Shebs  <shebs@apple.com>
15465
15466         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
15467         -fPIC equivalent on Darwin.
15468
15469 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15470
15471         * sh.c (sh_expand_builtin): Return early if encountering an
15472         error_mark for a type.
15473
15474 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
15475
15476         * config/s390/s390.c (s390_expand_plus_operand): Do not require
15477         double-word scratch register.
15478         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
15479
15480         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
15481         "*cli"): Replace s_operand by memory_operand.
15482         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
15483
15484 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
15485
15486         * config/h8300/h8300.c (asm_file_start): Add a missing
15487         semicolon.
15488
15489 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
15490
15491         * c-typeck.c (build_function_call): Remove unused variable(s).
15492         (build_c_cast): Likewise.
15493         * calls.c (rtx_for_function_call): Likewise.
15494         * cfglayout.c (duplicate_insn_chain): Likewise.
15495         * cfgloop.c (flow_loop_nodes_find): Likewise.
15496         * cfgrtl.c (split_edge): Likewise.
15497         * df.c (df_ref_create): Likewise.
15498         * except.c (expand_end_catch): Likewise.
15499         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
15500         * function.c (emit_return_into_block): Likewise.
15501         (reposition_prologue_and_epilogue_notes): Likewise.
15502         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
15503         * combine.c (subst_prev_insn, need_refresh): Remove.
15504         * dwarf2out.c (primary_filename): Remove.
15505         * final.c (new_block): Remove.
15506         * gcse.c (orig_bb_count): Remove.
15507
15508 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15509
15510         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
15511         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
15512         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
15513         directly instead of using a function pointer.
15514
15515 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
15516
15517         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
15518         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
15519         (ix86_output_addr_diff_elt) Likewise.
15520         (x86_output_mi_thunk) Likewise.
15521         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
15522
15523 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15524
15525         * frv.c (frv_encode_section_info): Fix error in last change.
15526
15527 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
15528
15529         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
15530         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
15531         (TARGET_BINDS_LOCAL_P): Define.
15532         (rs6000_override_options): Save original flag_pic value.
15533         (rs6000_elf_select_section): Call default_elf_select_section_1.
15534         (rs6000_elf_unique_section): Call default_unique_section_1.
15535         (rs6000_elf_in_small_data_p): New function.
15536         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
15537         (rs6000_xcoff_select_section): Update based on defaults.
15538         (rs6000_xcoff_unique_section): Set to basic name if not common.
15539         (rs6000_binds_local_p): New function.
15540         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
15541         targetm.have_srodata_section if SDATA_EABI.
15542         (TARGET_IN_SMALL_DATA_P): Define.
15543
15544 2002-09-04  Dale Johannesen  <dalej@apple.com>
15545
15546         * varasm.c (struct rtx_const, decode_rtx_const):
15547         Make veclo and vechi fields not share storage.
15548
15549 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
15550
15551         * loop.c (scan_loop): Don't mark separate insns out of a libcall
15552         for moving.
15553         (move_movables): Abort if we see the first insn of a libcall.
15554
15555 2002-09-04  Richard Henderson  <rth@redhat.com>
15556
15557         * builtin-types.def (BT_FN_FLOAT): New.
15558         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
15559         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
15560         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
15561         * builtins.c (fold_builtin_inf): New.
15562         (fold_builtin): Call it.
15563         * real.c (ereal_inf): New.
15564         * real.h: Declare it.
15565         * doc/extend.texi: Document new builtins.
15566
15567 2002-09-04  Richard Henderson  <rth@redhat.com>
15568
15569         * cse.c (cse_insn): Avoid subreg games if the equivalence
15570         is already in the proper mode.
15571
15572 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
15573
15574         PR c/7102
15575         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
15576
15577 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15578
15579         * pa.md (setccfp0, setccfp1): New patterns.
15580
15581 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15582
15583         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
15584         frv_select_section, frv_select_rtx_section,
15585         frv_encode_section_info, frv_unique_section): Delete.
15586         * frv.c: Update for target hooks.
15587         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
15588         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
15589         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
15590
15591 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15592
15593         * ip2k-protos.h (function_prologue, function_epilogue,
15594         encode_section_info): Update to match target hook specification.
15595         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
15596         (function_prologue, function_epilogue, encode_section_info):
15597         Update to match target hook specification.
15598         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
15599         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
15600         (NOTICE_UPDATE_CC): Cast to void.
15601         * ip2k.md: Add defaults in switch statements.
15602
15603 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15604
15605         * doc/trouble.texi (Interoperation): Update information about C++ ABI
15606         issues.
15607
15608 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
15609
15610         * config/sparc/t-netbsd64: Disable multilib for now.
15611
15612 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
15613
15614         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
15615         * target.h (gcc_target): Add have_srodata_section member.
15616         * varasm.c (section_category): Add SECCAT_SRODATA.
15617         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
15618         READONLY_SDATA_SECTION defined.
15619         (decl_readonly_section_1): True for SECCAT_SRODATA also.
15620         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
15621         (default_unique_section_1): Likewise.
15622
15623 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15624
15625         * expr.c (emit_group_load): Revise to allow splitting TCmode source
15626         into DImode pieces.
15627
15628         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
15629         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
15630         for floating-point register class.
15631         * pa.c (function_arg): Fix handling of modes wider than one word for
15632         TARGET_64BIT.
15633
15634 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
15635
15636         * combine.c (make_compound_operation): Don't generate zero / sign
15637         extensions in floating point modes.
15638
15639 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15640
15641         * doc/c-tree.texi: Fix overfull hboxes.
15642         * doc/cppopts.texi: Ditto.
15643         * doc/extend.texi: Ditto.
15644         * doc/gty.texi: Ditto.
15645         * doc/invoke.texi: Ditto.
15646         * doc/makefile.texi: Ditto.
15647         * doc/rtl.texi: Ditto.
15648         * doc/standards.texi: Ditto.
15649         * doc/tm.texi: Ditto.
15650
15651 2002-09-04  Richard Henderson  <rth@redhat.com>
15652
15653         * c-common.c (builtin_define_with_hex_fp_value): New.
15654         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
15655
15656 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
15657
15658         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
15659         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
15660         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
15661         Warn that these options can break ABI compatibility.
15662
15663 2002-09-04  Richard Henderson  <rth@redhat.com>
15664
15665         * real.c (ereal_to_decimal): Add digits parameter.
15666         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
15667         * c-pretty-print.c (pp_c_real_literal): Update call.
15668         * print-rtl.c (print_rtx): Likewise.
15669         * print-tree.c (print_node_brief, print_node): Likewise.
15670         * sched-vis.c (print_value): Likewise.
15671         * config/arc/arc.c (arc_print_operand): Likewise.
15672         * config/c4x/c4x.c (c4x_print_operand): Likewise.
15673         * config/i370/i370.h (PRINT_OPERAND): Likewise.
15674         * config/i386/i386.c (print_operand): Likewise.
15675         * config/i960/i960.c (i960_print_operand): Likewise.
15676         * config/ip2k/ip2k.c (asm_output_float): Likewise.
15677         * config/m32r/m32r.c (m32r_print_operand): Likewise.
15678         * config/m68hc11/m68hc11.c (print_operand): Likewise.
15679         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
15680         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
15681         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
15682         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
15683         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
15684         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15685         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
15686         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
15687         * config/mips/mips.c (print_operand): Likewise.
15688         * config/ns32k/ns32k.c (print_operand): Likewise.
15689         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
15690         * config/vax/vax.h (PRINT_OPERAND): Likewise.
15691         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
15692
15693 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
15694
15695         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
15696         xtensa_multibss_section_type_flags.
15697         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
15698
15699 2002-09-04  Richard Henderson  <rth@redhat.com>
15700
15701         * doc/install-old.texi: Don't mention enquire.
15702         * doc/sourcebuild.texi: Update float.h description.
15703
15704 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
15705
15706         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
15707
15708 2002-09-03  Roger Sayle  <roger@eyesopen.com>
15709
15710         * builtins.c (build_function_call_expr): Remove prototype, export
15711         as non-static and add a comment above function definition.
15712         (builtin_mathfn_code): New function to check for math builtins.
15713         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
15714         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
15715         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
15716         log(sqrt(x)) as log(x)/2.0.
15717
15718         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
15719         in new "builtins.c" section.  Place the build_range_type prototype
15720         with the other prototypes from "tree.c".
15721
15722         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
15723         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
15724         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
15725         x/exp(y) as x*exp(-y).
15726
15727 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
15728
15729         * varasm.c (default_section_type_flags): Append _1 to name with
15730         shlib parameter.  Use original name to call new function with
15731         implicit flag_pic.
15732         (decl_readonly_section): Likewise.
15733         (default_elf_select_section): Likewise.
15734         (default_unique_section): Likewise.
15735         (default_bind_local_p): Likewise.
15736         (categorize_decl_for_section): Add shlib parameter to use in place
15737         of implicit flag_pic.
15738         * output.h: Declare new functions with _1 and shlib argument.
15739
15740 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
15741
15742         * doc/install.texi: Fix typos, formatting problems, and obvious
15743         overfull/underfull boxes.
15744
15745         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
15746         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
15747         include its file, compat.texi.
15748         * doc/compat.texi: New file with new chapter, Binary Compatibility.
15749
15750 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
15751
15752         Debian BTS Bug #157416
15753         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
15754         * cpplib.c (destringize_and_run): Kludge around getting
15755         tokens from in-progress macros.
15756         (_cpp_do__Pragma): Simplify.
15757
15758 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15759
15760         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
15761         (CPP_CPU_SPEC): Remove.
15762         (TARGET_CPU_CPP_BUILTINS): New.
15763         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
15764         (CPP_SPEC): Remove.
15765         (TARGET_OS_CPP_BUILTINS): New.
15766         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
15767         (TARGET_OS_CPP_BUILTINS): New.
15768         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
15769         TARGET_OS_CPP_BUILTINS.
15770         (CPP_PREDEFINES): Remove.
15771         (CPLUSPLUS_CPP_SPEC): Remove.
15772         (TARGET_OS_CPP_BUILTINS): New.
15773
15774 2002-09-03  Richard Henderson  <rth@redhat.com>
15775
15776         * Makefile.in (USER_H): Add ginclude/float.h.
15777         (FLOAT_H): Remove.
15778         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
15779         (mostlyclean): Don't remove float.h intermediate files.
15780         (distclean): Don't remove float.h.
15781         * config.gcc: Remove all float_format references.
15782         * configure.in (float_format, float_h_file): Remove.
15783
15784         * c-common.c: Include tree-inline.h.
15785         (builtin_define_with_int_value): New.
15786         (builtin_define_type_precision): Use it.
15787         (builtin_define_float_constants): New.
15788         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
15789         __FLT_EVAL_METHOD__.
15790         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
15791         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
15792         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
15793         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
15794         (TARGET_FLT_EVAL_METHOD): New.
15795
15796         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
15797         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
15798         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
15799         * ginclude/float.h: New.
15800
15801 2002-09-03  Stan Shebs  <shebs@apple.com>
15802
15803         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
15804         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
15805         (PREFERRED_DEBUGGING_TYPE): Ditto.
15806         (ASM_OUTPUT_IDENT): Remove empty definition.
15807
15808 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
15809
15810         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
15811         cxx_target.
15812         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
15813         handling routine for builtin pragma.
15814         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
15815         Registered pragma handling routine.
15816         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
15817         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
15818         If builtin pragma seen for math routine and C89 conformance is
15819         requested use different math function in order to set errno.
15820         * t-ia64 (ia64-c.o): Add new rule for new file.
15821
15822 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15823
15824         * config/s390/s390.md ("movti"): Add Q->Q alternative.
15825         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
15826         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
15827
15828         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
15829         "*movsf_ss"): Remove.
15830
15831 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15832
15833         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
15834         Delete macros.
15835
15836 2002-09-03   Arati Dikey  <aratid@kpit.com>
15837
15838         * h8300.c (asm_file_start): Corrected optimization comment.
15839
15840 2002-09-03  Stan Shebs  <shebs@apple.com>
15841
15842         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
15843         * c-tree.h (recognize_objc_keyword): Remove decl.
15844         * c-typeck.c (comp_target_types): Update a comment.
15845
15846 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
15847
15848         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
15849         and register validity checks.
15850         (general_s_operand): Adapt to s390_decompose_address interface change.
15851         (q_constraint): Likewise.
15852         (s390_expand_plus_operand): Likewise.
15853         (legitimiate_address_p): Likewise.
15854         (legitimate_la_operand_p): Likewise.
15855         (legitimize_la_operand): Likewise.
15856         (print_operand_address): Likewise.
15857         (print_operand): Likewise.
15858
15859 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15860
15861         PR objc/5956:
15862         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
15863         was causing the new selector never to match the existing ones
15864         (Patch by Alexander Malmberg <alexander@malmberg.org>).
15865
15866 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15867
15868         * config/i386/i386.md ("femms"): Add "memory" attr "none".
15869
15870 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
15871
15872         * expr.c (expand_expr): Remove extraneous comment and code.
15873
15874 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
15875
15876         * stor-layout (finish_builtin_struct): Renamed and moved from c++
15877         frontend. Take chain of fields. Allow NULL alignment type.
15878         * tree.h (finish_builtin_struct): Declare.
15879
15880 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15881
15882         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
15883         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
15884         config/arc/arc.c config/arc/arc.h config/arm/aout.h
15885         config/arm/arm.c config/arm/arm.h config/arm/arm.md
15886         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
15887         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
15888         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
15889         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
15890         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
15891         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
15892         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
15893         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
15894         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
15895         config/pa/pa.h config/pa/pa.md config/romp/romp.h
15896         config/rs6000/linux64.h config/rs6000/lynx.h
15897         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
15898         config/s390/s390.c config/s390/s390.md config/sh/sh.c
15899         config/sparc/sparc.c config/sparc/sysv4.h
15900         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
15901         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
15902         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
15903
15904         * doc/tm.texi: Update docs.
15905         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
15906         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
15907
15908 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15909
15910         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
15911         * arc.c (arc_internal_label): New function.
15912         (TARGET_ASM_INTERNAL_LABEL): Set.
15913         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15914         * arm.c (arm_internal_label): New function.
15915         (TARGET_ASM_INTERNAL_LABEL): Set.
15916         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15917         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15918         * i370.c (i370_internal_label): New function.
15919         (TARGET_ASM_INTERNAL_LABEL): Set.
15920         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15921         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15922         * m68k.c (m68k_hp320_internal_label): New function.
15923         (TARGET_ASM_INTERNAL_LABEL): Set.
15924         * m88k.c (m88k_internal_label): New function.
15925         (TARGET_ASM_INTERNAL_LABEL): Set.
15926         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15927         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15928         * genoutput.c (output_prologue): Include target.h in output file.
15929         * output.h (default_internal_label): Declare.
15930         * sdbout.c: Include target.h.
15931         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15932         TARGET_ASM_OUT.
15933         * target.h (internal_label): Add to struct gcc_target.
15934         * varasm.c (default_internal_label): New function.
15935
15936 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15937
15938         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15939         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15940         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15941         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15942         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15943         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15944         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15945         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15946         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15947         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15948         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15949         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15950         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15951         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15952         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15953         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15954         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15955         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15956         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15957         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15958         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15959         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15960         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15961         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15962         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15963         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15964         * mmix.c (mmix_asm_output_internal_label): Likewise.
15965         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15966         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15967         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15968         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15969         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15970         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15971         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15972         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15973         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15974         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15975         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15976         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15977         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15978         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15979         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15980         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15981         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15982         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15983         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15984
15985         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15986
15987 2002-08-31  Richard Henderson  <rth@redhat.com>
15988
15989         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15990
15991 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15992
15993         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15994
15995 2002-08-30  Richard Henderson  <rth@redhat.com>
15996
15997         PR opt/7515
15998         * c-objc-common.c: Include target.h.
15999         (c_cannot_inline_tree_fn): Don't auto-inline functions that
16000         don't bind locally.  Factor setting DECL_UNINLINABLE.
16001         * Makefile.in (c-objc-common.o): Update.
16002
16003 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
16004
16005         * doc/install.texi (Configuration, Building): Fix a typo and
16006         some formatting directives.
16007
16008 2002-08-30  Paul Koning <pkoning@equallogic.com>
16009
16010         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
16011         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
16012         implemented" note.
16013         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
16014         for alphabetic order.
16015         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
16016         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
16017         (VAX_HALFWORD_ORDER): Document.
16018         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
16019         IEEE float format.
16020         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
16021         (ASM_OUTPUT_LABEL_REF): Fix font.
16022         (CASE_VECTOR_SHORTEN_MODE): Ditto.
16023
16024 2002-08-30  Denis Chertykov  <denisc@overta.ru>
16025
16026         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
16027         stuff.
16028         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
16029         CONST_DOUBLE constants.
16030
16031 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
16032
16033         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
16034         related defines to...
16035         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
16036         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
16037         as a no-op.
16038
16039 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
16040
16041         * config/arm/arm.c (arm_asm_output_labelref): New function.
16042         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
16043         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
16044
16045 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
16046
16047         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
16048         memory exhausted" workarounds.
16049
16050 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16051
16052         * diagnostic.c (fancy_abort): Don't repeat "internal error".
16053         * toplev.c (crash_signal): Likewise.
16054
16055 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16056
16057         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
16058         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
16059         Extended, updated documentation.
16060         (-Wundeclared-selector): Documented.
16061
16062 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
16063
16064         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
16065         the value 1.  Do not undef before defining.
16066         * config/darwin.h: Likewise.
16067         * config/dbx.h: Likewise.
16068         * config/dbxcoff.h: Likewise.
16069         * config/dbxelf.h: Likewise.
16070         * config/elfos.h: Likewise.
16071         * config/interix.h: Likewise.
16072         * config/lynx-ng.h: Likewise.
16073         * config/lynx.h: Likewise.
16074         * config/netware.h: Likewise.
16075         * config/psos.h: Likewise.
16076         * config/svr3.h: Likewise.
16077         * config/alpha/alpha.h: Likewise.
16078         * config/alpha/elf.h: Likewise.
16079         * config/alpha/vms.h: Likewise.
16080         * config/arc/arc.h: Likewise.
16081         * config/arm/aout.h: Likewise.
16082         * config/arm/coff.h: Likewise.
16083         * config/c4x/c4x.h: Likewise.
16084         * config/h8300/h8300.h: Likewise.
16085         * config/i386/cygwin.h: Likewise.
16086         * config/i386/djgpp.h: Likewise.
16087         * config/i386/gas.h: Likewise.
16088         * config/i386/gstabs.h: Likewise.
16089         * config/i386/i386-coff.h: Likewise.
16090         * config/i386/i386-interix.h: Likewise.
16091         * config/i386/sco5.h: Likewise.
16092         * config/i386/svr3dbx.h: Likewise.
16093         * config/i386/sysv3.h: Likewise.
16094         * config/i386/win32.h: Likewise.
16095         * config/i386/x86-64.h: Likewise.
16096         * config/i960/i960.h: Likewise.
16097         * config/ia64/ia64.h: Likewise.
16098         * config/ip2k/ip2k.h: Likewise.
16099         * config/m32r/m32r.h: Likewise.
16100         * config/m68k/3b1.h: Likewise.
16101         * config/m68k/3b1g.h: Likewise.
16102         * config/m68k/ccur-GAS.h: Likewise.
16103         * config/m68k/coff.h: Likewise.
16104         * config/m68k/hp2bsd.h: Likewise.
16105         * config/m68k/hp310g.h: Likewise.
16106         * config/m68k/hp320g.h: Likewise.
16107         * config/m68k/hp3bsd.h: Likewise.
16108         * config/m68k/hp3bsd44.h: Likewise.
16109         * config/m68k/linux-aout.h: Likewise.
16110         * config/m68k/m68k-aout.h: Likewise.
16111         * config/m68k/mot3300.h: Likewise.
16112         * config/m68k/netbsd.h: Likewise.
16113         * config/m68k/openbsd.h: Likewise.
16114         * config/m68k/pbb.h: Likewise.
16115         * config/m68k/plexus.h: Likewise.
16116         * config/m68k/sun2.h: Likewise.
16117         * config/m68k/sun3.h: Likewise.
16118         * config/m68k/tower-as.h: Likewise.
16119         * config/m68k/vxm68k.h: Likewise.
16120         * config/m88k/aout-dbx.h: Likewise.
16121         * config/m88k/m88k-aout.h: Likewise.
16122         * config/mcore/mcore-elf.h: Likewise.
16123         * config/mcore/mcore-pe.h: Likewise.
16124         * config/mips/elf.h: Likewise.
16125         * config/mips/elf64.h: Likewise.
16126         * config/mips/iris5gas.h: Likewise.
16127         * config/mips/iris6.h: Likewise.
16128         * config/mips/mips.h: Likewise.
16129         * config/mips/sni-gas.h: Likewise.
16130         * config/mmix/mmix.h: Likewise.
16131         * config/ns32k/netbsd.h: Likewise.
16132         * config/pa/pa64-hpux.h: Likewise.
16133         * config/romp/romp.h: Likewise.
16134         * config/rs6000/sysv4.h: Likewise.
16135         * config/rs6000/xcoff.h: Likewise.
16136         * config/sh/coff.h: Likewise.
16137         * config/sh/elf.h: Likewise.
16138         * config/sparc/linux64.h: Likewise.
16139         * config/sparc/liteelf.h: Likewise.
16140         * config/sparc/netbsd.h: Likewise.
16141         * config/sparc/openbsd.h: Likewise.
16142         * config/sparc/pbd.h: Likewise.
16143         * config/sparc/sp64-elf.h: Likewise.
16144         * config/sparc/sp86x-elf.h: Likewise.
16145         * config/sparc/sparc.h: Likewise.
16146         * config/vax/vax.h: Likewise.
16147         * config/vax/vaxv.h: Likewise.
16148
16149 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
16150
16151         * h8300.c (shift_alg_hi): Various tweaks to improve performance
16152         of HImode shifts.
16153         (get_shift_alg): Corresponding changes.
16154
16155 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16156
16157         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
16158
16159 2002-08-29  Richard Henderson  <rth@redhat.com>
16160
16161         * expr.h (enum block_op_methods): New.
16162         (emit_block_move): Update prototype.
16163         * expr.c (block_move_libcall_safe_for_call_parm): New.
16164         (emit_block_move_via_loop): New.
16165         (emit_block_move): Use them.  New argument METHOD.
16166         (emit_push_insn): Always respect the given alignment.
16167         (expand_assignment): Update call to emit_block_move.
16168         (store_expr, store_field, expand_expr): Likewise.
16169         * builtins.c (expand_builtin_apply): Likewise.
16170         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
16171         * function.c (expand_function_end): Likewise.
16172         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
16173         * config/sparc/sparc.c (sparc_va_arg): Likewise.
16174         * calls.c (expand_call, emit_library_call_value_1): Likewise.
16175         (save_fixed_argument_area): Use emit_block_move with
16176         BLOCK_OP_CALL_PARM instead of move_by_pieces.
16177         (restore_fixed_argument_area): Likewise.
16178         (store_one_arg): Fix alignment parameter to emit_push_insn.
16179
16180 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16181
16182         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
16183
16184 2002-08-29  Catherine Moore  <clm@redhat.com>
16185
16186         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
16187         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
16188         (PREDICATE_CODES): Include new predicates.
16189         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
16190         (TARGET_SWITCHES):  Add strict-align.
16191         (TARGET_STRICT_ALIGN): New.
16192         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
16193         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
16194         Define.
16195         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
16196         v850_muldi3.
16197         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
16198         L_callt_save_r2_r31, L_return_r2_r31,
16199         L_save_all_interrupt): Change addi to add.
16200         (L_save_interrupt, L_return_interrupt): Rework.
16201         (__return_r31):  Correct .size directive.
16202         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
16203         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
16204         New routines.
16205         * config/v850/v850.c (expand_prologue): Call
16206         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
16207         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
16208         (reg_or_int9_operand): New predicate.
16209         (reg_or_const_operand): New routine.
16210         * config/v850/v850.md (return_interrupt): Changed from
16211         restore_interrupt.
16212         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
16213         (callt_save_interrupt): Change save sequence.
16214         (callt_return_interrupt): New.
16215         (save_interrupt): Don't use runtime function for LONG_CALLS
16216         and TARGET_PROLOG_FUNCTION.
16217         (save_all_interrupt): Likewise.
16218         (mulsi3): Use new predicate.
16219         (moviscc): Disallow some combination of constants.
16220         Fix define_split for sasf insns, so that it will not generate bad
16221         code if operand0 and operand5 are the same.
16222         * config/v850/v850-protos.h: Prototype new predicates.
16223
16224 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
16225
16226         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
16227         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
16228
16229 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16230
16231         * c-common.c (builtin_define_type_precision): New function.
16232         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
16233         wchar_t is unsigned in C++.
16234         * doc/cpp.texi (Common Predefined Macros): Document
16235         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
16236         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
16237         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
16238
16239 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
16240
16241         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
16242         section.  Mention that it is enabled by -Wall.
16243         (-Wall): Mention that there can be language-specific warnings as well.
16244         (-Wctor-dtor-privacy): Mention that it is enabled by default.
16245         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
16246
16247 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
16248
16249         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
16250         if it is ever live.
16251
16252         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
16253         attribute for SHCOMPACT.
16254
16255         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
16256         appropriately.
16257         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
16258         by the ABI.
16259
16260         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
16261
16262 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
16263
16264         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
16265         "MASK_GAS|MASK_ABICALLS".
16266         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
16267         (TARGET_DEFAULT): Remove.
16268         (MACHINE_TYPE): Undefine before defining.
16269         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
16270
16271 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
16272
16273         * c-common.c (warn_abi): New variable.
16274         * c-common.h (warn_abi): Likewise.
16275         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
16276         (c_common_decode_option): Handle it.
16277         * doc/invoke.texi: Document -Wabi.
16278
16279 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
16280
16281         * c-common.c (warn_undeclared_selector): New variable.
16282         * c-common.h (warn_undeclared_selector): Idem.
16283         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
16284         to on when -Wundeclared-selector is found.
16285         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
16286         * objc/objc-act.c (build_selector_expr): If
16287         warn_undeclared_selector is set, check that the selector has
16288         already been defined, and emit a warning if not.
16289
16290 2002-08-27  Nick Clifton  <nickc@redhat.com>
16291             Catherine Moore  <clm@redhat.com>
16292             Jim Wilson  <wilson@cygnus.com>
16293
16294         * config.gcc: Add v850e-*-* target.
16295         Add --with-cpu= support for v850.
16296         * config/v850/lib1funcs.asm: Add v850e callt functions.
16297         * config/v850/v850.h: Add support for v850e target.
16298         * config/v850/v850.c: Add functions to support v850e target.
16299         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
16300         * config/v850/v850.md: Add patterns for v850e instructions.
16301         * doc/invoke.texi: Document new v850e command line switches.
16302
16303 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
16304                           Aldy Hernandez <aldyh at redhat dot com>
16305
16306         * doc/tm.texi: Applied numerous fixes to the automaton based
16307         scheduler descrition.
16308
16309 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
16310
16311         * i386.c (classify_argument): Handle variable sized objects.
16312
16313 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
16314
16315         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
16316
16317 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
16318
16319         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
16320
16321 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
16322
16323         * i386.c (classify_argument): Properly compute word size of the analyzed object.
16324
16325 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
16326
16327         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
16328         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
16329         accordingly.
16330         (attribute insn_class): Provide default definitions based on type.
16331         Remove all insn-specific settings.
16332         (various function units): Remove old SH4 scheduling.
16333         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
16334         New attributes.  Set them where appropriate.
16335         (cpu unit FS): Don't define / use.
16336         (F3, load_store): New cpu units.
16337         (F01): New reservation.
16338         (all insn_reservations): Make dependent on sh4 pipeline model.
16339         Fix latencies.
16340         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
16341         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
16342         (mt insn_reservation): Use type mt_group.
16343         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
16344         sh4_fload and sh4_store.
16345         (insn_reservation branch_zero and branch): Replace with sh4_branch.
16346         (insn_reservation branch_far): Replace with sh4_return.
16347         (insn_reservation return_from_exp): Rename to:
16348         (sh4_return_from_exp).  Change to be just d_lock*5.
16349         (insn_reservation lds_to_pr): Rename to:
16350         (sh4_lds_to_pr).  Change to be just d_lock*2.
16351         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
16352         d_lock*2.
16353         (insn_reservation prload_mem): Rename to:
16354         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
16355         (insn_reservation fpscr_store): Rename to:
16356         (fpscr_load).  Change to d_lock,nothing,F1*3.
16357         (insn_reservation fpscr_store_mem): Rename to:
16358         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
16359         (insn_reservation multi): Change to
16360         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
16361         (insn_reservation fp_arith): Change to issue,F01,F2.
16362         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
16363         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
16364         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
16365         (insn_reservation fp_double_cmp): Change to
16366         d_lock,(d_lock+F01),F1+F2,F2.
16367         (insn_reservation dp_div): Change to
16368         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
16369         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
16370         (sh_adjust_cost, SHcompact): Differentiate between different
16371         kinds of dependencies.  Drop factor of ten for superscalar.
16372         Use new instruction types.  Add new exception rules.
16373
16374         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
16375
16376         * sh.md (mperm_w): Add DONE.
16377
16378 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
16379
16380         * longlong.h: Import current PowerPC defintion from GMP-4.1.
16381
16382         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
16383
16384         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
16385
16386 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
16387
16388         * sh.h (MAX_FIXED_MODE_SIZE): Define.
16389
16390 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
16391
16392         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
16393         delimiter.
16394
16395 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
16396
16397         * c-common.c (cpp_define_data_format): New function.
16398         (cb_register_builtins): Call it.
16399
16400         * doc/cpp.texi (Common Predefined Macros): Document
16401         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
16402         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
16403         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
16404         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
16405         __TARGET_USES_VAX_H_FLOAT__.
16406
16407 2002-08-26  Ziemowit Laski <zlaski@apple.com>
16408
16409         * objc/objc-act.c (get_super_receiver): If inside a class method
16410         of a category, cast the receiver to 'id' before accessing the 'isa'
16411         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
16412
16413 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
16414
16415         * config/s390/s390-protos.h (s390_function_prologue,
16416         s390_function_epilogue): Remove.
16417         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
16418         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
16419
16420         config/s390/s390.c (s390_machine_dependent_recorg): New function.
16421         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
16422         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
16423         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
16424         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
16425
16426         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
16427         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
16428         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
16429         function is not a leaf function.  Use save_gprs and restore_gprs.
16430         (s390_emit_epilogue): Likewise.
16431         (save_gprs, restore_gprs): New functions.
16432         (struct s390_frame): Remove return_reg_saved_p member.
16433         (save_fprs_p): Remove.
16434         (s390_optimize_prolog): New function.
16435         (s390_legitimate_reload_constant): Remove now unnecessary check.
16436
16437         (s390_function_count): Remove.
16438         (s390_output_symbolic_const): Replace s390_function_count by
16439         current_function_funcdef_no.
16440         (s390_output_constant_pool): Likewise.
16441
16442         (legitimize_pic_address): Use regs_ever_live to track PIC register
16443         instead of current_function_uses_pic_offset_table.
16444         (s390_emit_prologue): Likewise.
16445         config/s390/s390.md ("call", "call_value"): Likewise.
16446
16447 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
16448
16449         * c-opts.c (find_opt): Don't complain about wrong languages
16450         here.  Return exact matches even for wrong language.
16451         (c_common_decode_option): Complain about wrong languages
16452         here.
16453
16454 2002-08-24  Stuart Hastings  <stuart@apple.com>
16455
16456         * function.h (struct function): Add flag
16457         all_throwers_are_sibcalls.
16458         * except.c (set_nothrow_function_flags): Replaces
16459         nothrow_function_p. Set new flag.
16460         * except.h (set_nothrow_function_flags): Replaces
16461         nothrow_function_p.
16462         * dwarf2out.c (struct dw_fde_struct): Add flag
16463         all_throwers_are_sibcalls.
16464         (output_call_frame_info): Test it.
16465         (dwarf2out_begin_prologue) Propagate it from cfun to
16466         dw_fde_struct.
16467         * toplev.c (rest_of_compilation): Update calls to
16468         nothrow_function_p.
16469
16470 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
16471
16472         * ggc-page.c (compute_inverse): Short circuit calculation for
16473         object sizes larger than half a page.
16474
16475 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
16476
16477         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
16478         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
16479         default.
16480         (rs6000_elf_unique_section): Likewise.
16481
16482 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16483
16484         * ns32k.c (ns32k_globalize_label): Delete.
16485         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
16486
16487 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
16488
16489         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
16490         for loading delta with num_insns_constant_wide.  Calculate
16491         delta_low, delta_high without using a conditional.
16492
16493 2002-08-22  Jason Merrill  <jason@redhat.com>
16494
16495         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
16496         * c-common.def: Adjust.
16497         * c-dump.c (c_dump_tree): Adjust.
16498         * c-semantics.c (genrtl_return_stmt): Adjust.
16499         * c-pretty-print.c (pp_c_statement): Adjust.
16500         * tree-inline.c (copy_body_r): Adjust.
16501
16502 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
16503
16504         * ggc-page.c: Avoid division in ggc_set_mark.
16505         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
16506         compute_inverse): New.
16507         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
16508         (init_ggc): Initialize inverse_table.
16509
16510 2002-08-22  Tom Tromey  <tromey@redhat.com>
16511
16512         * doc/install.texi (Configuration): Document --datadir.
16513
16514 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
16515
16516         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
16517
16518 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
16519
16520         * gengtype-lex.l (ID): Allow underscore as first character.
16521
16522 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
16523
16524         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
16525         function.
16526         (rs6000_xcoff_asm_named_section): Rename.
16527         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
16528
16529 2002-08-21  Tom Tromey  <tromey@redhat.com>
16530
16531         For PR java/6005 and PR java/7611:
16532         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
16533         (fold): Likewise.
16534         * langhooks.c (lhd_can_use_bit_fields_p): New function.
16535         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
16536         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
16537         (LANG_HOOKS_INITIALIZER): Use it.
16538         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
16539         field.
16540
16541 2002-08-21  Stan Shebs  <shebs@apple.com>
16542
16543         * tree.c (finish_vector_type): Fix a typo in a comment.
16544         * Makefile.in: Fix "the the" stutters in comments.
16545         * genautomata.c: Ditto.
16546         * ifcvt.c: Ditto.
16547         * regrename.c: Ditto.
16548         * config/alpha/alpha.c: Ditto.
16549         * config/alpha/vms-crt0-64.c: Ditto.
16550         * config/alpha/vms-crt0.c: Ditto.
16551         * config/alpha/vms-psxcrt0-64.c: Ditto.
16552         * config/alpha/vms-psxcrt0.c: Ditto.
16553         * config/d30v/d30v.h: Ditto.
16554         * config/fr30/fr30.h: Ditto.
16555         * config/rs6000/rs6000.c: Ditto.
16556         * config/stormy16/stormy16.h: Ditto.
16557         * doc/md.texi: Ditto.
16558
16559 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16560
16561         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
16562
16563 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
16564
16565         * c-decl.c (grokdeclarator): Make invalid combinations with long,
16566         short, signed or unsigned into hard errors.  Fixes PR c/4319.
16567         Also make duplicate modifiers such as "short short" into hard
16568         errors.
16569
16570 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
16571             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16572
16573         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
16574         to the actual end.  Add '@end table' and '@table @code'.
16575
16576 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
16577
16578         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
16579
16580         * unroll.c (biv_total_increment): Don't try to compute the total
16581         increment for FP BIVs.
16582
16583 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16584
16585         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
16586         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
16587         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16588         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
16589         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
16590         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
16591         (GLOBAL_ASM_OP): Define.
16592         * arm.c (aof_globalize_label): New function.
16593         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
16594         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16595         * c4x.c (c4x_globalize_label): New function.
16596         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
16597         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
16598         (GLOBAL_ASM_OP): Define.
16599         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16600         * darwin-protos.h (darwin_globalize_label): Declare.
16601         * darwin.c (darwin_globalize_label): New function.
16602         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
16603         (ASM_GLOBALIZE_LABEL): Delete.
16604         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
16605         * dsp16xx.c (asm_output_common): Use target hook.
16606         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
16607         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
16608         (GLOBAL_ASM_OP): Define.
16609         * i370.c (i370_globalize_label): New function.
16610         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
16611         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
16612         * i386.c (ix86_asm_file_end): Use target hook.
16613         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
16614         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
16615         * ia64.c (ia64_asm_output_external): Likewise.
16616         * ia64/sysv4.h: Update comment.
16617         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16618         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16619         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
16620         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
16621         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
16622         * mmix-protos.h (mmix_asm_globalize_label): Delete.
16623         * mmix.c (mmix_asm_globalize_label): Likewise.
16624         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
16625         (GLOBAL_ASM_OP): Define.
16626         * ns32k.c (ns32k_globalize_label): New function.
16627         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
16628         (ASM_GLOBALIZE_LABEL): Delete.
16629         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
16630         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
16631         * pa.c (pa_globalize_label): New function.
16632         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
16633         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
16634         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
16635         (GLOBAL_ASM_OP): Define.
16636         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
16637         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
16638         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
16639         (GLOBAL_ASM_OP): Define.
16640         * v850.c (v850_output_aligned_bss): Use target hook.
16641         * vax.c (vms_globalize_label): New function.
16642         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
16643         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
16644         (GLOBAL_ASM_OP): Define.
16645         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
16646         * doc/tm.texi: Update docs.
16647         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
16648         target hook.
16649         * final.c (output_alternate_entry_point): Likewise.
16650         * hooks.c (hook_FILEptr_constcharptr_void): New function.
16651         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
16652         * output.h (assemble_global): Delete.
16653         (default_globalize_label): Declare.
16654         * system.h (ASM_GLOBALIZE_LABEL): Poison.
16655         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
16656         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
16657         * target.h (gcc_target): Add globalize_label member.
16658         * varasm.c (asm_output_bss, asm_output_aligned_bss,
16659         globalize_decl): Use target hook.
16660         (assemble_global): Delete.
16661         (default_globalize_label): New function.
16662
16663 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16664
16665         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
16666
16667 2002-08-20  Devang Patel  <dpatel@apple.com>
16668         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
16669
16670 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16671
16672         * arc.c (output_shift): Use stdio instead of asm_fprintf.
16673         * arm.c (thumb_output_function_prologue): Likewise.
16674         * avr.c (print_operand): Likewise.
16675         * c4x.c (c4x_print_operand): Likewise.
16676         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
16677         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
16678         * cris.c (cris_target_asm_function_prologue,
16679         cris_asm_output_mi_thunk): Likewise.
16680         * h8300.c (print_operand): Likewise.
16681         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16682         * ip2k.c (print_operand): Likewise.  Fix format specifier.
16683         * m68hc11.c (asm_print_register, print_operand,
16684         print_operand_address): Use stdio instead of asm_fprintf.
16685         (print_operand_address): Fix format specifier.
16686         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
16687         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
16688         asm_fprintf.
16689         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16690         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
16691         * m68k.c (m68k_output_function_prologue,
16692         m68k_output_function_epilogue, print_operand): Likewise.
16693         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
16694         Likewise.  Fix format specifier.
16695         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16696         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16697         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
16698
16699 2002-08-15  Eric Christopher  <echristo@redhat.com>
16700             Jeff Knaggs  <jknaggs@redhat.com>
16701
16702         * config.gcc (mipsisa64sr71k-elf): New target.
16703         * config/mips/sr71k.md: New file.
16704         * config/mips/mips.md: Use it.
16705         (rot*): Add sr71k specifics.
16706         * config/mips/t-sr71k: New file.
16707         * config/mips/mips.h (sr71k): New cpu.
16708         (TARGET_SR71K): Use it.
16709         (TUNE_SR71K): Ditto.
16710         (GENERATE_BRANCHLIKELY): Ditto.
16711         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
16712         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
16713         * config/mips/mips.c (sr71k): New cpu.
16714         (mips_use_dfa_pipeline_interface): Use.
16715
16716 2002-08-15  Eric Christopher  <echristo@redhat.com>
16717             Richard Sandiford <rsandifo@redhat.com>
16718             Aldy Hernandez  <aldyh@redhat.com>
16719             Graham Stott    <grahams@redhat.com>
16720             Michael Meissner  <meissner@redhat.com>
16721             Gavin Romig-Koch  <gavin@redhat.com>
16722             Ken Raeburn  <raeburn@cygnus.com>
16723             Alexandre Oliva <aoliva@redhat.com>
16724
16725         * config.gcc (mips64vr-elf): New target.
16726         * config/mips/5400.md: New file.
16727         * config/mips/5500.md: Ditto.
16728         * config/mips/mips.md: Use them.
16729         (frsqrt): New.
16730         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
16731         cpus.
16732         (mips_issue_rate): Use them.
16733         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
16734         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
16735         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
16736         cpus.
16737         (TARGET_MIPSx): Use them.
16738         (TUNE_MIPSx): Ditto.
16739         (GETNATE_MULT3_SI): Ditto.
16740         (ISA_HAS_BRANCHLIKELY): Ditto.
16741         (ISA_HAS_CONDMOVE): Ditto.
16742         (ISA_HAS_NMADD_NMSUB): Ditto.
16743         (ISA_HAS_MULHI): New. Ditto.
16744         (ISA_HAS_MULS): Ditto.
16745         (ISA_HAS_MSAC): Ditto.
16746         (ISA_HAS_MACC): Ditto.
16747         (ISA_HAS_ROTR_SI): Ditto.
16748         (ISA_HAS_ROTR_DI): Ditto.
16749         (RTX_COSTS): Use.
16750
16751 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16752
16753         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
16754         at head.
16755         (remove_dup_nonsys_dirs): New function.
16756         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
16757         (merge_include_chains): Remove non-system include directories from
16758         quote and bracket include chains when they duplicate equivalent system
16759         directories.
16760         * doc/cpp.texi (-I): Update.
16761         * doc/cppopts.texi (-I): Update.
16762         * doc/install.texi (--with-local-prefix): Further document usage of
16763         this option.
16764         * doc/invoke.texi (-I): Update.
16765
16766 2002-08-20  Richard Henderson  <rth@redhat.com>
16767
16768         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
16769         (emit_block_move): Split out subroutines.
16770         (emit_block_move_via_movstr): New.
16771         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
16772         (emit_block_move_libcall_fn): New.  Construct function prototype for
16773         bcopy as well.
16774         (clear_storage): Split out subroutines.
16775         (clear_storage_via_clrstr): New.
16776         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
16777         (clear_storage_libcall_fn): New.  Construct function prototype for
16778         bzero as well.
16779         (emit_push_insn): Use emit_block_move.
16780         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
16781         (store_constructor): Likewise.
16782
16783 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16784
16785         * objc/objc-act.c (building_objc_message_expr): Rename to
16786         current_objc_message_selector.
16787
16788 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
16789
16790         * objc/objc-act.c (build_ivar_chain): Remove.
16791         (objc_copy_list): Likewise.
16792         (get_class_ivars): Inline call to removed build_ivar_chain
16793         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
16794         slot; use that slot (rather than CLASS_IVARS) when accessing
16795         ivars for base classes.  Call copy_list and chainon instead of
16796         objc_copy_list.
16797         (build_private_template): Call get_class_ivars instead of
16798         build_ivar_chain.
16799         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
16800         (continue_class): Call get_class_ivars instead of
16801         build_ivar_chain.
16802         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
16803         of DECL_BIT_FIELD (which may have been cleared).
16804         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
16805
16806 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16807
16808         * genautomata.c (output_translate_vect, output_state_ainsn_table,
16809         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
16810         in output file.
16811         (output_internal_min_issue_delay_func): Initialize variable in
16812         output file.
16813
16814 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
16815
16816         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
16817         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
16818
16819 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
16820             Steve Ellcey  <sje@cup.hp.com>
16821
16822         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
16823         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
16824         * explow.c (trunc_int_for_mode): Abort when the mode is not
16825         a scaler integer mode.
16826         * combine.c (expand_compound_operation): Don't expand Vector
16827         or Complex modes into shifts.
16828         (expand_field_assignment): Don't do bitwise arithmatic and
16829         shifts on Vector or Complex modes.
16830         (simplify_comparison): Don't call trunc_int_for_mode
16831         for VOIDmode.
16832         * recog.c (general_operand): Likewise.
16833         (immediate_operand): Likewise.
16834         (nonmemory_operand): Likewise.
16835
16836 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
16837
16838         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
16839         multi-instruction SImode constant.  Add REG_EQUAL note.
16840         * config/rs6000/rs6000.md (movsi splitter): Use
16841         rs6000_emit_set_const.
16842
16843 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16844
16845         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
16846         the macro test controlling its use.
16847
16848 2002-08-18  H.J. Lu  (hjl@gnu.org)
16849
16850         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
16851         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
16852         gnu_ld=yes.
16853         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
16854         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
16855         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
16856         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
16857         here.
16858         (cris-*-linux*): Remove setting thread_file here.
16859
16860 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
16861
16862         PR preprocessor/7602
16863         * cppinit.c (path_include): Treat the system environment
16864         variables as being cxx_aware.
16865
16866 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
16867
16868         * c-decl.c (flexible_array_type_p): New function.
16869         (grokdeclarator, finish_struct): Use it.
16870         * doc/extend.texi: Document constraints on use of structures with
16871         flexible array members.
16872
16873 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
16874
16875         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
16876         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
16877         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
16878
16879 2002-08-16  Stan Shebs  <shebs@apple.com>
16880
16881         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
16882         for ObjC with -fnext-runtime.
16883         * doc/cpp.texi: Document it.
16884
16885 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
16886
16887         * doc/install.texi (Final installation): Replace links to individual
16888         build status pages with a link to a common page that lists them all.
16889
16890 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
16891
16892         * doc/invoke.texi: Fix typo.
16893
16894 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
16895
16896         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
16897
16898 2002-08-16  Andrew Haley  <aph@redhat.com>
16899
16900         * tree-inline.c: Add includes for Java inliner.
16901         (remap_decl): Don't handle anonymous types for Java.
16902         (remap_block): Add handling for Java trees.
16903         (copy_scope_stmt): Conditionalize for non-Java use only.
16904         (copy_body_r): Handle Java trees.  Add handling for
16905         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
16906         (initialize_inlined_parameters):  Handle Java trees.
16907         (declare_return_variable): Likewise.
16908         (expand_call_inline): Handle Java trees.
16909         (walk_tree): Likewise.
16910         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
16911         (add_stmt_to_compound): New function.
16912
16913 2002-08-15  Richard Henderson  <rth@redhat.com>
16914
16915         * Makefile.in (LOOSE_WARN): Remove -fno-common.
16916         (NOCOMMON_FLAG): New substitution point.
16917         (GCC_WARN_CFLAGS): Include it.
16918         * configure.in (ac_checking): Set nocommon_flag.
16919         (nocommon_flag): New substitution point.
16920
16921 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
16922
16923         * c-tree.h (skip_evaluation): Move declaration...
16924         * c-common.h: ... here.
16925         * c-typeck.c (build_external_ref): Don't assemble_external nor
16926         mark a tree as used if skip_evaluation is set.
16927         * c-parse.in (typeof): New non-terminal to set skip_evaluation
16928         around TYPEOF.
16929         (typespec_nonreserved_nonattr): Use it.
16930
16931 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
16932
16933         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16934         (xcoff_debug_hooks): Update end_prologue.
16935         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16936         * debug.h (end_prologue): Add file arg.
16937         (end_epilogue): Add line and file args.
16938         (dwarf2out_end_epilogue): Add line and file args.
16939         (vmsdbgout_after_prologue): Remove.
16940         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16941         (dwarf2_debug_hooks): Update end_prologue.
16942         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16943         (dwarfout_end_prologue): Add file arg.
16944         * final.c (vmsdbgout_after_prologue): Remove
16945         (final_end_function): Update end_epilogue call.
16946         (final_scan_insn): Update end_prologue call.
16947         * sdbout.c (sdbout_end_epilogue): Add line and file args.
16948         (sdbout_end_prologue): Add file arg.
16949         (sdb_debug_hooks): Update end_prologue.
16950         (sdb_begin_prologue): Update sdbout_end_prologue call.
16951         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16952         vmsdbgout_end_function.
16953         (vmsdbgout_end_prologue): New function renamed from
16954         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16955         (vmsdbgout_end_function): New function.
16956         (vmsdbgout_end_epilogue): Add line and file args. Call
16957         vmsdbgout_source_line.
16958         (write_pclines): Write only valid line numbers.
16959         (write_srccorr): Don't write source correlation records if 0 lines.
16960         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16961
16962 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
16963
16964         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16965         (_Unwind_Internal_Ptr): 32 bit version for use in
16966         read_encoded_value_with_base.
16967         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16968         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16969         right size.
16970
16971 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16972
16973         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16974         signed/unsigned warnings.
16975
16976         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16977         record_reg_classes): Likewise.
16978
16979         * reload.c (reload_inner_reg_of_subreg, push_reload,
16980         find_reloads_address_1): Likewise.
16981
16982 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
16983
16984         * rs6000.c (output_mi_thunk): Return to function section on
16985         TARGET_ELF.
16986
16987         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16988
16989 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
16990
16991         * config/s390/s390.c (legitimize_address): Optimize loading
16992         of large displacements.
16993
16994 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
16995
16996         * config/alpha/alpha-protos.h: Update.
16997
16998         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16999         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
17000         (alpha_linkage_symbol_p): New static function.
17001         (print_operand_address): Print linkage operand.
17002
17003         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
17004         variables.
17005         (reloc_kind): New enum.
17006         (struct alpha_funcs): New struct.
17007         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
17008
17009         (alpha_need_linkage): Rewrite.
17010         (alpha_use_linkage): New global function.
17011         (alpha_write_linkage): Rewrite and make static.
17012         (alpha_write_one_linkage): Rewrite
17013
17014         (alpha_start_function): Remove procedure descriptor output.
17015         (alpha_end_function): Write linkages at end of each function.
17016
17017         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
17018         (call_vms_1, call_value_vms_1): Rewrite.
17019
17020         * config/alpha/vms.h (ASM_FILE_END): Remove.
17021
17022 2002-08-14  Richard Henderson  <rth@redhat.com>
17023
17024         * ggc-page.c (RTL_SIZE): New.
17025         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
17026         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
17027
17028 2002-08-14  Richard Henderson  <rth@redhat.com>
17029
17030         * calls.c: Include target.h.
17031         * Makefile.in (calls.o): Update.
17032
17033         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
17034         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
17035
17036 2002-08-14  Richard Henderson  <rth@redhat.com>
17037
17038         * Makefile.in (LOOSE_WARN): Add -fno-common.
17039         * c-common.h (constant_string_class_name): Add missing extern.
17040
17041 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
17042
17043         PR preprocessor/7358
17044         * c-opts.c (check_deps_environment_vars): Ignore main file
17045         for SUNPRO_DEPENDENCIES.
17046         * cppfiles.c (stack_include_file): Ignore main file if
17047         appropriate.
17048         * cpplib.h (struct cpp_options): New member in deps.
17049         * doc/cppenv.texi: Update.
17050
17051 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
17052
17053         PR preprocessor/7526
17054         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
17055
17056 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
17057
17058         * doc/invoke.texi (-a): Remove documentation.
17059         (-fprofile-arcs): Remove reference to -a, -ax options.
17060         * doc/gcov.texi (Gcov Data Files): Data might be merged.
17061
17062 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
17063
17064         Fix PR/7566
17065         * c-semantics.c (genrtl_case_label): Don't (mis)use
17066         warning_with_decl.
17067
17068 2002-08-14  Dale Johannesen  <dalej@apple.com>
17069
17070         * explow.c (emit_stack_restore):  Emit memory clobbers
17071         preceding the stack pop, to prevent the scheduler from
17072         moving refs to variable arrays below this pop.
17073         * reload1.c (reload):  Preserve these clobbers for sched2.
17074         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
17075
17076 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
17077
17078         * c-opts.c (c_common_post_options): Correct test.
17079
17080 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17081
17082         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
17083         order in call to fprintf.
17084
17085 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
17086
17087         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
17088
17089 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
17090
17091         * reload.c (find_reloads): Handle constraint letters marked by
17092         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
17093         (alternative_allows_memconst): Likewise.
17094         * reload1.c (maybe_fix_stack_asms): Likewise.
17095         * recog.c (asm_operand_ok, preprocess_constraints,
17096         constrain_operands): Likewise.
17097         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
17098         * local-alloc.c (block_alloc, requires_inout): Likewise.
17099         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
17100
17101         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
17102         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
17103         * doc/tm.texi: Document these two new target macros.
17104
17105         * config/s390/s390.c (s390_expand_plus_operand): Accept already
17106         valid operands.
17107         (q_constraint): New function.
17108         config/s390/s390-protos.h (q_constraint): Declare it.
17109         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
17110         (EXTRA_MEMORY_CONSTRAINT): New macro.
17111
17112         * config/s390/s390.md: Throughout the machine description,
17113         replace all instances of the constraint combinations 'Qo'
17114         or 'oQ' with simply 'Q'.
17115
17116 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
17117
17118         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
17119         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
17120         (LIBGCC2_CFLAGS): Compile with -mrelax.
17121
17122 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
17123
17124         * doc/invoke.texi: Document -minmax for 68HC12.
17125
17126         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
17127         ("uminqi3"): Likewise.
17128         ("uminhi3", "umaxhi3"): Likewise.
17129
17130         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
17131         (TARGET_MIN_MAX): Define.
17132         (TARGET_SWITCHES): New option -minmax/-mnominmax.
17133
17134 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
17135
17136         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
17137         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
17138
17139         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
17140         (ret, declare, farsym): New gas macros.
17141         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
17142         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
17143         and declare the symbol far when compiled with -mlong-calls.
17144         (__far_trampoline): New for 68HC12 trampoline code to invoke a
17145         far handler using jsr/bsr.
17146
17147         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
17148         (jsr): New macro to transform a 'jsr' into a 'call'.
17149
17150 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
17151
17152         * doc/invoke.texi: Document -mlong-calls for 68HC12.
17153
17154         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
17155         -mlong-calls is specified.
17156         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
17157         assembler directives.
17158         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
17159         (TARGET_SWITCHES): Add -mlong-calls options.
17160         (current_function_far): Declare.
17161
17162         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
17163         into account the page register saved on the stack.
17164         (m68hc11_override_options): Take into account -mlong-calls option.
17165         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
17166
17167         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
17168         if the function is going to be in 68HC12 banked memory (-mlong-calls).
17169         ("*return_16bit"): Likewise.
17170         ("*return_void"): Likewise.
17171         ("call", "call_value"): Use call for a far function call.
17172
17173 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
17174
17175         * toplev.c (parse_options_and_default_flags): Don't call
17176         post_options here.
17177         (general_init): Initialize GC, pools and tree hash here,
17178         instead of lang_independent_init.
17179         (lang_independent_init): Rename backend_init.
17180         (do_compile): Call post_options hook; exit early if there
17181         have been errors after switch processing.
17182         (toplev_main): Update.
17183
17184 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
17185
17186         * c-pretty-print.h: Guard against multiple inclusion.
17187         Robustify macros.
17188         (pp_c_attributes): Declare.
17189         * c-pretty-print.c (pp_c_attributes): New function.
17190
17191 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17192
17193         * m68k.c (m68k_output_function_prologue,
17194         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
17195         and NEWS/MOTOROLA.
17196         * genattrtab.c: Remove dpx2 comment.
17197         * libgcc2.c (__enable_execute_stack): Delete versions for
17198         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
17199         sony_news/SYSTYPE_BSD.
17200         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
17201         __gmicro__, __i860__, __NeXT__ and __pyr__.
17202         * rtl.h: Remove convex comment.
17203         * varasm.c: Likewise.
17204
17205 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17206
17207         * c-opts.c (lang_flags): Const-ify.
17208         * ra-build.c (undef_table): Likewise.
17209         * ra.c (eliminables): Likewise.
17210
17211 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
17212
17213         * tree.h: Guard against multiple inclusion.
17214
17215 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
17216
17217         * reload1.c (reload_cse_simplify): Before checking
17218         REG_FUNCTION_VALUE_P, check REG_P.
17219
17220 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
17221
17222         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
17223
17224 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
17225
17226         * c-opts.c (c_common_init_options): Extra braces needed.
17227
17228 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
17229
17230         * sh.c (sh_init_builtins): Add PARAMS to declaration.
17231         (sh_media_init_builtins, sh_expand_builtin): Likewise.
17232         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
17233         (sh_expand_binop_v2sf): Likewise.
17234         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
17235         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
17236         (sh_initialize_trampoline): Likewise.
17237
17238 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
17239
17240         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
17241         new condition code modes.
17242         s390.c (s390_match_ccmode_set): Handle those new CC modes.
17243         (s390_select_ccmode): Likewise.
17244         (s390_branch_condition_mask): Likewise.
17245
17246         * s390-protos.h (s390_tm_ccmode): Declare.
17247         s390.c (s390_tm_ccmode): New function.
17248         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
17249
17250         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
17251         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
17252         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
17253
17254         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
17255         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
17256         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
17257         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
17258         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
17259
17260         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
17261         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
17262         "*cmpqi_ccs_0"): Remove, replace by ...
17263         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
17264         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
17265         "*tstqi", "*tstqi_cconly"): ... these new patterns.
17266
17267         ("*cmpsidi_ccs"): Remove, replace by ...
17268         ("*cmpsi_ccs_sign"): ... this new pattern.
17269         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
17270
17271         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
17272         ("*cli"): ... this new pattern.
17273
17274         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
17275         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
17276         New patterns.
17277         ("adddi3_64"): Rename to "*adddi3_64".
17278         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
17279         ("adddi3"): Adapt expander.
17280
17281         ("*addsi3_cc"): Allow "general_operand" for operand 2.
17282         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
17283         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
17284
17285         ("addhi3", "addqi3"): Remove, replace by ...
17286         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
17287
17288         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
17289         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
17290         ("subdi3"): Replace by insn and splitter "*subdi3_31".
17291         ("subdi3"): New expander.
17292
17293         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
17294
17295         ("subhi3", "subqi3"): Remove, replace by ...
17296         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
17297
17298         ("*muldi3_sign"): New pattern.
17299         ("muldi3"): Do not clobber CC.
17300         ("mulsi3"): Likewise.
17301         ("mulsi_6432"): Likewise.
17302
17303 2002-08-13  Denis Chertykov  <denisc@overta.ru>
17304
17305         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
17306         which can change CC0.
17307
17308 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
17309
17310         * gcse.c (adjust_libcall_notes): New function.
17311         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
17312
17313 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
17314
17315         * libgcc2.c (L_bb): Remove unneeded #includes.
17316         (__global_counters, __gthreads_active): Remove unused globals.
17317         (__bb_exit_func): Merge counts into files rather than appending.
17318         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
17319         (ALL_CFLAGS): ... to here.
17320
17321 2002-08-13  Denis Chertykov  <denisc@overta.ru>
17322
17323         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
17324         (function_epilogue): Don't calculate function size.
17325         (ip2k_set_compare): Don't use lookup_const_double.
17326         (asm_file_start): Initialization of commands_in_file removed.
17327         (asm_file_end): Output of commands_in_file removed.
17328
17329         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
17330         __INT_MAX__.
17331
17332 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
17333
17334         * c-opts.c (c_common_init_options): Check option array is
17335         sorted if checking enabled.
17336
17337 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
17338
17339         * c-pretty-print.c: #include "c-tree.h".
17340         (pp_c_simple_type_specifier): Tweak.
17341         (pp_c_storage_class_specifier): New.
17342         (pp_c_function_specifier): Likewise.
17343         (pp_c_declaration_specifiers): Likewise.
17344         (pp_c_init_declarator): Likewise.
17345         (pp_c_declaration): Likewise.
17346         (pp_c_direct_declarator): Stub.
17347         (pp_c_declarator): Likewise.
17348         (pp_c_parameter_declaration): Likewise.
17349
17350 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
17351
17352         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
17353         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
17354         struct deferred_opt): New.
17355         (COMMAND_LINE_OPTIONS): Add -M*.
17356         (missing_arg): Update.
17357         (c_common_decode_option): Handle -M*.
17358         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
17359         don't call cpp_post_options.
17360         (c_common_finish, check_deps_environment_vars): Update.
17361         * cppfiles.c (stack_include_file, handle_missing_header): Update.
17362         * cpphash.h (CPP_PRINT_DEPS): Remove.
17363         * cppinit.c: Don't include version.h.
17364         (cpp_create_reader): Don't call deps_init.  Initialize
17365         warn_long_long.
17366         (cpp_read_main_file): Init deps if necessary.
17367         (cpp_destroy): Conditionally free deps.
17368         (cpp_finish): Update.
17369         (no_tgt): Remove.
17370         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
17371         (cpp_post_options): Rename post_options.
17372         * cpplib.h (struct cpp_options): Remove some dependency options;
17373         move others to a new structure.
17374         (cpp_post_options): Remove.
17375         (cpp_finish): Comment.
17376         * fix-header.c (read_scan_file): Don't call cpp_post_options.
17377
17378 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
17379
17380         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
17381         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
17382         MMIX_rR_REGNUM as clobbered.
17383         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
17384
17385 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
17386
17387         * diagnostic.h (output_formatted_scalar): Rename from
17388         output_formatted_integer.
17389         * diagnostic.def: Add DK_DEBUG.
17390         * diagnostic.c (output_decimal): Adjust.
17391         (output_long_decimal): Likewise.
17392         (output_unsigned_decimal): Likewise.
17393         (output_octal): Likewise.
17394         (output_long_octal): Likewise.
17395         (output_hexadecimal): Likewise.
17396         (output_long_hexadecimal): Likewise.
17397         * c-pretty-print.c (pp_c_type_specifier): New function.
17398         (pp_c_specifier_qualifier_list): Likewise.
17399         (pp_c_abstract_declarator): Likewise.
17400         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
17401
17402 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
17403
17404         * doc/trouble.texi (Disappointments): Add static constructor and
17405         destructor dependency information for AIX.
17406
17407 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
17408
17409         * cpphash.h (struct printer): New from cppmain.c.
17410         (cpp_reader): New member.
17411         * cppmain.c (struct printer): Move to cpphash.h.
17412         (options, print): Remove.
17413         (account_for_newlines, print_line, maybe_print_line,
17414         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
17415         scan_translation_unit_trad, cb_line_change, cb_ident,
17416         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
17417         cb_def_pragma): Make reentrant.
17418
17419 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17420
17421         * real.c (ieee_64): Always define.
17422         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17423         (dec_h): Not used yet, hide it.
17424         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
17425         macro controlling use.
17426         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
17427
17428 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
17429
17430         * i386.md (tablejump): Sign extend the operand.
17431         * i386.c (classify_argument): Fix missed case from previous patch.
17432
17433 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
17434
17435         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
17436         to c-copts.c.
17437         (warn_multichar): Die.
17438         (cb_register_builtins): Export.
17439         * c-common.h (warn_multichar, preprocess_file): Remove.
17440         (cb_register_builtins): New.
17441         * c-lang.c (c_init): Remove.
17442         (LANG_HOOKS_INIT): Use c_objc_common_init.
17443         * c-lex.c (init_c_lex): Don't canonicalize filename.
17444         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
17445         (preprocess_file): Make static.  Update for cpplib.
17446         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
17447         (c_common_post_options): Set some cpp options here.
17448         (c_common_init): Move from c-common.c.
17449         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
17450         * cpplib.h (struct cpp_options): Remove in_fname.
17451         (cpp_preprocess_file): Update.
17452         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
17453
17454 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17455
17456         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
17457
17458 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17459
17460         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
17461         backslash in comment preceeding macro definition.
17462         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
17463         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
17464         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
17465
17466 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
17467
17468         * expr.c (store_expr): In condition for checking if value is
17469         generated in TARGET, move call to expr_size last.
17470
17471 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
17472
17473         * c-common.c (c_common_init): Call preprocess_file instead.
17474         (c_common_finish): Move to c-opts.c.
17475         * c-common.h (preprocess_file): new.
17476         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
17477         check_deps_environment_vars, c_common_finish): New.
17478         (c_common_decode_option): Update for out_fname and dependencies.
17479         * cppinit.c (init_dependency_output, output_deps): Remove.
17480         (cpp_destroy): Update prototype.
17481         (cpp_add_dependency_target): New.
17482         (cpp_read_main_file): Don't overlay a buffer.
17483         (cpp_finish): Take a deps output stream and write deps to it.
17484         Return the error count.
17485         (cpp_post_options): Don't canonicalize out_fname, or do anything
17486         with dependencies.
17487         * cpplib.h (struct cpp_options): Remove out_fname and
17488         preprocess_only.
17489         (cpp_add_dependency_target): New.
17490         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
17491         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
17492         set preprocess_only.  Don't handle the output stream directly.
17493
17494 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17495
17496         * dsp16xx.c (print_operand): Fix format specifier.
17497         * dsp16xx.md: Avoid automatic aggregate initialization.
17498         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
17499         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
17500         integer constant modifier.
17501         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
17502         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
17503         guards.
17504         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
17505         * v850.c (v850_select_section): Mark parameter with
17506         ATTRIBUTE_UNUSED.
17507         * global.c (global_alloc): Const-ify.
17508         * ra-colorize.c (hardregset_to_string): Fix format specifier.
17509
17510 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17511
17512         * darwin-c.c (darwin_pragma_options): Const-ify.
17513         * darwin.c (machopic_non_lazy_ptr_name,
17514         machopic_validate_stub_or_non_lazy_ptr): Likewise.
17515         (machopic_indirect_data_reference): Wrap variables in macros
17516         controlling their use.
17517         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
17518         (machopic_select_section): Use parentheses around && within ||.
17519         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
17520
17521 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17522
17523         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
17524         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
17525         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
17526         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
17527         mdr_try_remove_redundant_insns, track_w_reload,
17528         mdr_try_wreg_elim): Make function static to match prototype.
17529         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
17530         parameter with ATTRIBUTE_UNUSED.
17531
17532 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17533
17534         * arc.c (arc_init): Don't use ISO C style function definitions.
17535         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
17536         arm_get_strip_length, arm_strip_name_encoding): Likewise.
17537         * avr.h (progmem_section): Likewise.
17538         * h8300.c h8300_asm_insn_count): Likewise.
17539         * m32r.c (init_idents): Likewise.
17540         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
17541         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
17542         * xtensa.c (xtensa_build_va_list): Likewise.
17543
17544 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
17545
17546         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
17547         * c-opts.c (parse_option): Rename find_opt.
17548         (set_std_c99): New function.
17549         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
17550         (missing_arg): Remove OPT_std_bad.  Handle -o.
17551         (c_common_decode_option): Handle input and output file names,
17552         -o and -remap.  Clean up -std= handling.
17553         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
17554         (cpp_handle_option): Similarly.  Don't handle filenames.
17555
17556 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
17557
17558         * i386.c (classify_argument): Fix computing of field's offsets.
17559
17560 2002-08-11  Andreas Jaeger  <aj@suse.de>
17561
17562         PR target/7531:
17563         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
17564
17565 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
17566
17567         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
17568         reference to clk_objective_c with flag_objc.
17569         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
17570         Likewise.
17571         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
17572
17573 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
17574
17575         * c-opts.c (set_std_cxx98, set_std_c89): New.
17576         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17577         (c_common_decode_option): Handle new switches from cppinit.c.
17578         Add -std=gnu++98.
17579         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
17580         (no_arg, no_num): Remove.
17581         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
17582         switches apart from -lang-objc and lang-asm.
17583         (cpp_handle_option): Similarly.
17584         * cpplib.h (cpp_set_lang): New.
17585         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
17586         -std=gnu++98.
17587         * objc/lang-specs.h: Remove -ansi.
17588
17589 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
17590                                Graham Stott
17591
17592         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
17593         errors.
17594
17595 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17596
17597         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
17598         emit_jump_insn): Fix uninitialized variable.
17599         * gcov.c (init_line_info): Likewise.
17600         * genautomata.c (transform_3): Add braces around ambiguous
17601         else.
17602         * ifcvt.c (cond_exec_process_insns): Mark parameter with
17603         ATTRIBUTE_UNUSED.
17604         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
17605         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
17606         variable.
17607
17608         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
17609         warnings in output files.
17610
17611 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
17612
17613         * c-common.c (flag_objc): New.
17614         * c-common.h (c_language_kind): Get rid of clk_objective_c
17615         enum value.
17616         (flag_objc): New extern declaration.
17617         * c-decl.c (implicitly_declare): Call objc_check_decl
17618         instead of maybe_objc_check_decl.
17619         (finish_decl): Likewise.
17620         (grokfield): Likewise.
17621         (finish_struct): Likewise.
17622         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
17623         (maybe_objc_comptypes): Rename to objc_comptypes.
17624         (maybe_building_objc_message_expr): Rename to
17625         objc_message_selector.
17626         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
17627         replace with flag_objc as needed.
17628         * c-opts.c (c_common_init_options): Likewise.
17629         (c_common_decode_option): Likewise.
17630         * c-parse.in (init_reswords): Likewise.
17631         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
17632         (maybe_objc_comptypes): Rename to objc_comptypes.
17633         (maybe_building_objc_message_expr): Rename to
17634         objc_message_selector.
17635         * c-typeck.c (comptypes): Call objc_comptypes instead of
17636         maybe_objc_comptypes, and/or objc_message_selector instead of
17637         maybe_building_objc_message_expr.
17638         (comp_target_types): Likewise.
17639         (convert_for_assignment): Likewise.
17640         (warn_for_assignment): Likewise.
17641         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
17642         independently of those for other languages.
17643         * objc/objc-act.c (maybe_objc_comptypes): Delete.
17644         (maybe_objc_check_decl): Delete.
17645         (maybe_building_objc_message_expr): Rename to
17646         objc_message_selector.
17647         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
17648         clk_objective_c; set flag_objc flag.
17649
17650 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
17651
17652         * ifcvt.c (find_if_case_2): Test correct basic block for size.
17653
17654 2002-08-09  Dale Johannesen  <dalej@apple.com>
17655
17656         * config/rs6000/rs6000.md: Add sibcall patterns.
17657         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
17658         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
17659         Rewritten to handle sibcalls.
17660         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
17661         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
17662
17663 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
17664
17665         * profile.c (da_file_name): New static var.
17666         (init_branch_prob): Initialize it.
17667         (end_branch_prob): Remove da file.
17668
17669         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
17670         * configure.in (coverage_flags): Default to nothing.
17671         * configure: Rebuilt.
17672
17673 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
17674
17675         * Makefile.in (c-opts.o): Update
17676         * c-opts.c: Include intl.h.
17677         (print_help): Move from cppinit.c.  Remove unused options.
17678         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
17679         (missing_arg): Complain for switches without an argument.
17680         (c_common_decode_option): Reject missing joined arguments.
17681         Handle new switches from cppinit.c.
17682         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17683         (cpp_handle_option): Similarly.
17684         (print_help): Moved to c-opts.c.
17685         * cpplib.h (struct cpp_options): Remove help_only.
17686         * gcc.c (cpp_unique_options): Remove -$.
17687         * doc/cppopts.texi: Undocument -h.
17688
17689 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17690
17691         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
17692         legitimate constant.
17693         (legitimate_pic_operand_p): Neither pic operand.
17694         (legitimate_address_p): But legitimate address.
17695         (get_thread_pointer): Generate MEM/u instead of CONST around
17696         UNSPEC_TP.
17697         (print_operand): Remove printing of UNSPEC_TP.
17698         (print_operand_address): And print it here.
17699
17700 2002-08-08  Devang Patel  <dpatel@apple.com>
17701
17702         * objc/objc-act.c (build_selector_translation_table): Issue warning,
17703         when  -Wselector is used,if method for which selector is being
17704         created does not exist.
17705
17706 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
17707
17708         * config/sh/sh.c (prepare_move_operands): Only call
17709         target_reg_operand if TARGET_SHMEDIA.
17710
17711 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17712
17713         * config/rs6000/rs6000.h, config/rs6000/aix.h,
17714         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
17715         two patches.
17716         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
17717
17718 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
17719             Richard Henderson  <rth@redhat.com>
17720
17721         * emit-rtl.c (gen_rtx_REG): After reload, only return
17722         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
17723
17724 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17725
17726         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
17727         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
17728         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
17729         macro.
17730
17731 2002-08-08  Adam Nemet  <anemet@lnxw.com>
17732
17733         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
17734         register.
17735         (thumb_expand_prologue): Likewise.
17736         (thumb_output_function_prologue): Likewise.
17737         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
17738         the additional push of the PIC register.
17739
17740 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
17741
17742         * configure.in (enable_coverage): New enable switch.
17743         * configure: Rebuilt.
17744         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
17745         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
17746         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
17747         (mostlyclean): Remove coverage files.
17748         * doc/install.texi: Document enable_coverage.
17749
17750         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
17751         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
17752         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
17753         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
17754         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
17755         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
17756         files.
17757
17758 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
17759
17760         * c-opts.c (cpp_opts): New.
17761         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
17762         (c_common_decode_options): Handle cpplib switches.
17763         (c_common_init_options): Set cpp_opts.
17764         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
17765         (cpp_handle_option): Similarly.
17766
17767 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
17768
17769         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
17770         (TARGET_ALTIVEC_ABI): Same.
17771         (TARGET_ALTIVEC_VRSAVE): Same.
17772
17773         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
17774         icode not CODE_FOR_nothing.  Change switch to if.
17775
17776 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
17777
17778         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
17779
17780 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
17781
17782         * stor-layout.c (place_union_field): For bitfields if
17783         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
17784         TYPE_USER_ALIGN.
17785
17786 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17787
17788         * pa.c (struct deferred_plabel): Constify name field.
17789
17790 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17791
17792         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
17793
17794 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17795
17796         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
17797         local_prefix are the same.
17798         * configure: Rebuilt.
17799
17800 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
17801             Richard Henderson  <rth@redhat.com>
17802
17803         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
17804         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
17805         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
17806         (place_field): Likewise.
17807         * config/i386/i386.c (x86_field_alignment): Don't check
17808         DECL_USER_ALIGN here.
17809         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
17810         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
17811         prototype.
17812         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
17813         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
17814         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
17815         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
17816         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
17817         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
17818
17819 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
17820
17821         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
17822         * c-common.c: Don't include tree-inline.h.
17823         (c_common_init_options, c_common_post_options): Move to c-opts.c.
17824         * c-common.h (c_common_decode_option): New.
17825         * c-decl.c (c_decode_option): Remove.
17826         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
17827         * c-opts.c: New file.
17828         * c-tree.h (c_decode_option): Remove.
17829         * doc/passes.texi: Update.
17830         * objc/objc-act.c (objc_decode_option): Remove.
17831         * objc/objc-act.h (objc_decode_option): Remove.
17832         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
17833         c_common_decode_option.
17834
17835 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
17836
17837         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
17838         dependency on TARGET_DOUBLE_FLOAT.
17839
17840 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
17841
17842         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
17843         overwrite callee-save registers.  Fix comment.
17844
17845 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
17846
17847         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
17848         in target_flags based on ISA, if it was not set on the command
17849         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
17850         support Branch Likely instructions.
17851         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
17852         (TARGET_BRANCHLIKELY): Likewise.
17853         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
17854         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
17855         ISA_HAS_BRANCHLIKELY.
17856         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
17857         * doc/invoke.texi: Document new MIPS -mbranch-likely and
17858         -mno-branch-likely options.
17859
17860 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17861
17862         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
17863
17864         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
17865         $(GCONFIG_H).
17866
17867 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
17868
17869         * c-decl.c (duplicate_decls): Error out for incompatible TLS
17870         declarations.
17871
17872         * testsuite/gcc.dg/tls/diag-3.c: New.
17873
17874 2002-08-06  Dale Johannesen  <dalej@apple.com>
17875
17876         * c-common.c (fname_decl): Use line number 0 for
17877         __func__, to avoid confusing debuggers.
17878
17879 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
17880
17881         * gcov.c: Tidy.
17882         (struct line_info, struct coverage): New structures.
17883         (gcov_file_name, gcov_file): Remove globals.
17884         (output_data): Take source file parameter. Fix memory leak. Break
17885         up into ...
17886         (init_line_info, output_line_info, make_gcov_file_name,
17887         accumulate_branch_counts): ... here.
17888         (calculate_branch_probs, function_summary): Adjust.
17889         (main): Adjust.
17890         (function_*): Remove global variables.
17891
17892 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17893
17894         * dwarf2out.c: Remove unused macros.
17895
17896 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17897
17898         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
17899
17900 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
17901
17902         * cppinit.c (struct lang_flags): Rename trigraphs std.
17903         (set_lang): Update.
17904         * cpplib.h (struct cpp_options): New member std.
17905         * cppmacro.c (_cpp_builtin_macro_text): Use std.
17906         (collect_args): Flag whether to swallow a possible future
17907         comma pasted with varargs.
17908         (replace_args): Use this flag.
17909         * doc/cpp.texi: Update varargs extension documentation.
17910
17911 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17912
17913         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17914
17915 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17916
17917         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17918         and MODE_CLASS_INT modes.
17919
17920 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17921
17922         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17923         --{enable,disable}-threads is given to configure.
17924         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17925         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17926         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17927         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17928         Remove thread_file setting here.
17929
17930 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
17931
17932         * doc/install.texi (Binaries): Update Bull Freeware URL.
17933
17934 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17935
17936         * doc/gcc.texi (Top): Rename Index to Keyword Index.
17937
17938 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
17939
17940         * gcov.c (output_data): Round to % to nearest, tweak formatting.
17941
17942 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
17943
17944         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17945         of the operands into MINUS_EXPR if code is PLUS_EXPR.
17946
17947 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
17948
17949         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17950         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17951         drectve_section): Define.
17952         * config/i386/t-interix: Replace interix.o rule with winnt.o.
17953         * config/i386/interix.c: Remove.
17954
17955 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
17956
17957         * attribs.c: Don't include obstack.h.
17958         * builtins.c: Likewise.
17959         * cfganal.c: Likewise.
17960         * cfgbuild.c: Likewise.
17961         * cfgcleanup.c: Likewise.
17962         * emit-rtl.c: Likewise.
17963         * loop.c: Likewise.
17964         * stmt.c: Likewise.
17965
17966         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17967
17968 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
17969
17970         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17971
17972 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
17973
17974         * doc/invoke.texi: Remove duplicated paragraph describing
17975         TARGET_SWITCHES.
17976
17977 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
17978
17979         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17980         * collect2.h (permanent_obstack): Delete declaration.
17981         * collect2.c (permanent_obstack): Delete definition.
17982         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
17983         * expr.c: Don't include obstack.h.
17984         (permanent_obstack): Delete declaration.
17985         * function.c: Don't include obstack.h.
17986         (permanent_obstack): Delete declaration.
17987         * integrate.c: Don't include obstack.h.
17988         (function_maybepermanent_obstack): Delete declaration.
17989         * print-tree.c (debug_tree): Use x*alloc not permalloc.
17990         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17991         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17992         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17993         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
17994         of permalloc, expralloc, perm_calloc.
17995         * tree.c (permanent_obstack): Delete definition.
17996         (init_ttree): Rename from init_obstacks.
17997         (permalloc): Delete.
17998         (perm_calloc): Delete.
17999         (dump_tree_statistics): Don't print information about
18000         permanent_obstack.
18001         * varasm.c (assemble_start_function): Use xstrdup instead of
18002         permalloc/strcpy.
18003         (assemble_variable): Likewise.
18004         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
18005         permalloc.
18006         (unicosmk_add_extern): Likewise.
18007         * config/c4x/c4x.c (c4x_external_ref): Likewise.
18008         (c4x_global_label): Likewise.
18009         * config/frv/frv.c (frv_encode_section_info): Likewise.
18010         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
18011         (i386_pe_record_exported_symbol): Likewise.
18012         * config/mips/mips.c (mips_output_external): Likewise.
18013         (mips_output_external_libcall): Likewise.
18014         * config/pa/pa.c: (permanent_obstack): Delete declaration.
18015         (output_call): Use ggc_strdup instead of allocating on
18016         permanent_obstack.
18017         * config/romp/romp.c: Include ggc.h.
18018         (get_symref): Don't declare permanent_obstack, use ggc_strdup
18019         intead of permanent_obstack.
18020         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
18021         instead of permalloc.
18022         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
18023         instead of permalloc
18024         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
18025         instead of permalloc.
18026         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
18027         permalloc.
18028
18029 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
18030
18031         Contribute a port developed primarily by Michael Meissner,
18032         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
18033         * config.gcc: Add frv-elf target.
18034         * config/frv/cmovd.c: New file.
18035         * config/frv/cmovh.c: New file.
18036         * config/frv/cmovw.c: New file.
18037         * config/frv/frv-abi.h: New file.
18038         * config/frv/frv-asm.h: New file.
18039         * config/frv/frv-modes.def: New file.
18040         * config/frv/frv-protos.h: New file.
18041         * config/frv/frv.c: New file.
18042         * config/frv/frv.h: New file.
18043         * config/frv/frv.md: New file.
18044         * config/frv/frvbegin.c: New file.
18045         * config/frv/frvend.c: New file.
18046         * config/frv/lib1funcs.asm: New file.
18047         * config/frv/media.h: New file.
18048         * config/frv/modi.c: New file.
18049         * config/frv/t-frv: New file.
18050         * config/frv/uitod.c: New file.
18051         * config/frv/uitof.c: New file.
18052         * config/frv/ulltod.c: New file.
18053         * config/frv/ulltof.c: New file.
18054         * config/frv/umodi.c: New file.
18055         * config/frv/xm-frv.h: New file.
18056
18057         * config/frv/media.h: Removed again.
18058
18059 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
18060
18061         * gcov.c (bb_file_time): New static variable.
18062         (object_directory): May also be object file.
18063         (preserve_paths): New static variable.
18064         (print_usage): Adjust.
18065         (options): Adjust.
18066         (process_args): Adjust.
18067         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
18068         file. Find modification date on bb file.
18069         (read_profile): Don't rewind a NULL file.
18070         (format_hwint): New static function.
18071         (function_summary): Use format_hwint.
18072         (output_data): SOURCE_FILE_NAME is never relative to
18073         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
18074         mangling. Adjust output format to make it more machine readable.
18075         * doc/gcov.texi: Document & clarify semantics.
18076
18077 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
18078
18079         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
18080
18081 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
18082
18083         * gcc.c (cc1_options): Pass output file as auxbase when
18084         appropriate.
18085         * profile.c (init_branch_prob): FILENAME has already had ending
18086         stripped.
18087         * final.c (end_final): Likewise.
18088         * toplev.c (aux_base_name): New global.
18089         (compile_file): Pass aux_base_name to init init_branch_prob and
18090         end_final.
18091         (independent_decode_option, case 'a'): New auxinfo options.
18092         (case 'd'): Protect against mising basename.
18093         (do_compile): Initialize aux_base_name.
18094         * toplev.h (aux_base_name): New global.
18095         * doc/invoke.texi: Adjust documentation.
18096
18097 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
18098
18099         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
18100         of TARGET_ALIGN_DOUBLE.
18101
18102 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
18103
18104         * diagnostic.c (inform): New function.
18105         * diagnostic.h (inform): Declare.
18106
18107 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
18108
18109         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
18110         (movhi_internal): Same.
18111         (movqi_internal): Same.
18112         (movdi_internal64): Same.
18113
18114         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
18115
18116         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
18117         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
18118         (COMMON_ASM_OP): Define.
18119         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
18120         Use ALIGN parameter.
18121         (LOCAL_COMMON_ASM_OP): Define.
18122         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
18123
18124 2002-08-03  Roger Sayle  <roger@eyesopen.com>
18125
18126         * builtins.def: Define new builtin functions exp, expf, expl,
18127         log, logf and logl (and their __builtin_* variants).
18128         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
18129         Define exp_optab and log_optab.
18130         * optabs.c (init_optans): Initialize exp_optab and log_optab.
18131         * genopinit.c (optabs): Implement exp_optab and log_optab
18132         using exp?f2 and log?f2 patterns.
18133         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
18134         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
18135         (expand_builtin): Ignore the new builtins (and all cos and
18136         sin variants) when not optimizing.  Expand new builtins via
18137         expand_builtin_mathfn when flag_unsafe_math_optimizations.
18138
18139         * doc/extend.texi: Document new exp and log builtins.
18140         * doc/md.texi: Document new exp?f2 and log?f2 patterns
18141         (and previously undocumented cos?f2 and sin?f2 patterns).
18142
18143 2002-08-03  Jason Merrill  <jason@redhat.com>
18144
18145         * explow.c (int_expr_size): New fn.
18146         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
18147         * expr.h: Declare it.
18148
18149 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
18150
18151         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
18152         gengtype-* dependencies.
18153
18154 2002-08-02  Eric Christopher  <echristo@redhat.com>
18155
18156         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
18157         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
18158         #ifndef to #undef.
18159         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
18160
18161 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
18162
18163         PR optimize/7067
18164         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
18165         small if optimizing for size.
18166
18167 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
18168
18169         * configure.in (FORBUILD): Use $build_alias.
18170         * configure: Regenerated.
18171
18172 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
18173
18174         * config.gcc: Don't include mips/abi64.h in $tm_file.
18175         * hard-reg-set.h (call_really_used_regs): Declare.
18176         * config/mips/abi64.h: Remove file.
18177         * config/mips/linux.h,
18178         * config/mips/iris6.h: Don't include it.
18179         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
18180         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
18181         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
18182         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
18183         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
18184         Bring across definitions from abi64.h.
18185         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
18186         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
18187         (struct mips_args): Use it.
18188         * config/mips/mips.c (mips_conditional_register_usage): Define.
18189
18190 2002-08-02  Jason Merrill  <jason@redhat.com>
18191
18192         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
18193         * langhooks.c (lhd_expr_size): Define default.
18194         * langhooks.h (struct lang_hooks): Add expr_size.
18195         * explow.c (expr_size): Call it.
18196         * expr.c (store_expr): Don't copy an expression of size zero.
18197         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
18198         to store.
18199         * Makefile.in (builtins.o): Depend on langhooks.h.
18200
18201 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18202
18203         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
18204         * ra-debug.c: Include "tm_p.h".
18205         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
18206
18207 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
18208
18209         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
18210         when not honoring signalling NaNs.
18211         (simplify_ternary_operation): a == b has a definite value
18212         when not honoring NaNs.
18213
18214 2002-08-02  Jason Merrill  <jason@redhat.com>
18215
18216         * gdbinit.in (pct): New macro.
18217
18218 2002-08-01  Stan Shebs  <shebs@apple.com>
18219             Andreas Tobler  <toa@pop.agri.ch>
18220
18221         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
18222         plays nice with Darwin headers.
18223         (_BSD_RUNE_T_DEFINED_): Likewise.
18224
18225 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
18226
18227         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
18228         * cppinit.c (cpp_post_options): Likewise.
18229
18230         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
18231         warning about 'LL' suffix (but not 'ULL' etc) when
18232         -Wno-long-long is in effect.
18233
18234         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
18235         Check for failing time()/localtime(), issue a warning, and
18236         make __TIME__ and __DATE__ expand to fallback strings.
18237
18238         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
18239         and __TIME__ when the date and time cannot be determined.
18240
18241 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
18242
18243         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
18244
18245 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
18246
18247         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
18248
18249 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
18250
18251         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
18252         (mipsisa64sb1el-*-elf*): Likewise.
18253         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
18254         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
18255         (TARGET_SB1, TUNE_SB1): New macros.
18256         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
18257         -mtune flags.
18258
18259 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
18260
18261         * varasm.c (asm_emit_uninitialized): Return false if global BSS
18262         and ASM_EMIT_BSS not supported by target.
18263         (assemble_variable): Do not duplicate uninitialized logic.
18264         Fall through if asm_emit_uninitialized failed.
18265
18266 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
18267
18268         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
18269
18270 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
18271
18272         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
18273         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
18274
18275         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
18276         HOST_BITS_PER_WIDE_INT == 64.
18277
18278 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18279
18280         * df.c (df_insn_table_realloc): Change parameter to unsigned.
18281         * optabs.c (expand_binop): Make variable unsigned.
18282         * simplify-rtx.c (simplify_subreg): Likewise.
18283         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
18284
18285 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
18286
18287         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
18288
18289 2002-08-01  Richard Henderson  <rth@redhat.com>
18290
18291         * toplev.c (parse_options_and_default_flags): Don't set
18292         flag_reorder_blocks for -Os.
18293
18294         * config/avr/avr.c (avr_optimization_options): Remove.
18295         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
18296         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
18297         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
18298
18299 2002-08-01  H.J. Lu <hjl@gnu.org>
18300             Richard Henderson  <rth@redhat.com>
18301
18302         * output.h (DECL_READONLY_SECTION): Remove.
18303         (decl_readonly_section): Declare.
18304         * varasm.c (decl_readonly_section): New.
18305         (default_section_type_flags, default_select_section): Use it.
18306         * config/arm/pe.c (arm_pe_unique_section): Likewise.
18307         * config/i386/interix.c (i386_pe_unique_section): Likewise.
18308         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
18309         * config/mcore/mcore.c (mcore_unique_section): Likewise.
18310         * config/mips/mips.c (mips_unique_section): Likewise.
18311
18312 2002-08-01  Richard Henderson  <rth@redhat.com>
18313
18314         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
18315         refers to a subroutine parameter.
18316
18317 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
18318
18319         * varasm.c (assemble_visibility): Strip name encoding.
18320
18321 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
18322
18323         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
18324         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
18325         when there is no frame pointer.
18326         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
18327         registers properly.
18328         * config/ns32k/__unorddf2.c: New file.
18329         * config/ns32k/__unordsf2.c: New file.
18330         * config/ns32k/t-ns32k: New file.
18331         * config.gcc (ns32k-*-netbsd*): Use it.
18332
18333 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
18334
18335         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
18336
18337 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
18338
18339         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
18340
18341 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
18342
18343         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
18344
18345 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
18346
18347         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
18348
18349 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
18350
18351         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
18352         n_sets): Removed.
18353         (expr_hash_table, set_hash_table): Type changed to ...
18354         (struct hash_table): New type.
18355         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
18356         insert_expr_in_table, insert_set_in_table, compute_hash_table,
18357         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
18358         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
18359         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
18360         (alloc_hash_table): New.
18361         (free_set_hash_table, free_expr_hash_table): Merged to ...
18362         (free_hash_table): New.
18363         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
18364         (compute_hash_table_work): New.
18365         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
18366         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
18367         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
18368         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
18369         hoist_code, one_code_hoisting_pass,
18370         trim_ld_motion_mems): Altered due to changed type of hash tables.
18371
18372 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
18373
18374         * final.c (output_alternate_entry_point):
18375         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
18376
18377 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18378
18379         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
18380         avoid ISO C style function definition.
18381
18382         * expr.c (expand_assignment): Delete unused variable.
18383
18384 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
18385
18386         * c-common.c (cb_register_builtins): Set
18387         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
18388         is given, and to 0 otherwise.
18389         * combine.c (simplify_if_then_else): HONOR_NANS
18390         implies FLOAT_MODE_P.
18391
18392 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
18393
18394         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
18395         (cpp_handle_option): Don't handle it.
18396         (print_help): Update.
18397         * doc/cppopts.texi: Update.
18398
18399 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
18400
18401         * c-common.c (cb_register_builtins): If C++, define
18402         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
18403         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
18404 cp:
18405         * lang-specs.h: Simplify in accordance with new code in
18406         c-common.c.
18407
18408 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
18409
18410         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
18411         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
18412         * c-decl.c: Move all warning and flag variables to c-common.c.
18413         * c-format.c: Move all warning variables to c-common.c.
18414         * c-tree.h: Move all warning and flag declarations to c-common.h.
18415         * objc/objc-act.c: Move all warning variables to c-common.c.
18416         (flag_warn_protocol): Rename warn_protocol.
18417
18418 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18419
18420         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
18421
18422 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
18423
18424         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
18425         .section prefix.
18426
18427 2002-07-31  Stan Shebs  <shebs@apple.com>
18428
18429         * config.gcc (i[34567]86-*-darwin*): New configuration.
18430         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
18431         defining.
18432         (TARGET_ENCODE_SECTION_INFO): Ditto.
18433         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
18434         * config/darwin.c (machopic_indirect_data_reference): Remove
18435         setting of RTX_UNCHANGING_P.
18436         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
18437         not to be applied to sums.
18438         * config/i386/t-darwin: New file.
18439         * config/i386/darwin.h: New file.
18440         * config/i386/i386.h (TARGET_MACHO): Add default definition.
18441         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
18442         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
18443         label and not the GOT add.
18444         (constant_address_p): For Mach-O, seeing a CONST is enough.
18445         (legitimate_pic_address_disp_p): Add a Mach-O case.
18446         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
18447         (legitimize_pic_address): Use generic Mach-O code to legitimize.
18448         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
18449         if outputting a difference.
18450         (ix86_output_addr_diff_elt): Add Mach-O case.
18451         (ix86_expand_move): Similarly.
18452         (ix86_expand_call): Similarly.
18453         (current_machopic_label_num): New global.
18454         (machopic_output_stub): New function.
18455         (ix86_value_regno): New function.
18456         (ix86_function_value): Use it instead of VALUE_REGNO.
18457         (ix86_libcall_value): Ditto.
18458         * config/i386/unix.h (VALUE_REGNO): Remove.
18459
18460 2002-07-31  Graham Stott  <grahas@btinternet.com>
18461
18462         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
18463         hash for LABEL_REF's.
18464
18465 2002-07-31  Graham Stott  <grahams@btinternet.com>
18466
18467         * config/rs6000/rs6000.c (spe_init_builtins,
18468         altivec_init_builtins, rs6000_common_init_builtins):
18469         Replace ANSI with K&R function def.
18470
18471 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
18472
18473         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
18474         for CCFPmode.
18475
18476 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
18477
18478         * config/mips/crtn.asm: Don't use __mips16 to determine the
18479         return-address offset.  Define RA to a suitable temporary
18480         register for the return address.
18481
18482 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
18483
18484         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
18485         constraints to 'd'.
18486
18487 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
18488
18489         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
18490         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
18491         patch on 2002-07-29.)
18492         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18493
18494 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18495
18496         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
18497         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
18498         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
18499         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
18500         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
18501         (ASM_GLOBALIZE_LABEL): Delete.
18502         (GLOBAL_ASM_OP): Define.
18503
18504         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
18505
18506         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
18507         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
18508
18509 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
18510
18511         * doc/extend.texi (Hints implementation): Document that GCC
18512         mostly ignores `register'.
18513
18514 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
18515
18516         * flags.h: Declare flag_finite_math_only.
18517         Use it in definition of HONOR_NANS and
18518         HONOR_INFINITIES.
18519         * c-common.c (cb_register_builtins): Emit
18520         __FINITE_MATH_ONLY__ when flag_finite_math_only
18521         is set.
18522         * combine.c (simplify_if_then_else): If
18523         flag_finite_math_only is set, a == b has a
18524         definite value.
18525         * toplev.c: Initialize flag_finite_math_only.
18526         (set_flags_fast_math): Set it on -ffast-math.
18527         (flag_fast_math_set_p): Test it.
18528         * doc/invoke.texi: Document -ffinite-math-only.
18529
18530 2002-07-30  Richard Henderson  <rth@redhat.com>
18531
18532         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
18533         (noce_process_if_block): Likewise.
18534
18535 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
18536
18537         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
18538         Bail out early if false_expr is NULL and we'd crash due to this.
18539         * genemit.c (gen_expand): Recognize return insns even if the return
18540         appears in a parallel.
18541         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
18542         * config/fp-bit.c: Likewise.
18543         * doc/tm.texi: Document it.
18544
18545 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
18546             Zack Weinberg  <zack@codesourcery.com>
18547
18548         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
18549         CODE_FOR_nothing.  Change switch to if.
18550         (rs6000_expand_binop_builtin): Same.
18551         (rs6000_expand_builtin): Expand builtin if target support enabled.
18552         (rs6000_init_builtins): Init builtin if target support enabled.
18553         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
18554
18555 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
18556
18557         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
18558
18559 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
18560
18561         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
18562
18563 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
18564
18565         * sh.md (cond_delay_slot): New attribute.
18566         (cbranch delay): Use it for anulled-true case.
18567         (stuff_delay_slot): New pattern.
18568         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
18569         delay slot insn.
18570         (gen_far_branch): Emit stuff_delay_slot pattern.
18571
18572 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
18573
18574         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
18575
18576 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
18577
18578         * fold-const.c: Fix comment typos.
18579         * gcse.c: Likewise.
18580         * reload1.c: Likewise.
18581
18582 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18583
18584         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
18585         for TARGET_SPE.
18586
18587 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18588
18589         * c-pretty-print.h (pp_c_statement): Declare.
18590         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
18591         (pp_c_statement): Define.
18592
18593 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18594
18595         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
18596         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
18597         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
18598         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
18599         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
18600         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
18601
18602         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
18603         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
18604
18605 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18606
18607         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
18608         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
18609         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
18610         (pp_c_expression): Update.
18611
18612 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18613
18614         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
18615         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
18616         * alpha/vms-ld.c (main): Likewise.
18617         * dsp16xx.c (double_reg_to_memory): Likewise.
18618         * mcore.c (mcore_expand_prolog): Likewise.
18619         * cppfiles.c (read_name_map): Likewise.
18620         * gensupport.c (process_rtx, identify_predicable_attribute,
18621         alter_test_for_insn): Likewise.
18622         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
18623
18624 2002-07-29  Roger Sayle  <roger@eyesopen.com>
18625
18626         * builtins.c (expand_builtin):  Change the default behavior to
18627         only issue an error if the builtin function doesn't have a
18628         fallback library call.  Remove several cases handled by the
18629         new default.
18630
18631 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
18632
18633         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
18634         floating point format of the target is IEEE.
18635         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
18636         format of the target is DEC.
18637
18638 2002-07-29  Richard Henderson  <rth@redhat.com>
18639
18640         * unroll.c (verify_addresses): Remove.
18641         (find_splittable_givs): Never split DEST_ADDR givs.
18642
18643 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
18644
18645         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
18646         is exhaustive.
18647         (Files): Improve documentation on generated source files.
18648
18649         * doc/extend.texi (Translation implementation): Document what
18650         diagnostics look like.
18651         (Identifiers implementation): Document that there's normally no
18652         limit on identifier names.
18653         (Integers implementation): Document two's complement.
18654         (Hints implementation): Document that GCC honors 'inline', mostly.
18655         (Preprocessing directives implementation): Document that GCC
18656         requires the current time.
18657
18658 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
18659
18660         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
18661         (pp_initializer): New macro.
18662         (pp_c_initializer): Declare.
18663         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
18664         (pp_c_initializer): Define.
18665         (pp_c_initializer_list): New function.
18666         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
18667         VECTOR_CST, CONSTRUCTOR.
18668         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
18669         IMAGPART_EXPR.
18670         (pp_c_cast_expression): Handle FLOAT_EXPR.
18671         (pp_c_assignment_expression): Handle INIT_EXPR.
18672         (pp_c_expression): Update.
18673
18674 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
18675
18676         * objc/objc-act.c (objc_init): Return immediately if filename
18677         is NULL.
18678
18679 2002-07-29  Eric Christopher  <echristo@redhat.com>
18680
18681         * config/mips/elf.h: Remove ecoff.h and gofast includes.
18682         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
18683         (SDB_DEBUGGING_INFO): Undefine.
18684         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
18685         (PUT_SDB_SIZE): Remove.
18686         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
18687         (STARTFILE_SPEC): Add isa3264 define.
18688         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
18689         * config/mips/ecoff.h: Remove. and here...
18690         * config/mips/iris3.h: and here...
18691         * config/mips/sni-svr4.h: and here...
18692         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
18693         Add assembler -mmdebug options for non-dwarf debugging.
18694         * config/mips/r3900.h: Remove debug info defines.
18695         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
18696         * config/mips/isa3264.h: Ditto.
18697         * config/mips/t-isa3264: Fix up for file removal and gofast configure
18698         change.
18699         * config/mips/t-elf: Ditto.
18700         * config/mips/t-ecoff: Ditto.
18701         * config/mips/t-r3900: Ditto.
18702         * config/mips/t-iris5-6: Ditto.
18703         * config/mips/t-isa3264: Ditto.
18704         * config/mips/t-linux: Remove.
18705         * config/mips/t-netbsd: Remove.
18706         * config/mips/t-mips: New file.
18707         * config/mips/t-gofast: Ditto.
18708         * config/mips/netbsd.h: Remove unnecessary undefines.
18709         * config/mips/linux.h: Remove #include of mips.h.
18710         * config.gcc: Add mips.h include for elf targets. Remove tm_file
18711         for ecoff. Add gofast configure option for mips.
18712
18713 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
18714
18715         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
18716         linker scripts use STARTUP directives consistently.
18717         * configure: Regenerate.
18718         * config.in: Regenerate.
18719         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
18720         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
18721         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18722         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
18723         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
18724         will be the same.
18725
18726 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18727
18728         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
18729
18730 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18731
18732         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
18733
18734 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
18735
18736         * config/rs6000/rs6000.md: Move altivec patterns from here...
18737
18738         * config/rs6000/altivec.md: ...to here.
18739
18740 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18741
18742         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
18743
18744 2002-07-29  Richard Henderson  <rth@redhat.com>
18745
18746         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
18747         set_mem_attributes and add BITPOS argument.  Subtract it from
18748         OFFSET when same is adjusted.
18749         (set_mem_attributes): New wrapper function.
18750         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
18751         remove offset adjustment hack.
18752         * expr.h (set_mem_attributes_minus_bitpos): Declare.
18753
18754 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18755
18756         * Makefile.in (C_OBJS): Include c-pretty-print.o
18757         (c-pretty-print.o): Add depency rule.
18758         * pretty-print.h: Add more macros.
18759         * c-pretty-print.c: New file.
18760         * c-pretty-print.h: Likewise.
18761
18762 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
18763
18764         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
18765         constants to __ev64_s32__.
18766         (__internal_ev_mwhgsmian): Same.
18767         (__internal_ev_mwhgsmfan): Same.
18768         (__internal_ev_mwhgssfan): Same.
18769         (__internal_ev_mwhgumiaa): Same.
18770         (__internal_ev_mwhgsmiaa): Same.
18771         (__internal_ev_mwhgsmfaa): Same.
18772         (__internal_ev_mwhgssfaa): Same.
18773
18774 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
18775
18776         * varasm.c (assemble_variable): Narrow test for uninitialized
18777         without BSS target support.
18778
18779 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
18780
18781         * profile.c: Add file comment describing the overall algorithm and
18782         structures.
18783         (struct edge_info): Add comments.
18784         (struct bb_info): Add comments.
18785         * basic-block.h (EDGE_*): Add comments.
18786         * doc/gcov.texi (Gcov Data Files): Document bit flags.
18787
18788 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
18789
18790         * config/xtensa/elf.h, config/xtensa/linux.h
18791         (TARGET_OS_CPP_BUILTINS): Define.
18792         (CPP_PREDEFINES): Remove.
18793         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
18794         (CPP_SPEC): Remove.
18795
18796 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
18797
18798         * gensupport.c: Include hashtab.h.
18799         (insn_elision, condition_table, hash_c_test, cmp_c_test,
18800         maybe_eval_c_test): New routines and data structures to
18801         support insn elision.
18802         (init_md_reader): Read and initialize the condition_table.
18803         (read_md_rtx): Discard insn patterns whose C test is provably
18804         always false.
18805         * gensupport.h: Declare new functions and data structures.
18806
18807         * genconditions.c, dummy-conditions.c: New files.
18808         * Makefile.in: Build genconditions; run it to construct
18809         insn-conditions.c; build that and link it into most gen*
18810         programs.
18811         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
18812         (GEN): Delete, unused.
18813         (STAGESTUFF): Update.
18814
18815         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
18816         CODE_FOR_nothing for all elided patterns.
18817         (main): Tweaked to support this.
18818         * genflags.c (gen_proto): Emit a static inline generator
18819         function here for all elided patterns, which simply returns
18820         NULL_RTX.
18821         (gen_insn): Do not define HAVE_xxx for elided patterns.
18822         (main): Tweaked to support this.  No need to forward-declare
18823         struct rtx_def.
18824         * genrecog.c: Do not bother emitting the C test if it's known
18825         to be true at compile time.
18826
18827 2002-07-29  Mike Stump  <mrs@apple.com>
18828
18829         * config.gcc (target_gtfiles): Initialize, as otherwise cross
18830         compilers hosted on powerpc-apple-darwin6.0 won't even build.
18831
18832 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
18833
18834         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
18835         remove clobber of LR.
18836         (sibcall_insn, sibcall_value_insn): Update accordingly.
18837         (sibcall_epilogue): Remove debugging comment from assembler stream.
18838
18839 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
18840
18841         * pretty-print.h: Define more macros.
18842         * diagnostic.h (output_formatted_integer): Moved from...
18843         * diagnostic.c: ... here.
18844
18845 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18846
18847         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
18848
18849 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
18850
18851         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
18852         arguments.  Always use ".-symbol" as expression argument.
18853         * doc/tm.texi: Update to match.  Document requirement for
18854         ".size symbol, .-symbol" to be acceptable to assembler.
18855
18856         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18857         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
18858         config/i386/freebsd-aout.h, config/i386/sco5.h,
18859         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
18860         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
18861
18862 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18863
18864         * Makefile.in (gengtype-lex.c): Fix error in last change.
18865
18866         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
18867         backslash.
18868
18869         * Makefile.in (vmsdbgout.o): Depend on function.h.
18870
18871         * vmsdbgout.c: Include function.h.
18872
18873 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
18874
18875         * prefix.c (update_path): Don't strip single `.' path components
18876         unless stripping a later `..' component.  Exit loop as soon as
18877         a valid path is found.
18878
18879 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18880
18881         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
18882         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
18883         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
18884         floating point unordered comparisons (e.g. __builtin_isgreater)
18885         as const, and leave the remaining GCC_BUILTINs unchanged.
18886
18887         * c-decl.c (builtin_function): No need to explicitly mark
18888         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
18889
18890 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18891
18892         * Makefile.in: rtlanal.o now depends upon real.h.
18893
18894         * flags.h [flag_signaling_nans]: New flag.
18895         [HONOR_SNANS]: New macro.
18896
18897         * toplev.c [flag_signaling_nans]: Initialize to false.
18898         (f_options): Add processing for "-fsignaling-nans".
18899         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
18900         (process_options): flag_signaling_nans implies flag_trapping_math.
18901
18902         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
18903         when -fsignaling-nans.  First step to implementing WG14's N965.
18904
18905         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
18906         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
18907         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
18908
18909         * simplify-rtx.c (simplify_relational_operation): Conditionalize
18910         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
18911
18912         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
18913         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
18914         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18915         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
18916         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18917
18918         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18919
18920 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18921
18922         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18923         * gengtype-lex.l (YY_USE_PROTOS): Undef.
18924         (YY_DECL): Define.
18925
18926 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18927
18928         * doc/invoke.texi: Document that both -fno-builtin-foo and
18929         -fno-builtin are supported by the g++ front-end.
18930
18931 2002-07-27  Stan Shebs  <shebs@apple.com>
18932
18933         * configure.in: Rename config_gtfiles to target_gtfiles.
18934         * configure: Regenerate.
18935         * doc/gty.texi: Update reference.
18936         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18937         instead of appending to it.
18938
18939 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
18940
18941         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18942         vectors are split into two registers.
18943         (function_arg): Same.
18944
18945 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
18946
18947         * pa.md (extv): Check predicates before emitting extv_32.
18948
18949 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
18950
18951         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18952         (rs6000_traceback): New var.
18953         (rs6000_override_options): Set rs6000_traceback.
18954         (rs6000_output_function_epilogue): Implement traceback options.
18955         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18956         (rs6000_traceback_name): Declare.
18957
18958         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18959         label reference when NO_PROFILE_COUNTERS.
18960
18961 2002-07-26  Jason Merrill  <jason@redhat.com>
18962
18963         * function.c (assign_parms): Handle frontend-directed pass by
18964         invisible reference.
18965
18966 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18967
18968         * doc/cppopts.texi: Update.
18969
18970 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18971
18972         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18973         warnings on assertions.
18974
18975 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18976
18977         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18978         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18979         RID_COMPL): Remove.
18980         * c-parse.in (rid_to_yy): Similarly.
18981
18982 2002-07-26  Jason Merrill  <jason@redhat.com>
18983
18984         * c-dump.c: Resurrect.
18985         * tree-dump.c: Move C-specific stuff to c-dump.c.
18986         * c-common.h: Declare c_dump_tree.
18987         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18988         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18989         (c-dump.o): New rule.
18990
18991 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
18992
18993         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18994         PowerPC64.  Replace "T" and "S" constraints with "n" when the
18995         predicate will do.  Formatting fixes.
18996         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18997         as for extzvsi_internal1.
18998
18999 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
19000
19001         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
19002         DERIV_END_LABEL_FMT): Remove.
19003         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
19004
19005 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
19006
19007         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
19008         Remove.
19009
19010 2002-07-25  Stan Shebs  <shebs@apple.com>
19011
19012         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
19013         local var dwarfp.
19014         (output_compiler_stub): Remove unused locals.
19015         (output_call): Always initialize line number.
19016
19017 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19018
19019         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
19020         * sh.md (truncdiqi2, movqi_media): Likewise.
19021
19022 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
19023
19024         * gcse.c (obstack_chunk_alloc): Remove.
19025         (gcse_alloc): Fix to count allocated bytes.
19026         * collect2.c (SYMBOL__MAIN): Remove.
19027
19028 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
19029
19030         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
19031         HAVE_TARGET_EXECUTABLE_SUFFIX.
19032
19033 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19034
19035         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
19036         SIZE, EXPR and OFFSET.
19037
19038 2002-07-25  Richard Henderson  <rth@redhat.com>
19039
19040         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
19041         in ARRAY_REF of DECL_P case.
19042
19043 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
19044
19045         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
19046         description.  Document -mips32, -mips64, and the associated -march
19047         values.  Describe the "mipsN" arguments to -march.  Say that the
19048         -mipsN options are equivalent to -march.  Reword the description
19049         of default type sizes.
19050         * toplev.h (target_flags_explicit): Declare.
19051         * toplev.c (target_flags_explicit): New var.
19052         (set_target_switch): Update target_flags_explicit.
19053         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
19054         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
19055         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
19056         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
19057         * config/mips/mips.h (mips_cpu_info): New struct.
19058         (mips_cpu_string, mips_explicit_type_size_string): Remove.
19059         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
19060         (MIPS_CPP_SET_PROCESSOR): New macro.
19061         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
19062         Define _MIPS_ARCH and _MIPS_TUNE.
19063         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
19064         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
19065         MIPS_ISA_DEFAULT were already defined.
19066         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
19067         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
19068         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
19069         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
19070         (ABI_GAS_ASM_SPEC): Remove.
19071         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
19072         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
19073         Invoke %(asm_abi_default_spec) if no ABI was specified.
19074         (CC1_SPEC): Remove ISA -> register-size rules.
19075         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
19076         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
19077         (mips_cpu_string, mips_explicit_type_size_string): Remove.
19078         (mips_cpu_info_table): New array.
19079         (mips_set_architecture, mips_set_tune): New fns.
19080         (override_options): Rework to make -mipsN equivalent to -march.
19081         Detect more erroneous cases, including those removed from CC1_SPEC.
19082         Don't change the ABI based on architecture, or vice versa.
19083         Unify logic with GAS.
19084         (mips_asm_file_start): Get architecture name from mips_arch_info.
19085         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
19086         (mips_parse_cpu): Take the name of the option as argument.  Handle
19087         'from-abi'.  Raise an error if the option is wrong.
19088         (mips_cpu_info_from_isa): New fn.
19089
19090 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
19091
19092         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
19093         (tablejump_mips162): Likewise.
19094
19095 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
19096
19097         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
19098         int_mode_for_mode.
19099
19100 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
19101
19102         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
19103         complaining.
19104         * c-common.h (c_sizeof): Adjust definition.
19105         (c_alignof): Likewise.
19106         * c-tree.h (c_sizeof_nowarn): Now macro.
19107         * c-typeck.c (c_sizeof_nowarn): Remove definition.
19108
19109 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
19110
19111         * c-decl.c (c_decode_option): No need to handle switches
19112         cpplib handles.
19113
19114 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
19115
19116         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
19117         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
19118         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
19119         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
19120
19121         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
19122         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
19123         config/cris/aout.h, config/i386/freebsd-aout.h,
19124         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
19125         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
19126         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
19127         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
19128         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
19129         config/xtensa/elf.h, config/xtensa/linux.h:
19130         Use the new macros.
19131         Where possible, remove redundant definitions of SIZE_ASM_OP,
19132         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
19133
19134 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
19135
19136         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
19137         TARGET_ISEL, and TARGET_FPRS.
19138
19139         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
19140         -mabi=spe, -mabi=no-spe, and -misel=.
19141
19142         * config/rs6000/rs6000-protos.h: Add output_isel.
19143         Move vrsave_operation prototype here.
19144
19145         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
19146         (smaxsi3): Same.
19147         (uminsi3): Same.
19148         (umaxsi3): Same.
19149         (abssi2_nopower): Disallow when TARGET_ISEL.
19150         (*ne0): Same.
19151         (negsf2): Change to expand and rename old pattern to *negsf2.
19152         (abssf2): Change to expand and rename old pattern to *abssf2.
19153
19154         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
19155         fixunssfsi2.
19156
19157         Change patterns that check for TARGET_HARD_FLOAT or
19158         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
19159
19160         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
19161         rs6000_isel, rs6000_fprs, rs6000_isel_string.
19162         (rs6000_override_options): Add 8540 case to
19163         processor_target_table.
19164         Set rs6000_isel for the 8540.
19165         Call rs6000_parse_isel_option.
19166         (enable_mask_for_builtins): New.
19167         (rs6000_parse_isel_option): New.
19168         (rs6000_parse_abi_options): Add spe and no-spe.
19169         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
19170         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
19171         for TARGET_HARD_FLOAT.
19172         Add case for SPE_VECTOR_MODE.
19173         (rs6000_legitimize_reload_address): Handle SPE vector modes.
19174         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
19175         vector modes.
19176         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
19177         (rs6000_emit_move): Check for TARGET_FPRS.
19178         Add cases for SPE vector modes.
19179         (function_arg_boundary): Return 64 for SPE vector modes.
19180         (function_arg_advance): Check for TARGET_FPRS and
19181         Handle SPE vectors.
19182         (function_arg): Same.
19183         (setup_incoming_varargs): Check for TARGET_FPRS.
19184         (rs6000_va_arg): Same.
19185         (struct builtin_description): Un-constify mask field.  Move up in
19186         file.
19187         (bdesc_2arg): Un-constify and add SPE builtins.
19188         (bdesc_1arg): Same.
19189         (bdesc_spe_predicates): New.
19190         (bdesc_spe_evsel): New.
19191         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
19192         (rs6000_expand_binop_builtin): Same.
19193         (bdesc_2arg_spe): New.
19194         (spe_expand_builtin): New.
19195         (spe_expand_predicate_builtin): New.
19196         (spe_expand_evsel_builtin): New.
19197         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
19198         (rs6000_init_builtins): Initialize SPE builtins.  Call
19199         rs6000_common_init_builtins.
19200         (altivec_init_builtins): Move all non-altivec builtin code to...
19201         (rs6000_common_init_builtins): ...here.  New function.
19202         (branch_positive_comparison_operator): Allow NE code for SPE.
19203         (ccr_bit): Return correct ccr bit for SPE fp.
19204         (print_operand): Emit crnor in 'D' case for SPE.
19205         New case 't'.
19206         Add SPE code for 'y' case.
19207         (rs6000_generate_compare): Generate rtl for SPE fp.
19208         (output_cbranch): Handle SPE hard floats.
19209         (rs6000_emit_cmove): Handle isel.
19210         (rs6000_emit_int_cmove): New.
19211         (output_isel): New.
19212         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
19213         64-bits for SPE.
19214         (debug_stack_info): Add SPE info.
19215         (gen_frame_mem_offset): New.
19216         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
19217         Change mode of frame pointer, when saving it, to Pmode.
19218         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
19219         Misc cleanups and use gen_frame_mem_offset when appropriate.
19220
19221         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
19222         (TARGET_SPE_ABI): New.
19223         (TARGET_SPE): New.
19224         (TARGET_ISEL): New.
19225         (TARGET_FPRS): New.
19226         (FIXED_SCRATCH): New.
19227         (RTX_COSTS): Add PROCESSOR_PPC8540.
19228         (ASM_CPU_SPEC): Add case for 8540.
19229         (TARGET_OPTIONS): Add isel= case.
19230         (rs6000_spe_abi): New.
19231         (rs6000_isel): New.
19232         (rs6000_fprs): New.
19233         (rs6000_isel_string): New.
19234         (UNITS_PER_SPE_WORD): New.
19235         (LOCAL_ALIGNMENT): Adjust for SPE.
19236         (HARD_REGNO_MODE_OK): Same.
19237         (DATA_ALIGNMENT): Same.
19238         (MEMBER_TYPE_FORCES_BLK): New.
19239         (FIRST_PSEUDO_REGISTER): Set to 113.
19240         (FIXED_REGISTERS): Add SPE registers.
19241         (reg_class): Same.
19242         (REG_CLASS_NAMES): Same.
19243         (REG_CLASS_CONTENTS): Same.
19244         (REGNO_REG_CLASS): Same.
19245         (REGISTER_NAMES): Same.
19246         (DEBUG_REGISTER_NAMES): Same.
19247         (ADDITIONAL_REGISTER_NAMES): Same.
19248         (CALL_USED_REGISTERS): Same.
19249         (CALL_REALLY_USED_REGISTERS): Same.
19250         (SPE_ACC_REGNO): New.
19251         (SPEFSCR_REGNO): New.
19252         (SPE_SIMD_REGNO_P): New.
19253         (HARD_REGNO_NREGS): Adjust for SPE.
19254         (VECTOR_MODE_SUPPORTED_P): Same.
19255         (REGNO_REG_CLASS): Same.
19256         (FUNCTION_VALUE): Same.
19257         (LIBCALL_VALUE): Same.
19258         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
19259         (SPE_VECTOR_MODE): New.
19260         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
19261         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
19262         (rs6000_stack): Add spe_gp_size, spe_padding_size,
19263         spe_gp_save_offset.
19264         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
19265         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
19266         (SPE_CONST_OFFSET_OK): New.
19267         (rs6000_builtins): Add SPE builtins.
19268
19269         * testsuite/gcc.dg/ppc-spe.c: New.
19270
19271         * config/rs6000/eabispe.h: New.
19272
19273         * config/rs6000/spe.h: New.
19274
19275         * config/rs600/spe.md: New.
19276
19277         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
19278         __SIMD__ for TARGET_SPE.
19279
19280         * config.gcc: Add powerpc-*-eabispe* case.
19281         Add spe.h to user headers for powerpc.
19282
19283 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
19284
19285         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
19286         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19287         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
19288
19289 2002-07-24  Richard Henderson  <rth@redhat.com>
19290
19291         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
19292         form when not optimizing.
19293
19294 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
19295
19296         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
19297         thread_pointer_rtx as unchanging.
19298
19299 2002-07-24  Michael Matz  <matz@suse.de>
19300
19301         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
19302         (free_reg): Use it.
19303
19304 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
19305
19306         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
19307         pattern.
19308         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
19309         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
19310
19311 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
19312
19313         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
19314         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
19315         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
19316
19317 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
19318
19319         * toplev.c (rest_of_compilation): Dump loops before clobbering
19320         the structure.
19321
19322 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
19323
19324         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
19325
19326 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
19327
19328         PR optimization/7291
19329         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
19330         problem on x86_64.
19331
19332 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
19333
19334         * pretty-print.h: Add macros from cp/error.c
19335
19336 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
19337
19338         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
19339         (mask64_2_operand): Declare.
19340         (build_mask64_2_operands): Declare.
19341         (and64_2_operand): Declare.
19342         (extract_MB): Declare.
19343         (extract_ME): Declare.
19344         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
19345         CONST_DOUBLE code.
19346         (mask_operand_wrap): New insn predicate.
19347         (mask64_2_operand): Likewise.
19348         (and64_2_operand): Likewise.
19349         (build_mask64_2_operands): New function.
19350         (extract_MB): New function.
19351         (extract_ME): New function.
19352         (print_operand <case m,M>): Use extract_MB and extract_ME.
19353         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
19354         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
19355         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
19356         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
19357         * config/rs6000/rs6000.md (andsi3_internal3): New
19358         (andsi3_internal3+1): Enable split for powerpc64.
19359         (andsi3_internal3+2): New split.
19360         (andsi3_internal4): Renamed old andsi3_internal3.
19361         (andsi3_internal5): New.
19362         (andsi3_internal5+1): Enable split for powerpc64.
19363         (andsi3_internal5+2): New split.
19364         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
19365         (anddi3): Handle 't' constraint.
19366         (anddi3+1): New split.
19367         (anddi3_internal2): Handle 't' constraint.
19368         (anddi3_internal2+1): New split.
19369         (anddi3_internal3): Handle 't' constraint.
19370         (anddi3_internal3+1): New split.
19371
19372 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
19373
19374         * config/rs6000/rs6000.md: Remove scratch reg on insns using
19375         addze and similar (plus (comparison r1 r2) r3) insns.  Add
19376         missing scratch reg in one case.  Formatting fixes.
19377
19378 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
19379
19380         * cppexp.c (parse_defined): Mark macro used.
19381         * cpphash.h (struct cpp_macro): New member "used".
19382         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
19383         (struct cpp_reader): New member.
19384         * cppinit.c (cpp_finish_options): Set first_unused_line.
19385         (cpp_finish): Warn of unused macros if requested.
19386         (OPT_TABLE): New switches.
19387         (cpp_handle_option): Handle them.
19388         * cpplib.c (do_undef): Warn if macro unused.
19389         (do_ifdef, do_ifndef): Mark macro used.
19390         * cpplib.h (struct cpp_options): New member.
19391         * cppmacro.c (_cpp_warn_if_unused_macro): New.
19392         (enter_macro_context): Mark macro used.
19393         (_cpp_create_definition): Mark macro unused; warn if unused
19394         when redefined.
19395         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
19396         Mark macros used.
19397         * doc/cppopts.texi: Update.
19398
19399 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19400
19401         * dwarf2out.c (SECTION_ASM_OP,
19402         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19403         * system.h (SECTION_ASM_OP): Poison.
19404         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
19405         * config/alpha/alpha-interix.h, config/mips/linux.h
19406         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19407         * config/mmix/mmix-protos.h, config/mmix/mmix.c
19408         (mmix_asm_output_define_label_difference_symbol): Remove.
19409         * config/mmix/mmix.h
19410         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
19411         * doc/tm.texi: Remove documentation.
19412
19413 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
19414
19415         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
19416         (constrain_operands): Likewise.
19417         * regclass.c (record_reg_classes): Likewise.
19418         * reload.c (find_reloads): Likewise.
19419         * doc/md.texi: Likewise.
19420
19421         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
19422         * simplify-rtx.c (simplify_subreg): When converting to a non-int
19423         mode, try to convert to an integer mode of matching size first.
19424
19425         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
19426         from individual subregs, check that each subreg has been generated
19427         sucessfully.
19428
19429 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19430
19431         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
19432         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
19433         FOR_EACH_BB_IN_SBITMAP): Remove.
19434         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
19435         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
19436         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
19437         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
19438         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
19439         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
19440
19441 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
19442
19443         * pretty-print.h: New file.
19444
19445 2002-07-23      Paul Koning     <pkoning@equallogic.com>
19446
19447         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
19448         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
19449         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
19450         (TARGET_G_FLOAT): Default to 0 if not defined.
19451         (ieeetoe): New, common routine to convert target format floats
19452         to internal form.
19453         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
19454         vs. others.
19455         (e113toe): Change to use ieeetoe.
19456
19457 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
19458
19459         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
19460         IBM.
19461         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
19462         (e64toe): Remove special cases for DEC and IBM. Remove support for
19463         ARM_EXTENDED_IEEE_FORMAT.
19464         (e24toe): Remove special cases for DEC.
19465         (significand_size): Simplify. Indent.
19466         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
19467         (etoieee, toieee): New.
19468         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
19469         etoieee and toieee for IEEE arithmetic.
19470
19471 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
19472
19473         * doc/extend.texi: Say ISO C90, not ISO C89.
19474         * doc/invoke.texi: Likewise.
19475         * doc/standards.texi: Likewise.
19476
19477 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
19478
19479         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
19480         Fix permutation of conversion and plus/mult.
19481         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
19482         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
19483         (expand_builtin_strncpy) Ditto.
19484         (expand_builtin_memset) Ditto.
19485
19486 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
19487
19488         Fix PR/7363:
19489         * c-common.c (c_sizeof_or_alignof_type): New function.
19490         (c_alignof): Remove definition.
19491         * c-common.h (c_sizeof, c_alignof): Define as macros.
19492         (c_sizeof_or_alignof_type): Declare.
19493         (my_friendly_assert): Moved from cp/cp-tree.h
19494         * c-typeck.c (c_sizeof): Remove definition.
19495
19496 2002-07-23  Jan Hubicka  <jh@suse.cz>
19497
19498         * gcse.c (try_replace_reg): Use num_changes_pending.
19499         * recog.c (num_changes_pending): New function.
19500         (validate_replace_src): Use validate_repalce_src_group.
19501         (validate_replace_src_group): New.
19502         * recog.h (validate_repalce_src_group): New.
19503         (num_changes_pending): Likewise.
19504
19505 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19506
19507         * calls.c (emit_library_call_value_1): If
19508         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
19509         libcall, const call nor pure call.
19510
19511 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19512
19513         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
19514
19515 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19516
19517         * vmsdbgout.c (SECTION_ASM_OP): Remove.
19518
19519 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19520
19521         * config/i386/i386.c (AT_BP): Remove.
19522
19523 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
19524
19525         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
19526         Default definition.
19527         * gcse.c: Don't define obstack_chunk_free.
19528         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
19529         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
19530         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
19531         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
19532         Don't define obstack macros.
19533
19534 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
19535
19536         PR target/6744
19537         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
19538         ASM_OPERANDS instructions.
19539
19540 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
19541
19542         PR target/7361
19543         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
19544         constant addresses only on 68HC12.
19545
19546 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
19547
19548         * cppfiles.c (stack_include_file): Correct test of whether
19549         a dependency should be output.
19550
19551 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
19552
19553         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
19554
19555 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
19556
19557         * arm.md (movqi): If optimizing and we can create pseudos, use
19558         a ZERO_EXTEND to load from memory, then copy the result into the
19559         target.
19560         (movhi): Likewise, but only for ARMv4.
19561
19562 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
19563
19564         * ssa-ccp.c (PHI_PARMS): Remove.
19565
19566 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
19567
19568         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
19569         on big-endian targets.
19570
19571 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19572
19573         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
19574         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
19575         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
19576         New formatting macros.
19577
19578         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
19579
19580 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
19581
19582         * rtlanal.c (subreg_regno_offset): Return correct offset for
19583         big endian paradoxical subregs.
19584
19585         * optabs.c (expand_vector_unop): Don't expand using sub_optab
19586         if we got the wrong mode.
19587
19588         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
19589         * genrecog.c (write_switch, write_cond): Use it.
19590         * genemit.c (gen_exp): Likewise.
19591
19592 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
19593
19594         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
19595
19596 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
19597
19598         * c-decl.c (build_compound_literal): Defer compound literal decls
19599         until until file end to emit them only if they are actually used.
19600
19601 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19602
19603         * ra-build.c (check_conflict_numbers): Hide unused function.
19604         (livethrough_conflicts_bb): Avoid automatic aggregate
19605         initialization.
19606         (parts_to_webs_1): Avoid `U' integer constant modifier.
19607         (conflicts_between_webs): Wrap a variable in the macro controlling
19608         its usage.
19609         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
19610         (dump_igraph, dump_graph_cost): Avoid string concatenation
19611         (dump_static_insn_cost): Avoid automatic aggregate
19612         initialization.
19613         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
19614         initialization.
19615         (dump_cost): Avoid string concatenation
19616
19617 2002-07-21  Richard Henderson  <rth@redhat.com>
19618
19619         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
19620         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
19621
19622 2002-07-21  Richard Henderson  <rth@redhat.com>
19623
19624         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
19625         that are not unrolled completely.
19626
19627 2002-07-21  Richard Henderson  <rth@redhat.com>
19628
19629         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
19630         * loop.c (strength_reduce): Update.
19631         * toplev.c (rest_of_compilation): Do unrolling in the first
19632         loop pass, not the second.
19633
19634 2002-07-21  Richard Henderson  <rth@redhat.com>
19635
19636         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
19637         when flag_argument_noalias == 2.
19638         * alias.c (nonoverlapping_memrefs_p): Handle that.
19639         * print-rtl.c (print_mem_expr): Likewise.
19640
19641 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
19642
19643         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
19644         instead of __negdi2 directly.
19645
19646 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19647
19648         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
19649         * function.c (SYMBOL__MAIN): Remove definition.
19650         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
19651         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
19652         * profile.c (GCOV_INDEX_TO_BB): Remove.
19653         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
19654         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
19655
19656 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19657
19658         * c-lex.c (GET_ENVIRONMENT): Remove.
19659         * collect2.c (GET_ENV_PATH_LIST): Remove.
19660         (prefix_from_env): Use GET_ENVIRONMENT.
19661         * cppinit.c (GET_ENV_PATH_LIST): Remove.
19662         (init_standard_includes): Use GET_ENVIRONMENT.
19663         * defaults.h (GET_ENVIRONMENT): Define here if not already.
19664         * gcc.c (GET_ENV_PATH_LIST): Remove.
19665         (make_relative_prefix, process_command): Update.
19666         * protoize.c (GET_ENV_PATH_LIST): Remove.
19667         (do_processing): Update.
19668
19669 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
19670
19671         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
19672         (grokdeclarator): Likewise.
19673         * c-format.c (C_STD_NAME): Likewise.
19674         * c-lex.c (interpret_integer): Likewise.
19675         * c-typeck.c (build_array_ref): Likewise.
19676         * cpplex.c (_cpp_lex_direct): Likewise.
19677         * toplev.c (documented_lang_options): Likewise.
19678
19679 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19680
19681         * c-format.c (T99_I, T99_UI): Remove.
19682
19683 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
19684
19685         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
19686
19687 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
19688
19689         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
19690         do_local_cprop.
19691
19692 2002-07-21  Andreas Jaeger  <aj@suse.de>
19693
19694         * reload1.c (fixup_abnormal_edges): Remove unused variable.
19695
19696 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
19697
19698         Improvements for the ifcvt pass from Michael Meissner, with patches
19699         by Richard Sandiford <rsandifo@redhat.com>
19700         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
19701         * ifcvt.c (cond_exec_changed_p): New static variable.
19702         (last_active_insn): New function, renamed from last_active_insn_p
19703         and changed to return the last active insn in a basic block. All
19704         callers updated.
19705         (block_fallthru): New function.
19706         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
19707         IFCVT_MODIFY_INSN.  All callers updated.
19708         Return false if START or END are NULL.
19709         Handle case where we're processing an insn that is already
19710         conditional.
19711
19712         (noce_process_if_block): CE_INFO argument rather than
19713         multiple args containing the involved basic blocks.  All callers
19714         changed.
19715         (process_if_block, merge_if_block, find_if_block,
19716         cond_exec_process_if_block): Likewise.
19717
19718         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
19719         changed.
19720         Use new function last_active_insn to simplify some code.
19721         New code to handle multiple tests.
19722         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
19723         cond_exec_changed_p to TRUE.
19724
19725         (process_if_block): New code to handle multiple tests.
19726         (merge_if_block): Likewise.
19727         (find_if_header): New arg PASS.  Changed to return the currently
19728         processed basic block or NULL instead of true/false. All callers
19729         changed.
19730         Call IFCVT_INIT_EXTRA_FIELDS.
19731         (block_jumps_and_fallthru_p): New function.
19732         (find_if_block): Discover opportunities to convert multiple tests.
19733         Add additional debugging output.
19734         Update the ce_info structure before returning.
19735
19736         (if_convert): Run multiple passes of if-conversion.
19737         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
19738         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
19739         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
19740         these macros.
19741
19742 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
19743
19744         * gcse.c: Include cselib.h
19745         (constptop_register): Break out from ...
19746         (cprop_insn): ... here; kill basic_block argument.
19747         (do_local_cprop, local_cprop_pass): New functions.
19748         (one_cprop_pass): Call local_cprop_pass.
19749
19750 2002-07-20  Roger Sayle  <roger@eyesopen.com>
19751
19752         * simplify-rtx.c (simplify_relational_operation): Optimize
19753         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
19754
19755 2002-07-20  Michae Matz  <matz@suse.de>
19756
19757         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
19758
19759 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
19760
19761         * cppexp.c (struct op): Add token pointer.
19762         (check_promotion, CHECK_PROMOTION): New.
19763         (optab): Update.
19764         (_cpp_parse_expr): Update, use token pointer of struct op.
19765         (reduce): Warn about change of sign owing to promotion.
19766         * cppinit.c (cpp_handle_option): New warning if -Wall.
19767         * cpplib.h (struct cpp_options): New member.
19768
19769 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
19770
19771         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
19772         fpu list.  Separate Power4 compare and delayed_compare.  Correct
19773         Power4 fpcompare.
19774         (fix_truncdfsi2_internal): Restore FPR preference.
19775         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
19776         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
19777
19778 2002-07-19  Momchil Velikov <velco@fadata.bg>
19779
19780         * reload1.c (reload_as_needed): Duplicate oldpat.
19781
19782 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
19783
19784         PR optimization/7130
19785         * loop.h (struct loop_info): Add "preconditioned".
19786         * unroll.c (unroll_loop): Set it.
19787         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
19788
19789 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
19790
19791         * rtl.def (CODE_LABEL): Remove slot 8.
19792         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
19793         (LABEL_ALTERNATE_NAME): Delete.
19794         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
19795         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19796
19797         * final.c (output_alternate_entry_point): New.
19798         (final_scan_insn): Use it instead of
19799         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
19800         of a case label being an alternate entry point.
19801
19802         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
19803         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
19804         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
19805         (field deleted).
19806         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
19807
19808         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
19809         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
19810         * doc/tm.texi: Delete documentation of
19811         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
19812
19813 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19814
19815         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
19816         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
19817         (LINK_SPEC): Define.
19818         (STARTFILE_SPEC): Define.
19819         (ENDFILE_SPEC): Define.
19820
19821         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
19822         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
19823
19824         * config/mips/iris6-o32-gas.h: New file.
19825         * config.gcc (mips-sgi-irix6*o32): Use it.
19826
19827         * config/mips/t-iris5-gas: New file.
19828         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19829
19830 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
19831
19832         * cppexp.c (ALWAYS_EVAL): Remove.
19833         (optab, reduce): Always evaluate.
19834         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
19835         only if not skipping evaluation.
19836
19837 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19838
19839         * config/avr/avr.c (debug_hard_reg_set): Remove.
19840
19841 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
19842
19843         * gcc.c (cpp_options): Include "%1" (cc1_spec).
19844
19845 2002-07-19  Richard Henderson  <rth@redhat.com>
19846
19847         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
19848
19849 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
19850
19851         * prefix.c (update_path): Don't zap single `.' path components
19852         unless followed by another `.' and fix typo last patch.
19853
19854 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
19855
19856         * cppexp.c (cpp_num_mul): Remove unused parameter.
19857         (UNARY, BINARY, OTHER, binary_handler): Remove.
19858         (ALWAYS_EVAL): New.
19859         (optab): Update.
19860         (reduce): Refactor to a large switch, don't use a function
19861         pointer.
19862
19863 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
19864
19865         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
19866
19867 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
19868
19869         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
19870         (sh_expand_binop_v2sf): Likewise.
19871         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
19872         (int_gpr_dest, trunc_hi_operand): New functions.
19873         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
19874         trunc_hi_operand.
19875         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
19876         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
19877         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
19878         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
19879         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
19880         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
19881         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
19882         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
19883         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
19884         (movsf_ie+1): Likewise.
19885         (loaddi_trunc): Use int_gpr_dest predicate.
19886         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
19887         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
19888         (casesi_worker_0+[12], casesi_worker): Likewise.
19889         (shcompact_preserve_incoming_args): Likewise.
19890         (mov_nop): Use any_register_operand predicate.
19891         (mperm_w0): Use trunc_hi_operand predicate.
19892
19893 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19894
19895         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
19896         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
19897         numbering.
19898
19899 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19900
19901         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
19902
19903 2002-07-18  Richard Henderson  <rth@redhat.com>
19904
19905         PR optimization/7147
19906         * ifcvt.c (noce_get_condition): Make certain that the condition
19907         is valid at JUMP.
19908
19909 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
19910
19911         * sh.c (barrier_align, push): Shut up compiler warnings.
19912         (initial_elimination_offset,sh_media_init_builtins): Likewise.
19913         (reg_no_subreg_operand): Delete.
19914
19915 2002-07-17  Bo Thorsen  <bo@suse.de>
19916
19917         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19918         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19919         (STARTFILE_SPEC): Remove hardcoded library paths.
19920         (ENDFILE_SPEC): Likewise.
19921
19922 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
19923
19924         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
19925
19926         * gcse.c (try_replace_reg): Do not return false positives.
19927
19928 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19929
19930         * prefix.c: (update_path): Strip ".." components when prior dir
19931         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19932
19933         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19934         (ASM_OUTPUT_REG_POP): Likewise.
19935
19936 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19937
19938         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19939         adjustments to first_reg for profiling case.
19940         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19941         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19942         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19943         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19944         (ASM_OUTPUT_REG_POP): Define.
19945         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19946         (ASM_OUTPUT_REG_POP): Undef.
19947
19948 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19949
19950         * cpplib.c (do_sccs): Handle #sccs on all systems.
19951         * system.h (SCCS_DIRECTIVE): Poison.
19952         * config/darwin.h, config/freebsd.h, config/netbsd.h,
19953         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19954         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19955         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19956         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19957         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19958         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19959         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19960         Remove all references to SCCS_DIRECTIVE.
19961         * doc/cpp.texi, doc/tm.texi: Update.
19962
19963 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
19964
19965         * regrename.c (maybe_mode_change): New function.
19966         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19967
19968 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
19969
19970         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19971         suppress addition when either ct or cf are zero.
19972
19973 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
19974             Glen Nakamura <glen@imodulo.com>
19975
19976         PR optimization/6713
19977         * loop.c (loop_givs_rescan): Explicitly delete the insn that
19978         sets a non-replaceable giv after issuing the new one.
19979
19980 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19981
19982         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19983         eval_token): Clarify and correct use of "bool" variables.
19984         * cpplib.h (struct cpp_options): Similarly.
19985         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19986         * cpptrad.c (recursive_macro): Similarly.
19987
19988 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
19989
19990         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
19991         SHmedia code.
19992
19993         * sh.md (cmpgtudi_media): Remove spurious @.
19994
19995         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19996         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
19997
19998         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19999         * sh-protos.h (sh_initialize_trampoline): Declare.
20000         * sh.c (sh_initialize_trampoline): New function.
20001         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
20002         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
20003         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
20004         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
20005         * sh.md (initialize_trampoline, double_shori): New patterns.
20006         (initialize_trampoline_compact): Likewise.
20007         (shmedia32_initialize_trampoline_big): Remove.
20008         (shmedia32_initialize_trampoline_little): Likewise.
20009
20010         * sh-protos.h (binary_float_operator): Remove declaration.
20011         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
20012         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
20013         (unary_float_operator, sh_expand_unop_v2sf): New functions.
20014         (sh_expand_binop_v2sf): Likewise.
20015         (zero_vec_operand): Delete.
20016         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
20017         all non-shared ones.
20018         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
20019         Enable nsb and byterev.
20020         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
20021         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
20022         in general regs.
20023         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
20024         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
20025         immediate operands.
20026         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
20027         Add DF_HI_REGS.
20028         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
20029         lowpart fp regs - only for big endian for now.
20030         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
20031         when FPU is in use.
20032         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
20033         (LOAD_EXTEND_OP): NIL for SImode.
20034         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
20035         general and fp registers is 4.
20036         PREDICATE_CODES: Amend binary_float_operator entry.
20037         Remove zero_vec_operand.  Add unary_float_operator.
20038         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
20039         subreg SET_DEST.
20040         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
20041         (truncdiqi2): Do sign extension.
20042         (movsi_media, movdi_media): Allow to use r63 to an fp register.
20043         (movdf_media, movsf_media): Likewise.
20044         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
20045         Collapse to one define_insn_and_split.  Allow immediate sources.
20046         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
20047         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
20048         (movv4sf): Allow immediate sources.
20049         (movsf_media_nofpu+1): Don't split moves to FP registers.
20050         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
20051         (movv8qi_i+3): Check against CONST0_RTX.
20052         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
20053         for input and output operands.  Fix argument 3 to gen_mextr_rl.
20054         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
20055         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
20056         (mshf0_w, fipr, ftrv): Likewise.
20057         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
20058
20059 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
20060
20061         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
20062         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
20063         * arm.c: Similarly.
20064
20065 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
20066
20067         * config/mips/mips-protos.h (mips_sign_extend): Declare.
20068         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
20069         (TARGET_SWITCHES): Remove debugh.
20070         (ISA_HAS_TRUNC_W): New macro.
20071         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
20072         (PREDICATE_CODES): Remove se_nonimmediate_operand.
20073         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
20074         any SImode move_operand.
20075         (se_nonimmediate_operand): Remove.
20076         (mips_sign_extend): New.
20077         (mips_move_2words): Use it for sign-extended source operands.
20078         (override_options): Allow integers to be put into single FPRs.
20079         (mips_secondary_reload_class): Handle integers in float registers.
20080         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
20081         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
20082         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
20083         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
20084         (fix_truncdfdi2): Provide only a single alternative, in which the
20085         integer is in a float register.  Depend on TARGET_FLOAT64 rather
20086         than TARGET_64BIT.
20087         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
20088         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
20089         (movdi_internal2): Don't allow the source operand to be sign-extended.
20090         Add alternatives for float registers.
20091         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
20092         allows sign-extension.
20093         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
20094         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
20095         float registers.  Remove TARGET_DEBUG_H_MODE test.
20096         (movhi_internal1): Rename to movhi_internal.  Don't check
20097         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
20098         (movqi_internal1): Rename to movqi_internal and remove
20099         TARGET_DEBUG_H_MODE dependency.
20100         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
20101
20102 2002-07-16  Jim Wilson  <wilson@redhat.com>
20103
20104         * toplev.c (lang_dependent_init): Create function context for
20105         init_expr_once.
20106
20107 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
20108
20109         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
20110         --gc-sections if -r.
20111         * config/cris/cris.h: Ditto.
20112
20113 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
20114
20115         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
20116         the comparison directly gives a mask suppress addition when cf is
20117         zero by complementing the mask.
20118
20119 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
20120
20121         * Makefile.in: Delete references to enquire.
20122         * enquire.c: Move to contrib.
20123
20124 2002-07-16  Stan Shebs  <shebs@apple.com>
20125
20126         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
20127         config/rs6000/darwin.h.
20128         (ASM_OUTPUT_SKIP): Ditto.
20129         (TEXT_SECTION_ASM_OP): Ditto.
20130         (DATA_SECTION_ASM_OP): Ditto.
20131         (ASM_APP_ON): Define.
20132         (ASM_APP_OFF): Define.
20133         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
20134         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
20135
20136         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
20137         (machopic_function_base_name): Declare result to be const.
20138         (machopic_non_lazy_ptr_name): Ditto.
20139         (machopic_stub_name): Ditto.
20140         * config/darwin-protos.h: Ditto for the prototypes.
20141
20142 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
20143
20144         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
20145
20146 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
20147
20148         * i386.md (prefetch): Fix for 64bit mode.
20149         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
20150
20151 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
20152
20153         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
20154         * i386.c (x86_machine_dependent_reorg): New function.
20155         * i386-protos.h (x86_machine_dependent_reorg): Declare.
20156
20157 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
20158
20159         * builtins.c (std_expand_builtin_va_start): Remove unused
20160         first argument.
20161         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
20162         std_expand_builtin_va_start with just two arguments.
20163         * expr.h: Update prototypes.
20164
20165         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
20166         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
20167         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
20168         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
20169         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
20170         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
20171         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
20172         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
20173         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
20174         argument from all implementations of EXPAND_BUILTIN_VA_START
20175         and all uses of std_expand_builtin_va_start.
20176
20177 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
20178
20179         * regrename.c (copy_value): Don't record high part copies.
20180
20181 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
20182
20183         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
20184         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
20185         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
20186
20187 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
20188
20189         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
20190
20191         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
20192         into addsi3 using register class "x" and "y".
20193
20194         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
20195         "earlyclobber" constraint modifier for some alternative.
20196
20197         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
20198         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
20199         unordered.
20200         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
20201
20202         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
20203         (TARGET_SWITCHES): Add -mieee-compare option.
20204         (OVERRIDE_OPTIONS): 32332 is a subset of
20205         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
20206         (TARGET_SWITCHES): Fix description of bitfield option.
20207         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
20208         -mieee-compare option. Remove 32332 flag.
20209
20210 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
20211
20212         * explow.c (convert_memory_address): Remove special handling
20213         when POINTERS_EXTEND_UNSIGNED < 0.
20214         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
20215         (movedi_symbolic): Fix typo.
20216         (load_fptr): Remove mode restriction so it works for SI and DI.
20217         (load_fptr_internal1): Ditto.
20218         (load_gprel): Ditto.
20219         (load_symptr_internal1): Ditto.
20220         (call_pic): Ditto.
20221         * config/ia64.c (call_operand): Modify mode check.
20222         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
20223         (ia64_expand_move): Ditto.
20224         (ia64_assemble_integer): Handle SImode function pointers.
20225         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
20226         (ia64_expand_op_and_fetch): Ditto.
20227         (ia64_expand_compare_and_swap): Ditto.
20228         (ia64_expand_lock_test_and_set): Ditto.
20229         (ia64_expand_lock_release): Ditto.
20230
20231 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20232
20233         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
20234
20235 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
20236             Richard Earnshaw  <rearnsha@arm.com>
20237
20238         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
20239         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
20240
20241 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
20242
20243         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
20244         understands to be a memory clobber.
20245         * arm.c (arm_expand_prologue): Use it.
20246
20247 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
20248
20249         * ra-rewrite.c: #include reload.h, insn-config.h
20250         * ra-build.c: #include reload.h
20251         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
20252         depend on reload.h, insn-config.h.
20253
20254 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20255
20256         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
20257         the same size as a word.
20258
20259         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
20260         BYTES_BIG_ENDIAN into account.
20261
20262 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
20263
20264         * i386.md (prefetch): Fix for 64bit mode.
20265         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
20266
20267         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
20268
20269 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
20270
20271         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
20272
20273 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
20274
20275         * ginclude/varargs.h: Replace with stub which issues #error.
20276         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
20277         __builtin_va_start.
20278
20279         * builtins.def (BUILT_IN_VARARGS_START): Delete.
20280         (BUILT_IN_VA_START): New.
20281         * builtins.c (expand_builtin_va_start): Eliminate first
20282         argument and code to implement pre-ISO varargs.
20283         (std_expand_builtin_va_start): Ignore first argument; it is
20284         always 1.
20285         (expand_builtin): Handle BUILT_IN_VA_START and
20286         BUILT_IN_STDARG_START identically.  Delete
20287         BUILT_IN_VARARGS_START case.
20288
20289         * function.c (assign_parms): Delete hide_last_arg and all
20290         its uses.
20291         (mark_varargs): Delete function.
20292         * function.h (struct function): Delete 'varargs' bit.
20293         (current_function_varargs): Delete macro.
20294         * tree.h: Don't declare mark_varargs.
20295
20296         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
20297         (c_expand_body): Don't call mark_varargs.
20298         * c-objc-common.c: Handle BUILT_IN_VA_START and
20299         BUILT_IN_STDARG_START identically.  Delete
20300         BUILT_IN_VARARGS_START case.
20301         * c-tree.h: Don't declare c_mark_varargs.
20302         * c-parse.in: Remove grammar rules for '&...' (which has been
20303         commented out since before 2.7.2) and for '...' in K+R
20304         argument declarations.
20305
20306         * builtins.c, function.c, integrate.c, sibcall.c,
20307         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
20308         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
20309         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
20310         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
20311         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
20312         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
20313         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
20314         config/stormy16/stormy16.c: Delete all references to
20315         current_function_varargs, and code predicated on that flag.
20316
20317         * config/alpha/alpha.c (alpha_va_start),
20318         config/arc/arc.c (arc_va_start),
20319         config/i386/i386.c (ix86_va_start),
20320         config/mips/mips.c (mips_va_start),
20321         config/mn10300/mn10300.c (mn10300_va_start),
20322         config/rs6000/rs6000.c (rs6000_va_start),
20323         config/s390/s390.c (s390_va_start),
20324         config/sh/sh.c (sh_va_start),
20325         Ignore first argument; it is always 1.
20326
20327         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
20328         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
20329         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
20330         Delete m68hc11_va_start.
20331         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
20332         No need to define EXPAND_BUILTIN_VA_START.
20333
20334         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
20335         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
20336
20337 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
20338
20339         PR optimization/7153
20340         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
20341         dies in more than one insn.
20342
20343 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
20344
20345         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
20346
20347 2002-07-15  Michael Matz  <matz@suse.de>,
20348             Daniel Berlin  <dberlin@dberlin.org>,
20349             Denis Chertykov  <denisc@overta.ru>
20350
20351         Add a new register allocator.
20352
20353         * ra.c: New file.
20354         * ra.h: New file.
20355         * ra-build.c: New file.
20356         * ra-colorize.c: New file.
20357         * ra-debug.c: New file.
20358         * ra-rewrite.c: New file.
20359
20360         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
20361         (ra-rewrite.o): New .o files for libbackend.a.
20362         (GTFILES): Add basic-block.h.
20363
20364         * toplev.c (flag_new_regalloc): New.
20365         (f_options): New option "new-ra".
20366         (rest_of_compilation): Call initialize_uninitialized_subregs()
20367         only for the old allocator.  If flag_new_regalloc is set, call
20368         new allocator, instead of local_alloc(), global_alloc() and
20369         friends.
20370
20371         * doc/invoke.texi: Document -fnew-ra.
20372         * basic-block.h (FOR_ALL_BB): New.
20373         * config/rs6000/rs6000.c (print_operand): Write small constants
20374         as @l+80.
20375
20376         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
20377         (df_reg_table_realloc): Make size at least as large as max_reg_num().
20378         (df_insn_table_realloc): Size argument now is absolute, not relative.
20379         Changed all callers.
20380
20381         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
20382         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
20383
20384         2002-06-20  Michael Matz  <matz@suse.de>
20385
20386         * df.h (struct ref.id): Make unsigned.
20387         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
20388
20389         2002-06-13  Michael Matz  <matz@suse.de>
20390
20391         * df.h (DF_REF_MODE_CHANGE): New flag.
20392         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
20393         involving subregs with invalid mode changes, when
20394         CLASS_CANNOT_CHANGE_MODE is defined.
20395
20396         2002-05-07  Michael Matz  <matz@suse.de>
20397
20398         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
20399
20400         2002-05-03  Michael Matz  <matz@suse.de>
20401
20402         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
20403
20404         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
20405
20406         * regclass.c (regclass): Work with all regs which have sets or
20407         refs.
20408         (reg_scan_mark_refs): Count regs inside (clobber ...).
20409
20410         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
20411
20412         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
20413         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
20414         add new refs.
20415         (df_bb_refs_update): Don't clear insns_modified here, ...
20416         (df_analyse): ... but here.
20417
20418         * sbitmap.c (dump_sbitmap_file): New.
20419         (debug_sbitmap): Use it.
20420
20421         * sbitmap.h (dump_sbitmap_file): Add prototype.
20422
20423         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
20424
20425         * df.c (df_insn_modify): Grow the UID table if necessary, rather
20426         than assume all emits go through df_insns_modify.
20427
20428         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
20429
20430         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
20431         increase REG_N_REFS (like flow does), so that regclass doesn't
20432         think a reg is useless, and thus, not calculate a class, when it
20433         really should have.
20434
20435         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
20436
20437         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
20438         dataflow analysis.
20439
20440 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
20441
20442         PR middle-end/7245
20443         * config/i386/i386.c (const_int_1_31_operand): New.
20444         * config/i386/i386.h (PREDICATE_CODES): Add it.
20445         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
20446         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
20447         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
20448
20449 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
20450
20451         PR target/7282
20452         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
20453         (floatunssidf2): Likewise.
20454         (floatsidf_ppc64): New insn_and_split.
20455         (floatunssidf_ppc64): Likewise.
20456
20457 2002-07-14  Andreas Jaeger  <aj@suse.de>
20458
20459         * config.gcc (sh64): Remove unused
20460         target_requires_64bit_host_wide_int.
20461
20462 2002-07-12  Roger Sayle  <roger@eyesopen.com>
20463
20464         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
20465         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
20466         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
20467         whether clear_by_pieces should be used to clear storage.
20468         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
20469
20470         * doc/tm.texi: Document these two new target macros.
20471
20472 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
20473
20474         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
20475         the scratch register.
20476         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
20477         of it, forbid reload to use it.
20478
20479 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
20480
20481         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
20482         usage on 64-bit hosts, return value was truncated to 32 bits.
20483
20484 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
20485
20486         * simplify-rtx.c (simplify_subreg): Handle floating point
20487         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
20488         the element mode is requested, compute a subreg with an
20489         integer mode of the same size as the element mode first.
20490
20491 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
20492
20493         * combine.c (try_combine): When converting a paradoxical subreg
20494         to an extension, take LOAD_EXTEND_OP into account.
20495
20496 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20497
20498         * config.gcc (mips-sgi-irix6*o32): New configuration.
20499
20500         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
20501         configurations.
20502         * configure: Regenerate.
20503
20504         * config/mips/iris6-o32-as.h: New file.
20505         * config/mips/iris6-o32.h: New file.
20506
20507         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
20508         (NM_FLAGS): Define.
20509         (HAVE_AS_SHF_MERGE): Undefine.
20510
20511         * config/mips/t-iris5-as: New file.
20512         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
20513
20514         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
20515         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
20516         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
20517         dp-bit.c, fp-bit.c): Move ...
20518         * config/mips/t-iris5-6: ... here.
20519         New file, shared by IRIX 5 and IRIX 6.
20520         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
20521         mips-sgi-irix5*): Use it.
20522
20523         * config/mips/iris6.h: Remove duplicate comment.
20524
20525         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
20526         !TARGET_IRIX6]: Define.
20527         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
20528
20529         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
20530
20531 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20532
20533         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
20534         and delete code to force constant to register.
20535         * pa-protos.h (adddi3_operand): Add prototype.
20536         * pa.c (adddi3_operand): New function.
20537
20538 2002-07-11  Roger Sayle  <roger@eyesopen.com>
20539
20540         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
20541         non-ANSI builtin functions.
20542
20543 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
20544
20545         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
20546         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
20547         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
20548         (gen_const_vector_0): Use it.
20549
20550 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20551
20552         * pa.md (adddi3): For 32-bit targets, force constants to a register
20553         if they don't fit in an 11-bit immediate.  Change insn predicate to
20554         arith11_operand.  Remove comment.
20555         * pa.c (cint_ok_for_move): Fix comment.
20556         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
20557         targets.
20558
20559 2002-07-11  Tim Josling  <tej@melbpc.org.au>
20560
20561         Remove front end hard coding from gengtype.c.
20562
20563         * Makefile.in
20564         (STAGESTUFF): add gtyp-gen.h
20565         (GTFILES): Remove front end specific files.
20566         (GTFILES_FILES_LANGS): New, from configure..
20567         (GTFILES_FILES_FILES): Likewise.
20568         (GTFILES_LANG_DIR_NAMES): Likewise.
20569         (GTFILES_SRCDIR): Likewise.
20570         (gtyp-gen.h): Build from configure information.
20571         (s-gtype): Remove command line parameters from gengtype.
20572         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
20573         (mostlyclean): Delete files generated by and for gengtype.
20574
20575         * c-config-lang.in: New file.
20576
20577         * configure.in (all_gtfiles_files_langs): New. Accumulate files
20578         for each language.
20579         (all_gtfiles_files_files): New. Accumulate language for each file
20580         accumulated.
20581         (gtfiles): Pick up value for C.
20582         (srcdir): AC-SUBST this variable.
20583         (all_gtfiles_files_langs): AC-SUBST this variable.
20584         (all_gtfiles_files_files): AC-SUBST this variable.
20585
20586         * configure: Regenerate.
20587
20588         * gengtype-lex.l (parse_file): Make parameter const.
20589
20590         * gengtype.c (toplevel): include gtyp-gen.h.
20591         (BASE_FILE_<language> unnamed enum): Delete.
20592         (lang_names): Delete (replaced by gtyp-gen.h)
20593         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
20594         all references.
20595         (NUM_GT_FILES): New.
20596         (NUM_LANG_FILES): New.
20597         (srcdir_len): New.
20598         (NUM_BASE_FILES): Change calculation.
20599         (open_base_files): Change prototype to avoid warning.
20600         (startswith): Delete.
20601         (get_file_basename): Iterate through generated language list not
20602         hard coded list.
20603         (get_base_file_bitmap): Use generated list of files and languages.
20604         (close_output_files): Add prototype to rmove warning.
20605         (main): Iterate through list of generated files from gtyp-gen.h
20606         rather than command line paramaters.  Ignore duplicated file
20607         names.
20608
20609         * gengtype.h (parse_file): Amend prototype for const parameter.
20610
20611         * doc/sourcebuild.texi: Document gtfiles variable.
20612
20613         * doc/gty.texi: Document changes to gtfiles variable for front
20614         ends.
20615
20616         * objc/config-lang.in (gtfiles): Add files needed for objc front
20617         end.
20618
20619 2002-07-10  Roger Sayle  <roger@eyesopen.com>
20620
20621         PR c/2454
20622         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
20623         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
20624
20625 2002-07-10  Roger Sayle  <roger@eyesopen.com>
20626             Zack Weinberg <zack@codesourcery.com>
20627
20628         * builtins.def: Make the argument types of abort and exit
20629         independent of the front-end.
20630
20631 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
20632
20633         * config/rs6000/linux64.h (ASM_SPEC): Define.
20634
20635 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
20636
20637         * config/rs6000/rs6000.c (emit_frame_save): New.
20638         (rs6000_frame_related): Replace reg2 before reg.
20639         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
20640         and eh_return registers.
20641
20642 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
20643
20644         Revert all patches for optimization of Complex .op. Real.
20645         * complex_part_zero_p: Remove
20646         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
20647         with x.
20648         * expand_cmplxdiv_wide: Ditto.
20649         * expand_binop: Ditto.
20650
20651 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
20652
20653         * config/avr/avr.md: Fix two 0x80000000 constants to make them
20654         negative also on 64-bit hosts.
20655
20656         Default to -fno-reorder-blocks when optimizing for size.
20657         * config/avr/avr-protos.h (avr_optimization_options): Declare.
20658         * config/avr/avr.c (avr_optimization_options): New function.
20659         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
20660
20661         Optimize returning from simple functions.
20662         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
20663         * config/avr/avr.c (avr_simple_epilogue): New function.
20664         * config/avr/avr.md (return): New insn.
20665
20666 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
20667
20668         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
20669         HAS_INIT_SECTION to protection.
20670
20671 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
20672
20673         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
20674         deprecated.
20675
20676 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
20677
20678         * combine.c (gen_lowpart_for_combine): Handle vector modes.
20679         Supply non-VOID mode to simplify_gen_subreg.
20680
20681 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
20682
20683         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
20684
20685 2002-07-10  Jeffrey A Law  <law@redhat.com>
20686
20687         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
20688         as appropriate.
20689
20690         * mn10200.c (expand_epilogue): Fix test to determine which scratch
20691         register to use.
20692
20693 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
20694
20695         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
20696         Get mode from dest.
20697         If simplify_gen_subreg fails, try next equivalent.
20698
20699 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
20700
20701         * diagnostic.h: #include location.h
20702         (location_t): Move definition to..
20703         * location.h: ... here.  New file.
20704         * tree.h: #include location.h
20705         (DECL_SOURCE_LOCATION): New macro.
20706         (DECL_SOURCE_FILE): Use.
20707         (DECL_SOURCE_LINE): Likewise.
20708         (struct tree_decl): REplace filename and linenum with locus.
20709         * Makefile.in (TREE_H): add location.h
20710         (diagnostic.o): Depends on gt-location.h
20711         (gt-location.h): Depends on s-gtype
20712
20713 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
20714
20715         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
20716         TARGET_OS_CPP_BUILTINS.
20717         * config/rs6000/aix31.h: Likewise.
20718         * config/rs6000/aix41.h: Likewise.
20719         * config/rs6000/aix43.h: Likewise.
20720         * config/rs6000/aix51.h: Likewise.
20721         * config/rs6000/beos.h: Likewise.
20722         * config/rs6000/darwin.h: Likewise.
20723         * config/rs6000/eabi.h: Likewise.
20724         * config/rs6000/eabisim.h: Likewise.
20725         * config/rs6000/linux.h: Likewise.
20726         * config/rs6000/linux64.h: Likewise.
20727         * config/rs6000/lynx.h: Likewise.
20728         * config/rs6000/mach.h: Likewise.
20729         * config/rs6000/rtems.h: Likewise.
20730         * config/rs6000/sysv4.h: Likewise.
20731         * config/rs6000/vxppc.h: Likewise.
20732
20733 2002-07-09 Devang Patel <dpatel@apple.com>
20734         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
20735         Do not allow ObjC objects as a parameter type for Objective-C methods.
20736         My previous patch restricted  'struct' also.
20737
20738 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
20739
20740         * cpperror.c (cpp_error): Default to directive_line within
20741         directives here.
20742         * cppexp.c (cpp_interpret_integer): Only use traditional
20743         number semantics in directives.
20744         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
20745         (do_include_common): Similarly.
20746         * cpptrad.c (scan_out_logical_line): Implement accurate
20747         quoting of <> in #include.
20748         * doc/cpp.texi: Update.
20749
20750 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
20751                           J"orn Rennecke <joern.rennecke@superh.com>
20752
20753         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
20754         * sh.md (attribute issues): Replace with:
20755         (attribute pipe_model).  All users changed.
20756         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
20757         All users changed.
20758         (function units sh5issue, sh5fds): New.
20759         (attribute is_mac_media): New.
20760         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
20761         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
20762         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
20763         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
20764         (call_media, call_value_media, sibcall_media): Likewise.
20765         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
20766         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
20767         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
20768         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
20769         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
20770         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
20771         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
20772         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
20773         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
20774         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
20775         (truncdfsf2_media): Likewise.
20776         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
20777         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
20778
20779 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
20780
20781         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
20782         * sh.c (general_extend_operand, inqhi_operand): New functions.
20783         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
20784         alternatives using 'N' modifier.  Add type.
20785         (adddi3z_media): Likewise.  Enable generator function generation.
20786         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
20787         exact predicates / constraints.  Add type.
20788         (subsi3): Allow 0 for SHMEDIA.
20789         (udivsi3_i4_media): Use match_operand for input values
20790         rather than hard registers.
20791         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
20792         unnecessarily through hard registers.  Keep copies of pseudo
20793         registers outside of the libcall sequence.
20794         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
20795         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
20796         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
20797         (extendhidi2, extendqidi2): Likewise.
20798         (andsi3_compact): Name.
20799         (andcdi3): Enable generator function generation.
20800         (zero_extendhisi2, zero_extendqisi2): Rename to
20801         (zero_extendhisi2_compact, zero_extendqisi2_compact).
20802         (extendhisi2, extendqisi2): Rename to
20803         (extendhisi2_compact, extendqisi2_compact).
20804         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
20805         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
20806         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
20807         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
20808         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
20809         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
20810         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
20811         (shmedia32_initialize_trampoline_big): Likewise.
20812         (shmedia32_initialize_trampoline_little): Likewise.
20813         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
20814         (negdi2): Remove spurious T clobber.
20815         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
20816         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
20817         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
20818         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
20819         (ic_invalidate_line_media): Write back data cache before invalidating
20820         instruction cache.  Add type.
20821         (movsf_media): Sign-extend when the destination is a general
20822         purpose register.  Add type.
20823         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
20824         (casesi_worker_0+1): Only increment ref count for proper label.
20825         (casesi_worker_0+2): Likewise.
20826
20827 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
20828
20829         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
20830
20831 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
20832
20833         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
20834         from Pmode to ptr_mode.
20835         (get_exception_pointer): Ditto.
20836         (connect_post_landing_pads): Ditto.
20837         (dw2_build_landing_pads): Ditto.
20838
20839 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
20840         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
20841         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
20842         (handle_pragma_redefine_extname): Change to use new function.
20843
20844 2002-07-08  Roger Sayle  <roger@eyesopen.com>
20845
20846         * combine.c (combine_simplify_rtx): Add an explicit cast
20847         to avoid signed/unsigned comparison warning.
20848         (simplify_if_then_else): Likewise.
20849         (extended_count): Likewise.
20850         (simplify_shift_const): Likewise.
20851         (simplify_comparison): Likewise.
20852
20853 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
20854
20855         * config/mips/mips.md: Add imadd type.  Update scheduler description
20856         to use imadd as well as imul.
20857         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
20858         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
20859         (*mul_sub_si): Likewise for first alternative.  Change second
20860         alternative from imul to multi.
20861
20862 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
20863
20864         * c-common.c (c_common_post_options): Update prototype;
20865         don't init backends if preprocessing only.
20866         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
20867         * langhooks.h (struct lang_hooks): Update post_options to
20868         return a boolean.
20869         * toplev.c (parse_options_and_default_flags, do_compile,
20870         lang_independent_init): Update prototypes.  Allow the
20871         front end to specify that there is no need to initialize
20872         the back end.
20873         (general_init): Move call to hex_init here...
20874         (toplev_main): ...from here.  Pass flag for back end init
20875         suppression.
20876
20877 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
20878
20879         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
20880         (PREDICATE_CODES): Add entries for equality_comparison_operator,
20881         greater_comparison_operator and less_comparison_operator.
20882         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
20883         more operators.
20884         (equality_comparison_operator): New function.
20885         (greater_comparison_operator, less_comparison_operator): Likewise.
20886         * sh.md (beq_media_i): Disable generator function generation.
20887         Use match_operator to handle a whole class of comparisons.  Add
20888         modifier in output template to provide branch prediction.  Add type.
20889         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
20890         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
20891         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
20892         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
20893
20894 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
20895
20896         Emit MMIX function prologue and epilogue as rtl.
20897         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
20898         not unprototyped get_hard_reg_initial_val.
20899         ("call_value", "nonlocal_goto_receiver"): Ditto.
20900         ("return"): Make define_expand.  Move real insn to...
20901         ("*expanded_return"): New pattern.
20902         ("prologue", "epilogue"): New define_expands.
20903         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
20904         (struct machine_function): New member in_prologue.
20905         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
20906         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
20907         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
20908         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
20909         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
20910         (LOCAL_REGNO): Define.  Adjust comment.
20911         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
20912         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
20913         leaf_function_p.
20914         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20915         the prologue.
20916         (mmix_target_asm_function_prologue): Make static.  Just mark that
20917         the prologue is being emitted.  Move guts to...
20918         (mmix_expand_prologue): New function.  Adjust for emitting
20919         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
20920         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
20921         \n.  Move guts to...
20922         (mmix_expand_epilogue): New function.  Adjust for emitting
20923         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
20924         (mmix_target_asm_function_end_prologue): Mark that the prologue
20925         has ended.
20926         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20927         (mmix_conditional_register_usage): Improve comments.
20928         (mmix_local_regno): New function.
20929         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20930         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20931         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20932         (mmix_get_hard_reg_initial_val): Ditto.
20933
20934 2002-07-06  Andreas Jaeger  <aj@suse.de>
20935
20936         * toplev.c (set_fast_math_flags): Don't use ISO C style function
20937         definitions.
20938         * gengtype.c (open_base_files): Likewise.
20939         (close_output_files): Likewise.
20940         * tracer.c (find_best_predecessor): Likewise.
20941         (find_best_successor): Likewise.
20942         (ignore_bb_p): Likewise.
20943
20944 2002-07-05  Roger Sayle  <roger@eyesopen.com>
20945
20946         PR c++/7099
20947         * builtin-attrs.def: Define new attribute lists for use in
20948         builtins.def.
20949         * builtins.def [DEF_BUILTIN]: Modify to take an additional
20950         ATTRS argument, an enumerated value defined in builtin-attrs.def
20951         that represents the attribute list for the builtins.  Modify
20952         all builtin functions to pass an appropriate attribute list.
20953         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20954         their required noreturn attributes.
20955         * tree.h (enum_builtin_function): Ignore the additional parameter
20956         to DEF_BUILTIN.
20957         * builtins.c (built_in_names): Likewise.
20958         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20959         argument with a tree representing the functions attribute list.
20960         Pass this "attrs" argument to builtin_function.  No longer handle
20961         the noreturn_p processing manually.
20962         (built_in_attributes): Move the definitions from builtin-attrs.def
20963         before c_common_nodes_and_builtins.
20964         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20965         DEF_BUILTIN, passing it to both builtin_function and the changed
20966         builtin_function_2.
20967
20968         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20969         __builtin__exit and __builtin__Exit.
20970
20971 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20972
20973         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20974         QI mode registers in soft registers.
20975         ("zero_extendqihi2"): Do not take into account soft registers
20976         for register allocation (use '*' constraint).
20977
20978 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20979
20980         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20981         it is dead.
20982         ("*ashrsi3"): Likewise.
20983         ("*lshrsi3"): Likewise.
20984
20985 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
20986
20987         * genautomata.c (output_max_insn_queue_index_def): Take latencies
20988         into account.
20989
20990 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20991
20992         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20993         address computation and memory moves.
20994
20995 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
20996
20997         PR c++/6706
20998         * dwarfout.c (output_reg_number): Fix warning message.
20999         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
21000         before using it.
21001
21002 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
21003
21004         * gcc/gcc.c (asm_debug): Move initialization ...
21005         (init_spec): ... here.
21006
21007 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
21008
21009         * c-parse.in (extdef): Append ';'.
21010         (old_style_parm_decls): Append ';'.
21011
21012 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
21013
21014         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
21015         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
21016         to gcc_cv_as_gstabs_flag.
21017         * configure: Rebuilt.
21018
21019 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
21020
21021         * ggc.h (ggc_add_root): Document as obsolete.
21022
21023 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
21024
21025         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
21026         (mshflo_w): Likewise.
21027
21028 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
21029
21030         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
21031         vector mode subregs of constants to finding integer mode
21032         subregs of constants.
21033         * cse.c (cse_insn): Use simplify_gen_subreg.
21034         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
21035         From a vector mode expression of different size than the
21036         target mode.
21037
21038 2002-07-03  Eric Christopher  <echristo@redhat.com>
21039
21040         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
21041         * config/mips/mips.h: Remove deprecated -m<processor> options
21042         and cc1_cpu_spec associated.
21043         (CONSTANT_ADDRESS_P): Fix last patch.
21044         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
21045         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
21046         sunge_sf): Remove.
21047
21048 2002-07-03  Stan Shebs  <shebs@apple.com>
21049
21050         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
21051         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
21052         (CPP_SPEC): Remove insertion of APPLE_CC definition.
21053
21054 2002-07-03  Roger Sayle  <roger@eyesopen.com>
21055
21056         * combine.c (struct_undo): Change types of recorded substitutions
21057         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
21058         (do_SUBST_INT): Change types of the substitution from unsigned int
21059         to int, to avoid compilation warning from SUBST_INT's only caller.
21060
21061         (make_extraction): Add cast to avoid compilation warning.
21062         (force_to_mode): Remove cast to avoid compilation warning.
21063
21064 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
21065             Jeff Law  <law@redhat.com>
21066
21067         * i386.md (length_immediate attribute): Fix typo.
21068         (length_address attribute): Likewise.
21069         (modrm attribute): Set it to 0 for immediate call instructions.
21070         (jcc_1 pattern): Set modrm attribute to 0.
21071         (jcc_2 pattern ): Likewise.
21072         (jump pattern): Likewise.
21073         (doloop_end_internal pattern): Explicitly set length.
21074         (leave pattern): Fix typo.
21075         (leave_rex64 pattern): Likewise.
21076
21077 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
21078
21079         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
21080         in FPR as preference.
21081         (fctiwz): Same.
21082         (floatdidf2, fix_truncdfdi2): Same.
21083         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
21084         (floatditf2): Same.
21085         (floatsitf2, fix_trunctfsi2): SImode in GPR.
21086         (ctrdi): Remove FPR alternative and splitter.
21087
21088 2002-07-03  Will Cohen  <wcohen@redhat.com>
21089
21090         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
21091
21092 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
21093
21094         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
21095         than UNITS_PER_WORD, unless this is little endian and the first unit
21096         in this word.  Let extract_bit_field decide how to load an element.
21097         Force arguments to matching mode.
21098         (expand_vector_unop): Likewise.
21099
21100         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
21101         consist of word_mode elements.
21102         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
21103         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
21104         (build_unary_op): Allow vector types for BIT_NOT_EPR.
21105         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
21106         CONST_VECTOR.
21107         * optabs.c (expand_vector_binop): Try to perform operation in
21108         smaller vector modes with same inner size.  Add handling of AND, IOR
21109         and XOR.  Reject expansion to inner-mode sized scalars when using
21110         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
21111         (expand_vector_unop): Try to perform operation in smaller vector
21112         modes with same inner size.  Add handling of one's complement.
21113         When there is no vector negate operation, try a vector subtract
21114         operation.  Use simplify_gen_subreg on constants.
21115         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
21116         constants into smaller vectors with same inner mode, and to
21117         integer CONST_DOUBLEs.
21118
21119 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21120
21121         * c-parse.in (parsing_iso_function_signature): New variable.
21122         (extdef_1): New, copied from...
21123         (extdef): ... here.  Reset parsing_iso_function_signature.
21124         (old_style_parm_decls):  Reset parsing_iso_function_signature.
21125         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
21126         Warn about ISO C style function definitions.
21127         (nested_function, notype_nested_function): Reset
21128         parsing_iso_function_signature.
21129         (parmlist_2): Set parsing_iso_function_signature.
21130
21131         * doc/invoke.texi (-Wtraditional): Document new behavior.
21132
21133 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
21134
21135         * config.gcc (mips*el-*-*): Use tm_defines to set
21136         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
21137         * config/mips/little.h: Remove.
21138
21139 2002-07-02 Devang Patel <dpatel@apple.com>
21140
21141         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
21142         object as parameter. Prevent something like 'NSObject' to be
21143         used as the type for a method argument.
21144
21145 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
21146
21147         * cpptrad.c: Update comment.
21148
21149 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
21150
21151         * doc/cpp.texi: Update for traditional preprocessing changes.
21152         * goc/cppopts.texi: Similarly.
21153
21154 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
21155
21156         * c-parse.in (designator): Enable designated initializers if ObjC.
21157         (objcmessageexpr): Remove references to objc_receiver_context.
21158         * objc/objc-act.h (objc_receiver_context): Remove decl.
21159         * objc/objc-act.c (objc_receiver_context): Remove.
21160         (lookup_objc_ivar): Test objc_method_context instead of
21161         objc_receiver_context.
21162
21163 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
21164
21165         * sh.c (print_operand, case 'N'): Allow zero vector.
21166         (arith_reg_or_0_operand): Likewise.
21167         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
21168         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
21169         IOR, XOR, PLUS and SET and take their respective constant
21170         ranges into account.
21171         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
21172         * sh.md (subdi3, subdi3_media): Allow zero operand.
21173         (movv8qi_i+3): Only vector that is not split is the zero vector.
21174         Fix operand 3 to simplify_subreg.
21175         (movv2si_i): Split alternative 1.
21176         (mshfhi_l_di_rev+1): New splitter.
21177
21178 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
21179
21180         PR preprocessor/7029
21181         * cppinit.c (cpp_handle_option):  Suppress warnings with an
21182         implicit "-w" for "-M" and "-MM".
21183         * doc/cppopts.texi: Update.
21184
21185 2002-07-01  Roger Sayle  <roger@eyesopen.com>
21186
21187         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
21188         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
21189         builtin_function.
21190
21191 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
21192
21193         * README.Portability: Fix typos.
21194
21195 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
21196
21197         PR target/7177
21198         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
21199         of indirections for register inside sign-extended mem part.
21200
21201 2002-07-01  Roger Sayle  <roger@eyesopen.com>
21202
21203         * tree.h:  Modify builtin_function interface to take an extra
21204         argument ATTRS, which is a tree representing an attribute list.
21205
21206         * c-decl.c (builtin_function): Accept additional parameter.
21207         * objc/objc-act.c (builtin_function): Likewise.
21208         * f/com.c (builtin_function): Likewise.
21209         * java/decl.c (builtin_function): Likewise.
21210         * ada/utils.c (builtin_function): Likewise.
21211         * cp/decl.c (builtin_function): Likewise.
21212         (builtin_function_1): Likewise.
21213
21214         * c-common.c (c_common_nodes_and_builtins): Pass an additional
21215         NULL_TREE argument to builtin_function.  (builtin_function_2):
21216         Likewise.
21217         * cp/call.c (build_java_interface_fn_ref): Likewise.
21218         * objc/objc-act.c (synth_module_prologue): Likewise.
21219         * java/decl.c (java_init_decl_processing): Likewise.
21220         * f/com.c (ffe_com_init_0): Likewise.
21221
21222         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
21223         NULL_TREE argument to builtin_function.
21224         * config/arm/arm.c (def_builtin): Likewise.
21225         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
21226         * config/i386/i386.c (def_builtin): Likewise.
21227         * config/ia64/ia64.c (def_builtin): Likewise.
21228         * config/rs6000/rs6000.c (def_builtin): Likewise.
21229
21230 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
21231
21232         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
21233         * config/mips/t-isa3264: Likewise.
21234         * config/mmix/t-mmix: Likewise.
21235
21236 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
21237
21238         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
21239
21240 2002-07-01  Roger Sayle  <roger@eyesopen.com>
21241
21242         PR opt/4046
21243         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
21244         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
21245         B are truth values.
21246
21247 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
21248
21249         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
21250
21251 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
21252
21253         * README.Portability (Function prototypes): Give an example of
21254         declaring and defining a function with no arguments.
21255
21256         * README.Portability (Function prototypes): Document new
21257         variable-argument function macros.
21258
21259 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
21260
21261         * sh.c (langhooks.h): Include.
21262         (sh_init_builtins, sh_media_init_builtins): New functions.
21263         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
21264         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
21265         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
21266         (builtin_description): New struct tag.
21267         (signature_args, bdesc): New arrays.
21268         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
21269         (print_operand): Add 'N' modifier.
21270         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
21271         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
21272         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
21273         (CONST_COSTS): Add special case for SHmedia AND.
21274         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
21275         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
21276         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
21277         target_operand can also be const or unspec.
21278         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
21279         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
21280         (attribute type): Add new types.
21281         (anddi3): Add splitter.
21282         (movdi_const_16bit+1): Add code to handle vector constants and
21283         bitmasks efficiently.
21284         (shori_media): Have generator function made.
21285         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
21286         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
21287         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
21288         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
21289         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
21290         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
21291         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
21292         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
21293         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
21294         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
21295         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
21296         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
21297         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
21298         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
21299         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
21300         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
21301         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
21302         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
21303         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
21304         (ftrv): Likewise.
21305
21306         (fpu_switch+1, fpu_switch+2): Remove constraint.
21307
21308 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
21309
21310         * tree.c (build_function_type_list): Update function comment.
21311         Rename first argument to return_type.
21312
21313 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
21314
21315         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
21316         tradcif.y and related files.
21317
21318 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
21319
21320         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
21321
21322 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
21323
21324         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
21325
21326 See ChangeLog.7 for earlier changes.