OSDN Git Service

* i386.c (builtin_description): Add __builtin_ia32_paddq and
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2
3         * i386.c (builtin_description): Add __builtin_ia32_paddq and
4         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
5          and __builtin_ia32_psubq128.
6         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
7         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
8         (mmx_adddi3, mmx_subdi3): New.
9         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
10         * xmmintrin.h (_mm_movepi64_pi64): New.
11         (_mm_add_epi64, _mm_sub_epi64): fix.
12         (_mm_mul_pu16): Rename to...
13         (_mm_mul_su32): ... this one.
14
15         * builtins.c (expand_builtin_expect):  Do not predict
16         flag_guess_branch_prob is not set.
17         * c-semantics.c (expand_stmt): Likewise.
18         * predict.c (predict_insn): Likewise.
19         * stmt.c (expand_continue_loop): Likewise.
20         * toplev.c (rest_of_compilation): Do not call
21         note_prediction_to_br_prob and note_prediction_to_br_prob
22         when not optimizing.
23
24 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
25
26         * cfgrtl.c (commit_edge_insertions):  Call
27         find_many_sub_basic_block only when some code has been emitted.
28         (commit_edge_insertions_watch_calls): Bring into sync with
29         commit_edge_insertions
30
31 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
32
33         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
34
35         * sh.md (binary_sf_op): Use extra constant operand instead of
36         negating constant operand 4.
37         * sh.c (sh_expand_binop_v2sf): Supply it.
38
39 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
40
41         * cpphash.h (struct lexer_state): Add directive_wants_padding.
42         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
43         for directives of type INCL.
44         (glue_header_name, parse_include): Use get_token_no_padding.
45         * cppmacro.c (replace_args): If directive_wants_padding,
46         provide padding tokens.
47
48 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
49
50         * config/h8300/h8300.md (a peephole2): New.
51
52 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
53
54         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
55         (commit_edge_insertions): Call find_many_sub_basic_blocks
56
57         * reg-stack.c (convert_regs): Cleax aux for blocks.
58
59 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
60
61         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
62
63 2003-02-21  Glen Nakamura  <glen@imodulo.com>
64
65         PR optimization/8613
66         * builtins.c (expand_builtin): Emit postincrements before expanding
67         builtin functions.
68
69 2003-02-21  Ben Elliston  <bje@redhat.com>
70
71         PR other/5634
72         * doc/install.texi (Configuration): Explain using $HOME instead of
73         the ~ metacharacter when referring to home directories.
74
75 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
76
77         * configure.in (TARGET_SYSTEM_ROOT): Set default to
78         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
79         '${exec_prefix}' (in addition to the expansion thereof) as
80         relocatable.
81         * configure: Rebuilt.
82
83 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
84
85         * config/h8300/h8300.md (addhi3_incdec): Change the name to
86         *addhi3_incdec.
87         (addsi3_incdec): Change the name to *addsi3_incdec.
88
89 2003-02-20  Roger Sayle  <roger@eyesopen.com>
90
91         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
92
93 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
94
95         PR fortran/9038
96         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
97         options to be ignored.
98         (c_common_decode_option): Ignore them when preprocessing.
99
100 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
101
102         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
103         global variables.
104         (lang_independent_options):  Add -fsched2-use-superblocks
105         -fsced2-use-traces.
106         (rest_of_compilation): Deal with it.
107         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
108         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
109         Declare.
110         * rtl.h (reg_to_stack):  Update prototype.
111         * reg-stack.c (reg_to_stack): Return when something has changed;
112         update liveness when executing after superblock scheduling.
113
114         * combine.c (simplify_shift_const):  Simplify few special cases
115         into constants.
116
117 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
118
119         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
120         (add.,subf.,neg.): Change attribute to fast_compare.
121         All DFA descriptions updated.
122
123 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
124
125         Change base class access representation.
126         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
127         TREE_VIA_PRIVATE): Remove.
128         (BINFO_BASEACCESSES): New binfo elt.
129         (BINFO_BASEACCESS): New accessor.
130         (BINFO_ELTS): Increase.
131         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
132         (access_public_node, access_protected_node,
133         access_private_node): New global nodes.
134         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
135         * dbxout.c (dbxout_type): Adjust.
136         * dwarf2out.c (gen_inheritance_die): Add access parameter.
137         (gen_member_die): Adjust.
138         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
139         (output_type): Adjust.
140         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
141
142         Change base class access representation. Share virtual base
143         binfos.
144         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
145         call.
146         * cp/class.c (build_base_path): Likewise.
147         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
148         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
149         (make_new_vtable): Adjust.
150         (force_canonical_binfo_r): Delete.
151         (force_canonical_binfo): Delete.
152         (mark_primary_virtual_base): Delete.
153         (dfs_unshared_virtual_bases): Delete.
154         (mark_primary_bases): Adjust.
155         (maybe_warn_about_overly_private_class): Adjust.
156         (dfs_base_derived_from): Delete.
157         (base_derived_from): Follow the inheritance chain.
158         (struct find_final_overrider_data): Add vpath member.
159         (dfs_find_final_overrider): Adjust.
160         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
161         (find_final_overrider): Adjust.
162         (update_vtable_entry_for_fn): Adjust.
163         (modify_all_vtables): Adjust.
164         (walk_subobject_offsets): Adjust.
165         (layout_nonempty_base_or_field): Adjust.
166         (layout_empty_base): Remove last parameter. Adjust.
167         (build_base_field): Adjust.
168         (build_base_fields): Adjust.
169         (propagate_binfo_offsets): Remove last parameter. Adjust.
170         (dfs_set_offset_for_unshared_vbases): Delete.
171         (layout_virtual_bases): Adjust.
172         (finish_struct_1): Adjust.
173         (init_class_processing): Don't init access nodes.
174         (dfs_get_primary_binfo): Delete.
175         (get_primary_binfo): Adjust.
176         (dump_class_hierarchy_r): Remove most derived arg, add IGO
177         parameter. Adjust.
178         (dump_class_hierarchy): Adjust.
179         (finish_vtbls): Adjust.
180         (get_original_base): Delete.
181         (build_vtt_inits): Adjust.
182         (dfs_build_secondary_vptr_vtt_inits): Adjust.
183         (dfs_ctor_vtable_bases_queue_p): Adjust.
184         (build_ctor_vtbl_group): Adjust.
185         (dfs_accumulate_vtbl_inits): Adjust.
186         (build_vtbl_initializer): Adjust.
187         (build_vbase_offset_vtbl_entries): Adjust.
188         (add_vcall_offset_vtbl_entries_1): Adjust.
189         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
190         (access_*_node): Remove.
191         (CANONICAL_BINFO): Delete.
192         (BINFO_UNSHARED_MARKED): Remove.
193         (BINFO_MARKED): Set LANG_FLAG_0 directly.
194         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
195         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
196         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
197         Delete.
198         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
199         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
200         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
201         Delete.
202         (BINFO_DEPENDENT_BASE_P): New.
203         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
204         index.
205         (markedp, unmarkedp): Adjust.
206         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
207         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
208         find_vbase_instance, binfo_for_vbase): Delete.
209         (copied_binfo, original_binfo): Declare.
210         (finish_base_specifier): Add virtual_p arg.
211         (unshare_base_binfos): Delete.
212         (copy_base_binfos): Declare.
213         (reverse_path): Delete.
214         * cp/decl.c (xref_basetypes): Access and virtuality passed
215         differently. Don't copy direct base binfos here. Call
216         copy_base_binfos.
217         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
218         (initialize_vtbl_ptrs): Adjust.
219         (expand_member_init): Adjust.
220         * cp/parser.c (cp_parser_base_specifier): Adjust.
221         * cp/pt.c (instantiate_class_template): Adjust.
222         (get_template_base_recursive): Adjust.
223         * cp/rtti.c (get_pseudo_ti_init): Adjust.
224         (get_pseudo_ti_desc): Adjust.
225         * cp/tree.c (unshare_base_binfos): Rename to ...
226         (copy_base_binfos): ... here, reimplement.
227         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
228         (reverse_path): Remove.
229         * cp/typeck.c (get_delta_difference): Adjust error messages.
230         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
231         * cp/search.c (lookup_base_r): Adjust.
232         (dynamic_cast_base_recurse): Adjust.
233         (canonical_binfo): Remove.
234         (dfs_canonical_queue): Remove.
235         (dfs_assert_unmarked_p): Remove.
236         (assert_canonical_unmarked): Remove.
237         (shared_marked_p, shared_unmarked_p): Remove.
238         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
239         (dfs_access_in_type): Adjust.
240         (access_in_type): Adjust.
241         (dfs_accessible_queue_p): Adjust.
242         (dfs_accessible_p): Adjust.
243         (is_subobject_of_p_1, is_subobject_of_p): Remove.
244         (struct lookup_field_info): Remove from_dep_base_p field.
245         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
246         (lookup_field_r): Remove dependent base code.
247         (lookup_member): Likewise.
248         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
249         (dfs_unmarked_real_bases_queue_p): Remove.
250         (dfs_marked_real_bases_queue_p): Remove.
251         (dfs_skip_vbases): Remove.
252         (dfs_get_pure_virtuals): Adjust.
253         (markedp, unmarkedp): Adjust.
254         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
255         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
256         (dfs_unmark): Adjust.
257         (dfs_get_vbase_types):Remove.
258         (dfs_build_inheritance_graph_order): Remove.
259         (get_vbase_types): Remove
260         (dfs_find_vbase_instance): Remove.
261         (find_vbase_instance): Remove.
262         (dfs_debug_unmarkedp): Adjust.
263         (dependent_base_p): Remove.
264         (dfs_push_type_decls): Adjust.
265         (dfs_push_decls): Adjust.
266         (dfs_no_overlap_yet): Adjust.
267         (copied_binfo): New function.
268         (original_binfo): New function.
269         (binfo_for_vbase): Remove.
270
271         Change base class access representation.
272         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
273         (add_interface_do): Likewise.
274
275 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
276
277         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
278         * config/rs6000/power4.md (power4-store,power4-vecstore): New
279         insn reservations.
280         (power4-fpstore): Compact.
281
282 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
283
284         * config/h8300/h8300.md (*iorsi3_w): New.
285
286 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
287
288         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
289         * rtl.c (reg_note_name): Likewise.
290         * rtl.h (enum reg_note): Likewise.
291         * doc/invoke.texi: Likewise.
292         * doc/rtl.texi: Likewise.
293
294 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
295
296         * bb-reorder.c (find_traces_1_round): Fix comment typo.
297
298 2003-02-19  Roger Sayle  <roger@eyesopen.com>
299
300         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
301         addition in the presence of signaling NaNs.
302
303 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
304
305         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
306
307 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
308
309         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
310         ORing with 0xffff??00 with the highest bit of the ?? part set.
311         (compute_logical_op_length): Update.
312         (compute_logical_op_cc): Likewise.
313
314 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
315
316         * bb-reorder.c (find_traces_1_round): Fixed condition for small
317         destination block with multiple predecessors.
318         (connect_traces): Check whether the block is a start of trace.
319
320 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
321
322         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
323         * function.c (assign_params): Likewise.
324         * arm-protos.h (arm_init_cumulative_args): Update prototype.
325         * arm.c (arm_init_cumulative_args): Update function.
326         * arm.h (INIT_CUMULATIVE_ARGS): Update.
327         * avr-protos.h (init_cumulative_args): Update prototype.
328         * avr.c (init_cumulative_args): Update function.
329         * avr.h (INIT_CUMULATIVE_ARGS): Update.
330         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
331         * d30v.c (d30v_init_cumulative_args): Update function.
332         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
333         * frv-protos.h (frv_init_cumulative_args): Update prototype.
334         * frv.c (frv_init_cumulative_args): Update function.
335         * frv.h (INIT_CUMULATIVE_ARGS): Update.
336         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
337         * pa.h (INIT_CUMULATIVE_ARGS): Update.
338         * sparc-protos.h (init_cumulative_args): Update prototype.
339         * sparc.c (init_cumulative_args): Update function.
340         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
341         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
342
343 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
344
345         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
346         (*ashiftsi_sextqi_7): Likewise.
347
348 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
349
350         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
351         ISO C99 and C++.
352
353         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
354         for C++ on IRIX 6.5.1[89].
355         * fixinc/tests/base/internal/sgimacros.h: New file.
356
357         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
358         * fixinc/tests/base/internal/wchar_core.h: New file.
359
360         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
361         socklen_t definition.
362         * fixinc/fixincl.x: Regenerate.
363         * fixinc/tests/base/sys/socket.h: New file.
364         Fixes PR libgcj/9652.
365
366 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
367
368         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
369
370 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
371
372         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
373         align_jumps_max_skip and align_loops_max_skip.
374
375 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
376
377         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
378         test size if named section.
379
380 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
381
382         * expr.c (expand_expr): Use gen_int_mode for the argument
383         to gen_rtx_MULT.
384
385 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
386
387         * i386.md (cosxf2):  Fix conditional.
388
389 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
390
391         * config/h8300/h8300.md (extendqisi2): Change to an expander.
392         (*extendqisi2_h8300): New.
393         (*extendqisi2_h8300hs): Likewise.
394
395 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
396
397         * config/h8300/h8300-protos.h: Update the prototype for
398         split_adds_subs.  Remove the prototypes for
399         const_int_le_2_operand and const_int_le_6_operand.
400         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
401         (const_int_le_2_operand): Remove.
402         (const_int_le_6_operand): Likewise.
403         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
404         for const_int_le_2_operand and const_int_le_6_operand.
405         * config/h8300/h8300.md: Update all uses of split_adds_subs.
406         (a peephole2): New.
407
408 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
409
410         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
411         (cgraph_expand_function): Rewrite.
412
413 2003-02-18  Matt Austern <austern@apple.com>
414
415         * toplev.c, langhooks.c, langhooks-def.h: Move
416         write_global_declarations from toplev.c to langhooks.c.
417
418 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
419
420         * config/h8300/h8300.c (general_operand_src): Always check
421         MODE.
422         (general_operand_dst): Likewise.
423
424 2003-02-18  Roger Sayle  <roger@eyesopen.com>
425
426         * convert.c (convert_to_real): Also optimize (float)log(x) into
427         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
428
429 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
430
431         * config/sh/sh.c (unspec_caller_rtx_p): New.
432         (sh_cannot_copy_insn_p): New.
433         (TARGET_CANNOT_COPY_INSN_P): New.
434
435 2003-02-18  Richard Henderson  <rth@redhat.com>
436
437         * c-common.c (handle_used_attribute): Accept static data too.
438
439 2003-02-18  Nick Clifton  <nickc@redhat.com>
440             Aldy Hernandez  <aldyh@redhat.com>
441
442         * testsuite/gcc.dg/20030218-1.c: New.
443
444         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
445
446         * target-def.h (TARGET_INITIALIZER): Add
447         TARGET_VECTOR_TYPES_COMPATIBLE.
448         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
449
450         * target.h (struct gcc_target): Add field vector_types_compatible.
451
452         * c-typeck.c (comptypes): Take into account
453         TARGET_VECTOR_TYPES_COMPATIBLE.
454         (convert_for_assignment): Same.
455
456         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
457         (rs6000_spe_vector_types_compatible): New.
458         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
459
460 2003-02-19  Andreas Schwab  <schwab@suse.de>
461
462         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
463         * toplev.c: Include langhooks-def.h.
464
465 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
466
467         * config/mips/mips.h (enum processor_type): Sort entries
468         alphabetically.
469         * config/mips/mips.md (define_attr cpu): Sync with processor_type
470         enum values, including adding entries that were missing.
471
472 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
473
474         * sh.c (calc_live_regs): Also check GET_CODE when checking if
475         initial value for PR_REG is still the PR_REG register.
476
477 2003-02-18  Jim Wilson  <wilson@redhat.com>
478
479         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
480         instruction in output template.
481         (bsp_value): Change output template from string to C code, add %,
482         before actual instruction.
483         (flushrs): Mark as not predicable.
484
485 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
486
487         * inclhack.def (netbsd_bogus_semicolon): New fix.
488         * fixincl.x: Rebuilt.
489         * tests/base/ctype.h: Update.
490
491 2003-02-18  Roger Sayle  <roger@eyesopen.com>
492
493         * fold-const.c (negate_expr_p): New function to determine whether
494         an expression can be negated cheaply.
495         (fold) [MINUS_EXPR]: Use it to determine whether to transform
496         -A - B into -B - A for floating point types.
497
498 2003-02-18  Roger Sayle  <roger@eyesopen.com>
499
500         * sbitmap.c (sbitmap_resize): New function.
501         * sbitmap.h (sbitmap_resize): Prototype here.
502         * recog.c (split_all_insns): Use sbitmap_resize.
503
504 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
505
506         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
507         insn length.
508         (extendqisi2): Likewise.
509         (*extendhisi2_h8300): Likewise.
510
511 2003-02-18  Matt Austern <austern@apple.com>
512
513         * langhooks.h, langhooks-def.h: introduce new langhook,
514         final_write_globals, with write_global_declarations as default.
515         * toplev.c: Move invocation of wrapup_global_declarations from
516         compile_file to new function, write_global_declarations.  Change
517         compile_file to use final_write_globals hook.  Change
518         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
519         conditional.
520
521 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
522
523         * pa.md: Correct and enhance comment.
524
525 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
526
527         * gcc.c (validate_switches): Don't scan past closing '}'.
528
529 2003-02-18  Ben Elliston  <bje@redhat.com>
530
531         PR c++/1607
532         * doc/extend.texi (Function Attributes): Document the effect of
533         the C++ "this" parameter on the counting of arguments for the
534         "format" and "format_arg" attributes.
535
536 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
537
538         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
539         (__ev_stdw): Same.
540         (__ev_stdh): Same.
541
542 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
543
544         * recog.c (split_all_insns):  Fix memory overflow.
545
546 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
547
548         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
549         (cmphi): Likewise.
550         (*cmphi_h8300): Likewise.
551         (*cmphi_h8300hs): Likewise.
552         (cmpsi): Likewise.
553         (7 peephole2): Likewise.
554
555 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
556
557         * c-typeck.c (build_c_cast):  Fold constant variables into
558         initial values.
559
560 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
561
562         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
563         (Binaries): Ditto for Sinix/Reliant Unix.
564
565 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
566
567         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
568         not overlap the final result register.
569
570 2003-02-16 Arend Bayer <arend.bayer@web.de>
571            Richard Henderson  <rth@redhat.com>
572
573         PR c/8068
574         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
575         rearrange mult arguments for less recursion.
576         (extract_muldiv): New.  Prevent runaway recursion.
577
578 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
579
580         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
581         MASK_ALIGN_DOUBLE.
582
583 2003-02-15  Roger Sayle  <roger@eyesopen.com>
584
585         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
586         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
587         (ext_80387_constants_table): Global table of 80387 special constants
588         guarded by ext_80387_constants_init flag when not initialized.
589         (init_ext_80387_constants): New function to initialize this table.
590         (standard_80387_constant_p): Extend to recognize extra 80387
591         constants, in XFmode, on processors where this is a win.
592         (standard_80387_constant_opcode): New function to return the
593         opcode associated with standard_80387_constant_p.
594         (standard_80387_constant_rtx): New function to return the XFmode
595         CONST_DOUBLE associated with standard_80387_constant_p.
596         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
597
598         * config/i386/i386-protos.h (standard_80387_constant_opcode):
599         Prototype here.
600         (standard_80387_constant_rtx): Likewise.
601
602         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
603         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
604         *movtf_integer): Simplify using new standard_80387_constant_opcode.
605
606 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
607
608         * doc/invoke.texi (Optimize Options): Correct @option syntax.
609
610 2003-02-15  Richard Henderson  <rth@redhat.com>
611
612         * Makefile.in (cfglayout.o): Depend on TARGET_H.
613         * cfglayout.c: Include target.h.
614         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
615         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
616         * target.h (struct gcc_target): Add cannot_copy_insn_p.
617
618         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
619         (TARGET_CANNOT_COPY_INSN_P): New.
620         (override_options): Revert 2003-02-08 hack.
621
622 2003-02-15  Richard Henderson  <rth@redhat.com>
623
624         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
625         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
626
627 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
628
629         * config/rs6000/rs6000.h (processor_type): Add PPC440.
630         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
631         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
632         TARGET_SCHED_VARIABLE_ISSUE): Define.
633         (rs6000_use_dfa_pipeline_interface): New function.
634         (rs6000_multipass_dfa_lookahead): New Function.
635         (rs6000_variable_issue): New function.
636         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
637         (rs6000_issue_rate): Add PPC440.
638         * config/rs6000/rs6000.md (unspec list): Correct typo.
639         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
640         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
641         cmp, delayed_cr, mfcr, mtcr.
642         (automata_option): Set "ndfa".
643         (extendMMNN2): Update attributes.
644         (movcc_internal1): Discourage move to non-cr0.  Update
645         attributes.
646         (movMM_update): Update attributes.
647         (cmpMM_internal): Update attributes.
648         (sCC CR materialization): Update attributes.
649         (branch patterns): Do not discourage non-cr0.
650         (cr logical patterns): Prefer destructive register allocation.
651         Update attributes.
652         (movesi_from_cr): Update attribute.
653         (mtcrf_operation): Update attribute.
654         (mtcrfsi): Update attribute.
655         * config/rs6000/40x.md: New file.
656         * config/rs6000/603.md: New file.
657         * config/rs6000/6xx.md: New file.
658         * config/rs6000/7450.md: New file.
659         * config/rs6000/7xx.md: New file.
660         * config/rs6000/mpc.md: New file.
661         * config/rs6000/power4.md: New file.
662         * config/rs6000/rios1.md: New file.
663         * config/rs6000/rios2.md: New file.
664         * config/rs6000/rs64.md: New file.
665         [Some DFA descriptions based on work by Michael Hayes]
666
667 2003-02-15  Richard Henderson  <rth@redhat.com>
668
669         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
670         successors with multiple predecessors.
671         (connect_traces): Try harder to copy traces of length 1.
672
673         * function.h (struct function): Add computed_goto_common_label,
674         computed_goto_common_reg.
675         * function.c (free_after_compilation): Zap them.
676         * stmt.c (expand_computed_goto): Use them to produce one
677         indirect branch per function.
678
679 2003-02-15  Richard Henderson  <rth@redhat.com>
680
681         * cfgcleanup.c: Include params.h.
682         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
683         too many outgoing edges from a block.
684         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
685         * params.def (max-crossjump-edges): New.
686         * doc/invoke.texi: Document it.
687
688 2003-02-15  Richard Henderson  <rth@redhat.com>
689
690         * recog.c (split_all_insns): Include new blocks in life update;
691         do a global life update.
692
693 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
694
695         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
696         Update copyright.
697         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
698         -mno-cygwin case.
699
700 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
701
702         PR optimization/7702
703         * reload1.c (reload_cse_simplify_set): Honor
704         CANNOT_CHANGE_MODE_CLASS.
705
706 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
707
708         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
709         function.
710         * config/mn10300/mn10300-protos.h: Declare it.
711         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
712         attribute cc of instructions that may use clr.
713
714 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
715
716         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
717         (x - (x & y)) is found.
718
719 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
720
721         * configure.in: Fix typo.
722         * configure: Regenerate.
723
724 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
725
726         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
727
728 2003-02-13  Adam Nemet  <anemet@lnxw.com>
729
730         PR opt/2391
731         * combine.c: Fix spelling in comment.
732         (cached_nonzero_bits): New function.
733         (cached_num_sign_bit_copies): New function.
734         (nonzero_bits_with_known): New macro.
735         (num_sign_bit_copies_with_known): New macro.
736         (nonzero_bits1): Rename from nonzero_bits.  Add three new
737         arguments.  Change calls from nonzero_bits to
738         nonzero_bits_with_known.
739         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
740         three new arguments.  Change calls from num_sign_bit_copies to
741         num_sign_bit_copies_with_known.
742         (nonzero_bits): New macro.
743         (num_sign_bit_copies): New macro.
744         (update_table_tick): Don't traverse identical subexpression more
745         than once.
746         (get_last_value_validate): Likewise.
747
748 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
749
750         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
751         * function.h (struct emit_status): Length of regno_pointer_align
752         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
753         not regno_pointer_align_length (i.e. length actually used, not
754         length as allocated)
755
756         * config/i386/i386.c (struct stack_local_entry): New.
757         (struct machine_function): Replace huge array with alist.
758         (assign_386_stack_local): Change to match.
759
760 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
761
762         * inclhack.def (hpux_long_double): Tighten select and add bypass
763         regexp.
764         * fixincl.x: Rebuilt.
765
766 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
767
768         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
769         edge and block ends with a jump insn it must be simple jump.
770
771 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
772
773         * Makefile.in (PREPROCESSOR_DEFINES): Add
774         @TARGET_SYSTEM_ROOT_DEFINE@.
775         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
776         is specified or if building a cross compiler.
777         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
778         if the sysroot is under $exec_prefix.
779         * configure: Regenerated.
780         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
781         defined.
782         (struct default_include): Add add_sysroot field.
783         (cpp_SYSROOT): Declare.
784         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
785         field.
786         (cpp_SYSROOT): New variable.
787         * cppinit.c (cpp_create_reader): Initialize
788         CPP_OPTION (pfile, sysroot).
789         (init_standard_includes): Handle add_sysroot.  Do not
790         add unrelocated copies of relocated directories.
791         (COMMAND_LINE_OPTIONS): Add -isysroot.
792         (cpp_handle_option): Handle -isysroot.
793         * cpplib.h (struct cpp_options): Add sysroot member.
794         * gcc.c (The Specs Language): Update description of %I.
795         (target_system_root_changed): New variable.
796         (process_command): Conditionalize make_relative_prefix call
797         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
798         target_system_root_changed.
799         (do_spec_1): Add -isysroot to %I.
800         * doc/invoke.texi (Spec Files): Update description of %I.
801         * doc/install.texi (--with-sysroot): Update comment about
802         relocation.
803
804 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
805
806         * config/h8300/h8300.md (a peephole2): New.
807
808 2003-02-13  Robert Lipe <robertlipe@usa.net>
809             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
810
811         * doc/install.texi (Specific): Update three SCO-related URLs.
812
813 2003-02-13  Andreas Schwab  <schwab@suse.de>
814
815         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
816         Parenthesize properly.
817         (NPREDECESORS): Parenthesize properly.
818
819 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
820
821         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
822
823 2003-02-12  Roger Sayle  <roger@eyesopen.com>
824
825         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
826         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
827
828         * reg-stack.c (subst_stack_regs_pat): Add support for binary
829         UNSPEC instructions (e.g. "fpatan").
830
831 2003-02-12  Mike Stump  <mrs@apple.com>
832
833         * varray.c (element_size): Remove.
834         (uses_ggc): Remove.
835         (element): Add.
836         (varray_init): Use new interface.
837         (varray_grow): Use new interface.
838         (varray_clear): Use new interface.
839
840 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
841
842         * config/rs6000/spe.h: Add casts to the arguments of the following
843         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
844         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
845         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
846         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
847         __ev_get_u16, __ev_get_s16.
848
849 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
850
851         * config/h8300/h8300.md (a peephole2): New.
852
853 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
854
855         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
856         (OBJS): Add callgraph.o
857         (callgraph.o): New.
858         * c-decl.c (expand_body_1): Break out from ...
859         (expand_body): This one;  change calling convention
860         (finish_function): Move some of expand_body logic here.
861         (c_expand_deferred_function): Update call of expand_body
862         (c_expand_stmt): Use c_expand_body_1.
863         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
864         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
865         * c-tree.h (c_expand_body): Declare.
866         * callgraph.c: New file.
867         * flags.h (flag_unit_at_a_time): Declare.
868         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
869         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
870         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
871         * langhooks.h (struct lang_hooks_for_callgraph): New.
872         (struct lang_hooks): Add callgraph field.
873         * toplev.c (flag_unit_at_a_time): New.
874         (lang_independent_options): Add flag_unit_at_a_time.
875         (process_options): Disable unit-at-a-time mode for frontends not
876         supporting callgraph.
877         * tree-inline.c (typedef struct inline_data): Add "decl"
878         (expand_call_inline): Update callgraph.
879         (optimize_inline_calls): Set id.decl.
880         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
881         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
882         cgraph_calls_p): Declare.
883         * invoke.texi (-funit-at-a-time): Document
884
885 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
886
887         * config/rs6000/spe.h: Fix misc formatting.
888         (__ev_create_ufix32_fs): Cast ev argument.
889         (__ev_create_sfix32_fs): Same.
890         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
891         (__ev_get_ufix32_fs_internal): Same.
892
893 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
894
895         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
896         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
897
898 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
899
900         * cpplib.c (do_include_common): Move warnings for
901         #include_next and #import out to callers.  Use early-return
902         instead of nested ifs.  Don't do check_eol here.
903         (parse_include): Do check_eol here with the rest of the
904         parsing stuff.
905         (do_include_next, do_import): Now handle warnings.
906
907 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
908
909         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
910
911 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
912
913         * predict.c (estimate_probability):  Fix roundoff error.
914
915 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
916
917         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
918         (two peephole2): New.
919
920 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
921
922         * config/h8300/h8300.md (several peephole2): Replace
923         find_regno_note with peep2_reg_dead_p.
924
925 2003-02-11  Richard Henderson  <rth@redhat.com>
926
927         * gcse.c (lookup_set): Remove unused argument PAT.  Update
928         both callers.
929
930 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
931
932         * diagnostic.c (real_abort): New.
933         (diagnostic_report_diagnostic): Call real_abort on error.
934         * diagnostic.h (diagnostic_abort_on_error): New.
935         (struct diagnostic_context): Add abort_on_error field.
936         * toplev.c (setup_core_dumping): New.
937         (decode_d_option): Handle 'H' case.
938         * doc/invoke.texi (Debugging Options): Document -dH.
939
940 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
941
942         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
943         which refers to obsolete directories.
944
945 2003-02-11  Richard Henderson  <rth@redhat.com>
946
947         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
948
949 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
950
951         * i386.c (contains_128bit_aligned_vector_p): New function.
952         (ix86_function_arg_boundary): Properly align vector modes.
953
954 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
955
956         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
957         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
958         as a SET pattern.
959
960 2003-02-11  Roger Sayle  <roger@eyesopen.com>
961
962         * builtins.c:  Fix failure caused by commiting wrong patch.
963
964 2003-02-11  Dale Johannesen  <dalej@apple.com>
965         * ra-build.c (compare_and_free_webs):  Relax checking.
966         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
967         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
968
969 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
970
971         PR optimization/9651
972         * rtlanal.c (may_trap_p): Handle FIX.
973
974 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
975
976         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
977         * doc/invoke.texi: Extra alias.
978
979 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
980
981         * config/rs6000/host-darwin.c: Fix comment.
982
983 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
984
985         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
986         predicate for mod result.
987
988 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
989
990         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
991         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
992         * fixincl.x: Rebuilt.
993         * tests/base/stdlib.h: Update.
994         * tests/base/ctype.h: New file.
995
996 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
997
998         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
999
1000 2003-02-11  Richard Henderson  <rth@redhat.com>
1001
1002         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1003         appropriated as globals.
1004         (ix86_expand_clrstr): Similarly.
1005         * config/i386/i386.md (cmpstrsi): Similarly.
1006
1007 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1008
1009         * config/h8300/h8300.md (a peephole2): Add a case of 255.
1010
1011 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1012
1013         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1014         (pow_optab, atan2_optab): Define corresponding macros.
1015         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1016         * genopinit.c (optabs): Implement pow_optab and atan2_optab
1017         using pow?f3 and atan2?f3 patterns.
1018         * builtins.c (expand_errno_check): New function to update errno
1019         if necessary, split out from expand_builtin_mathfn.
1020         (expand_builtin_mathfn): Use expand_errno_check.
1021         (expand_builtin_mathfn_2): New function to handle expanding binary
1022         math functions, reusing the code in expand_errno_check.
1023         (expand_builtin): Handle the pow and atan2 math built-ins,
1024         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1025         expand_builtin_mathfn_2.
1026
1027         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1028
1029 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
1030
1031         * combine.c (combine_simplify_rtx): Fix folding of
1032         nested float_truncates.
1033
1034 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1035
1036         * config/h8300/h8300.md (a peephole2): Fix a typo.
1037
1038 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
1039
1040         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1041         register number.
1042
1043 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1044
1045         * config/h8300/h8300-protos.h: Add a prototype for
1046         gtuleu_operator.
1047         * config/h8300/h8300.c (gtuleu_operator): New.
1048         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1049         * config/h8300/h8300.md (a peephole2): New.
1050
1051 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1052
1053         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1054
1055 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1056
1057         * predict.c (choose_function_section): Choose sections correctly.
1058
1059 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1060
1061         * reload1.c (first_label_num): New.
1062         (reload): Index offsets_known_at and offsets_at using difference of
1063         label number and first label number.  Don't use offset pointers.
1064         (set_label_offsets, set_initial_label_offsets): Likewise.
1065
1066 2003-02-10  Roger Sayle  <roger@eyesopen.com>
1067
1068         * mips-tfile.c (init_file): Add missing initializers in the
1069         "#ifdef __alpha" case.
1070         (file_offset, max_file_offset): Declare as unsigned long.
1071         (write_varray): Cast to "unsigned long" in comparisons against
1072         either file_offset or max_file_offset.
1073         (write_object): Likewise.
1074         (read_seek): Likewise.
1075         (copy_object): Likewise. Declare "ifd" as int to match its use
1076         in add_ext_symbol, and avoid signed/unsigned conditional warning.
1077
1078 2003-02-10  Nick Clifton  <nickc@redhat.com>
1079             Aldy Hernandez  <aldyh@redhat.com>
1080
1081         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1082         override options which have been specified on the command line.
1083
1084 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1085
1086         * config/h8300/h8300.md (abssf2): New.
1087         (*abssf2_h8300): Likewise.
1088         (*abssf2_h8300hs): Likewise.
1089
1090 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
1091
1092         * tree.c (build_tree_list):  Fix parameter names in comment.
1093
1094 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
1095
1096         * config/rs6000/ppc64-fp.c: New file.
1097         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1098
1099 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1100
1101         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
1102         * bb-reorder.c (make_reorder_chain): Deleted.
1103         (make_reorder_chain_1): Deleted.
1104         (find_traces): New function.
1105         (rotate_loop): New function.
1106         (mark_bb_visited): New function.
1107         (find_traces_1_round): New function.
1108         (copy_bb): New function.
1109         (bb_to_key): New function.
1110         (better_edge_p): New function.
1111         (connect_traces): New function.
1112         (copy_bb_p): New function.
1113         (get_uncond_jump_length): New function.
1114         (reorder_basic_blocks): Use new functions (Software Trace Cache).
1115         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1116         boundaries.
1117
1118 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
1119
1120         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1121
1122 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
1123
1124         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
1125         (DECL_LIVE_RANGE_RTL): Remove.
1126
1127 2003-02-10  Nick Clifton  <nickc@redhat.com>
1128
1129         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1130         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1131         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1132         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1133         config/arm/freebsd.h, config/arm/linux-elf.h,
1134         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1135         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1136         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1137         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1138         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1139         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1140         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1141         and reformat as appropriate.
1142
1143 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1144
1145         * config/h8300/clzsi2.c: Remove.
1146         * config/h8300/ctzsi2.c: Likewise.
1147         * config/h8300/paritysi2.c: Likewise.
1148         * config/h8300/popcountsi2.c: Likewise.
1149         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1150         ctzsi2, paritysi2, and popcountsi2.
1151
1152 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1153             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1154
1155         PR c/7741
1156         * c-decl.c (duplicate_decls): Discard the initializer of the
1157         new decl when the types are conflicting.
1158
1159 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1160
1161         * Makefile.in (sreal.o): Added.
1162         (predict.o): Depends on sreal.h instead of real.h.
1163         * sreal.c: New file.
1164         * sreal.h: New file.
1165         * predict.c: Use sreal.c instead of real.c.
1166
1167 2003-02-10  Nick Clifton  <nickc@redhat.com>
1168
1169         * Contributed support for the Cirrus EP9312 "Maverick"
1170         floating point co-processor.  Written by Aldy Hernandez
1171         <aldyh@redhat.com>.
1172         (config/arm/arm.c): Add Cirrus support.
1173         (config/arm/arm.h): Likewise.
1174         (config/arm/aout.h): Likewise.
1175         (config/arm/arm.md): Likewise.
1176         (config/arm/arm-protos.h): Likewise.
1177         (config.gcc): Likewise.
1178         (doc/invoke.texi): Describe new -mcpu value and new
1179         -mcirrus-fix-invalid-insns switch,
1180         (cirrus.md): New file.
1181
1182 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1183
1184         * combine.c (combine_simplify_rtx): Simplify using
1185         (float_truncate (float x)) is (float x)
1186         (float_extend (float_extend x)) is (float_extend x).
1187
1188 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
1189
1190         * calls.c (try_to_integrate): Tidy stack_usage_map access.
1191         (emit_library_call_value_1): Likewise.  Formatting.
1192         (store_one_arg): Likewise.
1193
1194 2003-02-09  Nick Clifton  <nickc@redhat.com>
1195             Aldy Hernandez  <aldyh@redhat.com>
1196
1197         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1198         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1199         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1200         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1201         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1202         docs.  Add range test for immediate value.
1203
1204 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
1205
1206         Rename spe_evxor to xorv2si3.
1207         (xorv4hi3): New.
1208         (xorv1di3): New.
1209
1210 2003-02-10  Glen Nakamura  <glen@imodulo.com>
1211
1212         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1213         tag.
1214
1215 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1216
1217         * i386.c (vector_move_operand): New predicate.
1218         (ix86_expand_vector_move): Be happy about 0.
1219         * i386.h (PREDICATE_CODES): Add sse-move_operand.
1220         * i386.md (mov*_internal): Add 'C' alternative.
1221
1222 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1223
1224         * i386.md (floathi*): Deal with SSE.
1225
1226 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1227
1228         * simplify-rtx.c (simplify_unary_operation,
1229         simplify_binary_operation):  Deal with vector modes
1230         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
1231
1232 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
1233
1234         * toplev.c (rest_of_compilation): Recompute register usage after
1235         split_all_insns.
1236
1237 2003-02-09  Richard Henderson  <rth@redhat.com>
1238
1239         * libgcc-std.ver (__clztf2): New.
1240         (__ctztf2, __popcounttf2, __paritytf2): New.
1241         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1242         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1243         adjust code to match the different type sizes.
1244         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1245         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1246
1247         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1248         TImode; select word_mode and twice that.
1249         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1250         select the modes from float, double, and long double.
1251         (init_optabs): Remove duplicate initializations.
1252
1253 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1254
1255         * doc/install.texi: Squeeze and streamline section on
1256         testing and regression checking.
1257
1258 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1259
1260         * i386.md (ahi?v*3): Set third operand type to TImode.
1261         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1262
1263         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1264         integer mode.
1265
1266         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1267         Change code so they are arithmetic expressions now.
1268         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1269         simplify_ternary_operation): Deal with VEC_* expressions.
1270
1271         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
1272
1273 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1274
1275         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
1276         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
1277         possibly got duplicated.
1278
1279 2003-02-08  Richard Henderson  <rth@redhat.com>
1280
1281         * config/alpha/alpha.c (override_options): Turn off explicit
1282         relocs until post-peep2 code duplication resolved.
1283
1284 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1285
1286         * optabs.c (expand_unop): Widen clz properly when clz is done
1287         via libcall.
1288
1289 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1290
1291         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1292         * config/h8300/crti.asm: Likewise.
1293         * config/h8300/crtn.asm: Likewise.
1294         * config/h8300/ctzsi2.c: Likewise.
1295         * config/h8300/fixunssfsi.c: Likewise.
1296         * config/h8300/h8300-protos.h: Likewise.
1297         * config/h8300/h8300.c: Likewise.
1298         * config/h8300/h8300.h: Likewise.
1299         * config/h8300/h8300.md: Likewise.
1300         * config/h8300/paritysi2.c: Likewise.
1301         * config/h8300/popcountsi2.c: Likewise.
1302         * config/h8300/rtems.h: Likewise.
1303
1304 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1305
1306         * doc/invoke.texi: Documentation for my previous commit.
1307         * doc/passes.texi: Ditto.
1308
1309 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1310
1311         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1312         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1313         Declare.
1314         (DLTHE_FLAG_UPDATE_FREQ): New.
1315         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1316         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1317         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1318         fix_bb_placement, fix_bb_placements, place_new_loop,
1319         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1320         New static functions.
1321         (fix_loop_placement, can_duplicate_loop_p,
1322         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1323         New functions.
1324
1325         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1326         unswitch_loops): Declare.
1327         * loop-init.c: New file.
1328         * loop-unswitch.c: New file.
1329         * Makefile.in (loop-init.o, loop-unswitch.o): New.
1330         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1331         * toplev.c (DFI_loop2): New dump.
1332         (flag_unswitch_loops): New.
1333         (lang_independent_options): Add it.
1334         (rest_of_compilation): Call new loop optimizer.
1335         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1336
1337 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1338
1339         * config/h8300/clzsi2.c: New.
1340         * config/h8300/ctzsi2.c: Likewise.
1341         * config/h8300/paritysi2.c: Likewise.
1342         * config/h8300/popcountsi2.c: Likewise.
1343         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
1344
1345 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
1346
1347         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
1348         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
1349         (ctzsi2): New pattern.
1350         (ffssi2): Use clz instead of unspec.
1351         (clzdi2): Rename from cntlzd2.
1352         (ctzdi2): New pattern.
1353         (ffsdi2): Use clz instead of unspec.
1354
1355 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
1356
1357         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
1358         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1359         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1360         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
1361
1362 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1363
1364         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
1365
1366 2003-02-07  Richard Henderson  <rth@redhat.com>
1367
1368         PR 9226
1369         * gcse.c (local_cprop_find_used_regs): New.
1370         (local_cprop_pass): Use it.
1371
1372 2003-02-07  Fred Fish  <fnf@intrinsity.com>
1373
1374         * mips-tfile.c (parse_def): Parenthesize assignments to fix
1375         precedence bugs.
1376
1377 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
1378
1379         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
1380
1381 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1382
1383         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
1384         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
1385         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
1386         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
1387         builtin functions (and their __builtin_* variants).
1388         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
1389         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
1390         when not optimizing.
1391
1392         * doc/extend.texi: Document new pow and atan2 builtins, and
1393         their float and long double variants.  Realphabetize builtins.
1394
1395 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
1396
1397         * i386.md (sse2_nandv2di3): Fix.
1398
1399 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
1400
1401         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
1402         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
1403         definition.
1404         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
1405         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
1406
1407 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1408
1409         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
1410
1411 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
1412
1413         * cfg.c (dump_flow_info): Add back accidently deleted line.
1414
1415 2003-02-07  Andrey Petrov <petrov@netbsd.org>
1416
1417         * optabs.c (expand_float): Search wider integer modes first.
1418
1419 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
1420
1421         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
1422         based on preprocessor flag.
1423
1424 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1425             Richard Henderson  <rth@redhat.com>
1426
1427         * gcse.c (implicit_sets): New.
1428         (compute_hash_table_work): Include them in hash table.
1429         (find_implicit_sets, fis_get_condition): New.
1430         (one_cprop_pass): Allocate and free implicit_sets; call
1431         find_implicit_sets before building hash table.
1432
1433 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1434
1435         * config/t-netbsd (USER_H): Revert previous change.
1436
1437 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1438
1439         * doc/c-tree.texi (Namespaces): Fix typo.
1440
1441 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1442
1443         * regrename.c (do_replace, find_oldest_value_reg,
1444         copyprop_hardreg_forward_1): Update register attributes.
1445
1446 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1447
1448         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1449         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1450         variables starting with underscore.
1451         (struct unit_usage): New structure.
1452         (unit_usages, cycle_alt_unit_usages): New global variables.
1453         (check_unit_distribution_in_reserv): Remove it.
1454         (store_alt_unit_usage): New function.
1455         (check_regexp_units_distribution): Rewrite it.
1456
1457 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1458
1459         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1460         target_cpu_default.
1461         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1462         if not MASK_NO_SPACE_REGS.
1463         (output_call): Adjust return pointer, don't load new space register
1464         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1465         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1466         TARGET_NO_SPACE_REGS is true.
1467         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1468         conditions.
1469         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1470         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1471         true.  Use bve when TARGET_64BIT is true.
1472
1473 2003-02-06  Richard Henderson  <rth@redhat.com>
1474
1475         * combine.c (nonzero_bits): Fix double break.
1476
1477 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1478             Richard Henderson <rth@redhat.com>
1479
1480         PR c/9530
1481         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1482         from functions that return a float to functions that don't.
1483
1484 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1485
1486         * i386.c (x86_inter_unit_moves): New variable.
1487         (ix86_secondary_memory_needed): Fix 64bit case, honor
1488         TARGET_INTER_UNIT_MOVES
1489         * i386.h (x86_inter_unit_moves): Declare.
1490         (TARGET_INTER_UNIT_MOVES): New macro.
1491         * i386.md (movsi_1): Cleanup constraints; disable
1492         when not doing inter-unit moves.
1493         (movsi_1_nointernunit): New.
1494         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1495         (movdi_1_rex64_nointerunit): New.
1496         (mivsf_1): disable when not doing inter-unit moves.
1497         (movsf_1_nointerunit): New.
1498
1499         * basic-block.h (inside_basic_block_p):  Declare.
1500         * cfgbuild.c (inside_basic_block_p): Make global.
1501         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1502         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1503         update CFG.
1504         (fix_basic_block_boundaries, add_missing_bbs): New.
1505         (rank): Use profile.
1506         (scheudle_ebbs): Rely on CFG; update coments.
1507
1508 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1509
1510         * Makefile.in (host_hook_obj): New.
1511         (OBJS): Add $(host_hook_obj).
1512         (host_default.o): New rule.
1513         * config.gcc (host_hook_obj): New, default to host-default.o.
1514         (powerpc-*-darwin*): Use host-darwin.o.
1515         (out_host_hook_obj): New.
1516         * configure: Regenerate.
1517         * configure.in: Print information about out_host_hook_obj, substitute
1518         into output files.
1519         * host-default.c: New file.
1520         * hosthooks.h: New file.
1521         * toplev.c (general_init): Call host_hooks.extra_signals.
1522         * config/rs6000/host-darwin.c: New file.
1523         * config/rs6000/x-darwin: New file.
1524         * doc/hostconfig.texi: Add documentation for new host hook.
1525         Rearrange existing documentation.
1526
1527 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1528
1529         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1530         with *targetm.delegitimize_address.
1531         (rtl_for_decl_location): Likewise.
1532         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1533         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1534
1535         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1536         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1537         prototype.
1538         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1539         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1540         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1541         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1542         (ix86_find_base_term): Likewise.
1543         (maybe_get_pool_constant): Likewise.
1544
1545         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1546         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1547         prototype.
1548         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1549         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1550         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1551
1552 2003-02-05  Richard Henderson  <rth@redhat.com>
1553
1554         PR c/8602
1555         * integrate.c (output_inline_function): Reset input_filename
1556         and lineno from the decl before rest_of_compilation.
1557
1558 2003-02-05  Richard Henderson  <rth@redhat.com>
1559
1560         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1561         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1562         * doc/rtl.texi, doc/tm.texi: Document them.
1563
1564         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1565         of the value at zero properly.
1566         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1567         * simplify-rtx.c (simplify_unary_operation): Likewise.
1568
1569         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1570         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1571
1572         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1573         (TARGET_EXPAND_BUILTIN): Remove.
1574         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1575         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1576         (enum arm_builtins): Remove.
1577         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1578         (clzsi2): Rename from clz; use clz instead of unspec.
1579         (ctzsi2): New.
1580         * config/arm/arm-protos.h: Update.
1581
1582 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1583
1584         * i386-protos.h (x86_emit_floatuns):  Declare.
1585         * i386.c (x86_emit_floatuns): New global function.
1586         * i386.md (floatunssisf2, floatunsdisf2,
1587         floatunsdidf2):  New patterns.
1588
1589 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1590
1591         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1592
1593 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1594
1595         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1596           config/ia64/linux.h
1597
1598 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1599
1600         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1601
1602 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1603
1604         PR optimization/8555
1605         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1606         instead of aborting.
1607
1608 2003-02-04  Richard Henderson  <rth@redhat.com>
1609
1610         * config/i386/i386.md (UNSPEC_BSF): Remove.
1611         (ffssi2): Split into cmove and no_cmove insns and splitters;
1612         lose pentium float trick for now.
1613         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1614         (ctzsi2, clzsi2, bsr): New.
1615
1616 2003-02-04  Richard Henderson  <rth@redhat.com>
1617
1618         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1619         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1620         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1621         (ffsdi2): Use popcount instead of unspec.
1622         (popcountdi2): Rename from *popcnt.
1623         (ctzdi2, clzdi2, getf_exp_tf): New.
1624
1625 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1626
1627         * genconfig.c (main): Generate CC0_P.
1628         * rtl.h (CC0_P): Remove.
1629
1630 2003-02-04  Richard Henderson  <rth@redhat.com>
1631
1632         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1633         (__ffsDI2): Rename from __ffsdi2.
1634         * mklibgcc.in (lib2funcs): Add _ffssi2.
1635
1636 2003-02-04  Richard Henderson  <rth@redhat.com>
1637
1638         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1639         rounds with a "bit table" lookup.
1640
1641 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1642
1643         * reload.c (find_reloads): Do not use the mode specified in the insn
1644         pattern as reload mode for address operands.  Do not generate optional
1645         reloads for operands where a mandatory reload was already pushed.
1646
1647 2003-02-04  Richard Henderson  <rth@redhat.com>
1648
1649         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1650         builtins instead of inline assembly.
1651
1652 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1653
1654         PR c/9376
1655         * libgcc2.c (__subvdi3): Fix typo.
1656
1657 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1658
1659         * i386.md (movti_rex64):  Fix constraint.
1660
1661 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1662
1663         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1664
1665 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1666
1667         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1668
1669 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
1670
1671         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
1672         for recent libstdc++.  Remove formatting cruft.
1673
1674 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
1675
1676         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1677         attribute even if input file name is absolute, but one of the
1678         includes is relative.
1679
1680 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1681
1682         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1683         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1684         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
1685
1686 2003-02-03  Richard Henderson  <rth@redhat.com>
1687
1688         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1689         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1690         return type to "int".  Shuffle declarations and undef int trap.
1691         * libgcc2.h: Remove their declarations.
1692         * optabs.c (expand_unop): Force outmode to int for bitops.
1693
1694 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
1695
1696         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1697         coprocessor registers before floating-point registers.
1698         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1699         to account for a previously removed register.
1700         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1701         Delete unused macros.
1702
1703 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1704
1705         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
1706         (mov*_internal): Fix predicates; require one of operands to not be
1707         memory.
1708         (SSE?MMX move expanders):  Fix predicates; force one of operands to
1709         register.
1710         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1711         (movups/movupd/movdqu patterns): Force one of operands to not be
1712         memory.
1713
1714 2002-02-03  Roger Sayle  <roger@eyesopen.com>
1715
1716         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1717         takes a single rtx and returns it unmodified.
1718         * hooks.h (hook_rtx_rtx_identity): Prototype here.
1719         * target.h (struct gcc_target): Add "delegitimize_address"
1720         field to target structure.
1721         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
1722         for delegitimize_address target using hook_rtx_rtx_identity.
1723         (TARGET_INITIALIZER): Initialize delegitimize_address field
1724         using TARGET_DELEGITIMIZE_ADDRESS macro.
1725         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1726         extensions of constant pool references.  Use delegitimize_address
1727         to undo the obfuscation of "-fpic".
1728         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1729
1730         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1731         i386_simplify_dwarf_addr.
1732         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1733         (maybe_get_pool_constant): Likewise.
1734
1735 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1736
1737         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
1738
1739 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1740
1741         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1742
1743 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1744
1745         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
1746         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
1747
1748 2003-02-02  Andreas Schwab  <schwab@suse.de>
1749
1750         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1751
1752 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
1753
1754         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1755         (epilogue_insns): Likewise.
1756
1757 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1758
1759         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1760
1761 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1762
1763         * pa-protos.h (attr_length_millicode_call): Remove second argument.
1764         (attr_length_indirect_call, attr_length_indirect_call,
1765         attr_length_save_restore_dltp): New prototypes.
1766         * pa.c (attr_length_millicode_call): Remove second argument.  Check
1767         INSN_ADDRESSES_SET_P in distance calculation.
1768         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1769         INSN_ADDRESSES.
1770         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1771         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1772         Call attr_length_call directly.
1773         (attr_length_indirect_call, output_indirect_call,
1774         attr_length_save_restore_dltp): New functions.
1775         * pa.md (attr_length_millicode_call): Drop second argument from all
1776         patterns.
1777         (return_internal_pic): Delete.
1778         (return_external_pic): Remove use of PIC register and pic operand and
1779         flag checks.
1780         (epilogue): Use return_internal for both normal and pic code.
1781         (call, call_value): Emit new 32-bit pic patterns for symref and
1782         indirect calls.  Remove uses for arg pointer and pic register.
1783         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1784         call_reg_pic_post_reload, call_val_symref_pic,
1785         call_val_symref_pic_post_reload, call_val_reg_pic,
1786         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1787         Implement define_split and define_peephole2 patterns for pre reload
1788         patterns.
1789         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1790         call_value_internal_reg_64bit): Shorten names.
1791         (all call patterns): Explicitly indicate registers used and clobbered.
1792         Use attr_length_indirect_call and attr_length_save_restore_dltp for
1793         attribute length calculation.  Move code generation for indirect calls
1794         to output_indirect_call.
1795         (sibcall, sibcall_value): Don't restore PIC register.
1796         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1797         register retore.
1798
1799 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1800
1801         * doc/install.texi (Testing): Simplify and compress instructions
1802         concerning Dejagnu.
1803
1804 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1805
1806         * collect2.c (pexecute_pid): Rename to pid.
1807         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1808         pid.
1809
1810 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
1811
1812         * doc/extend.texi (Function Attributes): Remove documentation
1813         for PowerPC Windows NT function attributes..
1814
1815 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
1816
1817         * dwarf2out.c (gen_type_die): Check for typedefs before calling
1818         for TYPE_MAIN_VARIANT.
1819
1820 2003-02-01  Richard Henderson  <rth@redhat.com>
1821
1822         * libgcc2.c: Include auto-host.h.
1823         (ATTRIBUTE_HIDDEN): New.
1824         (__clz_tab): Don't declare here for clz and ctz.
1825         (__clzsi2, __clzdi2): Use count_leading_zeros.
1826         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1827         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1828         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1829         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1830
1831 2003-02-01  Richard Henderson  <rth@redhat.com>
1832
1833         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1834         to the conditional.
1835         (ashlsi3_1_zext splitter): Likewise.
1836
1837 2003-02-01  Richard Henderson  <rth@redhat.com>
1838
1839         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1840         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1841         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1842         return type to Wtype.
1843
1844         * libgcc-std.ver (GCC_3.4): Fix inheritance.
1845
1846         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1847         expander input constraint.
1848
1849 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1850
1851         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1852         OTI_parity.
1853         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1854         * optabs.c (widen_clz, expand_parity): New.
1855         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
1856         for libcalls to clz, ctz, popcount, and parity.
1857         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1858         parity_optab, and set up libfunc handlers.
1859         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1860         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1861         __popcount_tab): New.
1862         * libgcc2.h: Declare them.
1863         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1864         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1865         and parity_optab.
1866         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1867         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1868         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1869         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1870         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1871         BUILT_IN_PARITYLL): New.
1872         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1873         and add optab argument.
1874         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1875         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1876         * expr.c (expand_expr): Handle them.
1877         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1878         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1879         * reload1.c (eliminate_regs): Handle them.
1880         (elimination_effects): Likewise.
1881         * function.c (instantiate_virtual_regs_1): Likewise
1882         * genattrtab.c (check_attr_value): Likewise.
1883         * simplify-rtx.c (simplify_unary_operation): Likewise.
1884         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1885         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1886         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1887         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1888         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1889         __builtin_arm_clz.
1890         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1891         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
1892         * doc/extend.texi (Other Builtins): Add new builtins.
1893         * doc/md.texi (Standard Names): Add new patterns.
1894
1895 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
1896
1897         * reload.c: Revert 2003-01-31 change.
1898
1899 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1900
1901         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
1902
1903 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
1904
1905         * flags.h (flag_volatile): Remove declaration.
1906         (flag_volatile_global, flag_volatile_static): Likewise.
1907         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1908         * toplev.c (flag_volatile): Remove definition.
1909         (flag_volatile_global, flag_volatile_static): Likewise.
1910         (f_options): Remove corresponding entries here.
1911         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1912         or flag_volatile_static.
1913         * doc/invoke.texi: Remove documentation of -fvolatile,
1914         -fvolatile-global and -fvolatile-static.
1915
1916 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1917
1918         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1919         updating of total_code_bytes from prologue to epilogue.
1920
1921 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
1922
1923         * reload.c (find_reloads): Do not use the mode specified in the insn
1924         pattern as reload mode for address operands.  Do not generate optional
1925         reloads for operands where a mandatory reload was already pushed.
1926         Generate optional reloads only in the final pass though find_reloads.
1927         (have_replacement_p): New function.
1928
1929 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1930
1931         * doc/install.texi (Testing): Remove a reference to our obsolete
1932         /testresults web pages and strip redundant information concerning
1933         test results.
1934         (Binaries): Refer to Microsoft Windows instead of listing all
1935         possible variants.
1936
1937 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
1938
1939         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
1940         RTL chain.
1941
1942         * combine.c (simplify_set): Reverse order of ragumetns to
1943         REG_CANNOT_CHANGE_MODE_P
1944         * df.c (df_def_record_1): Likewise.
1945         * recog.c (register_operand): Likewise.
1946         * simplify-rtx.c (simplify_subreg): Likewise.
1947         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1948         CANNOT_CHANGE_MODE_CLASS.
1949         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1950         Likewise.
1951         * reload.c (push_reload): Likewise.
1952         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1953         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1954         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1955         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1956         * mips.c (mips_cannot_change_mode_class): Update.
1957         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1958         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1959         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1960         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1961         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1962         * sh.c (sh_cannot_change_mode_class): Update.
1963         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1964         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1965
1966 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
1967
1968         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1969         change to LINK_COMMAND_SPEC in gcc.c.
1970
1971 2003-01-31  Jan Hubicka  <jh@suse.cz>
1972
1973         PR c/9506
1974         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1975
1976 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1977
1978         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1979         duplicated code.
1980
1981 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
1982
1983         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1984         (BINFO_ELTS): New #define.
1985         * stor-layout.c (finalize_record_size): Don't set them.
1986         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1987         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1988         (BINFO_LANG_ELTS): New #define.
1989         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1990         * java/class.c (make_class): Use BINFO_ELTS.
1991         (set_super_info): Likewse.
1992         (add_interface_do): Likewise.
1993         * objc/objc-act.c (start_class): Use BINFO_ELTS.
1994
1995 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1996
1997         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1998         (times): Don't ever declare if not HAVE_TIMES.
1999         (clock): Don't ever declare if not HAVE_CLOCK.
2000
2001 2003-01-30  Richard Henderson  <rth@redhat.com>
2002
2003         * flow.c (update_life_info): Zap life info after cleanup_cfg.
2004         (regno_uninitialized): Use correct live at function entry set.
2005         (regno_clobbered_at_setjmp): Likewise.
2006
2007         * expr.c (store_expr): Promote all MEM intermediates to regs.
2008
2009 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2010
2011         * config/arm/arm.c: Fix comment typos.
2012         * config/arm/arm.h: Likewise.
2013         * config/arm/netbsd-elf.h: Likewise.
2014         * config/arm/netbsd.h: Likewise.
2015
2016 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
2017
2018         * gengtype.c (struct walk_type_data): Add needs_cast_p.
2019         (walk_type): Set needs_cast_p in walk_type_data.
2020         (write_types_process_field): Supply casts when required to suppress
2021         warnings.
2022         (write_root): Cast gt_pch_n_S to suppress warning.
2023         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
2024         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2025         when they might exist.
2026         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2027         insn-conditions.o, and rs6000.o.
2028
2029 2003-01-30  Richard Henderson  <rth@redhat.com>
2030
2031         * ggc-page.c (G.context_depth_allocations): New.
2032         (G.context_depth_collections): New.
2033         (alloc_page): Set G.context_depth_allocations.
2034         (ggc_collect): Set G.context_depth_collections.
2035         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2036         (ggc_pop_context): Early exit for no allocations or collections.
2037
2038 2003-01-30  Richard Henderson  <rth@redhat.com>
2039
2040         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2041
2042 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
2043
2044         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2045         size, the link register is always saved if any other register is
2046         saved.
2047
2048 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2049
2050         * config/h8300/h8300-protos.h: Update the prototype for
2051         compute_plussi_cc.
2052         (cpp_reader): Declare before it is used.
2053         * config/h8300/h8300.c (compute_plussi_cc): Change the return
2054         type to int.
2055         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2056         see an unknown H8 variant.
2057
2058 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2059
2060         PR target/9316
2061         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2062         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2063         * config/rs6000/t-rtems: New file. multilib variants to match OS.
2064         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2065         rs6000/t-ppcgas so we get the desired multilibs.
2066
2067 2003-01-30  Nick Clifton  <nickc@redhat.com>
2068
2069         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2070         when popping saved IP register off the stack.
2071
2072 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2073
2074         * config/rs6000/aix43.h: Fix comment typos.
2075         * config/rs6000/aix51.h: Likewise.
2076         * config/rs6000/aix52.h: Likewise.
2077         * config/rs6000/altivec.h: Likewise.
2078         * config/rs6000/rs6000.c: Likewise.
2079         * config/rs6000/rs6000.h: Likewise.
2080         * config/rs6000/rs6000.md: Likewise.
2081         * config/rs6000/spe.md: Likewise.
2082
2083 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
2084
2085         * c-common.c (builtin_define_float_constants): Define
2086         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2087
2088 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2089
2090         * config/sh/lib1funcs.asm: Fix comment typos.
2091         * config/sh/linux.h: Likewise.
2092         * config/sh/sh.c: Likewise.
2093         * config/sh/sh.md: Likewise.
2094
2095 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2096
2097         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2098
2099 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
2100
2101         * config/fp-bit.h (__make_dp): Declare if TMODES.
2102
2103 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2104
2105         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2106         general_operand_src and general_operand_dst.
2107
2108 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
2109
2110         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2111         Return true for variable sized types.
2112         (rs6000_va_arg): Handle variable sized types passed by reference
2113         on non-SVR4 ABI.
2114
2115 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
2116
2117         * arm.c (arm_legtimize_address): New function.
2118         * arm-protos.h (arm_legtimize_address): Add prototype.
2119         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2120         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2121         do ... while (0)
2122
2123 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2124
2125         PR bootstrap/9296
2126         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
2127         depended on it being defined until now.
2128
2129 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2130
2131         PR target/9295
2132         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2133         RTEMS code knows which C++ initialization style the toolset
2134         configuration is using.
2135
2136 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2137
2138         PR bootstrap/9293
2139         * config/m68k/t-crtstuff: Replace spaces with tabs, add
2140          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2141
2142 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2143
2144         PR bootstrap/9292
2145         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
2146         RTEMS threads.
2147         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
2148
2149 2003-01-29  Nick Clifton  <nickc@redhat.com>
2150
2151         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2152         not $(srcdir).
2153
2154 2003-01-29  Andrew Haley  <aph@redhat.com>
2155
2156         * tree-inline.c (walk_tree): Add CHAR_TYPE.
2157
2158 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2159
2160         * i386.md (subdi3_carry_rex64): Fix typo.
2161
2162 2003-01-28  Stan Shebs  <shebs@apple.com>
2163
2164         * coretypes.h (cpp_reader): Forward declare struct.
2165         * c-pragma.h (cpp_reader): Remove forward declaration.
2166         * hashtable.h (cpp_reader): Likewise.
2167         * scan.h (cpp_reader): Likewise.
2168         * tree.h (cpp_reader): Likewise.
2169         * config/darwin-protos.h (cpp_reader): Likewise.
2170         * config/arm/arm-protos.h (cpp_reader): Likewise.
2171         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2172         struct cpp_reader in prototypes.
2173
2174 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2175
2176         * doc/install.texi: Add documentation for installation into
2177         tooldirs and with DESTDIR.
2178
2179 2003-01-28  Richard Henderson  <rth@redhat.com>
2180
2181         * config.gcc (ia64*-*-aix*): Remove.
2182         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2183         * config/ia64/unwind-aix.c: Remove file.
2184
2185 2003-01-28  Andreas Schwab  <schwab@suse.de>
2186
2187         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2188         register.
2189         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2190         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2191         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2192         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2193         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2194         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2195         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
2196
2197 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2198
2199         * combine.c (nonzero_bits): Fix check for negative divide operands.
2200
2201 2003-01-28  Richard Henderson  <rth@redhat.com>
2202
2203         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2204         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2205
2206 2003-01-28  Richard Henderson  <rth@redhat.com>
2207
2208         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2209
2210         * config/cris/cris.c (cris_address_cost): Make static.
2211         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2212         * config/cris/cris.h (ADDRESS_COST): Remove.
2213         * config/cris/cris-protos.h: Update.
2214
2215 2003-01-23  Mike Stump  <mrs@apple.com>
2216
2217         * regclass.c (init_reg_autoinc): New function.
2218         (regclass): Move initialization of forbidden_inc_dec_class from
2219         here...
2220         (init_regs): to here.  Avoids reinitialization for each function,
2221         saving compilation time.
2222
2223 2003-01-28  Jason Merrill  <jason@redhat.com>
2224
2225         * cpplib.h (struct cpp_options): Add warn_deprecated field.
2226         * cppinit.c (cpp_create_reader): Turn it on by default.
2227         * c-opts.c (c_common_decode_option): Set it.
2228         * cpplib.c (do_pragma_once): Only complain about #pragma once
2229         if warn_deprecated is set.
2230
2231 2003-01-28  Dale Johannesen  <dalej@apple.com>
2232
2233         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
2234         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
2235         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
2236
2237 2003-01-28  Richard Henderson  <rth@redhat.com>
2238
2239         * target.h (targetm.address_cost): New.
2240         * target-def.h (TARGET_ADDRESS_COST): New.
2241         (TARGET_RTX_COSTS): Uncomment.  Oops.
2242         * cse.c (address_cost): Use new target hook.
2243         (default_address_cost): New.
2244         * output.h (default_address_cost): Declare.
2245         * hooks.c (hook_int_rtx_0): New.
2246         * hooks.h (hook_int_rtx_0): Declare.
2247         * loop.c (combine_givs_p): Remove if 0 code.
2248         * system.h (ADDRESS_COST): Poison.
2249
2250         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2251         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2252         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2253         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2254         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2255         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2256         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2257         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2258         (ADDRESS_COST): Remove.
2259
2260         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2261         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2262         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2263         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2264         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2265         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2266         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2267         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
2268         config/mips/mips.c, config/mips/mips.h,
2269         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2270         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
2271         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2272         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2273         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2274         config/vax/vax.c, config/vax/vax.h
2275         (foo_address_cost): Make static.
2276         (TARGET_ADDRESS_COST): New.
2277         (ADDRESS_COST): Remove.
2278
2279         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2280         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2281         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2282         config/stormy16/stormy16.h
2283         (ADDRESS_COST): Move code ...
2284         (foo_address_cost): ... here.
2285         (TARGET_ADDRESS_COST): New.
2286
2287         * config/m32r/m32r.c (m32r_address_cost): Remove.
2288         * config/m32r/m32r-protos.h: Update.
2289
2290         * config/mmix/mmix.c (mmix_address_cost): Remove.
2291         * config/mmix/mmix-protos.h: Update.
2292
2293         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2294         mn10300_address_cost; move unsig allocation ...
2295         (mn10300_address_cost): ... here.
2296         (TARGET_ADDRESS_COST): New.
2297         * config/mn10300/mn10300-protos.h: Update.
2298         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2299
2300         * doc/tm.texi: Update.
2301
2302 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2303
2304         * haifa-sched.c (schedule_insn): Return necessary cycle advance
2305         after issuing the insn.
2306         (rank_for_schedule): Make a insn with /S the highest priority
2307         insn.
2308         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
2309         (choose_ready): Check SCHED_GROUP_P.
2310         (schedule_block): Advance cycle after issuing insn if it is
2311         necessary.  Don't reorder insns if there is an insn with /S.
2312         (set_priorities): Ignore schedule groups.
2313
2314         * sched-deps.c (remove_dependence, group_leader): Remove the
2315         functions.
2316         (add_dependence): Ignore schedule groups.
2317         (set_sched_group_p): Don't make copy of dependencies from previous
2318         insn of the schedule group.  Add anti-dependency to the previous
2319         insn of the schedule group.
2320         (compute_forward_dependences): Ignore schedule groups.
2321
2322         * sched-ebb.c (init_ready_list): Ignore schedule groups.
2323
2324         * sched-rgn.c (init_ready_list): Ditto.
2325         (can_schedule_ready_p): Ditto.
2326
2327 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2328
2329         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2330         register to another one.
2331
2332 2003-01-28  Richard Henderson  <rth@redhat.com>
2333
2334         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2335
2336 2003-01-28  Roger Sayle  <roger@eyesopen.com>
2337
2338         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2339
2340 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2341
2342         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
2343         class contains a floating-point register, return the size of the
2344         mode in half words.
2345
2346 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2347
2348         * i386.c (ix86_carry_flag_operator):  New predicate.
2349         (fcmov_operator): Fix whitespace.
2350         (ix86_expand_carry_flag_compare):  Deal with floating point.
2351         (ix86_expand_int_movcc): Deal with fp; update insn expansion
2352         (ix86_expand_int_addcc): Likewise.
2353         (ix86_expand_strlensi_unroll_1): likewsie.
2354         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
2355         * i386.md (add?i_carry_rex64): Use new predicate.
2356         (sub?i3_carry_rex64): Likewise.
2357         (x86_mov?icc_0_m1*): Likewise.
2358
2359 2003-01-28  Andreas Schwab  <schwab@suse.de>
2360
2361         * cfgloopmanip.c (create_preheader): Initialize src to avoid
2362         warning.
2363
2364         * expmed.c (emit_store_flag): Fix cast to avoid sign
2365         comparison warning.
2366
2367         * combine.c (force_to_mode): Add cast to fix warning when
2368         STORE_FLAG_VALUE is negative.
2369
2370 2003-01-27  Richard Henderson  <rth@redhat.com>
2371
2372         * Makefile.in (cse.o): Depend on TARGET_H.
2373         * cse.c (rtx_cost): Use targetm.rtx_costs.
2374         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
2375         * doc/tm.texi: Update.
2376
2377         * target.h (targetm.rtx_costs): New.
2378         * target-def.h (TARGET_RTX_COSTS): New.
2379         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
2380         * hooks.h: Update.
2381
2382         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
2383         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
2384         * config/alpha/alpha.h (PROCESSOR_MAX): New.
2385         (CONST_COSTS, RTX_COSTS): Remove.
2386
2387         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
2388         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
2389         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
2390         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
2391         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2392         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
2393         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
2394         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
2395         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
2396         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
2397         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
2398         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
2399         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
2400         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
2401         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
2402         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
2403         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2404         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
2405         config/v850/v850.c, config/v850/v850.h,
2406         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2407         (CONST_COSTS, RTX_COSTS): Move code ...
2408         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
2409
2410         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
2411         (arm_rtx_costs, TARGET_RTX_COSTS): New.
2412         * config/arm/arm-protos.h: Update.
2413         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
2414
2415         * config/avr/avr.h (CONST_COSTS): Move code ...
2416         * config/avr/avr.c (avr_rtx_costs): ... here.
2417         (default_rtx_costs): Make static.
2418         * config/avr/avr-protos.h: Update.
2419
2420         * config/h8300/h8300.c (const_costs): Make static.
2421         (h8300_and_costs, h8300_shift_costs): Likewise.
2422         * config/h8300/h8300-protos.h: Update.
2423
2424         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2425         (CONST_COSTS): Move code ...
2426         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2427         default_rtx_costs; update for signature change.
2428         * config/ip2k/ip2k-protos.h: Update.
2429
2430         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2431         (CONST_COSTS): Move code ...
2432         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2433         (TARGET_RTX_COSTS): New.
2434         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2435         * config/m68hc11/m68hc11-protos.h: Update.
2436
2437         * config/m68k/m68k.c (const_int_cost): Make static.
2438         * config/m68k/m68k-protos.h: Update.
2439
2440         * config/mcore/mcore.c (mcore_const_costs): Make static.
2441         (mcore_and_cost, mcore_ior_cost): Likewise.
2442         * config/mcore/mcore-protos.h: Update.
2443
2444         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2445         (mmix_rtx_cost_recalculated): Remove.
2446         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2447         * config/mmix/mmix-protos.h: Update.
2448
2449         * config/sh/sh.c (shiftcosts): Make static.
2450         (addsubcosts, andcosts, multcosts): Likewise.
2451         * config/sh/sh-protos.h: Update.
2452
2453         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2454         (sparc_rtx_costs): Make static; update for change in signature.
2455         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2456         * config/sparc/sparc-protos.h: Update.
2457
2458         * config/v850/v850.c (const_costs): Make static.
2459         * config/v850/v850-protos.h: Update.
2460
2461         * config/vax/vax.h (RTX_COSTS): Remove.
2462         (CONST_COSTS): Move code ...
2463         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2464         from vax_rtx_cost.
2465         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2466
2467 2003-01-27  Richard Henderson  <rth@redhat.com>
2468
2469         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2470         * config/vax/vax-protos.h: Update.  Really.
2471
2472 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2473
2474         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2475         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2476         zero if no hardware floating point.
2477         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2478         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2479         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2480         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2481         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2482         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2483         even FP registers on N32 and N64.
2484         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2485         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2486         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2487         even-register-like alignment to 128-bit arguments.
2488         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2489         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2490         on N32 or N64.
2491         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2492         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2493         (TPBIT): Set to tp-bit.c.
2494         (tp-bit.c): Create out of fp-bit.c.
2495
2496 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2497
2498         * c-parse.in: Remove '%expect 32' directive in objc mode.
2499
2500 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2501
2502         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2503         (LIBGCOV): New variable.
2504         (libgcc.mk): Add LIBGCOV.
2505         (LIBGCC_DEPS): Add libgcov.c.
2506         (libgcov.a): New target.
2507         (clean): Remove libgcov.a.
2508         (install-libgcc): Do libgcov too.
2509         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2510         with libgcov.a.
2511         * libgcc2.c (L_gcov): Move into ...
2512         * libgcov.c: ... here. New file.
2513         * mklibgcc.in: Add libgcov rules.
2514         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2515
2516         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2517         clarify.
2518
2519         * profile.c (index_counts_file): Remove duplicate check for open file.
2520
2521 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2522
2523         * gcc/doc/invoke.texi (Optimization Options): Group together
2524         optional and experimental flags.  Move trapv and bounds-check
2525         out of this section.  Group floating point flags together.
2526         (Code Gen Options): Move trapv and bounds-check to here.
2527
2528 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2529
2530         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2531
2532 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2533
2534         PR optimization/9090
2535         * function.c (purge_addressof_1): After pushing an addressed register
2536         onto the stack, simplify the result.
2537
2538 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2539
2540         * doc/extend.texi: Fix typo.
2541
2542 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2543
2544         * doc/cppopts.texi: Fix typo.
2545         * doc/objc.texi: Likewise.
2546         * doc/passes.texi: Likewise.
2547
2548 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2549
2550         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2551         (encode_ibm_extended): Adjust.
2552
2553 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2554
2555         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2556         timevar_id enumerations.
2557
2558 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2559
2560         * combine.c: Fix formatting.
2561
2562 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2563
2564         * doc/gccint.texi: Update the copyright.
2565
2566 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2567
2568         * doc/cpp.texi: Fix typos.
2569         * doc/extend.texi: Likewise.
2570         * doc/gty.texi: Likewise.
2571         * doc/install.texi: Likewise.
2572         * doc/passes.texi: Likewise.
2573         * doc/rtl.texi: Likewise.
2574         * doc/tm.texi: Likewise.
2575
2576 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2577
2578         * config/ia64/fde-glibc.c: Fix comment typos.
2579         * config/ia64/hpux.h: Likewise.
2580         * config/ia64/ia64.c: Likewise.
2581         * config/ia64/ia64.h: Likewise.
2582         * config/ia64/unwind-ia64.c: Likewise.
2583
2584 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2585
2586         * config/i386/i386-modes.def: Fix comment typos.
2587         * config/i386/i386.c: Likewise.
2588         * config/i386/i386.md: Likewise.
2589
2590 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2591
2592         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2593         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2594         ASM_FINISH_DECLARE_OBJECT before defining it.
2595         * toplev.c (rest_of_decl_compilation):  Don't define
2596         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2597         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2598         parameters for DWARF2 targets because they _are_ used.
2599
2600 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2601
2602         * fp-bit.h: Define macros for TFmode floating-point constants
2603         in IBM-extended TFmode types.
2604         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2605         widths.
2606         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2607         TFmode type.
2608
2609         * config/fp-bit.h: Define macros for TFmode floating-point
2610         constants in IEEE quad TFmode type.  Declare functions according
2611         to L_ macros.
2612         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2613         (TFtype, TItype, UTItype): Define if TMODES is defined.
2614         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2615         (F_T_BITOFF, D_T_BITOFF): Define.
2616         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2617         guaranteed to be wide enough.
2618         * config/fp-bit.c: Check for L_ macros for tf functions.
2619         (__thenan_tf): New.
2620         (nan): Adjust.
2621         (pack_d, unpack_d): Support IEEE 854 quad type.
2622         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2623         from FRAC_NBITS, FRAC_BITS and NGARDS.
2624         (usi_to_float): Cast constants to be shifted to fractype
2625         instead of assuming long long is wide enough.
2626         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2627
2628 2003-01-26  Andreas Jaeger  <aj@suse.de>
2629
2630         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2631
2632 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2633
2634         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2635         (DBBIT_FUNCS): Added _df_to_tf.
2636         (TPBIT_FUNCS): New.
2637         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2638         (LIBGCC_DEPS): Added TPBIT.
2639         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2640
2641         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2642         been able to move the result to target.
2643
2644         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2645         for the appropriate mode.
2646
2647         * calls.c (emit_library_call_value_1): Handle return values
2648         in a PARALLEL.
2649
2650         * rtl.c (get_mode_alignment): Moved to...
2651         * stor-layout.c: ... here.
2652
2653         * print-rtl.c (print_rtx): Don't print MEM details in
2654         GENERATOR_FILEs.
2655
2656 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2657
2658         * df.h: Update comments, tidy formatting.
2659         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2660         REVERSE, UNION, INTERSECTION.  All uses updated.
2661         (OLD_DF_INTERFACE): Remove.
2662         (struct insn_info): Remove commented out insn field.
2663         * df.c: Update comments, tidy formatting.
2664         (df_def_table_realloc): Remove.
2665
2666
2667 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
2668
2669         * calls.c (save_fixed_argument_area): Tidy.
2670         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
2671         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
2672         call chain loop at 1 if !try_tail_call.  Formatting.
2673         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2674         Use save_fixed_argument_area and restore_fixed_argument_area.
2675
2676 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2677
2678         * df.c (df_uses_record): Handle CC0.
2679
2680 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2681
2682         * reload.c (maybe_memory_address_p): New function.
2683         (find_reloads_address): Use it instead of memory_address_p.
2684
2685 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2686
2687         * final.c (shorten_branches): Align the address of code label
2688         when computing initial lengths and addresses.
2689
2690 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2691
2692         * config/m68hc11/m68hc11.md: Fix a comment typo.
2693
2694 2003-01-25  Andreas Jaeger  <aj@suse.de>
2695
2696         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2697         TARGET_MACHO.
2698
2699 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2700
2701         * gcse.c (bypass_last_basic_block): New global variable.
2702         (bypass_block):  Use redirect_edge_and_branch_force to redirect
2703         fall-through edges.  Use bypass_last_basic_block to determine
2704         which blocks have valid PRE information.
2705         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2706
2707 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2708
2709         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2710
2711 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2712                               Eric Botcazou <ebotcazou@libertysurf.fr>
2713         PR opt/8492
2714         * gcse.c (one_cprop_pass): Delete unreachable blocks.
2715
2716 2003-01-25  Richard Henderson  <rth@redhat.com>
2717
2718         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2719         from ia64_aix_select_rtx_section.
2720         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2721         instead of saving and restoring flag_pic.
2722         (ia64_rwreloc_unique_section): Similarly.
2723         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2724         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2725         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2726         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2727
2728 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2729
2730         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2731         comment.
2732
2733 2002-01-25  Richard Henderson  <rth@redhat.com>
2734
2735         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2736
2737 2002-01-25  Kelley Cook <kelleycook@comcast.net>
2738
2739         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2740
2741 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
2742
2743         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2744         type for bitmaps.  Use unsigned long.
2745         (nBITMAP_WORD_BITS): New macro.
2746         (BITMAP_WORD_BITS): New macro.
2747         (rest of file): Use it.
2748         * bitmap.c: Use it.
2749
2750 2003-01-25  Richard Henderson  <rth@redhat.com>
2751
2752         2002-02-19  Robert Lipe  <robertlipe@usa.net>
2753         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2754
2755 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2756
2757         * builtins.c (purge_builtin_constant_p): Scan insn stream
2758         sequentially rather than by basic block.
2759         * function.c (purge_addressof): Simplify test with INSN_P.
2760
2761 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2762
2763         * combine.c (simplify_comparison, case AND): Remove a redundant test.
2764
2765 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2766
2767         * function.h (struct function): New field calls_constant_p.
2768         (current_function_calls_constant_p): New macro for above.
2769         * function.c (prepare_function_start): Initialize calls_eh_return
2770         and calls_constant_p.
2771         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2772         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2773         when the current_function_calls_constant_p.
2774         * integrate.c (expand_inline_function): Set calls_constant_p if
2775         the function being inlined has calls_constant_p set.
2776
2777 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2778
2779         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2780         optimizing, even if flag_gcse is true.
2781         * toplev.c (rest_of_compilation): purge_builtin_constant_p
2782         only needs to be called when "optimize > 0 && flag_gcse".
2783
2784 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2785
2786         * stmt.c (emit_case_bit_tests): New routine to implement suitable
2787         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2788         (case_bit_test_cmp): New comparison function for "qsort" to order
2789         case_bit_tests by decreasing number of destination nodes.
2790         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2791         (expand_end_case_type): Use emit_case_bit_tests to implement
2792         suitable switch statments.
2793         (CASE_USE_BIT_TESTS): New target macro to disable the above.
2794         * Makefile.in (stmt.o): Add dependency on optab.h.
2795         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2796
2797 2003-01-23  Andreas Schwab  <schwab@suse.de>
2798
2799         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2800         __do_global_ctors_aux hidden global and don't put it in
2801         .init_array.
2802         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2803         instead so that it comes first.
2804
2805 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2806
2807         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
2808         subreg is read/modify.
2809
2810 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
2811
2812         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2813         do libcall for large blocks.
2814         * i386.md (comi patterns): Set type to ssecomi.
2815         (sse2_unpck?pd): Fix mode of vec_select.
2816
2817         * cse.c: Include except.h
2818         (cse_set_around_loop):  Do not create new basic blocks.
2819         * Makefile.in (cse.o): Add dependnecy on except.h
2820
2821 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2822
2823         * builtins.c (fold_trunc_transparent_mathfn): New function.
2824         (fold_builtin): Use it.
2825         * convert.c (convert_to_real): Re-enable code to convert
2826         math functions; add support for floor familly functions.
2827
2828 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2829
2830         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2831         dependencies on coretypes.h and $(TM_H).
2832
2833 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
2834
2835         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
2836
2837 2002-01-24  Stuart Hastings  <stuart@apple.com>
2838
2839         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
2840
2841 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2842
2843         * config/c4x/c4x.md (UNSPEC_BU): New constants.
2844         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2845         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2846         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2847         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
2848         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
2849         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
2850         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
2851
2852 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2853
2854         * emit-rtl.c (reg_attrs_htab): New static variable.
2855         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2856         functions.
2857         (reg_rtx): Do not maintain regno_decl.
2858         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2859         set_mem_attrs_from_reg): New global function.
2860         (init_emit): Do not initialize regno_decl.
2861         (init_emit_once): initialize reg_attrs_htab.
2862         * final.c (alter_subreg): Do not replace REG by SUBREG.
2863         (gen_mem_expr_from_op): Improve output.
2864         (output_asm_operands): Likewise.
2865         * function.c (assign_params): Do not set REGNO_DECL.
2866         * function.h (struct function): Kill regno_decl.
2867         (REGNO_DECL): Kill.
2868         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2869         * print_rtl.c (print_rtx): Output REG information.
2870         * regclass.c (reg_scan_mark_refs): Update attrs.
2871         * reload1.c (alter_reg): Likewise.
2872         * simplify_rtx.c (simplify_subreg): Likewise.
2873         * stmt.c (expand_decl): Likewise.
2874         * rtl.def (REG): Add new field.
2875         * rtl.h (struct reg_attrs): New.
2876         (rtunion_def): At rtreg.
2877         (X0MEMATTR): Add checking.
2878         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2879         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2880         Declare.
2881         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2882
2883 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2884
2885         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2886         (xtensa_emit_call, print_operand): Fix printf format strings
2887         to avoid compile warnings.
2888         (xtensa_function_prologue, xtensa_function_epilogue): Change type
2889         of "size" argument to HOST_WIDE_INT to fix compile warnings.
2890         * config/xtensa/xtensa-protos.h
2891         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2892
2893 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
2894
2895         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2896         (implicit_built_in_decls): New global array.
2897         (mathfn_built_in): New global function.
2898         (fold_trunc_transparent_mathfn): New static function
2899         (expand_builtin_strstr, expand_bultin_strchr,
2900         expand_builtin_strpbrk, expand_builtin_strcpy,
2901         expand_builtin_strncpy, expand_bultin_strcmp,
2902         expand_bultin_strncat, expand_builtin_fputs): Use
2903         implicint_built_in_decls.
2904         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2905         * builtins.def: Fix comments.
2906         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2907         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2908         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2909         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2910         (DEF_C99_C90RES_BULTIN): New.
2911         (*f, *l builtins): Update.
2912         * c-common.c (DEF_BUILTIN): Initialize implicit array.
2913         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2914         * convert.c (strip_float_extensions): New global function.
2915         * tree.h (DEF_BUILTIN): Accept 10 arguments.
2916         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2917         Declare.
2918         * java/builtins.c (define_builtin): Handle implicit.
2919         (DEF_BUILTIN): Update.
2920         * tm.texi (TARGET_C99_FUNCTIONS): Document.
2921         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2922         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2923         when using glibc2.
2924
2925 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2926
2927         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2928         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
2929         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2930         * config/xtensa/crti.asm: New file.
2931         * config/xtensa/crtn.asm: New file.
2932         * config/xtensa/t-elf: New file.
2933         * config/xtensa/t-linux: New file.
2934         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2935         Move various CFLAGS settings to new t-elf file.
2936
2937 2003-01-24  Richard Henderson  <rth@redhat.com>
2938
2939         PR optimization/4382
2940         * tree-inline.c (find_builtin_longjmp_call_1): New.
2941         (find_builtin_longjmp_call): New.
2942         (inlinable_function_p): Use it.
2943
2944 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2945
2946         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2947         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2948         * config/i386/i386.c (function_arg_pass_by_reference): New.
2949         (ix86_va_arg): Support arguments passed by reference.
2950
2951 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2952
2953         * cfgloopanal.c: New file.
2954         * cfgloopmanip.c: New file.
2955         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2956         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2957         cfglayout.o): Add dependency on cfgloop.h.
2958         (cfgloop.o): Add flags.h dependency.
2959         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2960         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2961         (struct loop, struct loops, flow_loops_find, flow_loops_update,
2962         flow_loops_free, flow_loops_dump, flow_loop_dump,
2963         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2964         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2965         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2966         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2967         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2968         find_common_loop, verify_loop_structure): Declarations moved to ...
2969         * cfgloop.h: New file.
2970         * bb-reorder.c (reorder_basic_blocks): Modified.
2971         * cfglayout.c: Include cfgloop.h.
2972         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2973         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2974         (break_superblocks): New static function.
2975         (cfg_layout_finalize): Use it.
2976         (cfg_layout_split_block): New function.
2977         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2978         fields.
2979         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2980         changed.
2981         (cfg_layout_split_block): Declare.
2982         * cfgloop.c: Include cfgloop.h and flags.h.
2983         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2984         get_loop_body): Avoid signed versus unsigned comparison warnings.
2985         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2986         loop_latch_edge): Modified.
2987         (verify_loop_structure): Modified to use flags stored in loop structure;
2988         check irreducible loops.
2989         (cancel_loop, cancel_loop_tree): New functions.
2990         (estimate_probability): Use loop analysis code for predictions.
2991         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
2992         warnings.
2993         * doloop.c: Include cfgloop.h.
2994         * loop.c: Include cfgloop.h.
2995         * predict.c: Include cfgloop.h.
2996         * toplev.c: Include cfgloop.h.
2997         * unroll.c: Include cfgloop.h.
2998         * tracer.c (tracer): Modified.
2999
3000 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3001
3002         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3003
3004 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
3005
3006         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3007         * configure: Regenerate.
3008
3009         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3010         (tls_symbolic_reference_mentioned_p): Add prototype.
3011         (s390_tls_get_offset): Add prototype.
3012         (emit_pic_move): Remove prototype, replace by ...
3013         (emit_symbolic_move): .. this new prototype.
3014
3015         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3016         (tls_model_chars): New global variable.
3017         (s390_encode_section_info): Encode TLS model.
3018         Use targetm.binds_local_p to check for local symbols.
3019         (s390_strip_name_encoding): New function.
3020         (TARGET_STRIP_NAME_ENCODING): Define.
3021
3022         (get_thread_pointer): New function.
3023         (legitimize_tls_address): New function.
3024         (legitimize_address): Call it.
3025         (emit_pic_move): Remove, replace by ...
3026         (emit_symbolic_move): ... this new function.
3027
3028         (larl_operand): Handle TLS operands.
3029         (legitimate_constant_p): Likewise.
3030         (s390_decompose_address): Likewise.
3031         (s390_cannot_force_const_mem): New function.
3032         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3033
3034         (s390_output_symbolic_const): Handle TLS unspecs.
3035         (print_operand): New code 'J'.
3036         (machine_function): Add struct member 'some_ld_name'.
3037         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3038
3039         (enum s390_builtin): New type.
3040         (code_for_builtin_64, code_for_builtin_31): New global variables.
3041         (s390_init_builtins, s390_expand_builtin): New functions.
3042         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3043
3044         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3045         (ASM_OUTPUT_LABELREF): Define.
3046         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3047
3048         * config/s390/s390.md: Define TLS UNSPEC constants.
3049         ("movdi", "movsi"): Handle TLS operands.
3050         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3051         ("*tls_load_64", "*tls_load_31"): New insns.
3052         ("call_value_tls", "call_value_tls_exp"): New expanders.
3053         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
3054         "bas_tls_64", "bas_tls_31"): New insns.
3055
3056 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
3057
3058         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3059         spe ABI is configured, if requested.
3060
3061 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3062
3063         * doc/passes.texi: Fix typo.
3064
3065 2003-01-24  Andreas Schwab  <schwab@suse.de>
3066
3067         * stor-layout.c (excess_unit_span): Only define if used.
3068
3069 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
3070
3071         * gcc/doc/invoke.texi (Optimization Options): List -O levels
3072         for each optimization flag.
3073
3074 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3075
3076         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3077
3078 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3079
3080         * doc/bugreport.texi: Use @command instead of @code for commands.
3081         * doc/collect2.texi: Likewise.
3082         * doc/headerdirs.texi: Likewise.
3083         * doc/invoke.texi: Likewise.
3084         * doc/standards.texi: Likewise.
3085         * doc/tm.texi: Likewise.
3086         * doc/trouble.texi: Likewise.
3087
3088 2003-01-24  Nick Clifton  <nickc@redhat.com>
3089
3090         * config/arm/arm.c (use_return_insn): Do not use a single return
3091         instruction for interrupt handelrs which have to create a stack
3092         frame.
3093         (arm_expand_prologue): Do not pre-bias the return address of
3094         interrupt handlers which create a stack frame.
3095
3096 2003-01-24  Nick Clifton  <nickc@redhat.com>
3097
3098         * Add sh2e support:
3099
3100         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
3101
3102                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3103                 med_cbranches.  Fix logic in short_cbranches.
3104
3105         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
3106
3107                 * config/sh/sh.md (delay for cbranch): Don't annul delay
3108                 slots on SH2e.
3109                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3110                 cbranch with unfilled delay slot on SH2e.
3111                 (output_branch): Fill with a nop the delay slot of a
3112                 branch that required a delay slot but didn't get one.
3113
3114         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
3115
3116                 * doc/invoke.texi (SH options): Document -m2e.
3117                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3118                 * config/sh/lib1funcs.asm: Likewise.
3119                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3120                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3121                 not __sh1__.
3122                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3123                 SH2E up.
3124                 (SH3E_BIT): Renamed to...
3125                 (SH_E_BIT): ... this.  Replace all uses.
3126                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3127                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3128                 (TARGET_SWITCHES): Added 2e.
3129                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3130                 (processor_type): Added PROCESSOR_SH2E.
3131                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3132                 TARGET_SH2E, except in sqrtsf2_i.
3133                 (attribute cpu): Added sh2e.
3134                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3135                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3136                 * config.gcc: Add sh2e target support.
3137
3138 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
3139
3140         Rename -W to -Wextra.
3141         * c-decl.c:  Update comments.
3142         * c-typeck.c:  Likewise.
3143         * flags.h:  Likewise.
3144         * function.c:  Likewise.
3145         * stmt.c:  Likewise.
3146         * toplev.c:  Update comments.
3147         (W_options):  Add 'extra'.
3148         (display_help):  Remove '-W'.
3149         (decode_W_option):  Special warn_uninitialized treatment in the case
3150         of -Wextra.
3151         * doc/invoke.texi:  Update with new entries.
3152
3153 2003-01-23  Richard Henderson  <rth@redhat.com>
3154
3155         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3156         in no-else-block case.  Add commentary.
3157
3158 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3159
3160         * configure.in: Revert last change.
3161
3162 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3163
3164         * configure.in: Don't include ansidecl.h in tconfig.h.
3165         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3166         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3167         ATTRIBUTE_UNUSED.
3168
3169         * configure: Regenerate.
3170
3171 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3172
3173         PR java/6748
3174         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3175         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3176         kernels.
3177
3178 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3179
3180         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3181
3182 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
3183
3184         * genattrtab.c (write_attr_get): Mark 'insn' paramter
3185         as ATTRIBUTE_UNUSED.
3186
3187 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
3188
3189         * arm.c (thumb_base_register_rtx_p): New function.
3190         (thumb_index_register_rtx_p): New function.
3191         (thumb_legitimate_address_p): New function.
3192         (thumb_legitimate_offset_p): New function.
3193         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
3194         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
3195         definitions.
3196         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3197         (THUMB_LEGITIMATE_OFFSET): Delte.
3198         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3199         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3200         (thumb_legitimate_offset_p): Likewise.
3201
3202 2003-01-23  Andreas Schwab  <schwab@suse.de>
3203
3204         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3205
3206 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3207
3208         * fixinc/Makefile.in (FL_LIST): Revert last change.
3209
3210 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3211
3212         PR other/7341
3213         * invoke.texi (ftest-coverage): Fix broken cross-reference.
3214         Change @code to @command for gcov command.
3215
3216         * gcc.texi: Adjust title of gcov section.
3217         Adjust copyright.
3218         * gcov.texi: Likewise.
3219
3220 2003-01-22  Roger Sayle  <roger@eyesopen.com>
3221
3222         PR optimization/8423
3223         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3224         its argument is constant, or 0 if !flag_gcse.
3225         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3226         if it's argument is constant.
3227         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3228         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3229         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3230         * builtins.c (purge_builtin_constant_p): New function to force
3231         instantiation of any remaining CONSTANT_P_RTX nodes.
3232         * rtl.h (purge_builtin_constant_p): Prototype here.
3233         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3234         pass after GCSE and before loop.
3235         (flag_gcse): No longer static.
3236         * flags.h (flag_gcse): Prototype here.
3237
3238 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3239
3240         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3241         introduced by last change.
3242
3243 2003-01-22  Andreas Schwab  <schwab@suse.de>
3244
3245         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3246
3247 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3248
3249         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3250         request a scratch reg on H8S when the shift count is 8.
3251
3252 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3253
3254         * config/s390/s390-protos.h (preferred_la_operand_p):
3255         Remove second parameter.
3256         * config/s390/s390.c (preferred_la_operand_p): Likewise.
3257         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3258         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3259         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3260         Add peepholes to transform ADD to LOAD ADDRESS.
3261
3262 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
3263
3264         * arm.c (arm_address_register_rtx_p): New function.
3265         (arm_legitimate_address_p): New function.
3266         (arm_legitimate_index_p): New function.
3267         (legitimize_pic_address): Use arm_legitimate_index_p.
3268         * arm-protos.h (arm_legtimate_address_p): Add prototype.
3269         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3270         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3271
3272 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
3273
3274         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3275         * config/s390/2064.md (define_bypass): Correct 'Load' and
3276         'Load-address' bypass values.
3277
3278 2003-01-22  Andreas Schwab  <schwab@suse.de>
3279
3280         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3281
3282 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3283
3284         * genautomata.c (output_internal_insn_latency_func,
3285         output_print_reservation_func): Short circuit when there is no
3286         automaton to generate code for.
3287
3288 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3289
3290         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3291         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3292
3293 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
3294
3295         * config/rs6000/rs6000.md: Remove warning.
3296         (builtin_setjmp_receiver): Likewise.
3297         * config/darwin.c (update_stubs): Slightly improve terrible hack
3298         with identifiers.  Add comment pointing out problems with it.
3299         (update_non_lazy_ptrs): Likewise.
3300
3301 2003-01-21  Richard Henderson  <rth@redhat.com>
3302
3303         * dwarf2out.c (lookup_filename): Fix printf format warning.
3304         * system.h (fread_unlocked, fwrite_unlocked): Undef.
3305
3306         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3307         (fixincl.o-warn, gnu-regex.o-warn): New.
3308         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3309         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3310         * fixinc/fixincl.c (process): Fix printf format warning.
3311
3312 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3313
3314         * dwarf2out (output_file_names): Don't crash if called
3315         with empty file_table.
3316
3317 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3318
3319         * genautomata.c (output_internal_insn_latency_func): Add
3320         missing break statement to generated code.
3321
3322 2003-01-21  Roger Sayle  <roger@eyesopen.com>
3323
3324         * stmt.c (same_case_target_p): New function to determine whether
3325         two case labels branch to the same target.  Split out from...
3326         (group_case_nodes): ... here.  Use same_case_target_p instead.
3327         (strip_default_case_nodes): Remove explicit case nodes
3328         that branch to the default destination.
3329         (expand_end_case_type): Call strip_default_case_nodes after
3330         group_case_nodes, to simplify the case-list before we count it.
3331         Only generate table_label RTX when actually needed.  Try to share
3332         thiscase->exit_label and thiscase->data.case_stmt.default_label
3333         when a switch has no explicit default case.  Simplify test for
3334         constant index.
3335
3336 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3337
3338         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
3339         \t.
3340         (*negsf2_h8300hs): Likewise.
3341         (*addsi3_lshiftrt_16_zexthi): Likewise.
3342         (*iorhi3_lshiftrt_8): Likewise.
3343
3344 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3345
3346         * dwarf2out.c (fde_table_in_use): Mark GTY.
3347         (dwarf2out_cfi_label_num): New variable, marked GTY.
3348         (dwarf2out_cfi_label): Use it instead of static label_num.
3349         * emit-rtl.c (label_num): Mark GTY.
3350
3351 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3352
3353         * config/h8300/h8300.c (output_plussi): Support H8/300.
3354         (compute_plussi_length): Likewise.
3355         (compute_plussi_cc): Likewise.
3356         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
3357         output assembly instructions.
3358
3359 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3360
3361         * calls.c (fix_unsafe_tree): Prototype.
3362
3363         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
3364         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
3365         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
3366         c-parse.o-warn): Add -Wno-error.
3367         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
3368
3369         * configure.in (--enable-werror): Add new flag.
3370         * doc/install.texi (--enable-werror): Document.
3371         * configure: Regenerate.
3372
3373         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
3374
3375 2003-01-21  Andreas Schwab  <schwab@suse.de>
3376
3377         * genautomata.c (output_internal_insn_latency_func): Fix missing
3378         close paren in output.
3379
3380 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3381
3382         * genautomata.c: Space savings in generated code:
3383         (output_dfa_insn_code_func): Split out the table-enlargement
3384         path to an out-of-line static function, dfa_insn_code_enlarge.
3385         (output_internal_insn_latency_func): Use a lookup table for the
3386         default latencies.
3387         (output_print_reservation_func): Use a lookup table for the
3388         strings.
3389
3390 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3391
3392         PR opt/7507
3393         * calls.c (fix_unsafe_tree): Split out from ...
3394         (expand_call): ... here.  Use it on the function address too.
3395
3396 2003-01-20  Richard Henderson  <rth@redhat.com>
3397
3398         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
3399
3400 2003-01-20  Richard Henderson  <rth@redhat.com>
3401
3402         PR opt/7154
3403         * stmt.c (expand_asm_operands): Validize memory operands.
3404
3405 2003-01-20  Richard Henderson  <rth@redhat.com>
3406
3407         PR opt/8848
3408         * ifcvt.c (noce_process_if_block): Correct arguments to
3409         modified_between_p for no-else-block case.
3410
3411 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3412
3413         * config/h8300/h8300.c (const_costs): Remove a warning.
3414         (output_plussi): Likewise.
3415         (compute_plussi_length): Likewise.
3416         (compute_plussi_cc): Likewise.
3417
3418 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3419
3420         * config/h8300/h8300.md (addsi_h8300): Remove the last
3421         alternative.
3422
3423 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3424
3425         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3426
3427 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3428
3429         * system.h (__NO_STRING_INLINES): Define.
3430
3431 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3432
3433         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3434         is not a scalar int mode.
3435
3436 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3437
3438         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3439         insn's notes following a substitution inside a libcall.
3440
3441 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3442
3443         * configure.in: Check for system-provided 'uchar' type.
3444         * configure, config.in: Regenerate.
3445         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3446
3447 2003-01-20  Richard Henderson  <rth@redhat.com>
3448
3449         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3450         * calls.c (default_must_pass_in_stack): ... here.
3451
3452 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3453
3454         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3455
3456         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3457
3458         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3459         Wrap up definition of `insn_alts'.
3460
3461         * genattrtab.c (main): Wrap up `insn_alts'.
3462
3463 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3464
3465         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3466         prototyping.
3467         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3468
3469         * config.in, configure: Regenerate.
3470
3471 2003-01-20  Nick Clifton  <nickc@redhat.com>
3472
3473         * config/arm/arm.md (sibcall_epilogue): Add an
3474         UNSPEC_PROLOGUE_USE to prevent the link register from being
3475         considered dead.
3476
3477 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3478
3479         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3480
3481 2003-01-20  Andreas Schwab  <schwab@suse.de>
3482
3483         * system.h: Don't declare strsignal if the decl test hasn't been
3484         run yet.
3485
3486 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3487
3488         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3489         recog_data.operands[0] is always associated with cc0.
3490
3491 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3492
3493         * collect2.c (ldgetname): Expand declaration to prototype.
3494         * read-rtl.c (atoll): Add prototype.
3495         * system.h (strsignal): Also declare if no declaration found.
3496
3497 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3498
3499         * config.gcc (mips64*-*-linux*): Added.
3500         * config/mips/linux64.h, config/mips/t-linux64: New file.
3501         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3502         * config/mips/mips.c (override_options): Use it.
3503         * config/mips/mips.h (TARGET_SWITCHES): Added...
3504         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3505         * Makefile.in (SPECS): New.
3506         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3507         * gcc.c (process_command): Move self-spec processing past spec
3508         file loading.
3509         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3510         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3511         CRTSTUFF_T_CFLAGS.
3512         (SPECS): Document.
3513         * doc/invoke.texi (-mabi-fake-default): Document.
3514
3515 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3516
3517         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3518         z_reg, z_reg_qi): Declare static and GTY().
3519         (da_reg): Remove.
3520         (create_regs_rtx): Don't create da_reg.
3521         ("gt-m68hc11.h"): Include for GTY roots.
3522         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3523         and GTY() here.
3524         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3525         (m68hc11_soft_tmp_reg): Likewise.
3526         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3527
3528 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3529
3530         * basic-block.h: Fix comment formatting.
3531         * calls.c: Likewise.
3532         * combine.c: Likewise.
3533         * convert.c: Likewise.
3534         * gcov.c: Likewise.
3535         * haifa-sched.c: Likewise.
3536         * libgcc2.c: Likewise.
3537         * loop.c: Likewise.
3538         * profile.c: Likewise.
3539         * system.h: Likewise.
3540
3541 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3542
3543         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3544
3545 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3546
3547         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3548
3549 2003-01-17  Dale Johannesen  <dalej@apple.com>
3550
3551         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3552           (*floatunssidf2_internal):  Ditto.
3553
3554 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3555
3556         * alias.c: Fix comment typos.
3557         * basic-block.h: Likewise.
3558         * c-common.c: Likewise.
3559         * c-common.h: Likewise.
3560         * c-decl.c: Likewise.
3561         * c-opts.c: Likewise.
3562         * c-pragma.c: Likewise.
3563         * c-pretty-print.h: Likewise.
3564         * cfg.c: Likewise.
3565         * cfganal.c: Likewise.
3566         * cfgbuild.c: Likewise.
3567         * cfgcleanup.c: Likewise.
3568         * cfglayout.c: Likewise.
3569         * cfgrtl.c: Likewise.
3570         * convert.c: Likewise.
3571         * cpphash.h: Likewise.
3572         * cpplex.c: Likewise.
3573         * cpplib.h: Likewise.
3574         * df.h: Likewise.
3575         * diagnostic.c: Likewise.
3576         * diagnostic.h: Likewise.
3577         * dwarf2.h: Likewise.
3578
3579 2003-01-17  Stan Shebs  <shebs@apple.com>
3580
3581         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3582
3583 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3584
3585         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3586         mistake in last checkin.
3587
3588 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3589
3590         * et-forest.c: Fix comment typos.
3591         * et-forest.h: Likewise.
3592         * except.c: Likewise.
3593         * expr.c: Likewise.
3594         * flags.h: Likewise.
3595         * flow.c: Likewise.
3596         * gcc.c: Likewise.
3597         * gcse.c: Likewise.
3598         * genattrtab.c: Likewise.
3599         * genautomata.c: Likewise.
3600         * gengtype.c: Likewise.
3601         * genrecog.c: Likewise.
3602         * global.c: Likewise.
3603         * gthr-rtems.h: Likewise.
3604
3605 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3606
3607         * i386.c (x86_function_profiler): Fix format specifier.
3608
3609 2003-01-17  Richard Henderson  <rth@redhat.com>
3610
3611         * gengtype.c (walk_type): Allow paramN_is.
3612
3613 2003-01-17  Nick Clifton  <nickc@redhat.com>
3614
3615         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3616
3617 2003-01-16  Richard Henderson  <rth@redhat.com>
3618
3619         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3620
3621 2003-01-16  Richard Henderson  <rth@redhat.com>
3622
3623         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3624         (alpha_next_sequence_number): Likewise.
3625         (alpha_this_literal_sequence_number): Likewise.
3626         (alpha_this_gpdisp_sequence_number): Likewise.
3627         (struct alpha_funcs, alpha_funcs_num): Likewise.
3628         (struct alpha_links): Fix branch merge error.
3629         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3630
3631 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3632
3633         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3634         R. Ghazi.
3635
3636 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3637
3638         * ifcvt.c: Fix comment typos.
3639         * lcm.c: Likewise.
3640         * libgcc2.c: Likewise.
3641         * local-alloc.c: Likewise.
3642         * loop.c: Likewise.
3643         * predict.c: Likewise.
3644         * ra-build.c: Likewise.
3645         * ra.c: Likewise.
3646         * ra-colorize.c: Likewise.
3647         * ra.h: Likewise.
3648         * ra-rewrite.c: Likewise.
3649         * regmove.c: Likewise.
3650         * reload.h: Likewise.
3651         * rtlanal.c: Likewise.
3652         * toplev.c: Likewise.
3653         * tree.h: Likewise.
3654         * unwind-dw2-fde-glibc.c: Likewise.
3655         * vmsdbgout.c: Likewise.
3656
3657 2003-01-16  Richard Henderson  <rth@redhat.com>
3658
3659         * dwarf2out.c (struct file_table): Remove.
3660         (FILE_TABLE_INCREMENT): Remove.
3661         (file_table): Make a varray; mark for GC.  Update all users.
3662         (file_table_last_lookup_index): Extract from struct file_table.
3663         (output_file_names): Fix unsigned compare warnings.
3664         (add_name_attribute): Remove inline marker.
3665         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3666         (lookup_filename): Don't manage size of file_table.
3667         (init_file_table): Allocate file_table with GC.
3668         (dwarf2out_init): Don't record main_input_filename here.
3669         (dwarf2out_finish): Do it here instead.
3670
3671 2003-01-16  Bruce Korb  <bkorb@gnu.org>
3672
3673         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3674
3675 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
3676
3677         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3678         instead of rotldi3_mextr.
3679
3680 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
3681
3682         * haifa-sched.c (move_insn): Restore moving all schedule group.
3683         (set_priorities): Restore taking SCHED_GROUP_P into account.
3684
3685         * sched-deps.c (add_dependence): Restore processing the last group
3686         insn.
3687         (remove_dependence, group_leader): Restore the functions.
3688         (set_sched_group_p): Restore adding dependencies from previous insn
3689         in the group.
3690         (compute_forward_dependences): Restore usage of group_leader.
3691
3692         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3693         account.
3694
3695         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3696         account.
3697         (can_schedule_ready_p): Ditto.
3698         (add_branch_dependences): Restore skipping over the group insns.
3699
3700 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3701
3702         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3703         68HC12 pre/post inc/dec side effects.
3704
3705 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3706
3707         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3708
3709 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
3710
3711         * sh.md (mshflo_w_x): Fix description of operation.
3712
3713 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
3714
3715         * config/rs6000/rs6000.h: Mention Altivec registers in
3716         commentary.  Fix typo.
3717
3718 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
3719
3720         * config/rs6000/rs6000.md (movti_string): Remove clobber.
3721         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3722         generate PARALLEL with clobber for TARGET_POWER.
3723
3724 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3725
3726         * ra-colorize.c (colorize_one_web): Initialize variable.
3727         * regmove.c (fixup_match_1): Likewise.
3728         * reload1.c (reload_as_needed): Likewise.
3729         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3730
3731 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3732
3733         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3734
3735 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3736
3737         * dbxout.c (lastfile, cwd): Fix `unused' warning.
3738         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3739         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3740         is_main_source, file_table, decl_die_table_in_use,
3741         abbrev_die_table_in_use, line_info_table_in_use,
3742         separate_line_info_table_in_use, pubname_table_in_use,
3743         arange_table_in_use, ranges_table_in_use,
3744         current_function_has_inlines): Likewise.
3745         * flow.c (life_analysis): Likewise.
3746         * genemit.c (gen_insn): Likewise.
3747         * protoize.c (cplus_suffix): Likewise.
3748
3749         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3750         * arm.h (ROUND_UP_WORD): Likewise.
3751
3752         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3753         warning.
3754         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3755         init_emit_once): Likewise.
3756         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3757         Likewise.
3758         * function.c (assign_stack_temp_for_type): Likewise.
3759         * loop.c (loop_invariant_p): Likewise.
3760         * recog.c (push_operand): Likewise.
3761         * regclass.c (init_reg_sets_1): Likewise.
3762         * reload.c (update_auto_inc_notes): Likewise.
3763         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3764         * stmt.c (expand_asm_operands): Likewise.
3765         * stor-layout.c (start_record_layout): Likewise.
3766
3767 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3768
3769         * config/c4x/c4x.md (epilogue): Correct last patch.
3770
3771 2003-01-15  Richard Henderson  <rth@redhat.com>
3772
3773         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3774         also check that GP is being used.
3775         (alpha_find_lo_sum_using_gp): New.
3776         (alpha_does_function_need_gp): Use get_attr_usegp.
3777         * config/alpha/alpha-protos.h: Update.
3778         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
3779         as needed.
3780
3781 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3782
3783         * gcse.c (one_cprop_pass): Change function arguments to take both
3784         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3785         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3786         (bypass_jumps): New function to perform separate jump bypassing pass.
3787         * rtl.h (bypass_jumps): Add function prototype.
3788         * timevar.def (TV_BYPASS): New timing variable.
3789         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3790         (dump_file): New entry for the bypass RTL dump file.
3791         (rest_of_compilation): Insert new jump bypassing optimization
3792         pass after loop.
3793         * doc/passes.texi: Document new pass.
3794
3795 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3796
3797         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3798         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3799         * pa.h (TARGET_SOM_SDEF): Define.
3800         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3801
3802 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3803
3804         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
3805         allocate 4-bytes of locals on 68HC11.
3806         (expand_epilogue): Likewise.
3807         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3808
3809 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3810
3811         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3812         and -mshort-double to the assembler to specify the ABI.
3813         (LINK_SPEC): Likewise.
3814         (CPP_SPEC): Pass HCS12 specific define.
3815         (MASK_M68S12): New define.
3816         (TARGET_M68S12): Likewise.
3817         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3818         (TARGET_VERSION): Update.
3819         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3820         (LINK_SPEC): Update.
3821         (ASM_SPEC): Update.
3822         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3823         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3824
3825 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3826
3827         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3828         the return code.
3829
3830 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3831
3832         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3833         flag before setting it.
3834
3835 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3836
3837         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
3838         when loop condition is known true, i.e.  "while (1) { ... }".
3839         (genrtl_for_stmt): Similarly for "for" statements.
3840
3841 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3842
3843         * real.c (real_sqrt): Return a bool result indicating whether
3844         a floating point exception or trap should be raised.
3845         * real.h (real_sqrt): Update function prototype.
3846         * builtins.c (fold_builtin): Only fold non-trapping square
3847         roots unless we're ignoring errno and trapping math.
3848
3849 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
3850
3851         * expr.h (emit_conditional_add): Add PARAMS to declaration.
3852         * gengtype-lex.l (malloc, realloc): Move defines after include of
3853         system.h.  Remove duplicate include of system.h.
3854
3855 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3856
3857         PR middle-end/9009
3858         * optabs.c (expand_unop):  When manipulating the FP sign bit
3859         using integer operations, account for targets with different
3860         integer and FP word orders.
3861         (expand_abs): Likewise.
3862
3863 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
3864
3865         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3866         file extension in section name.
3867
3868 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3869
3870         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3871         constant offset.
3872
3873 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3874
3875         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3876         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3877         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3878         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3879
3880 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
3881
3882         PR f/9258
3883         * global.c (struct allocno): Add no_stack_reg.
3884         (global_conflicts): Set no_stack_reg.
3885         (find_reg): Use it.
3886
3887         * convert.c (convert_to_real): Fold - and abs only when profitable.
3888         * fold-const.c (fold): Fold truncates in - and abs.
3889
3890 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3891
3892         Segher Boessenkool  <segher@koffie.nl>
3893
3894         * predict.c (real_inv_br_prob_base): New variable.
3895         (propagate_freq): Use multiply by reciprocal instead of
3896         division.  Don't divide by 1.0 at all.
3897         (estimate_bb_frequencies): Similar.
3898
3899 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3900
3901         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3902         * configure: Rebuilt.
3903
3904 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
3905
3906         * config/s390/s390.c (s390_safe_attr_type): New function.
3907         (s390_use_dfa_pipeline_interface): New function, return true for z900.
3908         (s390_issue_rate): New function.
3909         (s390_agen_dep_p): New function.
3910         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3911         (s390_adjust_cost): Return 'cost' if new DFA is used.
3912         (s390_adjust_priority): Delete function.
3913         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3914         * config/s390/s390.md (atype attribute): Attribute 'atype' default
3915         determined by 'op_type'.
3916         (type attribute): Added more type attributes.
3917         * config/s390/2064.md: New DFA description for z900 pipeline.
3918
3919 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3920
3921         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3922         forced to memory.  Fixes PR bootstrap/9036.
3923
3924         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3925         to set $gp before the call.
3926
3927 2003-01-14  Richard Henderson  <rth@redhat.com>
3928
3929         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3930         for force_const_mem.
3931
3932 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3933
3934         * genattr.c (main): Rearrange output to avoid prototype warning.
3935         * genautomata.c (transform_3): Fix ambiguous-else warning.
3936         * local-alloc.c (requires_inout): Add parentheses around
3937         assignment used as truth-value.
3938         * timevar.c: Move system includes above local includes.  Include
3939         toplev.h
3940         * Makefile.in (timevar.o): Depend on toplev.h.
3941
3942 2003-01-14  Denis Chertykov  <denisc@overta.ru>
3943
3944         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3945         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3946
3947         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
3948         attributes.
3949         (TARGET_ATTRIBUTE_TABLE): New macro.
3950         (valid_machine_type_attribute): Remove.
3951         (valid_machine_decl_attribute): Remove.
3952         (ip2k_handle_progmem_attribute): New function.
3953         (ip2k_handle_fndecl_attribute): New function.
3954
3955 2003-01-10  Andrew Haley  <aph@redhat.com>
3956
3957         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3958         registers to be in correct order.  Add rip.
3959
3960 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
3961
3962         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3963         (*iorsi3_and_lshiftrt_9_sb): Likewise.
3964
3965 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3966
3967         * convert.c (strip_float_extensions):  Look for narrowest type handling
3968         FP constants.
3969
3970         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
3971         float1 CMP float2.
3972         * convert.c (strip_float_extensions): Make global.
3973         * tree.h (strip_float_extensions): Declare.
3974
3975 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3976
3977         * timevar.def: define TV_NAME_LOOKUP.
3978         * timevar.c (timevar_pop): Be verbose when aborting.
3979
3980 2003-01-13  Andreas Schwab  <schwab@suse.de>
3981
3982         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3983         $(parsedir), just move the temporary file at the end.
3984         ($(parsedir)/gengtype-yacc.c): Likewise.
3985
3986 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
3987
3988         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3989         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
3990         splitting.
3991         * configure: Rebuilt.
3992
3993 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3994
3995         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3996         internal_mcount): Don't use PARAMS.
3997         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3998         ISO C style.
3999         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4000
4001 2003-01-13  Andreas Schwab  <schwab@suse.de>
4002
4003         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4004         directive.
4005
4006 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
4007
4008         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4009         (*iorsi3_and_lshiftrt_n_sb): Likewise.
4010
4011 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
4012
4013         PR c++/9264
4014         * c-lex.c (c_lex): Set the token value to error_mark_node for
4015         invalid numeric constants.
4016
4017 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4018
4019         * c-pch.c (asm_file_startpos): Change to `long'.
4020         (pch_init): Use ftell, not ftello.
4021         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4022         Use `long' instead of `off_t'.
4023         (c_common_read_pch): Likewise.
4024         * ggc-common.c (gt_pch_save): Use long/ftell instead of
4025         off_t/ftello.
4026
4027 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
4028
4029         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4030
4031 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
4032
4033         * arm-protos.h (struct cpp_reader): Add declaration.
4034
4035 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
4036
4037         PR target/9068
4038         * i386.c (output_fp_compare): Fix typo.
4039
4040 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
4041
4042         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4043
4044 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4045
4046         * Makefile.in (parsedir): New variable.
4047         (docobjdir): New variable.
4048         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
4049         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4050         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4051         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
4052         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
4053         Use docobjdir.
4054         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4055         objc.maintainer-clean): Use parsedir.
4056
4057         * varasm.c (struct constant_descriptor_rtx): Remove unused
4058         `label' field.
4059
4060         * toplev.c (documented_lang_options): Document -Winvalid-pch.
4061
4062 2003-01-10  Richard Henderson  <rth@redhat.com>
4063
4064         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4065         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4066
4067 2003-01-10  Richard Henderson  <rth@redhat.com>
4068
4069         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4070         not INTEGRAL_MODE_P when widening extensions.
4071
4072 2003-01-10  Richard Henderson  <rth@redhat.com>
4073
4074         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4075
4076 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4077
4078         * ggc-page.c (ggc_collect): Avoid overflow computing
4079         min_expand.
4080
4081         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4082         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
4083         Remove calls.
4084         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4085
4086 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
4087
4088         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4089         with weird operands.
4090
4091 2003-01-10  Dale Johannesen <dalej@apple.com>
4092
4093         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
4094         parameters.  Call check_sibcall_argument_overlap if indicated.
4095         (check_sibcall_argument_overlap):  Add mark_stored_args_map
4096         parameter.  Don't mark parameter area as clobbered if not set.
4097         (expand_call):  Adjust calls to above.
4098
4099 2003-01-10 Kelley Cook <kelleycook@comcast.net>
4100
4101         * configure.in (linker read-only and read-write section mixing):
4102         Squelch some assembler warnings.
4103         * configure: Likewise.
4104
4105 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
4106
4107         * doc/invoke.texi: Document -mtune, delete -mcpu
4108         option for S/390 and zSeries.
4109         * config/s390/s390.c (s390_tune_string) New variable.
4110         (s390_cpu_string) Delete variable.
4111         (override_options): Use s390_tune_string instead of
4112         s390_cpu_string.
4113         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4114
4115 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
4116
4117         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4118
4119 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
4120
4121         * jump.c (next_nonnote_insn_in_loop): New function.
4122         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4123         next_nonnote_insn.
4124         (duplicate_loop_exit_test). Likewise.
4125
4126 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
4127
4128         Merge from pch-branch:
4129
4130         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
4131
4132         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4133         load.
4134
4135         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
4136
4137         * cpplib.c (count_registered_pragmas): New function.
4138         (save_registered_pragmas): New function.
4139         (_cpp_save_pragma_names): New function.
4140         (restore_registered_pragmas): New function.
4141         (_cpp_restore_pragma_names): New function.
4142         * cpphash.h (_cpp_save_pragma_names): Prototype.
4143         (_cpp_restore_pragma_names): Likewise.
4144         * cpppch.c (struct save_macro_item): Split from save_macro_data.
4145         (struct save_macro_data): New field 'saved_pragmas'.
4146         (save_macros): Update for changes to struct save_macro_data.
4147         (cpp_prepare_state): Call _cpp_save_pragma_names, update
4148         for changes to struct save_macro_data.
4149         (cpp_read_state): Call _cpp_restore_pragma_names, update
4150         for changes to struct save_macro_data.
4151
4152         * cpppch.c (cpp_read_state): Restore the hashtable references
4153         in the cpp_reader.
4154
4155         * tree.h (built_in_decls): Mark for PCH.
4156
4157         * dbxout.c (lastfile): Don't mark for PCH.
4158
4159         * ggc.h: Document PCH calls into memory managers.
4160
4161         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4162
4163         * doc/invoke.texi (Precompiled Headers): Document the
4164         directory form of PCH.
4165         * cppfiles.c (validate_pch): New function.
4166         (open_file_pch): Search suitably-named directories for PCH files.
4167
4168         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
4169
4170         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4171         reorder options.
4172         (Type Information): Mention that the information is also
4173         used to implement PCH.
4174         * doc/passes.texi (Passes): Improve documentation of
4175         language-specific files.
4176
4177         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
4178
4179         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4180         (struct walk_type_data): Add reorder_fn field.
4181         (walk_type): Process 'reorder' option.
4182         (write_types_process_field): Reorder parameters to gt_pch_note_object,
4183         call reorder_note_routine.
4184         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4185         (ggc_wtd): Update for change to struct write_types_data.
4186         (pch_wtd): Likewise.
4187         * ggc.h (gt_pch_note_object): Reorder parameters.
4188         (gt_handle_reorder): New definition.
4189         (gt_pch_note_reorder): New prototype.
4190         * ggc-common.c (struct ptr_data): Add reorder_fn.
4191         (gt_pch_note_object): Reorder parameters.
4192         (gt_pch_note_reorder): New.
4193         (gt_pch_save): Call reorder_fn.
4194         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4195
4196         * dbxout.c (cwd): Don't mark for PCH.
4197
4198         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
4199
4200         * gengtype.c (finish_root_table): Fix some warnings.
4201         (write_root): Handle TYPE_STRING.
4202         * ggc.h (gt_ggc_m_S): Add prototype.
4203         * stringpool.c (gt_ggc_m_S): New function.
4204
4205         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
4206
4207         * dwarf2out.c (dw2_string_counter): New.
4208         (AT_string_form): Use it.
4209         (same_dw_val_p): Update for removal of hashtable.h hash tables.
4210
4211         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4212
4213         * dbxout.c: Include gt-dbxout.h.
4214         (lastfile): Mark for PCH/GGC.
4215         (cwd): Likewise.
4216         (struct typeinfo): Likewise.
4217         (typevec): Likewise.
4218         (typevec_len): Likewise.
4219         (next_type_number): Likewise.
4220         (struct dbx_file): Likewise.
4221         (current_file): Likewise.
4222         (next_file_number): Likewise.
4223         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4224         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4225         (dbxout_end_source_file): Don't free struct dbx_file.
4226         (dbxout_type): Use GGC to allocate typevec.
4227         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4228         (GTFILES): Add dbxout.c.
4229         (gt-dbxout.h): New rule.
4230
4231         * Makefile.in (c-pch.o): Add debug.h as dependency.
4232         * c-pch.c: Include debug.h.
4233         (pch_init): Call start_source_file to keep nesting right.
4234         (c_common_read_pch): Add orig_name parameter.  Call
4235         start_source_file debug hook.  Call end_source_file debug hook.
4236         * c-common.h (c_common_read_pch): Update prototype.
4237         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4238         callback.
4239         * cppfiles.c (struct include_file): Add new field `header_name'.
4240         (find_or_create_entry): Default it to `name'.
4241         (open_file_pch): Set it to the original header file searched for.
4242         (stack_include_file): Don't stack an empty buffer, just handle
4243         PCH files immediately.  Pass header_name field to read_pch callback.
4244
4245         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
4246
4247         * function.c (funcdef_no): Mark to be saved in a PCH.
4248
4249         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4250
4251         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4252
4253         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4254
4255         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
4256
4257         * optabs.h (code_to_optab): Add GTY marker.
4258
4259         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
4260
4261         * Makefile.in (GTFILES): Add cpplib.h.
4262         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4263         * c-decl.c (build_compound_literal): Don't use var_labelno.
4264         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4265         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4266         * varasm.c (const_labelno): Use gengtype to mark.
4267         (var_labelno): Likewise.
4268         (in_section): Likewise.
4269         (in_named_name): Likewise.
4270         (struct in_named_entry): Likewise.
4271         (in_named_htab): Likewise.
4272         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4273         (init_varasm_once): Use GGC to allocate in_named_htab.
4274         * config/darwin.c (current_pic_label_num): Mark for PCH.
4275
4276         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
4277
4278         * ggc-simple.c (init_ggc_pch): New stub procedure.
4279         (ggc_pch_count_object): Likewise.
4280         (ggc_pch_total_size): Likewise.
4281         (ggc_pch_this_base): Likewise.
4282         (ggc_pch_alloc_object): Likewise.
4283         (ggc_pch_prepare_write): Likewise.
4284         (ggc_pch_write_object): Likewise
4285         (ggc_pch_finish): Likewise.
4286         (ggc_pch_read): Likewise.
4287
4288         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
4289
4290         * c-pch.c (c_common_write_pch): Write the macro definitions after
4291         the GCed data.
4292         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
4293         definitions after the GCed data.
4294         * cpplib.c (save_macros): New.
4295         (reset_ht): New.
4296         (cpp_write_pch_deps): Split out of cpp_write_pch.
4297         (cpp_write_pch_state): Split out of cpp_write_pch.
4298         (cpp_write_pch): Delete.
4299         (struct save_macro_data): Delete.
4300         (cpp_prepare_state): New.
4301         (cpp_read_state): Erase and restore initial macro definitions.
4302         * cpplib.h (struct save_macro_data): Forward-declare.
4303         (cpp_write_pch_deps): Prototype.
4304         (cpp_write_pch_state): Prototype.
4305         (cpp_write_pch): Delete prototype.
4306         (cpp_prepare_state): Prototype.
4307         (cpp_read_state): Add fourth argument.
4308
4309         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
4310
4311         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4312         (write_array): Remove warning.
4313
4314         * gengtype.c (contains_scalar_p): New.
4315         (finish_root_table): Add the table to all languages, even if it's
4316         empty.
4317         (write_roots): Output gt_pch_scalar_rtab.
4318         * ggc-common.c (gt_pch_save): Write out scalars.
4319         (gt_pch_restore): Read scalars back.
4320
4321         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4322         (struct page_entry): Delete pch_page field.
4323         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4324         (clear_marks): Likewise.
4325         (sweep_pages): Likewise.
4326         (poison_pages): Likewise.
4327         (ggc_print_statistics): Likewise.
4328         (ggc_pch_read): Don't free objects read from a PCH.
4329         Properly set up in_use_p and page_tails.
4330
4331         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
4332
4333         * gengtype.c (struct write_types_data): New.
4334         (struct walk_type_data): Make `cookie' const; add extra
4335         prev_val item; add `orig_s' field.
4336         (walk_type): Update prev_val[3].
4337         (write_types_process_field): New.
4338         (write_func_for_structure): Take write_types_data structure.
4339         (write_types): New.
4340         (ggc_wtd): New.
4341         (pch_wtd): New.
4342         (write_types_local_process_field): New.
4343         (gc_mark_process_field): Delete.
4344         (write_local_func_for_structure): New.
4345         (gc_mark_func_name): Delete.
4346         (write_gc_types): Delete.
4347         (write_local): New.
4348         (finish_root_table): Don't include 'ggc_' in PFX.
4349         (write_root): Rename from write_root.  Fill pchw field of structures.
4350         (write_array): New.
4351         (write_roots): Rename from write_gc_roots.  Split out to write_array.
4352         Update to changes to other routines.  Write gt_pch_cache_rtab table.
4353         (main): Write PCH walking routines.
4354         * ggc-common.c: Include toplev.h, sys/mman.h.
4355         (ggc_mark_roots): For cache hashtables, also mark the hash table
4356         and the array of entries.
4357         (saving_htab): New.
4358         (struct ptr_data): New.
4359         (POINTER_HASH): New.
4360         (gt_pch_note_object): New.
4361         (saving_htab_hash): New.
4362         (saving_htab_eq): New.
4363         (struct traversal_state): New.
4364         (call_count): New.
4365         (call_alloc): New.
4366         (compare_ptr_data): New.
4367         (relocate_ptrs): New.
4368         (write_pch_globals): New.
4369         (struct mmap_info): New.
4370         (gt_pch_save): New.
4371         (gt_pch_restore): New.
4372         * ggc-page.c (ROUND_UP_VALUE): New.
4373         (ROUND_UP): New.
4374         (struct page_entry): Add field `pch_page'.
4375         (init_ggc): Use ROUND_UP.
4376         (struct ggc_pch_data): Declare.
4377         (init_ggc_pch): New.
4378         (ggc_pch_count_object): New.
4379         (ggc_pch_total_size): New.
4380         (ggc_pch_this_base): New.
4381         (ggc_pch_alloc_object): New.
4382         (ggc_pch_prepare_write): New.
4383         (ggc_pch_write_object): New.
4384         (ggc_pch_finish): New.
4385         (ggc_pch_read): New.
4386         * ggc.h (gt_pointer_operator): New.
4387         (gt_note_pointers): New.
4388         (gt_pch_note_object): New prototype.
4389         (gt_pointer_walker): New.
4390         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
4391         (LAST_GGC_ROOT_TAB): Update.
4392         (gt_pch_cache_rtab): Declare.
4393         (gt_pch_scalar_rtab): Declare.
4394         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
4395         (LAST_GGC_CACHE_TAB): Update.
4396         (gt_pch_save_stringpool): Declare.
4397         (gt_pch_restore_stringpool): Declare.
4398         (gt_pch_p_S): Declare.
4399         (gt_pch_n_S): Declare.
4400         (struct ggc_pch_data): Forward-declare.
4401         (init_ggc_pch): Declare.
4402         (ggc_pch_count_object): Declare.
4403         (ggc_pch_total_size): Declare.
4404         (ggc_pch_this_base): Declare.
4405         (ggc_pch_alloc_object): Declare.
4406         (ggc_pch_prepare_write): Declare.
4407         (ggc_pch_write_object): Declare.
4408         (ggc_pch_finish): Declare.
4409         (ggc_pch_read): Declare.
4410         (gt_pch_save): Declare.
4411         (gt_pch_restore): Declare.
4412         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
4413         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
4414         const_double_htab, mem_attrs_htab using GGC.
4415         * c-pch.c: Include ggc.h.
4416         (pch_init): Allow reading PCH file back.
4417         (c_common_write_pch): Call gt_pch_save.
4418         (c_common_read_pch): Call gt_pch_restore.
4419         * c-parse.in (init_reswords): Delete now-untrue comment.
4420         Allocate ridpointers using GGC.
4421         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
4422         calling expand_deferred_fns.
4423         * c-common.h (ridpointers): Mark for GTY machinery.
4424         * Makefile.in (stringpool.o): Update dependencies.
4425         (c-pch.o): Update dependencies.
4426         (ggc-common.o): Update dependencies.
4427         * stringpool.c: Include gt-stringpool.h.
4428         (gt_pch_p_S): New.
4429         (gt_pch_n_S): New.
4430         (struct string_pool_data): New.
4431         (spd): New.
4432         (gt_pch_save_stringpool): New.
4433         (gt_pch_restore_stringpool): New.
4434         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4435
4436         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4437
4438         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4439         (output_mangled_typename): Don't pass size_t to printf.
4440
4441         * tree.h (union tree_type_symtab): Add tag to `address' field.
4442         (union tree_decl_u2): Add tag to 'i' field.
4443         * varasm.c (union rtx_const_un): Add tags to all fields.
4444         * gengtype.c (struct walk_type_data): New.
4445         (output_escaped_param): Take struct walk_type_data parameter.
4446         (write_gc_structure_fields): Delete.
4447         (walk_type): New.
4448         (write_gc_marker_routine_for_structure): Delete.
4449         (write_func_for_structure): New.
4450         (gc_mark_process_field): New.
4451         (gc_mark_func_name): New.
4452         (gc_counter): Delete.
4453         (write_gc_types): Use write_func_for_structure.
4454         (write_gc_roots): Use walk_type.
4455
4456         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4457
4458         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4459         (ggc_splay_dont_free): Fix warning about unused 'x'.
4460         (ggc_print_common_statistics): Remove warnings.
4461
4462         2002-10-01  Mike Stump  <mrs@apple.com>
4463
4464         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4465         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4466
4467         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4468             Catherine Moore  <clm@redhat.com>
4469
4470         * Makefile (c-pch.o): Update dependencies.
4471         (LIBCPP_OBJS): Add cpppch.o.
4472         (cpppch.o): New.
4473         * c-common.c (c_common_init): Don't call pch_init here.
4474         * c-common.h (c_common_read_pch): Update prototype.
4475         * c-lex.c (c_common_parse_file): Call pch_init here.
4476         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4477         (c_common_decode_option): Handle them.
4478         * c-pch.c: Include c-pragma.h.
4479         (save_asm_offset): Delete.
4480         (pch_init): Move contents of save_asm_offset into here, call
4481         cpp_save_state.
4482         (c_common_write_pch): Call cpp_write_pch.
4483         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4484         cpp_valid_state.
4485         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4486         * cppfiles.c (stack_include_file): Update for change to
4487         parameters of cb.read_pch.
4488         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4489         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4490         `restore_pch_deps' fields.
4491         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4492         (cpp_save_state): Prototype.
4493         (cpp_write_pch): Prototype.
4494         (cpp_valid_state): Prototype.
4495         (cpp_read_state): Prototype.
4496         * cpppch.c: New file.
4497         * flags.h (version_flag): Remove prototype.
4498         * mkdeps.c (deps_save): New.
4499         (deps_restore): New.
4500         * mkdeps.h (deps_save): Prototype.
4501         (deps_restore): Prototype.
4502         * toplev.c (late_init_hook): Delete.
4503         (version_flag): Make static again.
4504         (compile_file): Don't call late_init_hook.
4505         * toplev.h (late_init_hook): Delete.
4506         * doc/cppopts.texi: Document -fpch-deps.
4507         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4508
4509         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4510
4511         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4512         callers.
4513         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4514         (c_common_read_pch): Rename from c_read_pch, change callers.
4515
4516         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4517         a space between it and its argument.
4518
4519         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4520
4521         * c-pch.c: New file.
4522         * toplev.h (late_init_hook): Declare.
4523         * toplev.c (late_init_hook): Define.
4524         (version_flag): Make globally visible.
4525         (compile_file): Call late_init_hook.
4526         (init_asm_output): Make output file seekable.
4527         * gcc.c (default_compilers): Update c-header rule.
4528         * flags.h (version_flag): Declare.
4529         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4530         fields.
4531         * cppfiles.c (struct include_file): Add 'pch' field.
4532         (INCLUDE_PCH_P): New.
4533         (open_file_pch): New.
4534         (stack_include_file): Handle PCH files specially.
4535         (find_include_file): Call open_file_pch instead of open_file.
4536         (_cpp_read_file): Explain why open_file is used instead of
4537         open_file_pch.
4538         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4539         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4540         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4541         in cpplib callbacks.
4542         * c-common.c (pch_file): Correct comment.
4543         (allow_pch): Define.
4544         (c_common_init): Call pch_init.
4545         * c-common.h (allow_pch): Declare.
4546         (pch_init): Declare.
4547         (c_valid_pch): Declare.
4548         (c_read_pch): Declare.
4549         (c_write_pch): Declare.
4550         * Makefile.in (c-pch.o): New.
4551         (C_AND_OBJC_OBJS): Add c-pch.o.
4552         * doc/invoke.texi (Precompiled Headers): Add index entries,
4553         complete truncated paragraph.
4554
4555         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4556
4557         * c-common.c: (pch_file): Define.
4558         * c-common.h (pch_file): Declare.
4559         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4560         (missing_arg): Require --output-pch= to have an argument.
4561         (c_common_decode_option): Handle --output-pch=.
4562         * gcc.c: Document new %V.
4563         (default_compilers): Handle compiling C header files.
4564         (do_spec_1): Implement %V.
4565         (main): Handle "gcc foo.h" without trying to run linker.
4566         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4567         (Overall Options): Document what the driver does with header files,
4568         document new -x option possibilities.
4569         (Invoking G++): More documentation for PCH.
4570         (Precompiled Headers): New.
4571
4572         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4573
4574         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4575         organized.
4576         (ggc_add_root): Delete.
4577         (ggc_mark_rtx): Delete.
4578         (ggc_mark_tree): Delete.
4579         (struct ggc_statistics): Remove contents.
4580         * ggc-common.c: Remove unneeded includes.
4581         (struct ggc_root): Delete.
4582         (roots): Delete.
4583         (ggc_add_root): Delete.
4584         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4585         (ggc_print_common_statistics): Remove most of the contents.
4586         * Makefile.in (GGC_H): No longer uses varray.h.
4587         (ggc-common.o): Update dependencies.
4588         (c-parse.o): Add varray.h to dependencies.
4589         (c-common.o): Add varray.h.
4590         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4591         (mark_ident_hash): Rename to ggc_mark_stringpool.
4592         (init_stringpool): Don't use ggc_add_root.
4593         * c-parse.in: Include varray.h.
4594         * c-common.c: Include varray.h.
4595         * objc/Make-lang.in (objc-act.o): Add varray.h.
4596         * objc/objc-act.c: Include varray.h.
4597
4598         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4599
4600         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4601         (dw_cfi_oprnd1_desc): Likewise.
4602
4603         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4604
4605         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4606         move out of ifdef.
4607         (alpha_links): Use gengtype to mark; move out of ifdef.
4608         (mark_alpha_links_node): Delete.
4609         (mark_alpha_links): Delete.
4610         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4611         alpha_links, strings.  Don't use ggc_add_root.
4612         * ggc-common.c (ggc_splay_alloc): New.
4613         (ggc_splay_dont_free): New.
4614         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4615         (ggc_mark_tree): Likewise.
4616         (splay_tree_new_ggc): New.
4617         (ggc_splay_alloc): Declare.
4618         (ggc_splay_dont_free): Declare.
4619         * dwarf2asm.c: Include gt-dwarf2asm.h.
4620         (mark_indirect_pool_entry): Delete.
4621         (mark_indirect_pool): Delete.
4622         (indirect_pool): Use gengtype to mark.
4623         (dw2_force_const_mem): Don't use ggc_add_root.
4624         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4625         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4626         (gt-dwarf2asm.h): Depend on s-gtype.
4627
4628         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4629
4630         * tree.h (union tree_type_symtab): Mark `die' field.
4631         * Makefile.in (dwarf2out.o): Update dependencies.
4632         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4633         hash tables.
4634         (dw_cfi_oprnd1_desc): New function.
4635         (dw_cfi_oprnd2_desc): New function.
4636         (indirect_string_alloc): Delete.
4637         (debug_str_do_hash): New function.
4638         (debug_str_eq): New function.
4639         (mark_limbo_die_list): Delete.
4640         (dwarf2out_init): Don't call ggc_add_root.
4641
4642 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4643
4644         The following changes are merged from itanium-sched-branch:
4645
4646         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4647
4648         * doc/md.texi: Clarify assignment of units to automata description.
4649
4650         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4651
4652         * genautomata.c (unit_decl): Remove members
4653         `the_same_automaton_unit' and
4654         `the_same_automaton_message_reported_p'.
4655         (process_unit_to_form_the_same_automaton_unit_lists,
4656         form_the_same_automaton_unit_lists_from_regexp,
4657         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4658         Remove them.
4659         (annotation_message_reported_p): New global variable.
4660         (check_unit_distribution_in_reserv,
4661         check_regexp_units_distribution): New functions.
4662         (check_unit_distributions_to_automata): Rewrite it.
4663
4664         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4665
4666         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4667         Use continue instead of break if cycle is too big.
4668
4669         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
4670
4671         * genautomata.c (check_unit_distributions_to_automata): Output at
4672         most one message for a unit.
4673         (process_unit_to_form_the_same_automaton_unit_lists): Check
4674         automaton of units instead of units themself.
4675
4676         * doc/md.texi: Describe the constraint about assigning unit to
4677         automata.
4678
4679         2002-12-20  Jan Hubicka  <jH@suse.cz>
4680                     Vladimir Makarov  <vmakarov@redhat.com>
4681
4682         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4683         and `in_set_p'.
4684         (gen_cpu_unit): Initialize the new members.
4685         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
4686         up `min_occ_cycle_num'.
4687         (evaluate_max_reserv_cycles): Change the function call.
4688         (CLEAR_BIT): New macro.
4689         (states_union, state_shift): Use the mask.
4690         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4691         (form_reservs_matter): New function.
4692         (make_automaton): Call the function and use the mask.
4693         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4694         account.
4695
4696         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4697
4698         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4699
4700         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4701
4702         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4703         for Itanium.
4704
4705         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4706
4707         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4708         default cpu.
4709
4710         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4711                 2002-10-31  Dale Johannesen <dalej@apple.com>
4712
4713         * haifa-sched.c (find_set_reg_weight): New function.
4714         (find_insn_reg_weight): Use the new function.
4715         (schedule_block): Do sorting ready queue always
4716         after insn issue.
4717
4718         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
4719
4720         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4721
4722         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
4723
4724         * haifa-sched.c (choice_entry): New structure.
4725         (choice_stack, cycle_issued_insns): New variables.
4726         (max_issue): Rewrite it.
4727         (choose_ready): Set up ready_try for unknown insns too.
4728         (schedule_block): Allocate and free choice_stack.  Set up
4729         and modify cycle_issued_insns.
4730
4731         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4732         with and without filling the bundle.
4733         (bundling): Combine calls of issue_nops_and_insn.
4734
4735         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
4736
4737         * config/ia64/itanium1.md: New file.
4738
4739         * config/ia64/itanium2.md: New file.
4740
4741         * config/ia64/ia64.md: Move DFA descriptions into the new files.
4742         Remove the old pipeline description.
4743
4744         * config/ia64/ia64.c (ia64_override_options): Add aliases of
4745         itanium processor names.
4746
4747         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
4748
4749         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4750         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
4751
4752         * config/ia64/ia64.md: Add descriptions for Itanium2.
4753
4754         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4755
4756         * config/ia64/ia64.h (processor_type): New enumeration.
4757         (ia64_tune, ia64_tune_string): New external declarations.
4758         (TARGET_OPTIONS): Add option `tune='.
4759
4760         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4761         variables.
4762         (ia64_override_options): Set up `ia64_tune'.
4763         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4764         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4765         (bundling): Add nops for MM-insns only for Itanium.
4766         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4767         Itanium.
4768
4769         * config/ia64/ia64.md (cpu): New attribute.
4770         (DFA description): Enable it only for Itanium.
4771
4772         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4773                     Richard Henderson  <rth@redhat.com>
4774
4775         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4776         MASK_EARLY_STOP_BITS.
4777         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4778         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4779         `early-stop-bits'.
4780
4781         * config/ia64/ia64.c (ia64_dfa_new_cycle,
4782         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4783         instead of TARGET_TUNE_STOP_BITS.
4784
4785         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4786         `-mearly-stop-bits'.
4787
4788         * config/ia64/ia64.c (automata_option "v"): Comment it.
4789
4790         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
4791
4792         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
4793         New macros.
4794         (TARGET_SWITCHES): Add entries for the new option.
4795
4796         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4797         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4798         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4799         global variables.
4800         (ia64_sched_reorder2): Set up `clocks'.
4801         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4802         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
4803         queue when TARGET_TUNE_STOP_BITS.
4804         (bundling): Insert additional nops for MM-insns.
4805         (final_emit_insn_group_barriers): Add insertion of stop bits
4806         according `stops_p'.
4807         (ia64_reorg): Initiate the new varibales.
4808
4809         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
4810
4811         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
4812
4813         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4814         insns at the end of block insn scheduling.
4815
4816         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
4817
4818         * sched-deps.c (remove_dependence, group_leader): Remove it.
4819         (add_dependence): Add dependence to group leader to.
4820         (set_sched_group_p): Add dependence to the first insn of the
4821         schedule group too.
4822         (sched_analyze_insn): Make dependence to jump as anti-dependence.
4823         Change true dependence by anti-dependence when
4824         `reg_pending_barrier'.
4825
4826         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4827         add_branch_dependences): Ignore schedule groups.
4828
4829         * sched-ebb.c (init_ready_list): Ditto.
4830
4831         * (move_insn, set_priorities): Ditto.
4832
4833         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4834         flag is clear after reload.
4835         (adjust_cost): Change cost only for output dependencies.
4836
4837         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
4838
4839         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
4840
4841         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4842
4843         * target.h (gcc_target): Add member
4844         `dependencies_evaluation_hook'.
4845
4846         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4847         macro.
4848         (TARGET_SCHED): Add initiatialization of the new member.
4849
4850         * sched-ebb.c: Include `target.h'.
4851         (schedule_ebb): Call `dependencies_evaluation_hook'.
4852
4853         * sched-rgn.c (schedule_region): Call
4854         `dependencies_evaluation_hook'.
4855
4856         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4857         New macro.
4858         (ia64_dependencies_evaluation_hook): New function.
4859
4860         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4861         Describe the new hook.
4862
4863         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
4864
4865         * target.h (gcc_target): Add members
4866         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4867
4868         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4869         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4870         macros.
4871         (TARGET_SCHED): Add initiatialization of the new members.
4872
4873         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4874         insn scheduling too.
4875         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4876         initialize `ready_try'.
4877         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
4878         `dfa_new_cycle' says not to do it.
4879
4880         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4881         bundling.
4882
4883         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4884
4885         * config/ia64/ia64.c: Include `hashtab.h'.
4886         (ia64_first_cycle_multipass_dfa_lookahead_guard,
4887         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4888         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4889         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4890         bundle_state_eq_p, insert_bundle_state,
4891         initiate_bundle_state_table, finish_bundle_state_table,
4892         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4893         get_template, get_next_important_insn, bundling): New functions.
4894         (ia64_internal_sched_reorder): Remove it.
4895         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4896         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4897         (ia64_safe_itanium_requires_unit0): Remove it.
4898         (group_barrier_needed_p): Place group barrier right before a real
4899         insn.
4900         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4901         Remove them.
4902         (bundle_name): New variable.
4903         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4904         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4905         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4906         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4907         temp_dfa_state, prev_cycle_state): New global variables.
4908         (insn_matches_slot, maybe_rotate, finish_last_head,
4909         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4910         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4911         find_best_packet, itanium_reorder, dump_current_packet,
4912         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4913         (sched_data, sched_ready, sched_types): Remove them.
4914         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4915         `init_insn_group_barriers'.
4916         (ia64_sched_reorder, ia64_sched_reorder2): Call
4917         ia64_dfa_sched_reorder.
4918         (ia64_variable_issue): Rewrite it.
4919         (bundle_state): New structure.
4920         (index_to_bundle_states, bundle_states_num,
4921         allocated_bundle_states_chain, free_bundle_state_chain): New
4922         global variables.
4923         (ia64_sched_finish): Add stop bits and call `bundling' after the
4924         2nd insn scheduling.
4925         (ia64_use_dfa_pipeline_interface): Return zero always.
4926         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4927         insn scheduling.
4928         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4929         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4930         (ia64_reorg): Add bundling insns.
4931
4932         * doc/tm.texi
4933         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4934         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
4935
4936         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
4937
4938         * config/ia64/ia64.md: Add Itanium1 DFA description.
4939         (itanium_class): Add `nop' and `pre_cycle'.  Add
4940         define_function_unit for `nop'.
4941         (nop): Change attribute `itanium_class'.
4942         (pre_cycle): New define_insn.
4943
4944         * config/ia64/ia64-protos.h (bundling_p): New external variable.
4945         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4946         ia64_produce_address_p): New function prototypes.
4947
4948         * config/ia64/ia64.c (bundling_p): New global variable.
4949         (ia64_use_dfa_pipeline_interface,
4950         ia64_first_cycle_multipass_dfa_lookahead,
4951         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4952         functions.
4953         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4954         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4955         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4956         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4957         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4958         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4959         (dfa_pre_cycle_insn): New variable.
4960
4961         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4962
4963         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4964         constructions.
4965
4966         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4967         New function prototypes.
4968
4969         * genattrtab.c (main): Process the new constructions.
4970
4971         * genautomata.c (gen_presence_absence_set,
4972         process_presence_absence_names, process_presence_absence_patterns,
4973         add_presence_absence, check_absence_pattern_sets): Add parameter
4974         `final_p'.
4975         (unit_decl): Add new members `final_presence_list' and
4976         `final_absence_list'.
4977         (unit_pattern_rel_decl): Add new member `final_p'.
4978         (gen_final_presence_set, gen_final_absence_set): New functions.
4979         (process_decls): Use member `final_p'.
4980         (temp_reserv): New global variable.
4981         (reserv_sets_are_intersected): Add processing `final_presence_set'
4982         and `final_absence_set'.
4983         (initiate_states): Allocate `temp_reserv'.
4984         (unit_final_presence_set_table, unit_final_absence_set_table): New
4985         gloabal variables.
4986         (initiate_presence_absence_pattern_sets): Initiate them.
4987         (NDFA_to_DFA): Fix typo.
4988         (output_description): Output `final_presence_set' and
4989         `final_absence_set'.
4990
4991         * doc/md.texi (final_presence_set, final_absence_set): Describe
4992         them.
4993
4994         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4995
4996         * genautomata.c (transform_3): Process a missing case (nothing on
4997         unit place).
4998
4999         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5000
5001         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5002         comments about queried units and the minimization.
5003
5004         * doc/md.texi: Ditto.
5005
5006         * genautomata.c (create_composed_state): Return nonzero if the new
5007         state has been created.
5008         (first_cycle_unit_presence): New function.
5009         (state_is_differed): Add new parameter.  Use the new function.
5010         Take queried units into account.
5011         (partition_equiv_class): Pass additional parameter to
5012         `state_is_differed'.
5013         (merge_states): Process composed states too.
5014         (build_automaton, create_automata, output_min_issue_delay_table,
5015         output_tables, output_statistics): Output more information.
5016         (output_reserved_units_table): Use function
5017         `first_cycle_unit_presence'.
5018         (output_tables): Output table of queried units even if the
5019         minimization is switched on.
5020         (write_automata): Output code for querying units even if the
5021         minimization is switched on.
5022
5023         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
5024
5025         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5026         syntax of the constructions.
5027
5028         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5029         extended syntax of the constructions.
5030
5031         * genautomata.c (unit_rel_decl): Rename it to
5032         `unit_pattern_rel_decl'.
5033         (pattern_set_el, pattern_reserv): New structures.
5034         (pattern_set_el_t, pattern_reserv_t): New types.
5035         (gen_presence_absence_set): New function.
5036         (process_presence_absence): Remove it.
5037         (process_presence_absence_names,
5038         process_presence_absence_patterns): New functions.
5039         (get_presence_absence_set): Remove it.
5040         (initiate_presence_absence_sets): Rename it on
5041         `initiate_presence_absence_pattern_sets'.  Use new function
5042         `form_reserv_sets_list'.
5043         (form_reserv_sets_list, check_presence_pattern_sets,
5044         check_absence_pattern_sets, output_pattern_set_el_list): New
5045         functions.
5046         (unit_decl): Change types of members `presence_list' and
5047         `absence_list'.
5048         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5049         (decl): Change types of members `excl', `presence', and `absence'.
5050         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
5051         at the end of the vector.
5052         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5053         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5054         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5055         (gen_presence_set, gen_absence_set): Use new function
5056         `gen_presence_absence_set'.
5057         (add_presence_absence): Process `pattern_list' instead of
5058         `source_list'.
5059         (process_decls): USe new functions
5060         `process_presence_absence_names' and
5061         `process_presence_absence_patterns'.
5062         (reserv_sets_are_intersected): Use new function
5063         `check_presence_pattern_sets'.
5064         (presence_set, absence_set): Remove them.
5065         (unit_presence_set_table, unit_absence_set_table): New global
5066         variables.
5067         (output_description): Use new function
5068         `output_pattern_set_el_list'.
5069         (generate): Use `initiate_presence_absence_pattern_sets'.
5070
5071         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
5072
5073         * genattr.c (main): Add output of prototype of new interface
5074         function `dfa_clean_insn_cache'.
5075
5076         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5077         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5078         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5079         the generated code.
5080         (write_automata): Call the new function.
5081
5082 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
5083
5084         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5085         correctly.
5086
5087 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
5088
5089         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5090
5091 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
5092
5093         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5094         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5095         (CONSTRAINT_LEN): Provide default definition.
5096         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5097         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5098         (EXTRA_CONSTRAINT_STR): Likewise.
5099         (REG_CLASS_FROM_CONSTRAINT): Define.
5100         * genoutput.c (check_constraint_len, constraint_len): New functions.
5101         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5102         constraint / modifier.
5103         (gen_insn): Call check_constraint_len.
5104         * local-alloc.c (block_alloc): Update to use new macros / pass
5105         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5106         * ra-build.c (handle_asm_insn): Likewise.
5107         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5108         (constrain_operands, peep2_find_free_register): Likewise.
5109         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5110         * regmove.c (find_matches): Likewise.
5111         * reload.c (push_secondary_reload, find_reloads): Likewise.
5112         (alternative_allows_memconst): Likewise.
5113         * reload1.c (maybe_fix_stack_asms): Likewise.
5114         (reload_cse_simplify_operands): Likewise.
5115         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5116         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5117         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5118         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5119         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5120         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
5121
5122         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5123
5124 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5125
5126         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5127         length.
5128         (*extzv_1_r_h8300hs): Likewise.
5129         (*extzv_1_r_inv_h8300): Likewise.
5130         (*extzv_1_r_inv_h8300hs): Likewise.
5131
5132 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5133
5134         * config/h8300/h8300.h (PREDICATE_CODES): New.
5135
5136 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5137
5138         * config/h8300/h8300.md (*addsi3_upper): New.
5139         (*iorsi3_shift): Likewise.
5140         (two splitters): Likewise.
5141         (*addsi3_shift): Likewise.
5142         (two splitters): Likewise.
5143
5144 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
5145
5146         * Makefile.in (optabs.o): Add dependency on basic-block.h.
5147         * basic-block.h (control_flow_insn_p): Fuction was exported.
5148         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5149         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5150         notes only when the region is contained in a single basic block.
5151
5152 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5153
5154         PR inline-asm/8832
5155         * tree.h (expand_asm): New prototype.
5156         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5157         to do so.
5158         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5159         down to expand_asm.
5160         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5161         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5162         (volatile_refs_p) [ASM_INPUT]: Likewise.
5163         (side_effects_p) [ASM_INPUT]: Likewise.
5164
5165 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
5166
5167         * i386.md (*mul*): FIx constraints; remove confused comment; fix
5168         athlon_decode attributes
5169         (imul/k8 optimization peep2s): New.
5170
5171         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5172         * i386.md (type attribute): Add ssecomi.
5173         (unit, memory, prefix attributes): Handle ssecomi.
5174         (cvt?2? patterns): Fix athlon_decode attribute
5175         (comi patterns): Set attribute to ssecomi.
5176
5177         PR target/8343
5178         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5179
5180 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
5181
5182         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5183         that match register_operands.
5184         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5185         register_operand the default case.
5186
5187 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5188
5189         PR c/8032
5190         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5191         an empty element, do not advance the pointer to unfilled
5192         fields if there are pending initializers.
5193
5194 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
5195
5196         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5197         (install-gcc-tooldir, install-cpp, installdirs,
5198         install-common, install-driver, install-info, install-man,
5199         install-headers, install-include-dir, install-headers-tar,
5200         install-headers-cpio, install-headers-cp, install-mkheaders,
5201         install-collect2, uninstall): Prepend $(DESTDIR) to
5202         destination paths in all (un)installation commands.
5203         (install-driver): Rewrite $(LN) commands to support DESTDIR
5204         with "ln" as well as with "ln -s".
5205         (installdirs): Simply use mkinstalldirs.
5206         (install-libgcc, install-multilib): Also pass DESTDIR.
5207         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5208         installation destination variable ldir.
5209         * config/alpha/t-osf4, config/arm/t-netbsd,
5210         config/ia64/t-hpux, config/mips/t-iris5-6,
5211         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5212         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5213         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5214         in the definition of SHLIB_INSTALL.
5215         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5216         $(libsubdir) in the installation commands.
5217
5218 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5219
5220         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5221         non-optimizing compile.
5222         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5223         compile.
5224
5225 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
5226
5227         * config/i386/i386.c (ix86_attribute_table): Add new attributes
5228         ms_struct and gcc_struct.
5229         (ix86_handle_struct_attribute): New function.
5230         (ix86_ms_bitfield_layout_p): Update to take new attributes
5231         into account.
5232         * doc/extend.texi: Document new attributes.
5233         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5234
5235 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
5236
5237         PR optimization/8750
5238         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5239         scheduling pass to move insns across __alloca call.
5240
5241 2003-01-08  Dale Johannesen  <dalej@apple.com>
5242
5243         * config/rs6000/rs6000.md:  Replace *store_multiple_string
5244         with *stmsi[3-8].
5245
5246 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
5247
5248         PR target/9210
5249         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5250         Set SYMBOL_REF_FLAG on local data sym_ref.
5251
5252 2003-01-08  Dale Johannesen  <dalej@apple.com>
5253
5254         * function.c (assign_parms):  Don't set pretend_args_size if
5255           REG_PARM_STACK_SPACE.
5256           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
5257           pretend_args_size.
5258
5259 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5260
5261         * gcc.hlp: Delete.
5262
5263 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
5264
5265         * i386.c  (ix86_expand_int_addcc): Fix thinko.
5266
5267 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5268
5269         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5270         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5271         as hook_bool_tree_hwi_hwi_tree_true.
5272         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5273         (rs6000_emit_epilogue): Same.
5274         (rs6000_output_mi_thunk): Re-implement as RTL.
5275         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5276         xcoffout_declare_function if any debugging enabled.
5277
5278 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
5279
5280         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5281         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5282         * config/mips/mips.h (enum processor_type): Rename
5283         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5284         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5285         Add PROCESSOR_M4K.
5286         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5287         (ISA_MIPS32R2): New define.
5288         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5289         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5290         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5291         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
5292         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
5293         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5294         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5295         compiling MIPS16 code.
5296         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5297         comment.
5298         (ISA_HAS_SEB_SEH): New define.
5299         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5300         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5301         processor_type value renaming.  Add support for MIPS32R2.
5302         Clean up comments, and move "sb1" entry with other MIPS64 CPU
5303         entries.
5304         (override_options): Reimplement -mipsN option handling so that
5305         it will work correctly for -mips32r2.  Avoid branch-likely
5306         instructions on MIPS32R2.
5307         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5308         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5309         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5310         (extendhisi2_hw, extendqisi2_hw): New.
5311         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5312         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
5313         MIPS32R2, and MIPS64.
5314         (LINK_SPEC): Pass -mips32r2 to linker.
5315         * config/mips/t-isa3264: Built -mips32r2 multilibs.
5316         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5317         for mips32r2 in the -march description.  Alphabetically sort
5318         CPU names in the -march description.  Add long-missed -mips32
5319         and -mips64 to MIPS option summary.
5320
5321         * config.gcc: Update copyright years to include 2003.
5322         * config/mips/mips.c: Likewise.
5323         * config/mips/mips.h: Likewise.
5324         * config/mips/mips.md: Likewise.
5325         * config/mips/netbsd.h: Likewise.
5326         * doc/invoke.texi: Likewise.
5327
5328 2003-01-08  Andreas Schwab  <schwab@suse.de>
5329
5330         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5331         variable.
5332         * configure: Regenerated.
5333
5334 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5335
5336         * config/h8300/h8300.c (output_logical_op): Replace byte/word
5337         extraction of det with b0, b1, w0, w2, etc.
5338         (compute_logical_op_length): Likewise.
5339         (compute_logical_op_cc): Likewise.
5340
5341 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5342
5343         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
5344         HIGH on all variants.
5345
5346 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5347
5348         * Makefile.in (PARTITION_H): New.
5349         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
5350         * basic-block.h: Include hard-reg-set.h.
5351
5352 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
5353
5354         * arm.h (ENABLE_XF_PATTERNS): Delete.
5355         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
5356         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
5357         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
5358         (cmpxf_trap): Delete.
5359         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
5360
5361 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5362
5363         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
5364         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
5365         (add??cc): New expanders.
5366         * i386.c (expand_int_addcc): New function.
5367         * i386-protos.h (expand_int_addcc): Declare.
5368
5369         * alias.c (memory_modified_1): New static function.
5370         (memory_modified): New static varaible.
5371         (memory_modified_in_insn_p): New global function.
5372         * rtl.h (memory_modified_in_insn_p): Declare.
5373         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
5374         references.
5375
5376         * expr.h (emit_conditional_add): Declare.
5377
5378 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
5379
5380         PR other/8947
5381         * doc/invoke.texi (-malign-double): Explain that the option breaks
5382         binary compatibility.
5383
5384 2003-01-08  Andreas Schwab  <schwab@suse.de>
5385
5386         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
5387         should come from the generic *-*-linux* entry.
5388
5389 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
5390
5391         * cselib.c (cselib_current_insn_in_libcall): New static variable.
5392         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
5393         we are inside libcall.
5394         * cselib.h (elt_loc_list): Add in_libcall.
5395         * gcse.c (do_local_cprop): Do not copy propagate using insns
5396         in libcalls.
5397
5398 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
5399
5400         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
5401         not normally affect to issue rate.
5402
5403 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5404
5405         * genopinit.c (optabs): Add addc_optab.
5406         * ifcvt.c (noce_try_store_flag): Rename to ...
5407         (noce_try_addcc): ... this one; handle generic conditional increment.
5408         (noce_process_if_block): Update noce_try_addcc call.
5409         * optabs.c (emit_conditional_add): New.
5410         (init_obtabs): Initialize addc_optab.
5411         * optabs.h (optab_index): Add OTI_addcc.
5412         (addcc_optab): New macro.
5413         * md.texi: Document addMcc
5414
5415         PR target/8322
5416         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
5417         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5418         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5419
5420         * reload1.c (delete_output_reload): Avoid repeated attempts
5421         to delete insn.
5422
5423 2003-01-07  Andreas Schwab  <schwab@suse.de>
5424
5425         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5426         Move --enable-initfini-array check ...
5427         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5428         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5429         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5430         * configure: Rebuild.
5431
5432 2003-01-07  Richard Henderson  <rth@redhat.com>
5433
5434         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5435         if the register is set once.
5436
5437 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5438
5439         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5440         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5441         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5442
5443 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5444             Sunil Davasam  <sunil.k.davasam@intel.com>
5445
5446         PR libstdc++/9076
5447         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5448         DW_CFA_same_value, read next and ignore.
5449
5450 2003-01-07  Richard Henderson  <rth@redhat.com>
5451
5452         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5453
5454 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5455
5456         * cfg.c: Include alloc-pool.h
5457         (edge_pool): New pool.
5458         (bb_pool): New pool.
5459         (first_deleted_edge): Remove.
5460         (first_deleted_block): Remove.
5461         (init_flow): Alloc/free the pools.
5462         (free_edge): Use pools.
5463         (alloc_block): Ditto.
5464         (expunge_block): Ditto.
5465         (cached_make_edge): Ditto.
5466
5467         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5468
5469 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5470
5471         * et-forest.c: Include alloc-pool.h.
5472         (struct et_forest): Add node_pool and occur_pool.
5473         (et_forest_create): Create the new pools.
5474         (et_forest_delete): Delete them.
5475         (et_forest_add_node): Allocate and free using pools.
5476         (et_forest_add_edge): Ditto.
5477         (et_forest_remove_node): Ditto.
5478         (et_forest_remove_edge): Ditto.
5479
5480         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5481
5482 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5483
5484         * config/h8300/h8300.c (output_logical_op): Simplify and
5485         optimize the handling of SImode.
5486         * config/h8300/h8300.c (compute_logical_op_length): Update
5487         accordingly.
5488         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5489
5490 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5491
5492         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5493         big-endian correction to indirect arguments too.
5494
5495 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5496
5497         Segher Boessenkool  <segher@koffie.nl>
5498
5499         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5500         (alt_reg_names): Ditto, fix formatting.
5501         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5502
5503 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5504
5505         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5506         (output_logical_op): Constify intval and det.
5507         (compute_logical_length): Likewise.
5508         (compute_logical_cc): Likewise.
5509         (output_a_shift): Constify mask.
5510         (h8300_encode_label): Constify len.
5511
5512 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5513
5514         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5515         (h8300_expand_epilogue): Likewise.
5516
5517 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5518
5519         Segher Boessenkool  <segher@koffie.nl>
5520
5521         * config/rs6000/altivec.md: Remove spaces from assembler
5522         instruction argument lists.
5523
5524 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5525
5526         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5527         c4x_assembler_function_p.
5528         (c4x_null_epilogue_p): Complement return value, all uses updated.
5529         (c4x_insert_attributes): Add naked.
5530         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5531         * doc/extend.texi: Update C4x function attributes.
5532
5533 2003-01-06  Richard Henderson  <rth@redhat.com>
5534
5535         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5536         properly when changing "local-ness".
5537         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5538
5539 2003-01-06  Dale Johannesen  <dalej@apple.com>
5540
5541         * config/darwin-protos.h:  Add prototypes for new section functions.
5542
5543 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5544
5545         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5546         to EABI.
5547
5548 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5549
5550         * hwint.h: If the current compiler has no 64-bit type at all,
5551         make HOST_WIDEST_INT 32 bits.
5552
5553 2003-01-06  Eric Christopher  <echristo@redhat.com>
5554
5555         * config/mips/mips.md (movdf_internal2): Fix constraints.
5556
5557 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5558
5559         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5560
5561 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5562
5563         * config/mips/mips.md (leadi): Use dla rather than la.
5564
5565 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5566
5567         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5568         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5569
5570 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5571
5572         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5573         redefinition.
5574
5575 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5576
5577         * config/h8300/h8300.md (*extzv_8_23): New.
5578
5579 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5580
5581         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5582         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5583         USE_EH_FRAME_REGISTRY when defining.
5584
5585 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5586
5587         * config/h8300/h8300.c (output_a_shift): Do not output a
5588         variable shift.
5589         * config/h8300/h8300.md (two splitters): New.
5590
5591 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5592
5593         * config/mips/mips.md: Disable the movstrsi define_split.
5594
5595 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5596
5597         * alloc-pool.c: Don't include "libiberty.h".
5598         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5599         * convert.c (convert_to_real): Hide unused variable.
5600
5601 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5602
5603         * Makefile.in (gtyp-gen.h): Const-ify.
5604         * gcov-dump.c (tag_table): Likewise.
5605
5606 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5607
5608         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5609         of *both* the file name and the fix name.
5610
5611 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5612
5613         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5614         collect2.
5615         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5616         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5617         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5618         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5619         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5620         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5621         elfos.h.
5622         (EH_FRAME_IN_DATA_SECTION): Delete define.
5623         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5624         (STARTFILE_SPEC): Use crtbegin.o.
5625         (ENDFILE_SPEC): Use crtend.o.
5626         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5627         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5628         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5629         DTOR_LIST_BEGIN): Define.
5630         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5631         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5632         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5633
5634 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5635
5636         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5637         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5638         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5639         Cleanup handling of replacement text.
5640         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5641
5642 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5643
5644         * fixinc/tests/base/math.h: removed obsolete results
5645         * fixinc/tests/base/stdlib.h: ditto
5646         * fixinc/tests/base/sys/param.h: ditto
5647         * fixinc/tests/base/sys/stat.h: ditto
5648         * fixinc/tests/base/time.h: ditto
5649         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5650         * fixinc/tests/base/sys/byteorder.h: ditto
5651         * fixinc/inclhack.def: Remove superfluous backslashes
5652
5653 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5654
5655         * config/h8300/h8300-protos.h: Add prototypes for
5656         the new functions defined below.
5657         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5658         define.
5659         (dosize): Emit RTL instead of assembly code.
5660         (push): Likewise.
5661         (pop): Likewise.
5662         (h8300_output_function_prologue): Remove.
5663         (h8300_expand_prologue): New.
5664         (h8300_expand_epilogue): New.
5665         (h8300_output_function_epilogue): Do only the reset of
5666         pragma_saveall.
5667         * config/h8300/h8300.md (push_h8300): New.
5668         (push_h8300hs): Likewise.
5669         (pop_h8300): Likewise.
5670         (pop_h8300hs): Likewise.
5671         (*stm_h8300s_2): Change the name to stm_h8300s_2.
5672         (*stm_h8300s_3): Change the name to stm_h8300s_3.
5673         (*stm_h8300s_4): Change the name to stm_h8300s_4.
5674         (*ldm_h8300s_2): New.
5675         (*ldm_h8300s_3): Likewise.
5676         (*ldm_h8300s_4): Likewise.
5677         (return): Likewise.
5678         (*return_1): Likewise.
5679         (prologue): Likewise.
5680         (epilogue): Likewise.
5681         (monitor_prologue): Likewise.
5682
5683 2003-01-03  Dale Johannesen  <dalej@apple.com>
5684
5685         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
5686           machopic_picsymbol_stub1.
5687           (EXTRA_SECTION_FUNCTIONS):  Ditto.
5688         * rs6000/rs6000.c:  Update copyright.
5689           (machopic_output_stub):  Use them.  Remove an insn from stub code.
5690
5691 2003-01-02  Jason Merrill  <jason@redhat.com>
5692
5693         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5694
5695         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5696         static/external decls.
5697
5698         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5699         outermost scope.
5700         * c-decl.c (c_make_fname_decl): Push the decls there, too.
5701
5702 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
5703
5704         * config/h8300/h8300-protos.h: Add a prototype for
5705         h8300_current_function_interrupt_function_p.
5706         * config/h8300/h8300.c (interrupt_handler): Remove.
5707         (os_task): Likewise.
5708         (monitor): Likewise.
5709         (pragma_interrupt): New.
5710         (WORD_REG_USED): Use
5711         h8300_current_function_interrupt_function_p.
5712         (dosize): Likewise.
5713         (h8300_output_function_prologue): Likewise.
5714         Do not set interrupt_handler, os_task, monitor.
5715         (h8300_output_function_prologue): Use
5716         h8300_current_function_interrupt_function_p.
5717         Do not set interrupt_handler, os_task, monitor.
5718         (h8300_current_function_interrupt_function_p): New.
5719         (h8300_pr_interrupt): Set pragma_interrupt.
5720         (h8300_insert_attributes): Reset pragma_interrupt.
5721
5722 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5723
5724         * doc/install.texi (Configuration): Fix markup for reference to
5725         gcc/config.gcc.
5726
5727 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5728
5729         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5730         (*iorhi3_two_qi): Likewise.
5731         (*iorsi3_zexthi): Likewise.
5732         (*xorhi3_zextqi): Likewise.
5733         (*xorsi3_zexthi): Likewise.
5734         (*xorsi3_zextqi): Likewise.
5735
5736 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5737
5738         * config/h8300/h8300.c (stack_pointer_operand): New.
5739         (const_int_gt_2_operand): Likewise.
5740         (const_int_ge_8_operand): Likewise.
5741         * config/h8300/h8300.md (a splitter): Likewise.
5742         (a peephole2): Likewise.
5743         * config/h8300/h8300-protos.h: Add prototypes for the new
5744         functions above.
5745
5746 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5747
5748         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5749         objc/objc-act.h: Fix copyright years.
5750
5751 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5752
5753         * doc/passes.texi: Fix documentation for -fssa-ccp
5754
5755 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
5756
5757         * gccbug.in: Update for new categories.
5758
5759 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5760
5761         * config/h8300/h8300.md: Reorder some patterns.
5762
5763 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5764
5765         * config/h8300/h8300.c (output_logical_op): Fix a warning.
5766
5767 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5768
5769         * config/darwin-protos.h, config/c4x/c4x-protos.h,
5770         config/cris/cris-protos.h, config/i370/i370-protos.h,
5771         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5772         config/v850/v850-protos.h: Use struct, and don't conditionally
5773         compile on GCC_C_PRAGMA_H.
5774
5775 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5776
5777         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5778         * config/h8300/h8300-protos.h: Likewise.
5779         * config/sh/sh-protos.h: Likewise.
5780
5781 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5782
5783         * config/arm/arm-protos.h: Use struct cpp_reader instead of
5784         cpp_reader.
5785         * config/h8300/h8300-protos.h: Likewise.
5786         * config/sh/sh-protos.h: Likewise.
5787
5788 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5789
5790         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5791         arm_pr_long_calls_off): Use struct.
5792         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5793         : Similarly.
5794         Don't include cpplib.h.
5795         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5796         sh_pr_nosave_low_regs): Similarly.
5797
5798 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5799
5800         * config/h8300/h8300.c: Include cpplib.h.
5801
5802 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5803
5804         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5805           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5806           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5807           "GCC" in the copyright header.
5808
5809 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5810
5811         * c-pragma.c (c_register_pragma): New.
5812         (init_pragma): Use it.
5813         * c-pragma.h (cpp_register_pragma): Don't declare.
5814         (c_register_pragma): New.
5815         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5816         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5817         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5818         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5819         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5820         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5821         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5822         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5823         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5824         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5825         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5826         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5827
5828 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5829
5830         * config/h8300/h8300-protos.h: Update the prototypes.
5831         * config/h8300/h8300.c (const_le_2_operand): Change to
5832         const_int_le_2_operand.
5833         (const_int_le_6_operand): Change to const_int_le_6_operand.
5834         * config/h8300/h8300.md (two peepholes): Update the function
5835         names.
5836
5837 2002-12-31  Tom Tromey  <tromey@redhat.com>
5838
5839         * doc/install.texi (Testing): Fixed typo.
5840
5841 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5842
5843         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5844         (TRAMPOLINE_SIZE): Support the normal mode.
5845         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5846
5847 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
5848
5849         * c-common.h (pending_lang_change): Declare.
5850
5851 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5852
5853         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5854         descriptions.
5855
5856 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5857
5858         * gcc/doc/invoke.texi (Optimization Options): List the options
5859         enabled by each -O flag.
5860
5861 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5862
5863         * doc/install.texi (Configuration): Explicitly refer
5864         gcc/config.gcc for a list of cpu models.
5865
5866 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5867
5868         * config/h8300/h8300.h: Fix comment typos.
5869
5870 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
5871
5872         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5873
5874 2002-12-30  Tom Tromey  <tromey@redhat.com>
5875
5876         * doc/install.texi (Testing): Mention Jacks.
5877
5878 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5879
5880         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5881
5882 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5883
5884         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5885         cases.
5886         (compute_logical_op_length): Update to reflect the change in
5887         output_logical_op.
5888         (compute_logical_op_cc): Likewise.
5889
5890 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5891
5892         * doc/service.texi: Uncomment and update FAQ link.
5893
5894 2002-12-30  Andreas Jaeger  <aj@suse.de>
5895
5896         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5897
5898 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5899
5900         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5901
5902 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5903
5904         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5905         are clearing the most significant byte.
5906         (compute_logical_op_length): Update to reflect the change in
5907         output_logical_op.
5908         (compute_logical_op_cc): Likewise.
5909
5910 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5911
5912         * config/h8300/h8300.md: Give internal names to anonymous
5913         insns.
5914
5915 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5916
5917         * config/h8300/h8300.md: Reorder some insns.
5918
5919 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5920
5921         * config/h8300/h8300-protos.h: Add prototypes for
5922         const_int_qi_operand and const_int_hi_operand.
5923         * config/h8300/h8300.c (const_int_qi_operand): New.
5924         (const_int_hi_operand): Likewise.
5925         * config/h8300/h8300.md (three peepholes): New.
5926
5927 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5928
5929         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5930         Use @copying.
5931
5932 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5933
5934         * configure.in: Increase makeinfo version requirement to 4.[2-9].
5935         * configure: Regenerate.
5936         * doc/install.texi: Update Texinfo version requirement.
5937
5938 2002-12-28  Andreas Jaeger  <aj@suse.de>
5939
5940         * config/i386/i386.c (x86_function_profiler): Mark labelno as
5941         possibly unused.
5942
5943         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5944         correct format.
5945
5946 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
5947
5948         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5949         *iorhi_ashift_8.
5950         (*iorhi_lshiftrt_8): New.
5951
5952 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
5953
5954         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5955
5956 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5957
5958         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5959
5960 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5961
5962         * config/h8300/h8300-protos.h: Fix comment typos.
5963         Update copyright.
5964         * config/h8300/h8300.c: Fix comment typos.
5965
5966 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5967
5968         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5969
5970 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5971
5972         * config/i386/athlon.md: Fix comment typos.
5973         * config/i386/crtdll.h: Likewise.
5974         * config/i386/djgpp.h: Likewise.
5975         * config/i386/i386-interix.h: Likewise.
5976         * config/i386/i386.c: Likewise.
5977         * config/i386/i386.h: Likewise.
5978         * config/i386/i386.md: Likewise.
5979         * config/i386/k6.md: Likewise.
5980         * config/i386/mingw32.h: Likewise.
5981         * config/i386/pentium.md: Likewise.
5982         * config/i386/sco5.h: Likewise.
5983         * config/i386/winnt.c: Likewise.
5984         * config/i386/xmmintrin.h: Likewise.
5985
5986 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
5987
5988         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5989         INSN_P before checking to see if it is dead.
5990         (mark_all_insn_unnecessary): Similarly.
5991         (ssa_eliminate_dead_code): Similarly.
5992         * rtl.h (struct rtx_def): Update comments for in_struct usage
5993         in dead code elimination pass.
5994         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5995
5996 2002-12-26  Andreas Schwab  <schwab@suse.de>
5997
5998         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
5999
6000 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
6001
6002         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6003         tartet_flags_explicit.
6004         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6005         Compact target_flags bits.
6006         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6007         (TARGET_SWITCHES): Delete references to *_SET flags.
6008
6009 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6010
6011         * i386.md (memory attribute): Fix setcc attribute.
6012
6013 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6014
6015         * output.h: Fix comment typos.
6016         * predict.c: Likewise.
6017         * print-tree.c: Likewise.
6018         * profile.c: Likewise.
6019         * ra-build.c: Likewise.
6020         * ra-colorize.c: Likewise.
6021         * ra-debug.c: Likewise.
6022         * ra-rewrite.c: Likewise.
6023         * ra.c: Likewise.
6024         * ra.h: Likewise.
6025         * real.c: Likewise.
6026         * recog.c: Likewise.
6027         * reg-stack.c: Likewise.
6028         * regclass.c: Likewise.
6029
6030 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6031
6032         * config/h8300/h8300.c (print_operand_address): Do not negate
6033         a negative number when printing one.
6034
6035 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6036
6037         * config/h8300/h8300-protos.h: Add prototypes for
6038         output_plussi, compute_plussi_length, and compute_plussi_cc.
6039         * config/h8300/h8300.c (output_plussi): New.
6040         (compute_plussi_length): Likewise.
6041         (compute_plussi_cc): Likewise.
6042         * config/h8300/h8300.md (addsi_h8300h): Call
6043         output_plussi, compute_plussi_length, and compute_plussi_cc.
6044
6045 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6046
6047         * config/h8300/h8300.md (two peepholes): Use match_dup instead
6048         of match_operand in the new patterns.
6049
6050 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
6051
6052         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6053
6054 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
6055
6056         * configure.in (enable-coverage): Add SELF_COVERAGE.
6057         * profile.c (end_branch_prob): Use SELF_COVERAGE.
6058
6059 2002-12-24  Jim Wilson  <wilson@redhat.com>
6060
6061         * alias.c (record_set): Handle multi-reg hard registers.
6062
6063 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6064
6065         * regmove.c: Fix comment typos.
6066         * reload.c: Likewise.
6067         * reload1.c: Likewise.
6068         * resource.c: Likewise.
6069         * rtl.def: Likewise.
6070         * rtl.h: Likewise.
6071         * rtlanal.c: Likewise.
6072         * sched-deps.c: Likewise.
6073         * sched-rgn.c: Likewise.
6074         * sibcall.c: Likewise.
6075         * simplify-rtx.c: Likewise.
6076         * ssa-ccp.c: Likewise.
6077         * ssa.c: Likewise.
6078         * stmt.c: Likewise.
6079         * stor-layout.c: Likewise.
6080         * system.h: Likewise.
6081         * tlink.c: Likewise.
6082         * toplev.c: Likewise.
6083         * tracer.c: Likewise.
6084         * tree-inline.c: Likewise.
6085         * tree.c: Likewise.
6086         * tree.h: Likewise.
6087         * unroll.c: Likewise.
6088         * varasm.c: Likewise.
6089
6090 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
6091
6092         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6093         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6094         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6095         DG/UX entries.
6096         * doc/md.texi: Remove AMD 29K entries.
6097         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6098         1.38.1, NewsOS, RT PC, WE32K entries.
6099
6100 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
6101
6102         PR/8763
6103         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6104         (altivec_vspltisw_v4sf): Name pattern.
6105         (altivec_vslw_v4sf): New pattern.
6106
6107 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
6108
6109         * doc/include/gcc-common.texi: Define DEVELOPMENT.
6110
6111 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
6112
6113         * stor-layout.c (update_alignment_for_field): Correct handling of
6114         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6115         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6116         bitfield does not affect alignment.
6117
6118 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
6119
6120         * expr.c (expand_assignment): Apply special treatment to
6121         ARRAY_TYPE.
6122
6123 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6124
6125         * config/h8300/h8300-protos.h: Update the prototype of
6126         expand_a_shift.
6127         * config/h8300/h8300.c (expand_a_shift): Change the return
6128         type to void.
6129         * config/h8300/h8300.md: Update all the uses of
6130         expand_a_shift.
6131
6132 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
6133
6134         * tree.c (save_expr): Allow either side of a dyadic operand to be
6135         constant.
6136
6137         * doc/portability.texi (portability): Update portability goals.
6138
6139 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6140
6141         * config/h8300/h8300.c (output_a_shift): Remove unused code.
6142
6143 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
6144
6145         * stor-layout.c (update_alignment_for_field): Guard use of
6146         ADJUST_FIELD_ALIGN with #ifdef.
6147
6148         * stor-layout.c (update_alignment_for_field): Use
6149         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6150         bitfield when PCC_BITFIELD_TYPE_MATTERS.
6151
6152 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6153
6154         * genautomata.c: Fix comment typos.
6155
6156 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6157
6158         * params.def (tracer-min-branch-probability-feedback): Fix default.
6159         * final.c (compute_alignments): Use profile to avoid code bloat.
6160
6161 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6162
6163         * config/h8300/h8300.c (get_shift_alg): Make shift insn
6164         sequences end with a valid cc0 whenever possible.
6165
6166 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6167
6168         * config/h8300/h8300.md (negsf2): New.
6169         (*negsf2_h8300): Likewise.
6170         (*negsf2_h8300hs): Likewise.
6171
6172 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
6173
6174         * integrate.c (output_inline_function): Don't hold private
6175         pointers to 'struct function' over GC calls.
6176
6177 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
6178
6179         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6180         NO_FPSCR_VALUES.
6181         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6182
6183 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6184
6185         * config/h8300/h8300.md (zero_extendqisi2): Correct the
6186         length.
6187
6188 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6189
6190         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6191         second alternative "#".
6192         (*zero_extendqihi2_h8300hs): Likewise.
6193         (a define_split): New.
6194
6195 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6196
6197         * config/h8300/h8300-protos.h: Update the prototype for
6198         split_adds_subs.
6199         Add prototypes for const_le_2_operand and const_le_6_operand.
6200         * config/h8300/h8300.c (split_adds_subs): Add an argument to
6201         specify whether inc/dec should be used when possible.
6202         (const_le_2_operand): New.
6203         (const_le_6_operand): Likewise.
6204         * config/h8300/h8300.md (two peepholes): New.
6205
6206 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6207
6208         * config/fr30/fr30.md: Fix a comment typo.
6209         * config/i386/i386.c: Likewise.
6210         * config/ip2k/ip2k.h: Likewise.
6211
6212 2002-12-20  Jim Wilson  <wilson@redhat.com>
6213
6214         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6215         (__ev_subw, __ev_subiw): New.
6216         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6217         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6218
6219 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
6220
6221         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6222         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6223         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6224         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
6225
6226 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6227
6228         * config/h8300/h8300-protos.h: Add prototypes for
6229         incdec_operand and eqne_operator.
6230         * config/h8300/h8300.c (incdec_operand): New.
6231         (eqne_operator): Likewise.
6232         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6233         (CONST_OK_FOR_O): Likewise.
6234         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6235         CONST_OK_FOR_O.
6236         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6237         (addhi3_incdec): New.
6238         (addsi3_incdec): Likewise.
6239         (two peepholes): Likewise.
6240
6241 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6242
6243         * config/h8300/h8300.c (dosize): Remove warnings.
6244         (print_operand): Likewise.
6245
6246 2002-12-20  Richard Henderson  <rth@redhat.com>
6247
6248         * config/alpha/alpha.c (decl_has_samegp): New.
6249         (samegp_function_operand): Use it.  Rename from
6250         current_file_function_operand.
6251         (direct_call_operand): Handle -msmall-text via symbol->jump.
6252         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6253         (tls_symbolic_operand_type): Likewise.
6254         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
6255         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6256         (alpha_end_function): Set symbol->jump for functions defined in
6257         the text section.
6258         * config/alpha/alpha-protos.h: Update.
6259         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6260         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6261         (PREDICATE_CODES): Update.
6262         * config/alpha/alpha.md (call patterns): Update for
6263         samegp_function_operand rename; use !samegp reloc if
6264         TARGET_EXPLICIT_RELOCS.
6265         * doc/invoke.text: Document -msmall-text and -mlarge-text.
6266
6267 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6268
6269         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6270         all registers capable of holding a double float.
6271         (*rcond): change name of "reverse branch" insns to
6272         something more meaningful.
6273         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6274         comparisons properly.
6275         (*ffs): Change operand 0 from write to read-modify-write.
6276         (*ffsssi2): Drop constraints from define_expand.
6277
6278         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6279         MOVE_RATIO as default for store operations.
6280
6281         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6282         LONG_REGS class.
6283         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6284         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6285         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
6286
6287         * config/ns32k/STATUS: New File
6288         * config/ns32k/NOTES: New file.
6289
6290 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
6291
6292         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
6293         option for S/390 and zSeries.
6294         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6295         s390_arch_string): New variables.
6296         (override_options): Checking for options and setting of
6297         appropriate target_flags, cpu and arch flags.
6298         * config/s390/s390.h: (processor_type): New enum.
6299         (TARGET_SWITCHES): New switches -mesa/zarch.
6300         * config/s390/s390.md: New attribute 'cpu'.
6301
6302 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6303
6304         * c-pretty-print.h: Fix comment typos.
6305         * integrate.c: Likewise.
6306         * varasm.c: Likewise.
6307         * config/c4x/c4x.h: Likewise.
6308         * config/c4x/c4x.md: Likewise.
6309         * config/fr30/fr30.md: Likewise.
6310         * config/frv/frv.c: Likewise.
6311         * config/h8300/h8300.c: Likewise.
6312         * config/i386/i386.c: Likewise.
6313         * config/i386/i386.h: Likewise.
6314         * config/ia64/ia64.c: Likewise.
6315         * config/ia64/ia64.h: Likewise.
6316         * config/ip2k/ip2k.md: Likewise.
6317         * config/m68hc11/m68hc11-crt0.S: Likewise.
6318         * config/m68hc11/m68hc11.h: Likewise.
6319         * config/m68hc11/m68hc11.md: Likewise.
6320         * config/m68hc11/m68hc12.h: Likewise.
6321         * config/mcore/mcore.md: Likewise.
6322         * config/mips/mips.c: Likewise.
6323         * config/mips/mips.md: Likewise.
6324         * config/mmix/mmix-modes.def: Likewise.
6325         * config/pa/pa.c: Likewise.
6326         * config/rs6000/rs6000.c: Likewise.
6327         * config/rs6000/rs6000.h: Likewise.
6328         * config/rs6000/rs6000.md: Likewise.
6329
6330 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6331
6332         * config/h8300/h8300.md (output_a_shift): Clean up the code to
6333         output shifts using rotation.
6334
6335 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6336
6337         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6338
6339 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6340
6341         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
6342         pointer.
6343         (pushqi_h8300hs): Likewise.
6344         (pushhi_h8300): Likewise.
6345         (pushhi_h8300hs): Likewise.
6346
6347 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
6348
6349         * sched-rgn.c (init_regions): Update comment.
6350
6351 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
6352
6353         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
6354         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
6355         attributes.
6356         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
6357         (get_vrsave_internal,set_vrsave_internal): Same.
6358         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
6359         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
6360         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
6361
6362 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6363             Danny Smith  <dannysmith@users.sourceforge.net>
6364             Eric Kohl  <ekohl@rz-online.de>
6365
6366         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
6367         attributes incompatible with fastcall attribute.
6368         (ix86_handle_regparm_attribute): Likewise.
6369
6370         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
6371         fastcall types.
6372
6373         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6374         attributes.
6375         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
6376         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
6377         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
6378         i386_pe_output_labelref rather than here.
6379         (gen_fastcall_suffix): New function. Decorates a label name with the
6380         fastcall prefix (@) and the stdcall suffix.
6381         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
6382         has a fastcall attribute.
6383         (i386_pe_output_labelref): New function. Outputs a label reference.
6384         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
6385         valid attribute.
6386         (ix86_return_pops_args): Fastcall functions pop the stack.
6387         (init_cumulative_args): Reserve registers ECX and EDX if function has
6388         fastcall attribute.
6389         (function_arg): Use registers ECX and EDX if function has fastcall
6390         attribute.
6391         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
6392         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
6393         (FASTCALL_PREFIX): Define as '@'.
6394         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6395         attributes.
6396         * doc/extend.texi: Add documentation of fastcall attribute.
6397
6398 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6399
6400         * configure.in: FORBUILD when build!=host changed from
6401         ../$build-alias to ../build-$build_alias to match change made
6402         in top directory.
6403         * configure: Regenerated.
6404
6405 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6406
6407         PR optimization/8988
6408         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
6409         the biv when eliminating.
6410
6411 2002-12-19  Devang Patel  <dpatel@apple.com>
6412         * gcc.c (struct default_compiler): Recognizes input file name with
6413         .CPP extension as C++ source files
6414         * cp/lang-spec.h: Same
6415         * doc/invoke.texi:  Add documentation for .CPP support.
6416
6417 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
6418
6419         PR 8553
6420         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
6421         registers.
6422         ("absv16qi2"): Same.
6423         ("absv4si2"): Same.
6424         ("absv4sf2"): Same.
6425         ("altivec_abss_v16qi"): Same.
6426         ("altivec_abss_v8hi"): Same.
6427         ("altivec_abss_v4si"): Same.
6428
6429 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6430
6431         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6432         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6433
6434 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6435
6436         PR target/8340
6437         * stmt.c (expand_asm_operands): Produce an error when
6438         the PIC register is clobbered.
6439
6440 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6441
6442         * Makefile.in (OBJS): Add alloc-pool.o
6443         (alloc-pool.o): New object.
6444
6445         * alloc-pool.c: New file.
6446         * alloc-pool.h: New file.
6447
6448 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6449
6450         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6451
6452 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6453
6454         * config.gcc: Set extra_objs in the generic Darwin rule,
6455         not in the machine-specific rules.
6456
6457 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6458
6459         * ChangeLog: Follow spelling conventions.
6460         * ChangeLog.2: Likewise.
6461         * ChangeLog.4: Likewise.
6462         * ChangeLog.5: Likewise.
6463         * cppexp.c: Likewise.
6464         * df.c: Likewise.
6465         * gcov.c: Likewise.
6466         * gengtype.c: Likewise.
6467         * reload1.c: Likewise.
6468         * sched-rgn.c: Likewise.
6469         * stmt.c: Likewise.
6470         * stor-layout.c: Likewise.
6471         * timevar.c: Likewise.
6472         * toplev.c: Likewise.
6473         * tree.h: Likewise.
6474         * varasm.c: Likewise.
6475         * config/fr30/fr30.md: Likewise.
6476         * config/i386/i386.c: Likewise.
6477         * config/ia64/ia64.c: Likewise.
6478         * config/pa/pa.c: Likewise.
6479
6480 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6481
6482         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6483
6484 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6485
6486         PR 8551
6487         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6488         macro.
6489         (vec_cmplt C++ functions): Reverse arguments.
6490
6491 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6492
6493         * config/rs6000/t-rs6000: Move contents to t-fprules,
6494         add rules for dependencies of rs6000.o and to build rs6000-c.o
6495         * config/rs6000/t-fprules: New file from t-rs6000.
6496         * config/rs6000/t-beos: Remove soft-fp rules.
6497         * config/rs6000/t-ppccomm: Likewise.
6498         * config/rs6000/t-newas: Likewise.
6499         * config/rs6000/t-rs6000-c-rule: Delete.
6500         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6501         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6502         Create generic Darwin rules.
6503
6504         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6505
6506 2002-12-18  Doug Evans  <dje@sebabeach.org>
6507
6508         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6509         and LIT_NAME_P.
6510         (move_src_operand): Remove compile-time warning.
6511         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6512
6513 2002-12-18  Jason Merrill  <jason@redhat.com>
6514
6515         * unwind-dw2-fde.c (frame_downheap): Split out from...
6516         (frame_heapsort): Here.
6517
6518 2002-12-17  Jason Merrill  <jason@redhat.com>
6519
6520         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6521         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6522
6523         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6524
6525         * calls.c (expand_call): Don't try to be clever about expanding
6526         the return slot address.
6527
6528 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6529
6530         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6531         Define.
6532
6533 2002-12-17  Jason Merrill  <jason@redhat.com>
6534
6535         * genmultilib: Use 'cd ./foo'.
6536
6537 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6538
6539         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6540
6541 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6542
6543         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6544         * doc/cpp.texi: Likewise.
6545         * doc/extend.texi: Likewise.
6546         * doc/gty.texi: Likewise.
6547         * doc/install.texi: Likewise.
6548         * doc/invoke.texi: Likewise.
6549         * doc/md.texi: Likewise.
6550         * doc/passes.texi: Likewise.
6551         * doc/rtl.texi: Likewise.
6552         * doc/sourcebuild.texi: Likewise.
6553         * doc/tm.texi: Likewise.
6554
6555 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6556
6557         * doc/invoke.texi: Minor spelling and grammar fixes.
6558
6559 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6560
6561         * config/s390/s390.c (s390_output_constant_pool): Replace
6562         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6563
6564 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6565
6566         * convert.c (convert_to_real): Disable function transformation for
6567         now.
6568
6569 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6570
6571         * gcc.c (handle_braces): Allow '@' as a switch name.
6572
6573 2002-12-16  Jason Merrill  <jason@redhat.com>
6574
6575         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6576         with special struct-return ABIs.
6577
6578         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6579         doesn't match the begin SCOPE_STMT in partialness.
6580
6581 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6582
6583         * genmultilib: Create temporary files in unique subdirectory.
6584
6585         * gcc.c (validate_switches): Allow '@' as a switch name.
6586
6587 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6588
6589         * Makefile.in (gcov-iov.h): Improve portability.
6590
6591 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6592
6593         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6594         gas
6595         * mips.md (tablejump insn): Likewise.
6596
6597 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6598
6599         * doc/include/gcc-common.texi: Change version number to 3.4.
6600
6601 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6602
6603         * fixinc/fixlib.h: add: #include <signal.h>
6604         * fixinc/fixincl.c: remove: #include <signal.h>
6605
6606 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6607
6608         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6609         (EXTRA_CONSTRAINT): Use it.
6610         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6611
6612 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6613
6614         * config.gcc (need_64bit_hwint): New variable.
6615         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6616         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6617         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6618         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6619         Set it.
6620         (powerpc*-*-darwin*): Unset it.
6621         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6622         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6623         deleted/nonexistent xm-*.h headers.
6624         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6625         target set need_64bit_hwint in config.gcc.
6626         * configure, config.in: Regenerate.
6627
6628         * hwint.h: Overhaul.  Don't bother trying int for
6629         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6630         decision to force 64-bit HOST_WIDE_INT on
6631         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6632         not visible at this point.  Don't allow prior definition of
6633         any macro defined by this file.
6634
6635         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6636         HOST_BITS_PER_WIDE_INT.
6637         * config/c4x/c4x.h: Adjust redefinition of
6638         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6639         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6640         config/i386/xm-i386-interix.h: Delete file.
6641
6642 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6643             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6644
6645         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6646         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6647
6648 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6649
6650         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6651
6652 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6653
6654         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6655         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6656         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6657         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6658         config/v850/t-v850:  Correct dependencies and normalize
6659         compilation commands for files that include coretypes.h and tm.h.
6660
6661         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6662         not config.h and system.h.
6663
6664 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6665
6666         * i386.c (flags_reg_operand):  New function.
6667         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6668         * i386.md (cmov splitter, movqicc): Use new predicate.
6669
6670 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6671
6672         * i386.md (movqicc splitter): Fix template.
6673
6674 2002-12-13  Jason Merrill  <jason@redhat.com>
6675
6676         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6677         * calls.c (expand_call): Handle it.
6678         * tree-inline.c (struct inline_data): Remove target_exprs field.
6679         (optimize_inline_calls): Don't initialize it.
6680         (expand_call_inline): Don't modify it.  Handle
6681         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6682         (declare_return_variable): Take return slot addr.
6683         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6684         to return_slot_addr.
6685         * langhooks-def.h, langhooks.c: Adjust.
6686         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6687         a decl with no DECL_INITIAL.
6688
6689         * expr.c (expand_expr): Don't discard the target of a call which
6690         returns in memory.
6691
6692 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
6693
6694         * cppinit.c (path_include): Take an environment variable name.
6695         Tidy up.
6696         (init_standard_includes): Simplify environment handling, and
6697         move to ...
6698         (cpp_read_main_file): ...here as -nostdinc should not affect
6699         environment variable paths.
6700
6701 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6702
6703         * pa.c (output_millicode_call): Correct typo.
6704         (output_call): Likewise.
6705
6706 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
6707
6708         * config/mn10300/mn10300.c (print_operand) <case N>: Check
6709         operand's range.  Print value directly, without aid from
6710         output_address.
6711         <case U>: New.
6712         <case S>: Make sure argument to fprintf has the right type.
6713         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6714         (EXTRA_CONSTRAINT): Adjust.
6715         * config/mn10300/mn10300.md: Add new all-QImode pattern for
6716         bclr.  Use %U for immediate operands of bset and bclr.
6717         (iorqi3): New expand, with insns for AM33 and mn10300.
6718
6719 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
6720
6721         * sh.c (sh_register_operand): New function.
6722         (prepare_move_operands): Use it.
6723         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6724         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6725         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6726         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6727         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6728         (movv2si_i): Likewise.
6729
6730 2002-12-13  Jim Wilson  <wilson@redhat.com>
6731
6732         * doc/extend.texi (Complex Numbers): Update info on debug info.
6733
6734 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
6735
6736         * config/h8300/h8300.md (addhi3_h8300): Remove the last
6737         alternative.
6738
6739 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6740
6741         * hooks.h (hook_tree_tree_bool_false): Declare
6742         hook_bool_tree_tree_false instead.
6743
6744 2002-12-12  Devang Patel  <dpatel@apple.com>
6745
6746         * doc/invoke.texi: Document Darwin linker options, -bundle
6747         -bind_at_load, -all_load and -arch_errors_fatal
6748
6749 2002-12-12  Jim Wilson  <wilson@redhat.com>
6750
6751         * dbxout.c (dbxout_fptype_value): New.
6752         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
6753
6754 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6755
6756         * c-decl.c: Fix a comment typo.
6757         * cfg.c: Likewise.
6758         * cfgcleanup.c: Likewise.
6759         * cfglayout.c: Likewise.
6760         * cfgrtl.c: Likewise.
6761         * c-typeck.c: Likewise.
6762         * dominance.c: Likewise.
6763         * dwarf2asm.c: Likewise.
6764         * dwarfout.c: Likewise.
6765         * expmed.c: Likewise.
6766         * expr.c: Likewise.
6767         * final.c: Likewise.
6768         * flow.c: Likewise.
6769         * function.c: Likewise.
6770         * gcc.c: Likewise.
6771         * genautomata.c: Likewise.
6772         * integrate.c: Likewise.
6773         * loop.c: Likewise.
6774         * loop.h: Likewise.
6775         * output.h: Likewise.
6776         * profile.c: Likewise.
6777         * ra.h: Likewise.
6778         * reload1.c: Likewise.
6779         * reload.c: Likewise.
6780         * sched-rgn.c: Likewise.
6781         * stmt.c: Likewise.
6782         * tree.h: Likewise.
6783         * vmsdbgout.c: Likewise.
6784
6785 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6786
6787         * config/h8300/h8300.md: Add a new peephole2.
6788
6789 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6790
6791         * config/h8300/h8300.md (a peephole2): Accept a constant
6792         that's accepted by CONST_OK_FOR_J.
6793
6794 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6795
6796         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6797         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6798         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6799         (*addhi_h8300hs): Likewise.
6800
6801 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
6802
6803         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
6804         (sh_register_move_cost): Add clause for SImode fp-fp moves.
6805         Increase cost for moves involving multiple general purpose registers.
6806         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6807         TARGET_FMOVD.
6808         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6809         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6810         (enum reg_class reg_class_from_letter): No longer const.
6811         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6812         REGCLASS_HAS_GENERAL_REG.
6813         Handle SImode moves from/to fp registers.
6814         ! TARGET_SHMEDIA && TARGET_FMOVD.
6815         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6816         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6817
6818 2002-12-12  Andreas Schwab  <schwab@suse.de>
6819
6820         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6821         change and some warnings.
6822
6823 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6824
6825         * doc/md.texi (pushm): Fix a typo.
6826
6827 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
6828
6829         * config/mips/mips.c (mips_output_conditional_branch): Support
6830         PIC-safe out-of-range branch and branch-likely.
6831         * config/mips/mips.md (attr length): PIC-safe out-of-range
6832         branches are longer.
6833         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
6834         unused code to support indirect jumps.
6835
6836 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
6837
6838         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6839         $(tm_file_list).
6840
6841 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
6842
6843         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6844
6845 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
6846
6847         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6848
6849 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6850
6851         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6852         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6853         BIGGEST_ALIGNMENT.
6854         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6855         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6856
6857 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6858
6859         * doc/invoke.texi: Correct dump file names.
6860
6861 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6862
6863         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6864         name to globalize_label or assemble_name.
6865
6866 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
6867
6868         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6869         if not TARGET_SHMEDIA.
6870
6871 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
6872
6873         * sh.h (REG_CLASS_HAS_FP_REG): New.
6874         (REGISTER_MOVE_COST) Use it.  Put body into a function and
6875         move it into:
6876         * sh.c (sh_register_move_cost).
6877         * sh-protos.h (sh_register_move_cost): Declare.
6878
6879         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6880         (sh_adjust_cost): Always return a value.
6881
6882 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
6883
6884         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6885         (REGISTER_MOVE_COST): Use it.
6886
6887 2002-12-11  Richard Henderson  <rth@redhat.com>
6888
6889         * tree.h (MODULE_LOCAL_P): Kill.
6890         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6891
6892 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6893
6894         * config/h8300/h8300.md (two define_peephole2): New.
6895
6896 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6897
6898         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6899         (CONST_OK_FOR_K): Likewise.
6900         (CONST_OK_FOR_M): Likewise.
6901         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6902
6903 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
6904
6905         * c-common.c (builtin_define_type_max): Handle unsigned
6906         types too.
6907
6908 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
6909
6910         * haifa-sched.c (rank_for_schedule): Correct style.
6911
6912 2002-12-10  Per Bothner  <pbothner@apple.com>
6913
6914         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
6915         directive_index into an unsigned field and a new is_directive field.
6916         * cppinit.c (mark_named_operators):  Update to set new fields.
6917         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
6918         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
6919         No longer need to subtract 1 from directive_index.
6920         (_cpp_init_directives):  No longer need to add 1 to directive_index.
6921         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
6922
6923 2002-12-10  Roger Sayle  <roger@eyesopen.com>
6924
6925         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6926         check for evaluating sqrt of a constant at compile time.
6927         * simplify-rtx.c (simplify_unary_operation): Likewise.
6928
6929 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
6930
6931         PR other/8882
6932         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6933
6934 2002-12-10  Devang Patel  <dpatel@appple.com>
6935
6936         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6937         * doc/invoke.texi: Add new "Darwin Options" section.
6938
6939 2002-12-10  Jim Wilson  <wilson@redhat.com>
6940
6941         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6942         memory.
6943
6944 2002-12-10  Andrew Haley  <aph@redhat.com>
6945
6946         * cse.c (cse_insn): Don't cse past a basic block boundary.
6947
6948 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
6949
6950         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6951         -shared.
6952         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6953         * config/alpha/linux.h (LIB_SPEC): Likewise.
6954         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6955         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6956         * config/sparc/linux.h (LIB_SPEC): Likewise.
6957         * config/sparc/linux64.h (LIB_SPEC): Likewise.
6958
6959 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
6960
6961         * doc/invoke.texi: Document UltraSparc III option.
6962
6963 2002-12-09  Richard Henderson  <rth@redhat.com>
6964
6965         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6966         __tune_pentium2__ and __tune_pentium3__ as necessary.
6967
6968 2002-12-09  Richard Henderson  <rth@redhat.com>
6969
6970         * target.h (gcc_target): Add cannot_force_const_mem.
6971         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6972         (TARGET_INITIALIZER): Add it.
6973         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6974         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6975         * reload1.c (reload): Likewise.
6976         * hooks.c (hook_bool_rtx_false): New.
6977         * hooks.h: Declare it.
6978
6979         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6980         (TARGET_CANNOT_FORCE_CONST_MEM): New.
6981         (ix86_expand_move): Remove de-const-pooling hack.
6982
6983 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
6984
6985         * toplev.c (dump_file): Fix order to match reality.
6986
6987 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
6988
6989         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6990         (store_multiple): Likewise.
6991
6992 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6993
6994         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6995         function pointers in page 0.
6996
6997 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6998
6999         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7000         definition
7001         (MEMBER_TYPE_FORCES_BLK): Move.
7002         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7003         aggregate arguments.
7004         (ia64_function_value): Use PARALLEL to return aggregate values.
7005
7006 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7007
7008         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7009         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7010         * calls.c (store_unaligned_arguments_into_pseudos) Remove
7011         FUNCTION_ARG_REG_LITTLE_ENDIAN.
7012         * stmt.c (expand_return): Ditto.
7013         * expr.c (move_block_from_reg): Ditto.
7014         (copy_blkmode_from_reg): Ditto.
7015         * expmed.c (store_bit_field): Ditto.
7016
7017 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
7018
7019         * config.gcc: Added tic4x-* target as an alias to c4x-*
7020
7021 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7022
7023         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7024         constructing insn directly.
7025
7026 2002-12-06  Per Bothner  <pbothner@apple.com>
7027
7028         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
7029         char to an int bit-field, for hosts where char is unsigned.
7030
7031 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7032             Richard Henderson <rth@redhat.com>
7033
7034         * real.c (ieee_extended_motorola_format,
7035         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7036         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7037         Provide appropriate values for new signbit field.
7038
7039 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7040
7041         * real.h (real_format): Add signbit field.
7042         * real.c (ieee_single_format, ieee_double_format,
7043         ieee_extended_motorola_format, ieee_extended_intel_96_format,
7044         ieee_extended_intel_128_format, ibm_extended_format,
7045         ieee_quad_format, vax_f_format, vax_d_format,
7046         vax_g_format, i370_single_format, i370_double_format,
7047         c4x_single_format, c4x_extended_format, real_internal_format):
7048         Provide suitable signbit value, or -1 to avoid bit twiddling.
7049
7050         * optabs.c (expand_unop): Try implementing negation of
7051         floating point modes by flipping the sign bit.
7052         (expand_abs): Try implementing abs of floating point modes
7053         by clearing the sign bit.
7054
7055 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7056
7057         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
7058         of constructing insn directly.
7059
7060 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
7061
7062         * config/h8300/h8300.md (*iorhi_shift_8): New.
7063
7064 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
7065
7066         * doc/invoke.texi: Document FRV port options.
7067         * doc/md.texi: Document FRV register classes.
7068
7069 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7070
7071         * doc/install.texi (Configuration): Improve description of cases
7072         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7073
7074 2002-12-06  Per Bothner  <pbothner@apple.com>
7075
7076         * cpplib.h (NODE_MACRO_ARG):  New flag.
7077         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
7078         Remove value.operator field.  Move arg_index field to value union.
7079         (directive_index):  Make signed, since also used for C++ operators.
7080         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
7081         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
7082         Save node->value, and set node->value.arg_index.
7083         (_cpp_create_definition):  For each paramater, restore node->value.
7084         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
7085         * cpptrad.c (scan_out_logical_line): Likewise.
7086         (scan_out_logical_line): Check for directive > 0.
7087         * cpplib.c (cpp_handle_directive):  Likewise.
7088         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
7089         by negative of directive_index.
7090         * cppinit.c (mark_named_operators):  Likewise.
7091
7092         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
7093
7094 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7095
7096         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7097         FPU.
7098         (push): Generate push_fpscr.
7099         (pop): Generate pop_fpscr.
7100         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7101         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
7102
7103 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
7104
7105         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7106         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7107
7108 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7109
7110         * sh.md (movdi_i): Name.  Remove inappropriate comment.
7111
7112 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
7113         Merged from basic improvements branch (excerpt):
7114
7115         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7116         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7117
7118 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
7119
7120         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7121
7122 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
7123
7124         * i386.md (dimode peep2s): Re-add "&& 1".
7125
7126 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7127
7128         * i386.c (ix86_expand_prologue):  Add comment, do not use
7129         fast prologues for cold and normal functions.
7130
7131 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7132
7133         * i386.c (x86_rep_movl_optimal): New variable.
7134         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7135         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7136
7137         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7138         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7139         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7140         generate unnecesary subregs.
7141
7142 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7143
7144         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7145         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7146
7147 2002-12-05  Dale Johannesen  <dalej@apple.com>
7148
7149         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
7150
7151 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
7152
7153         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7154         PROFILE_HOOK.
7155         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7156
7157 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
7158
7159         * config/rs6000/spe.h (__ev_mwlufi): Remove.
7160         (__ev_mwlufia): Remove.
7161         (__ev_mwlumfaaw): Remove.
7162         (__ev_mwlusfaaw): Remove.
7163         (__ev_mwlumfanw): Remove.
7164         (__ev_mwlusfanw): Remove.
7165
7166 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7167
7168         * config/h8300/h8300.md (*andorsi3_shift_8): New.
7169
7170 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7171
7172         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7173         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7174         (get_shift_alg): Return optimal assembly instructions for the
7175         shifts mentioned above.
7176
7177 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
7178
7179         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7180         condtiional moves.
7181
7182 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7183
7184         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7185         implement ashiftrt:HI by 13 bits on H8S.
7186
7187 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7188
7189         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7190         * pa.md (canonicalize_funcptr_for_compare): Output library call to
7191         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7192         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7193         CTOR_LIST_BEGIN): New defines.
7194         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7195         (fptr.c): Add make rules.
7196
7197 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
7198
7199         * combine.c (combine_simplify_rtx): Add new canonicalizations.
7200         * doc/md.texi (Insn Canonicalizations): Document new
7201         canonicalizations for multiply/add combinations.
7202         * config/rs6000/rs6000.md: Add and modify floating add/multiply
7203         patterns to ensure they're used whenever they can be.
7204
7205 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7206
7207         * config/h8300/h8300.c: Update the comments related to shifts.
7208
7209 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7210
7211         * config/mips/mips.md (get_fnaddr): Correct length attribute.
7212
7213 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7214
7215         * config/h8300/h8300.md (*extzv_8_8): New.
7216         (*extzv_8_16): Likewise.
7217
7218 2002-12-04  Jason Merrill  <jason@redhat.com>
7219
7220         PR c++/8461, c++/8625
7221         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7222         references.
7223         * tree-inline.c (initialize_inlined_parameters): Likewise.
7224
7225         * tree.c (variably_modified_type_p): Just return an error_mark_node.
7226
7227 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7228
7229         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7230         macro instruction in a branch delay slot, to avoid assembler
7231         warnings.
7232
7233 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
7234
7235         PR c/7622
7236         * c-semantics (genrtl_scope_stmt): Do not output inlined
7237         nested functions that contain no code.
7238
7239 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7240
7241         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
7242         to be forced into nonfallthru.
7243
7244 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
7245
7246         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7247
7248 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
7249
7250         * config/rs6000/spe.md (*movv1di_const0): New pattern.
7251
7252 2002-12-03  Richard Henderson  <rth@redhat.com>
7253
7254         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7255
7256 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
7257
7258         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7259         Initialize tmp.using_obstack to 0.
7260
7261 2002-12-03  Andreas Schwab  <schwab@suse.de>
7262
7263         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7264         (EH_RETURN_STACKADJ_RTX): Define.
7265         (EH_RETURN_HANDLER_RTX): Define.
7266         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7267         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
7268         registers and don't save fixed registers.
7269         (m68k_output_function_prologue): Use it.
7270         (use_return_insn): Likewise.
7271         (m68k_output_function_epilogue): Likewise.
7272
7273 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
7274
7275         * config/h8300/h8300.c (single_one_operand): Fix a warning.
7276         (single_zero_operand): Likewise.
7277
7278 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7279
7280         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7281         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7282         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7283         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7284         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7285         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7286         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7287         doc/install-old.texi: Replace hconfig.h with bconfig.h.
7288         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7289
7290 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
7291
7292         * config/rs6000/rs6000.md (ffssi): Convert to expander.
7293         (ffsdi): Likewise.
7294         (cntlzw2, cntlzd2): New patterns.
7295
7296 2002-12-02  H.J. Lu <hjl@gnu.org>
7297
7298         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7299         (mips*-*-linux*): Remove mips/t-linux.
7300
7301 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
7302
7303         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7304
7305 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7306
7307         * config/h8300/h8300.c (dosize): Replace argument op with
7308         sign.
7309         (h8300_output_function_prologue): Update the call to dosize.
7310         (h8300_output_function_epilogue): Likewise.
7311
7312 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
7313
7314         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7315
7316 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7317
7318         * configure.in: Use "missing" script to generate warning if
7319         flex or bison programs not found, instead of invoking "false".
7320         * configure: Rebuilt.
7321
7322 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7323
7324         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7325
7326 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
7327
7328         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7329
7330 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7331
7332         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7333         (push): Likewise.
7334         (pop): Likewise.
7335         (h8300_output_function_prologue): Likewise.
7336         (h8300_output_function_epilogue): Likewise.
7337
7338 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
7339
7340         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7341         corresponding mode of non-integer mode, unless it is VOIDmode.
7342
7343 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7344
7345         * config/h8300/h8300.md (stm_h8300s_2): New.
7346         (stm_h8300s_3): Likewise.
7347         (stm_h8300s_4): Likewise.
7348         (five define_peephole2): Likewise.
7349
7350 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7351
7352         * ra-build.c: Fix a comment typo.
7353
7354 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7355
7356         * i386.c (ix86_expand_int_movcc): fix
7357         reversed BRANCH_COST test; be curefull about infinite recursion.
7358
7359 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7360
7361         * config/h8300/h8300.c (h8300_output_function_prologue):
7362         Remove variable idx.
7363         (h8300_output_function_epilogue): Likewise.
7364
7365 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
7366
7367         * config/frv/xm-frv.h: Delete, unnecessary.
7368
7369 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7370
7371         * config/h8300/h8300.md: Add comments for define_peephole2.
7372
7373 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
7374
7375         * builtin-types.def (BT_SIZE): Use size_type_node.
7376         * builtins.c (fold_builtin): Make the builtin strlen returns a
7377         size_t, not a sizetype.
7378         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
7379         c_size_type_node.
7380         (c_alignof_expr): Likewise.
7381         (c_common_nodes_and_builtins): Likewise.
7382         * c-common.h (CTI_C_SIZE_TYPE): Remove.
7383         (c_size_type_node): Likewise.
7384         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
7385         * tree.h (TI_SIZE_TYPE): New enumeral.
7386         (size_type_node): Likewise.
7387
7388 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7389
7390         * configure.in: Don't put ${tm_file} into host_xm_file,
7391         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
7392         Take location of tm-preds.h into account when calculating
7393         tm_p_file_list.
7394         * configure: Regenerate.
7395         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
7396         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
7397         Remove special case code for tm_p.h and *config.h; add new
7398         special case code for tm.h and tconfig.h. Clean up a bit.
7399
7400         * Makefile.in (tm_file, tm_file_list): New variables set from
7401         @-substitutions.
7402         (GCONFIG_H): Deleted.
7403         (GTM_H, TM_H): New.
7404         (CONFIG_H): Is now just config.h $(host_xm_file_list).
7405         (TM_P_H): Move up with the other mkconfig.sh-generated
7406         headers; don't mention tm-preds.h explicitly.
7407         (tm.h, cs-tm.h): New rule.
7408         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
7409         invocations of mkconfig.sh for changes to that program.
7410         (mostlyclean): Delete print-rtl1.c.
7411         (clean): Delete tm.h.
7412         Update dependencies for the files listed below.
7413
7414         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
7415
7416         * coretypes.h: New file.
7417         * system.h: #define malloc to xmalloc and realloc to xrealloc
7418         when FLEX_SCANNER or YYBISON is defined, independent of the
7419         value of GCC_VERSION.
7420         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
7421         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
7422         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7423         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7424         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7425         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7426         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7427         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7428         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7429         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7430         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7431         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7432         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7433         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7434         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7435         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7436         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7437         genconstants.c, genemit.c, genextract.c, genflags.c,
7438         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7439         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7440         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7441         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7442         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7443         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7444         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7445         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7446         print-tree.c, profile.c, protoize.c, ra-build.c,
7447         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7448         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7449         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7450         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7451         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7452         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7453         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7454         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7455         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7456         xcoffout.c, config/darwin-c.c, config/darwin.c,
7457         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7458         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7459         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7460         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7461         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7462         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7463         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7464         config/i960/i960-c.c, config/i960/i960.c,
7465         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7466         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7467         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7468         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7469         config/mmix/mmix.c, config/mn10200/mn10200.c,
7470         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7471         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7472         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7473         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7474         config/sparc/sparc.c, config/stormy16/stormy16.c,
7475         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7476         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7477         Include coretypes.h and tm.h.
7478
7479         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7480         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7481         genrecog.c: Include coretypes.h and tm.h from the file
7482         generated by this program.
7483
7484         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7485         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7486         coretypes.h and tm.h, and tsystem.h when not already included.
7487         No need to include stddef.h nor stdlib.h.
7488
7489         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7490         include auto-host.h or ansidecl.h/
7491         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7492         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7493         include auto-host.h, ansidecl.h, or system.h.
7494         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7495         and do not redefine volatile.
7496
7497 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7498
7499         * i386.md (movdf_integer):  Always enable in 64bit.
7500         (movdf_nointeger): Always disable in 64bit.
7501
7502 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7503
7504         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7505         pseudo register number plus 1.
7506
7507 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7508
7509         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7510         corresponding mode of non-integer mode, unless it is VOIDmode.
7511
7512 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7513
7514         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7515
7516         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7517
7518 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7519
7520         * config/s390/t-crtstuff: New target makefile fragment.
7521         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7522
7523 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7524
7525         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7526         alternatives to correct the length when the memory operand is
7527         either pre_dec or post_inc.
7528
7529 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7530
7531         * config/h8300/h8300.md (an anonymous pattern): Give an
7532         internal name *tst_extzv_bitqi_1_n.
7533         Accept bit_operand instead of bit_memory_operand.
7534         Do not accept bit tests with the MSB.
7535         (*tst_extzv_memqi_1_n): New.
7536
7537 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7538
7539         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7540         sharing when operand is SUBREG.
7541
7542 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7543
7544         * athlon.md (athlon-decodev): New reservation unit.
7545         (athlon-direct0): New reservation.
7546         (athlon-vector): New use athlon-decodev.
7547         (athlon-double, athlon-direct): Better model.
7548         (athlon_imul_k8): Use athlon-direct0.
7549         (athlon_movlpd_load): New insn reservation.
7550
7551 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7552
7553         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7554         Fix a comment typo.
7555         (h8300_tiny_constant_address_p): Likewise.
7556
7557 2002-11-28  Michael Matz  <matz@suse.de>
7558
7559         * doc/passes.texi: Mention the other register allocator.
7560
7561 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7562
7563         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7564
7565 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7566
7567         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7568         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7569         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7570
7571 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7572
7573         * config/h8300/h8300.c (h8300_and_costs): New.
7574         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7575         * config/h8300/h8300-protos.h: Add a prototype for
7576         h8300_and_costs.
7577
7578 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7579
7580         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7581         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7582         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7583         * i386.md (truncdfsf patterns and splitters): Use
7584         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7585
7586 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7587
7588         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7589         pointer argument in the prototypes of the following builtins
7590         be (const TYPE *) rather than (TYPE *):
7591          + __builtin_altivec_ld_internal_4sf
7592          + __builtin_altivec_ld_internal_4si
7593          + __builtin_altivec_ld_internal_8hi
7594          + __builtin_altivec_ld_internal_16qi
7595          + __builtin_altivec_lvsl
7596          + __builtin_altivec_lvsr
7597          + __builtin_altivec_lvebx
7598          + __builtin_altivec_lvehx
7599          + __builtin_altivec_lvewx
7600          + __builtin_altivec_lvxl
7601          + __builtin_altivec_lvx
7602          + __builtin_altivec_dst
7603          + __builtin_altivec_dstt
7604          + __builtin_altivec_dstst
7605          + __builtin_altivec_dststt
7606
7607 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7608
7609         * except.c (default_exception_section): Move variable into the
7610         scope where it is used.
7611
7612 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7613
7614         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7615         correct version.
7616
7617 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7618
7619         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7620
7621 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7622
7623         * config/h8300/h8300.c (h8300_shift_costs): New.
7624         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7625         * config/h8300/h8300-protos.h: Add a prototype for
7626         h8300_shift_costs.
7627
7628 2002-11-27  Jim Wilson  <wilson@redhat.com>
7629
7630         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7631         in output template.
7632
7633 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7634
7635         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7636         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7637         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7638         (i386_pe_dllimport_name_p): Likewise.
7639         (i386_pe_mark_dllexport): Likewise.
7640         (i386_pe_mark_dllimport): Likewise.
7641         (i386_pe_encode_section_info): Likewise.
7642         (i386_pe_strip_name_encoding): Likewise.
7643
7644 2002-11-27  Richard Henderson  <rth@redhat.com>
7645
7646         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7647         (nm && NF == 3): Set sawsymbol true.
7648         (END): Exit if no symbols seen.
7649         (output): Fix map syntax error if no globals for the version.
7650
7651 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7652
7653         * builtins.def (DEF_C99_BUILTIN): Fix.
7654
7655 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7656
7657         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7658         (all): Add .size and .type information.
7659
7660 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7661
7662         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7663         partial_reg_stall target.
7664
7665 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7666
7667         * i386.md (movhicc): Allow general operand.
7668         (movqicc): New expander.
7669         (movqicc_noc): New pattern.
7670         * i386.c (ix86_expand_carry_flag_compare): New function.
7671         (ix86_expand_int_movcc): Optimize harder using sbb; support more
7672         HImode conversion; support QImode conditional moves
7673
7674 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
7675
7676         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7677         (ix86_expand_prologue): Multiply the count by amount of registers to be
7678         pushed.
7679
7680 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7681
7682         * i386.c (override_options): Error about wrong -mcpu on x86-64
7683         compilation.
7684
7685 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
7686
7687         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7688
7689 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
7690
7691         * i386-protos.h (x86_extended_QIreg_mentioned_p,
7692         x86_extended_reg_mentioned_p): Declare.
7693         * i386.c (extended_reg_mentioned_1): New static function.
7694         (x86_extended_QIreg_mentioned_p,
7695         x86_extended_reg_mentioned_p): New global functions.
7696         * i386.h (REX_SSE_REGNO_P): New macro.
7697         * i386.md (prefix_rex): New attribute.
7698         (length attribute): Add rex.
7699
7700 2002-11-26  Andrew Haley  <aph@redhat.com>
7701
7702         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7703         from_Unwind_Find_Enclosing_Function.
7704         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7705         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7706         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7707         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7708         * unwind.h (_Unwind_FindEnclosingFunction): Add.
7709
7710 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7711
7712         * config/s390/s390.c (390_output_constant_pool): Set alignment
7713         before label in 64 bit mode, behind otherwise.
7714
7715 2002-11-26  Richard Henderson  <rth@redhat.com>
7716
7717         * c-common.c (handle_visibility_attribute): Accept "default".
7718         * tree.h (enum symbol_visibility): New.
7719         (decl_visibility): Declare.
7720         * target.h (gcc_target.visibility): Take visibility arg as integer.
7721         * varasm.c (default_assemble_visibility): Likewise.
7722         (decl_visibility): New.
7723         (maybe_assemble_visibility): Use it.
7724         * output.h (default_assemble_visibility): Update prototype.
7725         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7726         visibility arg as integer.
7727         * doc/extend.texi: Document default visibility.
7728
7729 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
7730
7731         * config/h8300/h8300.c: Adjust spacing.
7732         * config/h8300/h8300.h: Likewise.
7733
7734 2002-11-26  Richard Henderson  <rth@redhat.com>
7735
7736         * hooks.c (hook_bool_void_false, hook_void_tree_int,
7737         hook_void_FILEptr_constcharptr): Rename so that the return
7738         type is first.
7739         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7740         hook_bool_tree_false): New.
7741         * hooks.h: Update.
7742         * langhooks-def.h: Update for renames.
7743         * target-def.h: Likewise.
7744         * tree.c (default_comp_type_attributes,
7745         default_set_default_type_attributes, default_insert_attributes,
7746         default_function_attribute_inlinable_p,
7747         default_ms_bitfield_layout_p): Remove.
7748         * tree.h: Update.
7749
7750 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7751
7752         * pa-protos.h (function_value): New prototype.
7753         * pa.c (function_value): Use a PARALLEL to return small aggregates on
7754         TARGET_64BIT.
7755         * pa.h (FUNCTION_VALUE): Use function_value.
7756         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7757         call_value_internal_reg, sibcall_value_internal_symref,
7758         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7759         value.
7760
7761 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7762
7763         * expr.c (gen_group_rtx, emit_group_move): New functions.
7764         * expr.h (gen_group_rtx, emit_group_move): Prototype.
7765         * function.c (expand_function_start): Use gen_group_rtx to create a
7766         PARALLEL rtx to hold the return value when the real return rtx is a
7767         PARALLEL.
7768         (expand_function_end): Use emit_group_move to move the return value
7769         from a PARALLEL to the real return registers.
7770         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7771         in PARALLELs.
7772
7773 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7774
7775         * config/t-libc-ok: Fix typo.
7776
7777 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7778
7779         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7780         before AC_PROG_CC.
7781         * configure: Rebuilt.
7782
7783 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
7784
7785         * c-decl.c: (start_struct): Commonize flag setting.
7786
7787 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7788
7789         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7790         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
7791         RS6000_CPU_CPP_ENDIAN_BUILTINS.
7792         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7793
7794 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7795
7796         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7797         insns.
7798         * config/s390/s390.c (struct machine_function): Introduction of
7799         struct machine_function.
7800         (s390_output_symbolic_const): Use of cfun.
7801         (s390_optimize_prolog): Likewise.
7802         (s390_fixup_clobbered_return_reg): Likewise.
7803         (s390_frame_info): Likewise.
7804         (s390_emit_prologue, s390_emit_epilogue): Likewise.
7805         (s390_init_machine_status): New function.
7806         (override_options): call s390_init_machine_status.
7807         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
7808         prototype.
7809
7810 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7811
7812         * varasm.c (output_constant_pool): For pool constants in mergeable
7813         section ensure each constant is padded to multiple of entity size.
7814
7815 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7816
7817         * varasm.c (default_exception_section): Move to...
7818         * except.c (default_exception_section): ... here. Make
7819         .gcc_except_table read-only if it is not expected to have any
7820         dynamic relocations and linker handles it.
7821         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7822         if it is not expected to have any dynamic relocations and linker
7823         handles it.
7824         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7825         when linking read-only and read-write sections together.
7826         * configure, config.in: Rebuilt.
7827         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7828         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7829
7830 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7831
7832         * i386.md (pushsf_rex64): Fix typo.
7833
7834 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7835
7836         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7837         new function.
7838         (__ev_create_ufix32_fs): Same.
7839         (__ev_get_sfix32_fs_internal): New.
7840         (__ev_get_sfix32_fs): Define to use function.
7841         (__ev_get_ufix32_fs_internal): New.
7842         (__ev_get_ufix32_fs): Define to use function.
7843         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7844         (__ev_get_lower_ufix32_fs): Same.
7845         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7846         (__ev_get_lower_sfix32_fs): Same.
7847         (__ev_set_sfix32_fs_internal): New.
7848         (__ev_set_ufix32_fs_internal): New.
7849         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7850         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7851         (__ev_set_upper_sfix32_fs): Call function.
7852         (__ev_set_lower_sfix32_fs): Same.
7853         (__ev_set_upper_ufix32_fs): Same.
7854         (__ev_set_lower_ufix32_fs): Same.
7855
7856 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
7857
7858         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7859
7860 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7861
7862         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7863         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7864         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7865         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7866         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7867         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7868         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7869         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7870         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7871         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7872         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7873         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7874         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7875         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7876         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7877         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7878         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7879         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7880         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7881         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7882         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7883         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7884         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7885         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7886         defining.
7887         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7888         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7889
7890 2002-11-25  Dave Pitts  <dpitts@cozx.com>
7891
7892         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7893
7894 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7895
7896         * config/h8300/h8300.md (an anonymous pattern): New.
7897
7898 2002-11-25  Richard Henderson  <rth@redhat.com>
7899
7900         * alias.c (find_base_value): Use new_reg_base_value if it's live.
7901         (copying_arguments): Make boolean.
7902
7903 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7904
7905         * gcc.c (static_spec_functions): Add if-exists-else spec
7906         function.
7907         (if_exists_else_spec_function): New function.
7908         * doc/invoke.texi: Document the if-exists-else spec function.
7909
7910         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7911         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7912
7913 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7914
7915         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7916         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
7917         "${tmake_file} rs6000/t-netbsd".
7918         * config/rs6000/netbsd.h: Rewrite.
7919         * config/rs6000/t-netbsd: New file.
7920
7921 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7922
7923         * config/h8300/h8300.md (an anonymous pattern): Relax the
7924         condition for the pattern.
7925
7926 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7927
7928         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7929         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7930         evmwlssfanw, evmwlsmfanw.
7931
7932         * config/rs6000/rs6000.c (bdesc_2arg): Same.
7933
7934         * config/rs6000/spe.md: Same for patterns.
7935
7936 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
7937
7938         PR c/8639
7939         * fold-const.c (extract_muldiv): Don't propagate division unless
7940         both arguments are multiples of C.
7941
7942 2002-11-25  Andrew Haley  <aph@redhat.com>
7943
7944         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7945         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7946         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7947         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
7948
7949 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
7950
7951         * i386.c (x86_use_ffreep): New global variable.
7952         * i386.h (x86_use_frfeep): Declare
7953         (TARGET_USE_FFREEP): New macro
7954         * i386.md  (movs?f*): Use freep when asked for.
7955         (push?f): Remove dead code.
7956
7957 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
7958
7959         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7960         target help message.
7961
7962 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7963
7964         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7965         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7966         crtbeginT.o".
7967         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7968         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7969         to "" for a.out configurations.
7970         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7971
7972 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7973
7974         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
7975         NETBSD_CPP_SPEC directly.
7976         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
7977         netbsd_endfile_spec.
7978         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7979
7980 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7981
7982         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7983         NETBSD_STARTFILE_SPEC.
7984         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7985         (ENDFILE_SPEC): Likewise.
7986         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7987
7988 2002-11-24  Andreas Schwab  <schwab@suse.de>
7989
7990         * Makefile.in (install-driver): Remove versioned link before
7991         trying to create it.
7992
7993         * config/m68k/m68k.c: Fix typo in last change defining
7994         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7995
7996 2002-11-23  H.J. Lu <hjl@gnu.org>
7997
7998         * aclocal.m4: Include ../config/accross.m4.
7999         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8000         (gcc_AC_C_COMPILE_ENDIAN): Removed.
8001         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8002         instead of $ac_cv_c_compile_endian.
8003
8004         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8005         AC_COMPILE_CHECK_SIZEOF.
8006         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8007         * configure: Rebuild.
8008
8009 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
8010
8011         * config/h8300/h8300.c (print_operand): Update the use of
8012         h8300_tiny_constant_address_p.
8013         (h8300_adjust_insn_length): Likewise.
8014         (h8300_tiny_constant_address_p): Check if the given rtx is a
8015         variable declared with __attribute__ ((tiny_data)).
8016
8017 2002-11-22  Dale Johannesen  <dalej@apple.com>
8018
8019         * toplev.c (rest_of_compilation):  Fix comments.
8020
8021 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8022
8023         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8024         allow mmap from /dev/zero.  Don't make decisions for the host
8025         based on presence or absence of /dev/zero on the build machine.
8026         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8027         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8028         * configure: Regenerate.
8029
8030 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8031
8032         * gcc.c (make_relative_prefix, split_directories)
8033         (free_split_directories): Removed.
8034
8035 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8036
8037         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8038         * configure: Regenerated.
8039
8040 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
8041
8042         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8043         length computation when xor.l is output.
8044
8045 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
8046
8047         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8048         (call_vms_1, call_value_vms_1): Cleanup syntax.
8049
8050 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8051
8052         * athlon.md (define_atuomaton): Add athlon_load.
8053         (athlon-double): New reservation.
8054         (athlon-ieu0): New CPU unit.
8055         (athlon-load?): Use athlon_load automaton.
8056         (*_k8 reservations): New.
8057         (other insn revervations): Activate for K8.
8058
8059 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8060
8061         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
8062
8063 2002-11-21  Jim Wilson  <wilson@redhat.com>
8064
8065         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8066         vectors to SI.
8067
8068 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
8069
8070         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8071         * config/xtensa/xtensa.c (struct machine_function): Add
8072         incoming_a7_copied flag.
8073         (xtensa_copy_incoming_a7): Define.
8074         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8075         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8076
8077 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
8078
8079         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8080         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
8081         x86_64_nonmemory_operand, x86_64_movabs_operand,
8082         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8083         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8084         (local_symbolic_operand): Do not care the 64bit limits.
8085         (x86_64_sign_extended_value): Remove allow_rip support.
8086         (legitimate_pic_address_disp_p): Handle all cases allowed
8087         with RIP addressing.
8088         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8089         (legitimize_pic_address): Reorganize.
8090         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8091
8092 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8093
8094         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8095         * config/arm/netbsd-elf.h: New file.
8096
8097 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8098
8099         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8100         subtarget_asm_float_spec.
8101         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8102         defaults from...
8103         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
8104
8105 2002-11-21  Nick Clifton  <nickc@redhat.com>
8106
8107         * config/fr30/fr30.md (movsf_constant_store): Move code to
8108         detect 0.0 into fr30.c.
8109         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8110         Prototype.
8111         * config/fr30/fr30.c (fr30_const_double_is_zero): New
8112         function.  Return true if the rtx is 0.0.
8113
8114 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8115
8116         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8117         if -mlittle-endian is specified.
8118
8119 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8120
8121         PR optimization/2903
8122         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8123         (anddi_notsesidi_di): Likewise.
8124
8125 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
8126
8127         * config/h8300/h8300.c (print_operand): Use
8128         h8300_eightbit_constant_address_p and
8129         h8300_tiny_constant_address_p.
8130         (h8300_adjust_insn_length): Likewise.
8131         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8132         (TINY_CONSTANT_ADDRESS_P): Likewise.
8133         (OK_FOR_U): Use eightbit_constant_address_p.
8134
8135 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
8136
8137         * config/s390/libgcc-libc.ver: Add multilib support.
8138         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
8139         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8140         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
8141         EXTRA_MULTILIB_PARTS): Define.
8142
8143 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8144
8145         * arm.c (arm_get_frame_size): A leaf function does not need its
8146         stack padding to an aligned boundary if it has no frame.
8147         (thumb_get_frame_size): Likewise.
8148
8149 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8150
8151         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8152         (override_options): Likewise.
8153
8154 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8155
8156         * config.gcc: Add k8 target alias support
8157         * i386.c (_cost): Declare costs for various variants of divides and
8158         multiplies.
8159         (k8_cost): New.
8160         (m_K8, m_ATHLON_K8): New macros.
8161         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8162         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8163         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8164         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8165         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8166         x86_prologue_using_move, x86_epilogue_using_move,
8167         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8168         x86_sse_typeless_stores): Set for K8
8169         (override_options): Add k8 support; fix athlon alignment;
8170         complain about non-x86-64 capable CPU being used in x86-64 compilation.
8171         (ix86_issue_rate): Set for K8.
8172         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8173         x86_machine_dependent_reorg): Handle K8 like
8174         * i386.h
8175         (x86_costs):  Change mult_init and divide into array.
8176         (TARGET_K8, TARGET_ATHLON): New macros.
8177         (MODE_INDEX): New macro.
8178         (RTX_COST): Use new costs.
8179         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
8180         (TARGET_CPU_DEFAULT_NAMES): Add k8
8181         (TARGET_CPU_DEFAULT_k8): New constant
8182         (enum processor_type): Add PROCESSOR_K8.
8183         * i386.md (cpu attribute): Add k8.
8184
8185         * invoke.texi: Document -march=k8.
8186
8187         * i386.md (type attribute): Add leave
8188         (mode attribute): Remove unknownfp.
8189         (length_immediate, modrm, memory attributes): Handle leave correctly.
8190         (fp comparison patterns): Determine FP mode.
8191         (leave, leave_rex64): Remove special cases.
8192         * ppro.md (ppro_uops, ppro_p2): Add leave
8193         * pentiun.md (pent_pop): Handle leave too.
8194         * k6.md (k6_load): Handle leave.
8195         * athlon.md (athlon_leave, athlon_pop): Fix.
8196         (athlon_decode): Handle leave.
8197
8198 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
8199
8200         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8201         to component type using GET_MODE_INNER.
8202         * expr.c (emit_move_insn_1): Ditto.
8203         * optabs.c (expand_binop): Ditto.
8204         (expand_unop): Ditto.
8205         (expand_complex_abs): Ditto.
8206
8207 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
8208
8209         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8210
8211 2002-11-20  DJ Delorie  <dj@redhat.com>
8212
8213         * config/stormy16/stormy16.c (s16builtins,
8214         xstormy16_init_builtins, xstormy16_expand_builtin): New.
8215         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8216
8217 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
8218
8219         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8220         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8221         (executing gencheck, genconfigs, genconditions, genflags,
8222         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8223         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8224         gengtype, genprotos): Prepend $(RUN_GEN).
8225         * configure.in: Move host compiler tests before --enable-checking
8226         tests.
8227         (--enable-checking=valgrind): New.
8228         * config.in, configure: Regenerate.
8229         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8230         Define as empty.
8231         (read_include_file): When doing the mmap+1 trick,
8232         valgrind-annotate the byte after the mmap:ed area as readable.
8233         (purge_cache): Remove above annotation.
8234         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8235         VALGRIND_PATH -q to each command.
8236
8237         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8238         Define as empty.
8239         (ggc_realloc): Update valgrind annotations.
8240         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8241         Define as empty.
8242         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
8243         valgrind-annotate memory.
8244
8245 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
8246
8247         * recog.c (constrain_operands): Prefer exact match over reloadable
8248         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8249
8250         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8251         operands in Pmode.
8252
8253 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
8254
8255         PR c/8518
8256         * c-decl.c (duplicate_decls): Outline the second definition
8257         of an extern inline function in all cases.
8258
8259 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8260
8261         * stor-layout.c (place_field): Update rli->offset as well as
8262         rli->bitpos.
8263
8264 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8265
8266         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8267
8268 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8269
8270         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8271         into a libcall block.
8272         (divsi3): Likewise divsi3_i4_media.
8273
8274 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8275
8276         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8277         out another register.
8278
8279 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
8280
8281         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8282         (not just mask) are set in C.
8283
8284 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
8285
8286         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8287
8288 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8289
8290         * profile.c (index_counts_file): Fix obvious mistake.
8291
8292 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8293
8294         * Makefile.in (profile.o): Add hashtab.h dependency.
8295         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8296         * profile.c: Include hashtab.h.
8297         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8298         cleanup_counts_index, index_counts_file, struct section_reference,
8299         struct da_index_entry, counts_file_name, counts_file_index): New.
8300         (get_exec_counts, init_branch_prob): Modified.
8301
8302 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8303
8304         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8305         to tmake_file. Remove setting gas and gnu_ld here.
8306         * config/sh/libgcc-glibc.ver: New file.
8307         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8308         (SHLIB_MAPFILES): New.
8309         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8310         (MD_STARTFILE_PREFIX): Likewise.
8311         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8312         (DWARF2_UNWIND_INFO): Redefine.
8313         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8314         (LINK_EH_SPEC): Redefine.
8315         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8316         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8317         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8318         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8319         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8320         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8321         SH_DWARF_FRAME_FPSCR): Likewise.
8322         * config/sh/sh-protos.h (sh_set_return_address): Declare.
8323         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8324         registers if the current function calls EH return.
8325         (sh_expand_epilogue): Handle EH stack adjustments.
8326         (sh_set_return_address): New function.
8327         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8328         Don't abort even if the number is mapped to -1.
8329         (EH_RETURN_DATA_REGNO): Define.
8330         (EH_RETURN_STACKADJ_RTX): Define.
8331         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8332         (eh_return): New pattern.
8333         (eh_set_ra_di, eh_set_ra_si): Likewise.
8334         Add splitter to perform EH return after reload.
8335
8336 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
8337
8338         * stor-layout.c (excess_unit_span): New function.
8339         (place_field): Use it.
8340
8341 2002-11-19  Andreas Schwab  <schwab@suse.de>
8342
8343         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
8344         not valid in C++.
8345
8346 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8347
8348         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
8349         * configure: Regenerate.
8350
8351 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8352
8353         * convert.c (strip_float_extensions): New function.
8354         (convert_to_real): Optimize some cases.
8355
8356 2002-11-19  Andreas Jaeger  <aj@suse.de>
8357
8358         * loop.c (record_giv): Initialize not_replaceable.
8359         (check_final_value): Likewise.
8360
8361 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8362
8363         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
8364         MASK_H8300S.
8365
8366 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
8367
8368         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
8369         only if -mh or -ms present.
8370         (h8300_eightbit_constant_address_p): Support the normal mode.
8371         (h8300_tiny_constant_address_p): Likewise.
8372         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
8373         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
8374         (Pmode): Evaluate to HImode for the normal mode.
8375         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
8376         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
8377         (ASM_WORD_OP): Evaluate to word for the normal mode.
8378         * config/h8300/h8300.md (tablejump_normal_mode): New.
8379         (indirect_jump_normal_mode): New.
8380         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
8381         directory.
8382         (MULTILIB_DIRNAMES): Create target dependent directory
8383         'normal'.
8384         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
8385         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
8386
8387 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8388
8389         * i386.md (length_immediate): Do not refer to insn address.
8390         (jcc*, jmp patterns):  Compute length explicitly.
8391
8392 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8393
8394         PR c/8588
8395         * optabs.c (expand_binop): Convert CONST_INTs in shift
8396         operations too.
8397
8398 2002-11-19  Roger Sayle  <roger@eyesopen.com>
8399
8400         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
8401
8402 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8403
8404         * config/h8300/h8300.md (an anonymous pattern): Relax the
8405         condition to accept the same operands and/or subregs.
8406
8407 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
8408
8409         * config/sh/sh.c (gen_shl_and): Revert previous patch.
8410         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
8411         reload_completed.
8412
8413 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8414
8415         * config/h8300/h8300.c (print_operand): Update the use of
8416         EIGHTBIT_CONSTANT_ADDRESS_P.
8417         (h8300_adjust_insn_length): Likewise.
8418         (h8300_eightbit_constant_address_p): Check if the given rtx is
8419         a variable with __attribute__((eightbit_data)).
8420         * config/h8300/h8300.h (OK_FOR_U): Update the use of
8421         EIGHTBIT_CONSTANT_ADDRESS_P.
8422
8423 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8424
8425         * doc/contrib.texi (Contributors): Add self as second contact in
8426         addition to Jeff Law.
8427
8428 2002-11-19  Andreas Jaeger  <aj@suse.de>
8429
8430         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8431         find_alloca_call to right place.
8432
8433 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8434
8435         * cppfiles.c: Fix formatting.
8436
8437 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8438
8439         * gcc.c (The Specs Language): Document spec functions.
8440         (static_spec_functions, lookup_spec_function)
8441         (eval_spec_function, handle_spec_function)
8442         (if_exists_spec_function, alloc_args): New.
8443         (execute): Abort if processing_spec_function is true.
8444         (do_spec_1): Hand off spec to handle_spec_function if %:
8445         is encountered.  If processing_spec_function is true,
8446         end any pending argument when the end of the string is reached.
8447         (main): Use alloc_args to allocate the initial argument vector.
8448         * gcc.h (struct spec_function): New.
8449         (lang_specific_spec_functions): New extern.
8450
8451         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8452         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8453         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8454
8455         * doc/invoke.texi: Document spec functions.
8456
8457         * cppspec.c (lang_specific_spec_functions): New.
8458         * gccspec.c: Likewise.
8459
8460 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8461
8462         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8463         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8464         (fixunstfsi_libfunc): Change.
8465         (fixunstfdi_libfunc): Change.
8466         (sdiv_optab): Don't zero out SImode handler.
8467         (udiv_optab): Don't zero out SImode handler.
8468         (smod_optab): Don't zero out SImode handler.
8469         (umod_optab): Don't zero out SImode handler.
8470
8471 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8472
8473         PR preprocessor/8524
8474         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8475         Add a new one in its place, which hopefully works.
8476         (skip_rest_of_line): Change test for bottom-of-context-stack.
8477
8478 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8479
8480         * i386.md (addqi_1_slp): Fix output template.
8481         (subqi_1_slp): Fix type.
8482
8483 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8484
8485         * calls.c (alloca_call_p): New global function.
8486         * tree.h (alloca_call_p): New.
8487         * tree-inline.c (inlinable_function_p):  Do not inline when
8488         function calls alloca.
8489         (find_alloca_call, find_alloca_call_1): New functions.
8490
8491 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8492
8493         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8494         bst.  Update the insn length.
8495         (*andorhi3): Likewise.
8496         (*andorsi3): Likewise.
8497
8498 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8499
8500         * config/sh/sh-protos.h (sh_mark_label): Declare.
8501         * config/sh/sh.c (sh_mark_label): New function, taken from
8502         movdi_const, but fixing the case when the address has an addend.
8503         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8504
8505 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8506
8507         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8508         (add_constant): Set it.
8509         (dump_table): Don't reorder a constant if part_of_sequence_p.
8510         (machine_dependent_reorg): Assume that float constants will
8511         stay in their original order if used as a sequence.
8512
8513 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8514
8515         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8516         in compact code.
8517
8518 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8519
8520         * config/sh/sh.md (initialize_trampoline): Do not force the
8521         trampoline address into R0_REGS here.
8522
8523 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8524
8525         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8526         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8527         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8528         generate unnecesary subregs.
8529
8530 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8531
8532         * df.c: Fix formatting.
8533
8534 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8535
8536         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8537         lengths.
8538
8539 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8540
8541         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8542         is not an arith_reg_operand.
8543
8544 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8545
8546         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8547         is smaller than representation.
8548
8549 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8550
8551         * builtins.c: Fix formatting.
8552
8553 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8554
8555         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8556         floats?dff2_i387):
8557         Work around regclass stupidity.
8558         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8559
8560 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8561
8562         * i386.md (fop_df_6): New pattern.
8563         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8564         (fop_xf_6): Rewrite
8565         (fop_xf_7): Delete.
8566         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8567         (fop_tf_6): Rewrite
8568         (fop_tf_7): Delete.
8569
8570 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8571
8572         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8573
8574 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8575
8576         * config/h8300/h8300.md: Fix formatting.
8577
8578 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8579
8580         * config/h8300/h8300.md: Replace spaces with tabs.
8581         * config/h8300/t-h8300: Remove a trailing empty line.
8582
8583 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8584
8585         * tlink.c: Fix formatting.
8586
8587 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8588
8589         PR 8362
8590         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8591         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8592         when scratch register never needed.
8593         (ldmsi[3-8]): New patterns.
8594
8595 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8596
8597         * hard-reg-set.h: Follow spelling conventions.
8598         * real.c: Likewise.
8599         * target.h: Likewise.
8600
8601 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8602
8603         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8604
8605 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8606
8607         * optabs.c: Fix formatting.
8608
8609 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8610
8611         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8612         * i386.md (attribute type): Add type shift1 and rotate1.
8613         (*_slp): Rewrite to have just two operands to avoid reload problems.
8614
8615 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8616
8617         * config/h8300/h8300.md (4 anonymous patterns): New.
8618
8619 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8620
8621         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8622         * doc/invoke.texi: Correct description of what needs to be done to
8623         force collection at every ggc_collect call.
8624
8625 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8626
8627         * config/s390/s390.c (optimization_options): Set
8628         flag_asynchronous_unwind_tables to 1 by default.
8629
8630 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8631
8632         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8633
8634 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8635
8636         * i386-protos.h (x86_function_profiler): New function
8637         * i386.h (MCOUNT_NAME): New.
8638         (PROFILE_COUNT_REGISTER): New.
8639         (FUNCTION_PROFILER): Move offline to ...
8640         * i386.c (x86_function_profiler) ... here; fix 64bit support
8641         * beos-elf.h (FUNCTION_PROFILER): Kill.
8642         (MCOUNT_NAME): New.
8643         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8644         (MCOUNT_NAME): New.
8645         (PROFILE_COUNT_REGISTER): New.
8646         * linux.h (FUNCTION_PROFILER): Kill.
8647         (MCOUNT_NAME): New.
8648         * x86-64.h (FUNCTION_PROFILER): Kill.
8649         (MCOUNT_NAME): New.
8650         * freebsd.h (FUNCTION_PROFILER): Kill.
8651         (MCOUNT_NAME): New.
8652
8653 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8654
8655         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8656         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8657         * config/arm/arm.c (arm_va_arg,
8658         arm_function_arg_pass_by_reference): New.
8659         * config/arm/arm-protos.h: Add prototypes.
8660
8661 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8662
8663         * gthr-single.h: Fix formatting.
8664
8665 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8666
8667         * tree.c (tree_vec_elt_check_failed): New function.
8668         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8669         (TREE_VEC_ELT): Use it.
8670
8671         * tree-inline.c (optimize_inline_calls): Don't copy a
8672         zero-length vector.
8673
8674 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8675
8676         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8677
8678 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
8679
8680         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8681         both operands contain local relocations.
8682         (categorize_decl_for_section): Don't use mergeable sections if
8683         initializer has any relocations.
8684
8685 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8686
8687         * gthr-vxworks.h: Fix formatting.
8688
8689 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
8690
8691         * doc/install.texi (Testing): Document extra Java testing.
8692         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8693
8694 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8695
8696         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8697         beginning of the spec.
8698         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8699         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
8700         regarding problems with global constructors when using GNU ld.
8701
8702 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8703
8704         * gthr-solaris.h: Fix formatting.
8705
8706 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8707
8708         * gthr-posix.h: Fix formatting.
8709
8710 2002-11-12  Devang Patel <dpatel@apple.com>
8711         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8712         (process_command): Same.
8713         * doc/invoke.texi: Info about these two new options.
8714
8715 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8716
8717         * config/h8300/h8300.md (*andorsi3): New.
8718
8719 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8720
8721         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8722
8723 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8724
8725         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8726         expressions appropriately.
8727
8728 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8729
8730         * gthr-win32.h: Fix formatting.
8731
8732 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8733
8734         * config/h8300/h8300.c (single_one_operand): Correctly compute
8735         mask when mode is SImode.
8736         (single_zero_operand): Likewise.
8737         * config/h8300/h8300.md (two new anonymous insns): New.
8738
8739 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8740
8741         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8742         to that entire project.
8743
8744 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8745
8746         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8747         directories.
8748
8749 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
8750
8751         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8752         * doc/invoke.texi: Document them.
8753
8754         * ggc-page.c: Include params.h.  Remove definitions of
8755         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
8756         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8757         (init_gcc): Don't set G.allocated_last_gc here.
8758         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8759         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8760         perform collection.
8761         * ggc-simple.c: Similarly.
8762         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8763         dependencies.
8764
8765 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
8766
8767         * gthr-dce.h: Fix formatting.
8768
8769 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8770
8771         PR c/8467
8772         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8773         mode of DECL_RTL case.
8774
8775 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
8776
8777         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8778
8779 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
8780
8781         * i386.c (construct_container): Fix handling of SSE_CLASS.
8782
8783 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
8784
8785         * config/m68k/t-crtstuff (crti.o): Use this...
8786         ($(T)crti.o): ... instead.
8787         (crtn.o): Use this...
8788         ($(T)crtn.o): ... instead.
8789
8790 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
8791
8792         PR c/8439
8793         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8794         if there is something new to be simplified.
8795
8796 2002-11-10  H.J. Lu <hjl@gnu.org>
8797
8798         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8799         * expr.c (PUSH_ARGS_REVERSED): Likewise.
8800
8801         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8802
8803 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
8804
8805         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8806         * config/rs6000/linux.h, config/rs6000/linux64.h,
8807         config/rs6000/windiss.h: ... not here.
8808
8809 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
8810
8811         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8812         __ABICALLS__ if TARGET_ABICALLS.
8813
8814 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
8815
8816         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8817
8818 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
8819
8820         * c-decl.c (grokdeclarator): Make error for duplicate type
8821         qualifiers into a pedwarn, disabled for C99.
8822
8823 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
8824
8825         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8826         as FUNCTION_ARG_PASS_BY_REFERENCE.
8827
8828 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
8829
8830         * doc/install.texi: Add *-*-vxworks* specific installation
8831         instructions.
8832
8833         * config/vxlib.c: Rewrite using generation numbers to identify
8834         valid TSD keys.
8835
8836 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
8837
8838         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8839
8840 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8841
8842         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8843
8844         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8845         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
8846         * pa.c (output_millicode_call): Use symbol difference rather than
8847         $PIC_pcrel$0 when using HP assembler.
8848         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8849         not elfos.h (i.e., gas) is being used.
8850         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8851         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8852         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8853         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8854         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8855         using elfos.h.
8856         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8857         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8858         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8859         using elfos.h.
8860         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8861         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8862         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8863         Don't define when not using elfos.h.
8864         (ASM_DECLARE_RESULT): Don't define.
8865         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8866         doesn't work on hppa64-hp-hpux11.
8867         (hppa*-hp-hpux11): Update.
8868
8869 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
8870
8871         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8872         to the assembler if -mno-abicalls was specified.
8873
8874 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8875
8876         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8877         ASM_OUTPUT_DEF): Delete.
8878
8879 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
8880
8881         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8882
8883 2002-11-08  Roger Sayle  <roger@eyesopen.com>
8884
8885         * real.c (real_sqrt): Update comment with bibliographic reference.
8886
8887 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8888
8889         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8890
8891 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
8892
8893         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8894
8895 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8896
8897         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8898         (expand_builtin): Likewise.
8899         * builtins.def: Add
8900         __builtin_floor, __builtin_floorf, __builtin_floorl
8901         __builtin_ceil, __builtin_ceilf, __builtin_ceill
8902         __builtin_round, __builtin_roundf, __builtin_roundl
8903         __builtin_trunc, __builtin_truncf, __builtin_truncl
8904         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8905         * genopinit.c (optabs): Initialize the new optabs.
8906         * optab.c (init_optabs): Likewise.
8907         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8908         OTI_round, OTI_nearbyint.
8909         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8910         * doc/md.texi: Document new named patterns.
8911         * doc/extend.texi (builtin functions)  Document
8912         floor, floorf, floorl, ceil, ceilf,
8913         ceill, round, roundf, roundl, trunc,
8914         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8915
8916 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
8917
8918         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8919
8920 2002-11-08  Dale Johannesen  <dalej@apple.com>
8921
8922         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
8923
8924 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8925
8926         PR preprocessor/8497
8927         PR preprocessor/8501
8928         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8929         start a directive.  In assembler, #NUM is not a line directive.
8930
8931 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8932
8933         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8934         buffers.
8935
8936 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
8937
8938         * config/h8300/h8300.md (two anonymous test insns): New.
8939
8940 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8941
8942         * jump.c (mark_jump_label): Handle subregs of label_refs.
8943
8944 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
8945
8946         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8947         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8948
8949 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
8950
8951         * config/ia64/crtend.asm: Include "auto-host.h".
8952         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8953         * config/ia64/crtbegin.asm: Similarly.
8954         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8955         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
8956
8957         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8958         * configure.in: Use it if --enable-initfini-array not specified.
8959         * doc/install.texi (Configuration): Document --enable-initfini-array.
8960         * configure, config.in: Rebuild.
8961
8962 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
8963
8964         * config/arm/arm-protos.h (arm_get_frame_size)
8965         (thumb_get_frame_size): New prototypes.
8966         * config/arm/arm.c (arm_get_frame_size)
8967         (thumb_get_frame_size): New functions.
8968         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8969         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
8970         arm_get_frame_size.
8971         (thumb_expand_prologue, thumb_expand_epilogue): Use
8972         thumb_get_frame_size.
8973         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8974         (machine_function): Add frame_size member.
8975         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8976
8977 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8978
8979         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
8980         Adjust code to use portable unsigned bit manipulation.
8981         (insn_flags, tune_flags): Change type to unsigned.
8982         (struct processors): Make flags unsigned long.
8983         (arm_override_options): Change type of count and current_bit_count
8984         to unsigned.
8985
8986 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8987
8988         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8989
8990 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
8991
8992         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8993
8994 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
8995
8996         * reg-stack.c (compensate_edge): Fix sanity check.
8997
8998 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
8999
9000         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9001         crt2.o.  Rearrange t-darwin makefiles.
9002         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9003         * unwind-dw2-fde-darwin.c: New.
9004         * unwind-dw2-fde-glibc.c: Correct comment.
9005         * unwind-dw2-fde.c (__register_frame_info_bases)
9006         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9007         (classify_object_over_fdes): Use last_fde.
9008         (add_fdes): Likewise.
9009         (linear_search_fdes): Likewise.
9010         * unwind-dw2-fde.h (struct object)
9011         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9012         (last_fde): New.
9013         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9014         (ENDFILE_SPEC): No crtend.o.
9015         * config/t-darwin: New.
9016         * config/i386/t-darwin: Delete.
9017         * config/darwin-crt2.c: New.
9018         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9019         or config/t-darwin.
9020
9021 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
9022
9023         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9024         MASK_MS_BITFIELD_LAYOUT
9025         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9026         MS bitfields for Objective-C.
9027         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9028         defines.
9029
9030         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9031         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9032         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9033
9034         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9035         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9036         (TARGET_SWITCHES): Add above mask.
9037
9038         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9039         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9040         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9041         flags for interix.
9042
9043 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
9044
9045         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9046         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9047         assembler.
9048         * config/mips/mips.md (tablejump_internal3): Output .cpadd
9049         before jump on ABI_N32 too.
9050         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
9051         length to match.
9052
9053 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
9054
9055         * i386.md (negsf splitter): Accept memory operand in second register.
9056         (abssf/absdf splitters): Simplify
9057         (sse_loadss, sse_loadsd): Turn into expander.
9058
9059 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
9060
9061         PR target/8480
9062         * config/rs6000/rs6000.md (movdi_internal64): Discourage
9063         FPR to FPR moves.
9064
9065 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
9066
9067         * doc/contrib.texi: Merge in the list from the Java web pages.
9068
9069 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
9070
9071         * config/sparc/freebsd: Fix typo.
9072
9073 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9074
9075         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9076
9077 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
9078
9079         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9080         non-SImode addresses.
9081
9082 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9083
9084         * i386.md (float_truncate SSE splitter): Ensure that operand is not
9085         stack register.
9086         (float SSE splitters): Reorder conditional.
9087
9088 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
9089
9090         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9091
9092 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
9093
9094         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9095         (STARTFILE_SPEC): Remove p and pg options.
9096
9097 2002-11-05  Andrew Haley  <aph@redhat.com>
9098
9099         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9100         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9101
9102 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
9103
9104         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9105         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9106
9107 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
9108
9109         * gthr-vxworks.h: Rewritten from scratch.
9110         * config/vxlib.c: New file.
9111         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9112         * config/rs6000/t-vxworks: Add config/vxlib.c to
9113         LIB2FUNCS_EXTRA here too, because of clash with
9114         config/rs6000/t-ppccomm.
9115
9116 2002-11-04  Dale Johannesen  <dalej@apple.com>
9117
9118         * doloop.c (doloop_modify_runtime):  Fix loop count computation
9119         for unrolled loops.
9120         * loop.c (loop_invariant_p):  Support calling from unroller.
9121
9122 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
9123
9124         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9125         for comparison.
9126
9127 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
9128
9129         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9130
9131         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9132         (CLASS_CANNOT_CHANGE_MODE): Remove.
9133         (CANNOT_CHANGE_MODE_CLASS): New.
9134
9135         * config/alpha/alpha.h: Same.
9136
9137         * config/ia64/ia64.h: Same.
9138
9139         * config/mips/mips.h: Same.
9140
9141         * config/s390/s390.h: Same.
9142
9143         * config/sh/sh.h: Same.
9144
9145         * config/pa/pa64-regs.h: Same.
9146
9147         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
9148
9149         * config/sh/sh.c (sh_cannot_change_mode_class): New.
9150
9151         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9152         prototype.
9153
9154         * config/mips/mips.c (mips_cannot_change_mode_class): New.
9155
9156         * doc/tm.texi (Register Classes): Remove
9157         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9158         Document CANNOT_CHANGE_MODE_CLASS.
9159
9160         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9161         (push_reload): Same.
9162
9163         * simplify-rtx.c (simplify_subreg): Same.
9164
9165         * reload1.c (choose_reload_regs): Same.
9166
9167         * recog.c (register_operand): Same.
9168
9169         * regrename.c (mode_change_ok): Change to use new
9170         CANNOT_CHANGE_MODE_CLASS infrastructure.
9171
9172         * regclass.c (cannot_change_mode_set_regs): New.
9173         Declare subregs_of_mode.
9174         (regclass): Use subregs_of_mode.
9175         Remove references to reg_changes_mode.
9176         (init_reg_sets_1): Remove class_can_change_mode and
9177         reg_changes_mode code.
9178         (invalid_mode_change_p): New.
9179         (dump_regclass): Use invalid_mode_change_p instead of
9180         class_can_change_mode.
9181         (regclass): Same.
9182         (record_operand_costs): Do not set reg_changes_mode.
9183
9184         * local-alloc.c (struct qty): Remove changes_mode field.
9185         (alloc_qty): Remove changes_mode initialization.
9186         (update_qty_class): Remove set of changes_mode.
9187         (find_free_reg): Use subregs_of_mode.
9188
9189         * global.c (find_reg): Use subregs_of_mode info.
9190
9191         * rtl.h (cannot_change_mode_set_regs): New prototype.
9192         (invalid_mode_change_p): Same.
9193         (REG_CANNOT_CHANGE_MODE_P): New macro.
9194
9195         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
9196         REG_CHANGES_MODE.
9197         (life_analysis): Clear subregs_of_mode.
9198
9199         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9200         Remove use of CLASS_CANNOT_CHANGE_MODE.
9201         (simplify_set): Same.
9202         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
9203         REG_CHANGES_MODE.
9204
9205         * regs.h: Add extern for subregs_of_mode;
9206         Include hard-reg-set and basic-block.
9207         (REG_CHANGES_MODE): Delete.
9208
9209 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9210
9211         * real.c (real_sqrt): New function to calculate square roots.
9212         * real.h (real_sqrt): Add function prototype.
9213         * builtins.c (fold_builtin): Fold sqrt of constant argument.
9214         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9215         of constant argument.
9216
9217 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9218
9219         * jump.c (never_reached_warning): Don't set contains_insn until the
9220         first line note is seen.
9221
9222 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
9223
9224         * config/rs6000/rs6000.md (movti_string): Use string instructions.
9225
9226 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9227
9228         PR c/7128
9229         * c-typeck.c (c_expand_asm_operands): Defend against
9230         error_mark_nodes in the output argument to avoid ICE.
9231
9232 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9233
9234         PR middle-end/8408
9235         * genrecog.c (preds): Handle ADDRESSOF.
9236         (validate_pattern): Mark it as an lvalue.
9237
9238 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
9239
9240         * config/rs6000/rs6000.c (rs6000_override_options): Use string
9241         instructions when optimizing for size.
9242
9243 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
9244
9245         * config/h8300/h8300.h: Fix comment typos.
9246         * config/h8300/h8300.md: Likewise.
9247         * config/h8300/lib1funcs.asm: Likewise.
9248
9249 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9250
9251         Revert this change:
9252
9253         *doc/install.texi (Installing GCC: Configuration): Clarify
9254         the only supported ways to configure gcc.
9255
9256 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9257
9258         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9259         instead of 'O' for the constraint for the second operand.
9260
9261 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
9262
9263         PR c++/8391
9264         * toplev.c (rest_of_compilation): Do not refuse to output code for
9265         an inline function in a local class.
9266
9267 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
9268
9269         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9270         (TRANSFER_FROM_TRAMPOLINE): Reformat.
9271         Add comment.
9272
9273 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9274
9275         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9276
9277 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
9278
9279         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9280
9281 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
9282
9283         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9284         (MASK_INLINE_DIV_THR): Remove.
9285         (TARGET_INLINE_DIV_LAT): Remove.
9286         (TARGET_INLINE_DIV_THR): Remove.
9287         (TARGET_INLINE_DIV): Remove.
9288         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9289         (MASK_INLINE_FLOAT_DIV_THR): New macro.
9290         (MASK_INLINE_INT_DIV_LAT): New macro.
9291         (MASK_INLINE_INT_DIV_THR): New macro.
9292         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9293         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9294         (TARGET_INLINE_INT_DIV_LAT): New macro.
9295         (TARGET_INLINE_INT_DIV_THR): New macro.
9296         (TARGET_INLINE_FLOAT_DIV): New macro.
9297         (TARGET_INLINE_INT_DIV): New macro.
9298         * config/ia64/ia64.md (divsi3): Change to use new macros.
9299         (modsi3): Ditto.
9300         (udivsi3): Ditto.
9301         (umodsi3): Ditto.
9302         (divsi3_internal): Ditto.
9303         (divdi3): Ditto.
9304         (moddi3): Ditto.
9305         (udivdi3): Ditto.
9306         (umoddi3): Ditto.
9307         (divdi3_internal_lat): Ditto.
9308         (divdi3_internal_thr): Ditto.
9309         (divsf3): Ditto.
9310         (divsf3_internal_lat): Ditto.
9311         (divsf3_internal_thr): Ditto.
9312         (divdf3): Ditto.
9313         (divdf3_internal_lat): Ditto.
9314         (divdf3_internal_thr): Ditto.
9315         (divtf3): Ditto.
9316         (divtf3_internal_lat): Ditto.
9317         (divtf3_internal_thr): Ditto.
9318         * config/ia64/ia64.c (ia64_override_options): Change
9319         to check new macros for conflicts in settings.
9320         * doc/invoke.texi (-minline-divide-min-latency): Remove.
9321         (-minline-divide-max-throughput): Remove.
9322         (-minline-float-divide-min-latency): New.
9323         (-minline-float-divide-max-throughput): New.
9324         (-minline-int-divide-min-latency): New.
9325         (-minline-int-divide-max-throughput): New.
9326
9327 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
9328
9329         PR target/7856
9330         * arm.c (use_return_insn): Don't use a return insn if there are
9331         saved integer regs, but LR is not one of them.
9332
9333 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9334
9335         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
9336         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9337
9338 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9339
9340         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
9341         (movps, movpd splitters): Use canonical form.
9342         (movv2di): Fix merge problem.
9343
9344 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
9345
9346         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9347
9348 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9349
9350         PR optimization/6162
9351         * doc/md.texi: Document restriction on commutative operand
9352         specification.
9353
9354 2002-10-31  Eric Christopher  <echristo@redhat.com>
9355
9356         * explow.c (convert_memory_address): Use shallow_copy_rtx.
9357
9358 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9359
9360         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
9361
9362 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9363
9364         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
9365
9366 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9367
9368         * config/rs6000/darwin.h:  Correct formatting in previous.
9369
9370 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9371
9372         * config/rs6000/darwin.h:  Enable -falign-xxx options.
9373
9374 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
9375
9376         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
9377         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
9378         * i386.c (optimization_options): Set flag_omit_frame_pointer,
9379         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
9380         Do not clear -momit-leaf-frame-pointer when profiling.
9381         (ix86_frame_pointer_required): Frame pointer is always required when
9382         profiling.
9383
9384 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9385
9386         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9387
9388 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
9389
9390         * sh.h (binary_logical_operator): Declare.
9391         * sh.c (binary_logical_operator): New function.
9392         * sh.md (xordi3+1): New combiner splitter pattern.
9393
9394 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
9395
9396         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9397         __enable_execute_stack function.
9398
9399 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
9400
9401         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
9402         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
9403         * unwind-sjlj.c (fc_key_dtor): Delete.
9404         (fc_key_init): Adjust __gthread_key_create call to match.
9405
9406 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
9407
9408         * c-common.c: Add GTY to vector_type_node_list.
9409
9410 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
9411
9412         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9413         * pa-protos.h (attr_length_millicode_call, attr_length_call,
9414         pa_init_machine_status): Declare new global functions.
9415         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
9416         implement new functions.
9417         (attr_length_millicode_call, attr_length_call): Implement.
9418         (total_code_bytes): Change type to long.
9419         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
9420         Reset counter if flag_function_sections.
9421         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
9422         (output_cbranch): Move call to gen_label_rtx.
9423         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9424         delay slot in all variants, shorten pc-relative calls.
9425         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9426         slot usage and exposure, various new call variants, and shortened
9427         sequences for some variants on TARGET_PA_20.
9428         Miscellaneous format changes.
9429         * pa.h (total_code_bytes): Change type to long.
9430         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9431         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9432         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9433         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9434         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9435         stores on TARGET_ELF32.
9436         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9437         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9438         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9439         attr_length_millicode_call().
9440         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9441         Calculate attribute length using attr_length_call().
9442         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9443         to delay slot.
9444         (sibcall, sibcall_value): Rewrite.
9445         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9446         register 1.  Use attr_length_call().
9447         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9448         New patterns.
9449         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9450         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9451         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9452         * doc/invoke.texi (mlong-calls): Document.
9453
9454 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9455
9456         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9457         handling of cases where one or both branches of the conditional
9458         have void type, i.e. throw an exception or don't return.
9459         (fold): Only apply (and undo) type conversion to the non-void
9460         branches of a COND_EXPR.
9461
9462 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9463
9464         PR c++/8333
9465         * varasm.c (asm_output_aligned_bss): Do not call
9466         ASM_GLOBALIZE_LABEL.
9467
9468 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9469             Torbjorn Granlund  <tege@swox.com>
9470
9471         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9472         for addressibility.
9473         (load_toc_v4_PIC_1b): Same.
9474
9475 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9476
9477         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9478         Truncate the addresses for H8/300 using HImode.
9479
9480 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9481
9482         * i386.md (negdf splitter): Fix construction of the constant.
9483
9484 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9485
9486         * i386.md (negsf, negdf): Reorganize to use vector modes
9487         for SSE variants.
9488         (abssf, absdf): Use force_reg.
9489         (movv4sf, movv2df): New splitters.
9490         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9491         * i386.c (zero_extended_scalar_load_operand
9492
9493         * i386-protos.h (ix86_expand_call): Update prototype.
9494         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9495         (ix86_expand_call): Use r11 for indirect sibcalls.
9496         * i386.md (call, call_value, untyped_call, call_value_pop):
9497         update x86_expand_call call.
9498         (sibcall, sibcall_value): new patterns
9499         (call_rex64, call_value_rex64): Do not accept sibcalls.
9500         (sibcall_rex64, sibcall_value_rex64,
9501         sibcall_rex64_v, sibcall_value_rex64_v): New.
9502
9503 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9504
9505         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9506         before final pass.
9507
9508 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9509
9510         * toplev.c (rest_of_type_compilation): Return early in case of
9511         errors.
9512         (check_global_declarations): Don't call debug_hooks->global_decl
9513         in case of errors.
9514
9515 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9516
9517         * doc/c-tree.texi (Tree overview): Fix typos.
9518
9519 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9520
9521         * Makefile.in (gnucompare*):  Only record bad comparisons
9522         if there really was a bad comparison.
9523
9524 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9525
9526         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9527         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9528         * md.texi (machine dependent constraints): Document 'C'
9529
9530         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9531
9532         * i386.c (ix86_expand_vector_move): Fix.
9533
9534         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9535         * i386.md (sse2_maskmovdqu_rex64): New pattern
9536
9537         PR target/8322
9538         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9539         (ix86_init_mmx_sse_builtins): Fix type.
9540
9541 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9542
9543         * gthr-posix.h: Include <unistd.h> for feature tests.
9544         (sched_get_priority_max, sched_get_priority_min)
9545         (pthread_getschedparam, pthread_setschedparam): Only use
9546         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9547         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9548         returns from sched_get_priority_max and sched_get_priority_min
9549         as an error.
9550
9551 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9552
9553         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9554         MASK_QUICKCALL.
9555
9556 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9557
9558         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9559         (h8300_tiny_constant_address_p): Likewise.
9560         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9561         h8300_eightbit_constant_address_p.
9562         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9563         * config/h8300/h8300-protos.h: Add the prototypes for the two
9564         new functions.
9565
9566 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9567
9568         * reload1.c (update_eliminables): Unconditionally check if
9569         frame_pointer_needed has changed.
9570
9571 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9572
9573         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9574         before final pass.
9575
9576 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9577
9578         PR optimization/8334
9579         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9580         check for zero operands explicitly.
9581
9582 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9583
9584         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9585         memory after adjusting to BLKmode.
9586
9587 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9588
9589         * config/h8300/h8300.h (MASK_*): New.
9590         (TARGET_*): Use MASK_*.
9591
9592 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9593
9594         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9595         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9596         config/rs6000/vxworks.h: New files.
9597         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9598
9599         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9600         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9601         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9602         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9603         sparc-*-vxsim*): Delete stanzas.
9604         * gthr-vxworks.h: Rip out all substantive code and just
9605         include gthr-single.h.
9606
9607         * config/alpha/vxworks.h, config/arm/vxarm.h,
9608         config/i386/vxi386.h, config/i960/t-vxworks960,
9609         config/i960/vx960-coff.h, config/i960/vx960.h,
9610         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9611         config/mips/vxworks.h, config/rs6000/vxppc.h,
9612         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9613         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9614         config/sparc/vxsparc64.h: Delete files.
9615
9616 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9617
9618         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9619         tm_defines if pthreads are enabled.
9620         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9621         if NETBSD_ENABLE_PTHREADS is defined.
9622
9623 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9624
9625         * ChangeLog.1: Fix typos.
9626         * cse.c: Fix a comment typo.
9627         * reload1.c: Likewise.
9628
9629 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9630
9631         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9632         * fixinc/tests/base/_G_config.h: New file.
9633
9634 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9635
9636         * combine.c: Fix comment formatting.
9637         * loop.c: Likewise.
9638         * real.c: Likewise.
9639         * regclass.c: Likewise.
9640         * regmove.c: Likewise.
9641         * regrename.c: Likewise.
9642         * reg-stack.c: Likewise.
9643         * reload1.c: Likewise.
9644         * reload.c: Likewise.
9645         * reload.h: Likewise.
9646         * unroll.c: Likewise.
9647
9648 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9649
9650         * reload1.c (reload): Fix a comment typo.
9651
9652 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9653
9654         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9655
9656 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9657
9658         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9659         * dwarf2out.c: Include hashtab.h.
9660         (is_main_source): New static variable.
9661         (attr_checksum, die_checksum): Modified to handle die references.
9662         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9663         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9664         record_comdat_symbol_number): New static functions.
9665         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9666         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9667         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9668         declarations added.
9669
9670 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
9671
9672         * config/h8300/h8300.c (initial_offset): Change to
9673         h8300_initial_elimination_offset.
9674         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9675         h8300_initial_elimination_offset.
9676         * config/h8300/h8300-protos.h: Update the prototype.
9677
9678 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
9679
9680         * config/mmix/mmix.h (LIBCALL_VALUE): Use
9681         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9682         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9683         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9684         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9685         and RTX_CODE.
9686         (mmix_function_value_regno_p): Declare.
9687
9688         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9689         invalid for floating point mode result, with fix.
9690
9691 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
9692
9693         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9694         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9695         (stage1_build): Likewise.
9696
9697 2002-10-25  Mike Stump  <mrs@apple.com>
9698
9699         Fixes gcc.dg/warn-1.c.
9700         * c-typeck.c (warn_for_assignment): Don't print argument number,
9701         if zero.
9702
9703 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
9704
9705         * toplev.c (dump_file_index): Add DFI_ce3.
9706         (dump_file_info): Likewise.
9707         (rest_of_compilation): Run first ifcvt pass before tracer.
9708
9709 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
9710
9711         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9712
9713 2002-10-25  Richard Henderson  <rth@redhat.com>
9714
9715         * real.c (real_to_decimal): If the >1 tens reduction loop results
9716         in a negative exponent, fall into the <1 pten computation.
9717
9718 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
9719
9720         PR middle-end/6994
9721         * c-objc-common.c (inline_forbidden_p): Can not inline
9722         functions containing structures or unions containing VLAs.
9723         * tree-inline.c (walk_tree): For all class 't' nodes, walk
9724         TYPE_SIZE and TYPE_SIZE_UNIT.
9725         (copy_tree_r): Copy types if they are variably modified.
9726
9727 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9728
9729         * config/s390/s390.md: Remove old-style peepholes.
9730
9731 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9732
9733         * config/s390/s390.c (s390_decompose_address): Do not range check the
9734         displacement if base or index is the argument pointer register.
9735
9736 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
9737
9738         PR other/3337
9739         PR bootstrap/6763
9740         PR bootstrap/8122
9741         * fixinc/inclhack.def (libc1_G_va_list): New fix.
9742         * fixinc/fixincl.x: Regenerate.
9743         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9744         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
9745         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9746         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9747         * config.in, configure: Regenerate.
9748
9749 2002-10-24  Igor Shevlyakov <igor@microunity.com>
9750
9751         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
9752
9753 2002-10-24  Richard Henderson  <rth@redhat.com>
9754
9755         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9756
9757 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9758
9759         * config/h8300/h8300.c (initial_offset): Simplify by using
9760         round_frame_size.
9761
9762 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9763
9764         * doc/install.texi (avr): Update required binutils version.
9765
9766 2002-10-24  Theodore A. Roth  <troth@openavr.org>
9767
9768         * doc/install.texi: Point avr users at more up-to-date information.
9769
9770 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9771
9772         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9773         to pull operands out of the literal pool where possible.
9774
9775 2002-10-24  Denis Chertykov  <denisc@overta.ru>
9776
9777         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9778
9779 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
9780
9781         * expr.c (convert_move): If unsignedp is less then zero there
9782         is no equivalent code.
9783
9784 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
9785
9786         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9787
9788 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9789
9790         * config/s390/s390.h: Rework comments; re-sort target macro definitions
9791         according to the sequence they are defined in the manual.
9792         (POINTER_BOUNDARY): Remove.
9793
9794 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9795
9796         * config/h8300/h8300.c (round_frame_size): Replace 8 with
9797         BITS_PER_UNIT.
9798
9799 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9800
9801         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9802         64-bit safe.
9803         (TINY_CONSTANT_ADDRESS_P): Likewise.
9804
9805 2002-10-24  Richard Henderson  <rth@redhat.com>
9806
9807         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9808         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9809         vcall offset.
9810
9811 2002-10-24  Richard Henderson  <rth@redhat.com>
9812
9813         PR opt/7944
9814         * reload.c (find_reloads_toplev): Mode of X is not important
9815         when simplifying subregs of constants.
9816
9817 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9818
9819         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9820         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9821         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9822         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9823         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9824
9825 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9826
9827         * optabs.c (expand_binop): Don't reuse the shift target in the
9828         middle of shift sequences.
9829
9830 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
9831
9832         * i386.md (abs splitters): Do not produce nested subregs.
9833
9834 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
9835
9836         * i386.md (movti_rex64): Fix constraints.
9837
9838 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
9839
9840         * i386.md (abssf,absdf): Use vector operands for SSE
9841         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9842         vector operand.
9843
9844 2002-10-23  Ziemowit Laski <zlaski@apple.com>
9845
9846         * objc/objc-act.c (get_static_reference): Remove unneeded
9847         TYPE_BINFO initialization.
9848         (get_object-reference): Likewise.
9849         (build_constructor): Tighten precondition check.
9850         (finish_message_expr): Likewise.
9851
9852 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
9853
9854         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9855         after CONST test.
9856
9857 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
9858
9859         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9860         in HFAs.
9861
9862 2002-10-23  Richard Henderson  <rth@redhat.com>
9863
9864         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9865         (alpha_output_mi_thunk_osf): Handle vcall_offset.
9866
9867 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
9868
9869         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9870         var_mod_type_p.
9871         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9872         hook_tree_bool_false.
9873
9874         * tree.c (variably_modified_type_p): Moved here from
9875         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
9876         language-specific cases.  Due to this, must weaken some 'if
9877         and only if' checks to merely 'if'.
9878         * tree.h: Prototype variably_modified_type_p.
9879
9880         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9881
9882 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9883
9884         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9885         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9886
9887         * config/s390/s390-protos.h (fp_operand): Remove.
9888         * config/s390/s390.c (fp_operand): Remove.
9889         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9890         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9891         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9892         (movdi_31, movdf_31 splitters): Likewise.
9893
9894         * config/s390/s390.h (IEEE_FLOAT): Remove.
9895         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9896         (INT_REGNO_P): Rename to ...
9897         (GENERAL_REGNO_P): ... this.
9898         (FLOAT_REGNO_P): Rename to ...
9899         (FP_REGNO_P): ... this.
9900         (ADDR_REGNO_P): New macro.
9901         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9902         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9903         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9904         (HARD_REGNO_NREGS): Adapt to macro renaming.
9905         (HARD_REGNO_MODE_OK): Likewise.
9906
9907 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
9908             Geoff Keating  <geoffk@apple.com>
9909
9910         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9911         (rs6000_memory_move_cost): New function.
9912         * config/rs6000/rs6000-protos.h: Declare them.
9913         * config/rs6000/rs6000.h: Use them.
9914
9915 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9916
9917         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
9918         inlining it into other libgcc2 routines.
9919         (__udivmoddi4): Likewise.
9920
9921 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
9922
9923         * doc/sourcebuild.texi (Test Suites): Improve.
9924
9925 2002-10-22  Stan Shebs  <shebs@apple.com>
9926
9927         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9928         case for Darwin.
9929
9930 2002-10-22  Jim Wilson  <wilson@redhat.com>
9931
9932         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9933
9934 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
9935
9936         PR other/8289
9937         * xmmintrin.h: Add const to the argument of loads.
9938
9939         * i386.md (pushv2di): New pattern.
9940         PR target/6890
9941         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9942
9943 2002-10-22  Richard Henderson  <rth@redhat.com>
9944
9945         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9946         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
9947         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9948         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9949         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9950         (TARGET_ASM_OUT): Update.
9951         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9952         (hook_bool_tree_hwi_hwi_tree_true): New.
9953         (default_can_output_mi_thunk_no_vcall): New.
9954         * hooks.h: Declare them.
9955         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9956
9957         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9958         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9959         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9960         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9961         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9962         config/stormy16/stormy16.c: Similarly.
9963
9964         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9965         Handle 64-bit properly.  Streamline.
9966         (x86_output_mi_vcall_thunk): Remove.
9967         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9968         (x86_can_output_mi_thunk): New.
9969         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9970         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9971         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9972
9973         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9974         output_mi_thunk; make static; always use function_section.
9975         (TARGET_ASM_OUTPUT_MI_THUNK): New.
9976         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9977         (rs6000_ra_ever_killed): Test no_new_pseudos not
9978         targetm.asm_out.output_mi_thunk in conjunction with thunks.
9979         * config/rs6000/rs6000-protos.h: Update.
9980         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9981         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9982         xcoffout_declare_function when using rs6000_output_mi_thunk.
9983
9984         * config/s390/s390.c (s390_output_mi_thunk): Rename from
9985         s390_output_mi_vcall_thunk.
9986         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9987         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9988
9989         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9990         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9991         * config/vax/vax-protos.h: Update.
9992         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9993
9994 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
9995
9996         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9997         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9998         * i386.md (movti_internal): Use 'C'
9999
10000         * xmmintrin.h (_mm_cmplt_epi*): New.
10001
10002 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10003
10004         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10005         ("*movdf_64"): Likewise.
10006         ("*lshrdi3_64"): Likewise.
10007         ("blockage"): Add length attribute.
10008         ("lit"): Likewise.
10009
10010 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
10011
10012         * i386.md: FIx typo.
10013         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10014         (sse2_umulv2siv2di3): Fix predicate.
10015         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10016         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10017         * xmmintrin.h (_mm_mul_epu16): Rename to...
10018         (_mm_mul_epu32): This one.
10019         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10020
10021         (contains_128bit_aligned_vector_p): Undo accidental checkin.
10022
10023 2002-10-22  Eric Christopher  <echristo@redhat.com>
10024
10025         * config/sparc/sparc.h: Add #error.
10026
10027 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10028
10029         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10030         [s390x-*-linux*]: Likewise.
10031         * config/s390/t-linux: Remove.
10032         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10033
10034 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
10035
10036         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10037         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10038         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10039         * i386.md (mmx_punpck?dq): Simplify.
10040         (sse2_pubpcklqdq): Fix.
10041         (sse2_pubpckhqdq): New.
10042         * xmmintrin.h (_mm_unpackhi_epi32): New.
10043
10044         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10045         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10046
10047 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
10048
10049         PR c++/7209
10050         * fold_const.c (fold_binary_op_with_conditional_arg): Always
10051         build compound_expr if we used save_expr.
10052
10053 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
10054
10055         * output.h (SECTION_NOTYPE): Define.
10056         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10057         init array sections.
10058         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10059         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
10060         merge TLS support.
10061
10062 2002-10-21  Richard Henderson  <rth@redhat.com>
10063
10064         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10065         the function type, not the return type.
10066
10067 2002-10-21  Richard Henderson  <rth@redhat.com>
10068
10069         * real.c (sticky_rshift_significand): Return inexact, don't
10070         or it in immediately.
10071         (sub_significands): Accept incomming carry.
10072         (div_significands, rtd_divmod): Update for sub_significands change.
10073         (round_for_format): Update for sticky_rshift_significand change.
10074         (do_add): Don't involve the inexact bit in addition, do give the
10075         inexact bit as the subtraction carry-in.
10076         (encode_internal, decode_internal, real_internal_format): New.
10077         * real.h (real_internal_format): Declare.
10078
10079 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10080
10081         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10082         don't define sdiv_qrnnd.
10083
10084 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10085
10086         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10087         using IN_RANGE.
10088         (TINY_CONSTANT_ADDRESS_P): Likewise.
10089
10090 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10091
10092         * i386.c (builtin_description): Add punpcklqdq and movdq2q
10093         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10094         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10095         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10096         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10097         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10098         __builtin_ia32_setzero128.
10099         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10100         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10101         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10102         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10103         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10104         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10105         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10106         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10107         sse2_movq): New patterns.
10108         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10109         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10110         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10111         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10112         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10113         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10114         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10115         (_mm_insert_epi16): Fix.
10116
10117 2002-10-21  Dale Johannesen  <dalej@apple.com>
10118
10119         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
10120             unsafe math reversals correctly for RTL generation.
10121           (output_cbranch):  Replace rs6000_reverse_condition call
10122             by its former definition.
10123
10124 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
10125
10126         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10127         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10128         from constant pool or LABEL_REFs as sign extended if allow_rip.
10129         Change all +-1GB limits to +-16MB.
10130         (x86_64_general_operand, x86_64_szext_general_operand,
10131         x86_64_nonmemory_operand, x86_64_movabs_operand,
10132         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10133         legitimate_address_p, ix86_expand_int_movcc): Update callers.
10134         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10135         in CM_SMALL_PIC model.
10136         (legitimate_pic_address_disp_p): Don't check offsets before
10137         calling local_symbolic_operand.
10138         (legitimize_pic_address): Force offsets bigger than +-16MB into
10139         register.
10140         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10141         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10142         prototype.
10143
10144         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10145         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
10146         * configure: Rebuilt.
10147         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10148         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
10149         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10150         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10151         -fpic.
10152         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10153         non-pic code if TARGET_64BIT.
10154         (legitimize_address): Generate 64-bit TLS sequences.
10155         (output_pic_addr_const): Support x86-64 TLS operators.
10156         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10157         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10158         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10159         (output_addr_const_extra): Support x86-64 TLS operators.
10160         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10161         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10162         unconditionally.
10163         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10164         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10165         (*tls_global_dynamic_sun): Renamed to...
10166         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10167         (tls_global_dynamic): Renamed to...
10168         (tls_global_dynamic_32): ... this.
10169         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10170         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10171         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10172         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10173         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10174         (tls_local_dynamic_base_dynamic): Renamed to...
10175         (tls_local_dynamic_base_dynamic_32): ... this.
10176         (tls_local_dynamic_base_dynamic_64,
10177         *tls_local_dynamic_base_dynamic_64): New.
10178         (*tls_local_dynamic_once): Renamed to...
10179         (*tls_local_dynamic_32_once): ... this.
10180
10181 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10182
10183         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10184         __divdi3, __umoddi3, or __moddi3.
10185
10186 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10187
10188         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10189         instead of just opt_index as switch expression.
10190
10191         * calls.c (store_one_arg): Change type of 'excess_align'
10192         to unsigned int.
10193
10194         * profile.c (output_gcov_string): Change type of 'temp'
10195         to size_t.
10196
10197 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10198
10199         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10200         (__fixunssfdi, __fixsfdi): Likewise.
10201         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10202         (s390_single_qi): Likewise.
10203         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
10204         unsigned comparison warning.
10205         (s390_return_addr_rtx): New function.
10206         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10207         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10208         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10209
10210 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10211
10212         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10213         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10214         (s390_output_mi_thunk): Remove.
10215         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10216
10217 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10218
10219         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10220
10221 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
10222
10223         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10224         inverted test in the conditional determining the possibility
10225         of sibcalls in PIC mode.
10226
10227 2002-10-20  Richard Henderson  <rth@redhat.com>
10228
10229         * target.h (struct gcc_target): Line wrap.
10230
10231         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10232         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10233         * config/alpha/alpha.h: ... not here.
10234         * config/alpha/alpha-protos.h: Update.
10235
10236         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10237         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10238         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10239         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10240         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10241         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10242         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10243         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10244         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
10245         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
10246         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10247         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10248         config/sparc/sparc.c, config/sparc/sparc.h,
10249         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10250         config/stormy16/stormy16.h: Similarly.
10251
10252         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10253         selection logic from call patterns.
10254
10255 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
10256
10257         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10258
10259 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10260
10261         PR other/8202
10262         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10263         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10264         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10265         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10266
10267 2002-10-20  Roger Sayle  <roger@eyesopen.com>
10268
10269         PR c/761
10270         * toplev.c (flag_unsafe_profile_arcs): Remove.
10271         (flag_bounded_pointers): Remove.
10272         (flag_bounds_check): Correct comments.
10273         (lang_independent_options): Remove -funsafe-profile-arcs and
10274         -fbounded-pointers.  Correct -fbounds-check comments.
10275
10276         * flags.h: Correct flag_schedule_interblock comments.
10277         (flag_bounded_pointers): Remove prototype.
10278         (flag_bounds_check): Correct comments.
10279
10280         * c-opts.c (c_common_init_options): No need to mark
10281         flag_bounds_check as unspecified.
10282         (c_common_post_options): And no need to set it from
10283         flag_bounded_pointers if its still unspecified.
10284
10285         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10286         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10287         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10288         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10289
10290 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
10291         Angela Marie Thomas  <angela@releasedominatrix.com>
10292         Brendan Kehoe  <brendan@zen.org>
10293         Nick Clifton  <nickc@redhat.com>
10294         Andrew Haley  <aph@redhat.com>
10295
10296         * configure.in (--with-sysroot): New.  Don't inhibit libc if
10297         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10298         and CROSS_SYSTEM_HEADER_DIR.
10299         * configure: Rebuilt.
10300         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10301         (TARGET_SYSTEM_ROOT): New.
10302         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10303         CROSS_SYSTEM_HEADER_DIR.
10304         (install-gcc-tooldir): New target.
10305         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10306         if SYSTEM_HEADER_DIR does not exist and it's not the default
10307         sys-include directory.
10308         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10309         (install-mkheaders): Likewise.
10310         * gcc.c (target_system_root): New variable.
10311         (add_sysrooted_prefix): New function.
10312         (process_command): Recompute run-time target_system_root from
10313         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10314         does not exist.
10315         (do_spec_1): Process 'R' spec.
10316         (main): Add md_exec_prefix to exec_prefixes regardless of
10317         startfile_prefix_spec.  Use add_sysrooted_prefix for
10318         startfile_prefixes, and don't skip the default ones when cross
10319         compiling with sysroot enabled.  Removed unused case of
10320         non-absolute standard_startfile_prefix.
10321         * config/interix.h: Remove the only potential, yet disabled,
10322         occurrence of non-absolute (empty) standard_startfile_prefix.
10323         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10324         linking.
10325         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10326         * doc/install.texi (--with-sysroot): Document.
10327         (--with-headers, --with-libs): Deprecate.
10328
10329 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10330             Mark Mitchell  <mark@codesourcery.com>
10331
10332         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10333         match target.h.
10334         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10335         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10336         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10337         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10338         x86_output_mi_thunk): Likewise.
10339         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
10340         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
10341         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
10342         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
10343         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
10344         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
10345         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
10346         Likewise.
10347         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
10348
10349         * target.h (gcc_target): Update output_mi_thunk and
10350         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
10351         vcall_index.
10352
10353         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
10354         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10355         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
10356         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
10357         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
10358         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
10359         signature.
10360         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
10361         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10362         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10363         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
10364         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
10365         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10366         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10367         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
10368         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
10369
10370         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
10371         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
10372
10373 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
10374
10375         * real.c (do_add): Fix 0+0 sign corner case.
10376         (do_divide): Fix Inf/0 corner case.
10377
10378 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
10379
10380         * i386.c (classify_argument): Pass MMX arguments in memory
10381         (ix86_expand_builtin): Expand proper address mode for cflush.
10382         * i386.md (movdqa): Fix typo.
10383         (sse2_cflush): Accept DImode addresses.
10384
10385         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
10386         (_mm_max_sd): Fix pasto.
10387         (_mm_storeh_pd, _mm_storel_pd): Fix.
10388
10389         * i386.c (bdesc_comi): Fix to match specification.
10390         (ix86_expand_sse_comi): Emit the comparison properly.
10391         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
10392         Do not use comparison operator.
10393         (vnmaskcmp): Fix template.
10394
10395         * xmmintrin.h (_mm_cvtps_pi16): Fix.
10396
10397 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
10398
10399         * dependence.c : Removed.
10400         * Makefile.in : Remove dependence.o.
10401
10402 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
10403
10404         * mmintrin.h (__m64): typedef it to v2si.
10405         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10406         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
10407         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
10408         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
10409         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
10410         * xmmintrin.h (_mm_setzero_si64): Likewise.
10411
10412         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
10413         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
10414
10415         PR target/7693
10416         Patch by Shawn Wagner
10417         * mmintrin.h: Replace pi64 by si64.
10418
10419 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
10420
10421         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
10422         Use length of 4 not *.
10423         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10424         (movdf_softfloat64): Likewise.
10425         (movdi_internal32): Use length of 4 not *.
10426         (movti_power): Same.
10427         (ctrsi, ctrdi): Same.
10428
10429 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10430
10431         * c-decl.c (start_decl): Point users of the old initialized-
10432         typedef extension at __typeof__.
10433
10434 2002-10-18  Richard Henderson  <rth@redhat.com>
10435
10436         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10437         (real_to_decimal): Re-implement using the logic from the
10438         gcc 3.2 etoasc.  Comment heavily.
10439         (div_significands): Simplify loop startup and comparison logic.
10440
10441 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10442
10443         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10444         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10445         (TARGET_ASM_OUT): Add them.
10446         * target.h (asm_out): Add output_mi_thunk and
10447         output_mi_vcall_thunk.
10448         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10449         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10450         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10451         * config/arm/arm.c (arm_output_mi_thunk): Define.
10452         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10453         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10454         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10455         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10456         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10457         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10458         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10459         prototype.
10460         (x86_output_mi_vcall_thunk): Declare.
10461         * config/i386/i386.c (override_options): Clear
10462         output_mi_vcall_thunk in 64-bit mode.
10463         (ix86_fntype_regparm): New function.
10464         (ix86_return_pops_args): Use it.
10465         (ia32_this_parameter): New function.
10466         (x86_output_mi_vcall_thunk): New function.
10467         (x86_output_mi_thunk): Use it
10468         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10469         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10470         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10471         * config/i960/i960.c (i960_output_mi_thunk): New function.
10472         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10473         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10474         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10475         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10476         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10477         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10478         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10479         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10480         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10481         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10482         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10483         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10484         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10485         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10486         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10487         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10488         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10489         * config/s390/s390.c (s390_output_mi_thunk): Define.
10490         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10491         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10492         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10493         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10494         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10495         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10496         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10497         * config/vax/vax.c (vax_output_mi_thunk): Define.
10498         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10499         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10500         * doc/tm.texi: Adjust documentation.
10501
10502 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10503
10504         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10505         __enable_execute_stack function.
10506         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10507         as NETBSD_ENABLE_EXECUTE_STACK.
10508         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10509         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10510         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10511         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10512         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10513
10514 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10515
10516         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10517         to __enable_execute_stack with the address of the trampoline
10518         if TRANSFER_FROM_TRAMPOLINE is defined.
10519         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10520         constant if building libgcc2.
10521
10522 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10523
10524         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10525         (ix86_memory_move_cost): Fix for 64bit compilation.
10526
10527 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10528
10529         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10530
10531 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10532
10533         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10534         in CTR/LR/MQ.
10535         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10536         to/from CTR/LR/MQ.
10537         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10538         (movsf_softfloat): Likewise.
10539
10540 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10541
10542         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10543
10544 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10545
10546         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10547         tramp, not addr, to pass the trampoline address to
10548         __enable_execute_stack.
10549
10550 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10551
10552         * mmintrin.h: Guard by __MMX__
10553         * xmmintrin.h: Guard by __SSE__
10554
10555         PR other/8062
10556         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10557         (_mm_load*_?d): New functions.
10558         (_mm_set*_?d): New functions.
10559         (_mm_store*_?d): New functions.
10560
10561 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10562
10563         Really commit patch announced at Oct 14
10564         PR c/7344
10565         * predict.c (can_predict_insn_p): New function.
10566         (estimate_probability): Avoid unnecesary work.
10567         (process_note_prediction): Likewise.
10568         * toplev.c (rest_of_compilation): Account early branch prediction pass
10569         as TV_BRANCH_PROB.
10570
10571         PR other/8048
10572         Found by Ian Ollmann
10573         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10574         (_mm_load?_pd): Likewise.
10575         (_mm_store?_pd): Likewise.
10576
10577         PR target/7386
10578         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10579         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10580         swapped alternative.
10581
10582         PR opt/7630
10583         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10584         (push_reload): Update call.
10585
10586 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10587
10588         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10589         if using mips/elf.h or mips/elf64.h.
10590         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10591         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10592
10593 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10594
10595         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10596         SI.
10597
10598 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10599
10600         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10601         (LPREFIX): Likewise.
10602         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10603         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10604         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10605         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10606         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10607
10608         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10609         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10610         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10611         BSS_SECTION_ASM_OP): Move from linux.h.
10612         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10613         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10614
10615         * config/s390/s390.c (s390_function_profiler): Use
10616         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10617
10618 2002-10-15  Eric Christopher  <echristo@redhat.com>
10619
10620         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10621         * java/parse.y (obtain_incomplete_type): Make pointer
10622         ptr_mode.
10623
10624 2002-10-15  Richard Henderson  <rth@redhat.com>
10625
10626         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10627         as arguments.  Bound DIGITS by the available buffer size.
10628         (real_to_hexadecimal): Likewise.
10629         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10630         (REAL_VALUE_TO_DECIMAL): Remove.
10631         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10632         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10633         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10634         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10635         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10636         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10637         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10638         use real_to_decimal directly, and with the proper arguments.
10639         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10640
10641 2002-10-15  Jim Wilson  <wilson@redhat.com>
10642
10643         * reload1.c (merge_assigned_reloads): After converting overlapping
10644         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10645
10646         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10647
10648 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10649
10650         * expr.c (do_tablejump): Fix typo in my previous commit.
10651
10652 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10653
10654         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10655
10656 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10657
10658         * config/s390/s390.c (s390_split_branches): Add return
10659         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10660
10661         (find_base_register_in_addr): New function.
10662         (find_base_register_ref): New function.
10663         (replace_base_register_ref): New function.
10664
10665         (struct constant_pool): Add members pool_insn, insns, and anchor.
10666         Remove member last_insn.
10667         (s390_start_pool): Initialize them.
10668         (s390_end_pool): Emit pool placeholder insn.
10669         (s390_add_pool_insn): New function.
10670         (s390_find_pool): Use insns bitmap instead of addresses.
10671         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
10672         Replace unspec 104 by local-pool-relative references.
10673         (s390_output_constant_pool): Output anchor label if required.
10674         (s390_output_symbolic_const): Handle unspec 104 and 105.
10675         (s390_add_pool): Remove, replace by ...
10676         (s390_add_constant, s390_find_constant): ... these new functions.
10677         (s390_add_anchor): New function.
10678
10679         (s390_chunkify_pool): Delete, replace by ...
10680         (s390_chunkify_start, s390_chunkify_finish,
10681         s390_chunkify_cancel): ... these new functions.
10682         (s390_optimize_prolog): Add parameter TEMP_REGNO.
10683         Recompute register live data for special registers.
10684         (s390_fixup_clobbered_return_reg): New function.
10685         (s390_machine_dependent_reorg): Rewrite to use new
10686         s390_chunkify_... routines.
10687
10688         config/s390/s390.md ("reload_base"): Rename to ...
10689         ("reload_base_31"): ... this.
10690         ("reload_base_64"): New insn.
10691         ("reload_base2"): Remove.
10692         ("reload_anchor"): New insn.
10693         ("pool"): New insn.
10694
10695         s390.c (s390_pool_overflow): Remove.
10696         s390.h (s390_pool_overflow): Likewise.
10697         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10698
10699 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
10700
10701         * sh.md (movv8qi_i+2): Don't split if source is -1.
10702
10703 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
10704
10705         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10706
10707 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10708
10709         PR opt/7409
10710         * loop.c (loop_regs_scan): Mark registers used for function
10711         argument passing as MAY_NOT_OPTIMIZE.
10712
10713 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10714
10715         * gcov-io.h (gcov_info): Fix type.
10716         * profile.c (create_profiler): Fix type mismatch.
10717
10718 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
10719
10720         * i386.md (movv2di_internal): New pattern.
10721         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10722         (movv2di): New expander.
10723         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10724
10725         * i386.c (ix86_expand_timode_binop_builtin): Delete.
10726         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10727         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10728         (ix86_expand_builtin): Likewise.
10729         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10730         sse_andti3,
10731         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10732         sse_andnti3,
10733         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
10734         sse_orti3,
10735         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
10736         sse_xorti3): Kill.
10737         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10738          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10739         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10740          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10741         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10742          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10743
10744         * xmmintrin.h (__m128i): Define as __v2di.
10745
10746         PR c++/6419
10747         (expand_expr): Use DECL_RTL_SET_P.
10748
10749 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10750
10751         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
10752
10753 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10754             Zack Weinberg <zack@codesourcery.com>
10755
10756         * config/i386/i386.c (k6_cost): Correct typo.
10757
10758 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
10759
10760         PR optimization/6631
10761         * alias.c (objects_must_conflict_p): Check honor_readonly when
10762         examining TYPE_READONLY.
10763         * function.c (assign_stack_temp_for_type): Likewise.
10764
10765 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
10766
10767         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10768         Swap zero extension arguments.
10769         (umaxhi3): Fix instruction class.
10770         PR target/7211
10771         (prefetch): Fix prefetch instructions.
10772         PR target/7238
10773         (pkwb): Fix output constraint.
10774
10775 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
10776
10777         * config/mips/mips.c (print_operand): Increase buffer size for
10778         real numbers.
10779
10780 2002-10-14  Richard Henderson  <rth@redhat.com>
10781
10782         PR opt/8165
10783         * gcse.c (adjust_libcall_notes): Revert last change.
10784         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10785
10786 2002-10-14  Andrew Haley  <aph@redhat.com>
10787
10788         * tree-inline.c (remap_block): All local class initialization
10789         flags go in the outermost scope.
10790         (expand_call_inline): Call java_inlining_map_static_initializers.
10791         (expand_call_inline): Call java_inlining_merge_static_initializers.
10792         * java/lang.c (merge_init_test_initialization): New.
10793         (java_inlining_merge_static_initializers): New.
10794         (inline_init_test_initialization): New.
10795         (java_inlining_map_static_initializers): New.
10796
10797         * tree-inline.c (expand_call_inline): Convert retvar to expected
10798         type.
10799
10800 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
10801
10802         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10803
10804 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
10805
10806         * stmt.c: Fix typo in comment.
10807
10808 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10809
10810         * c-common.c (c_common_type_for_mode): Add V2HImode case.
10811         * tree.c (build_common_tree_nodes_2): Initialize
10812         unsigned_V2HI_type_node and V2HI_type_node.
10813         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10814         (unsigned_V2HI_type_node, V2HI_type_node): Define.
10815
10816 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
10817
10818         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10819         Handle TARGET_64BIT.
10820
10821 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10822
10823         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10824         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10825         (MULTILIB_DIRNAMES): Remove long32.
10826         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10827         (MULTILIB_REDUNDANT_DIRS): Remove.
10828
10829 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10830
10831         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10832         * gcc.c (driver_self_specs): New variable.
10833         (do_self_spec): New function.
10834         (main): Use it to process driver_self_specs.
10835
10836 2002-10-13  Richard Henderson  <rth@redhat.com>
10837
10838         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10839         indirect sibcalls when regparm >= 3.
10840
10841         * config/i386/i386.c (sibcall_insn_operand): New.
10842         * config/i386/i386.h (PREDICATE_CODES): Update.
10843         * config/i386/i386-protos.h: Update.
10844         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10845
10846         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10847
10848 2002-10-12  Roger Sayle  <roger@eyesopen.com>
10849
10850         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10851         arithmetic right shifts of ~0 during RTL simplifications.
10852
10853 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
10854
10855         PR preprocessor/7862
10856         PR preprocessor/8190
10857         * gcc.c (cpp_unique_options): Don't delete .d files.
10858         Remove stray whitespace.
10859
10860 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
10861
10862         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10863         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10864         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10865         (pdp11_output_function_epilogue, output_ascii): Likewise.
10866         (output_addr_const_pdp11): Likewise.
10867         * pdp11.md (movdi): Use offsetable memory for floating store.
10868         (lshrsi3, negsi2): Delete irrelevant comment.
10869
10870 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
10871
10872         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10873         indirect calls to be sibcall optimized.
10874         * config/i386/i386.md (sibcall_1): New.
10875         (call_1): Add no-sibcalls condition.
10876         (sibcall_value_1): New.
10877         (call_value_1): Add no-sibcalls condition.
10878
10879 2002-10-11  Eric Christopher  <echristo@redhat.com>
10880
10881        * output.h (default_valid_pointer_mode): Declare.
10882        * varasm.c (default_valid_pointer_mode): Define.
10883        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10884        * target.h: Ditto.
10885        * tree.c (build_pointer_type_for_mode): New function.
10886        (build_pointer_type): Use.
10887        (build_reference_type_for_mode): New function.
10888        (build_reference_type): Use.
10889        * tree.h: Declare new functions.
10890        * c-common.c (handle_mode_attribute): Use new functions, check
10891        for type.
10892        * stor-layout.c (layout_type): Depend on machine mode for
10893        REFERENCE_TYPE and POINTER_TYPE.
10894        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10895        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10896        and REFERENCE_TYPE.
10897        * config/mips/mips.c (mips_valid_pointer_mode): New function.
10898        (TARGET_VALID_POINTER_MODE): Use and define.
10899        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10900
10901 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
10902
10903         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10904         not the address of the REG.
10905         (struct cse_reg_info): Make subreg_ticked unsigned.
10906
10907 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
10908
10909         * doc/compat.texi: Add info about C++ libraries.
10910
10911 2002-10-11  Richard Henderson  <rth@redhat.com>
10912
10913         PR opt/8165
10914         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10915
10916 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10917
10918         * cfganal.c (dfs_enumerate_from): Use PARAMS.
10919         * genautomata.c (output_insn_code_cases): Likewise.
10920         * real.c (real_format): Likewise.
10921         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10922         ensure value is promoted before doing subtraction.
10923
10924 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
10925
10926         * calls.c (expand_call): Simplify noreturn call.
10927
10928         PR c/7344
10929         * cfgbuild.c (make_edges): Create edge cache when we do have
10930         large jumptable.
10931         * expr.c (do_tablejump): Note size of maximal jumptable.
10932         * function.c (prepare_function_start): Zero out size.
10933         * function.h (function): Add max_jumptable_ents.
10934
10935         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10936
10937 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10938
10939         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10940         register for mperm_w operation.
10941
10942 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
10943
10944         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10945         an integer, use simplify_gen_subreg.
10946
10947 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
10948
10949         * calls.c (flags_from_decl_or_type): Make extern.
10950         (ECF_*): Move ...
10951         * rtl.h (ECF_*): ... here.
10952         (flags_from_decl_or_type): Declare.
10953
10954 2002-10-10  Roger Sayle  <roger@eyesopen.com>
10955             Nathan Sidwell <nathan@codesourcery.com>
10956
10957         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10958         shifts of the form -1 >> x.
10959
10960 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
10961
10962         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10963
10964 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
10965
10966         * extend.texi (Vector Extensions): Remove comment about single
10967         element vectors.
10968
10969 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10970
10971         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10972         * function.c (insns_for_mem_hash): Likewise.
10973         * varasm.c (STRHASH): Likewise.
10974
10975 2002-10-10  Stuart Hastings  <stuart@apple.com>
10976
10977         * cse.c (struct cse_reg_info): Add subreg_ticked.
10978         (SUBREG_TICKED): New.
10979         (get_cse_reg_info): Initialize SUBREG_TICKED.
10980         (mention_regs): Use it.
10981         (invalidate): Set SUBREG_TICKED.
10982         (invalidate_for_call): Likewise.
10983         (addr_affects_sp_p): Likewise.
10984
10985 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
10986
10987         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10988         into proper operand.
10989
10990 2002-10-10  Denis Chertykov  <denisc@overta.ru>
10991
10992         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10993         deallocation.
10994         * config/ip2k/libgcc.S: Combine routines used by function
10995         epilogue.
10996
10997 2002-10-10  Jim Wilson  <wilson@redhat.com>
10998
10999         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11000         UDIV.
11001
11002 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
11003
11004         * config/rs6000/aix52.h: New file.
11005         * config/rs6000/t-aix52: New File.
11006         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11007         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11008
11009 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
11010
11011         PR target/5610
11012         * invoke.texi (-msse-math): Kill
11013         (-msse): Add note to mfpmath=sse.
11014
11015 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
11016
11017         PR target/7723
11018         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11019
11020 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
11021
11022         PR preprocessor/8179
11023         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11024         as cc1_options.
11025         (default_compilers): Pass debug options when preprocessing
11026         stdin.
11027
11028 2002-10-06  Richard Henderson  <rth@redhat.com>
11029
11030         * toplev.c (rest_of_compilation): Revert opt/2960 change.
11031
11032 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11033
11034         * i386.c (*_cost): Add branch costs.
11035         (override_options): set ix86_branch_cost.
11036         (ix86_expand_int_movcc): Use BRANCH_COST.
11037         * i386.h (costs): Add branch_cost.
11038
11039 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
11040
11041         PR c/7353
11042         * c-decl.c (start_decl): Unconditionally issue error for
11043         'typedef foo = bar'.
11044         (finish_decl): Remove special case for TYPE_DECL with initializer.
11045
11046         * doc/extend.texi: Delete "Naming Types" section.  Change all
11047         cross-references to that section to refer to "Typeof" instead.
11048         Add the useful safe-max()-macro example from "Naming Types" to
11049         "Typeof", rewritten using that extension.  Add some compatibility
11050         notes to "Typeof."
11051
11052 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11053
11054         * loop.c: Revert 2002-08-15 change.
11055         (LOOP_REGNO_NREGS): Ensure type is int.
11056
11057 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11058
11059         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11060         which copies first FPR and clears second.
11061         (extendsftf2): Same.
11062         (floatditf2): Fix typo.
11063         (floatsitf2): Same.
11064         (fix_trunctfdi2): Same.
11065         (fix_trunctfsi2): Same.
11066
11067 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11068
11069         * conflict.c (arc_hash): Change return type to hashval_t.
11070         * cselib.c (get_value_hash): Likewise.
11071         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11072         state_hash, automata_list_hash): Likewise.
11073         * read-rtl.c (def_hash): Likewise.
11074         * tree.c (type_hash_hash): Likewise.
11075
11076 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
11077
11078         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11079         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11080
11081 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11082
11083         * sh.md (ffssi2): Fix emitted code.
11084
11085 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
11086
11087         * cse.c (insn_live_p): Pass insn pattern, not full insn
11088         to may_trap_p.
11089
11090 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
11091
11092         * cppmacro.c (paste_tokens): Only allow / to paste with =.
11093
11094 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11095
11096         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11097         64-bit hosts.
11098         (movtf_internal): Reference correct displacement for second value
11099         in memory.
11100         (movtf splitter): Correct generation of constants in 64-bit mode.
11101
11102 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
11103
11104         * libgcc2.c (__floatdisf): Properly cure double rounding.
11105
11106 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11107
11108         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11109         * doc/cpp.texi (Common Predefined Macros): Document.
11110
11111 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11112
11113         PR doc/7484
11114         * doc/invoke.texi (Option Summary): List
11115         -Wmissing-declarations as a C only option.
11116
11117 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11118
11119         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11120         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11121         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11122
11123 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11124
11125         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11126         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11127         variables.
11128         (safe_vector_operand): Update sse_clrv4sf call.
11129         (ix86_expand_buildin): Likewise
11130         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11131         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11132         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11133         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11134         macros.
11135         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11136         movv4si):  Obey the new flags.
11137         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11138         reformating penalty.
11139         (anddf, cmov patterns): Avoid reformating by first converting.
11140         (sse_cvtsd2ss): Fix predicate.
11141         (sse2_clrti): Fix mode,
11142         (sse_clrv4sf): Avoid unspec.
11143
11144 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
11145
11146         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11147         mno-app-regs|mcmodel=medany.
11148         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11149         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11150         (CRTSTUFF_T_CFLAGS): Define.
11151
11152 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11153
11154         PR target/8087
11155         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
11156         pool references that are constructed using LO_SUM.
11157
11158 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
11159
11160         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11161         -Wall.
11162         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11163         message.
11164         * flags.h (warn_strict_aliasing): Declare.
11165         * toplev.c (warn_strict_aliasing): Define.
11166         (lang_independent_options): Add it.
11167         * doc/invoke.texi (-Wstrict-aliasing): Document it.
11168
11169 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
11170
11171         * system.h (GCCBUGURL): Delete.
11172         * version.c (bug_report_url): New.  Add commentary about
11173         modifying both these strings in modified distributions.
11174         * version.h: Declare bug_report_url.
11175
11176         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11177         bug_report_url.
11178
11179 2002-10-08  Nick Clifton  <nickc@redhat.com>
11180
11181         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11182         convert uint64_t into __ev64_opaque__.
11183         (__ev_set_acc_s64): Likewise, but using signed types.
11184
11185 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
11186
11187         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11188         ("*doloop_di_long"): Likewise.
11189
11190 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
11191
11192         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11193
11194 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
11195
11196         * config/mips/mips.md (define_attr cpu): Add r4111.
11197
11198 2002-10-08  Anthony Green  <green@redhat.com>
11199
11200         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
11201
11202 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11203
11204         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11205         for REAL_VALUE_TO_DECIMAL output.
11206
11207 2002-10-07  Richard Henderson  <rth@redhat.com>
11208
11209         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11210         function; cleanup PLUS case by using recursion.  Update all users.
11211         (NONZERO_BASE_PLUS_P): Remove.
11212         (find_comparison_args): Use rtx_addr_can_trap_p instead.
11213         (fold_rtx): Use nonzero_address_p.
11214         * rtl.h (nonzero_address_p): Declare.
11215         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11216         (rtx_addr_can_trap_p): Likewise.
11217         (nonzero_address_p): New.
11218         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11219         (simplify_relational_operation): Use nonzero_address_p.
11220
11221 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
11222
11223         * config/rs6000/rs6000.c (rs6000_override_options): Set
11224         real_format_for_mode for IBM extended format, if enabled.
11225         (easy_fp_constant): Add TFmode.
11226         (rs6000_legitimize_address): Add TFmode.
11227         (rs6000_legitimate_address): Same.
11228         (function_arg_advance): TFmode uses two FPRs.
11229         (rs6000_emit_prologue): Fix warning.
11230         (rs6000_output_function_epilogue): Add TFmode.
11231         (output_toc): Add TFmode.
11232         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11233         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11234         * rs6000.md (movtf splitter): Load TFmode constant.
11235
11236 2002-10-07  Dale Johannesen  <dalej@apple.com>
11237
11238         * rtl.h:  Add NOTE_PRECONDITIONED.
11239         * unroll.c:  Set it.
11240         * loop.c:  Set loop_info->preconditioned from it.
11241         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
11242
11243 2002-10-07  Richard Henderson  <rth@redhat.com>
11244
11245         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11246         new rtx for comparing the argument pointer against zero.
11247         (i960_va_start): Similarly.
11248
11249 2002-10-07  Richard Henderson  <rth@redhat.com>
11250
11251         * config/i960/i960.md (*): Use TFmode, not XFmode.
11252         * config/i960/i960.c (*): Likewise.
11253         (i960_arg_size_and_align): Remove XFmode alignment hack.
11254         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11255         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11256         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11257         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11258
11259 2002-10-07  Richard Henderson  <rth@redhat.com>
11260
11261         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11262         entry points; use void return value and argument list.
11263
11264 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
11265
11266         * calls.c (expand_call): Fix function-is-volatile check.
11267
11268 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11269
11270         * t-pdp11: Add MULTILIB support for msoft-float.
11271         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11272
11273         * t-pdp11: Add LIB2FUNCS_EXTRA.
11274         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
11275         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11276         'fldd' to 'ldd', rename 'fstd' to 'std'.
11277         (pdp11_output_function_epilogue): Likewise.
11278         (output_move_quad): Make the comment gas compatible.
11279         (output_ascii): Add preceding 0 to the octal constant.
11280         (print_operand_address): Add pre_modify, post_modify.
11281         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11282         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
11283         with the indication of Paul Koning.
11284         (PRINT_OPERAND): Fix floating constant.
11285         * pdp11.md (movdi): Restrict matching pattern.
11286         (movqi): Generalize the matching pattern.
11287         (movdf): Restrict matching pattern.
11288         (zero_extendqihi2): Change constant representation.
11289         (floatsidf2): Fix wrong operands.
11290         (addqi3): Fix wrong instruction name.
11291         (subqi3): Fix wrong instruction name.
11292         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11293         (xorsi3): Fix wrong insn.
11294         (one_cmplqi2): Add two operand pattern.
11295         (lsrsi3): New.
11296         (negsi2): New.
11297         (call): Add register indirect case.
11298         (mod): Fix wrong subreg.
11299
11300 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
11301             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11302
11303         PR c/7411
11304         * expr.c (expand_expr) [PLUS]: Simplify after the operands
11305         have been expanded in EXPAND_NORMAL mode.
11306
11307 2002-10-06  Richard Henderson  <rth@redhat.com>
11308
11309         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11310
11311 2002-10-06  Richard Henderson  <rth@redhat.com>
11312
11313         PR optimization/2960
11314         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11315         optimize_size.
11316
11317 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
11318
11319         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11320         previously definitions.
11321
11322 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
11323
11324         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11325         * c-opts.c (find_opt): Similarly.
11326
11327 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
11328
11329         * athlon.md: rewrite to DFA.
11330         * i386 (ix86_adjust_cost): Drop memory latency code.
11331         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11332
11333 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
11334
11335         * gcc.c (set_multilib_dir): Don't access *end.
11336         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
11337         (print_multilib_info): Don't show paths starting with ".:".
11338         * genmultilib: Add new option, "yes" if multilibs are enabled.
11339         Update comments.  If multilibs not enabled, print .:${osdirout}
11340         for each directory.  If multilibs are enabled, always print
11341         ${dirout}:${osdirout}, even if the two are the same.
11342         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
11343         Pass all MULTILIB_* variables to genmultilib even if
11344         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
11345
11346 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
11347
11348         * gcc.c (process_command): Set .validated for -pipe.  Correct
11349         grammar in comment.
11350
11351 2002-10-04  Bruce Korb  <bkorb@gnu.org>
11352
11353         * fixinc/inclhack.def(hpux11_abs):  use format fix
11354         * fixinc/fixincl.x: regenerate
11355         * fixinc/tests/base/stdlib.h: accommodate new fix test
11356
11357 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11358
11359         * c-common.c (cb_register_builtins):  Use really_no_inline.
11360
11361 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
11362
11363         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
11364         copied instruction if the note is not loop invariant.
11365
11366 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
11367
11368         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
11369
11370 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11371
11372         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
11373         and -mhp-ld options to list of options.  Add -mgnu-ld
11374         and -mhp-ld option descriptions.
11375
11376 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11377
11378         * fixinc/inclhack.def (hpux11_abs):  New.
11379         (stdio_va_list): change __va_list__ to __gnuc_va_list.
11380         * fixinc/fixincl.x: Rebuild.
11381
11382 2002-10-04  Roger Sayle  <roger@eyesopen.com>
11383
11384         * config/i386/i386.h (processor_costs): Add new fields fadd,
11385         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
11386         (RTX_COSTS): Use these fields to determine the RTX costs
11387         of floating point addition/subtraction, multiplication,
11388         division, fabs, negation and square root respectively.
11389         * config/i386/i386.c (size_cost): Provide instruction sizes
11390         for these new fields.
11391         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
11392         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
11393         counts for these new fields for all x86 processor variants.
11394
11395 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11396
11397         * mips.c (mips_const_double_ok): Delete unused variable.
11398
11399         * gengtype.c (rtx_next): Change type to int.
11400
11401 2002-10-04  Andreas Jaeger  <aj@suse.de>
11402
11403         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
11404
11405 2002-10-04  Richard Henderson  <rth@redhat.com>
11406
11407         * real.h (SIGNIFICAND_BITS): Add one more word.
11408         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
11409         * real.c (times_pten): New.
11410         (real_to_decimal, real_from_string): Use it.
11411         (sticky_rshift_significand): Use & to find modulus.
11412         (rshift_significand, lshift_significand): Likewise.
11413         (do_divide): Apply sticky bit after normalization.
11414         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
11415
11416 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
11417
11418         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
11419         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11420
11421 2002-10-03  Andreas Jaeger  <aj@suse.de>
11422
11423         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11424         to unsigned long, adjust printf format string.
11425         (output_mangled_typename): Likewise.
11426
11427 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11428
11429         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11430         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11431         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11432         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11433         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11434         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11435         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11436         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11437
11438 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11439
11440         * doc/invoke.texi (-Wabi): Document mangling bug.
11441
11442 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11443
11444         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11445         name for the tbtab label that depends on the function asm name.
11446         Don't output tbtab label unless optional_tbtab.
11447         (output_mi_thunk): Formatting.
11448
11449 2002-10-03  Richard Henderson  <rth@redhat.com>
11450
11451         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11452         * config/m68k/m68k.c (override_options): ... here.
11453         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11454         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11455         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11456         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11457
11458 2002-10-03  Richard Henderson  <rth@redhat.com>
11459
11460         * real.h (struct real_value): Use ENUM_BITFIELD.
11461
11462 2002-10-03  Richard Henderson  <rth@redhat.com>
11463
11464         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11465
11466 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11467
11468         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11469
11470 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11471
11472         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11473         * config/pa/pa.h (MASK_GNU_LD): New.
11474         (TARGET_GNU_LD): New.
11475         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11476         on gnu-ld and MASK_GNU_LD.
11477         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11478
11479 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11480
11481         * i386.c (athlon_cost): Fix the move costs.
11482
11483 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11484
11485         * final.c (final): Use symbol name as function name for profiling.
11486         * profile.c (get_exec_counts): Likewise.
11487         (branch_prob): Likewise.
11488
11489 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11490
11491         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11492
11493 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11494
11495         * gcc.c (print_multi_os_directory): New variable.
11496         (option_map): Support --print-multi-os-directory.
11497         (struct prefix_list): Add os_multilib field.
11498         (multilib_os_dir): New variable.
11499         (static_specs): Add multilib_options.
11500         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11501         subdirs if nonzero.
11502         (read_specs, execute): Update callers.
11503         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11504         pass 1 as multilib option.
11505         (display_help): Include --print-multi-os-directory.
11506         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11507         (process_command): Update callers.  Handle --print-multi-os-directory.
11508         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11509         set.
11510         (main): Update find_a_file and add_prefix callers.
11511         Handle print_multi_os_directory.
11512         (struct mdswitchstr): New.
11513         (mdswitches, n_mdswitches): New variables.
11514         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11515         present on the command line nor their mutually incompatible
11516         switches.
11517         (default_arg): Optimize.
11518         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11519         array.
11520         (print_multilib_info): Only print GCC multilib dir name, not OS
11521         multilib dirname.
11522         * genmultilib: Add osdirnames parameter.  Output multilib_options
11523         variable.  If osdirnames is specified, output dirnames as
11524         dirname:osdirname.
11525         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11526         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11527         to compute libgcc_s soname and install path.
11528         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11529         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11530         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11531         argument.
11532
11533         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11534         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11535         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11536         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11537         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11538         and -m64.
11539         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11540         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11541         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11542         (STARTFILE_ARCH_SPEC): Remove.
11543         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11544         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11545         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11546         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11547         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11548
11549 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11550
11551         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11552
11553 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11554
11555         * i386.md (lea to mul peep2): Fix condition.
11556
11557 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11558
11559         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11560         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11561
11562 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11563
11564         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11565         attribute "unused".
11566
11567         * config/t-libunwind: Mention unwind-sjlj.c.
11568         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11569         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11570
11571         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11572         before inclusion of config.gcc, but after configuring the compiler etc.
11573         Determine default value for --enable-libunwind-exceptions based on
11574         whether the host has a libunwind library (not guaranteed to be correct,
11575         but it's a reasonable first guess and can always be overridden with an
11576         explicit --enable/disable-libunwind-exceptions.
11577         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11578         tmake_file when $use_libunwind_exceptions is enabled.
11579         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11580         ia64 (e.g., config/t-linux also updates it).
11581         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11582         along with the shared version of libgcc since the latter requires
11583         the former.
11584         * unwind-libunwind.c: New file.
11585         * config/t-libunwind: Ditto.
11586
11587 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11588
11589         * config.gcc: Remove support for vax-*-vms*.
11590         * config/vax/vms.h: Remove.
11591         * config/vax/xm-vms.h: Remove.
11592         * config/vax/vax-protos.h: Remove VMS-specific code.
11593         * config/vax/vax.c: Remove VMS-specific code.
11594
11595 2002-10-02  Richard Henderson  <rth@redhat.com>
11596
11597         PR opt/7124
11598         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11599         for secondary_memory_needed pairs.
11600
11601 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11602
11603         * doc/vms.texi: Blow away false include file section.
11604
11605 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11606
11607         PR optimization/6627
11608         * toplev.c (force_align_functions_log): New global variable.
11609         * flags.h (force_align_functions_log): Add extern prototype.
11610         * varasm.c (assemble_start_function): Use it to force minimum
11611         function alignment.
11612         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11613         minimum function alignment to one byte.
11614         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11615         the least significant bit of vtable member function pointers.
11616         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11617         here from cp/cp-tree.h.
11618
11619 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11620
11621         * i386.c (print_operand_address): Use RIP addressing for offsetted
11622         label refs too.
11623
11624 2002-09-30  David S. Miller  <davem@redhat.com>
11625
11626         PR middle-end/7151
11627         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11628         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11629
11630 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11631
11632         * calls.c (expand_call): Remove the `no indirect check'
11633         for sibcall optimization; use function_ok_for_sibcall
11634         target hook; refine check for `function is volatile'.
11635         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11636         * hooks.c (hook_tree_tree_bool_false): New.
11637         * hooks.h (hook_tree_tree_bool_false): Declare.
11638         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11639         (TARGET_INITIALIZER): Add it.
11640         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11641         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11642         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11643         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11644         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11645         Remove function declaration.
11646         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11647         function static and accept another argument of type `tree'.
11648         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11649         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11650         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11651         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11652         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11653         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11654         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11655         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11656         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11657         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11658         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11659         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11660         Remove function declaration.
11661         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11662         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11663         rename first argument to `decl'; accept another argument
11664         of type `tree'; make static.
11665         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11666         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11667         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11668         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11669         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11670         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11671         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11672         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11673         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11674
11675 2002-10-01  Roger Sayle  <roger@eyesopen.com>
11676
11677         * unroll.c (loop_iterations): Revert 2002-09-08 change.
11678
11679 2002-10-01  Richard Henderson  <rth@redhat.com>
11680
11681         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11682         (real_to_hexadecimal): Likewise.
11683         * print-rtl.c (print_rtx): If we are linked with real.c, don't
11684         dump the XWINT fields of a floating point CONST_DOUBLE.
11685
11686 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
11687
11688         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11689
11690 2002-10-01  Richard Henderson  <rth@redhat.com>
11691
11692         * calls.c (precompute_register_parameters): Force non-legitimate
11693         constants into pseudos.
11694
11695 2002-10-01  Nick Clifton  <nickc@redhat.com>
11696
11697         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11698         to assembler template.
11699
11700 2002-10-01  Richard Henderson  <rth@redhat.com>
11701
11702         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11703         for TLS debug info to !DECL_EXTERNAL.
11704
11705 2002-10-01  Matt Thomas  <matt@3am-software.com>
11706             Jason Thorpe  <thorpej@wasabisystems.com>
11707
11708         * config.gcc (vax-*-netbsdelf*): Enable configuration.
11709         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
11710         if not already defined.
11711         * config/vax/elf.h: New file.
11712         * config/vax/netbsd-elf.h: New file.
11713         * config/vax/vax.c: Include "debug.h".
11714         (vax_output_function_prologue): Add dwarf2 support.  Use
11715         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11716         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11717         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11718         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11719         (VAX_ISTREAM_SYNC): Remove.
11720         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11721         (JUMP_TABLES_IN_TEXT_SECTION): Define.
11722         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11723         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11724         and assemble_name.
11725         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11726         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11727         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11728         (INCOMING_RETURN_ADDR_RTX): Define.
11729         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11730         (VUNSPEC_SYNC_ISTREAM): Define.
11731         (blockage): Use VUNSPEC_BLOCKAGE.
11732         (sync_istream): New insn.
11733
11734 2002-10-01  Richard Henderson  <rth@redhat.com>
11735
11736         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11737         (*call_value_pop, call, call_value): Add dwarf2 EH support.
11738         (*call): New insn.
11739
11740 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11741
11742         PR c/8083
11743         * c-typeck.c (build_c_cast): Warn about type punning which breaks
11744         type based aliasing.
11745
11746 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
11747
11748         * stor-layout.c (update_alignment_for_field): New function.
11749         (place_union_field): Use it.
11750         (place_field): Likewise.
11751
11752 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11753
11754         PR other/8077
11755         * gcc.c (cc1_options): Add space on -auxbase-strip.
11756
11757 2002-10-01  Jim Wilson  <wilson@redhat.com>
11758
11759         * config/v850/v850.h (EPILOGUE_USES): Define.
11760
11761 2002-09-30  Andrew Haley  <aph@redhat.com>
11762
11763         * flow.c (insn_dead_p): When using non-call-exceptions, don't
11764         eliminate insns that may trap.
11765         * cse.c (insn_live_p): Likewise.
11766
11767 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11768
11769         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11770         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11771         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11772         * config/mips/mips.md: Apply same renaming here.
11773
11774 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11775
11776         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11777         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11778         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11779         * config/mips/mips.md (define_attr cpu): Remove r4320.
11780         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11781
11782 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11783
11784         * config/mips/mips.c (mips16_strings): New variable.
11785         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11786         symbol in mips16_strings.  Free the list.
11787         (mips_encode_section_info): Keep track of local strings.
11788
11789 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11790
11791         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11792         (sordered_df, sordered_sf): Remove.
11793         * config/mips/mips.c (get_float_compare_codes): New fn.
11794         (gen_int_relational, gen_conditional_move): Use it.
11795
11796 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11797
11798         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11799         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11800         * config/mips/mips.c (fcc_register_operand): New function.
11801         (mips_emit_fcc_reload): New function, extracted from reload_incc.
11802         (override_options): Allow TFmode values in float registers
11803         if ISA_HAS_8CC.
11804         * cnfig/mips/mips.md (reload_incc): Change destination prediate
11805         to fcc_register_operand.  Remove misleading source constraint.
11806         Use mips_emit_fcc_reload.
11807         (reload_outcc): Duplicate reload_incc.
11808
11809 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
11810
11811         * gcc.c (validate_switches): Handle all new forms of spec
11812         syntax introduced recently.  Now returns a char *.
11813         (validate_all_switches): Repetitive logic broken out to...
11814         (validate_switches_from_spec): ...here.
11815         * mklibgcc.in: Don't @-flag commands to generate .oS files.
11816
11817 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
11818
11819         * longlong.h: Partially synchronize with GMP-4.1 version:
11820         Use i370 definitions also for s390.
11821         Add generic definition of umul_ppmm in terms of smul_ppmm.
11822         [s390] (umul_ppmm): Remove.
11823         [s390] (smul_ppmm): Fix incorrect assembler constraints.
11824         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11825
11826 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
11827
11828         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11829         Add new RL_REGS register class.
11830         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
11831         Call xtensa_preferred_reload_class for both input and output reloads.
11832         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11833         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11834         instead of either AR_REGS or GR_REGS classes.
11835         (xtensa_secondary_reload_class): Use new RL_REGS class.
11836         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11837
11838 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11839
11840         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11841         (pa_strip_name_encoding): Strip '@' and '*', in that order.
11842         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11843         there is a '*' prefix in NAME.
11844
11845 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
11846
11847         * reload.c (push_reload): Handle subregs and secondary memory.
11848         * reload1.c (gen_reload): Likewise.
11849
11850         * jump.c (reg_or_subregno): New function.
11851         * rtl.h (reg_or_subregno): Declare
11852         * unroll.c (find_splittable_givs): Handle subregs.
11853
11854 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
11855
11856         * store-layout.c (finish_record_layout): Add free_p parameter.
11857         (layout_type): Pass it.
11858         * tree.h (finish_record_layout): Update prototype.
11859
11860 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
11861
11862         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11863
11864         * gcse.c (cprop_jump): Check that the register has not
11865         been modified
11866         (cprop_jump): Likewise.
11867
11868 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
11869
11870         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11871         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11872         that we have a SImode access, and only then if reload hasn't completed;
11873         for all other cases, use LO_REGS.
11874
11875 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11876
11877         * openbsd.h: Fix typo in last change.
11878
11879 2002-09-29  Richard Henderson  <rth@redhat.com>
11880
11881         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
11882
11883 2002-09-29  Richard Henderson  <rth@redhat.com>
11884
11885         PR c/8002
11886         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11887         for CONST_INT.
11888
11889 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
11890
11891         * real.h (ibm_extended_format): Declare.
11892         * real.c (encode_ibm_extended, decode_ibm_extended): New
11893         functions.
11894
11895 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11896
11897         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11898
11899         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11900
11901 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11902
11903         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11904
11905 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
11906
11907         * builtins.def: Fix comment formatting.
11908         * c-common.def: Likewise.
11909         * cfgcleanup.c: Likewise.
11910         * combine.c: Likewise.
11911         * gengtype.c: Likewise.
11912         * params.def: Likewise.
11913         * predict.def: Likewise.
11914         * rtl.def: Likewise.
11915         * stab.def: Likewise.
11916         * stor-layout.c: Likewise.
11917         * tree.def: Likewise.
11918         * config/darwin.c: Likewise.
11919         * config/darwin.h: Likewise.
11920         * config/dbxcoff.h: Likewise.
11921         * config/elfos.h: Likewise.
11922         * config/fp-bit.c: Likewise.
11923         * config/freebsd-spec.h: Likewise.
11924         * config/interix.h: Likewise.
11925         * config/libgloss.h: Likewise.
11926         * config/linux-aout.h: Likewise.
11927         * config/linux.h: Likewise.
11928         * config/lynx-ng.h: Likewise.
11929         * config/lynx.h: Likewise.
11930         * config/netbsd-aout.h: Likewise.
11931         * config/netbsd.h: Likewise.
11932         * config/netware.h: Likewise.
11933         * config/psos.h: Likewise.
11934         * config/ptx4.h: Likewise.
11935
11936 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
11937
11938         * ChangeLog.4: Fix typos.
11939         * ChangeLog.6: Likewise.
11940         * FSFChangeLog.10: Likewise.
11941         * genattrtab.c: Fix comment typos.
11942         * haifa-sched.c: Likewise.
11943         * real.c: Likewise.
11944         * tree.h: Likewise.
11945         * config/arm/arm.c: Likewise.
11946         * config/arm/crti.asm: Likewise.
11947         * config/arm/crtn.asm: Likewise.
11948         * config/frv/frv.c: Likewise.
11949         * config/frv/frv.md: Likewise.
11950         * config/h8300/h8300.md: Likewise.
11951         * config/i386/rtemself.h: Likewise.
11952         * config/ia64/unwind-ia64.c: Likewise.
11953         * config/ip2k/ip2k.h: Likewise.
11954         * config/m88k/m88k.c: Likewise.
11955         * config/m88k/m88k.md: Likewise.
11956         * config/mips/sr71k.md: Likewise.
11957         * config/mmix/mmix.c: Likewise.
11958         * config/rs6000/rs6000.c: Likewise.
11959         * config/sh/sh.md: Likewise.
11960
11961 2002-09-26  Theodore A. Roth  <troth@verinet.com>
11962
11963         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11964         * config/avr/avr.md: Ditto.
11965
11966 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
11967
11968         PR preprocessor/8055
11969         * cppmacro.c (stringify_arg): Do not overflow the buffer
11970         with the terminating NUL when the argument to be stringified
11971         has no tokens.
11972
11973 2002-09-27  Richard Henderson  <rth@redhat.com>
11974
11975         * unroll.c (simplify_cmp_and_jump_insns): New.
11976         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
11977         instead of expand_simple_foo.
11978
11979 2002-09-27  Richard Henderson  <rth@redhat.com>
11980
11981         PR optimization/7520
11982         * cfganal.c (flow_active_insn_p): New.
11983         (forwarder_block_p): Use it.
11984
11985 2002-09-27  Richard Henderson  <rth@redhat.com>
11986
11987         * emit-rtl.c (active_insn_p): Revert last change.
11988
11989 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
11990
11991         * doc/extend.texi (tls_model): Document.
11992         * varasm.c (decl_tls_model): New.
11993         * c-common.c (handle_tls_model_attribute): New.
11994         (c_common_attribute_table): Add tls_model.
11995         * config/alpha/alpha.c (alpha_encode_section_info): Use
11996         decl_tls_model.
11997         * flags.h (enum tls_model, flag_tls_default): Move...
11998         * tree.h (enum tls_model, flag_tls_default): ...here.
11999         (decl_tls_model): New prototype.
12000         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12001         * config/i386/i386.c (ix86_encode_section_info): Likewise.
12002         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12003         Allow !flag_pic.
12004
12005 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12006
12007         * LANGUAGES: Follow spelling conventions.
12008         * rtl.def: Likewise.
12009         * sbitmap.c: Likewise.
12010         * sched-int.h: Likewise.
12011         * sched-rgn.c: Likewise.
12012         * sibcall.c: Likewise.
12013         * simplify-rtx.c: Likewise.
12014         * ssa.c: Likewise.
12015         * stab.def: Likewise.
12016         * stmt.c: Likewise.
12017         * stor-layout.c: Likewise.
12018         * target.h: Likewise.
12019         * timevar.c: Likewise.
12020         * toplev.c: Likewise.
12021         * tree-dump.c: Likewise.
12022         * tree-inline.c: Likewise.
12023         * tree.c: Likewise.
12024         * tree.def: Likewise.
12025         * tree.h: Likewise.
12026         * unroll.c: Likewise.
12027         * varasm.c: Likewise.
12028         * vmsdbgout.c: Likewise.
12029         * treelang/treelang.texi: Likewise.
12030         * treelang/treetree.c: Likewise.
12031
12032 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12033
12034         * config/h8300/h8300.c (compute_saved_regs): Use a macro
12035         instead of a hard register number.
12036         (get_shift_alg): Use an enumerated type instead of numbers.
12037         (h8300_shift_needs_scratch_p): Likewise.
12038
12039 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12040
12041         * varasm.c (force_data_section): Remove.
12042         (assemble_constant_align): Likewise.
12043         * output.h: Remove corresponding prototypes.
12044
12045 2002-09-26  Roger Sayle  <roger@eyesopen.com>
12046
12047         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12048         jump, if the loop to exit is the top of the current nesting stack.
12049
12050 2002-09-26  Torbjorn Granlund  <tege@swox.com>
12051
12052         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12053         arithmetic.
12054
12055 2002-09-26  David S. Miller  <davem@redhat.com>
12056
12057         PR optimization/7335
12058         * calls.c (emit_library_call_value_1): Passing args by reference
12059         converts a CONST function into a PURE one.
12060
12061 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12062
12063         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12064         text_section.
12065         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
12066         text section.
12067         * config/rs6000/rs6000.c (rs6000_override_options): Allow
12068         function-sections and data-sections functionality on AIX.
12069
12070 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12071             Dale Johannesen  <dalej@apple.com>
12072
12073         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12074         in RTL for sub-word loads from memory.
12075
12076 2002-09-26  Richard Henderson  <rth@redhat.com>
12077
12078         PR c/7160
12079         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12080         on call insns.
12081
12082 2002-09-26  Richard Henderson  <rth@redhat.com>
12083
12084         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12085
12086 2002-09-26  Chris Lattner  <sabre@nondot.org>
12087
12088         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12089         handling undefined values.
12090
12091 2002-09-26  Richard Henderson  <rth@redhat.com>
12092
12093         PR opt/7520
12094         * emit-rtl.c (active_insn_p): Consider a clobber of the
12095         function return value to be active even after reload.
12096
12097 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
12098
12099         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12100         by absolute loop increment, not loop increment.
12101
12102 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12103
12104         * c-common.h: Follow spelling conventions.
12105         * cpplex.c: Likewise.
12106         * cpplib.h: Likewise.
12107         * gthr-dce.h: Likewise.
12108         * gthr-posix.h: Likewise.
12109         * optabs.c: Likewise.
12110         * output.h: Likewise.
12111         * profile.c: Likewise.
12112         * protoize.c: Likewise.
12113         * ra-rewrite.c: Likewise.
12114         * real.c: Likewise.
12115         * recog.c: Likewise.
12116         * reg-stack.c: Likewise.
12117         * regclass.c: Likewise.
12118         * regmove.c: Likewise.
12119         * reload.c: Likewise.
12120         * reload.h: Likewise.
12121         * reload1.c: Likewise.
12122         * reorg.c: Likewise.
12123         * resource.c: Likewise.
12124         * rtl.h: Likewise.
12125         * rtlanal.c: Likewise.
12126
12127 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12128
12129         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12130         for symbol address.
12131
12132 2002-09-24  Eric Christopher  <echristo@redhat.com>
12133
12134         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12135         * config/mips/elf64.h: Ditto.
12136
12137 2002-09-24  Eric Christopher  <echristo@redhat.com>
12138
12139         * except.c (expand_builtin_extract_return_address): Handle case
12140         where Pmode != ptr_mode.
12141
12142 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12143
12144         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12145
12146 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12147
12148         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12149
12150 2002-09-26  Igor Shevlyakov <igor@microunity.com>
12151
12152         * combine.c (simplify_set): Don't call to force_to_mode if size
12153         of integer type is larger than HOST_BITS_PER_WIDE_INT.
12154
12155 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
12156
12157         * Makefile.in (qmtest-g++): Fix file path.
12158
12159 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12160
12161         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
12162         A + (-const) on RTX level, even for unsigned types.
12163
12164 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12165
12166         * reload.c (dup_replacements): New function.
12167         (find_reloads): Use it to duplicate replacements at the top level
12168         of match_dup operands.
12169
12170 2002-09-26  Miles Bader  <miles@gnu.org>
12171
12172         * v850.md ("length"): Change default value to 4.
12173
12174 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12175
12176         * ChangeLog.1: Follow spelling conventions.
12177         * ChangeLog.4: Likewise.
12178         * ChangeLog.6: Likewise.
12179         * FSFChangeLog.11: Likewise.
12180         * doc/cpp.texi: Likewise.
12181         * doc/invoke.texi: Likewise.
12182         * doc/tm.texi: Likewise.
12183
12184 2002-09-26  Nick Clifton  <nickc@redhat.com>
12185
12186         * config.gcc: Add x prefix to v850e case for handling
12187         --with-cpu=v850e.
12188
12189 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
12190
12191         * gcc.c (input_suffix_matches, switch_matches,
12192         mark_matching_switches, process_marked_switches,
12193         process_brace_body): New functions - split from handle_braces.
12194         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12195         and ignore whitespace in more places.
12196         (specs documentation comment): Document %{S:X;T:Y;:D}.
12197         Clarify other %{...} docs.
12198         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
12199         %{...} docs.
12200
12201         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12202         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12203
12204 2002-09-25  David S. Miller  <davem@redhat.com>
12205
12206         PR target/7842
12207         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12208         extend.
12209
12210 2002-09-25  Richard Henderson  <rth@redhat.com>
12211
12212         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12213         fp CONST_DOUBLE; use real_identical.
12214
12215 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
12216
12217         * doc/invoke.texi: Add more -Wabi examples.
12218
12219 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
12220
12221         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12222
12223 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
12224
12225         * profile.c (end_branch_prob): Only look for __gcov_init on
12226         weak-enabled native compilers.
12227
12228 2002-09-24  Denis Chertykov  <denisc@overta.ru>
12229
12230         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12231         cases of optimizing "add sp,w" to "inc sp".
12232
12233 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12234
12235         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12236         epilogue for naked functions.
12237
12238 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12239             Nick Clifton  <nickc@redhat.com>
12240
12241         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12242         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12243         is defined.
12244
12245 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
12246
12247         * config/s390/s390.c (preferred_la_operand_p): New function.
12248         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12249         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12250         ("*la_64_cc", "*la_31_cc", splitters): ... these.
12251         ("*la_31"): Deactivate for TARGET_64BIT.
12252         ("*la_31_and", "*la_31_and_cc"): New.
12253
12254 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12255
12256         * real.h (real_value): Make `exp' explicitly signed.
12257
12258 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
12259
12260         * config/elfos.h: Follow spelling conventions.
12261         * config/alpha/alpha.h: Likewise.
12262         * config/arc/arc.h: Likewise.
12263         * config/arm/arm.md: Likewise.
12264         * config/avr/avr.h: Likewise.
12265         * config/cris/cris.md: Likewise.
12266         * config/d30v/d30v.h: Likewise.
12267         * config/frv/frv.c: Likewise.
12268         * config/frv/frv.h: Likewise.
12269         * config/h8300/h8300.c: Likewise.
12270         * config/h8300/h8300.h: Likewise.
12271         * config/h8300/h8300.md: Likewise.
12272         * config/i386/cygwin.h: Likewise.
12273         * config/i386/i386.h: Likewise.
12274         * config/i386/sysv3.h: Likewise.
12275         * config/i960/i960.h: Likewise.
12276         * config/ia64/ia64.h: Likewise.
12277         * config/ia64/ia64.md: Likewise.
12278         * config/ip2k/ip2k.h: Likewise.
12279         * config/m32r/m32r.h: Likewise.
12280         * config/m68k/m68k.h: Likewise.
12281         * config/m88k/m88k.h: Likewise.
12282         * config/mcore/mcore.c: Likewise.
12283         * config/mcore/mcore.h: Likewise.
12284         * config/mcore/mcore.md: Likewise.
12285         * config/mips/mips.h: Likewise.
12286         * config/mmix/mmix.h: Likewise.
12287         * config/mmix/mmix.md: Likewise.
12288         * config/ns32k/netbsd.h: Likewise.
12289         * config/ns32k/ns32k.h: Likewise.
12290         * config/ns32k/ns32k.md: Likewise.
12291         * config/pa/pa.h: Likewise.
12292         * config/romp/romp.h: Likewise.
12293         * config/rs6000/rs6000.h: Likewise.
12294         * config/rs6000/rs6000.md: Likewise.
12295         * config/sparc/sparc.h: Likewise.
12296         * config/stormy16/stormy-abi: Likewise.
12297         * config/stormy16/stormy16.h: Likewise.
12298         * config/vax/vax.h: Likewise.
12299
12300 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12301
12302         * config/alpha/alpha.h: Remove commented-out macro
12303         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12304         * config/avr/avr.h: Likewise.
12305         * config/d30v/d30v.h: Likewise.
12306         * config/dsp16xx/dsp16xx.h: Likewise.
12307         * config/i370/i370.h: Likewise.
12308         * config/i386/i386.h: Likewise.
12309         * config/i960/i960.h: Likewise.
12310         * config/m68k/m68k.h: Likewise.
12311         * config/m88k/m88k.h: Likewise.
12312         * config/mips/mips.h: Likewise.
12313         * config/ns32k/ns32k.h: Likewise.
12314         * config/pdp11/pdp11.h: Likewise.
12315         * config/romp/romp.h: Likewise.
12316         * config/rs6000/rs6000.h: Likewise.
12317         * config/s390/s390.h: Likewise.
12318         * config/sh/sh.h: Likewise.
12319         * config/sparc/sparc.h: Likewise.
12320         * config/stormy16/stormy16.h: Likewise.
12321         * config/vax/vax.h: Likewise.
12322
12323 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12324
12325         * function.c (push_temp_slots_for_block): Remove.
12326         (push_temp_slots_for_target): Likewise.
12327         (get_target_temp_slot_level): Likewise.
12328         (set_target_temp_slot_level): Likewise.
12329         (get_first_block_beg): Likewise.
12330         * function.h: Remove corresponding prototypes.
12331
12332 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12333
12334         * version.c (version_string): Now const char[].
12335         * version.h: Update to match.
12336
12337 2002-09-23  Richard Henderson  <rth@redhat.com>
12338
12339         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
12340         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
12341         (TARGET_SWITCHES): Don't reference them.
12342         * config/i386/i386.c (override_options): Use target_flags_explicit
12343         to examine bits set by the user.
12344
12345 2002-09-23  Dale Johannesen  <dalej@apple.com>
12346
12347         * dbxout.c (dbxout_parms):  Set current_sym_code for params
12348         passed on stack by invisible reference.
12349
12350 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
12351
12352         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
12353         at least one byte of space.
12354
12355 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12356
12357         * c-common.h (flag_abi_version): Fix typo in comment.
12358         * doc/invoke.texi (flag_abi_version): Document default value.
12359
12360 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
12361
12362         * doc/extend.texi (Extended Asm): Clarify that overlap between
12363         asm-declared register variables used in an asm and the asm clobber
12364         list is not allowed.
12365         * stmt.c (decl_conflicts_with_clobbers_p): New function.
12366         (expand_asm_operands): Keep track of clobbered registers.  Call
12367         decl_conflicts_with_clobbers_p for each input and output operand.
12368         If no conflicts found before, also do conflict sanity check when
12369         emitting clobbers.
12370
12371 2002-09-23  Richard Henderson  <rth@redhat.com>
12372
12373         * c-common.c (cpp_define_data_format): Remove.
12374         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
12375         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12376         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12377         * doc/cpp.texi: Don't document them either.
12378         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
12379         __LONG_LONG_MAX__): Document.
12380         (__TARGET_FLOAT_FORMAT__): Remove.
12381
12382 2002-09-23  Richard Henderson  <rth@redhat.com>
12383
12384         * real.c (do_multiply): Normalize U before addition.
12385
12386 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12387
12388         * c-common.c (flag_abi_version): New variable.
12389         * c-common.h (flag_abi_version): Declare it.
12390         * c-opts.c (missing_arg): Add -fabi-version.
12391         (c_common_decode_option): Process -fabi-version.
12392         * doc/invoke.texi (-fabi-version): Document it.
12393         (-Wabi): Add information about bit-fields in unions.
12394
12395 2002-09-22  Roger Sayle  <roger@eyesopen.com>
12396
12397         * expr.c (STORE_BY_PIECES_P): New target macro.
12398         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
12399         instead of MOVE_BY_PIECES_P.
12400         * doc/tm.texi: Document this new macro.
12401
12402 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12403
12404         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
12405         unless -fno-pic or -fno-PIC is specified.
12406
12407 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12408
12409         * c-common.c (preprocessing_trad_p): Define.
12410         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
12411         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
12412         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12413         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
12414         * pa-linux.h (CPP_PREDEFINES): Delete.
12415         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12416         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
12417         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
12418         (TARGET_OS_CPP_BUILTINS): Define.
12419         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
12420         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
12421         (SUBTARGET_SWITCHES): Provide default definition.
12422         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12423         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12424         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12425         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12426         (TARGET_CPU_CPP_BUILTINS): Define.
12427         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12428         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12429         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12430         preprocessing_trad_p().
12431
12432 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12433
12434         * doc/install.texi: Document behavior of --with-headers and
12435         --with-libs when arguments are omitted.
12436
12437 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12438
12439         * dbxout.c: Follow spelling conventions.
12440         * defaults.h: Likewise.
12441         * df.c: Likewise.
12442         * diagnostic.h: Likewise.
12443         * doloop.c: Likewise.
12444         * dwarf2out.c: Likewise.
12445         * dwarfout.c: Likewise.
12446         * emit-rtl.c: Likewise.
12447         * except.c: Likewise.
12448         * explow.c: Likewise.
12449         * expmed.c: Likewise.
12450         * expr.c: Likewise.
12451         * expr.h: Likewise.
12452         * flags.h: Likewise.
12453         * flow.c: Likewise.
12454         * fold-const.c: Likewise.
12455         * function.c: Likewise.
12456         * function.h: Likewise.
12457         * gcc.c: Likewise.
12458         * gcov-io.h: Likewise.
12459         * gcov.c: Likewise.
12460         * gcse.c: Likewise.
12461         * genattrtab.c: Likewise.
12462         * genconfig.c: Likewise.
12463         * genrecog.c: Likewise.
12464         * ggc-page.c: Likewise.
12465         * ggc.h: Likewise.
12466         * global.c: Likewise.
12467         * gthr-win32.h: Likewise.
12468         * integrate.c: Likewise.
12469         * jump.c: Likewise.
12470         * langhooks.c: Likewise.
12471         * langhooks.h: Likewise.
12472         * line-map.h: Likewise.
12473         * local-alloc.c: Likewise.
12474         * longlong.h: Likewise.
12475         * loop.c: Likewise.
12476         * loop.h: Likewise.
12477
12478 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12479
12480         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12481
12482 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12483
12484         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12485         for -Os/TARGET_64BIT too.
12486
12487 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12488
12489         * ChangeLog: Follow spelling conventions.
12490         * ChangeLog.0: Likewise.
12491         * ChangeLog.1: Likewise.
12492         * ChangeLog.2: Likewise.
12493         * ChangeLog.3: Likewise.
12494         * ChangeLog.4: Likewise.
12495         * ChangeLog.5: Likewise.
12496         * ChangeLog.6: Likewise.
12497         * FSFChangeLog.10: Likewise.
12498         * FSFChangeLog.11: Likewise.
12499         * alias.c: Likewise.
12500         * basic-block.h: Likewise.
12501         * c-aux-info.c: Likewise.
12502         * c-common.c: Likewise.
12503         * c-common.h: Likewise.
12504         * c-decl.c: Likewise.
12505         * c-format.c: Likewise.
12506         * c-semantics.c: Likewise.
12507         * c-typeck.c: Likewise.
12508         * calls.c: Likewise.
12509         * cfganal.c: Likewise.
12510         * cfgloop.c: Likewise.
12511         * collect2.c: Likewise.
12512         * combine.c: Likewise.
12513         * conflict.c: Likewise.
12514         * cppexp.c: Likewise.
12515         * cppfiles.c: Likewise.
12516         * cpphash.h: Likewise.
12517         * cppinit.c: Likewise.
12518         * cpplex.c: Likewise.
12519         * cpplib.c: Likewise.
12520         * cpplib.h: Likewise.
12521         * cppmacro.c: Likewise.
12522         * cse.c: Likewise.
12523
12524 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12525
12526         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12527         LINK_SPEC.
12528         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12529         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12530         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12531
12532 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12533
12534         PR opt/7930
12535         * cse.c (fold_rtx): Calculate old_cost before we fold each
12536         operand.
12537
12538 2002-09-21  Richard Henderson  <rth@redhat.com>
12539
12540         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12541         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12542         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12543         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12544         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12545         * doc/cpp.texi: Don't document them.
12546
12547 2002-09-21  Richard Henderson  <rth@redhat.com>
12548
12549         * c-common.c (builtin_define_float_constants): Use real_format
12550         to get the floating-point parameters.
12551
12552 2002-09-21  Richard Henderson  <rth@redhat.com>
12553
12554         * real.c (struct real_format): Move to real.h.
12555         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12556         initialize with ieee defaults.
12557         (real_to_target_fmt, real_from_target_fmt): New.
12558         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12559         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12560         ieee_quad_format, i370_single_format, i370_double_format,
12561         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12562         (ieee_quad_format): Fix emin.
12563         (format_for_size, init_real_once): Remove.
12564         * real.h (struct real_format): Move from real.c.
12565         (real_format_for_mode): Declare.
12566         (real_to_target_fmt, real_from_target_fmt): Declare.
12567         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12568         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12569         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12570         i370_single_format, i370_double_format, c4x_single_format,
12571         c4x_extended_format): Declare.
12572         * toplev.c (do_compile): Don't call init_real_once.
12573
12574         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12575         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12576
12577         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12578         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12579         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12580         for VAX, if enabled.
12581
12582         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12583         for C4X.
12584
12585         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12586         * config/i370/i370.c (override_options): New.
12587         * config/i370/i370-protos.h: Update.
12588
12589         * config/i386/i386.c (override_options): Set real_format_for_mode
12590         for Intel 80-bit extended.
12591         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12592
12593         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12594         (OVERRIDE_OPTIONS): Move code...
12595         * config/i960/i960.c (i960_initialize): ... here.  Set
12596         real_format_for_mode for Intel 80-bit extended.
12597
12598         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12599         for Intel 80-bit extended, if enabled.
12600
12601         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12602         for Motorola 96-bit extended.
12603
12604         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12605         * config/vax/vax.c (override_options): New.
12606         * config/vax/vax-protos.h: Update.
12607
12608 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12609
12610         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12611         #if TARGET_MACHO.
12612
12613         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12614         insns.  Supply missing clobber of scratch reg.
12615
12616 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12617
12618         * config/m32r/m32r.c: Follow spelling conventions.
12619         * config/m32r/m32r.h: Likewise.
12620         * config/m32r/m32r.md: Likewise.
12621         * config/m68k/m68k.c: Likewise.
12622         * config/m88k/m88k.c: Likewise.
12623         * config/mcore/mcore.c: Likewise.
12624         * config/mips/mips.c: Likewise.
12625         * config/mips/mips.h: Likewise.
12626         * config/mmix/mmix.c: Likewise.
12627         * config/mn10200/mn10200.c: Likewise.
12628         * config/ns32k/ns32k.h: Likewise.
12629         * config/pa/pa.c: Likewise.
12630         * config/pa/pa64-linux.h: Likewise.
12631         * config/pdp11/pdp11.h: Likewise.
12632         * config/romp/romp.c: Likewise.
12633         * config/romp/romp.h: Likewise.
12634         * config/rs6000/eabi.asm: Likewise.
12635         * config/rs6000/linux64.h: Likewise.
12636         * config/rs6000/rs6000.c: Likewise.
12637         * config/rs6000/rs6000.h: Likewise.
12638         * config/rs6000/rs6000.md: Likewise.
12639         * config/rs6000/sysv4.h: Likewise.
12640         * config/rs6000/xcoff.h: Likewise.
12641
12642 2002-09-20  Jim Wilson  <wilson@redhat.com>
12643
12644         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12645
12646 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12647
12648         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12649         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12650         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12651         (legitimate_address_p): Likewise.
12652         (legitimize_address): Use @gotntpoff and @indntpoff.
12653         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12654         (output_addr_const_extra): Likewise.
12655
12656 2002-09-20  Jim Wilson  <wilson@redhat.com>
12657
12658         * combine.c (try_combine): When split an instruction pair, where the
12659         first has a sign_extend src, verify that the src and dest modes match.
12660
12661 2002-09-20  Richard Henderson  <rth@redhat.com>
12662
12663         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12664         (override_options): Do not initialize them.
12665         (mips_const_double_ok): Allow no fp constants except zero,
12666         and not even that for mips16.
12667         (const_float_1_operand): Use dconst1.
12668         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12669         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
12670         Don't allow arbitrary constants; fix predicates and C constraint.
12671
12672 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
12673
12674         * cppmacro.c: Don't warn about function-like macros without
12675         '(' during pre-expansion.
12676
12677 2002-09-20  Jim Wilson  <wilson@redhat.com>
12678
12679         * config/v850/v850.c (current_function_anonymous_args): Delete.
12680         (expand_prologue): Use current_function_args_info.anonymous_args.
12681         (expand_epilogue): Delete use of current_function_anonymous_args.
12682         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12683         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12684         (current_function_anonymous_args): Delete extern declaration.
12685         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12686
12687 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
12688
12689         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12690         to load_macho_picbase.
12691         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12692         (load_macho_picbase): Take the symbol to use as a parameter.
12693         (macho_correct_pic): New insn.
12694         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12695
12696         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12697         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12698         (CAN_ELIMINATE): Likewise.
12699         (INITIAL_ELIMINATION_OFFSET): Likewise.
12700         (TOC_REGISTER): Likewise.
12701
12702 2002-09-20  Richard Henderson  <rth@redhat.com>
12703
12704         * real.c (real_hash): New.
12705         * real.h: Declare it.
12706         * cse.c (canon_hash): Use it.
12707         * cselib.c (hash_rtx): Likewise.
12708         * emit-rtl.c (const_double_htab_hash): Likewise.
12709         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12710         * varasm.c (struct rtx_const): Reduce vector size; separate
12711         integer and fp vectors.
12712         (HASHBITS): Remove.
12713         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
12714         take modulus MAX_HASH_TABLE.
12715         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
12716         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12717         (SYMHASH): Don't use HASHBITS.
12718         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12719         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
12720         (simplify_subtraction): Fix kind comparison.
12721         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
12722         Use a union to pun integer array.
12723         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12724         only hash two words of integral CONST_DOUBLE.
12725
12726 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
12727
12728         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12729         (STARTFILE_PREFIX_SPEC): New.
12730         (LINK_SPEC): Modify.
12731         (LIB_SPEC): Modify.
12732         (LIBGCC_SPEC): New.
12733
12734 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12735
12736         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12737         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12738
12739 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12740
12741         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12742         Add clobber of the condition code register.
12743
12744 2002-09-20  Richard Henderson  <rth@redhat.com>
12745
12746         * real.c (do_fix_trunc): Static.
12747         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12748         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12749         encode_i370_single, encode_i370_double, encode_c4x_single,
12750         encode_c4x_extended): Add default abort case.
12751
12752 2002-09-20  Richard Henderson  <rth@redhat.com>
12753
12754         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12755         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12756         (struct realvaluetype): Remove.
12757         (REAL_VALUE_TYPE): Use struct real_value.
12758         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12759         (test_real_width): New.
12760         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12761         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12762         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12763         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12764         real_to_integer, real_to_integer2, real_to_decimal,
12765         real_to_hexadecimal, real_from_string, real_from_integer,
12766         real_inf, real_nan, real_2expN, real_convert, real_to_target,
12767         real_from_target): Likewise.
12768         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12769         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12770
12771 2002-09-20  Richard Henderson  <rth@redhat.com>
12772
12773         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12774         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12775         * defaults.h: ... here.
12776         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12777         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12778         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12779         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12780
12781 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
12782
12783         * config/mmix/mmix.md ("negdf2"): Rewrite.
12784         ("*expanded_negdf2"): New.
12785
12786 2002-09-19  Jim Wilson  <wilson@redhat.com>
12787
12788         * combine.c (simplify_set): When optimizing a subreg src with a
12789         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12790
12791 2002-09-19  Dale Johannesen <dalej@apple.com>
12792         * combine.c (make_extraction): Don't create
12793         invalid subreg.
12794
12795 2002-09-19  Roger Sayle  <roger@eyesopen.com>
12796
12797         * tree.c (integer_nonzerop): New predicate for nonzero integers.
12798         * tree.h (integer_nonzerop): Add function prototype.
12799         * stmt.c (expand_end_loop):  Don't rotate the loop when there
12800         are no instructions in the test, i.e. the loop is unconditional.
12801         (expand_exit_loop_if_false):  Optimize RTL generation of loop
12802         tests when the condition is always true or always false.
12803         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
12804         do-loops when the condition is always true.
12805         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
12806         the for-expression is empty.
12807
12808 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
12809
12810         * gcc.c (use_pipes): New flag.
12811         (process_command): Set it.  Adjust check for -pipe conflicting
12812         with -time or -save-temps.
12813         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
12814         %<SWITCH.  Drop %| (without a SUFFIX).
12815         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12816         (give_switch): Third argument eliminated.
12817         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12818         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12819         (specs documentation comment): Update.
12820
12821         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12822         config/svr4.h, config/i386/freebsd-aout.h,
12823         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12824         config/m68k/openbsd.h, config/mips/openbsd.h,
12825         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12826         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12827         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12828         * config/cris/cris.h: Update comment.
12829
12830         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
12831         error messages.  Don't use %{^SWITCH}.
12832         * ada/misc.c (gnat_decode_option): Handle -I with a
12833         separate argument.
12834
12835         * f/lang-specs.h: Use %| and %m.
12836         * java/jvspec.c: Use %m and %(invoke_as).  Change all
12837         uses of %{<SWITCH} to %<SWITCH.
12838
12839         * doc/invoke.texi: Update documentation of specs.
12840         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12841
12842 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
12843
12844         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
12845         and STRICT_LOW_PART within SET_DEST.
12846         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12847         splitters, replacing pre-reload splitters.
12848         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
12849         "*zero_extendqihi2_31"): New insns.
12850         ("*zero_extendqihi2_64"): Do not clobber CC.
12851
12852 2002-09-18  Devang Patel  <dpatel@apple.com>
12853
12854         * cp/cp-tree.h: New prototype for walk_vtables().
12855         * cp/decl.c (walk_vtables_r): New function.
12856         (struct cp_binding_level): Add new members, namespaces,
12857         names_size and vtables.
12858         (add_decl_to_level): Add decl in namespaces or vtables
12859         chain, if conditions match.
12860         (walk_vtables): New function.
12861         (walk_namespaces_r): Travers separate namespace chain
12862         for namespace decls.
12863         (wrapup_globals_for_namespace): Use names_size instead
12864         of list_length().
12865         * cp/decl2.c (finish_file): Use walk_vtables() instead of
12866         walk_globals() to walk vtable decls.
12867
12868 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
12869
12870         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12871         (DTORS_SECTION_ASM_OP): Ditto.
12872         (READONLY_DATA_SECTION_ASM_OP): Moved.
12873         (DATA_SECTION_ASM_OP): New.
12874         (SDATA_SECTION_ASM_OP): New.
12875         (BSS_SECTION_ASM_OP): New.
12876         (SBSS_SECTION_ASM_OP): New.
12877         (TEXT_SECTION_ASM_OP): New.
12878
12879 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
12880
12881         * config/fp-bit.c: Follow spelling conventions.
12882         * config/d30v/d30v.c: Likewise.
12883         * config/d30v/d30v.h: Likewise.
12884         * config/fr30/fr30.c: Likewise.
12885         * config/fr30/fr30.h: Likewise.
12886         * config/fr30/fr30.md: Likewise.
12887         * config/frv/frv.c: Likewise.
12888         * config/frv/frv.h: Likewise.
12889         * config/h8300/h8300.c: Likewise.
12890         * config/h8300/lib1funcs.asm: Likewise.
12891         * config/i370/i370.c: Likewise.
12892         * config/i386/i386.h: Likewise.
12893         * config/i386/i386.md: Likewise.
12894         * config/i386/pentium.md: Likewise.
12895         * config/i386/winnt.c: Likewise.
12896         * config/i960/i960.c: Likewise.
12897         * config/ia64/ia64.h: Likewise.
12898         * config/ip2k/ip2k.c: Likewise.
12899         * config/ip2k/ip2k.h: Likewise.
12900         * config/ip2k/ip2k.md: Likewise.
12901         * config/ip2k/libgcc.S: Likewise.
12902
12903 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
12904
12905         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12906         (GOTOFF_P): Extend to allow gotoff plus constant.
12907
12908 2002-09-18  Richard Henderson  <rth@redhat.com>
12909
12910         * ifcvt.c (noce_process_if_block): Correctly detect X modified
12911         with INSN_B before COND_EARLIEST.  Don't check A and B for
12912         modification in condition range.  Reorder INSN_B for A==B properly.
12913         (if_convert): Iterate until no matches for a block.
12914
12915 2002-09-18  Richard Henderson  <rth@redhat.com>
12916
12917         * calls.c (store_one_arg): Rename default_align to parm_align;
12918         always adjust parm_align for downward padding.
12919
12920 2002-09-18  Richard Henderson  <rth@redhat.com>
12921
12922         * toplev.c (backend_init): Move init_real_once invocation ...
12923         (do_compile): ... here.
12924
12925 2002-09-18  Richard Henderson  <rth@redhat.com>
12926
12927         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12928         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12929
12930 2002-09-18  Richard Henderson  <rth@redhat.com>
12931
12932         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12933
12934 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
12935
12936         * config/rs6000/rs6000.md: (floatdisf2): Rename to
12937         floatdisf2_internal1.
12938         (floatdisf2): New define_expand.
12939         (floatdisf2_internal2): Likewise.
12940
12941 2002-09-18  Richard Henderson  <rth@redhat.com>
12942
12943         * real.c (sticky_rshift_significand): Collect sticky as
12944         unsigned long, not bool.
12945
12946 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
12947
12948         * config/s390/s390.c (s390_address_cost): New function.
12949         config/s390/s390-protos.h (s390_address_cost): Add prototype.
12950         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12951         (RTX_COST): Use COSTS_N_INSNS.
12952
12953 2002-09-18  Douglas Rupp  <rupp@gnat.com>
12954             Donn Terry  <donnte@microsoft.com>
12955
12956         * stor-layout.c (place_field): Handle alignment of whole
12957         structures when MSVC compatible bitfields are involved.
12958         Change method of computing location of MS bitfields to
12959         be compatible with #pragma pack(n).
12960
12961         * tree.h (record_layout_info): Add new field
12962         remaining_in_alignment.
12963
12964         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
12965         (pragma pack): Add paragraph on MSVC bitfield packing.
12966
12967 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
12968
12969         PR optimization/7967
12970         * arm.md (ne_zeroextractsi): Add clobber of the condition code
12971         register.
12972
12973 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12974
12975         * config/s390/s390.c: Follow spelling conventions.
12976         * config/sh/lib1funcs.asm: Likewise.
12977         * config/sh/sh.c: Likewise.
12978         * config/sh/sh.h: Likewise.
12979         * config/sparc/sparc.c: Likewise.
12980         * config/sparc/sparc.h: Likewise.
12981         * config/sparc/sparc.md: Likewise.
12982         * config/stormy16/stormy16.c: Likewise.
12983         * config/stormy16/stormy16.h: Likewise.
12984         * config/v850/v850.c: Likewise.
12985         * config/v850/v850.h: Likewise.
12986         * config/vax/vax.c: Likewise.
12987         * config/vax/vax.h: Likewise.
12988
12989 2002-09-18  Nick Clifton  <nickc@redhat.com>
12990
12991         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12992         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12993         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12994
12995 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12996
12997         * function.c (max_parm_reg_num): Remove.
12998         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12999         drop_through_at_end_p, move_cleanups_up,
13000         expand_end_case_dummy, case_index_expr_type): Likewise.
13001         * stor-layout.c (pos_from_byte): Likewise.
13002         * tree.c (chain_member_value, chain_member_purpose, listify,
13003         tree_int_cst_msb, index_type_equal): Likewise.
13004         * tree.h: Remove prototypes for unused functions.
13005
13006 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
13007
13008         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13009         statement that the only translation is to en_UK.
13010
13011 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13012
13013         * config/alpha/alpha.c: Follow spelling conventions.
13014         * config/alpha/alpha.h: Likewise.
13015         * config/alpha/alpha.md: Likewise.
13016         * config/arc/arc.h: Likewise.
13017         * config/arm/arm.c: Likewise.
13018         * config/arm/arm.h: Likewise.
13019         * config/arm/arm.md: Likewise.
13020         * config/arm/pe.c: Likewise.
13021         * config/arm/unknown-elf.h: Likewise.
13022         * config/avr/avr.c: Likewise.
13023         * config/avr/avr.h: Likewise.
13024         * config/c4x/c4x.c: Likewise.
13025         * config/cris/cris.c: Likewise.
13026         * config/cris/cris.h: Likewise.
13027
13028 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
13029
13030         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13031         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13032         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13033
13034 2002-09-17  Dale Johannesen  <dalej@apple.com>
13035
13036         * cfgcleanup.c (try_forward_edges):  Do not forward a
13037         branch to just after a loop exit before loop optimization;
13038         this interfered with doloop detection.
13039
13040 2002-09-17  Nick Clifton  <nickc@redhat.com>
13041
13042         * config/arm/arm.c (output_return_instruction): Do not
13043         writeback the stack pointer when it is being loaded.
13044         (arm_output_epilogue): Likewise.
13045
13046 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13047
13048         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13049         generate a pseudo reg that receives the result of a libcall.
13050         (prepare_float_lib_cmp): Likewise.
13051
13052 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
13053
13054         * config/ia64/elf.h: Remove CPP_PREDEFINES.
13055
13056 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13057
13058         Fix PR/7014 and related objc bugs:
13059         * c-typeck.c (comp_target_types): Added a reflexive argument.
13060         Pass it to ObjC when/if calling objc_comptypes().  Updated all
13061         callers to provide the appropriate reflexive argument.
13062         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13063         typechecking for all cases of comparisons and assignments,
13064         particularly the obscure and less common ones involving protocols.
13065
13066 2002-09-17  Nick Clifton  <nickc@redhat.com>
13067
13068         * machmode.def (V1DImode): New mode.  A single element vector.
13069         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13070         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13071         * tree.c (build_common_tree_nodes_2): Build
13072         unsigned_V1DI_type_node and V1D1_type_node.
13073         * c-common.c (c_common_type_for_mode): Return
13074         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13075         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13076
13077 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13078
13079         * doc/objc.texi (Constant string objects): Extended documentation
13080         to make clear that the constant string class ivar layout is
13081         completely fixed.
13082
13083 2002-09-17  Roger Sayle  <roger@eyesopen.com>
13084
13085         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13086         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13087
13088 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13089
13090         * config/mips/mips.c (save_restore_insns): Remove unused variable.
13091         * gcc.c (make_relative_prefix): Likewise.
13092         * loop.c (check_final_value): Likewise.
13093         * jump.c (init_label_info): Remove return value.
13094         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13095
13096 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13097
13098         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13099         (ASM_PN_FORMAT): Define.
13100
13101 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13102
13103         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13104         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13105         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13106         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13107         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13108         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13109         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13110         Delete.
13111         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13112         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13113         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13114
13115         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13116         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13117
13118 2002-09-16  Richard Henderson  <rth@redhat.com>
13119
13120         * expr.c (emit_block_move): Set memory block size as appropriate
13121         for the copy.
13122
13123 2002-09-16  Richard Henderson  <rth@redhat.com>
13124
13125         PR fortran/3924
13126         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
13127
13128 2002-09-16  Richard Henderson  <rth@redhat.com>
13129
13130         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13131         as well as OFFSET for BITPOS.
13132
13133 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
13134
13135         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13136         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
13137         winchip2 and c3.
13138         * doc/invoke.texi: Mention new aliases.
13139
13140 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13141
13142         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13143         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13144         downward.
13145         * function.c (pad_below):  Always compile.
13146         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13147         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13148         Pad below when the argument is not in a register and the padding
13149         direction is downward.
13150
13151         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13152         (PAD_VARARGS_DOWN): Define.
13153         * pa.c (function_arg_padding): Revise padding directions to make them
13154         compatible with the 32 and 64-bit runtime architecture documentation.
13155         (hppa_va_arg):  Add code to handle variable and size zero arguments
13156         passed by reference on TARGET_64BIT.  Reformat.
13157         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13158         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13159         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
13160         Add comments.
13161         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13162         (RETURN_IN_MEMORY): Return size zero types in memory.
13163         (FUNCTION_VALUE): Return TFmode in general registers.
13164         (MUST_PASS_IN_STACK): Define.
13165         (FUNCTION_ARG_BOUNDARY): Simplify.
13166         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13167         by reference.
13168         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13169
13170 2002-09-16  Richard Henderson  <rth@redhat.com>
13171
13172         * real.c (do_fix_trunc): New.
13173         (real_arithmetic): Call it.
13174         * simplify-rtx.c (simplify_unary_operation): Handle FIX
13175         with a floating-point result mode.
13176
13177 2002-09-16  Richard Henderson  <rth@redhat.com>
13178
13179         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13180         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13181         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13182         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13183         * builtins.c (fold_builtin_nan): New.
13184         (fold_builtin): Call it.
13185         * real.c (real_nan): Parse a non-empty string.
13186         (round_for_format): Fix NaN significand truncation.
13187         * real.h (real_nan): Return bool.
13188         * doc/extend.texi: Document new builtins.
13189
13190 2002-09-16  Jason Merrill  <jason@redhat.com>
13191             Danny Smith  <dannysmith@users.sourceforge.net>
13192
13193         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13194         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13195         (i386_pe_mark_dllimport): Not here.
13196
13197 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
13198
13199         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13200
13201 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
13202
13203         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13204         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13205         < 64.
13206         (rs6000_emit_cmove): Use real_isinf not target_isinf.
13207
13208 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13209
13210         * calls.c (emit_library_call_value_1): Don't refer to
13211         hard_libcall_value.
13212         * optabs.c (prepare_float_lib_cmp): Likewise.
13213
13214 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
13215
13216         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13217         mangling.
13218
13219         The following changes are merged from pch-branch:
13220
13221         * doc/gty.texi (GTY Options): Document %a.
13222         * gengtype.c (do_scalar_typedef): New function.
13223         (process_gc_options): Handle `length' option.
13224         (set_gc_used_type): A pointer to an array of structures doesn't
13225         qualify as a pointer to a structure.
13226         (output_escaped_param): Add `%a' escape.
13227         (write_gc_structure_fields): Allow 'desc' on array of unions.
13228         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13229         do_scalar_typedef.
13230
13231         * gengtype.c (enum rtx_code): Make global.
13232         (rtx_format): Make global.
13233         (rtx_next): New.
13234         (gen_rtx_next): New.
13235         (write_rtx_next): New.
13236         (adjust_field_rtx_def): Skip fields marked by chain_next.
13237         (open_base_files): Delete redundant prototype.
13238         (write_enum_defn): New.
13239         (output_mangled_typename): Correct abort call.
13240         (write_gc_marker_routine_for_structure): Handle chain_next and
13241         chain_prev options.
13242         (finish_root_table): Don't output redundant \n.
13243         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13244         * c-tree.h (union lang_tree_node): Add chain_next option.
13245
13246         * gengtype.h (NUM_PARAM): New definition.
13247         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13248         * gengtype.c (find_param_structure): New.
13249         (adjust_field_type): Handle param<n>_is option.
13250         (process_gc_options): Detect use_params option.  Update callers.
13251         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
13252         'use_params' option.
13253         (open_base_files): Add splay-tree.h to list of files included.
13254         (output_mangled_typename): New.
13255         (write_gc_structure_fields): Update 'param' parameter to support
13256         multiple parameters.  Change name mangling.  Allow parameterized
13257         fields to have an apparent scalar type.  Handle param<n>_is options,
13258         use_param option.
13259         (write_gc_marker_routine_for_structure): Update for change to name
13260         mangling.  Better guess the output file for parameterized types.
13261         (write_gc_types): Update for change to name mangling.
13262         (write_gc_root): Update for change to name mangling.  Handle (ignore)
13263         param<n>_is options.
13264         * doc/gty.texi (GTY Options): Add description of param<n>_is
13265         options, use_params option.
13266         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13267         * gengtype-lex.l: Produce token for param<n>_is.
13268         * gengtype-yacc.y: Parse param<n>_is.
13269
13270         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13271
13272         * rtl.c: Update comment describing rtx_format.
13273         * rtl.h (union rtunion): Separate definition and typedef.
13274         (struct rtx_def): Use gengtype to mark.
13275         * Makefile.in (gengtype.o): Also depend on rtl.def.
13276         * ggc.h (ggc_mark_rtx_children): Delete prototype.
13277         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13278         * ggc-common.c (ggc_mark_rtx_children): Delete.
13279         (ggc_mark_rtx_children_1): Delete.
13280         (gt_ggc_m_rtx_def): Delete.
13281         * gengtype.c (adjust_field_rtx_def): New.
13282         (adjust_field_type): Call adjust_field_rtx_def.
13283         (write_gc_structure_fields): Add 'default' case to switch if none
13284         is specified; remove unused code.
13285
13286         * tree.h (struct tree_exp): Update for change to meaning
13287         of special.
13288         * gengtype.c (adjust_field_tree_exp): New function.
13289         (adjust_field_type): Handle `tree_exp' special here.
13290         (write_gc_structure_fields): Don't handle `tree_exp' special here.
13291         Handle new `dot' option.
13292
13293         * gengtype.h: Make `info' a pointer-to-const.
13294         * gengtype-yacc.y (yacc_ids): Use xasprintf.
13295
13296         * gengtype.c (write_gc_structure_fields): Remove implementation
13297         of `always' option, add `default' option.
13298         * doc/gty.texi (GTY Options): Remove documentation of `always',
13299         add `default'.
13300
13301 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
13302
13303         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13304
13305 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13306
13307         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13308
13309         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13310         instead of the *-protos.h file directly.
13311         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13312         * darwin.c (machopic_output_stub): Move prototype ...
13313         * darwin-protos.h (machopic_output_stub): ... here.
13314         * rs6000-protos.h (machopic_output_stub): Don't declare.
13315
13316 2002-09-16  Richard Henderson  <rth@redhat.com>
13317
13318         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13319
13320 2002-09-16  Richard Henderson  <rth@redhat.com>
13321
13322         * real.c, real.h: Rewrite from scratch.
13323
13324         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13325         (paranoia): New target.
13326         * builtins.c (fold_builtin_inf): Use new real.h interface.
13327         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13328         * c-lex.c (interpret_float): Likewise.
13329         * emit-rtl.c (gen_lowpart_common): Likewise.
13330         * optabs.c (expand_float): Use real_2expN.
13331         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13332         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13333         (FLOAT_WORDS_BIG_ENDIAN): New.
13334         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13335         directly to REAL_VALUE_NEGATIVE.
13336         * loop.c (canonicalize_condition): Likewise.
13337         * simplify-rtx.c: Include tree.h.
13338         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
13339         with floating-point result modes.
13340         * toplev.c (backend_init): Call init_real_once.
13341
13342         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
13343         * tree.c (build_real): Likewise.
13344         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
13345         float_values, inited_float_values, check_float_value): Remove.
13346         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
13347         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
13348         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
13349         (VAX_HALFWORD_ORDER): Remove.
13350
13351 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
13352
13353         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
13354         (s390_load_address): ... this new function.
13355         (s390_decompose_address): Allow the argument pointer and all
13356         virtual registers as 'pointer' registers.
13357         (s390_expand_plus_operand): Use s390_load_address.
13358         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
13359         ("force_la_31"): New insn pattern.
13360         config/s390/s390-protos.h (legitimize_la_operand): Remove.
13361         (s390_load_address): Add prototype.
13362
13363         * config/s390/s390.c: Include "optabs.h".
13364         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
13365         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
13366         s390_expand_cmpstr): Add prototypes.
13367         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
13368         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
13369         for operands 0 and 1 to "memory_operand".  Add type attribute.
13370         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
13371         for operands 0 and 1 to "memory_operand".  Add type attribute.
13372         ("movstrdi_long", "movstrsi_long"): Remove.
13373         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
13374         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
13375         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
13376         ("clrstrsico"): Remove, replace by ...
13377         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
13378         ("clrstrsi_64"): Rename to "clrstr_long_64".
13379         ("clrstrsi_31"): Rename to "clrstr_long_31".
13380         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
13381         ("cmpstr_const"): Remove, replace by ...
13382         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
13383         ("cmpstr_64"): Rename to "cmpstr_long_64".
13384         ("cmpstr_31"): Rename to "cmpstr_long_31".
13385
13386 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13387
13388         * ABOUT-NLS: Follow spelling conventions.
13389         * ChangeLog: Likewise.
13390         * ChangeLog.1: Likewise.
13391         * ChangeLog.2: Likewise.
13392         * ChangeLog.3: Likewise.
13393         * ChangeLog.4: Likewise.
13394         * ChangeLog.5: Likewise.
13395         * ChangeLog.6: Likewise.
13396         * FSFChangeLog.10: Likewise.
13397         * FSFChangeLog.11: Likewise.
13398         * c-common.c: Likewise.
13399         * c-lex.c: Likewise.
13400         * c-objc-common.c: Likewise.
13401         * cppexp.c: Likewise.
13402         * cppinit.c: Likewise.
13403         * cpplex.c: Likewise.
13404         * doloop.c: Likewise.
13405         * flow.c: Likewise.
13406         * function.c: Likewise.
13407         * integrate.c: Likewise.
13408         * loop.c: Likewise.
13409         * reg-stack.c: Likewise.
13410         * reload.h: Likewise.
13411         * ssa.c: Likewise.
13412
13413 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13414
13415         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
13416         * vmsdbgout.c: Include "target.h".
13417
13418 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13419
13420         * ChangeLog: Follow spelling conventions.
13421         * ChangeLog.0: Likewise.
13422         * ChangeLog.1: Likewise.
13423         * ChangeLog.2: Likewise.
13424         * ChangeLog.4: Likewise.
13425         * ChangeLog.6: Likewise.
13426         * config.gcc: Likewise.
13427         * dwarfout.c: Likewise.
13428         * reload1.c: Likewise.
13429         * simplify-rtx.c: Likewise.
13430         * unwind-sjlj.c: Likewise.
13431         * config/avr/avr.h: Likewise.
13432         * config/d30v/d30v.h: Likewise.
13433         * config/frv/frv.c: Likewise.
13434         * config/frv/frv.h: Likewise.
13435         * config/ip2k/ip2k.h: Likewise.
13436         * config/m88k/m88k-move.sh: Likewise.
13437         * config/stormy16/stormy16.c: Likewise.
13438         * config/stormy16/stormy16.h: Likewise.
13439         * doc/extend.texi: Likewise.
13440         * doc/interface.texi: Likewise.
13441         * doc/invoke.texi: Likewise.
13442         * doc/md.texi: Likewise.
13443         * doc/rtl.texi: Likewise.
13444         * doc/tm.texi: Likewise.
13445         * doc/trouble.texi: Likewise.
13446         * ginclude/float.h: Likewise.
13447         * treelang/treelang.texi: Likewise.
13448
13449 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13450
13451         * i386-protos.h (i386_pe_dllexport_name_p,
13452         i386_pe_dllimport_name_p, i386_pe_unique_section,
13453         i386_pe_declare_function_type, i386_pe_record_external_function,
13454         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13455         prototype.
13456         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13457         * i386/t-interix (winnt.o): Likewise.
13458
13459         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13460
13461 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13462
13463         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13464         MIPS ABI CPP macros.
13465         (TARGET_CPU_CPP_BUILTINS): Redefine.
13466         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13467         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13468
13469 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13470
13471         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13472
13473 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13474
13475         * ChangeLog: Follow spelling conventions.
13476         * ChangeLog.0: Likewise.
13477         * ChangeLog.1: Likewise.
13478         * ChangeLog.2: Likewise.
13479         * ChangeLog.3: Likewise.
13480         * ChangeLog.4: Likewise.
13481         * ChangeLog.5: Likewise.
13482         * ChangeLog.6: Likewise.
13483         * FSFChangeLog.10: Likewise.
13484         * FSFChangeLog.11: Likewise.
13485         * c-common.c: Likewise.
13486         * c-common.h: Likewise.
13487         * c-format.c: Likewise.
13488         * c-opts.c: Likewise.
13489         * cpplib.c: Likewise.
13490         * langhooks.h: Likewise.
13491         * real.c: Likewise.
13492         * reg-stack.c: Likewise.
13493         * toplev.c: Likewise.
13494         * config/arm/arm.c: Likewise.
13495         * config/arm/arm.md: Likewise.
13496         * config/arm/linux-gas.h: Likewise.
13497         * config/arm/netbsd.h: Likewise.
13498         * config/c4x/c4x.c: Likewise.
13499         * config/c4x/c4x.h: Likewise.
13500         * config/c4x/c4x.md: Likewise.
13501         * config/c4x/libgcc.S: Likewise.
13502         * config/fr30/fr30.md: Likewise.
13503         * config/frv/frv.md: Likewise.
13504         * config/ia64/ia64.md: Likewise.
13505         * config/mips/mips.h: Likewise.
13506         * config/mn10300/mn10300.c: Likewise.
13507         * config/stormy16/stormy16.c: Likewise.
13508         * config/v850/v850.md: Likewise.
13509         * doc/extend.texi: Likewise.
13510         * doc/invoke.texi: Likewise.
13511         * doc/md.texi: Likewise.
13512
13513 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13514
13515         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13516         library if -pthread is specified.
13517
13518 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13519
13520         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13521         for --enable-threads=yes and --enable-threads=posix.
13522
13523 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13524
13525         * config/sparc/cypress.md: Replace Sparc with SPARC.
13526         * config/sparc/freebsd.h: Likewise.
13527         * config/sparc/gmon-sol2.c: Likewise.
13528         * config/sparc/hypersparc.md: Likewise.
13529         * config/sparc/lb1spc.asm: Likewise.
13530         * config/sparc/lb1spl.asm: Likewise.
13531         * config/sparc/linux.h: Likewise.
13532         * config/sparc/linux64.h: Likewise.
13533         * config/sparc/lynx.h: Likewise.
13534         * config/sparc/sol2.h: Likewise.
13535         * config/sparc/sparc-modes.def: Likewise.
13536         * config/sparc/sparc.c: Likewise.
13537         * config/sparc/sparc.h: Likewise.
13538         * config/sparc/sparc.md: Likewise.
13539         * config/sparc/sparclet.md: Likewise.
13540         * config/sparc/supersparc.md: Likewise.
13541         * config/sparc/sysv4.h: Likewise.
13542         * config/sparc/vxsim.h: Likewise.
13543         * config/sparc/vxsparc64.h: Likewise.
13544
13545 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13546
13547         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13548         * collect2.c (ignore_library, aix_std_libs): Move into the context
13549         where it is used.
13550         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13551         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13552         * m88k.c (output_call): Wrap variables with macro controlling use.
13553         * rs6000.md: Likewise.  Const-ify variable.
13554         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13555         * final.c (only_leaf_regs_used): Likewise.
13556         * regrename.c (maybe_mode_change): Mark parameter with
13557         ATTRIBUTE_UNUSED.
13558         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13559         (find_reloads_address_1): Likewise.
13560         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13561
13562 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13563
13564         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13565
13566 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13567
13568         * ChangeLog: Follow spelling conventions.
13569         * ChangeLog.0: Likewise.
13570         * ChangeLog.2: Likewise.
13571         * ChangeLog.3: Likewise.
13572         * ChangeLog.4: Likewise.
13573         * ChangeLog.5: Likewise.
13574         * ChangeLog.6: Likewise.
13575         * cppfiles.c: Likewise.
13576         * cppinit.c: Likewise.
13577         * cpplib.h: Likewise.
13578         * cse.c: Likewise.
13579         * debug.h: Likewise.
13580         * df.c: Likewise.
13581         * dominance.c: Likewise.
13582         * hashtable.c: Likewise.
13583         * hashtable.h: Likewise.
13584         * loop.c: Likewise.
13585         * config/arm/README-interworking: Likewise.
13586         * config/arm/arm.c: Likewise.
13587         * config/arm/arm.h: Likewise.
13588         * config/arm/arm.md: Likewise.
13589         * config/dsp16xx/dsp16xx.h: Likewise.
13590         * config/frv/frv.c: Likewise.
13591         * config/frv/frv.h: Likewise.
13592         * config/ip2k/ip2k.h: Likewise.
13593         * config/rs6000/rs6000.c: Likewise.
13594         * config/stormy16/stormy-abi: Likewise.
13595         * config/stormy16/stormy16.h: Likewise.
13596         * config/v850/v850.c: Likewise.
13597
13598 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13599
13600         * loop.c: Fix a comment typo.
13601
13602 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13603
13604         * config/fr30/fr30.h: Fix comment typos.
13605         * config/frv/frv.c: Likewise.
13606         * config/i386/xmmintrin.h: Likewise.
13607         * config/mips/mips.c: Likewise.
13608         * config/sh/sh.c: Likewise.
13609
13610 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13611
13612         * haifa-sched.c: Follow spelling conventions.
13613         * regclass.c: Likewise.
13614         * regrename.c: Likewise.
13615         * config/fp-bit.c: Likewise.
13616         * config/frv/frv.h: Likewise.
13617         * config/m88k/m88k.c: Likewise.
13618         * config/mcore/mcore.c: Likewise.
13619         * config/rs6000/darwin.h: Likewise.
13620         * config/rs6000/gnu.h: Likewise.
13621         * config/rs6000/linux.h: Likewise.
13622         * config/rs6000/linux64.h: Likewise.
13623         * config/rs6000/rs6000.c: Likewise.
13624         * config/rs6000/rs6000.h: Likewise.
13625         * config/sh/sh.c: Likewise.
13626         * config/sparc/sparc.c: Likewise.
13627         * config/sparc/ultra1_2.md: Likewise.
13628
13629 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13630
13631         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13632         memory operand when source is 0 (K constraint).
13633         ("movsi_internal"): Likewise.
13634         ("movdf_internal"): Likewise.
13635         ("movsf_internal"): Likewise.
13636
13637 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13638
13639         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13640         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13641         (rs6000_xcoff_encode_section_info): Likewise.
13642         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13643
13644 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13645
13646         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13647
13648 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13649
13650         * stmt.c (struct nexting): Remove unused alt_end_label field.
13651         (expand_start_loop): Delete initialization of alt_end_label.
13652         (expand_start_null_loop): Likewise.
13653         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13654
13655 2002-09-13  Richard Henderson  <rth@redhat.com>
13656
13657         * Makefile.in (toplev.o): Depend on real.h.
13658         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13659
13660 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13661
13662         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13663         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13664         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13665
13666 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13667
13668         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13669
13670 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13671
13672         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13673         ia64*-*-linux*): Set extra_parts.
13674         * config/ia64/t-aix (EXTRA_PARTS): Remove.
13675         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13676
13677 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13678
13679         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13680         * config/h8300/h8300.c: Likewise.
13681         * config/h8300/h8300.h: Likewise.
13682         * config/h8300/h8300.md: Likewise.
13683         * doc/invoke.texi: Likewise.
13684
13685 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13686
13687         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13688
13689 2002-09-13  Richard Henderson  <rth@redhat.com>
13690
13691         * config/alpha/alpha.md (attr type): Add callpal.
13692         (imb, trap, load_tp, set_tp): Use it.
13693         * config/alpha/ev4.md (ev4_callpal): New.
13694         * config/alpha/ev5.md (ev5_callpal): New.
13695         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13696         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13697         (alphaev5_insn_pipe): Likewise.
13698
13699 2002-09-13  Andreas Jaeger  <aj@suse.de>
13700
13701         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13702
13703 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13704
13705         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13706         LIB2ADDEH): New, set to NULL.
13707         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13708
13709 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13710
13711         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13712         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13713         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13714         Add declarations.
13715         (_U_Qfneg): Remove.
13716
13717 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
13718
13719         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
13720         for H8/300, H8S aa:8 mode.
13721         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
13722         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13723         for H8/300 aa:8 mode.
13724
13725 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
13726
13727         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13728         insns.
13729
13730 2002-09-12  Richard Henderson  <rth@redhat.com>
13731
13732         * Makefile.in (HOST_PRINT): Use print-rtl1.o
13733         (print-rtl.o): Don't define GENERATOR_FILE.
13734         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13735         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13736         unless GENERATOR_FILE.
13737
13738 2002-09-12  Stan Shebs  <shebs@apple.com>
13739
13740         * config/darwin.h (USER_LABEL_PREFIX): Define here...
13741         * config/i386/darwin.h: ... instead of here.
13742
13743         * target.h (struct gcc_target): New field
13744         terminate_dw2_eh_frame_info.
13745         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13746         (TARGET_INITIALIZER): Add it.
13747         * dwarf2out.c (output_call_frame_info): Use target hook.
13748         * dwarf2asm.c (dw2_asm_output_delta): Use macro
13749         ASM_OUTPUT_DWARF_DELTA if defined.
13750         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13751         (ASM_OUTPUT_DWARF_DELTA): Ditto.
13752         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13753         (ASM_OUTPUT_DWARF_PCREL): Ditto.
13754         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13755         (powerpc-*-darwin*): Ditto.
13756         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13757         to work correctly for Darwin.
13758         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13759         (STARTFILE_SPEC): Add crtbegin.o.
13760         (ENDFILE_SPEC): Define.
13761         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13762         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13763         (ASM_OUTPUT_DWARF_DELTA): Define.
13764         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13765         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13766
13767 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
13768
13769         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13770         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
13771         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13772
13773 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
13774
13775         * toplev.c: Move default definition of USER_LABEL_PREFIX...
13776         * defaults.h: ... here.
13777
13778 2002-09-12  Richard Henderson  <rth@redhat.com>
13779
13780         * vax.c: Include tree.h earlier.
13781
13782 2002-09-12  Stan Shebs  <shebs@apple.com>
13783
13784         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13785         (machopic_operand_p): Ditto.
13786
13787 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13788
13789         * config/arm/arm.c (arm_compute_initial_elimination_offset):
13790         Fix a comment typo.
13791
13792 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13793
13794         * toplev.c (do_abort): Fix a comment typo.
13795
13796 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13797
13798         * cselib.c: Fix comment formatting.
13799         * gengtype.c: Likewise.
13800
13801 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13802
13803         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13804         (udivmodhi4): Likewise.
13805
13806 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
13807             Roger Sayle  <roger@eyesopen.com>
13808
13809         * i386.c (any_fp_register_operand, fp_register_operand,
13810         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13811         New predicate functions.
13812         * i386-protos.h:  Add their prototypes.
13813         * i386.h: Add them to PREDICATE_CODES.
13814         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13815         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13816         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13817         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13818         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13819         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13820         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13821         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13822         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13823         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13824         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13825         Use these new predicates to simplify and correct the use of
13826         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13827
13828 2002-09-12  Jason Merrill  <jason@redhat.com>
13829
13830         * diagnostic.c (output_add_identifier): New fn.
13831         * diagnostic.h: Declare it.
13832
13833         * calls.c (store_one_arg): Use size_in_bytes to determine the
13834         amount of space to push.
13835
13836 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
13837
13838         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13839
13840 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
13841
13842         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13843         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13844         (s390_select_ccmode): Likewise.
13845         (s390_branch_condition_mask): Likewise.
13846         (optimization_options): Do not set flag_branch_on_count.
13847         (s390_split_branches): Handle doloop branches.
13848         (s390_chunkify_pool): Likewise.
13849         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13850         ("doloop_end"): New expander.
13851         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13852         associated splitters): New.
13853
13854 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13855
13856         * genattrtab.c (simplify_cond): Remove unused variable(s).
13857         * global.c (record_conflicts): Likewise.
13858         * jump.c (rebuild_jump_labels): Likewise.
13859         * loop.c (scan_loop, check_final_value): Likewise.
13860         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13861         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13862         * rtlanal.c (reg_set_p): Likewise.
13863         * stmt.c (expand_asm_operands, expand_decl): Likewise.
13864         * genautomata.c (empty_reserv): Remove.
13865         * loop.c (max_luid): Likewise.
13866         * sched-rgn.c (bitlst_table_size): Likewise.
13867
13868 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
13869
13870         Reimplement gcov format.
13871         * gcov-io.h: Replace.
13872         * gcov.c: Reimplement.
13873         * gcov-iov.c: New file.
13874         * gcov-dump.c: New file.
13875         * libgcc2.c (L_bb): Replace with ...
13876         (L_gcov): ... this.
13877         (struct bb_function_info, struct bb): Remove.
13878         (inhibit_libc): Never inhibit.
13879         (gcov_list, gcov_crc): New static variables.
13880         (gcov_version_mismatch): New static function.
13881         (__bb_exit_func): Renamed to ...
13882         (__gcov_exit): ... here. Made static. Reimplement.
13883         (__gcov_init_func): Rename to ...
13884         (__gcov_init): ... here. Check version, update crc.
13885         (__bb_fork_func): Rename to ...
13886         (__gcov_flush): ... here.
13887         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13888         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13889         * calls.c (expand_call): Call __gcov_flush.
13890         * profile.c (bb_file, last_bb_file_name): Remove.
13891         (bbg_file_name): New global variable.
13892         (output_gcov_string): Remove.
13893         (get_exec_counts): Reimplement.
13894         (branch_prob): Reimplement gcov file writing.
13895         (init_branch_prob): Create bbg_file_name, don't create
13896         bb_file_name.
13897         (end_branch_prob): Adjust. Don't remove counter file when
13898         instrumenting ourselves.
13899         (create_profiler): Adjust.
13900         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13901         point to gcov-io.h.
13902         * Makefile.in (LANGUAGES): Add gcov-dump.
13903         (coverageexts): Remove .bb.
13904         (STAGESTUFF): Add gcov-dump.
13905         (LIB2FUNCS_ST): Replace _bb with _gcov.
13906         (profile.o): Depend on gcov-iov.h.
13907         (final.o): Don't depend on profile.h, gcov.h.
13908         (gcov.o): Depend on gcov-iov.h.
13909         (gcov-iov.o): New target.
13910         (gcov-iov): New target.
13911         (gcov-iov.h): New target.
13912         (gcov-dump.o): New target.
13913         (GCOV_DUMP_OBJS): New variable.
13914         (gcov-dump): New target.
13915         (distclean): Remove coverageexts.
13916         (stage1): Remove coverageexts.
13917
13918 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
13919
13920         * fold-const.c (make_range): Only narrow to signed range if
13921         the signed range is smaller than the unsigned range.
13922
13923 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
13924
13925         * emit-rtl.c (set_mem_size): New function.
13926         * expr.h (set_mem_size): Declare.
13927         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13928         (expand_block_move): Instead, use adjust_address and
13929         replace_equiv_address to generate proper aliasing info.
13930         Move common code out of conditionals.  Localize vars.
13931
13932 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
13933
13934         * optabs.c (expand_binop): Minor cleanup.
13935         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13936
13937 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
13938
13939         * print-tree.c (print_node): Print the restrict qualifier.
13940
13941 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
13942
13943         * doc/install.texi: Fix typos.
13944
13945 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
13946
13947         * Makefile.in: Remove all references to s-under and underscore.c.
13948         * collect2.c, tlink.c: Change all uses of prepends_underscore
13949         to look directly at USER_LABEL_PREFIX.
13950
13951 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
13952
13953         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13954         alignment to csect.
13955         (rs6000_xcoff_unique_section): Only set section name for public
13956         data.
13957         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13958         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13959         duplicate definition.
13960
13961 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13962
13963         * pa.md (extzv): Check predicates before emitting extzv_32.
13964         (insv): Likewise.
13965
13966 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
13967
13968         * config/s390/s390.h (MOVE_MAX): Define to correct value.
13969         (MAX_MOVE_MAX): Define.
13970         (MOVE_BY_PIECES_P): Define.
13971         (CLEAR_BY_PIECES_P): Define.
13972
13973 2002-09-10  Denis Chertykov  <denisc@overta.ru>
13974
13975         * config/avr/avr.md (movstrhi): Use right operands for conversion.
13976
13977 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
13978
13979         PR c/7873
13980         * arm.md (insv): Use reg_or_int_operand for operand[3].
13981
13982 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
13983
13984         * rs6000.c (rs6000_assemble_visibility): Protect declaration
13985         inside macro.  Correct function definition typo.
13986         (rs6000_xcoff_section_type_flags): New function.
13987         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13988         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13989         with appropriate PIC test.
13990         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13991         determine readonly.
13992         (rs6000_binds_local_p): Combine PIC flags.
13993         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13994         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13995
13996 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13997
13998         * h8300.md: Fix signed/unsigned warnings.
13999         * mcore.md: Likewise.
14000         * mn10300.c (mask_ok_for_mem_btst): Likewise.
14001
14002 2002-09-09  Per Bothner  <per@bothner.com>
14003
14004         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
14005         characters, and only print TREE_STRING_LENGTH chars.
14006
14007 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
14008
14009         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14010         (ASM_FILE_END) New.
14011         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14012         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14013         * config/ia64/ia64.c (ia64_asm_output_external): Create list
14014         of external functions if TARGET_HPUX_LD is true.
14015         (ia64_hpux_add_extern_decl): New, routine to put names on
14016         list of external functions.
14017         (ia64_hpux_asm_file_end): Put out declarations for external
14018         functions if and only if they are used.
14019
14020 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14021
14022         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14023         on TARGET_64BIT before pic register restore.
14024
14025 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
14026
14027         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14028         (TARGET_HAVE_TLS): New description.
14029
14030 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
14031
14032         * doc/extend.texi (Statement Exprs): Fix broken link.
14033
14034 2002-09-09  Denis Chertykov  <denisc@overta.ru>
14035
14036         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14037         right conversion of operands[1].
14038
14039 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
14040
14041         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14042         commutative.  Use "nonimmediate_operand" instead of "register_operand"
14043         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
14044
14045         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14046         as commutative.
14047
14048         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14049         mark as commutative.  Use "nonimmediate_operand" instead of
14050         "register_operand" as predicate for operand 1.
14051
14052         ("movstrictsi"): Fix typo in insn name.
14053
14054 2002-09-09  Jan Hubicka  <jh@suse.cz>
14055
14056         * i386.c (index_register_operand): New.
14057         * i386.h (predicate_codes): Add new predicate.
14058         * i386.md (lea_general_*): Use index_register_operand
14059         (ashift to lea splitter): Do not produce invalid leas
14060         (ashift to mov+ashift split): New.
14061
14062 2002-09-09  Nick Clifton  <nickc@redhat.com>
14063
14064         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14065         Fix folding marks.
14066
14067 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14068             J"orn Rennecke <joern.rennecke@superh.com>
14069
14070         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14071
14072 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
14073
14074         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14075         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
14076         attributes.
14077
14078 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14079
14080         * basic_block.h (gcov_type): Explain why it is signed.
14081         * final.c: Don't include profile.h.
14082         (struct function_list, functions_head, functions_tail,
14083         end_final): Moved to profile.c
14084         (final): Move arc chaining code to profile.c.
14085         * function.c (prepare_function_start): Remove duplicate line.
14086         * output.h (end_final): Remove prototype.
14087         * predict.c (estimate_loops_at_level): Use gcov_type.
14088         * profile.c (struct function_list, functions_head,
14089         functions_tail): Moved from final.c
14090         (need_func_profiler): Remove.
14091         (instrument_edges): Don't set need_func_profiler.
14092         (get_exec_counts): Avoid signed/unsigned warning.
14093         (compute_checksum): Use crc32.
14094         (branch_prob): Adjust. Chain onto functions_head.
14095         (init_branch_prob): Absorb init_edge_profiler.
14096         (init_edge_profiler): Remove.
14097         (create_profiler): Moved and renamed from final.c:end_final.
14098         Emit data and constructor.
14099         (output_func_start_profiler): Remove.
14100         * profile.h (struct profile_info): checksum is unsigned.
14101         * rtl.h (output_func_start_profiler): Remove prototype.
14102         (create_profiler): Declare.
14103         * toplev.c (compile_file): Call create_profiler, if instrumenting
14104         arcs. Don't call end_final.
14105
14106 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14107
14108         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14109
14110 2002-09-08  Richard Henderson  <rth@redhat.com>
14111
14112         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14113         (DW_OP_GNU_push_tls_address): New.
14114         (DW_OP_lo_user): Fix.
14115         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14116         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14117         (size_of_loc_descr): Likewise.
14118         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14119         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14120         (loc_descriptor_from_tree): Handle TLS variables.
14121         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14122         (add_location_or_const_value_attribute): ... not here.  Defer
14123         to loc_descriptor_from_tree for TLS variables.
14124
14125         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14126         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14127         * config/i386/i386-protos.h: Update.
14128
14129 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14130
14131         PR optimization/6405
14132         * unroll.c (loop_iterations): last_loop_insn should be the previous
14133         non-note instruction before loop->end.
14134         * loop.c (strength_reduce): The conditional jump is the last
14135         non-note instruction before loop->end (as above).
14136
14137 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14138
14139         * combine.c (try_combine): Handle the case that undobuf.other_insn
14140         has been turned into a return or unconditional jump, by inserting
14141         a BARRIER if necessary.
14142         (simplify_set):  Test if a condition code setter has a constant
14143         comparison at compile time, if so convert this insn to a no-op move
14144         and update/simplify the condition code user (undobuf.other_insn).
14145
14146 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
14147
14148         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14149         (CLEAR_INSN_CACHE): Define.
14150
14151 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14152
14153         * basic-block.h: Fix comment formatting.
14154         * c-common.c: Likewise.
14155         * c-common.h: Likewise.
14156         * c-lex.c: Likewise.
14157         * c-pretty-print.c: Likewise.
14158         * cfglayout.c: Likewise.
14159         * cfgloop.c: Likewise.
14160         * defaults.h: Likewise.
14161         * et-forest.c: Likewise.
14162         * explow.c: Likewise.
14163         * function.h: Likewise.
14164         * gcov.c: Likewise.
14165         * genattrtab.c: Likewise.
14166         * gengtype.c: Likewise.
14167         * ifcvt.c: Likewise.
14168         * libgcc2.c: Likewise.
14169         * loop.c: Likewise.
14170         * profile.c: Likewise.
14171         * ra-build.c: Likewise.
14172         * real.c: Likewise.
14173         * rtl.h: Likewise.
14174         * tracer.c: Likewise.
14175         * tree-inline.c: Likewise.
14176         * varasm.c: Likewise.
14177
14178 2002-09-08  Jan Hubicka  <jh@suse.cz>
14179
14180         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14181         handling.
14182
14183         * loop.c (loop_givs_reduce):  Emit addition after.
14184
14185 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14186
14187         * varasm.c (default_assemble_visibility): Rename from
14188         assemble_visibility.
14189         * output.h: Here too.
14190         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14191         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14192
14193 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14194
14195         * reload.c (find_reloads <p constraint>): Pass operand_mode to
14196         find_reloads_address.
14197
14198 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14199
14200         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14201         (anonymous pattern): Likewise.
14202
14203 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14204
14205         * machmode.def: Add modes for half-float vectors.
14206
14207 2002-09-07  Scott Snyder  <snyder@fnal.gov>
14208
14209         PR target/7374
14210         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14211
14212 2002-09-07  Roger Sayle  <roger@eyesopen.com>
14213
14214         * basic-block.h (struct loop): Remove unused cont_dominator field.
14215
14216 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14217
14218         * varasm.c (decode_rtx_const): Don't check undefined field for
14219         CONST_VECTOR.
14220
14221 2002-09-07  Glen Nakamura  <glen@imodulo.com>
14222
14223         PR opt/7814
14224         * sched-deps.c (sched_analyze_insn): Make sure to add insn
14225         to reg_last->sets after flushing the dependency lists to guarantee
14226         that subsequent clobbers will be dependent on it.
14227
14228 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14229
14230         * combine.c (simplify_shift_const): Calculate rotate count
14231         correctly for vector operands.
14232
14233 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
14234
14235         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14236         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
14237         tree_expr_nonnegative_p.
14238         (build_conditional_expr): Likewise.
14239         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14240
14241 2002-09-07  Richard Henderson  <rth@redhat.com>
14242
14243         * builtins.def (inf, inff, infl): Mark const.
14244         (huge_val, huge_valf, huge_vall): Likewise.
14245         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14246
14247         * real.c (ereal_inf): Clear E before use.
14248
14249 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14250
14251         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14252         an expander and an anonymous pattern.  Zero out the upper half
14253         of the dividend in the expander.
14254         (udivmodqi4): Likewise.
14255
14256 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14257
14258         * config/h8300/h8300.c: Fix formatting.
14259         * config/h8300/h8300.h: Likewise.
14260         * config/h8300/h8300.md: Likewise.
14261
14262 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14263
14264         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14265         information.
14266
14267 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
14268
14269        * rtlanal.c (dead_or_set_regno_p): Fix typo.
14270
14271 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
14272
14273         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14274
14275         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14276         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14277         (TARGET_ASM_OUT): Add the above here.
14278         * target.h (struct gcc_target): Add "visibility" field.
14279         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14280         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14281         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14282         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14283
14284 2002-09-06  Ziemowit Laski <zlaski@apple.com>
14285
14286         * c-lang.c (objc_is_id): New stub.
14287         * c-tree.h (objc_is_id): New forward declaration.
14288         * c-typeck.c (build_c_cast): Do not strip protocol
14289         qualifiers from 'id' type.
14290         * objc/objc-act.c (objc_comptypes): Correct handling
14291         of protocol qualifiers.
14292         (objc_is_id): New.
14293
14294 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
14295
14296         * pentium.md (pentium-firstvboth): Fix typo.
14297
14298 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
14299
14300         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14301         (enum shift_type, enum h8_cpu): Likewise.
14302         (INL, ROT, LOP, SPC macros): Likewise.
14303         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
14304         const designator.
14305         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14306         space efficient algorithms when optimize for codesize.
14307
14308 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14309
14310         Fix PR/1727 and long-standing failing testcase
14311         objc/formal-protocol-6.m.
14312         * objc-act.c (build_protocol_expr): If compiling for the GNU
14313         runtime, create a list of Protocol statically allocated instances
14314         if it doesn't exist, then add the Protocol object to this same
14315         list.
14316         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14317         instead of TREE_CHAIN.
14318
14319 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14320
14321         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14322         10k.  Fixed category dumping - print out category names with the
14323         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
14324         interface.
14325         (finish_objc): Fixed the -gen-decls option.  It was printing out
14326         only the last class.  Dump an interface declaration of all classes
14327         being compiled instead.
14328
14329 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
14330
14331         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14332         prototype.
14333         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14334         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14335         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
14336         rather than GEN_INT.
14337         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14338         (return_addr_mask, *check_arch2): New.
14339
14340 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
14341
14342         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
14343         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
14344         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14345         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
14346         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
14347         "adddf3", "*adddf3", "*adddf3_ibm",
14348         "addsf3", "*addsf3", "*addsf3_ibm",
14349         "muldi3", "mulsi3", "mulsidi3",
14350         "muldf3", "*muldf3", "*muldf3_ibm",
14351         "mulsf3", "*mulsf3", "*mulsf3_ibm",
14352         "*anddi3_cc", "*anddi3_cconly", "anddi3",
14353         "*andsi3_cc", "*andsi3_cconly", "andsi3",
14354         "*iordi3_cc", "*iordi3_cconly", "iordi3",
14355         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
14356         "*xordi3_cc", "*xordi3_cconly", "xordi3",
14357         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
14358         instead of "register_operand" as predicate for "%0" operand.
14359
14360 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
14361
14362         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
14363         unconditionally when gcc_cv_as_flags64 checks are gone.
14364         * configure: Rebuilt.
14365
14366 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
14367
14368         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
14369         2002-07-26 change.  Comment.
14370
14371 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14372
14373         * frv.c (frv_unique_section, frv_select_section,
14374         frv_select_rtx_section): Delete.
14375         (frv_in_small_data_p): New.
14376         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
14377         TARGET_ASM_SELECT_RTX_SECTION): Delete.
14378         (TARGET_IN_SMALL_DATA_P): Define.
14379
14380 2002-09-05  Dale Johannesen  <dalej@apple.com>
14381
14382         * reload1.c (reload):  Retain only those memory clobbers
14383         added for variable-array handling.
14384
14385 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14386
14387         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
14388         return-in-memory rules.
14389         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
14390
14391 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14392
14393         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
14394         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
14395
14396 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14397
14398         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
14399         not a compile-time constant for the non-IBM case.
14400         * config/arm/arm-protos.h (arm_float_words_big_endian): New
14401         prototype.
14402         * config/arm/arm.c (arm_float_words_big_endian): New function.
14403         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
14404         if TARGET_VFP  and not TARGET_HARD_FLOAT.
14405         (ARM_FLAG_VFP, TARGET_VFP): Define.
14406         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
14407
14408 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14409
14410         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
14411         URLs.  Fix AIX wording.
14412
14413 2002-09-05  Stan Shebs  <shebs@apple.com>
14414
14415         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
14416         -fPIC equivalent on Darwin.
14417
14418 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14419
14420         * sh.c (sh_expand_builtin): Return early if encountering an
14421         error_mark for a type.
14422
14423 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14424
14425         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14426         double-word scratch register.
14427         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14428
14429         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14430         "*cli"): Replace s_operand by memory_operand.
14431         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14432
14433 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14434
14435         * config/h8300/h8300.c (asm_file_start): Add a missing
14436         semicolon.
14437
14438 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14439
14440         * c-typeck.c (build_function_call): Remove unused variable(s).
14441         (build_c_cast): Likewise.
14442         * calls.c (rtx_for_function_call): Likewise.
14443         * cfglayout.c (duplicate_insn_chain): Likewise.
14444         * cfgloop.c (flow_loop_nodes_find): Likewise.
14445         * cfgrtl.c (split_edge): Likewise.
14446         * df.c (df_ref_create): Likewise.
14447         * except.c (expand_end_catch): Likewise.
14448         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14449         * function.c (emit_return_into_block): Likewise.
14450         (reposition_prologue_and_epilogue_notes): Likewise.
14451         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14452         * combine.c (subst_prev_insn, need_refresh): Remove.
14453         * dwarf2out.c (primary_filename): Remove.
14454         * final.c (new_block): Remove.
14455         * gcse.c (orig_bb_count): Remove.
14456
14457 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14458
14459         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14460         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14461         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14462         directly instead of using a function pointer.
14463
14464 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14465
14466         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14467         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14468         (ix86_output_addr_diff_elt) Likewise.
14469         (x86_output_mi_thunk) Likewise.
14470         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14471
14472 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14473
14474         * frv.c (frv_encode_section_info): Fix error in last change.
14475
14476 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14477
14478         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14479         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14480         (TARGET_BINDS_LOCAL_P): Define.
14481         (rs6000_override_options): Save original flag_pic value.
14482         (rs6000_elf_select_section): Call default_elf_select_section_1.
14483         (rs6000_elf_unique_section): Call default_unique_section_1.
14484         (rs6000_elf_in_small_data_p): New function.
14485         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14486         (rs6000_xcoff_select_section): Update based on defaults.
14487         (rs6000_xcoff_unique_section): Set to basic name if not common.
14488         (rs6000_binds_local_p): New function.
14489         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14490         targetm.have_srodata_section if SDATA_EABI.
14491         (TARGET_IN_SMALL_DATA_P): Define.
14492
14493 2002-09-04  Dale Johannesen  <dalej@apple.com>
14494
14495         * varasm.c (struct rtx_const, decode_rtx_const):
14496         Make veclo and vechi fields not share storage.
14497
14498 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14499
14500         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14501         for moving.
14502         (move_movables): Abort if we see the first insn of a libcall.
14503
14504 2002-09-04  Richard Henderson  <rth@redhat.com>
14505
14506         * builtin-types.def (BT_FN_FLOAT): New.
14507         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14508         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14509         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14510         * builtins.c (fold_builtin_inf): New.
14511         (fold_builtin): Call it.
14512         * real.c (ereal_inf): New.
14513         * real.h: Declare it.
14514         * doc/extend.texi: Document new builtins.
14515
14516 2002-09-04  Richard Henderson  <rth@redhat.com>
14517
14518         * cse.c (cse_insn): Avoid subreg games if the equivalence
14519         is already in the proper mode.
14520
14521 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14522
14523         PR c/7102
14524         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14525
14526 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14527
14528         * pa.md (setccfp0, setccfp1): New patterns.
14529
14530 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14531
14532         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14533         frv_select_section, frv_select_rtx_section,
14534         frv_encode_section_info, frv_unique_section): Delete.
14535         * frv.c: Update for target hooks.
14536         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14537         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14538         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14539
14540 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14541
14542         * ip2k-protos.h (function_prologue, function_epilogue,
14543         encode_section_info): Update to match target hook specification.
14544         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14545         (function_prologue, function_epilogue, encode_section_info):
14546         Update to match target hook specification.
14547         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14548         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14549         (NOTICE_UPDATE_CC): Cast to void.
14550         * ip2k.md: Add defaults in switch statements.
14551
14552 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14553
14554         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14555         issues.
14556
14557 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14558
14559         * config/sparc/t-netbsd64: Disable multilib for now.
14560
14561 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14562
14563         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14564         * target.h (gcc_target): Add have_srodata_section member.
14565         * varasm.c (section_category): Add SECCAT_SRODATA.
14566         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14567         READONLY_SDATA_SECTION defined.
14568         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14569         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14570         (default_unique_section_1): Likewise.
14571
14572 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14573
14574         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14575         into DImode pieces.
14576
14577         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14578         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14579         for floating-point register class.
14580         * pa.c (function_arg): Fix handling of modes wider than one word for
14581         TARGET_64BIT.
14582
14583 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14584
14585         * combine.c (make_compound_operation): Don't generate zero / sign
14586         extensions in floating point modes.
14587
14588 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14589
14590         * doc/c-tree.texi: Fix overfull hboxes.
14591         * doc/cppopts.texi: Ditto.
14592         * doc/extend.texi: Ditto.
14593         * doc/gty.texi: Ditto.
14594         * doc/invoke.texi: Ditto.
14595         * doc/makefile.texi: Ditto.
14596         * doc/rtl.texi: Ditto.
14597         * doc/standards.texi: Ditto.
14598         * doc/tm.texi: Ditto.
14599
14600 2002-09-04  Richard Henderson  <rth@redhat.com>
14601
14602         * c-common.c (builtin_define_with_hex_fp_value): New.
14603         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14604
14605 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14606
14607         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14608         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14609         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14610         Warn that these options can break ABI compatibility.
14611
14612 2002-09-04  Richard Henderson  <rth@redhat.com>
14613
14614         * real.c (ereal_to_decimal): Add digits parameter.
14615         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14616         * c-pretty-print.c (pp_c_real_literal): Update call.
14617         * print-rtl.c (print_rtx): Likewise.
14618         * print-tree.c (print_node_brief, print_node): Likewise.
14619         * sched-vis.c (print_value): Likewise.
14620         * config/arc/arc.c (arc_print_operand): Likewise.
14621         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14622         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14623         * config/i386/i386.c (print_operand): Likewise.
14624         * config/i960/i960.c (i960_print_operand): Likewise.
14625         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14626         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14627         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14628         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14629         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14630         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14631         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14632         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14633         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14634         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14635         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14636         * config/mips/mips.c (print_operand): Likewise.
14637         * config/ns32k/ns32k.c (print_operand): Likewise.
14638         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14639         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14640         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14641
14642 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14643
14644         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14645         xtensa_multibss_section_type_flags.
14646         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14647
14648 2002-09-04  Richard Henderson  <rth@redhat.com>
14649
14650         * doc/install-old.texi: Don't mention enquire.
14651         * doc/sourcebuild.texi: Update float.h description.
14652
14653 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14654
14655         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14656
14657 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14658
14659         * builtins.c (build_function_call_expr): Remove prototype, export
14660         as non-static and add a comment above function definition.
14661         (builtin_mathfn_code): New function to check for math builtins.
14662         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14663         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14664         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14665         log(sqrt(x)) as log(x)/2.0.
14666
14667         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14668         in new "builtins.c" section.  Place the build_range_type prototype
14669         with the other prototypes from "tree.c".
14670
14671         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14672         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14673         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14674         x/exp(y) as x*exp(-y).
14675
14676 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
14677
14678         * varasm.c (default_section_type_flags): Append _1 to name with
14679         shlib parameter.  Use original name to call new function with
14680         implicit flag_pic.
14681         (decl_readonly_section): Likewise.
14682         (default_elf_select_section): Likewise.
14683         (default_unique_section): Likewise.
14684         (default_bind_local_p): Likewise.
14685         (categorize_decl_for_section): Add shlib parameter to use in place
14686         of implicit flag_pic.
14687         * output.h: Declare new functions with _1 and shlib argument.
14688
14689 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
14690
14691         * doc/install.texi: Fix typos, formatting problems, and obvious
14692         overfull/underfull boxes.
14693
14694         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14695         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14696         include its file, compat.texi.
14697         * doc/compat.texi: New file with new chapter, Binary Compatibility.
14698
14699 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
14700
14701         Debian BTS Bug #157416
14702         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14703         * cpplib.c (destringize_and_run): Kludge around getting
14704         tokens from in-progress macros.
14705         (_cpp_do__Pragma): Simplify.
14706
14707 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14708
14709         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14710         (CPP_CPU_SPEC): Remove.
14711         (TARGET_CPU_CPP_BUILTINS): New.
14712         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14713         (CPP_SPEC): Remove.
14714         (TARGET_OS_CPP_BUILTINS): New.
14715         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14716         (TARGET_OS_CPP_BUILTINS): New.
14717         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14718         TARGET_OS_CPP_BUILTINS.
14719         (CPP_PREDEFINES): Remove.
14720         (CPLUSPLUS_CPP_SPEC): Remove.
14721         (TARGET_OS_CPP_BUILTINS): New.
14722
14723 2002-09-03  Richard Henderson  <rth@redhat.com>
14724
14725         * Makefile.in (USER_H): Add ginclude/float.h.
14726         (FLOAT_H): Remove.
14727         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14728         (mostlyclean): Don't remove float.h intermediate files.
14729         (distclean): Don't remove float.h.
14730         * config.gcc: Remove all float_format references.
14731         * configure.in (float_format, float_h_file): Remove.
14732
14733         * c-common.c: Include tree-inline.h.
14734         (builtin_define_with_int_value): New.
14735         (builtin_define_type_precision): Use it.
14736         (builtin_define_float_constants): New.
14737         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
14738         __FLT_EVAL_METHOD__.
14739         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14740         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14741         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14742         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14743         (TARGET_FLT_EVAL_METHOD): New.
14744
14745         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14746         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14747         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14748         * ginclude/float.h: New.
14749
14750 2002-09-03  Stan Shebs  <shebs@apple.com>
14751
14752         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14753         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14754         (PREFERRED_DEBUGGING_TYPE): Ditto.
14755         (ASM_OUTPUT_IDENT): Remove empty definition.
14756
14757 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14758
14759         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14760         cxx_target.
14761         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14762         handling routine for builtin pragma.
14763         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14764         Registered pragma handling routine.
14765         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14766         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14767         If builtin pragma seen for math routine and C89 conformance is
14768         requested use different math function in order to set errno.
14769         * t-ia64 (ia64-c.o): Add new rule for new file.
14770
14771 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14772
14773         * config/s390/s390.md ("movti"): Add Q->Q alternative.
14774         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14775         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
14776
14777         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
14778         "*movsf_ss"): Remove.
14779
14780 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14781
14782         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14783         Delete macros.
14784
14785 2002-09-03   Arati Dikey  <aratid@kpit.com>
14786
14787         * h8300.c (asm_file_start): Corrected optimization comment.
14788
14789 2002-09-03  Stan Shebs  <shebs@apple.com>
14790
14791         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14792         * c-tree.h (recognize_objc_keyword): Remove decl.
14793         * c-typeck.c (comp_target_types): Update a comment.
14794
14795 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14796
14797         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14798         and register validity checks.
14799         (general_s_operand): Adapt to s390_decompose_address interface change.
14800         (q_constraint): Likewise.
14801         (s390_expand_plus_operand): Likewise.
14802         (legitimiate_address_p): Likewise.
14803         (legitimate_la_operand_p): Likewise.
14804         (legitimize_la_operand): Likewise.
14805         (print_operand_address): Likewise.
14806         (print_operand): Likewise.
14807
14808 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14809
14810         PR objc/5956:
14811         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
14812         was causing the new selector never to match the existing ones
14813         (Patch by Alexander Malmberg <alexander@malmberg.org>).
14814
14815 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14816
14817         * config/i386/i386.md ("femms"): Add "memory" attr "none".
14818
14819 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14820
14821         * expr.c (expand_expr): Remove extraneous comment and code.
14822
14823 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
14824
14825         * stor-layout (finish_builtin_struct): Renamed and moved from c++
14826         frontend. Take chain of fields. Allow NULL alignment type.
14827         * tree.h (finish_builtin_struct): Declare.
14828
14829 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14830
14831         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14832         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14833         config/arc/arc.c config/arc/arc.h config/arm/aout.h
14834         config/arm/arm.c config/arm/arm.h config/arm/arm.md
14835         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14836         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14837         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14838         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14839         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14840         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14841         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14842         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14843         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14844         config/pa/pa.h config/pa/pa.md config/romp/romp.h
14845         config/rs6000/linux64.h config/rs6000/lynx.h
14846         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14847         config/s390/s390.c config/s390/s390.md config/sh/sh.c
14848         config/sparc/sparc.c config/sparc/sysv4.h
14849         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14850         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14851         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14852
14853         * doc/tm.texi: Update docs.
14854         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14855         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14856
14857 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14858
14859         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14860         * arc.c (arc_internal_label): New function.
14861         (TARGET_ASM_INTERNAL_LABEL): Set.
14862         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14863         * arm.c (arm_internal_label): New function.
14864         (TARGET_ASM_INTERNAL_LABEL): Set.
14865         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14866         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14867         * i370.c (i370_internal_label): New function.
14868         (TARGET_ASM_INTERNAL_LABEL): Set.
14869         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14870         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14871         * m68k.c (m68k_hp320_internal_label): New function.
14872         (TARGET_ASM_INTERNAL_LABEL): Set.
14873         * m88k.c (m88k_internal_label): New function.
14874         (TARGET_ASM_INTERNAL_LABEL): Set.
14875         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14876         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14877         * genoutput.c (output_prologue): Include target.h in output file.
14878         * output.h (default_internal_label): Declare.
14879         * sdbout.c: Include target.h.
14880         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14881         TARGET_ASM_OUT.
14882         * target.h (internal_label): Add to struct gcc_target.
14883         * varasm.c (default_internal_label): New function.
14884
14885 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14886
14887         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14888         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14889         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14890         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14891         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14892         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14893         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14894         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14895         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14896         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14897         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14898         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14899         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14900         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14901         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14902         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14903         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14904         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14905         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14906         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14907         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14908         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14909         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14910         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14911         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14912         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14913         * mmix.c (mmix_asm_output_internal_label): Likewise.
14914         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14915         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14916         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14917         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14918         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14919         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14920         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14921         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14922         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14923         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14924         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14925         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14926         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14927         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14928         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14929         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14930         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14931         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14932         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14933
14934         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14935
14936 2002-08-31  Richard Henderson  <rth@redhat.com>
14937
14938         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14939
14940 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14941
14942         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14943
14944 2002-08-30  Richard Henderson  <rth@redhat.com>
14945
14946         PR opt/7515
14947         * c-objc-common.c: Include target.h.
14948         (c_cannot_inline_tree_fn): Don't auto-inline functions that
14949         don't bind locally.  Factor setting DECL_UNINLINABLE.
14950         * Makefile.in (c-objc-common.o): Update.
14951
14952 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
14953
14954         * doc/install.texi (Configuration, Building): Fix a typo and
14955         some formatting directives.
14956
14957 2002-08-30  Paul Koning <pkoning@equallogic.com>
14958
14959         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14960         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14961         implemented" note.
14962         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14963         for alphabetic order.
14964         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14965         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
14966         (VAX_HALFWORD_ORDER): Document.
14967         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14968         IEEE float format.
14969         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14970         (ASM_OUTPUT_LABEL_REF): Fix font.
14971         (CASE_VECTOR_SHORTEN_MODE): Ditto.
14972
14973 2002-08-30  Denis Chertykov  <denisc@overta.ru>
14974
14975         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14976         stuff.
14977         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14978         CONST_DOUBLE constants.
14979
14980 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
14981
14982         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14983         related defines to...
14984         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14985         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14986         as a no-op.
14987
14988 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
14989
14990         * config/arm/arm.c (arm_asm_output_labelref): New function.
14991         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14992         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14993
14994 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
14995
14996         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14997         memory exhausted" workarounds.
14998
14999 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15000
15001         * diagnostic.c (fancy_abort): Don't repeat "internal error".
15002         * toplev.c (crash_signal): Likewise.
15003
15004 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15005
15006         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15007         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15008         Extended, updated documentation.
15009         (-Wundeclared-selector): Documented.
15010
15011 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
15012
15013         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15014         the value 1.  Do not undef before defining.
15015         * config/darwin.h: Likewise.
15016         * config/dbx.h: Likewise.
15017         * config/dbxcoff.h: Likewise.
15018         * config/dbxelf.h: Likewise.
15019         * config/elfos.h: Likewise.
15020         * config/interix.h: Likewise.
15021         * config/lynx-ng.h: Likewise.
15022         * config/lynx.h: Likewise.
15023         * config/netware.h: Likewise.
15024         * config/psos.h: Likewise.
15025         * config/svr3.h: Likewise.
15026         * config/alpha/alpha.h: Likewise.
15027         * config/alpha/elf.h: Likewise.
15028         * config/alpha/vms.h: Likewise.
15029         * config/arc/arc.h: Likewise.
15030         * config/arm/aout.h: Likewise.
15031         * config/arm/coff.h: Likewise.
15032         * config/c4x/c4x.h: Likewise.
15033         * config/h8300/h8300.h: Likewise.
15034         * config/i386/cygwin.h: Likewise.
15035         * config/i386/djgpp.h: Likewise.
15036         * config/i386/gas.h: Likewise.
15037         * config/i386/gstabs.h: Likewise.
15038         * config/i386/i386-coff.h: Likewise.
15039         * config/i386/i386-interix.h: Likewise.
15040         * config/i386/sco5.h: Likewise.
15041         * config/i386/svr3dbx.h: Likewise.
15042         * config/i386/sysv3.h: Likewise.
15043         * config/i386/win32.h: Likewise.
15044         * config/i386/x86-64.h: Likewise.
15045         * config/i960/i960.h: Likewise.
15046         * config/ia64/ia64.h: Likewise.
15047         * config/ip2k/ip2k.h: Likewise.
15048         * config/m32r/m32r.h: Likewise.
15049         * config/m68k/3b1.h: Likewise.
15050         * config/m68k/3b1g.h: Likewise.
15051         * config/m68k/ccur-GAS.h: Likewise.
15052         * config/m68k/coff.h: Likewise.
15053         * config/m68k/hp2bsd.h: Likewise.
15054         * config/m68k/hp310g.h: Likewise.
15055         * config/m68k/hp320g.h: Likewise.
15056         * config/m68k/hp3bsd.h: Likewise.
15057         * config/m68k/hp3bsd44.h: Likewise.
15058         * config/m68k/linux-aout.h: Likewise.
15059         * config/m68k/m68k-aout.h: Likewise.
15060         * config/m68k/mot3300.h: Likewise.
15061         * config/m68k/netbsd.h: Likewise.
15062         * config/m68k/openbsd.h: Likewise.
15063         * config/m68k/pbb.h: Likewise.
15064         * config/m68k/plexus.h: Likewise.
15065         * config/m68k/sun2.h: Likewise.
15066         * config/m68k/sun3.h: Likewise.
15067         * config/m68k/tower-as.h: Likewise.
15068         * config/m68k/vxm68k.h: Likewise.
15069         * config/m88k/aout-dbx.h: Likewise.
15070         * config/m88k/m88k-aout.h: Likewise.
15071         * config/mcore/mcore-elf.h: Likewise.
15072         * config/mcore/mcore-pe.h: Likewise.
15073         * config/mips/elf.h: Likewise.
15074         * config/mips/elf64.h: Likewise.
15075         * config/mips/iris5gas.h: Likewise.
15076         * config/mips/iris6.h: Likewise.
15077         * config/mips/mips.h: Likewise.
15078         * config/mips/sni-gas.h: Likewise.
15079         * config/mmix/mmix.h: Likewise.
15080         * config/ns32k/netbsd.h: Likewise.
15081         * config/pa/pa64-hpux.h: Likewise.
15082         * config/romp/romp.h: Likewise.
15083         * config/rs6000/sysv4.h: Likewise.
15084         * config/rs6000/xcoff.h: Likewise.
15085         * config/sh/coff.h: Likewise.
15086         * config/sh/elf.h: Likewise.
15087         * config/sparc/linux64.h: Likewise.
15088         * config/sparc/liteelf.h: Likewise.
15089         * config/sparc/netbsd.h: Likewise.
15090         * config/sparc/openbsd.h: Likewise.
15091         * config/sparc/pbd.h: Likewise.
15092         * config/sparc/sp64-elf.h: Likewise.
15093         * config/sparc/sp86x-elf.h: Likewise.
15094         * config/sparc/sparc.h: Likewise.
15095         * config/vax/vax.h: Likewise.
15096         * config/vax/vaxv.h: Likewise.
15097
15098 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15099
15100         * h8300.c (shift_alg_hi): Various tweaks to improve performance
15101         of HImode shifts.
15102         (get_shift_alg): Corresponding changes.
15103
15104 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15105
15106         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15107
15108 2002-08-29  Richard Henderson  <rth@redhat.com>
15109
15110         * expr.h (enum block_op_methods): New.
15111         (emit_block_move): Update prototype.
15112         * expr.c (block_move_libcall_safe_for_call_parm): New.
15113         (emit_block_move_via_loop): New.
15114         (emit_block_move): Use them.  New argument METHOD.
15115         (emit_push_insn): Always respect the given alignment.
15116         (expand_assignment): Update call to emit_block_move.
15117         (store_expr, store_field, expand_expr): Likewise.
15118         * builtins.c (expand_builtin_apply): Likewise.
15119         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15120         * function.c (expand_function_end): Likewise.
15121         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15122         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15123         * calls.c (expand_call, emit_library_call_value_1): Likewise.
15124         (save_fixed_argument_area): Use emit_block_move with
15125         BLOCK_OP_CALL_PARM instead of move_by_pieces.
15126         (restore_fixed_argument_area): Likewise.
15127         (store_one_arg): Fix alignment parameter to emit_push_insn.
15128
15129 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15130
15131         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15132
15133 2002-08-29  Catherine Moore  <clm@redhat.com>
15134
15135         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15136         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15137         (PREDICATE_CODES): Include new predicates.
15138         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
15139         (TARGET_SWITCHES):  Add strict-align.
15140         (TARGET_STRICT_ALIGN): New.
15141         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
15142         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15143         Define.
15144         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15145         v850_muldi3.
15146         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15147         L_callt_save_r2_r31, L_return_r2_r31,
15148         L_save_all_interrupt): Change addi to add.
15149         (L_save_interrupt, L_return_interrupt): Rework.
15150         (__return_r31):  Correct .size directive.
15151         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15152         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15153         New routines.
15154         * config/v850/v850.c (expand_prologue): Call
15155         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15156         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15157         (reg_or_int9_operand): New predicate.
15158         (reg_or_const_operand): New routine.
15159         * config/v850/v850.md (return_interrupt): Changed from
15160         restore_interrupt.
15161         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15162         (callt_save_interrupt): Change save sequence.
15163         (callt_return_interrupt): New.
15164         (save_interrupt): Don't use runtime function for LONG_CALLS
15165         and TARGET_PROLOG_FUNCTION.
15166         (save_all_interrupt): Likewise.
15167         (mulsi3): Use new predicate.
15168         (moviscc): Disallow some combination of constants.
15169         Fix define_split for sasf insns, so that it will not generate bad
15170         code if operand0 and operand5 are the same.
15171         * config/v850/v850-protos.h: Prototype new predicates.
15172
15173 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
15174
15175         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15176         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15177
15178 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15179
15180         * c-common.c (builtin_define_type_precision): New function.
15181         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
15182         wchar_t is unsigned in C++.
15183         * doc/cpp.texi (Common Predefined Macros): Document
15184         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15185         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15186         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15187
15188 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
15189
15190         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15191         section.  Mention that it is enabled by -Wall.
15192         (-Wall): Mention that there can be language-specific warnings as well.
15193         (-Wctor-dtor-privacy): Mention that it is enabled by default.
15194         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15195
15196 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
15197
15198         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15199         if it is ever live.
15200
15201         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15202         attribute for SHCOMPACT.
15203
15204         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15205         appropriately.
15206         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15207         by the ABI.
15208
15209         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15210
15211 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
15212
15213         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15214         "MASK_GAS|MASK_ABICALLS".
15215         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15216         (TARGET_DEFAULT): Remove.
15217         (MACHINE_TYPE): Undefine before defining.
15218         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15219
15220 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
15221
15222         * c-common.c (warn_abi): New variable.
15223         * c-common.h (warn_abi): Likewise.
15224         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15225         (c_common_decode_option): Handle it.
15226         * doc/invoke.texi: Document -Wabi.
15227
15228 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15229
15230         * c-common.c (warn_undeclared_selector): New variable.
15231         * c-common.h (warn_undeclared_selector): Idem.
15232         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15233         to on when -Wundeclared-selector is found.
15234         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15235         * objc/objc-act.c (build_selector_expr): If
15236         warn_undeclared_selector is set, check that the selector has
15237         already been defined, and emit a warning if not.
15238
15239 2002-08-27  Nick Clifton  <nickc@redhat.com>
15240             Catherine Moore  <clm@redhat.com>
15241             Jim Wilson  <wilson@cygnus.com>
15242
15243         * config.gcc: Add v850e-*-* target.
15244         Add --with-cpu= support for v850.
15245         * config/v850/lib1funcs.asm: Add v850e callt functions.
15246         * config/v850/v850.h: Add support for v850e target.
15247         * config/v850/v850.c: Add functions to support v850e target.
15248         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15249         * config/v850/v850.md: Add patterns for v850e instructions.
15250         * doc/invoke.texi: Document new v850e command line switches.
15251
15252 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15253                           Aldy Hernandez <aldyh at redhat dot com>
15254
15255         * doc/tm.texi: Applied numerous fixes to the automaton based
15256         scheduler descrition.
15257
15258 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
15259
15260         * i386.c (classify_argument): Handle variable sized objects.
15261
15262 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15263
15264         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15265
15266 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
15267
15268         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15269
15270 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
15271
15272         * i386.c (classify_argument): Properly compute word size of the analyzed object.
15273
15274 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
15275
15276         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15277         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
15278         accordingly.
15279         (attribute insn_class): Provide default definitions based on type.
15280         Remove all insn-specific settings.
15281         (various function units): Remove old SH4 scheduling.
15282         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15283         New attributes.  Set them where appropriate.
15284         (cpu unit FS): Don't define / use.
15285         (F3, load_store): New cpu units.
15286         (F01): New reservation.
15287         (all insn_reservations): Make dependent on sh4 pipeline model.
15288         Fix latencies.
15289         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15290         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15291         (mt insn_reservation): Use type mt_group.
15292         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15293         sh4_fload and sh4_store.
15294         (insn_reservation branch_zero and branch): Replace with sh4_branch.
15295         (insn_reservation branch_far): Replace with sh4_return.
15296         (insn_reservation return_from_exp): Rename to:
15297         (sh4_return_from_exp).  Change to be just d_lock*5.
15298         (insn_reservation lds_to_pr): Rename to:
15299         (sh4_lds_to_pr).  Change to be just d_lock*2.
15300         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15301         d_lock*2.
15302         (insn_reservation prload_mem): Rename to:
15303         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
15304         (insn_reservation fpscr_store): Rename to:
15305         (fpscr_load).  Change to d_lock,nothing,F1*3.
15306         (insn_reservation fpscr_store_mem): Rename to:
15307         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
15308         (insn_reservation multi): Change to
15309         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15310         (insn_reservation fp_arith): Change to issue,F01,F2.
15311         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15312         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15313         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15314         (insn_reservation fp_double_cmp): Change to
15315         d_lock,(d_lock+F01),F1+F2,F2.
15316         (insn_reservation dp_div): Change to
15317         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15318         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15319         (sh_adjust_cost, SHcompact): Differentiate between different
15320         kinds of dependencies.  Drop factor of ten for superscalar.
15321         Use new instruction types.  Add new exception rules.
15322
15323         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15324
15325         * sh.md (mperm_w): Add DONE.
15326
15327 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
15328
15329         * longlong.h: Import current PowerPC defintion from GMP-4.1.
15330
15331         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15332
15333         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15334
15335 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15336
15337         * sh.h (MAX_FIXED_MODE_SIZE): Define.
15338
15339 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
15340
15341         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
15342         delimiter.
15343
15344 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15345
15346         * c-common.c (cpp_define_data_format): New function.
15347         (cb_register_builtins): Call it.
15348
15349         * doc/cpp.texi (Common Predefined Macros): Document
15350         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
15351         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
15352         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
15353         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
15354         __TARGET_USES_VAX_H_FLOAT__.
15355
15356 2002-08-26  Ziemowit Laski <zlaski@apple.com>
15357
15358         * objc/objc-act.c (get_super_receiver): If inside a class method
15359         of a category, cast the receiver to 'id' before accessing the 'isa'
15360         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
15361
15362 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
15363
15364         * config/s390/s390-protos.h (s390_function_prologue,
15365         s390_function_epilogue): Remove.
15366         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
15367         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
15368
15369         config/s390/s390.c (s390_machine_dependent_recorg): New function.
15370         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
15371         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
15372         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
15373         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
15374
15375         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
15376         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
15377         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
15378         function is not a leaf function.  Use save_gprs and restore_gprs.
15379         (s390_emit_epilogue): Likewise.
15380         (save_gprs, restore_gprs): New functions.
15381         (struct s390_frame): Remove return_reg_saved_p member.
15382         (save_fprs_p): Remove.
15383         (s390_optimize_prolog): New function.
15384         (s390_legitimate_reload_constant): Remove now unnecessary check.
15385
15386         (s390_function_count): Remove.
15387         (s390_output_symbolic_const): Replace s390_function_count by
15388         current_function_funcdef_no.
15389         (s390_output_constant_pool): Likewise.
15390
15391         (legitimize_pic_address): Use regs_ever_live to track PIC register
15392         instead of current_function_uses_pic_offset_table.
15393         (s390_emit_prologue): Likewise.
15394         config/s390/s390.md ("call", "call_value"): Likewise.
15395
15396 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
15397
15398         * c-opts.c (find_opt): Don't complain about wrong languages
15399         here.  Return exact matches even for wrong language.
15400         (c_common_decode_option): Complain about wrong languages
15401         here.
15402
15403 2002-08-24  Stuart Hastings  <stuart@apple.com>
15404
15405         * function.h (struct function): Add flag
15406         all_throwers_are_sibcalls.
15407         * except.c (set_nothrow_function_flags): Replaces
15408         nothrow_function_p. Set new flag.
15409         * except.h (set_nothrow_function_flags): Replaces
15410         nothrow_function_p.
15411         * dwarf2out.c (struct dw_fde_struct): Add flag
15412         all_throwers_are_sibcalls.
15413         (output_call_frame_info): Test it.
15414         (dwarf2out_begin_prologue) Propagate it from cfun to
15415         dw_fde_struct.
15416         * toplev.c (rest_of_compilation): Update calls to
15417         nothrow_function_p.
15418
15419 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
15420
15421         * ggc-page.c (compute_inverse): Short circuit calculation for
15422         object sizes larger than half a page.
15423
15424 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15425
15426         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15427         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15428         default.
15429         (rs6000_elf_unique_section): Likewise.
15430
15431 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15432
15433         * ns32k.c (ns32k_globalize_label): Delete.
15434         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15435
15436 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15437
15438         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15439         for loading delta with num_insns_constant_wide.  Calculate
15440         delta_low, delta_high without using a conditional.
15441
15442 2002-08-22  Jason Merrill  <jason@redhat.com>
15443
15444         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15445         * c-common.def: Adjust.
15446         * c-dump.c (c_dump_tree): Adjust.
15447         * c-semantics.c (genrtl_return_stmt): Adjust.
15448         * c-pretty-print.c (pp_c_statement): Adjust.
15449         * tree-inline.c (copy_body_r): Adjust.
15450
15451 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15452
15453         * ggc-page.c: Avoid division in ggc_set_mark.
15454         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15455         compute_inverse): New.
15456         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15457         (init_ggc): Initialize inverse_table.
15458
15459 2002-08-22  Tom Tromey  <tromey@redhat.com>
15460
15461         * doc/install.texi (Configuration): Document --datadir.
15462
15463 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15464
15465         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15466
15467 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15468
15469         * gengtype-lex.l (ID): Allow underscore as first character.
15470
15471 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15472
15473         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15474         function.
15475         (rs6000_xcoff_asm_named_section): Rename.
15476         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15477
15478 2002-08-21  Tom Tromey  <tromey@redhat.com>
15479
15480         For PR java/6005 and PR java/7611:
15481         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15482         (fold): Likewise.
15483         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15484         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15485         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15486         (LANG_HOOKS_INITIALIZER): Use it.
15487         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15488         field.
15489
15490 2002-08-21  Stan Shebs  <shebs@apple.com>
15491
15492         * tree.c (finish_vector_type): Fix a typo in a comment.
15493         * Makefile.in: Fix "the the" stutters in comments.
15494         * genautomata.c: Ditto.
15495         * ifcvt.c: Ditto.
15496         * regrename.c: Ditto.
15497         * config/alpha/alpha.c: Ditto.
15498         * config/alpha/vms-crt0-64.c: Ditto.
15499         * config/alpha/vms-crt0.c: Ditto.
15500         * config/alpha/vms-psxcrt0-64.c: Ditto.
15501         * config/alpha/vms-psxcrt0.c: Ditto.
15502         * config/d30v/d30v.h: Ditto.
15503         * config/fr30/fr30.h: Ditto.
15504         * config/rs6000/rs6000.c: Ditto.
15505         * config/stormy16/stormy16.h: Ditto.
15506         * doc/md.texi: Ditto.
15507
15508 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15509
15510         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15511
15512 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15513
15514         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15515         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15516         Also make duplicate modifiers such as "short short" into hard
15517         errors.
15518
15519 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15520             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15521
15522         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15523         to the actual end.  Add '@end table' and '@table @code'.
15524
15525 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15526
15527         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15528
15529         * unroll.c (biv_total_increment): Don't try to compute the total
15530         increment for FP BIVs.
15531
15532 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15533
15534         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15535         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15536         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15537         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15538         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15539         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15540         (GLOBAL_ASM_OP): Define.
15541         * arm.c (aof_globalize_label): New function.
15542         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15543         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15544         * c4x.c (c4x_globalize_label): New function.
15545         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15546         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15547         (GLOBAL_ASM_OP): Define.
15548         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15549         * darwin-protos.h (darwin_globalize_label): Declare.
15550         * darwin.c (darwin_globalize_label): New function.
15551         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15552         (ASM_GLOBALIZE_LABEL): Delete.
15553         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15554         * dsp16xx.c (asm_output_common): Use target hook.
15555         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15556         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15557         (GLOBAL_ASM_OP): Define.
15558         * i370.c (i370_globalize_label): New function.
15559         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15560         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15561         * i386.c (ix86_asm_file_end): Use target hook.
15562         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15563         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15564         * ia64.c (ia64_asm_output_external): Likewise.
15565         * ia64/sysv4.h: Update comment.
15566         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15567         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15568         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15569         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15570         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15571         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15572         * mmix.c (mmix_asm_globalize_label): Likewise.
15573         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15574         (GLOBAL_ASM_OP): Define.
15575         * ns32k.c (ns32k_globalize_label): New function.
15576         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15577         (ASM_GLOBALIZE_LABEL): Delete.
15578         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15579         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15580         * pa.c (pa_globalize_label): New function.
15581         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15582         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15583         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15584         (GLOBAL_ASM_OP): Define.
15585         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15586         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15587         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15588         (GLOBAL_ASM_OP): Define.
15589         * v850.c (v850_output_aligned_bss): Use target hook.
15590         * vax.c (vms_globalize_label): New function.
15591         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15592         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15593         (GLOBAL_ASM_OP): Define.
15594         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15595         * doc/tm.texi: Update docs.
15596         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15597         target hook.
15598         * final.c (output_alternate_entry_point): Likewise.
15599         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15600         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15601         * output.h (assemble_global): Delete.
15602         (default_globalize_label): Declare.
15603         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15604         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15605         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15606         * target.h (gcc_target): Add globalize_label member.
15607         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15608         globalize_decl): Use target hook.
15609         (assemble_global): Delete.
15610         (default_globalize_label): New function.
15611
15612 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15613
15614         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15615
15616 2002-08-20  Devang Patel  <dpatel@apple.com>
15617         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15618
15619 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15620
15621         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15622         * arm.c (thumb_output_function_prologue): Likewise.
15623         * avr.c (print_operand): Likewise.
15624         * c4x.c (c4x_print_operand): Likewise.
15625         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15626         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15627         * cris.c (cris_target_asm_function_prologue,
15628         cris_asm_output_mi_thunk): Likewise.
15629         * h8300.c (print_operand): Likewise.
15630         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15631         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15632         * m68hc11.c (asm_print_register, print_operand,
15633         print_operand_address): Use stdio instead of asm_fprintf.
15634         (print_operand_address): Fix format specifier.
15635         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15636         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15637         asm_fprintf.
15638         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15639         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15640         * m68k.c (m68k_output_function_prologue,
15641         m68k_output_function_epilogue, print_operand): Likewise.
15642         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15643         Likewise.  Fix format specifier.
15644         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15645         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15646         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15647
15648 2002-08-15  Eric Christopher  <echristo@redhat.com>
15649             Jeff Knaggs  <jknaggs@redhat.com>
15650
15651         * config.gcc (mipsisa64sr71k-elf): New target.
15652         * config/mips/sr71k.md: New file.
15653         * config/mips/mips.md: Use it.
15654         (rot*): Add sr71k specifics.
15655         * config/mips/t-sr71k: New file.
15656         * config/mips/mips.h (sr71k): New cpu.
15657         (TARGET_SR71K): Use it.
15658         (TUNE_SR71K): Ditto.
15659         (GENERATE_BRANCHLIKELY): Ditto.
15660         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15661         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15662         * config/mips/mips.c (sr71k): New cpu.
15663         (mips_use_dfa_pipeline_interface): Use.
15664
15665 2002-08-15  Eric Christopher  <echristo@redhat.com>
15666             Richard Sandiford <rsandifo@redhat.com>
15667             Aldy Hernandez  <aldyh@redhat.com>
15668             Graham Stott    <grahams@redhat.com>
15669             Michael Meissner  <meissner@redhat.com>
15670             Gavin Romig-Koch  <gavin@redhat.com>
15671             Ken Raeburn  <raeburn@cygnus.com>
15672             Alexandre Oliva <aoliva@redhat.com>
15673
15674         * config.gcc (mips64vr-elf): New target.
15675         * config/mips/5400.md: New file.
15676         * config/mips/5500.md: Ditto.
15677         * config/mips/mips.md: Use them.
15678         (frsqrt): New.
15679         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15680         cpus.
15681         (mips_issue_rate): Use them.
15682         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15683         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15684         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15685         cpus.
15686         (TARGET_MIPSx): Use them.
15687         (TUNE_MIPSx): Ditto.
15688         (GETNATE_MULT3_SI): Ditto.
15689         (ISA_HAS_BRANCHLIKELY): Ditto.
15690         (ISA_HAS_CONDMOVE): Ditto.
15691         (ISA_HAS_NMADD_NMSUB): Ditto.
15692         (ISA_HAS_MULHI): New. Ditto.
15693         (ISA_HAS_MULS): Ditto.
15694         (ISA_HAS_MSAC): Ditto.
15695         (ISA_HAS_MACC): Ditto.
15696         (ISA_HAS_ROTR_SI): Ditto.
15697         (ISA_HAS_ROTR_DI): Ditto.
15698         (RTX_COSTS): Use.
15699
15700 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15701
15702         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15703         at head.
15704         (remove_dup_nonsys_dirs): New function.
15705         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
15706         (merge_include_chains): Remove non-system include directories from
15707         quote and bracket include chains when they duplicate equivalent system
15708         directories.
15709         * doc/cpp.texi (-I): Update.
15710         * doc/cppopts.texi (-I): Update.
15711         * doc/install.texi (--with-local-prefix): Further document usage of
15712         this option.
15713         * doc/invoke.texi (-I): Update.
15714
15715 2002-08-20  Richard Henderson  <rth@redhat.com>
15716
15717         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15718         (emit_block_move): Split out subroutines.
15719         (emit_block_move_via_movstr): New.
15720         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
15721         (emit_block_move_libcall_fn): New.  Construct function prototype for
15722         bcopy as well.
15723         (clear_storage): Split out subroutines.
15724         (clear_storage_via_clrstr): New.
15725         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15726         (clear_storage_libcall_fn): New.  Construct function prototype for
15727         bzero as well.
15728         (emit_push_insn): Use emit_block_move.
15729         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15730         (store_constructor): Likewise.
15731
15732 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15733
15734         * objc/objc-act.c (building_objc_message_expr): Rename to
15735         current_objc_message_selector.
15736
15737 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15738
15739         * objc/objc-act.c (build_ivar_chain): Remove.
15740         (objc_copy_list): Likewise.
15741         (get_class_ivars): Inline call to removed build_ivar_chain
15742         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
15743         slot; use that slot (rather than CLASS_IVARS) when accessing
15744         ivars for base classes.  Call copy_list and chainon instead of
15745         objc_copy_list.
15746         (build_private_template): Call get_class_ivars instead of
15747         build_ivar_chain.
15748         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
15749         (continue_class): Call get_class_ivars instead of
15750         build_ivar_chain.
15751         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15752         of DECL_BIT_FIELD (which may have been cleared).
15753         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15754
15755 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15756
15757         * genautomata.c (output_translate_vect, output_state_ainsn_table,
15758         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15759         in output file.
15760         (output_internal_min_issue_delay_func): Initialize variable in
15761         output file.
15762
15763 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
15764
15765         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15766         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15767
15768 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
15769             Steve Ellcey  <sje@cup.hp.com>
15770
15771         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15772         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15773         * explow.c (trunc_int_for_mode): Abort when the mode is not
15774         a scaler integer mode.
15775         * combine.c (expand_compound_operation): Don't expand Vector
15776         or Complex modes into shifts.
15777         (expand_field_assignment): Don't do bitwise arithmatic and
15778         shifts on Vector or Complex modes.
15779         (simplify_comparison): Don't call trunc_int_for_mode
15780         for VOIDmode.
15781         * recog.c (general_operand): Likewise.
15782         (immediate_operand): Likewise.
15783         (nonmemory_operand): Likewise.
15784
15785 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
15786
15787         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15788         multi-instruction SImode constant.  Add REG_EQUAL note.
15789         * config/rs6000/rs6000.md (movsi splitter): Use
15790         rs6000_emit_set_const.
15791
15792 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15793
15794         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15795         the macro test controlling its use.
15796
15797 2002-08-18  H.J. Lu  (hjl@gnu.org)
15798
15799         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15800         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15801         gnu_ld=yes.
15802         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15803         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15804         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15805         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15806         here.
15807         (cris-*-linux*): Remove setting thread_file here.
15808
15809 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
15810
15811         PR preprocessor/7602
15812         * cppinit.c (path_include): Treat the system environment
15813         variables as being cxx_aware.
15814
15815 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
15816
15817         * c-decl.c (flexible_array_type_p): New function.
15818         (grokdeclarator, finish_struct): Use it.
15819         * doc/extend.texi: Document constraints on use of structures with
15820         flexible array members.
15821
15822 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
15823
15824         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15825         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15826         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15827
15828 2002-08-16  Stan Shebs  <shebs@apple.com>
15829
15830         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15831         for ObjC with -fnext-runtime.
15832         * doc/cpp.texi: Document it.
15833
15834 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
15835
15836         * doc/install.texi (Final installation): Replace links to individual
15837         build status pages with a link to a common page that lists them all.
15838
15839 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
15840
15841         * doc/invoke.texi: Fix typo.
15842
15843 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
15844
15845         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15846
15847 2002-08-16  Andrew Haley  <aph@redhat.com>
15848
15849         * tree-inline.c: Add includes for Java inliner.
15850         (remap_decl): Don't handle anonymous types for Java.
15851         (remap_block): Add handling for Java trees.
15852         (copy_scope_stmt): Conditionalize for non-Java use only.
15853         (copy_body_r): Handle Java trees.  Add handling for
15854         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15855         (initialize_inlined_parameters):  Handle Java trees.
15856         (declare_return_variable): Likewise.
15857         (expand_call_inline): Handle Java trees.
15858         (walk_tree): Likewise.
15859         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15860         (add_stmt_to_compound): New function.
15861
15862 2002-08-15  Richard Henderson  <rth@redhat.com>
15863
15864         * Makefile.in (LOOSE_WARN): Remove -fno-common.
15865         (NOCOMMON_FLAG): New substitution point.
15866         (GCC_WARN_CFLAGS): Include it.
15867         * configure.in (ac_checking): Set nocommon_flag.
15868         (nocommon_flag): New substitution point.
15869
15870 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
15871
15872         * c-tree.h (skip_evaluation): Move declaration...
15873         * c-common.h: ... here.
15874         * c-typeck.c (build_external_ref): Don't assemble_external nor
15875         mark a tree as used if skip_evaluation is set.
15876         * c-parse.in (typeof): New non-terminal to set skip_evaluation
15877         around TYPEOF.
15878         (typespec_nonreserved_nonattr): Use it.
15879
15880 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
15881
15882         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15883         (xcoff_debug_hooks): Update end_prologue.
15884         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15885         * debug.h (end_prologue): Add file arg.
15886         (end_epilogue): Add line and file args.
15887         (dwarf2out_end_epilogue): Add line and file args.
15888         (vmsdbgout_after_prologue): Remove.
15889         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15890         (dwarf2_debug_hooks): Update end_prologue.
15891         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15892         (dwarfout_end_prologue): Add file arg.
15893         * final.c (vmsdbgout_after_prologue): Remove
15894         (final_end_function): Update end_epilogue call.
15895         (final_scan_insn): Update end_prologue call.
15896         * sdbout.c (sdbout_end_epilogue): Add line and file args.
15897         (sdbout_end_prologue): Add file arg.
15898         (sdb_debug_hooks): Update end_prologue.
15899         (sdb_begin_prologue): Update sdbout_end_prologue call.
15900         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15901         vmsdbgout_end_function.
15902         (vmsdbgout_end_prologue): New function renamed from
15903         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15904         (vmsdbgout_end_function): New function.
15905         (vmsdbgout_end_epilogue): Add line and file args. Call
15906         vmsdbgout_source_line.
15907         (write_pclines): Write only valid line numbers.
15908         (write_srccorr): Don't write source correlation records if 0 lines.
15909         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15910
15911 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
15912
15913         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15914         (_Unwind_Internal_Ptr): 32 bit version for use in
15915         read_encoded_value_with_base.
15916         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15917         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15918         right size.
15919
15920 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15921
15922         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15923         signed/unsigned warnings.
15924
15925         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15926         record_reg_classes): Likewise.
15927
15928         * reload.c (reload_inner_reg_of_subreg, push_reload,
15929         find_reloads_address_1): Likewise.
15930
15931 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
15932
15933         * rs6000.c (output_mi_thunk): Return to function section on
15934         TARGET_ELF.
15935
15936         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15937
15938 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
15939
15940         * config/s390/s390.c (legitimize_address): Optimize loading
15941         of large displacements.
15942
15943 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
15944
15945         * config/alpha/alpha-protos.h: Update.
15946
15947         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15948         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15949         (alpha_linkage_symbol_p): New static function.
15950         (print_operand_address): Print linkage operand.
15951
15952         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15953         variables.
15954         (reloc_kind): New enum.
15955         (struct alpha_funcs): New struct.
15956         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15957
15958         (alpha_need_linkage): Rewrite.
15959         (alpha_use_linkage): New global function.
15960         (alpha_write_linkage): Rewrite and make static.
15961         (alpha_write_one_linkage): Rewrite
15962
15963         (alpha_start_function): Remove procedure descriptor output.
15964         (alpha_end_function): Write linkages at end of each function.
15965
15966         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15967         (call_vms_1, call_value_vms_1): Rewrite.
15968
15969         * config/alpha/vms.h (ASM_FILE_END): Remove.
15970
15971 2002-08-14  Richard Henderson  <rth@redhat.com>
15972
15973         * ggc-page.c (RTL_SIZE): New.
15974         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15975         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15976
15977 2002-08-14  Richard Henderson  <rth@redhat.com>
15978
15979         * calls.c: Include target.h.
15980         * Makefile.in (calls.o): Update.
15981
15982         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15983         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15984
15985 2002-08-14  Richard Henderson  <rth@redhat.com>
15986
15987         * Makefile.in (LOOSE_WARN): Add -fno-common.
15988         * c-common.h (constant_string_class_name): Add missing extern.
15989
15990 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
15991
15992         PR preprocessor/7358
15993         * c-opts.c (check_deps_environment_vars): Ignore main file
15994         for SUNPRO_DEPENDENCIES.
15995         * cppfiles.c (stack_include_file): Ignore main file if
15996         appropriate.
15997         * cpplib.h (struct cpp_options): New member in deps.
15998         * doc/cppenv.texi: Update.
15999
16000 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16001
16002         PR preprocessor/7526
16003         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16004
16005 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
16006
16007         * doc/invoke.texi (-a): Remove documentation.
16008         (-fprofile-arcs): Remove reference to -a, -ax options.
16009         * doc/gcov.texi (Gcov Data Files): Data might be merged.
16010
16011 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16012
16013         Fix PR/7566
16014         * c-semantics.c (genrtl_case_label): Don't (mis)use
16015         warning_with_decl.
16016
16017 2002-08-14  Dale Johannesen  <dalej@apple.com>
16018
16019         * explow.c (emit_stack_restore):  Emit memory clobbers
16020         preceding the stack pop, to prevent the scheduler from
16021         moving refs to variable arrays below this pop.
16022         * reload1.c (reload):  Preserve these clobbers for sched2.
16023         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
16024
16025 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16026
16027         * c-opts.c (c_common_post_options): Correct test.
16028
16029 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16030
16031         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16032         order in call to fprintf.
16033
16034 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16035
16036         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16037
16038 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
16039
16040         * reload.c (find_reloads): Handle constraint letters marked by
16041         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16042         (alternative_allows_memconst): Likewise.
16043         * reload1.c (maybe_fix_stack_asms): Likewise.
16044         * recog.c (asm_operand_ok, preprocess_constraints,
16045         constrain_operands): Likewise.
16046         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16047         * local-alloc.c (block_alloc, requires_inout): Likewise.
16048         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16049
16050         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16051         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16052         * doc/tm.texi: Document these two new target macros.
16053
16054         * config/s390/s390.c (s390_expand_plus_operand): Accept already
16055         valid operands.
16056         (q_constraint): New function.
16057         config/s390/s390-protos.h (q_constraint): Declare it.
16058         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16059         (EXTRA_MEMORY_CONSTRAINT): New macro.
16060
16061         * config/s390/s390.md: Throughout the machine description,
16062         replace all instances of the constraint combinations 'Qo'
16063         or 'oQ' with simply 'Q'.
16064
16065 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16066
16067         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16068         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16069         (LIBGCC2_CFLAGS): Compile with -mrelax.
16070
16071 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16072
16073         * doc/invoke.texi: Document -minmax for 68HC12.
16074
16075         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16076         ("uminqi3"): Likewise.
16077         ("uminhi3", "umaxhi3"): Likewise.
16078
16079         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16080         (TARGET_MIN_MAX): Define.
16081         (TARGET_SWITCHES): New option -minmax/-mnominmax.
16082
16083 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16084
16085         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16086         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16087
16088         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16089         (ret, declare, farsym): New gas macros.
16090         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16091         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16092         and declare the symbol far when compiled with -mlong-calls.
16093         (__far_trampoline): New for 68HC12 trampoline code to invoke a
16094         far handler using jsr/bsr.
16095
16096         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16097         (jsr): New macro to transform a 'jsr' into a 'call'.
16098
16099 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16100
16101         * doc/invoke.texi: Document -mlong-calls for 68HC12.
16102
16103         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16104         -mlong-calls is specified.
16105         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
16106         assembler directives.
16107         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16108         (TARGET_SWITCHES): Add -mlong-calls options.
16109         (current_function_far): Declare.
16110
16111         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16112         into account the page register saved on the stack.
16113         (m68hc11_override_options): Take into account -mlong-calls option.
16114         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16115
16116         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16117         if the function is going to be in 68HC12 banked memory (-mlong-calls).
16118         ("*return_16bit"): Likewise.
16119         ("*return_void"): Likewise.
16120         ("call", "call_value"): Use call for a far function call.
16121
16122 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16123
16124         * toplev.c (parse_options_and_default_flags): Don't call
16125         post_options here.
16126         (general_init): Initialize GC, pools and tree hash here,
16127         instead of lang_independent_init.
16128         (lang_independent_init): Rename backend_init.
16129         (do_compile): Call post_options hook; exit early if there
16130         have been errors after switch processing.
16131         (toplev_main): Update.
16132
16133 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16134
16135         * c-pretty-print.h: Guard against multiple inclusion.
16136         Robustify macros.
16137         (pp_c_attributes): Declare.
16138         * c-pretty-print.c (pp_c_attributes): New function.
16139
16140 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16141
16142         * m68k.c (m68k_output_function_prologue,
16143         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16144         and NEWS/MOTOROLA.
16145         * genattrtab.c: Remove dpx2 comment.
16146         * libgcc2.c (__enable_execute_stack): Delete versions for
16147         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16148         sony_news/SYSTYPE_BSD.
16149         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16150         __gmicro__, __i860__, __NeXT__ and __pyr__.
16151         * rtl.h: Remove convex comment.
16152         * varasm.c: Likewise.
16153
16154 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16155
16156         * c-opts.c (lang_flags): Const-ify.
16157         * ra-build.c (undef_table): Likewise.
16158         * ra.c (eliminables): Likewise.
16159
16160 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16161
16162         * tree.h: Guard against multiple inclusion.
16163
16164 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
16165
16166         * reload1.c (reload_cse_simplify): Before checking
16167         REG_FUNCTION_VALUE_P, check REG_P.
16168
16169 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
16170
16171         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16172
16173 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16174
16175         * c-opts.c (c_common_init_options): Extra braces needed.
16176
16177 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16178
16179         * sh.c (sh_init_builtins): Add PARAMS to declaration.
16180         (sh_media_init_builtins, sh_expand_builtin): Likewise.
16181         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16182         (sh_expand_binop_v2sf): Likewise.
16183         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16184         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16185         (sh_initialize_trampoline): Likewise.
16186
16187 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
16188
16189         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16190         new condition code modes.
16191         s390.c (s390_match_ccmode_set): Handle those new CC modes.
16192         (s390_select_ccmode): Likewise.
16193         (s390_branch_condition_mask): Likewise.
16194
16195         * s390-protos.h (s390_tm_ccmode): Declare.
16196         s390.c (s390_tm_ccmode): New function.
16197         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16198
16199         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16200         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16201         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16202
16203         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16204         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
16205         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16206         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16207         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16208
16209         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
16210         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
16211         "*cmpqi_ccs_0"): Remove, replace by ...
16212         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
16213         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
16214         "*tstqi", "*tstqi_cconly"): ... these new patterns.
16215
16216         ("*cmpsidi_ccs"): Remove, replace by ...
16217         ("*cmpsi_ccs_sign"): ... this new pattern.
16218         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16219
16220         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16221         ("*cli"): ... this new pattern.
16222
16223         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16224         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16225         New patterns.
16226         ("adddi3_64"): Rename to "*adddi3_64".
16227         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16228         ("adddi3"): Adapt expander.
16229
16230         ("*addsi3_cc"): Allow "general_operand" for operand 2.
16231         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16232         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16233
16234         ("addhi3", "addqi3"): Remove, replace by ...
16235         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16236
16237         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16238         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16239         ("subdi3"): Replace by insn and splitter "*subdi3_31".
16240         ("subdi3"): New expander.
16241
16242         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16243
16244         ("subhi3", "subqi3"): Remove, replace by ...
16245         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16246
16247         ("*muldi3_sign"): New pattern.
16248         ("muldi3"): Do not clobber CC.
16249         ("mulsi3"): Likewise.
16250         ("mulsi_6432"): Likewise.
16251
16252 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16253
16254         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
16255         which can change CC0.
16256
16257 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
16258
16259         * gcse.c (adjust_libcall_notes): New function.
16260         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
16261
16262 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
16263
16264         * libgcc2.c (L_bb): Remove unneeded #includes.
16265         (__global_counters, __gthreads_active): Remove unused globals.
16266         (__bb_exit_func): Merge counts into files rather than appending.
16267         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16268         (ALL_CFLAGS): ... to here.
16269
16270 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16271
16272         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16273         (function_epilogue): Don't calculate function size.
16274         (ip2k_set_compare): Don't use lookup_const_double.
16275         (asm_file_start): Initialization of commands_in_file removed.
16276         (asm_file_end): Output of commands_in_file removed.
16277
16278         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16279         __INT_MAX__.
16280
16281 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16282
16283         * c-opts.c (c_common_init_options): Check option array is
16284         sorted if checking enabled.
16285
16286 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
16287
16288         * c-pretty-print.c: #include "c-tree.h".
16289         (pp_c_simple_type_specifier): Tweak.
16290         (pp_c_storage_class_specifier): New.
16291         (pp_c_function_specifier): Likewise.
16292         (pp_c_declaration_specifiers): Likewise.
16293         (pp_c_init_declarator): Likewise.
16294         (pp_c_declaration): Likewise.
16295         (pp_c_direct_declarator): Stub.
16296         (pp_c_declarator): Likewise.
16297         (pp_c_parameter_declaration): Likewise.
16298
16299 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16300
16301         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16302         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16303         struct deferred_opt): New.
16304         (COMMAND_LINE_OPTIONS): Add -M*.
16305         (missing_arg): Update.
16306         (c_common_decode_option): Handle -M*.
16307         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
16308         don't call cpp_post_options.
16309         (c_common_finish, check_deps_environment_vars): Update.
16310         * cppfiles.c (stack_include_file, handle_missing_header): Update.
16311         * cpphash.h (CPP_PRINT_DEPS): Remove.
16312         * cppinit.c: Don't include version.h.
16313         (cpp_create_reader): Don't call deps_init.  Initialize
16314         warn_long_long.
16315         (cpp_read_main_file): Init deps if necessary.
16316         (cpp_destroy): Conditionally free deps.
16317         (cpp_finish): Update.
16318         (no_tgt): Remove.
16319         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16320         (cpp_post_options): Rename post_options.
16321         * cpplib.h (struct cpp_options): Remove some dependency options;
16322         move others to a new structure.
16323         (cpp_post_options): Remove.
16324         (cpp_finish): Comment.
16325         * fix-header.c (read_scan_file): Don't call cpp_post_options.
16326
16327 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16328
16329         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16330         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16331         MMIX_rR_REGNUM as clobbered.
16332         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16333
16334 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
16335
16336         * diagnostic.h (output_formatted_scalar): Rename from
16337         output_formatted_integer.
16338         * diagnostic.def: Add DK_DEBUG.
16339         * diagnostic.c (output_decimal): Adjust.
16340         (output_long_decimal): Likewise.
16341         (output_unsigned_decimal): Likewise.
16342         (output_octal): Likewise.
16343         (output_long_octal): Likewise.
16344         (output_hexadecimal): Likewise.
16345         (output_long_hexadecimal): Likewise.
16346         * c-pretty-print.c (pp_c_type_specifier): New function.
16347         (pp_c_specifier_qualifier_list): Likewise.
16348         (pp_c_abstract_declarator): Likewise.
16349         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
16350
16351 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
16352
16353         * doc/trouble.texi (Disappointments): Add static constructor and
16354         destructor dependency information for AIX.
16355
16356 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16357
16358         * cpphash.h (struct printer): New from cppmain.c.
16359         (cpp_reader): New member.
16360         * cppmain.c (struct printer): Move to cpphash.h.
16361         (options, print): Remove.
16362         (account_for_newlines, print_line, maybe_print_line,
16363         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
16364         scan_translation_unit_trad, cb_line_change, cb_ident,
16365         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
16366         cb_def_pragma): Make reentrant.
16367
16368 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16369
16370         * real.c (ieee_64): Always define.
16371         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16372         (dec_h): Not used yet, hide it.
16373         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
16374         macro controlling use.
16375         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16376
16377 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16378
16379         * i386.md (tablejump): Sign extend the operand.
16380         * i386.c (classify_argument): Fix missed case from previous patch.
16381
16382 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16383
16384         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
16385         to c-copts.c.
16386         (warn_multichar): Die.
16387         (cb_register_builtins): Export.
16388         * c-common.h (warn_multichar, preprocess_file): Remove.
16389         (cb_register_builtins): New.
16390         * c-lang.c (c_init): Remove.
16391         (LANG_HOOKS_INIT): Use c_objc_common_init.
16392         * c-lex.c (init_c_lex): Don't canonicalize filename.
16393         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
16394         (preprocess_file): Make static.  Update for cpplib.
16395         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
16396         (c_common_post_options): Set some cpp options here.
16397         (c_common_init): Move from c-common.c.
16398         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
16399         * cpplib.h (struct cpp_options): Remove in_fname.
16400         (cpp_preprocess_file): Update.
16401         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
16402
16403 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16404
16405         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
16406
16407 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16408
16409         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
16410         backslash in comment preceeding macro definition.
16411         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
16412         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
16413         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
16414
16415 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16416
16417         * expr.c (store_expr): In condition for checking if value is
16418         generated in TARGET, move call to expr_size last.
16419
16420 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16421
16422         * c-common.c (c_common_init): Call preprocess_file instead.
16423         (c_common_finish): Move to c-opts.c.
16424         * c-common.h (preprocess_file): new.
16425         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16426         check_deps_environment_vars, c_common_finish): New.
16427         (c_common_decode_option): Update for out_fname and dependencies.
16428         * cppinit.c (init_dependency_output, output_deps): Remove.
16429         (cpp_destroy): Update prototype.
16430         (cpp_add_dependency_target): New.
16431         (cpp_read_main_file): Don't overlay a buffer.
16432         (cpp_finish): Take a deps output stream and write deps to it.
16433         Return the error count.
16434         (cpp_post_options): Don't canonicalize out_fname, or do anything
16435         with dependencies.
16436         * cpplib.h (struct cpp_options): Remove out_fname and
16437         preprocess_only.
16438         (cpp_add_dependency_target): New.
16439         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16440         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16441         set preprocess_only.  Don't handle the output stream directly.
16442
16443 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16444
16445         * dsp16xx.c (print_operand): Fix format specifier.
16446         * dsp16xx.md: Avoid automatic aggregate initialization.
16447         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16448         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16449         integer constant modifier.
16450         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16451         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16452         guards.
16453         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16454         * v850.c (v850_select_section): Mark parameter with
16455         ATTRIBUTE_UNUSED.
16456         * global.c (global_alloc): Const-ify.
16457         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16458
16459 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16460
16461         * darwin-c.c (darwin_pragma_options): Const-ify.
16462         * darwin.c (machopic_non_lazy_ptr_name,
16463         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16464         (machopic_indirect_data_reference): Wrap variables in macros
16465         controlling their use.
16466         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16467         (machopic_select_section): Use parentheses around && within ||.
16468         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16469
16470 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16471
16472         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16473         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16474         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16475         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16476         mdr_try_remove_redundant_insns, track_w_reload,
16477         mdr_try_wreg_elim): Make function static to match prototype.
16478         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16479         parameter with ATTRIBUTE_UNUSED.
16480
16481 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16482
16483         * arc.c (arc_init): Don't use ISO C style function definitions.
16484         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16485         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16486         * avr.h (progmem_section): Likewise.
16487         * h8300.c h8300_asm_insn_count): Likewise.
16488         * m32r.c (init_idents): Likewise.
16489         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16490         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16491         * xtensa.c (xtensa_build_va_list): Likewise.
16492
16493 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16494
16495         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16496         * c-opts.c (parse_option): Rename find_opt.
16497         (set_std_c99): New function.
16498         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16499         (missing_arg): Remove OPT_std_bad.  Handle -o.
16500         (c_common_decode_option): Handle input and output file names,
16501         -o and -remap.  Clean up -std= handling.
16502         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16503         (cpp_handle_option): Similarly.  Don't handle filenames.
16504
16505 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16506
16507         * i386.c (classify_argument): Fix computing of field's offsets.
16508
16509 2002-08-11  Andreas Jaeger  <aj@suse.de>
16510
16511         PR target/7531:
16512         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16513
16514 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16515
16516         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16517         reference to clk_objective_c with flag_objc.
16518         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16519         Likewise.
16520         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16521
16522 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16523
16524         * c-opts.c (set_std_cxx98, set_std_c89): New.
16525         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16526         (c_common_decode_option): Handle new switches from cppinit.c.
16527         Add -std=gnu++98.
16528         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16529         (no_arg, no_num): Remove.
16530         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16531         switches apart from -lang-objc and lang-asm.
16532         (cpp_handle_option): Similarly.
16533         * cpplib.h (cpp_set_lang): New.
16534         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16535         -std=gnu++98.
16536         * objc/lang-specs.h: Remove -ansi.
16537
16538 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16539                                Graham Stott
16540
16541         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16542         errors.
16543
16544 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16545
16546         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16547         emit_jump_insn): Fix uninitialized variable.
16548         * gcov.c (init_line_info): Likewise.
16549         * genautomata.c (transform_3): Add braces around ambiguous
16550         else.
16551         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16552         ATTRIBUTE_UNUSED.
16553         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16554         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16555         variable.
16556
16557         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16558         warnings in output files.
16559
16560 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16561
16562         * c-common.c (flag_objc): New.
16563         * c-common.h (c_language_kind): Get rid of clk_objective_c
16564         enum value.
16565         (flag_objc): New extern declaration.
16566         * c-decl.c (implicitly_declare): Call objc_check_decl
16567         instead of maybe_objc_check_decl.
16568         (finish_decl): Likewise.
16569         (grokfield): Likewise.
16570         (finish_struct): Likewise.
16571         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16572         (maybe_objc_comptypes): Rename to objc_comptypes.
16573         (maybe_building_objc_message_expr): Rename to
16574         objc_message_selector.
16575         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16576         replace with flag_objc as needed.
16577         * c-opts.c (c_common_init_options): Likewise.
16578         (c_common_decode_option): Likewise.
16579         * c-parse.in (init_reswords): Likewise.
16580         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16581         (maybe_objc_comptypes): Rename to objc_comptypes.
16582         (maybe_building_objc_message_expr): Rename to
16583         objc_message_selector.
16584         * c-typeck.c (comptypes): Call objc_comptypes instead of
16585         maybe_objc_comptypes, and/or objc_message_selector instead of
16586         maybe_building_objc_message_expr.
16587         (comp_target_types): Likewise.
16588         (convert_for_assignment): Likewise.
16589         (warn_for_assignment): Likewise.
16590         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16591         independently of those for other languages.
16592         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16593         (maybe_objc_check_decl): Delete.
16594         (maybe_building_objc_message_expr): Rename to
16595         objc_message_selector.
16596         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16597         clk_objective_c; set flag_objc flag.
16598
16599 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16600
16601         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16602
16603 2002-08-09  Dale Johannesen  <dalej@apple.com>
16604
16605         * config/rs6000/rs6000.md: Add sibcall patterns.
16606         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16607         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16608         Rewritten to handle sibcalls.
16609         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16610         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16611
16612 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16613
16614         * profile.c (da_file_name): New static var.
16615         (init_branch_prob): Initialize it.
16616         (end_branch_prob): Remove da file.
16617
16618         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16619         * configure.in (coverage_flags): Default to nothing.
16620         * configure: Rebuilt.
16621
16622 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16623
16624         * Makefile.in (c-opts.o): Update
16625         * c-opts.c: Include intl.h.
16626         (print_help): Move from cppinit.c.  Remove unused options.
16627         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16628         (missing_arg): Complain for switches without an argument.
16629         (c_common_decode_option): Reject missing joined arguments.
16630         Handle new switches from cppinit.c.
16631         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16632         (cpp_handle_option): Similarly.
16633         (print_help): Moved to c-opts.c.
16634         * cpplib.h (struct cpp_options): Remove help_only.
16635         * gcc.c (cpp_unique_options): Remove -$.
16636         * doc/cppopts.texi: Undocument -h.
16637
16638 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16639
16640         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16641         legitimate constant.
16642         (legitimate_pic_operand_p): Neither pic operand.
16643         (legitimate_address_p): But legitimate address.
16644         (get_thread_pointer): Generate MEM/u instead of CONST around
16645         UNSPEC_TP.
16646         (print_operand): Remove printing of UNSPEC_TP.
16647         (print_operand_address): And print it here.
16648
16649 2002-08-08  Devang Patel  <dpatel@apple.com>
16650
16651         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16652         when  -Wselector is used,if method for which selector is being
16653         created does not exist.
16654
16655 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16656
16657         * config/sh/sh.c (prepare_move_operands): Only call
16658         target_reg_operand if TARGET_SHMEDIA.
16659
16660 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16661
16662         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16663         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16664         two patches.
16665         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16666
16667 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
16668             Richard Henderson  <rth@redhat.com>
16669
16670         * emit-rtl.c (gen_rtx_REG): After reload, only return
16671         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16672
16673 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16674
16675         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16676         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16677         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16678         macro.
16679
16680 2002-08-08  Adam Nemet  <anemet@lnxw.com>
16681
16682         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16683         register.
16684         (thumb_expand_prologue): Likewise.
16685         (thumb_output_function_prologue): Likewise.
16686         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16687         the additional push of the PIC register.
16688
16689 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16690
16691         * configure.in (enable_coverage): New enable switch.
16692         * configure: Rebuilt.
16693         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16694         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16695         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16696         (mostlyclean): Remove coverage files.
16697         * doc/install.texi: Document enable_coverage.
16698
16699         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16700         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16701         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16702         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16703         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16704         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16705         files.
16706
16707 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
16708
16709         * c-opts.c (cpp_opts): New.
16710         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16711         (c_common_decode_options): Handle cpplib switches.
16712         (c_common_init_options): Set cpp_opts.
16713         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16714         (cpp_handle_option): Similarly.
16715
16716 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
16717
16718         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16719         (TARGET_ALTIVEC_ABI): Same.
16720         (TARGET_ALTIVEC_VRSAVE): Same.
16721
16722         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16723         icode not CODE_FOR_nothing.  Change switch to if.
16724
16725 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
16726
16727         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16728
16729 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16730
16731         * stor-layout.c (place_union_field): For bitfields if
16732         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16733         TYPE_USER_ALIGN.
16734
16735 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16736
16737         * pa.c (struct deferred_plabel): Constify name field.
16738
16739 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16740
16741         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16742
16743 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16744
16745         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16746         local_prefix are the same.
16747         * configure: Rebuilt.
16748
16749 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
16750             Richard Henderson  <rth@redhat.com>
16751
16752         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16753         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
16754         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16755         (place_field): Likewise.
16756         * config/i386/i386.c (x86_field_alignment): Don't check
16757         DECL_USER_ALIGN here.
16758         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16759         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16760         prototype.
16761         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16762         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16763         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16764         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16765         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16766         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16767
16768 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16769
16770         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16771         * c-common.c: Don't include tree-inline.h.
16772         (c_common_init_options, c_common_post_options): Move to c-opts.c.
16773         * c-common.h (c_common_decode_option): New.
16774         * c-decl.c (c_decode_option): Remove.
16775         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16776         * c-opts.c: New file.
16777         * c-tree.h (c_decode_option): Remove.
16778         * doc/passes.texi: Update.
16779         * objc/objc-act.c (objc_decode_option): Remove.
16780         * objc/objc-act.h (objc_decode_option): Remove.
16781         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16782         c_common_decode_option.
16783
16784 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
16785
16786         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16787         dependency on TARGET_DOUBLE_FLOAT.
16788
16789 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
16790
16791         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16792         overwrite callee-save registers.  Fix comment.
16793
16794 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
16795
16796         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16797         in target_flags based on ISA, if it was not set on the command
16798         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16799         support Branch Likely instructions.
16800         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16801         (TARGET_BRANCHLIKELY): Likewise.
16802         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16803         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16804         ISA_HAS_BRANCHLIKELY.
16805         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16806         * doc/invoke.texi: Document new MIPS -mbranch-likely and
16807         -mno-branch-likely options.
16808
16809 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16810
16811         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16812
16813         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16814         $(GCONFIG_H).
16815
16816 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
16817
16818         * c-decl.c (duplicate_decls): Error out for incompatible TLS
16819         declarations.
16820
16821         * testsuite/gcc.dg/tls/diag-3.c: New.
16822
16823 2002-08-06  Dale Johannesen  <dalej@apple.com>
16824
16825         * c-common.c (fname_decl): Use line number 0 for
16826         __func__, to avoid confusing debuggers.
16827
16828 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
16829
16830         * gcov.c: Tidy.
16831         (struct line_info, struct coverage): New structures.
16832         (gcov_file_name, gcov_file): Remove globals.
16833         (output_data): Take source file parameter. Fix memory leak. Break
16834         up into ...
16835         (init_line_info, output_line_info, make_gcov_file_name,
16836         accumulate_branch_counts): ... here.
16837         (calculate_branch_probs, function_summary): Adjust.
16838         (main): Adjust.
16839         (function_*): Remove global variables.
16840
16841 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16842
16843         * dwarf2out.c: Remove unused macros.
16844
16845 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16846
16847         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16848
16849 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16850
16851         * cppinit.c (struct lang_flags): Rename trigraphs std.
16852         (set_lang): Update.
16853         * cpplib.h (struct cpp_options): New member std.
16854         * cppmacro.c (_cpp_builtin_macro_text): Use std.
16855         (collect_args): Flag whether to swallow a possible future
16856         comma pasted with varargs.
16857         (replace_args): Use this flag.
16858         * doc/cpp.texi: Update varargs extension documentation.
16859
16860 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16861
16862         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16863
16864 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16865
16866         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16867         and MODE_CLASS_INT modes.
16868
16869 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16870
16871         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16872         --{enable,disable}-threads is given to configure.
16873         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16874         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16875         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16876         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16877         Remove thread_file setting here.
16878
16879 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
16880
16881         * doc/install.texi (Binaries): Update Bull Freeware URL.
16882
16883 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16884
16885         * doc/gcc.texi (Top): Rename Index to Keyword Index.
16886
16887 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
16888
16889         * gcov.c (output_data): Round to % to nearest, tweak formatting.
16890
16891 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
16892
16893         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16894         of the operands into MINUS_EXPR if code is PLUS_EXPR.
16895
16896 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
16897
16898         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16899         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16900         drectve_section): Define.
16901         * config/i386/t-interix: Replace interix.o rule with winnt.o.
16902         * config/i386/interix.c: Remove.
16903
16904 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
16905
16906         * attribs.c: Don't include obstack.h.
16907         * builtins.c: Likewise.
16908         * cfganal.c: Likewise.
16909         * cfgbuild.c: Likewise.
16910         * cfgcleanup.c: Likewise.
16911         * emit-rtl.c: Likewise.
16912         * loop.c: Likewise.
16913         * stmt.c: Likewise.
16914
16915         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16916
16917 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
16918
16919         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16920
16921 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
16922
16923         * doc/invoke.texi: Remove duplicated paragraph describing
16924         TARGET_SWITCHES.
16925
16926 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
16927
16928         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16929         * collect2.h (permanent_obstack): Delete declaration.
16930         * collect2.c (permanent_obstack): Delete definition.
16931         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
16932         * expr.c: Don't include obstack.h.
16933         (permanent_obstack): Delete declaration.
16934         * function.c: Don't include obstack.h.
16935         (permanent_obstack): Delete declaration.
16936         * integrate.c: Don't include obstack.h.
16937         (function_maybepermanent_obstack): Delete declaration.
16938         * print-tree.c (debug_tree): Use x*alloc not permalloc.
16939         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16940         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16941         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16942         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
16943         of permalloc, expralloc, perm_calloc.
16944         * tree.c (permanent_obstack): Delete definition.
16945         (init_ttree): Rename from init_obstacks.
16946         (permalloc): Delete.
16947         (perm_calloc): Delete.
16948         (dump_tree_statistics): Don't print information about
16949         permanent_obstack.
16950         * varasm.c (assemble_start_function): Use xstrdup instead of
16951         permalloc/strcpy.
16952         (assemble_variable): Likewise.
16953         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16954         permalloc.
16955         (unicosmk_add_extern): Likewise.
16956         * config/c4x/c4x.c (c4x_external_ref): Likewise.
16957         (c4x_global_label): Likewise.
16958         * config/frv/frv.c (frv_encode_section_info): Likewise.
16959         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16960         (i386_pe_record_exported_symbol): Likewise.
16961         * config/mips/mips.c (mips_output_external): Likewise.
16962         (mips_output_external_libcall): Likewise.
16963         * config/pa/pa.c: (permanent_obstack): Delete declaration.
16964         (output_call): Use ggc_strdup instead of allocating on
16965         permanent_obstack.
16966         * config/romp/romp.c: Include ggc.h.
16967         (get_symref): Don't declare permanent_obstack, use ggc_strdup
16968         intead of permanent_obstack.
16969         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16970         instead of permalloc.
16971         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16972         instead of permalloc
16973         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16974         instead of permalloc.
16975         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16976         permalloc.
16977
16978 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
16979
16980         Contribute a port developed primarily by Michael Meissner,
16981         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16982         * config.gcc: Add frv-elf target.
16983         * config/frv/cmovd.c: New file.
16984         * config/frv/cmovh.c: New file.
16985         * config/frv/cmovw.c: New file.
16986         * config/frv/frv-abi.h: New file.
16987         * config/frv/frv-asm.h: New file.
16988         * config/frv/frv-modes.def: New file.
16989         * config/frv/frv-protos.h: New file.
16990         * config/frv/frv.c: New file.
16991         * config/frv/frv.h: New file.
16992         * config/frv/frv.md: New file.
16993         * config/frv/frvbegin.c: New file.
16994         * config/frv/frvend.c: New file.
16995         * config/frv/lib1funcs.asm: New file.
16996         * config/frv/media.h: New file.
16997         * config/frv/modi.c: New file.
16998         * config/frv/t-frv: New file.
16999         * config/frv/uitod.c: New file.
17000         * config/frv/uitof.c: New file.
17001         * config/frv/ulltod.c: New file.
17002         * config/frv/ulltof.c: New file.
17003         * config/frv/umodi.c: New file.
17004         * config/frv/xm-frv.h: New file.
17005
17006         * config/frv/media.h: Removed again.
17007
17008 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17009
17010         * gcov.c (bb_file_time): New static variable.
17011         (object_directory): May also be object file.
17012         (preserve_paths): New static variable.
17013         (print_usage): Adjust.
17014         (options): Adjust.
17015         (process_args): Adjust.
17016         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17017         file. Find modification date on bb file.
17018         (read_profile): Don't rewind a NULL file.
17019         (format_hwint): New static function.
17020         (function_summary): Use format_hwint.
17021         (output_data): SOURCE_FILE_NAME is never relative to
17022         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17023         mangling. Adjust output format to make it more machine readable.
17024         * doc/gcov.texi: Document & clarify semantics.
17025
17026 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17027
17028         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17029
17030 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17031
17032         * gcc.c (cc1_options): Pass output file as auxbase when
17033         appropriate.
17034         * profile.c (init_branch_prob): FILENAME has already had ending
17035         stripped.
17036         * final.c (end_final): Likewise.
17037         * toplev.c (aux_base_name): New global.
17038         (compile_file): Pass aux_base_name to init init_branch_prob and
17039         end_final.
17040         (independent_decode_option, case 'a'): New auxinfo options.
17041         (case 'd'): Protect against mising basename.
17042         (do_compile): Initialize aux_base_name.
17043         * toplev.h (aux_base_name): New global.
17044         * doc/invoke.texi: Adjust documentation.
17045
17046 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17047
17048         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17049         of TARGET_ALIGN_DOUBLE.
17050
17051 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
17052
17053         * diagnostic.c (inform): New function.
17054         * diagnostic.h (inform): Declare.
17055
17056 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
17057
17058         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17059         (movhi_internal): Same.
17060         (movqi_internal): Same.
17061         (movdi_internal64): Same.
17062
17063         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17064
17065         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17066         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
17067         (COMMON_ASM_OP): Define.
17068         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
17069         Use ALIGN parameter.
17070         (LOCAL_COMMON_ASM_OP): Define.
17071         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
17072
17073 2002-08-03  Roger Sayle  <roger@eyesopen.com>
17074
17075         * builtins.def: Define new builtin functions exp, expf, expl,
17076         log, logf and logl (and their __builtin_* variants).
17077         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17078         Define exp_optab and log_optab.
17079         * optabs.c (init_optans): Initialize exp_optab and log_optab.
17080         * genopinit.c (optabs): Implement exp_optab and log_optab
17081         using exp?f2 and log?f2 patterns.
17082         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17083         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17084         (expand_builtin): Ignore the new builtins (and all cos and
17085         sin variants) when not optimizing.  Expand new builtins via
17086         expand_builtin_mathfn when flag_unsafe_math_optimizations.
17087
17088         * doc/extend.texi: Document new exp and log builtins.
17089         * doc/md.texi: Document new exp?f2 and log?f2 patterns
17090         (and previously undocumented cos?f2 and sin?f2 patterns).
17091
17092 2002-08-03  Jason Merrill  <jason@redhat.com>
17093
17094         * explow.c (int_expr_size): New fn.
17095         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17096         * expr.h: Declare it.
17097
17098 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
17099
17100         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17101         gengtype-* dependencies.
17102
17103 2002-08-02  Eric Christopher  <echristo@redhat.com>
17104
17105         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17106         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17107         #ifndef to #undef.
17108         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17109
17110 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
17111
17112         PR optimize/7067
17113         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17114         small if optimizing for size.
17115
17116 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
17117
17118         * configure.in (FORBUILD): Use $build_alias.
17119         * configure: Regenerated.
17120
17121 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
17122
17123         * config.gcc: Don't include mips/abi64.h in $tm_file.
17124         * hard-reg-set.h (call_really_used_regs): Declare.
17125         * config/mips/abi64.h: Remove file.
17126         * config/mips/linux.h,
17127         * config/mips/iris6.h: Don't include it.
17128         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17129         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17130         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17131         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17132         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17133         Bring across definitions from abi64.h.
17134         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17135         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17136         (struct mips_args): Use it.
17137         * config/mips/mips.c (mips_conditional_register_usage): Define.
17138
17139 2002-08-02  Jason Merrill  <jason@redhat.com>
17140
17141         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17142         * langhooks.c (lhd_expr_size): Define default.
17143         * langhooks.h (struct lang_hooks): Add expr_size.
17144         * explow.c (expr_size): Call it.
17145         * expr.c (store_expr): Don't copy an expression of size zero.
17146         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17147         to store.
17148         * Makefile.in (builtins.o): Depend on langhooks.h.
17149
17150 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17151
17152         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17153         * ra-debug.c: Include "tm_p.h".
17154         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17155
17156 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
17157
17158         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17159         when not honoring signalling NaNs.
17160         (simplify_ternary_operation): a == b has a definite value
17161         when not honoring NaNs.
17162
17163 2002-08-02  Jason Merrill  <jason@redhat.com>
17164
17165         * gdbinit.in (pct): New macro.
17166
17167 2002-08-01  Stan Shebs  <shebs@apple.com>
17168             Andreas Tobler  <toa@pop.agri.ch>
17169
17170         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17171         plays nice with Darwin headers.
17172         (_BSD_RUNE_T_DEFINED_): Likewise.
17173
17174 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17175
17176         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17177         * cppinit.c (cpp_post_options): Likewise.
17178
17179         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17180         warning about 'LL' suffix (but not 'ULL' etc) when
17181         -Wno-long-long is in effect.
17182
17183         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17184         Check for failing time()/localtime(), issue a warning, and
17185         make __TIME__ and __DATE__ expand to fallback strings.
17186
17187         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17188         and __TIME__ when the date and time cannot be determined.
17189
17190 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17191
17192         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17193
17194 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
17195
17196         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17197
17198 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17199
17200         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17201         (mipsisa64sb1el-*-elf*): Likewise.
17202         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17203         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17204         (TARGET_SB1, TUNE_SB1): New macros.
17205         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17206         -mtune flags.
17207
17208 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
17209
17210         * varasm.c (asm_emit_uninitialized): Return false if global BSS
17211         and ASM_EMIT_BSS not supported by target.
17212         (assemble_variable): Do not duplicate uninitialized logic.
17213         Fall through if asm_emit_uninitialized failed.
17214
17215 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17216
17217         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17218
17219 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17220
17221         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17222         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17223
17224         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17225         HOST_BITS_PER_WIDE_INT == 64.
17226
17227 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17228
17229         * df.c (df_insn_table_realloc): Change parameter to unsigned.
17230         * optabs.c (expand_binop): Make variable unsigned.
17231         * simplify-rtx.c (simplify_subreg): Likewise.
17232         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17233
17234 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17235
17236         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17237
17238 2002-08-01  Richard Henderson  <rth@redhat.com>
17239
17240         * toplev.c (parse_options_and_default_flags): Don't set
17241         flag_reorder_blocks for -Os.
17242
17243         * config/avr/avr.c (avr_optimization_options): Remove.
17244         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17245         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17246         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17247
17248 2002-08-01  H.J. Lu <hjl@gnu.org>
17249             Richard Henderson  <rth@redhat.com>
17250
17251         * output.h (DECL_READONLY_SECTION): Remove.
17252         (decl_readonly_section): Declare.
17253         * varasm.c (decl_readonly_section): New.
17254         (default_section_type_flags, default_select_section): Use it.
17255         * config/arm/pe.c (arm_pe_unique_section): Likewise.
17256         * config/i386/interix.c (i386_pe_unique_section): Likewise.
17257         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17258         * config/mcore/mcore.c (mcore_unique_section): Likewise.
17259         * config/mips/mips.c (mips_unique_section): Likewise.
17260
17261 2002-08-01  Richard Henderson  <rth@redhat.com>
17262
17263         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17264         refers to a subroutine parameter.
17265
17266 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
17267
17268         * varasm.c (assemble_visibility): Strip name encoding.
17269
17270 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17271
17272         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17273         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17274         when there is no frame pointer.
17275         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17276         registers properly.
17277         * config/ns32k/__unorddf2.c: New file.
17278         * config/ns32k/__unordsf2.c: New file.
17279         * config/ns32k/t-ns32k: New file.
17280         * config.gcc (ns32k-*-netbsd*): Use it.
17281
17282 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
17283
17284         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17285
17286 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17287
17288         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17289
17290 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
17291
17292         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17293
17294 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
17295
17296         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17297
17298 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17299
17300         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17301         n_sets): Removed.
17302         (expr_hash_table, set_hash_table): Type changed to ...
17303         (struct hash_table): New type.
17304         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17305         insert_expr_in_table, insert_set_in_table, compute_hash_table,
17306         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17307         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17308         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17309         (alloc_hash_table): New.
17310         (free_set_hash_table, free_expr_hash_table): Merged to ...
17311         (free_hash_table): New.
17312         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17313         (compute_hash_table_work): New.
17314         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17315         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17316         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17317         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17318         hoist_code, one_code_hoisting_pass,
17319         trim_ld_motion_mems): Altered due to changed type of hash tables.
17320
17321 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17322
17323         * final.c (output_alternate_entry_point):
17324         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17325
17326 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17327
17328         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17329         avoid ISO C style function definition.
17330
17331         * expr.c (expand_assignment): Delete unused variable.
17332
17333 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
17334
17335         * c-common.c (cb_register_builtins): Set
17336         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17337         is given, and to 0 otherwise.
17338         * combine.c (simplify_if_then_else): HONOR_NANS
17339         implies FLOAT_MODE_P.
17340
17341 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17342
17343         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
17344         (cpp_handle_option): Don't handle it.
17345         (print_help): Update.
17346         * doc/cppopts.texi: Update.
17347
17348 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17349
17350         * c-common.c (cb_register_builtins): If C++, define
17351         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
17352         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
17353 cp:
17354         * lang-specs.h: Simplify in accordance with new code in
17355         c-common.c.
17356
17357 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17358
17359         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
17360         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
17361         * c-decl.c: Move all warning and flag variables to c-common.c.
17362         * c-format.c: Move all warning variables to c-common.c.
17363         * c-tree.h: Move all warning and flag declarations to c-common.h.
17364         * objc/objc-act.c: Move all warning variables to c-common.c.
17365         (flag_warn_protocol): Rename warn_protocol.
17366
17367 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17368
17369         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
17370
17371 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
17372
17373         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
17374         .section prefix.
17375
17376 2002-07-31  Stan Shebs  <shebs@apple.com>
17377
17378         * config.gcc (i[34567]86-*-darwin*): New configuration.
17379         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
17380         defining.
17381         (TARGET_ENCODE_SECTION_INFO): Ditto.
17382         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
17383         * config/darwin.c (machopic_indirect_data_reference): Remove
17384         setting of RTX_UNCHANGING_P.
17385         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
17386         not to be applied to sums.
17387         * config/i386/t-darwin: New file.
17388         * config/i386/darwin.h: New file.
17389         * config/i386/i386.h (TARGET_MACHO): Add default definition.
17390         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
17391         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
17392         label and not the GOT add.
17393         (constant_address_p): For Mach-O, seeing a CONST is enough.
17394         (legitimate_pic_address_disp_p): Add a Mach-O case.
17395         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
17396         (legitimize_pic_address): Use generic Mach-O code to legitimize.
17397         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
17398         if outputting a difference.
17399         (ix86_output_addr_diff_elt): Add Mach-O case.
17400         (ix86_expand_move): Similarly.
17401         (ix86_expand_call): Similarly.
17402         (current_machopic_label_num): New global.
17403         (machopic_output_stub): New function.
17404         (ix86_value_regno): New function.
17405         (ix86_function_value): Use it instead of VALUE_REGNO.
17406         (ix86_libcall_value): Ditto.
17407         * config/i386/unix.h (VALUE_REGNO): Remove.
17408
17409 2002-07-31  Graham Stott  <grahas@btinternet.com>
17410
17411         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
17412         hash for LABEL_REF's.
17413
17414 2002-07-31  Graham Stott  <grahams@btinternet.com>
17415
17416         * config/rs6000/rs6000.c (spe_init_builtins,
17417         altivec_init_builtins, rs6000_common_init_builtins):
17418         Replace ANSI with K&R function def.
17419
17420 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
17421
17422         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17423         for CCFPmode.
17424
17425 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17426
17427         * config/mips/crtn.asm: Don't use __mips16 to determine the
17428         return-address offset.  Define RA to a suitable temporary
17429         register for the return address.
17430
17431 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17432
17433         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17434         constraints to 'd'.
17435
17436 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17437
17438         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17439         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17440         patch on 2002-07-29.)
17441         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17442
17443 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17444
17445         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17446         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17447         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17448         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17449         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17450         (ASM_GLOBALIZE_LABEL): Delete.
17451         (GLOBAL_ASM_OP): Define.
17452
17453         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17454
17455         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17456         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17457
17458 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17459
17460         * doc/extend.texi (Hints implementation): Document that GCC
17461         mostly ignores `register'.
17462
17463 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17464
17465         * flags.h: Declare flag_finite_math_only.
17466         Use it in definition of HONOR_NANS and
17467         HONOR_INFINITIES.
17468         * c-common.c (cb_register_builtins): Emit
17469         __FINITE_MATH_ONLY__ when flag_finite_math_only
17470         is set.
17471         * combine.c (simplify_if_then_else): If
17472         flag_finite_math_only is set, a == b has a
17473         definite value.
17474         * toplev.c: Initialize flag_finite_math_only.
17475         (set_flags_fast_math): Set it on -ffast-math.
17476         (flag_fast_math_set_p): Test it.
17477         * doc/invoke.texi: Document -ffinite-math-only.
17478
17479 2002-07-30  Richard Henderson  <rth@redhat.com>
17480
17481         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17482         (noce_process_if_block): Likewise.
17483
17484 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17485
17486         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17487         Bail out early if false_expr is NULL and we'd crash due to this.
17488         * genemit.c (gen_expand): Recognize return insns even if the return
17489         appears in a parallel.
17490         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17491         * config/fp-bit.c: Likewise.
17492         * doc/tm.texi: Document it.
17493
17494 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17495             Zack Weinberg  <zack@codesourcery.com>
17496
17497         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17498         CODE_FOR_nothing.  Change switch to if.
17499         (rs6000_expand_binop_builtin): Same.
17500         (rs6000_expand_builtin): Expand builtin if target support enabled.
17501         (rs6000_init_builtins): Init builtin if target support enabled.
17502         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17503
17504 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17505
17506         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17507
17508 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17509
17510         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17511
17512 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17513
17514         * sh.md (cond_delay_slot): New attribute.
17515         (cbranch delay): Use it for anulled-true case.
17516         (stuff_delay_slot): New pattern.
17517         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17518         delay slot insn.
17519         (gen_far_branch): Emit stuff_delay_slot pattern.
17520
17521 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17522
17523         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17524
17525 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17526
17527         * fold-const.c: Fix comment typos.
17528         * gcse.c: Likewise.
17529         * reload1.c: Likewise.
17530
17531 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17532
17533         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17534         for TARGET_SPE.
17535
17536 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17537
17538         * c-pretty-print.h (pp_c_statement): Declare.
17539         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17540         (pp_c_statement): Define.
17541
17542 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17543
17544         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17545         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17546         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17547         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17548         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17549         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17550
17551         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17552         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17553
17554 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17555
17556         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17557         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17558         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17559         (pp_c_expression): Update.
17560
17561 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17562
17563         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17564         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17565         * alpha/vms-ld.c (main): Likewise.
17566         * dsp16xx.c (double_reg_to_memory): Likewise.
17567         * mcore.c (mcore_expand_prolog): Likewise.
17568         * cppfiles.c (read_name_map): Likewise.
17569         * gensupport.c (process_rtx, identify_predicable_attribute,
17570         alter_test_for_insn): Likewise.
17571         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17572
17573 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17574
17575         * builtins.c (expand_builtin):  Change the default behavior to
17576         only issue an error if the builtin function doesn't have a
17577         fallback library call.  Remove several cases handled by the
17578         new default.
17579
17580 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17581
17582         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17583         floating point format of the target is IEEE.
17584         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17585         format of the target is DEC.
17586
17587 2002-07-29  Richard Henderson  <rth@redhat.com>
17588
17589         * unroll.c (verify_addresses): Remove.
17590         (find_splittable_givs): Never split DEST_ADDR givs.
17591
17592 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17593
17594         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17595         is exhaustive.
17596         (Files): Improve documentation on generated source files.
17597
17598         * doc/extend.texi (Translation implementation): Document what
17599         diagnostics look like.
17600         (Identifiers implementation): Document that there's normally no
17601         limit on identifier names.
17602         (Integers implementation): Document two's complement.
17603         (Hints implementation): Document that GCC honors 'inline', mostly.
17604         (Preprocessing directives implementation): Document that GCC
17605         requires the current time.
17606
17607 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17608
17609         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17610         (pp_initializer): New macro.
17611         (pp_c_initializer): Declare.
17612         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17613         (pp_c_initializer): Define.
17614         (pp_c_initializer_list): New function.
17615         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17616         VECTOR_CST, CONSTRUCTOR.
17617         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17618         IMAGPART_EXPR.
17619         (pp_c_cast_expression): Handle FLOAT_EXPR.
17620         (pp_c_assignment_expression): Handle INIT_EXPR.
17621         (pp_c_expression): Update.
17622
17623 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17624
17625         * objc/objc-act.c (objc_init): Return immediately if filename
17626         is NULL.
17627
17628 2002-07-29  Eric Christopher  <echristo@redhat.com>
17629
17630         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17631         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17632         (SDB_DEBUGGING_INFO): Undefine.
17633         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17634         (PUT_SDB_SIZE): Remove.
17635         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17636         (STARTFILE_SPEC): Add isa3264 define.
17637         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17638         * config/mips/ecoff.h: Remove. and here...
17639         * config/mips/iris3.h: and here...
17640         * config/mips/sni-svr4.h: and here...
17641         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17642         Add assembler -mmdebug options for non-dwarf debugging.
17643         * config/mips/r3900.h: Remove debug info defines.
17644         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17645         * config/mips/isa3264.h: Ditto.
17646         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17647         change.
17648         * config/mips/t-elf: Ditto.
17649         * config/mips/t-ecoff: Ditto.
17650         * config/mips/t-r3900: Ditto.
17651         * config/mips/t-iris5-6: Ditto.
17652         * config/mips/t-isa3264: Ditto.
17653         * config/mips/t-linux: Remove.
17654         * config/mips/t-netbsd: Remove.
17655         * config/mips/t-mips: New file.
17656         * config/mips/t-gofast: Ditto.
17657         * config/mips/netbsd.h: Remove unnecessary undefines.
17658         * config/mips/linux.h: Remove #include of mips.h.
17659         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17660         for ecoff. Add gofast configure option for mips.
17661
17662 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17663
17664         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17665         linker scripts use STARTUP directives consistently.
17666         * configure: Regenerate.
17667         * config.in: Regenerate.
17668         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17669         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17670         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17671         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17672         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17673         will be the same.
17674
17675 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17676
17677         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17678
17679 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17680
17681         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17682
17683 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
17684
17685         * config/rs6000/rs6000.md: Move altivec patterns from here...
17686
17687         * config/rs6000/altivec.md: ...to here.
17688
17689 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17690
17691         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17692
17693 2002-07-29  Richard Henderson  <rth@redhat.com>
17694
17695         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17696         set_mem_attributes and add BITPOS argument.  Subtract it from
17697         OFFSET when same is adjusted.
17698         (set_mem_attributes): New wrapper function.
17699         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17700         remove offset adjustment hack.
17701         * expr.h (set_mem_attributes_minus_bitpos): Declare.
17702
17703 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17704
17705         * Makefile.in (C_OBJS): Include c-pretty-print.o
17706         (c-pretty-print.o): Add depency rule.
17707         * pretty-print.h: Add more macros.
17708         * c-pretty-print.c: New file.
17709         * c-pretty-print.h: Likewise.
17710
17711 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17712
17713         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17714         constants to __ev64_s32__.
17715         (__internal_ev_mwhgsmian): Same.
17716         (__internal_ev_mwhgsmfan): Same.
17717         (__internal_ev_mwhgssfan): Same.
17718         (__internal_ev_mwhgumiaa): Same.
17719         (__internal_ev_mwhgsmiaa): Same.
17720         (__internal_ev_mwhgsmfaa): Same.
17721         (__internal_ev_mwhgssfaa): Same.
17722
17723 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
17724
17725         * varasm.c (assemble_variable): Narrow test for uninitialized
17726         without BSS target support.
17727
17728 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
17729
17730         * profile.c: Add file comment describing the overall algorithm and
17731         structures.
17732         (struct edge_info): Add comments.
17733         (struct bb_info): Add comments.
17734         * basic-block.h (EDGE_*): Add comments.
17735         * doc/gcov.texi (Gcov Data Files): Document bit flags.
17736
17737 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
17738
17739         * config/xtensa/elf.h, config/xtensa/linux.h
17740         (TARGET_OS_CPP_BUILTINS): Define.
17741         (CPP_PREDEFINES): Remove.
17742         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17743         (CPP_SPEC): Remove.
17744
17745 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
17746
17747         * gensupport.c: Include hashtab.h.
17748         (insn_elision, condition_table, hash_c_test, cmp_c_test,
17749         maybe_eval_c_test): New routines and data structures to
17750         support insn elision.
17751         (init_md_reader): Read and initialize the condition_table.
17752         (read_md_rtx): Discard insn patterns whose C test is provably
17753         always false.
17754         * gensupport.h: Declare new functions and data structures.
17755
17756         * genconditions.c, dummy-conditions.c: New files.
17757         * Makefile.in: Build genconditions; run it to construct
17758         insn-conditions.c; build that and link it into most gen*
17759         programs.
17760         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17761         (GEN): Delete, unused.
17762         (STAGESTUFF): Update.
17763
17764         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17765         CODE_FOR_nothing for all elided patterns.
17766         (main): Tweaked to support this.
17767         * genflags.c (gen_proto): Emit a static inline generator
17768         function here for all elided patterns, which simply returns
17769         NULL_RTX.
17770         (gen_insn): Do not define HAVE_xxx for elided patterns.
17771         (main): Tweaked to support this.  No need to forward-declare
17772         struct rtx_def.
17773         * genrecog.c: Do not bother emitting the C test if it's known
17774         to be true at compile time.
17775
17776 2002-07-29  Mike Stump  <mrs@apple.com>
17777
17778         * config.gcc (target_gtfiles): Initialize, as otherwise cross
17779         compilers hosted on powerpc-apple-darwin6.0 won't even build.
17780
17781 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
17782
17783         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17784         remove clobber of LR.
17785         (sibcall_insn, sibcall_value_insn): Update accordingly.
17786         (sibcall_epilogue): Remove debugging comment from assembler stream.
17787
17788 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17789
17790         * pretty-print.h: Define more macros.
17791         * diagnostic.h (output_formatted_integer): Moved from...
17792         * diagnostic.c: ... here.
17793
17794 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17795
17796         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17797
17798 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
17799
17800         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17801         arguments.  Always use ".-symbol" as expression argument.
17802         * doc/tm.texi: Update to match.  Document requirement for
17803         ".size symbol, .-symbol" to be acceptable to assembler.
17804
17805         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17806         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17807         config/i386/freebsd-aout.h, config/i386/sco5.h,
17808         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17809         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
17810
17811 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17812
17813         * Makefile.in (gengtype-lex.c): Fix error in last change.
17814
17815         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17816         backslash.
17817
17818         * Makefile.in (vmsdbgout.o): Depend on function.h.
17819
17820         * vmsdbgout.c: Include function.h.
17821
17822 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
17823
17824         * prefix.c (update_path): Don't strip single `.' path components
17825         unless stripping a later `..' component.  Exit loop as soon as
17826         a valid path is found.
17827
17828 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17829
17830         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17831         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17832         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17833         floating point unordered comparisons (e.g. __builtin_isgreater)
17834         as const, and leave the remaining GCC_BUILTINs unchanged.
17835
17836         * c-decl.c (builtin_function): No need to explicitly mark
17837         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17838
17839 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17840
17841         * Makefile.in: rtlanal.o now depends upon real.h.
17842
17843         * flags.h [flag_signaling_nans]: New flag.
17844         [HONOR_SNANS]: New macro.
17845
17846         * toplev.c [flag_signaling_nans]: Initialize to false.
17847         (f_options): Add processing for "-fsignaling-nans".
17848         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17849         (process_options): flag_signaling_nans implies flag_trapping_math.
17850
17851         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17852         when -fsignaling-nans.  First step to implementing WG14's N965.
17853
17854         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17855         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17856         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17857
17858         * simplify-rtx.c (simplify_relational_operation): Conditionalize
17859         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17860
17861         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17862         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
17863         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17864         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
17865         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17866
17867         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17868
17869 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17870
17871         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17872         * gengtype-lex.l (YY_USE_PROTOS): Undef.
17873         (YY_DECL): Define.
17874
17875 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17876
17877         * doc/invoke.texi: Document that both -fno-builtin-foo and
17878         -fno-builtin are supported by the g++ front-end.
17879
17880 2002-07-27  Stan Shebs  <shebs@apple.com>
17881
17882         * configure.in: Rename config_gtfiles to target_gtfiles.
17883         * configure: Regenerate.
17884         * doc/gty.texi: Update reference.
17885         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17886         instead of appending to it.
17887
17888 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
17889
17890         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17891         vectors are split into two registers.
17892         (function_arg): Same.
17893
17894 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
17895
17896         * pa.md (extv): Check predicates before emitting extv_32.
17897
17898 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
17899
17900         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17901         (rs6000_traceback): New var.
17902         (rs6000_override_options): Set rs6000_traceback.
17903         (rs6000_output_function_epilogue): Implement traceback options.
17904         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17905         (rs6000_traceback_name): Declare.
17906
17907         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17908         label reference when NO_PROFILE_COUNTERS.
17909
17910 2002-07-26  Jason Merrill  <jason@redhat.com>
17911
17912         * function.c (assign_parms): Handle frontend-directed pass by
17913         invisible reference.
17914
17915 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17916
17917         * doc/cppopts.texi: Update.
17918
17919 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17920
17921         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17922         warnings on assertions.
17923
17924 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17925
17926         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17927         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17928         RID_COMPL): Remove.
17929         * c-parse.in (rid_to_yy): Similarly.
17930
17931 2002-07-26  Jason Merrill  <jason@redhat.com>
17932
17933         * c-dump.c: Resurrect.
17934         * tree-dump.c: Move C-specific stuff to c-dump.c.
17935         * c-common.h: Declare c_dump_tree.
17936         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17937         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17938         (c-dump.o): New rule.
17939
17940 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
17941
17942         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17943         PowerPC64.  Replace "T" and "S" constraints with "n" when the
17944         predicate will do.  Formatting fixes.
17945         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17946         as for extzvsi_internal1.
17947
17948 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17949
17950         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17951         DERIV_END_LABEL_FMT): Remove.
17952         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17953
17954 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17955
17956         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17957         Remove.
17958
17959 2002-07-25  Stan Shebs  <shebs@apple.com>
17960
17961         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17962         local var dwarfp.
17963         (output_compiler_stub): Remove unused locals.
17964         (output_call): Always initialize line number.
17965
17966 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17967
17968         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17969         * sh.md (truncdiqi2, movqi_media): Likewise.
17970
17971 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17972
17973         * gcse.c (obstack_chunk_alloc): Remove.
17974         (gcse_alloc): Fix to count allocated bytes.
17975         * collect2.c (SYMBOL__MAIN): Remove.
17976
17977 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17978
17979         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17980         HAVE_TARGET_EXECUTABLE_SUFFIX.
17981
17982 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17983
17984         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17985         SIZE, EXPR and OFFSET.
17986
17987 2002-07-25  Richard Henderson  <rth@redhat.com>
17988
17989         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17990         in ARRAY_REF of DECL_P case.
17991
17992 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
17993
17994         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17995         description.  Document -mips32, -mips64, and the associated -march
17996         values.  Describe the "mipsN" arguments to -march.  Say that the
17997         -mipsN options are equivalent to -march.  Reword the description
17998         of default type sizes.
17999         * toplev.h (target_flags_explicit): Declare.
18000         * toplev.c (target_flags_explicit): New var.
18001         (set_target_switch): Update target_flags_explicit.
18002         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18003         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18004         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18005         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18006         * config/mips/mips.h (mips_cpu_info): New struct.
18007         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18008         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18009         (MIPS_CPP_SET_PROCESSOR): New macro.
18010         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18011         Define _MIPS_ARCH and _MIPS_TUNE.
18012         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
18013         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18014         MIPS_ISA_DEFAULT were already defined.
18015         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18016         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18017         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18018         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18019         (ABI_GAS_ASM_SPEC): Remove.
18020         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18021         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18022         Invoke %(asm_abi_default_spec) if no ABI was specified.
18023         (CC1_SPEC): Remove ISA -> register-size rules.
18024         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
18025         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18026         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18027         (mips_cpu_info_table): New array.
18028         (mips_set_architecture, mips_set_tune): New fns.
18029         (override_options): Rework to make -mipsN equivalent to -march.
18030         Detect more erroneous cases, including those removed from CC1_SPEC.
18031         Don't change the ABI based on architecture, or vice versa.
18032         Unify logic with GAS.
18033         (mips_asm_file_start): Get architecture name from mips_arch_info.
18034         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18035         (mips_parse_cpu): Take the name of the option as argument.  Handle
18036         'from-abi'.  Raise an error if the option is wrong.
18037         (mips_cpu_info_from_isa): New fn.
18038
18039 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18040
18041         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18042         (tablejump_mips162): Likewise.
18043
18044 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
18045
18046         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18047         int_mode_for_mode.
18048
18049 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
18050
18051         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
18052         complaining.
18053         * c-common.h (c_sizeof): Adjust definition.
18054         (c_alignof): Likewise.
18055         * c-tree.h (c_sizeof_nowarn): Now macro.
18056         * c-typeck.c (c_sizeof_nowarn): Remove definition.
18057
18058 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18059
18060         * c-decl.c (c_decode_option): No need to handle switches
18061         cpplib handles.
18062
18063 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
18064
18065         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18066         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18067         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
18068         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18069
18070         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18071         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18072         config/cris/aout.h, config/i386/freebsd-aout.h,
18073         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18074         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18075         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18076         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18077         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18078         config/xtensa/elf.h, config/xtensa/linux.h:
18079         Use the new macros.
18080         Where possible, remove redundant definitions of SIZE_ASM_OP,
18081         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18082
18083 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
18084
18085         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18086         TARGET_ISEL, and TARGET_FPRS.
18087
18088         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18089         -mabi=spe, -mabi=no-spe, and -misel=.
18090
18091         * config/rs6000/rs6000-protos.h: Add output_isel.
18092         Move vrsave_operation prototype here.
18093
18094         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18095         (smaxsi3): Same.
18096         (uminsi3): Same.
18097         (umaxsi3): Same.
18098         (abssi2_nopower): Disallow when TARGET_ISEL.
18099         (*ne0): Same.
18100         (negsf2): Change to expand and rename old pattern to *negsf2.
18101         (abssf2): Change to expand and rename old pattern to *abssf2.
18102
18103         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18104         fixunssfsi2.
18105
18106         Change patterns that check for TARGET_HARD_FLOAT or
18107         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18108
18109         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18110         rs6000_isel, rs6000_fprs, rs6000_isel_string.
18111         (rs6000_override_options): Add 8540 case to
18112         processor_target_table.
18113         Set rs6000_isel for the 8540.
18114         Call rs6000_parse_isel_option.
18115         (enable_mask_for_builtins): New.
18116         (rs6000_parse_isel_option): New.
18117         (rs6000_parse_abi_options): Add spe and no-spe.
18118         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18119         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18120         for TARGET_HARD_FLOAT.
18121         Add case for SPE_VECTOR_MODE.
18122         (rs6000_legitimize_reload_address): Handle SPE vector modes.
18123         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18124         vector modes.
18125         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18126         (rs6000_emit_move): Check for TARGET_FPRS.
18127         Add cases for SPE vector modes.
18128         (function_arg_boundary): Return 64 for SPE vector modes.
18129         (function_arg_advance): Check for TARGET_FPRS and
18130         Handle SPE vectors.
18131         (function_arg): Same.
18132         (setup_incoming_varargs): Check for TARGET_FPRS.
18133         (rs6000_va_arg): Same.
18134         (struct builtin_description): Un-constify mask field.  Move up in
18135         file.
18136         (bdesc_2arg): Un-constify and add SPE builtins.
18137         (bdesc_1arg): Same.
18138         (bdesc_spe_predicates): New.
18139         (bdesc_spe_evsel): New.
18140         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18141         (rs6000_expand_binop_builtin): Same.
18142         (bdesc_2arg_spe): New.
18143         (spe_expand_builtin): New.
18144         (spe_expand_predicate_builtin): New.
18145         (spe_expand_evsel_builtin): New.
18146         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18147         (rs6000_init_builtins): Initialize SPE builtins.  Call
18148         rs6000_common_init_builtins.
18149         (altivec_init_builtins): Move all non-altivec builtin code to...
18150         (rs6000_common_init_builtins): ...here.  New function.
18151         (branch_positive_comparison_operator): Allow NE code for SPE.
18152         (ccr_bit): Return correct ccr bit for SPE fp.
18153         (print_operand): Emit crnor in 'D' case for SPE.
18154         New case 't'.
18155         Add SPE code for 'y' case.
18156         (rs6000_generate_compare): Generate rtl for SPE fp.
18157         (output_cbranch): Handle SPE hard floats.
18158         (rs6000_emit_cmove): Handle isel.
18159         (rs6000_emit_int_cmove): New.
18160         (output_isel): New.
18161         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18162         64-bits for SPE.
18163         (debug_stack_info): Add SPE info.
18164         (gen_frame_mem_offset): New.
18165         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18166         Change mode of frame pointer, when saving it, to Pmode.
18167         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18168         Misc cleanups and use gen_frame_mem_offset when appropriate.
18169
18170         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18171         (TARGET_SPE_ABI): New.
18172         (TARGET_SPE): New.
18173         (TARGET_ISEL): New.
18174         (TARGET_FPRS): New.
18175         (FIXED_SCRATCH): New.
18176         (RTX_COSTS): Add PROCESSOR_PPC8540.
18177         (ASM_CPU_SPEC): Add case for 8540.
18178         (TARGET_OPTIONS): Add isel= case.
18179         (rs6000_spe_abi): New.
18180         (rs6000_isel): New.
18181         (rs6000_fprs): New.
18182         (rs6000_isel_string): New.
18183         (UNITS_PER_SPE_WORD): New.
18184         (LOCAL_ALIGNMENT): Adjust for SPE.
18185         (HARD_REGNO_MODE_OK): Same.
18186         (DATA_ALIGNMENT): Same.
18187         (MEMBER_TYPE_FORCES_BLK): New.
18188         (FIRST_PSEUDO_REGISTER): Set to 113.
18189         (FIXED_REGISTERS): Add SPE registers.
18190         (reg_class): Same.
18191         (REG_CLASS_NAMES): Same.
18192         (REG_CLASS_CONTENTS): Same.
18193         (REGNO_REG_CLASS): Same.
18194         (REGISTER_NAMES): Same.
18195         (DEBUG_REGISTER_NAMES): Same.
18196         (ADDITIONAL_REGISTER_NAMES): Same.
18197         (CALL_USED_REGISTERS): Same.
18198         (CALL_REALLY_USED_REGISTERS): Same.
18199         (SPE_ACC_REGNO): New.
18200         (SPEFSCR_REGNO): New.
18201         (SPE_SIMD_REGNO_P): New.
18202         (HARD_REGNO_NREGS): Adjust for SPE.
18203         (VECTOR_MODE_SUPPORTED_P): Same.
18204         (REGNO_REG_CLASS): Same.
18205         (FUNCTION_VALUE): Same.
18206         (LIBCALL_VALUE): Same.
18207         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18208         (SPE_VECTOR_MODE): New.
18209         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18210         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
18211         (rs6000_stack): Add spe_gp_size, spe_padding_size,
18212         spe_gp_save_offset.
18213         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18214         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18215         (SPE_CONST_OFFSET_OK): New.
18216         (rs6000_builtins): Add SPE builtins.
18217
18218         * testsuite/gcc.dg/ppc-spe.c: New.
18219
18220         * config/rs6000/eabispe.h: New.
18221
18222         * config/rs6000/spe.h: New.
18223
18224         * config/rs600/spe.md: New.
18225
18226         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18227         __SIMD__ for TARGET_SPE.
18228
18229         * config.gcc: Add powerpc-*-eabispe* case.
18230         Add spe.h to user headers for powerpc.
18231
18232 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18233
18234         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18235         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18236         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18237
18238 2002-07-24  Richard Henderson  <rth@redhat.com>
18239
18240         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18241         form when not optimizing.
18242
18243 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
18244
18245         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18246         thread_pointer_rtx as unchanging.
18247
18248 2002-07-24  Michael Matz  <matz@suse.de>
18249
18250         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18251         (free_reg): Use it.
18252
18253 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
18254
18255         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18256         pattern.
18257         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18258         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18259
18260 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18261
18262         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18263         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18264         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18265
18266 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
18267
18268         * toplev.c (rest_of_compilation): Dump loops before clobbering
18269         the structure.
18270
18271 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
18272
18273         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18274
18275 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
18276
18277         PR optimization/7291
18278         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18279         problem on x86_64.
18280
18281 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
18282
18283         * pretty-print.h: Add macros from cp/error.c
18284
18285 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18286
18287         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18288         (mask64_2_operand): Declare.
18289         (build_mask64_2_operands): Declare.
18290         (and64_2_operand): Declare.
18291         (extract_MB): Declare.
18292         (extract_ME): Declare.
18293         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
18294         CONST_DOUBLE code.
18295         (mask_operand_wrap): New insn predicate.
18296         (mask64_2_operand): Likewise.
18297         (and64_2_operand): Likewise.
18298         (build_mask64_2_operands): New function.
18299         (extract_MB): New function.
18300         (extract_ME): New function.
18301         (print_operand <case m,M>): Use extract_MB and extract_ME.
18302         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
18303         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18304         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18305         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
18306         * config/rs6000/rs6000.md (andsi3_internal3): New
18307         (andsi3_internal3+1): Enable split for powerpc64.
18308         (andsi3_internal3+2): New split.
18309         (andsi3_internal4): Renamed old andsi3_internal3.
18310         (andsi3_internal5): New.
18311         (andsi3_internal5+1): Enable split for powerpc64.
18312         (andsi3_internal5+2): New split.
18313         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18314         (anddi3): Handle 't' constraint.
18315         (anddi3+1): New split.
18316         (anddi3_internal2): Handle 't' constraint.
18317         (anddi3_internal2+1): New split.
18318         (anddi3_internal3): Handle 't' constraint.
18319         (anddi3_internal3+1): New split.
18320
18321 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18322
18323         * config/rs6000/rs6000.md: Remove scratch reg on insns using
18324         addze and similar (plus (comparison r1 r2) r3) insns.  Add
18325         missing scratch reg in one case.  Formatting fixes.
18326
18327 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
18328
18329         * cppexp.c (parse_defined): Mark macro used.
18330         * cpphash.h (struct cpp_macro): New member "used".
18331         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18332         (struct cpp_reader): New member.
18333         * cppinit.c (cpp_finish_options): Set first_unused_line.
18334         (cpp_finish): Warn of unused macros if requested.
18335         (OPT_TABLE): New switches.
18336         (cpp_handle_option): Handle them.
18337         * cpplib.c (do_undef): Warn if macro unused.
18338         (do_ifdef, do_ifndef): Mark macro used.
18339         * cpplib.h (struct cpp_options): New member.
18340         * cppmacro.c (_cpp_warn_if_unused_macro): New.
18341         (enter_macro_context): Mark macro used.
18342         (_cpp_create_definition): Mark macro unused; warn if unused
18343         when redefined.
18344         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
18345         Mark macros used.
18346         * doc/cppopts.texi: Update.
18347
18348 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18349
18350         * dwarf2out.c (SECTION_ASM_OP,
18351         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18352         * system.h (SECTION_ASM_OP): Poison.
18353         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
18354         * config/alpha/alpha-interix.h, config/mips/linux.h
18355         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18356         * config/mmix/mmix-protos.h, config/mmix/mmix.c
18357         (mmix_asm_output_define_label_difference_symbol): Remove.
18358         * config/mmix/mmix.h
18359         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18360         * doc/tm.texi: Remove documentation.
18361
18362 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
18363
18364         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
18365         (constrain_operands): Likewise.
18366         * regclass.c (record_reg_classes): Likewise.
18367         * reload.c (find_reloads): Likewise.
18368         * doc/md.texi: Likewise.
18369
18370         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
18371         * simplify-rtx.c (simplify_subreg): When converting to a non-int
18372         mode, try to convert to an integer mode of matching size first.
18373
18374         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
18375         from individual subregs, check that each subreg has been generated
18376         sucessfully.
18377
18378 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18379
18380         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
18381         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
18382         FOR_EACH_BB_IN_SBITMAP): Remove.
18383         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
18384         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
18385         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
18386         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
18387         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
18388         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
18389
18390 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18391
18392         * pretty-print.h: New file.
18393
18394 2002-07-23      Paul Koning     <pkoning@equallogic.com>
18395
18396         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
18397         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
18398         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
18399         (TARGET_G_FLOAT): Default to 0 if not defined.
18400         (ieeetoe): New, common routine to convert target format floats
18401         to internal form.
18402         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
18403         vs. others.
18404         (e113toe): Change to use ieeetoe.
18405
18406 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18407
18408         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
18409         IBM.
18410         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
18411         (e64toe): Remove special cases for DEC and IBM. Remove support for
18412         ARM_EXTENDED_IEEE_FORMAT.
18413         (e24toe): Remove special cases for DEC.
18414         (significand_size): Simplify. Indent.
18415         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
18416         (etoieee, toieee): New.
18417         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
18418         etoieee and toieee for IEEE arithmetic.
18419
18420 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18421
18422         * doc/extend.texi: Say ISO C90, not ISO C89.
18423         * doc/invoke.texi: Likewise.
18424         * doc/standards.texi: Likewise.
18425
18426 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18427
18428         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18429         Fix permutation of conversion and plus/mult.
18430         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18431         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18432         (expand_builtin_strncpy) Ditto.
18433         (expand_builtin_memset) Ditto.
18434
18435 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18436
18437         Fix PR/7363:
18438         * c-common.c (c_sizeof_or_alignof_type): New function.
18439         (c_alignof): Remove definition.
18440         * c-common.h (c_sizeof, c_alignof): Define as macros.
18441         (c_sizeof_or_alignof_type): Declare.
18442         (my_friendly_assert): Moved from cp/cp-tree.h
18443         * c-typeck.c (c_sizeof): Remove definition.
18444
18445 2002-07-23  Jan Hubicka  <jh@suse.cz>
18446
18447         * gcse.c (try_replace_reg): Use num_changes_pending.
18448         * recog.c (num_changes_pending): New function.
18449         (validate_replace_src): Use validate_repalce_src_group.
18450         (validate_replace_src_group): New.
18451         * recog.h (validate_repalce_src_group): New.
18452         (num_changes_pending): Likewise.
18453
18454 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18455
18456         * calls.c (emit_library_call_value_1): If
18457         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18458         libcall, const call nor pure call.
18459
18460 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18461
18462         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18463
18464 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18465
18466         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18467
18468 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18469
18470         * config/i386/i386.c (AT_BP): Remove.
18471
18472 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18473
18474         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18475         Default definition.
18476         * gcse.c: Don't define obstack_chunk_free.
18477         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18478         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18479         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18480         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18481         Don't define obstack macros.
18482
18483 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18484
18485         PR target/6744
18486         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18487         ASM_OPERANDS instructions.
18488
18489 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18490
18491         PR target/7361
18492         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18493         constant addresses only on 68HC12.
18494
18495 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18496
18497         * cppfiles.c (stack_include_file): Correct test of whether
18498         a dependency should be output.
18499
18500 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18501
18502         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18503
18504 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18505
18506         * arm.md (movqi): If optimizing and we can create pseudos, use
18507         a ZERO_EXTEND to load from memory, then copy the result into the
18508         target.
18509         (movhi): Likewise, but only for ARMv4.
18510
18511 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18512
18513         * ssa-ccp.c (PHI_PARMS): Remove.
18514
18515 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18516
18517         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18518         on big-endian targets.
18519
18520 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18521
18522         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18523         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18524         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18525         New formatting macros.
18526
18527         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18528
18529 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18530
18531         * rtlanal.c (subreg_regno_offset): Return correct offset for
18532         big endian paradoxical subregs.
18533
18534         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18535         if we got the wrong mode.
18536
18537         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18538         * genrecog.c (write_switch, write_cond): Use it.
18539         * genemit.c (gen_exp): Likewise.
18540
18541 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18542
18543         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18544
18545 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18546
18547         * c-decl.c (build_compound_literal): Defer compound literal decls
18548         until until file end to emit them only if they are actually used.
18549
18550 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18551
18552         * ra-build.c (check_conflict_numbers): Hide unused function.
18553         (livethrough_conflicts_bb): Avoid automatic aggregate
18554         initialization.
18555         (parts_to_webs_1): Avoid `U' integer constant modifier.
18556         (conflicts_between_webs): Wrap a variable in the macro controlling
18557         its usage.
18558         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18559         (dump_igraph, dump_graph_cost): Avoid string concatenation
18560         (dump_static_insn_cost): Avoid automatic aggregate
18561         initialization.
18562         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18563         initialization.
18564         (dump_cost): Avoid string concatenation
18565
18566 2002-07-21  Richard Henderson  <rth@redhat.com>
18567
18568         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18569         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18570
18571 2002-07-21  Richard Henderson  <rth@redhat.com>
18572
18573         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18574         that are not unrolled completely.
18575
18576 2002-07-21  Richard Henderson  <rth@redhat.com>
18577
18578         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18579         * loop.c (strength_reduce): Update.
18580         * toplev.c (rest_of_compilation): Do unrolling in the first
18581         loop pass, not the second.
18582
18583 2002-07-21  Richard Henderson  <rth@redhat.com>
18584
18585         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18586         when flag_argument_noalias == 2.
18587         * alias.c (nonoverlapping_memrefs_p): Handle that.
18588         * print-rtl.c (print_mem_expr): Likewise.
18589
18590 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18591
18592         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18593         instead of __negdi2 directly.
18594
18595 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18596
18597         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18598         * function.c (SYMBOL__MAIN): Remove definition.
18599         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18600         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18601         * profile.c (GCOV_INDEX_TO_BB): Remove.
18602         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18603         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18604
18605 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18606
18607         * c-lex.c (GET_ENVIRONMENT): Remove.
18608         * collect2.c (GET_ENV_PATH_LIST): Remove.
18609         (prefix_from_env): Use GET_ENVIRONMENT.
18610         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18611         (init_standard_includes): Use GET_ENVIRONMENT.
18612         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18613         * gcc.c (GET_ENV_PATH_LIST): Remove.
18614         (make_relative_prefix, process_command): Update.
18615         * protoize.c (GET_ENV_PATH_LIST): Remove.
18616         (do_processing): Update.
18617
18618 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18619
18620         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18621         (grokdeclarator): Likewise.
18622         * c-format.c (C_STD_NAME): Likewise.
18623         * c-lex.c (interpret_integer): Likewise.
18624         * c-typeck.c (build_array_ref): Likewise.
18625         * cpplex.c (_cpp_lex_direct): Likewise.
18626         * toplev.c (documented_lang_options): Likewise.
18627
18628 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18629
18630         * c-format.c (T99_I, T99_UI): Remove.
18631
18632 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18633
18634         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18635
18636 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18637
18638         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18639         do_local_cprop.
18640
18641 2002-07-21  Andreas Jaeger  <aj@suse.de>
18642
18643         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18644
18645 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18646
18647         Improvements for the ifcvt pass from Michael Meissner, with patches
18648         by Richard Sandiford <rsandifo@redhat.com>
18649         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18650         * ifcvt.c (cond_exec_changed_p): New static variable.
18651         (last_active_insn): New function, renamed from last_active_insn_p
18652         and changed to return the last active insn in a basic block. All
18653         callers updated.
18654         (block_fallthru): New function.
18655         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18656         IFCVT_MODIFY_INSN.  All callers updated.
18657         Return false if START or END are NULL.
18658         Handle case where we're processing an insn that is already
18659         conditional.
18660
18661         (noce_process_if_block): CE_INFO argument rather than
18662         multiple args containing the involved basic blocks.  All callers
18663         changed.
18664         (process_if_block, merge_if_block, find_if_block,
18665         cond_exec_process_if_block): Likewise.
18666
18667         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
18668         changed.
18669         Use new function last_active_insn to simplify some code.
18670         New code to handle multiple tests.
18671         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18672         cond_exec_changed_p to TRUE.
18673
18674         (process_if_block): New code to handle multiple tests.
18675         (merge_if_block): Likewise.
18676         (find_if_header): New arg PASS.  Changed to return the currently
18677         processed basic block or NULL instead of true/false. All callers
18678         changed.
18679         Call IFCVT_INIT_EXTRA_FIELDS.
18680         (block_jumps_and_fallthru_p): New function.
18681         (find_if_block): Discover opportunities to convert multiple tests.
18682         Add additional debugging output.
18683         Update the ce_info structure before returning.
18684
18685         (if_convert): Run multiple passes of if-conversion.
18686         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18687         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18688         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18689         these macros.
18690
18691 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
18692
18693         * gcse.c: Include cselib.h
18694         (constptop_register): Break out from ...
18695         (cprop_insn): ... here; kill basic_block argument.
18696         (do_local_cprop, local_cprop_pass): New functions.
18697         (one_cprop_pass): Call local_cprop_pass.
18698
18699 2002-07-20  Roger Sayle  <roger@eyesopen.com>
18700
18701         * simplify-rtx.c (simplify_relational_operation): Optimize
18702         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18703
18704 2002-07-20  Michae Matz  <matz@suse.de>
18705
18706         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18707
18708 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
18709
18710         * cppexp.c (struct op): Add token pointer.
18711         (check_promotion, CHECK_PROMOTION): New.
18712         (optab): Update.
18713         (_cpp_parse_expr): Update, use token pointer of struct op.
18714         (reduce): Warn about change of sign owing to promotion.
18715         * cppinit.c (cpp_handle_option): New warning if -Wall.
18716         * cpplib.h (struct cpp_options): New member.
18717
18718 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
18719
18720         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18721         fpu list.  Separate Power4 compare and delayed_compare.  Correct
18722         Power4 fpcompare.
18723         (fix_truncdfsi2_internal): Restore FPR preference.
18724         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18725         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
18726
18727 2002-07-19  Momchil Velikov <velco@fadata.bg>
18728
18729         * reload1.c (reload_as_needed): Duplicate oldpat.
18730
18731 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
18732
18733         PR optimization/7130
18734         * loop.h (struct loop_info): Add "preconditioned".
18735         * unroll.c (unroll_loop): Set it.
18736         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18737
18738 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
18739
18740         * rtl.def (CODE_LABEL): Remove slot 8.
18741         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18742         (LABEL_ALTERNATE_NAME): Delete.
18743         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18744         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18745
18746         * final.c (output_alternate_entry_point): New.
18747         (final_scan_insn): Use it instead of
18748         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
18749         of a case label being an alternate entry point.
18750
18751         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18752         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18753         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18754         (field deleted).
18755         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18756
18757         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18758         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18759         * doc/tm.texi: Delete documentation of
18760         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18761
18762 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18763
18764         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18765         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18766         (LINK_SPEC): Define.
18767         (STARTFILE_SPEC): Define.
18768         (ENDFILE_SPEC): Define.
18769
18770         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18771         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18772
18773         * config/mips/iris6-o32-gas.h: New file.
18774         * config.gcc (mips-sgi-irix6*o32): Use it.
18775
18776         * config/mips/t-iris5-gas: New file.
18777         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18778
18779 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
18780
18781         * cppexp.c (ALWAYS_EVAL): Remove.
18782         (optab, reduce): Always evaluate.
18783         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18784         only if not skipping evaluation.
18785
18786 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18787
18788         * config/avr/avr.c (debug_hard_reg_set): Remove.
18789
18790 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
18791
18792         * gcc.c (cpp_options): Include "%1" (cc1_spec).
18793
18794 2002-07-19  Richard Henderson  <rth@redhat.com>
18795
18796         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18797
18798 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
18799
18800         * prefix.c (update_path): Don't zap single `.' path components
18801         unless followed by another `.' and fix typo last patch.
18802
18803 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
18804
18805         * cppexp.c (cpp_num_mul): Remove unused parameter.
18806         (UNARY, BINARY, OTHER, binary_handler): Remove.
18807         (ALWAYS_EVAL): New.
18808         (optab): Update.
18809         (reduce): Refactor to a large switch, don't use a function
18810         pointer.
18811
18812 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
18813
18814         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18815
18816 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
18817
18818         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18819         (sh_expand_binop_v2sf): Likewise.
18820         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18821         (int_gpr_dest, trunc_hi_operand): New functions.
18822         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18823         trunc_hi_operand.
18824         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18825         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18826         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18827         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18828         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18829         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18830         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18831         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18832         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18833         (movsf_ie+1): Likewise.
18834         (loaddi_trunc): Use int_gpr_dest predicate.
18835         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18836         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18837         (casesi_worker_0+[12], casesi_worker): Likewise.
18838         (shcompact_preserve_incoming_args): Likewise.
18839         (mov_nop): Use any_register_operand predicate.
18840         (mperm_w0): Use trunc_hi_operand predicate.
18841
18842 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18843
18844         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18845         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18846         numbering.
18847
18848 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18849
18850         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18851
18852 2002-07-18  Richard Henderson  <rth@redhat.com>
18853
18854         PR optimization/7147
18855         * ifcvt.c (noce_get_condition): Make certain that the condition
18856         is valid at JUMP.
18857
18858 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
18859
18860         * sh.c (barrier_align, push): Shut up compiler warnings.
18861         (initial_elimination_offset,sh_media_init_builtins): Likewise.
18862         (reg_no_subreg_operand): Delete.
18863
18864 2002-07-17  Bo Thorsen  <bo@suse.de>
18865
18866         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18867         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18868         (STARTFILE_SPEC): Remove hardcoded library paths.
18869         (ENDFILE_SPEC): Likewise.
18870
18871 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
18872
18873         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
18874
18875         * gcse.c (try_replace_reg): Do not return false positives.
18876
18877 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18878
18879         * prefix.c: (update_path): Strip ".." components when prior dir
18880         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18881
18882         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18883         (ASM_OUTPUT_REG_POP): Likewise.
18884
18885 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18886
18887         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18888         adjustments to first_reg for profiling case.
18889         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18890         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18891         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18892         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18893         (ASM_OUTPUT_REG_POP): Define.
18894         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18895         (ASM_OUTPUT_REG_POP): Undef.
18896
18897 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18898
18899         * cpplib.c (do_sccs): Handle #sccs on all systems.
18900         * system.h (SCCS_DIRECTIVE): Poison.
18901         * config/darwin.h, config/freebsd.h, config/netbsd.h,
18902         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18903         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18904         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18905         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18906         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18907         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18908         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18909         Remove all references to SCCS_DIRECTIVE.
18910         * doc/cpp.texi, doc/tm.texi: Update.
18911
18912 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
18913
18914         * regrename.c (maybe_mode_change): New function.
18915         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18916
18917 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
18918
18919         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18920         suppress addition when either ct or cf are zero.
18921
18922 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
18923             Glen Nakamura <glen@imodulo.com>
18924
18925         PR optimization/6713
18926         * loop.c (loop_givs_rescan): Explicitly delete the insn that
18927         sets a non-replaceable giv after issuing the new one.
18928
18929 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18930
18931         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18932         eval_token): Clarify and correct use of "bool" variables.
18933         * cpplib.h (struct cpp_options): Similarly.
18934         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18935         * cpptrad.c (recursive_macro): Similarly.
18936
18937 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
18938
18939         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
18940         SHmedia code.
18941
18942         * sh.md (cmpgtudi_media): Remove spurious @.
18943
18944         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18945         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
18946
18947         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18948         * sh-protos.h (sh_initialize_trampoline): Declare.
18949         * sh.c (sh_initialize_trampoline): New function.
18950         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18951         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18952         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18953         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18954         * sh.md (initialize_trampoline, double_shori): New patterns.
18955         (initialize_trampoline_compact): Likewise.
18956         (shmedia32_initialize_trampoline_big): Remove.
18957         (shmedia32_initialize_trampoline_little): Likewise.
18958
18959         * sh-protos.h (binary_float_operator): Remove declaration.
18960         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18961         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18962         (unary_float_operator, sh_expand_unop_v2sf): New functions.
18963         (sh_expand_binop_v2sf): Likewise.
18964         (zero_vec_operand): Delete.
18965         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
18966         all non-shared ones.
18967         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18968         Enable nsb and byterev.
18969         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18970         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
18971         in general regs.
18972         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18973         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
18974         immediate operands.
18975         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18976         Add DF_HI_REGS.
18977         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18978         lowpart fp regs - only for big endian for now.
18979         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
18980         when FPU is in use.
18981         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18982         (LOAD_EXTEND_OP): NIL for SImode.
18983         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
18984         general and fp registers is 4.
18985         PREDICATE_CODES: Amend binary_float_operator entry.
18986         Remove zero_vec_operand.  Add unary_float_operator.
18987         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18988         subreg SET_DEST.
18989         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18990         (truncdiqi2): Do sign extension.
18991         (movsi_media, movdi_media): Allow to use r63 to an fp register.
18992         (movdf_media, movsf_media): Likewise.
18993         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18994         Collapse to one define_insn_and_split.  Allow immediate sources.
18995         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18996         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
18997         (movv4sf): Allow immediate sources.
18998         (movsf_media_nofpu+1): Don't split moves to FP registers.
18999         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19000         (movv8qi_i+3): Check against CONST0_RTX.
19001         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19002         for input and output operands.  Fix argument 3 to gen_mextr_rl.
19003         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19004         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19005         (mshf0_w, fipr, ftrv): Likewise.
19006         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
19007
19008 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
19009
19010         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19011         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
19012         * arm.c: Similarly.
19013
19014 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
19015
19016         * config/mips/mips-protos.h (mips_sign_extend): Declare.
19017         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19018         (TARGET_SWITCHES): Remove debugh.
19019         (ISA_HAS_TRUNC_W): New macro.
19020         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19021         (PREDICATE_CODES): Remove se_nonimmediate_operand.
19022         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19023         any SImode move_operand.
19024         (se_nonimmediate_operand): Remove.
19025         (mips_sign_extend): New.
19026         (mips_move_2words): Use it for sign-extended source operands.
19027         (override_options): Allow integers to be put into single FPRs.
19028         (mips_secondary_reload_class): Handle integers in float registers.
19029         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19030         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19031         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19032         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19033         (fix_truncdfdi2): Provide only a single alternative, in which the
19034         integer is in a float register.  Depend on TARGET_FLOAT64 rather
19035         than TARGET_64BIT.
19036         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19037         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19038         (movdi_internal2): Don't allow the source operand to be sign-extended.
19039         Add alternatives for float registers.
19040         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
19041         allows sign-extension.
19042         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19043         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
19044         float registers.  Remove TARGET_DEBUG_H_MODE test.
19045         (movhi_internal1): Rename to movhi_internal.  Don't check
19046         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
19047         (movqi_internal1): Rename to movqi_internal and remove
19048         TARGET_DEBUG_H_MODE dependency.
19049         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19050
19051 2002-07-16  Jim Wilson  <wilson@redhat.com>
19052
19053         * toplev.c (lang_dependent_init): Create function context for
19054         init_expr_once.
19055
19056 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
19057
19058         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19059         --gc-sections if -r.
19060         * config/cris/cris.h: Ditto.
19061
19062 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
19063
19064         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19065         the comparison directly gives a mask suppress addition when cf is
19066         zero by complementing the mask.
19067
19068 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
19069
19070         * Makefile.in: Delete references to enquire.
19071         * enquire.c: Move to contrib.
19072
19073 2002-07-16  Stan Shebs  <shebs@apple.com>
19074
19075         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19076         config/rs6000/darwin.h.
19077         (ASM_OUTPUT_SKIP): Ditto.
19078         (TEXT_SECTION_ASM_OP): Ditto.
19079         (DATA_SECTION_ASM_OP): Ditto.
19080         (ASM_APP_ON): Define.
19081         (ASM_APP_OFF): Define.
19082         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19083         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19084
19085         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
19086         (machopic_function_base_name): Declare result to be const.
19087         (machopic_non_lazy_ptr_name): Ditto.
19088         (machopic_stub_name): Ditto.
19089         * config/darwin-protos.h: Ditto for the prototypes.
19090
19091 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
19092
19093         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19094
19095 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
19096
19097         * i386.md (prefetch): Fix for 64bit mode.
19098         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19099
19100 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
19101
19102         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19103         * i386.c (x86_machine_dependent_reorg): New function.
19104         * i386-protos.h (x86_machine_dependent_reorg): Declare.
19105
19106 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
19107
19108         * builtins.c (std_expand_builtin_va_start): Remove unused
19109         first argument.
19110         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19111         std_expand_builtin_va_start with just two arguments.
19112         * expr.h: Update prototypes.
19113
19114         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19115         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19116         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19117         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19118         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19119         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19120         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19121         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19122         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
19123         argument from all implementations of EXPAND_BUILTIN_VA_START
19124         and all uses of std_expand_builtin_va_start.
19125
19126 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19127
19128         * regrename.c (copy_value): Don't record high part copies.
19129
19130 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19131
19132         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19133         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19134         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19135
19136 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19137
19138         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19139
19140         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19141         into addsi3 using register class "x" and "y".
19142
19143         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19144         "earlyclobber" constraint modifier for some alternative.
19145
19146         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19147         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19148         unordered.
19149         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19150
19151         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19152         (TARGET_SWITCHES): Add -mieee-compare option.
19153         (OVERRIDE_OPTIONS): 32332 is a subset of
19154         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
19155         (TARGET_SWITCHES): Fix description of bitfield option.
19156         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19157         -mieee-compare option. Remove 32332 flag.
19158
19159 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19160
19161         * explow.c (convert_memory_address): Remove special handling
19162         when POINTERS_EXTEND_UNSIGNED < 0.
19163         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
19164         (movedi_symbolic): Fix typo.
19165         (load_fptr): Remove mode restriction so it works for SI and DI.
19166         (load_fptr_internal1): Ditto.
19167         (load_gprel): Ditto.
19168         (load_symptr_internal1): Ditto.
19169         (call_pic): Ditto.
19170         * config/ia64.c (call_operand): Modify mode check.
19171         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19172         (ia64_expand_move): Ditto.
19173         (ia64_assemble_integer): Handle SImode function pointers.
19174         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19175         (ia64_expand_op_and_fetch): Ditto.
19176         (ia64_expand_compare_and_swap): Ditto.
19177         (ia64_expand_lock_test_and_set): Ditto.
19178         (ia64_expand_lock_release): Ditto.
19179
19180 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19181
19182         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19183
19184 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19185             Richard Earnshaw  <rearnsha@arm.com>
19186
19187         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
19188         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
19189
19190 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
19191
19192         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
19193         understands to be a memory clobber.
19194         * arm.c (arm_expand_prologue): Use it.
19195
19196 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
19197
19198         * ra-rewrite.c: #include reload.h, insn-config.h
19199         * ra-build.c: #include reload.h
19200         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
19201         depend on reload.h, insn-config.h.
19202
19203 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19204
19205         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19206         the same size as a word.
19207
19208         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19209         BYTES_BIG_ENDIAN into account.
19210
19211 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
19212
19213         * i386.md (prefetch): Fix for 64bit mode.
19214         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19215
19216         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19217
19218 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19219
19220         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19221
19222 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
19223
19224         * ginclude/varargs.h: Replace with stub which issues #error.
19225         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19226         __builtin_va_start.
19227
19228         * builtins.def (BUILT_IN_VARARGS_START): Delete.
19229         (BUILT_IN_VA_START): New.
19230         * builtins.c (expand_builtin_va_start): Eliminate first
19231         argument and code to implement pre-ISO varargs.
19232         (std_expand_builtin_va_start): Ignore first argument; it is
19233         always 1.
19234         (expand_builtin): Handle BUILT_IN_VA_START and
19235         BUILT_IN_STDARG_START identically.  Delete
19236         BUILT_IN_VARARGS_START case.
19237
19238         * function.c (assign_parms): Delete hide_last_arg and all
19239         its uses.
19240         (mark_varargs): Delete function.
19241         * function.h (struct function): Delete 'varargs' bit.
19242         (current_function_varargs): Delete macro.
19243         * tree.h: Don't declare mark_varargs.
19244
19245         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19246         (c_expand_body): Don't call mark_varargs.
19247         * c-objc-common.c: Handle BUILT_IN_VA_START and
19248         BUILT_IN_STDARG_START identically.  Delete
19249         BUILT_IN_VARARGS_START case.
19250         * c-tree.h: Don't declare c_mark_varargs.
19251         * c-parse.in: Remove grammar rules for '&...' (which has been
19252         commented out since before 2.7.2) and for '...' in K+R
19253         argument declarations.
19254
19255         * builtins.c, function.c, integrate.c, sibcall.c,
19256         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19257         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19258         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19259         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19260         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19261         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19262         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19263         config/stormy16/stormy16.c: Delete all references to
19264         current_function_varargs, and code predicated on that flag.
19265
19266         * config/alpha/alpha.c (alpha_va_start),
19267         config/arc/arc.c (arc_va_start),
19268         config/i386/i386.c (ix86_va_start),
19269         config/mips/mips.c (mips_va_start),
19270         config/mn10300/mn10300.c (mn10300_va_start),
19271         config/rs6000/rs6000.c (rs6000_va_start),
19272         config/s390/s390.c (s390_va_start),
19273         config/sh/sh.c (sh_va_start),
19274         Ignore first argument; it is always 1.
19275
19276         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19277         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19278         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19279         Delete m68hc11_va_start.
19280         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19281         No need to define EXPAND_BUILTIN_VA_START.
19282
19283         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19284         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19285
19286 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
19287
19288         PR optimization/7153
19289         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19290         dies in more than one insn.
19291
19292 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
19293
19294         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19295
19296 2002-07-15  Michael Matz  <matz@suse.de>,
19297             Daniel Berlin  <dberlin@dberlin.org>,
19298             Denis Chertykov  <denisc@overta.ru>
19299
19300         Add a new register allocator.
19301
19302         * ra.c: New file.
19303         * ra.h: New file.
19304         * ra-build.c: New file.
19305         * ra-colorize.c: New file.
19306         * ra-debug.c: New file.
19307         * ra-rewrite.c: New file.
19308
19309         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19310         (ra-rewrite.o): New .o files for libbackend.a.
19311         (GTFILES): Add basic-block.h.
19312
19313         * toplev.c (flag_new_regalloc): New.
19314         (f_options): New option "new-ra".
19315         (rest_of_compilation): Call initialize_uninitialized_subregs()
19316         only for the old allocator.  If flag_new_regalloc is set, call
19317         new allocator, instead of local_alloc(), global_alloc() and
19318         friends.
19319
19320         * doc/invoke.texi: Document -fnew-ra.
19321         * basic-block.h (FOR_ALL_BB): New.
19322         * config/rs6000/rs6000.c (print_operand): Write small constants
19323         as @l+80.
19324
19325         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19326         (df_reg_table_realloc): Make size at least as large as max_reg_num().
19327         (df_insn_table_realloc): Size argument now is absolute, not relative.
19328         Changed all callers.
19329
19330         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19331         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19332
19333         2002-06-20  Michael Matz  <matz@suse.de>
19334
19335         * df.h (struct ref.id): Make unsigned.
19336         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19337
19338         2002-06-13  Michael Matz  <matz@suse.de>
19339
19340         * df.h (DF_REF_MODE_CHANGE): New flag.
19341         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
19342         involving subregs with invalid mode changes, when
19343         CLASS_CANNOT_CHANGE_MODE is defined.
19344
19345         2002-05-07  Michael Matz  <matz@suse.de>
19346
19347         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
19348
19349         2002-05-03  Michael Matz  <matz@suse.de>
19350
19351         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
19352
19353         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
19354
19355         * regclass.c (regclass): Work with all regs which have sets or
19356         refs.
19357         (reg_scan_mark_refs): Count regs inside (clobber ...).
19358
19359         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
19360
19361         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
19362         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
19363         add new refs.
19364         (df_bb_refs_update): Don't clear insns_modified here, ...
19365         (df_analyse): ... but here.
19366
19367         * sbitmap.c (dump_sbitmap_file): New.
19368         (debug_sbitmap): Use it.
19369
19370         * sbitmap.h (dump_sbitmap_file): Add prototype.
19371
19372         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
19373
19374         * df.c (df_insn_modify): Grow the UID table if necessary, rather
19375         than assume all emits go through df_insns_modify.
19376
19377         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
19378
19379         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
19380         increase REG_N_REFS (like flow does), so that regclass doesn't
19381         think a reg is useless, and thus, not calculate a class, when it
19382         really should have.
19383
19384         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
19385
19386         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
19387         dataflow analysis.
19388
19389 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
19390
19391         PR middle-end/7245
19392         * config/i386/i386.c (const_int_1_31_operand): New.
19393         * config/i386/i386.h (PREDICATE_CODES): Add it.
19394         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
19395         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
19396         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
19397
19398 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
19399
19400         PR target/7282
19401         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
19402         (floatunssidf2): Likewise.
19403         (floatsidf_ppc64): New insn_and_split.
19404         (floatunssidf_ppc64): Likewise.
19405
19406 2002-07-14  Andreas Jaeger  <aj@suse.de>
19407
19408         * config.gcc (sh64): Remove unused
19409         target_requires_64bit_host_wide_int.
19410
19411 2002-07-12  Roger Sayle  <roger@eyesopen.com>
19412
19413         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
19414         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
19415         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
19416         whether clear_by_pieces should be used to clear storage.
19417         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
19418
19419         * doc/tm.texi: Document these two new target macros.
19420
19421 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
19422
19423         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19424         the scratch register.
19425         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19426         of it, forbid reload to use it.
19427
19428 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19429
19430         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19431         usage on 64-bit hosts, return value was truncated to 32 bits.
19432
19433 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19434
19435         * simplify-rtx.c (simplify_subreg): Handle floating point
19436         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19437         the element mode is requested, compute a subreg with an
19438         integer mode of the same size as the element mode first.
19439
19440 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19441
19442         * combine.c (try_combine): When converting a paradoxical subreg
19443         to an extension, take LOAD_EXTEND_OP into account.
19444
19445 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19446
19447         * config.gcc (mips-sgi-irix6*o32): New configuration.
19448
19449         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19450         configurations.
19451         * configure: Regenerate.
19452
19453         * config/mips/iris6-o32-as.h: New file.
19454         * config/mips/iris6-o32.h: New file.
19455
19456         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19457         (NM_FLAGS): Define.
19458         (HAVE_AS_SHF_MERGE): Undefine.
19459
19460         * config/mips/t-iris5-as: New file.
19461         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19462
19463         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19464         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19465         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19466         dp-bit.c, fp-bit.c): Move ...
19467         * config/mips/t-iris5-6: ... here.
19468         New file, shared by IRIX 5 and IRIX 6.
19469         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19470         mips-sgi-irix5*): Use it.
19471
19472         * config/mips/iris6.h: Remove duplicate comment.
19473
19474         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19475         !TARGET_IRIX6]: Define.
19476         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19477
19478         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19479
19480 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19481
19482         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19483         and delete code to force constant to register.
19484         * pa-protos.h (adddi3_operand): Add prototype.
19485         * pa.c (adddi3_operand): New function.
19486
19487 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19488
19489         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19490         non-ANSI builtin functions.
19491
19492 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19493
19494         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19495         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19496         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19497         (gen_const_vector_0): Use it.
19498
19499 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19500
19501         * pa.md (adddi3): For 32-bit targets, force constants to a register
19502         if they don't fit in an 11-bit immediate.  Change insn predicate to
19503         arith11_operand.  Remove comment.
19504         * pa.c (cint_ok_for_move): Fix comment.
19505         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19506         targets.
19507
19508 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19509
19510         Remove front end hard coding from gengtype.c.
19511
19512         * Makefile.in
19513         (STAGESTUFF): add gtyp-gen.h
19514         (GTFILES): Remove front end specific files.
19515         (GTFILES_FILES_LANGS): New, from configure..
19516         (GTFILES_FILES_FILES): Likewise.
19517         (GTFILES_LANG_DIR_NAMES): Likewise.
19518         (GTFILES_SRCDIR): Likewise.
19519         (gtyp-gen.h): Build from configure information.
19520         (s-gtype): Remove command line parameters from gengtype.
19521         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19522         (mostlyclean): Delete files generated by and for gengtype.
19523
19524         * c-config-lang.in: New file.
19525
19526         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19527         for each language.
19528         (all_gtfiles_files_files): New. Accumulate language for each file
19529         accumulated.
19530         (gtfiles): Pick up value for C.
19531         (srcdir): AC-SUBST this variable.
19532         (all_gtfiles_files_langs): AC-SUBST this variable.
19533         (all_gtfiles_files_files): AC-SUBST this variable.
19534
19535         * configure: Regenerate.
19536
19537         * gengtype-lex.l (parse_file): Make parameter const.
19538
19539         * gengtype.c (toplevel): include gtyp-gen.h.
19540         (BASE_FILE_<language> unnamed enum): Delete.
19541         (lang_names): Delete (replaced by gtyp-gen.h)
19542         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19543         all references.
19544         (NUM_GT_FILES): New.
19545         (NUM_LANG_FILES): New.
19546         (srcdir_len): New.
19547         (NUM_BASE_FILES): Change calculation.
19548         (open_base_files): Change prototype to avoid warning.
19549         (startswith): Delete.
19550         (get_file_basename): Iterate through generated language list not
19551         hard coded list.
19552         (get_base_file_bitmap): Use generated list of files and languages.
19553         (close_output_files): Add prototype to rmove warning.
19554         (main): Iterate through list of generated files from gtyp-gen.h
19555         rather than command line paramaters.  Ignore duplicated file
19556         names.
19557
19558         * gengtype.h (parse_file): Amend prototype for const parameter.
19559
19560         * doc/sourcebuild.texi: Document gtfiles variable.
19561
19562         * doc/gty.texi: Document changes to gtfiles variable for front
19563         ends.
19564
19565         * objc/config-lang.in (gtfiles): Add files needed for objc front
19566         end.
19567
19568 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19569
19570         PR c/2454
19571         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19572         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19573
19574 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19575             Zack Weinberg <zack@codesourcery.com>
19576
19577         * builtins.def: Make the argument types of abort and exit
19578         independent of the front-end.
19579
19580 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19581
19582         * config/rs6000/linux64.h (ASM_SPEC): Define.
19583
19584 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19585
19586         * config/rs6000/rs6000.c (emit_frame_save): New.
19587         (rs6000_frame_related): Replace reg2 before reg.
19588         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19589         and eh_return registers.
19590
19591 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19592
19593         Revert all patches for optimization of Complex .op. Real.
19594         * complex_part_zero_p: Remove
19595         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19596         with x.
19597         * expand_cmplxdiv_wide: Ditto.
19598         * expand_binop: Ditto.
19599
19600 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19601
19602         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19603         negative also on 64-bit hosts.
19604
19605         Default to -fno-reorder-blocks when optimizing for size.
19606         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19607         * config/avr/avr.c (avr_optimization_options): New function.
19608         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19609
19610         Optimize returning from simple functions.
19611         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19612         * config/avr/avr.c (avr_simple_epilogue): New function.
19613         * config/avr/avr.md (return): New insn.
19614
19615 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19616
19617         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19618         HAS_INIT_SECTION to protection.
19619
19620 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19621
19622         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19623         deprecated.
19624
19625 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19626
19627         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19628         Supply non-VOID mode to simplify_gen_subreg.
19629
19630 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19631
19632         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19633
19634 2002-07-10  Jeffrey A Law  <law@redhat.com>
19635
19636         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19637         as appropriate.
19638
19639         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19640         register to use.
19641
19642 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19643
19644         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19645         Get mode from dest.
19646         If simplify_gen_subreg fails, try next equivalent.
19647
19648 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19649
19650         * diagnostic.h: #include location.h
19651         (location_t): Move definition to..
19652         * location.h: ... here.  New file.
19653         * tree.h: #include location.h
19654         (DECL_SOURCE_LOCATION): New macro.
19655         (DECL_SOURCE_FILE): Use.
19656         (DECL_SOURCE_LINE): Likewise.
19657         (struct tree_decl): REplace filename and linenum with locus.
19658         * Makefile.in (TREE_H): add location.h
19659         (diagnostic.o): Depends on gt-location.h
19660         (gt-location.h): Depends on s-gtype
19661
19662 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19663
19664         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19665         TARGET_OS_CPP_BUILTINS.
19666         * config/rs6000/aix31.h: Likewise.
19667         * config/rs6000/aix41.h: Likewise.
19668         * config/rs6000/aix43.h: Likewise.
19669         * config/rs6000/aix51.h: Likewise.
19670         * config/rs6000/beos.h: Likewise.
19671         * config/rs6000/darwin.h: Likewise.
19672         * config/rs6000/eabi.h: Likewise.
19673         * config/rs6000/eabisim.h: Likewise.
19674         * config/rs6000/linux.h: Likewise.
19675         * config/rs6000/linux64.h: Likewise.
19676         * config/rs6000/lynx.h: Likewise.
19677         * config/rs6000/mach.h: Likewise.
19678         * config/rs6000/rtems.h: Likewise.
19679         * config/rs6000/sysv4.h: Likewise.
19680         * config/rs6000/vxppc.h: Likewise.
19681
19682 2002-07-09 Devang Patel <dpatel@apple.com>
19683         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19684         Do not allow ObjC objects as a parameter type for Objective-C methods.
19685         My previous patch restricted  'struct' also.
19686
19687 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
19688
19689         * cpperror.c (cpp_error): Default to directive_line within
19690         directives here.
19691         * cppexp.c (cpp_interpret_integer): Only use traditional
19692         number semantics in directives.
19693         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19694         (do_include_common): Similarly.
19695         * cpptrad.c (scan_out_logical_line): Implement accurate
19696         quoting of <> in #include.
19697         * doc/cpp.texi: Update.
19698
19699 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
19700                           J"orn Rennecke <joern.rennecke@superh.com>
19701
19702         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19703         * sh.md (attribute issues): Replace with:
19704         (attribute pipe_model).  All users changed.
19705         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19706         All users changed.
19707         (function units sh5issue, sh5fds): New.
19708         (attribute is_mac_media): New.
19709         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19710         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19711         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19712         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19713         (call_media, call_value_media, sibcall_media): Likewise.
19714         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19715         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19716         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19717         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19718         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19719         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19720         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19721         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19722         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19723         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19724         (truncdfsf2_media): Likewise.
19725         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19726         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19727
19728 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19729
19730         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19731         * sh.c (general_extend_operand, inqhi_operand): New functions.
19732         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19733         alternatives using 'N' modifier.  Add type.
19734         (adddi3z_media): Likewise.  Enable generator function generation.
19735         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19736         exact predicates / constraints.  Add type.
19737         (subsi3): Allow 0 for SHMEDIA.
19738         (udivsi3_i4_media): Use match_operand for input values
19739         rather than hard registers.
19740         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19741         unnecessarily through hard registers.  Keep copies of pseudo
19742         registers outside of the libcall sequence.
19743         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
19744         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19745         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19746         (extendhidi2, extendqidi2): Likewise.
19747         (andsi3_compact): Name.
19748         (andcdi3): Enable generator function generation.
19749         (zero_extendhisi2, zero_extendqisi2): Rename to
19750         (zero_extendhisi2_compact, zero_extendqisi2_compact).
19751         (extendhisi2, extendqisi2): Rename to
19752         (extendhisi2_compact, extendqisi2_compact).
19753         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19754         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19755         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19756         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19757         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19758         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19759         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19760         (shmedia32_initialize_trampoline_big): Likewise.
19761         (shmedia32_initialize_trampoline_little): Likewise.
19762         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19763         (negdi2): Remove spurious T clobber.
19764         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19765         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19766         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19767         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19768         (ic_invalidate_line_media): Write back data cache before invalidating
19769         instruction cache.  Add type.
19770         (movsf_media): Sign-extend when the destination is a general
19771         purpose register.  Add type.
19772         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19773         (casesi_worker_0+1): Only increment ref count for proper label.
19774         (casesi_worker_0+2): Likewise.
19775
19776 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
19777
19778         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19779
19780 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
19781
19782         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19783         from Pmode to ptr_mode.
19784         (get_exception_pointer): Ditto.
19785         (connect_post_landing_pads): Ditto.
19786         (dw2_build_landing_pads): Ditto.
19787
19788 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
19789         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19790         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19791         (handle_pragma_redefine_extname): Change to use new function.
19792
19793 2002-07-08  Roger Sayle  <roger@eyesopen.com>
19794
19795         * combine.c (combine_simplify_rtx): Add an explicit cast
19796         to avoid signed/unsigned comparison warning.
19797         (simplify_if_then_else): Likewise.
19798         (extended_count): Likewise.
19799         (simplify_shift_const): Likewise.
19800         (simplify_comparison): Likewise.
19801
19802 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
19803
19804         * config/mips/mips.md: Add imadd type.  Update scheduler description
19805         to use imadd as well as imul.
19806         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19807         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19808         (*mul_sub_si): Likewise for first alternative.  Change second
19809         alternative from imul to multi.
19810
19811 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
19812
19813         * c-common.c (c_common_post_options): Update prototype;
19814         don't init backends if preprocessing only.
19815         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19816         * langhooks.h (struct lang_hooks): Update post_options to
19817         return a boolean.
19818         * toplev.c (parse_options_and_default_flags, do_compile,
19819         lang_independent_init): Update prototypes.  Allow the
19820         front end to specify that there is no need to initialize
19821         the back end.
19822         (general_init): Move call to hex_init here...
19823         (toplev_main): ...from here.  Pass flag for back end init
19824         suppression.
19825
19826 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
19827
19828         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19829         (PREDICATE_CODES): Add entries for equality_comparison_operator,
19830         greater_comparison_operator and less_comparison_operator.
19831         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
19832         more operators.
19833         (equality_comparison_operator): New function.
19834         (greater_comparison_operator, less_comparison_operator): Likewise.
19835         * sh.md (beq_media_i): Disable generator function generation.
19836         Use match_operator to handle a whole class of comparisons.  Add
19837         modifier in output template to provide branch prediction.  Add type.
19838         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
19839         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19840         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19841         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19842
19843 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
19844
19845         Emit MMIX function prologue and epilogue as rtl.
19846         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19847         not unprototyped get_hard_reg_initial_val.
19848         ("call_value", "nonlocal_goto_receiver"): Ditto.
19849         ("return"): Make define_expand.  Move real insn to...
19850         ("*expanded_return"): New pattern.
19851         ("prologue", "epilogue"): New define_expands.
19852         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19853         (struct machine_function): New member in_prologue.
19854         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19855         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19856         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19857         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19858         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19859         (LOCAL_REGNO): Define.  Adjust comment.
19860         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19861         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19862         leaf_function_p.
19863         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19864         the prologue.
19865         (mmix_target_asm_function_prologue): Make static.  Just mark that
19866         the prologue is being emitted.  Move guts to...
19867         (mmix_expand_prologue): New function.  Adjust for emitting
19868         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
19869         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
19870         \n.  Move guts to...
19871         (mmix_expand_epilogue): New function.  Adjust for emitting
19872         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
19873         (mmix_target_asm_function_end_prologue): Mark that the prologue
19874         has ended.
19875         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19876         (mmix_conditional_register_usage): Improve comments.
19877         (mmix_local_regno): New function.
19878         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19879         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19880         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19881         (mmix_get_hard_reg_initial_val): Ditto.
19882
19883 2002-07-06  Andreas Jaeger  <aj@suse.de>
19884
19885         * toplev.c (set_fast_math_flags): Don't use ISO C style function
19886         definitions.
19887         * gengtype.c (open_base_files): Likewise.
19888         (close_output_files): Likewise.
19889         * tracer.c (find_best_predecessor): Likewise.
19890         (find_best_successor): Likewise.
19891         (ignore_bb_p): Likewise.
19892
19893 2002-07-05  Roger Sayle  <roger@eyesopen.com>
19894
19895         PR c++/7099
19896         * builtin-attrs.def: Define new attribute lists for use in
19897         builtins.def.
19898         * builtins.def [DEF_BUILTIN]: Modify to take an additional
19899         ATTRS argument, an enumerated value defined in builtin-attrs.def
19900         that represents the attribute list for the builtins.  Modify
19901         all builtin functions to pass an appropriate attribute list.
19902         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19903         their required noreturn attributes.
19904         * tree.h (enum_builtin_function): Ignore the additional parameter
19905         to DEF_BUILTIN.
19906         * builtins.c (built_in_names): Likewise.
19907         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19908         argument with a tree representing the functions attribute list.
19909         Pass this "attrs" argument to builtin_function.  No longer handle
19910         the noreturn_p processing manually.
19911         (built_in_attributes): Move the definitions from builtin-attrs.def
19912         before c_common_nodes_and_builtins.
19913         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19914         DEF_BUILTIN, passing it to both builtin_function and the changed
19915         builtin_function_2.
19916
19917         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19918         __builtin__exit and __builtin__Exit.
19919
19920 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19921
19922         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19923         QI mode registers in soft registers.
19924         ("zero_extendqihi2"): Do not take into account soft registers
19925         for register allocation (use '*' constraint).
19926
19927 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19928
19929         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19930         it is dead.
19931         ("*ashrsi3"): Likewise.
19932         ("*lshrsi3"): Likewise.
19933
19934 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
19935
19936         * genautomata.c (output_max_insn_queue_index_def): Take latencies
19937         into account.
19938
19939 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19940
19941         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19942         address computation and memory moves.
19943
19944 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
19945
19946         PR c++/6706
19947         * dwarfout.c (output_reg_number): Fix warning message.
19948         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19949         before using it.
19950
19951 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19952
19953         * gcc/gcc.c (asm_debug): Move initialization ...
19954         (init_spec): ... here.
19955
19956 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
19957
19958         * c-parse.in (extdef): Append ';'.
19959         (old_style_parm_decls): Append ';'.
19960
19961 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
19962
19963         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19964         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19965         to gcc_cv_as_gstabs_flag.
19966         * configure: Rebuilt.
19967
19968 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
19969
19970         * ggc.h (ggc_add_root): Document as obsolete.
19971
19972 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
19973
19974         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19975         (mshflo_w): Likewise.
19976
19977 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
19978
19979         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19980         vector mode subregs of constants to finding integer mode
19981         subregs of constants.
19982         * cse.c (cse_insn): Use simplify_gen_subreg.
19983         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19984         From a vector mode expression of different size than the
19985         target mode.
19986
19987 2002-07-03  Eric Christopher  <echristo@redhat.com>
19988
19989         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19990         * config/mips/mips.h: Remove deprecated -m<processor> options
19991         and cc1_cpu_spec associated.
19992         (CONSTANT_ADDRESS_P): Fix last patch.
19993         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19994         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19995         sunge_sf): Remove.
19996
19997 2002-07-03  Stan Shebs  <shebs@apple.com>
19998
19999         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20000         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20001         (CPP_SPEC): Remove insertion of APPLE_CC definition.
20002
20003 2002-07-03  Roger Sayle  <roger@eyesopen.com>
20004
20005         * combine.c (struct_undo): Change types of recorded substitutions
20006         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20007         (do_SUBST_INT): Change types of the substitution from unsigned int
20008         to int, to avoid compilation warning from SUBST_INT's only caller.
20009
20010         (make_extraction): Add cast to avoid compilation warning.
20011         (force_to_mode): Remove cast to avoid compilation warning.
20012
20013 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
20014             Jeff Law  <law@redhat.com>
20015
20016         * i386.md (length_immediate attribute): Fix typo.
20017         (length_address attribute): Likewise.
20018         (modrm attribute): Set it to 0 for immediate call instructions.
20019         (jcc_1 pattern): Set modrm attribute to 0.
20020         (jcc_2 pattern ): Likewise.
20021         (jump pattern): Likewise.
20022         (doloop_end_internal pattern): Explicitly set length.
20023         (leave pattern): Fix typo.
20024         (leave_rex64 pattern): Likewise.
20025
20026 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
20027
20028         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20029         in FPR as preference.
20030         (fctiwz): Same.
20031         (floatdidf2, fix_truncdfdi2): Same.
20032         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20033         (floatditf2): Same.
20034         (floatsitf2, fix_trunctfsi2): SImode in GPR.
20035         (ctrdi): Remove FPR alternative and splitter.
20036
20037 2002-07-03  Will Cohen  <wcohen@redhat.com>
20038
20039         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20040
20041 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
20042
20043         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20044         than UNITS_PER_WORD, unless this is little endian and the first unit
20045         in this word.  Let extract_bit_field decide how to load an element.
20046         Force arguments to matching mode.
20047         (expand_vector_unop): Likewise.
20048
20049         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20050         consist of word_mode elements.
20051         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20052         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20053         (build_unary_op): Allow vector types for BIT_NOT_EPR.
20054         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20055         CONST_VECTOR.
20056         * optabs.c (expand_vector_binop): Try to perform operation in
20057         smaller vector modes with same inner size.  Add handling of AND, IOR
20058         and XOR.  Reject expansion to inner-mode sized scalars when using
20059         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
20060         (expand_vector_unop): Try to perform operation in smaller vector
20061         modes with same inner size.  Add handling of one's complement.
20062         When there is no vector negate operation, try a vector subtract
20063         operation.  Use simplify_gen_subreg on constants.
20064         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20065         constants into smaller vectors with same inner mode, and to
20066         integer CONST_DOUBLEs.
20067
20068 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20069
20070         * c-parse.in (parsing_iso_function_signature): New variable.
20071         (extdef_1): New, copied from...
20072         (extdef): ... here.  Reset parsing_iso_function_signature.
20073         (old_style_parm_decls):  Reset parsing_iso_function_signature.
20074         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20075         Warn about ISO C style function definitions.
20076         (nested_function, notype_nested_function): Reset
20077         parsing_iso_function_signature.
20078         (parmlist_2): Set parsing_iso_function_signature.
20079
20080         * doc/invoke.texi (-Wtraditional): Document new behavior.
20081
20082 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
20083
20084         * config.gcc (mips*el-*-*): Use tm_defines to set
20085         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20086         * config/mips/little.h: Remove.
20087
20088 2002-07-02 Devang Patel <dpatel@apple.com>
20089
20090         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
20091         object as parameter. Prevent something like 'NSObject' to be
20092         used as the type for a method argument.
20093
20094 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
20095
20096         * cpptrad.c: Update comment.
20097
20098 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20099
20100         * doc/cpp.texi: Update for traditional preprocessing changes.
20101         * goc/cppopts.texi: Similarly.
20102
20103 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
20104
20105         * c-parse.in (designator): Enable designated initializers if ObjC.
20106         (objcmessageexpr): Remove references to objc_receiver_context.
20107         * objc/objc-act.h (objc_receiver_context): Remove decl.
20108         * objc/objc-act.c (objc_receiver_context): Remove.
20109         (lookup_objc_ivar): Test objc_method_context instead of
20110         objc_receiver_context.
20111
20112 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20113
20114         * sh.c (print_operand, case 'N'): Allow zero vector.
20115         (arith_reg_or_0_operand): Likewise.
20116         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
20117         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
20118         IOR, XOR, PLUS and SET and take their respective constant
20119         ranges into account.
20120         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20121         * sh.md (subdi3, subdi3_media): Allow zero operand.
20122         (movv8qi_i+3): Only vector that is not split is the zero vector.
20123         Fix operand 3 to simplify_subreg.
20124         (movv2si_i): Split alternative 1.
20125         (mshfhi_l_di_rev+1): New splitter.
20126
20127 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20128
20129         PR preprocessor/7029
20130         * cppinit.c (cpp_handle_option):  Suppress warnings with an
20131         implicit "-w" for "-M" and "-MM".
20132         * doc/cppopts.texi: Update.
20133
20134 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20135
20136         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20137         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
20138         builtin_function.
20139
20140 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
20141
20142         * README.Portability: Fix typos.
20143
20144 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
20145
20146         PR target/7177
20147         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20148         of indirections for register inside sign-extended mem part.
20149
20150 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20151
20152         * tree.h:  Modify builtin_function interface to take an extra
20153         argument ATTRS, which is a tree representing an attribute list.
20154
20155         * c-decl.c (builtin_function): Accept additional parameter.
20156         * objc/objc-act.c (builtin_function): Likewise.
20157         * f/com.c (builtin_function): Likewise.
20158         * java/decl.c (builtin_function): Likewise.
20159         * ada/utils.c (builtin_function): Likewise.
20160         * cp/decl.c (builtin_function): Likewise.
20161         (builtin_function_1): Likewise.
20162
20163         * c-common.c (c_common_nodes_and_builtins): Pass an additional
20164         NULL_TREE argument to builtin_function.  (builtin_function_2):
20165         Likewise.
20166         * cp/call.c (build_java_interface_fn_ref): Likewise.
20167         * objc/objc-act.c (synth_module_prologue): Likewise.
20168         * java/decl.c (java_init_decl_processing): Likewise.
20169         * f/com.c (ffe_com_init_0): Likewise.
20170
20171         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20172         NULL_TREE argument to builtin_function.
20173         * config/arm/arm.c (def_builtin): Likewise.
20174         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20175         * config/i386/i386.c (def_builtin): Likewise.
20176         * config/ia64/ia64.c (def_builtin): Likewise.
20177         * config/rs6000/rs6000.c (def_builtin): Likewise.
20178
20179 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
20180
20181         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20182         * config/mips/t-isa3264: Likewise.
20183         * config/mmix/t-mmix: Likewise.
20184
20185 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20186
20187         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20188
20189 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20190
20191         PR opt/4046
20192         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20193         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20194         B are truth values.
20195
20196 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
20197
20198         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20199
20200 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
20201
20202         * README.Portability (Function prototypes): Give an example of
20203         declaring and defining a function with no arguments.
20204
20205         * README.Portability (Function prototypes): Document new
20206         variable-argument function macros.
20207
20208 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
20209
20210         * sh.c (langhooks.h): Include.
20211         (sh_init_builtins, sh_media_init_builtins): New functions.
20212         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20213         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20214         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20215         (builtin_description): New struct tag.
20216         (signature_args, bdesc): New arrays.
20217         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20218         (print_operand): Add 'N' modifier.
20219         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20220         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20221         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20222         (CONST_COSTS): Add special case for SHmedia AND.
20223         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20224         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20225         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20226         target_operand can also be const or unspec.
20227         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20228         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20229         (attribute type): Add new types.
20230         (anddi3): Add splitter.
20231         (movdi_const_16bit+1): Add code to handle vector constants and
20232         bitmasks efficiently.
20233         (shori_media): Have generator function made.
20234         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20235         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20236         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20237         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20238         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20239         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20240         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20241         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20242         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20243         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20244         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20245         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20246         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20247         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20248         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20249         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20250         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20251         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20252         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20253         (ftrv): Likewise.
20254
20255         (fpu_switch+1, fpu_switch+2): Remove constraint.
20256
20257 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
20258
20259         * tree.c (build_function_type_list): Update function comment.
20260         Rename first argument to return_type.
20261
20262 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20263
20264         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20265         tradcif.y and related files.
20266
20267 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20268
20269         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20270
20271 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20272
20273         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20274
20275 See ChangeLog.7 for earlier changes.