* gcse.c (cprop_jump): Use the REG_EQUAL note if available.
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-02-23  Kazu Hirata  <kazu@cs.umass.edu>
2
3         * gcse.c (cprop_jump): Use the REG_EQUAL note if available.
4
5 2003-02-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
6
7         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Document
8         new default behavior.
9         * ggc-common.c: Include sys/resource.h.
10         (ggc_rlimit_bound): New function.
11         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic): Update
12         defaults to account for rlimits.
13
14 2003-02-22  Richard Henderson  <rth@redhat.com>
15
16         * i386.c, i386.h (TUNEMASK): Rename from CPUMASK.
17
18 2003-02-22  Kelley Cook <kelley@dwhoops.info>
19
20         * i386.h, i386.c, i386.md (ix86_tune): Rename from ix86_cpu.
21         (ix86_tune_string): Rename from ix86_cpu_string.
22
23 2003-02-22  Kelley Cook <kelleycook@comcast.net>
24
25         * config/i386/i386.c: Replace "mcpu" with "mtune".
26         * config/i386/i386.h (TARGET_OPTIONS): Likewise.
27         (CC1_CPU_SPEC): Likewise. New warning for "-mcpu".
28         * doc/invoke.texi (i386 and x86-64 Options): Replace "mcpu"
29         with "mtune".  Note that "mcpu" is a deprecated synonym for "mtune".
30
31 2003-02-23  Andreas Schwab  <schwab@suse.de>
32
33         * config.gcc: Delete references to m68k/t-linux and
34         m68k/t-linux-aout.
35         * config/m68k/t-linux, config/m68k/t-linux-aout: Removed.
36
37 Sat Feb 22 20:22:19 CET 2003  Jan Hubicka  <jh@suse.cz>
38
39         * toplev.c (rest_of_compilation):  Apply fotgotten hunk
40         of track scheduling patch.
41
42 Sat Feb 22 19:29:28 CET 2003  Jan Hubicka  <jh@suse.cz>
43
44         * config/linux.h (TARGET_HAS_F_SETLKW): Define.
45         * config/alpha/linux.h (TARGET_HAS_F_SETLKW): Likewise
46
47 Sat Feb 22 12:42:16 CET 2003  Jan Hubicka  <jh@suse.cz>
48
49         * c-decl.c (c_expand_body_1): Fix.
50
51 Sat Feb 22 03:13:36 CET 2003  Jan Hubicka  <jh@suse.cz>
52
53         * expmed.c (expand_divmod): Undo sign extensions for unsigned operands
54
55         * cfgcleanup.c (try_forward_edges):  Don't check loop structures
56         when not optimizing.
57         (cleanup_cfg): Do not iterate trought delete_trivially_dead_insns
58         when not expensive.
59         * toplev.c (rest_of_compilation):  Duplicate loop headers only when
60         optimizing;  Delete trivially dead insns early; fix optimize check.
61
62         * Makefile.in (c-decl.o, c-objc-common.o, cgraph.o, tree-inline.o): Add
63         dependency on cgraph.h
64         * c-decl.c: Include cgraph.h
65         (finish_function): Update call of tree_inlinable_function_p.
66         * c-objc-common.c: Include cgraph.h
67         * cgraph.h: New file.
68         * cgraphunit.c: New file.
69         * cgraph.c (cgraph_node, cgraph_edge): Move into cgraph.h
70         (cgraph_nodes, cgraph_n_nodes): Globalize.
71         (cgraph_finalize_function, cgraph_finalize_compilation_unit
72         cgraph_create_edges, cgraph_optimize, cgraph_mark_needed_node):
73         Move into cgraphunit.c
74         * tree-inline.c: Include cgraph.h
75         * tree-inline.c: Include cgraph.h
76
77 2003-02-22  Josef Zlomek  <zlomekj@suse.cz>
78
79         * config/i386/i386.md: Use gen_lowpart instead of gen_rtx_REG
80         for copying a register.
81
82 2003-02-22  Steven Bosscher  <s.bosscher@student.tudelft.nl>
83
84         PR other/3782
85         * toplev.c (process_options): If flag_detailed_statistics is set,
86         then set time_report as well.
87
88         PR c/8828
89         * jump.c (never_reached_warning): Don't fall through BARRRIER
90         insns.  Update comments to reflect what the function really does.
91
92 2003-02-21  Roger Sayle  <roger@eyesopen.com>
93
94         * fold-const.c (omit_one_operand): No longer static.
95         * tree.h (omit_one_operand): Prototype here.
96         (div_and_round_double): Keep fold-const.c prototypes together.
97         * builtins.c (builtin_mathfn_code): Handle binary built-in
98         funtions, such as "pow" and "atan2".
99         (fold_builtin): Optimize both pow(x,0.0) and pow(1.0,y) to 1.0.
100         Simplify optimizations using "type" the builtin's return type.
101
102 2003-02-22  Hans-Peter Nilsson  <hp@axis.com>
103
104         * config/cris/cris.c (cris_rtx_costs): Blockify dangling else.
105         Fix functionalization typo.
106
107         * regmove.c (optimize_reg_copy_1): Do not replace a hard register
108         in an asm.
109
110 2003-02-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
111
112         * Makefile.in (ggc-common.o): Depend on $(PARAMS_H)
113         * doc/invoke.texi (ggc-min-expand, ggc-min-heapsize): Update
114         documentation.
115         * ggc-common.c: Include params.h
116         (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
117         init_ggc_heuristics): New functions.
118         * ggc.h (ggc_min_expand_heuristic, ggc_min_heapsize_heuristic,
119         init_ggc_heuristics): Prototype.
120         * toplev.c (print_version):  Output GGC heuristics.
121         (parse_options_and_default_flags): Call init_ggc_heuristics.
122
123 Sat Feb 22 02:35:07 CET 2003  Jan Hubicka  <jh@suse.cz>
124
125         * i386.c (def_builtin):  Special case 64bit builtins.
126         (MASK_SSE164, MASK_SSE264): New constants.
127         (builtin_description): Add 64bit builtins.
128         (ix86_init_mmx_sse_builtins): Likewise.
129         * i386.h (enum ix86_builtins): Likewise.
130         * i386.md (cvtss2siq, cvttss2siq, cvtsd2siq, cvttsd2siq, cvtsi2sdq,
131         sse2_movq2dq_rex64, sse2_movsq2q_rex64): New.
132         (sse2_movq2dq, sse2_movsq2q): Disable for 64bit.
133         * mmintrin.h (_mm_cvtsi64x_si64, _mm_set_pi64x, _mm_cvtsi64_si64x): New.
134         * xmmintrin.h (_mm_cvtss_si64x, _mm_cvttss_si64x, _mm_cvtsi64x_ss,
135         _mm_set_epi64x, _mm_set1_epi64x, _mm_cvtsd_si64x, _mm_cvttsd_si64x,
136         _mm_cvtsi64x_sd, _mm_cvtsi64x_si128, _mm_cvtsi128_si64x): New.
137
138 Sat Feb 22 00:48:22 CET 2003  Jan Hubicka  <jh@suse.cz>
139
140         * i386.c (builtin_description): Add __builtin_ia32_paddq and
141         __builtin_ia32_psubq. Fix __builtin_ia32_paddq128
142          and __builtin_ia32_psubq128.
143         * i386.h (IX86_BUILTIN_PADDQ, IX86_BUILTIN_PSUBQ): New.
144         * i386.md (addv*, mmx_ior*, mmx_xoe*, mmx_and*): Add missing '%'.
145         (mmx_adddi3, mmx_subdi3): New.
146         * mmintrin.h (_mm_add_si64, _mm_sub_si64): New.
147         * xmmintrin.h (_mm_movepi64_pi64): New.
148         (_mm_add_epi64, _mm_sub_epi64): fix.
149         (_mm_mul_pu16): Rename to...
150         (_mm_mul_su32): ... this one.
151
152         * builtins.c (expand_builtin_expect):  Do not predict
153         flag_guess_branch_prob is not set.
154         * c-semantics.c (expand_stmt): Likewise.
155         * predict.c (predict_insn): Likewise.
156         * stmt.c (expand_continue_loop): Likewise.
157         * toplev.c (rest_of_compilation): Do not call
158         note_prediction_to_br_prob and note_prediction_to_br_prob
159         when not optimizing.
160
161 Fri Feb 21 23:10:13 CET 2003  Jan Hubicka  <jh@suse.cz>
162
163         * cfgrtl.c (commit_edge_insertions):  Call
164         find_many_sub_basic_block only when some code has been emitted.
165         (commit_edge_insertions_watch_calls): Bring into sync with
166         commit_edge_insertions
167
168 Fri Feb 21 20:41:29 2003  J"orn Rennecke <joern.rennecke@superh.com>
169
170         * sh.h (OVERRIDE_OPTIONS): Fix code that clears 'e' register class.
171
172         * sh.md (binary_sf_op): Use extra constant operand instead of
173         negating constant operand 4.
174         * sh.c (sh_expand_binop_v2sf): Supply it.
175
176 2003-02-21  Zack Weinberg  <zack@codesourcery.com>
177
178         * cpphash.h (struct lexer_state): Add directive_wants_padding.
179         * cpplib.c (_cpp_handle_directive): Set directive_wants_padding
180         for directives of type INCL.
181         (glue_header_name, parse_include): Use get_token_no_padding.
182         * cppmacro.c (replace_args): If directive_wants_padding,
183         provide padding tokens.
184
185 2003-02-21  Kazu Hirata  <kazu@cs.umass.edu>
186
187         * config/h8300/h8300.md (a peephole2): New.
188
189 Fri Feb 21 11:05:44 CET 2003  Jan Hubicka  <jh@suse.cz>
190
191         * cfgrtl.c (commit_one_edge_insertion): Only mark BB for splitting.
192         (commit_edge_insertions): Call find_many_sub_basic_blocks
193
194         * reg-stack.c (convert_regs): Cleax aux for blocks.
195
196 Fri Feb 21 10:29:52 CET 2003  Jan Hubicka  <jh@suse.cz>
197
198         * toplev.c (parse_options_and_default_flags): Undo accidental commit.
199
200 2003-02-21  Glen Nakamura  <glen@imodulo.com>
201
202         PR optimization/8613
203         * builtins.c (expand_builtin): Emit postincrements before expanding
204         builtin functions.
205
206 2003-02-21  Ben Elliston  <bje@redhat.com>
207
208         PR other/5634
209         * doc/install.texi (Configuration): Explain using $HOME instead of
210         the ~ metacharacter when referring to home directories.
211
212 2003-02-20  Alexandre Oliva  <aoliva@redhat.com>
213
214         * configure.in (TARGET_SYSTEM_ROOT): Set default to
215         ${exec_prefix}/${target_alias}/sys-root.  Match explicit
216         '${exec_prefix}' (in addition to the expansion thereof) as
217         relocatable.
218         * configure: Rebuilt.
219
220 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
221
222         * config/h8300/h8300.md (addhi3_incdec): Change the name to
223         *addhi3_incdec.
224         (addsi3_incdec): Change the name to *addsi3_incdec.
225
226 2003-02-20  Roger Sayle  <roger@eyesopen.com>
227
228         * explow.c (force_reg): Avoid useless REG_EQUAL notes.
229
230 2003-02-20  Toon Moene  <toon@moene.indiv.nluug.nl>
231
232         PR fortran/9038
233         * c-opts.c (sanitize_cpp_opts): Add Fortran front end
234         options to be ignored.
235         (c_common_decode_option): Ignore them when preprocessing.
236
237 Thu Feb 20 21:41:19 CET 2003  Jan Hubicka  <jh@suse.cz>
238
239         * toplev.c (flag_sched2_use_superblocks, flag_sched2_use_traces): New
240         global variables.
241         (lang_independent_options):  Add -fsched2-use-superblocks
242         -fsced2-use-traces.
243         (rest_of_compilation): Deal with it.
244         * invoke.texi (-fsched2-use-traces, fsched2-use-superblocks):  Declare.
245         * flags.h (flag_sched2_use_superblocks, flag_sched2_use_traces):
246         Declare.
247         * rtl.h (reg_to_stack):  Update prototype.
248         * reg-stack.c (reg_to_stack): Return when something has changed;
249         update liveness when executing after superblock scheduling.
250
251         * combine.c (simplify_shift_const):  Simplify few special cases
252         into constants.
253
254 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
255
256         * config/rs6000/rs6000.md: (attr "type"): Add fast_compare.
257         (add.,subf.,neg.): Change attribute to fast_compare.
258         All DFA descriptions updated.
259
260 2003-02-20  Nathan Sidwell  <nathan@codesourcery.com>
261
262         Change base class access representation.
263         * tree.h (TREE_VIA_PUBLIC, TREE_VIA_PROTECTED,
264         TREE_VIA_PRIVATE): Remove.
265         (BINFO_BASEACCESSES): New binfo elt.
266         (BINFO_BASEACCESS): New accessor.
267         (BINFO_ELTS): Increase.
268         (TI_ACCESS_PUBLIC, TI_ACCESS_PROTECTED, TI_ACCESS_PRIVATE): New.
269         (access_public_node, access_protected_node,
270         access_private_node): New global nodes.
271         * tree.c (build_common_tree_nodes_2): Initialize access nodes.
272         * dbxout.c (dbxout_type): Adjust.
273         * dwarf2out.c (gen_inheritance_die): Add access parameter.
274         (gen_member_die): Adjust.
275         * dwarfout.c (output_inheritance_die): ARG is array of two trees.
276         (output_type): Adjust.
277         * tree-dump.c (dequeue_and_dump): Adjust binfo dumping.
278
279         Change base class access representation. Share virtual base
280         binfos.
281         * cp/call.c (build_special_member_call): Remove binfo_for_vbase
282         call.
283         * cp/class.c (build_base_path): Likewise.
284         (build_primary_vtable): Adjust BINFO_NEW_VTABLE_MARKED use.
285         (build_secondary_vtable): Remove FOR_TYPE arg. Adjust.
286         (make_new_vtable): Adjust.
287         (force_canonical_binfo_r): Delete.
288         (force_canonical_binfo): Delete.
289         (mark_primary_virtual_base): Delete.
290         (dfs_unshared_virtual_bases): Delete.
291         (mark_primary_bases): Adjust.
292         (maybe_warn_about_overly_private_class): Adjust.
293         (dfs_base_derived_from): Delete.
294         (base_derived_from): Follow the inheritance chain.
295         (struct find_final_overrider_data): Add vpath member.
296         (dfs_find_final_overrider): Adjust.
297         (dfs_find_final_overrider_q, dfs_find_final_overrider_post): New.
298         (find_final_overrider): Adjust.
299         (update_vtable_entry_for_fn): Adjust.
300         (modify_all_vtables): Adjust.
301         (walk_subobject_offsets): Adjust.
302         (layout_nonempty_base_or_field): Adjust.
303         (layout_empty_base): Remove last parameter. Adjust.
304         (build_base_field): Adjust.
305         (build_base_fields): Adjust.
306         (propagate_binfo_offsets): Remove last parameter. Adjust.
307         (dfs_set_offset_for_unshared_vbases): Delete.
308         (layout_virtual_bases): Adjust.
309         (finish_struct_1): Adjust.
310         (init_class_processing): Don't init access nodes.
311         (dfs_get_primary_binfo): Delete.
312         (get_primary_binfo): Adjust.
313         (dump_class_hierarchy_r): Remove most derived arg, add IGO
314         parameter. Adjust.
315         (dump_class_hierarchy): Adjust.
316         (finish_vtbls): Adjust.
317         (get_original_base): Delete.
318         (build_vtt_inits): Adjust.
319         (dfs_build_secondary_vptr_vtt_inits): Adjust.
320         (dfs_ctor_vtable_bases_queue_p): Adjust.
321         (build_ctor_vtbl_group): Adjust.
322         (dfs_accumulate_vtbl_inits): Adjust.
323         (build_vtbl_initializer): Adjust.
324         (build_vbase_offset_vtbl_entries): Adjust.
325         (add_vcall_offset_vtbl_entries_1): Adjust.
326         * cp/cp-tree.h (CPTI_ACCESS_*): Remove.
327         (access_*_node): Remove.
328         (CANONICAL_BINFO): Delete.
329         (BINFO_UNSHARED_MARKED): Remove.
330         (BINFO_MARKED): Set LANG_FLAG_0 directly.
331         (SET_BINFO_MARKED, CLEAR_BINFO_MARKED): Delete.
332         (BINFO_VTABLE_PATH_MARKED): Set LANG_FLAG_3 directly.
333         (SET_BINFO_VTABLE_PATH_MARKED, CLEAR_BINFO_VTABLE_PATH_MARKED):
334         Delete.
335         (BINFO_NEW_VTABLE_MARKED): Set LANG_FLAG_4 directly.
336         (SET_BINFO_NEW_VTABLE_MARKED): Adjust.
337         (SET_BINFO_PUSHDECLS_MARKED, CLEAR_BINFO_PUSHDECLS_MARKED):
338         Delete.
339         (BINFO_DEPENDENT_BASE_P): New.
340         (dfs_walk, dfs_walk_real): Queue function takes derived binfo and
341         index.
342         (markedp, unmarkedp): Adjust.
343         (dfs_unmarked_real_bases_queue_p, dfs_marked_real_bases_queue_p,
344         dfs_skip_vbases, marked_vtable_pathp, unmarked_vtable_pathp,
345         find_vbase_instance, binfo_for_vbase): Delete.
346         (copied_binfo, original_binfo): Declare.
347         (finish_base_specifier): Add virtual_p arg.
348         (unshare_base_binfos): Delete.
349         (copy_base_binfos): Declare.
350         (reverse_path): Delete.
351         * cp/decl.c (xref_basetypes): Access and virtuality passed
352         differently. Don't copy direct base binfos here. Call
353         copy_base_binfos.
354         * cp/init.c (dfs_initialize_vtbl_ptrs): Adjust.
355         (initialize_vtbl_ptrs): Adjust.
356         (expand_member_init): Adjust.
357         * cp/parser.c (cp_parser_base_specifier): Adjust.
358         * cp/pt.c (instantiate_class_template): Adjust.
359         (get_template_base_recursive): Adjust.
360         * cp/rtti.c (get_pseudo_ti_init): Adjust.
361         (get_pseudo_ti_desc): Adjust.
362         * cp/tree.c (unshare_base_binfos): Rename to ...
363         (copy_base_binfos): ... here, reimplement.
364         (make_binfo): Set BINFO_DEPENDENT_BASE_P.
365         (reverse_path): Remove.
366         * cp/typeck.c (get_delta_difference): Adjust error messages.
367         * cp/semantics.c (finish_base_specifier): Add virtual arg, adjust.
368         * cp/search.c (lookup_base_r): Adjust.
369         (dynamic_cast_base_recurse): Adjust.
370         (canonical_binfo): Remove.
371         (dfs_canonical_queue): Remove.
372         (dfs_assert_unmarked_p): Remove.
373         (assert_canonical_unmarked): Remove.
374         (shared_marked_p, shared_unmarked_p): Remove.
375         (BINFO_ACCESS, SET_BINFO_ACCESS): Use TREE_PUBLIC & TREE_PRIVATE.
376         (dfs_access_in_type): Adjust.
377         (access_in_type): Adjust.
378         (dfs_accessible_queue_p): Adjust.
379         (dfs_accessible_p): Adjust.
380         (is_subobject_of_p_1, is_subobject_of_p): Remove.
381         (struct lookup_field_info): Remove from_dep_base_p field.
382         (lookup_field_queue_p): Adjust, test BINFO_DEPENDENT_BASE_P.
383         (lookup_field_r): Remove dependent base code.
384         (lookup_member): Likewise.
385         (dfs_walk, dfs_walk_real): Add access arg to queue fn.
386         (dfs_unmarked_real_bases_queue_p): Remove.
387         (dfs_marked_real_bases_queue_p): Remove.
388         (dfs_skip_vbases): Remove.
389         (dfs_get_pure_virtuals): Adjust.
390         (markedp, unmarkedp): Adjust.
391         (marked_vtable_pathp, unmarked_vtable_pathp): Remove.
392         (marked_pushdecls_p, unmarked_pushdecls_p): Adjust.
393         (dfs_unmark): Adjust.
394         (dfs_get_vbase_types):Remove.
395         (dfs_build_inheritance_graph_order): Remove.
396         (get_vbase_types): Remove
397         (dfs_find_vbase_instance): Remove.
398         (find_vbase_instance): Remove.
399         (dfs_debug_unmarkedp): Adjust.
400         (dependent_base_p): Remove.
401         (dfs_push_type_decls): Adjust.
402         (dfs_push_decls): Adjust.
403         (dfs_no_overlap_yet): Adjust.
404         (copied_binfo): New function.
405         (original_binfo): New function.
406         (binfo_for_vbase): Remove.
407
408         Change base class access representation.
409         * java/class.c (set_super_info): Don't set TREE_VIA_PUBLIC.
410         (add_interface_do): Likewise.
411
412 2003-02-20  David Edelsohn  <edelsohn@gnu.org>
413
414         * config/rs6000/sysv4.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Define.
415         * config/rs6000/power4.md (power4-store,power4-vecstore): New
416         insn reservations.
417         (power4-fpstore): Compact.
418
419 2003-02-20  Kazu Hirata  <kazu@cs.umass.edu>
420
421         * config/h8300/h8300.md (*iorsi3_w): New.
422
423 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
424
425         * combine.c (distribute_notes): Kill REG_EXEC_COUNT.
426         * rtl.c (reg_note_name): Likewise.
427         * rtl.h (enum reg_note): Likewise.
428         * doc/invoke.texi: Likewise.
429         * doc/rtl.texi: Likewise.
430
431 2003-02-20  Josef Zlomek  <zlomekj@suse.cz>
432
433         * bb-reorder.c (find_traces_1_round): Fix comment typo.
434
435 2003-02-19  Roger Sayle  <roger@eyesopen.com>
436
437         * fold-const.c (fold_real_zero_addition_p): Don't fold a zero
438         addition in the presence of signaling NaNs.
439
440 2003-02-19  Krister Walfridsson  <cato@df.lth.se>
441
442         * tm.texi (INIT_CUMULATIVE_ARGS): Fix typo.
443
444 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
445
446         * config/h8300/h8300.c (output_logical_op): Optimize or.l when
447         ORing with 0xffff??00 with the highest bit of the ?? part set.
448         (compute_logical_op_length): Update.
449         (compute_logical_op_cc): Likewise.
450
451 2003-02-19  Josef Zlomek  <zlomekj@suse.cz>
452
453         * bb-reorder.c (find_traces_1_round): Fixed condition for small
454         destination block with multiple predecessors.
455         (connect_traces): Check whether the block is a start of trace.
456
457 Wed Feb 19 19:00:24 CET 2003  Jan Hubicka  <jh@suse.cz>
458
459         * calls.c (expand_call): Update call of INIT_CUMULATIVE_ARGS
460         * function.c (assign_params): Likewise.
461         * arm-protos.h (arm_init_cumulative_args): Update prototype.
462         * arm.c (arm_init_cumulative_args): Update function.
463         * arm.h (INIT_CUMULATIVE_ARGS): Update.
464         * avr-protos.h (init_cumulative_args): Update prototype.
465         * avr.c (init_cumulative_args): Update function.
466         * avr.h (INIT_CUMULATIVE_ARGS): Update.
467         * d30v-protos.h (d30v_init_cumulative_args): Update prototype.
468         * d30v.c (d30v_init_cumulative_args): Update function.
469         * d30v.h (INIT_CUMULATIVE_ARGS): Update.
470         * frv-protos.h (frv_init_cumulative_args): Update prototype.
471         * frv.c (frv_init_cumulative_args): Update function.
472         * frv.h (INIT_CUMULATIVE_ARGS): Update.
473         * mips.c (mips_expand_prolgue): Update call of INIT_CUMULATIVE_ARGS.
474         * pa.h (INIT_CUMULATIVE_ARGS): Update.
475         * sparc-protos.h (init_cumulative_args): Update prototype.
476         * sparc.c (init_cumulative_args): Update function.
477         * sparc.h (INIT_CUMULATIVE_ARGS): Update.
478         * tm.texi (INIT_CUMULATIVE_ARGS): Update documentation.
479
480 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
481
482         * config/h8300/h8300.md (*iorsi3_two_qi_sext): New.
483         (*ashiftsi_sextqi_7): Likewise.
484
485 2003-02-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
486
487         * config/mips/iris6.h (TARGET_OS_CPP_BUILTINS): Define __c99 for
488         ISO C99 and C++.
489
490         * fixinc/inclhack.def (irix___restrict): Don't change __restrict
491         for C++ on IRIX 6.5.1[89].
492         * fixinc/tests/base/internal/sgimacros.h: New file.
493
494         * fixinc/inclhack.def (irix_wcsftime): Use XPG5 variant for C99.
495         * fixinc/tests/base/internal/wchar_core.h: New file.
496
497         * fixinc/inclhack.def (irix_socklen_t): Fix broken IRIX 6.5.1[78]
498         socklen_t definition.
499         * fixinc/fixincl.x: Regenerate.
500         * fixinc/tests/base/sys/socket.h: New file.
501         Fixes PR libgcj/9652.
502
503 Wed Feb 19 17:22:51 CET 2003  Jan Hubicka  <jh@suse.cz>
504
505         * i386.md (movsfcc_1, movdfcc_1): Fix constrains.
506
507 2003-02-19  David Edelsohn  <edelsohn@gnu.org>
508
509         * config/rs6000/rs6000.c (rs6000_override_options): Initialize
510         align_jumps_max_skip and align_loops_max_skip.
511
512 2003-02-19  Thierry Moreau  <thierry.moreau@connotech.com>
513
514         * config/rs6000/rs6000.c (rs6000_encode_section_info): Do not
515         test size if named section.
516
517 2003-02-19  Daniel Jacobowitz  <drow@mvista.com>
518
519         * expr.c (expand_expr): Use gen_int_mode for the argument
520         to gen_rtx_MULT.
521
522 Wed Feb 19 14:22:42 CET 2003  Jan Hubicka  <jh@suse.cz>
523
524         * i386.md (cosxf2):  Fix conditional.
525
526 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
527
528         * config/h8300/h8300.md (extendqisi2): Change to an expander.
529         (*extendqisi2_h8300): New.
530         (*extendqisi2_h8300hs): Likewise.
531
532 2003-02-19  Kazu Hirata  <kazu@cs.umass.edu>
533
534         * config/h8300/h8300-protos.h: Update the prototype for
535         split_adds_subs.  Remove the prototypes for
536         const_int_le_2_operand and const_int_le_6_operand.
537         * config/h8300/h8300.c (split_adds_sub): Don't output inc/dec.
538         (const_int_le_2_operand): Remove.
539         (const_int_le_6_operand): Likewise.
540         * config/h8300/h8300.h (PREDICATE_CODES): Remove the entries
541         for const_int_le_2_operand and const_int_le_6_operand.
542         * config/h8300/h8300.md: Update all uses of split_adds_subs.
543         (a peephole2): New.
544
545 Tue Feb 18 23:50:59 CET 2003  Jan Hubicka  <jh@suse.cz>
546
547         * cgraph.c (NPREDECESORC, SET_NPREDECESORS): Kill.
548         (cgraph_expand_function): Rewrite.
549
550 2003-02-18  Matt Austern <austern@apple.com>
551
552         * toplev.c, langhooks.c, langhooks-def.h: Move
553         write_global_declarations from toplev.c to langhooks.c.
554
555 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
556
557         * config/h8300/h8300.c (general_operand_src): Always check
558         MODE.
559         (general_operand_dst): Likewise.
560
561 2003-02-18  Roger Sayle  <roger@eyesopen.com>
562
563         * convert.c (convert_to_real): Also optimize (float)log(x) into
564         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
565
566 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
567
568         * config/sh/sh.c (unspec_caller_rtx_p): New.
569         (sh_cannot_copy_insn_p): New.
570         (TARGET_CANNOT_COPY_INSN_P): New.
571
572 2003-02-18  Richard Henderson  <rth@redhat.com>
573
574         * c-common.c (handle_used_attribute): Accept static data too.
575
576 2003-02-18  Nick Clifton  <nickc@redhat.com>
577             Aldy Hernandez  <aldyh@redhat.com>
578
579         * testsuite/gcc.dg/20030218-1.c: New.
580
581         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
582
583         * target-def.h (TARGET_INITIALIZER): Add
584         TARGET_VECTOR_TYPES_COMPATIBLE.
585         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
586
587         * target.h (struct gcc_target): Add field vector_types_compatible.
588
589         * c-typeck.c (comptypes): Take into account
590         TARGET_VECTOR_TYPES_COMPATIBLE.
591         (convert_for_assignment): Same.
592
593         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
594         (rs6000_spe_vector_types_compatible): New.
595         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
596
597 2003-02-19  Andreas Schwab  <schwab@suse.de>
598
599         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
600         * toplev.c: Include langhooks-def.h.
601
602 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
603
604         * config/mips/mips.h (enum processor_type): Sort entries
605         alphabetically.
606         * config/mips/mips.md (define_attr cpu): Sync with processor_type
607         enum values, including adding entries that were missing.
608
609 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
610
611         * sh.c (calc_live_regs): Also check GET_CODE when checking if
612         initial value for PR_REG is still the PR_REG register.
613
614 2003-02-18  Jim Wilson  <wilson@redhat.com>
615
616         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
617         instruction in output template.
618         (bsp_value): Change output template from string to C code, add %,
619         before actual instruction.
620         (flushrs): Mark as not predicable.
621
622 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
623
624         * inclhack.def (netbsd_bogus_semicolon): New fix.
625         * fixincl.x: Rebuilt.
626         * tests/base/ctype.h: Update.
627
628 2003-02-18  Roger Sayle  <roger@eyesopen.com>
629
630         * fold-const.c (negate_expr_p): New function to determine whether
631         an expression can be negated cheaply.
632         (fold) [MINUS_EXPR]: Use it to determine whether to transform
633         -A - B into -B - A for floating point types.
634
635 2003-02-18  Roger Sayle  <roger@eyesopen.com>
636
637         * sbitmap.c (sbitmap_resize): New function.
638         * sbitmap.h (sbitmap_resize): Prototype here.
639         * recog.c (split_all_insns): Use sbitmap_resize.
640
641 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
642
643         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
644         insn length.
645         (extendqisi2): Likewise.
646         (*extendhisi2_h8300): Likewise.
647
648 2003-02-18  Matt Austern <austern@apple.com>
649
650         * langhooks.h, langhooks-def.h: introduce new langhook,
651         final_write_globals, with write_global_declarations as default.
652         * toplev.c: Move invocation of wrapup_global_declarations from
653         compile_file to new function, write_global_declarations.  Change
654         compile_file to use final_write_globals hook.  Change
655         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
656         conditional.
657
658 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
659
660         * pa.md: Correct and enhance comment.
661
662 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
663
664         * gcc.c (validate_switches): Don't scan past closing '}'.
665
666 2003-02-18  Ben Elliston  <bje@redhat.com>
667
668         PR c++/1607
669         * doc/extend.texi (Function Attributes): Document the effect of
670         the C++ "this" parameter on the counting of arguments for the
671         "format" and "format_arg" attributes.
672
673 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
674
675         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
676         (__ev_stdw): Same.
677         (__ev_stdh): Same.
678
679 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
680
681         * recog.c (split_all_insns):  Fix memory overflow.
682
683 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
684
685         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
686         (cmphi): Likewise.
687         (*cmphi_h8300): Likewise.
688         (*cmphi_h8300hs): Likewise.
689         (cmpsi): Likewise.
690         (7 peephole2): Likewise.
691
692 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
693
694         * c-typeck.c (build_c_cast):  Fold constant variables into
695         initial values.
696
697 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
698
699         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
700         (Binaries): Ditto for Sinix/Reliant Unix.
701
702 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
703
704         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
705         not overlap the final result register.
706
707 2003-02-16 Arend Bayer <arend.bayer@web.de>
708            Richard Henderson  <rth@redhat.com>
709
710         PR c/8068
711         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
712         rearrange mult arguments for less recursion.
713         (extract_muldiv): New.  Prevent runaway recursion.
714
715 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
716
717         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
718         MASK_ALIGN_DOUBLE.
719
720 2003-02-15  Roger Sayle  <roger@eyesopen.com>
721
722         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
723         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
724         (ext_80387_constants_table): Global table of 80387 special constants
725         guarded by ext_80387_constants_init flag when not initialized.
726         (init_ext_80387_constants): New function to initialize this table.
727         (standard_80387_constant_p): Extend to recognize extra 80387
728         constants, in XFmode, on processors where this is a win.
729         (standard_80387_constant_opcode): New function to return the
730         opcode associated with standard_80387_constant_p.
731         (standard_80387_constant_rtx): New function to return the XFmode
732         CONST_DOUBLE associated with standard_80387_constant_p.
733         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
734
735         * config/i386/i386-protos.h (standard_80387_constant_opcode):
736         Prototype here.
737         (standard_80387_constant_rtx): Likewise.
738
739         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
740         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
741         *movtf_integer): Simplify using new standard_80387_constant_opcode.
742
743 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
744
745         * doc/invoke.texi (Optimize Options): Correct @option syntax.
746
747 2003-02-15  Richard Henderson  <rth@redhat.com>
748
749         * Makefile.in (cfglayout.o): Depend on TARGET_H.
750         * cfglayout.c: Include target.h.
751         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
752         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
753         * target.h (struct gcc_target): Add cannot_copy_insn_p.
754
755         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
756         (TARGET_CANNOT_COPY_INSN_P): New.
757         (override_options): Revert 2003-02-08 hack.
758
759 2003-02-15  Richard Henderson  <rth@redhat.com>
760
761         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
762         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
763
764 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
765
766         * config/rs6000/rs6000.h (processor_type): Add PPC440.
767         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
768         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
769         TARGET_SCHED_VARIABLE_ISSUE): Define.
770         (rs6000_use_dfa_pipeline_interface): New function.
771         (rs6000_multipass_dfa_lookahead): New Function.
772         (rs6000_variable_issue): New function.
773         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
774         (rs6000_issue_rate): Add PPC440.
775         * config/rs6000/rs6000.md (unspec list): Correct typo.
776         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
777         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
778         cmp, delayed_cr, mfcr, mtcr.
779         (automata_option): Set "ndfa".
780         (extendMMNN2): Update attributes.
781         (movcc_internal1): Discourage move to non-cr0.  Update
782         attributes.
783         (movMM_update): Update attributes.
784         (cmpMM_internal): Update attributes.
785         (sCC CR materialization): Update attributes.
786         (branch patterns): Do not discourage non-cr0.
787         (cr logical patterns): Prefer destructive register allocation.
788         Update attributes.
789         (movesi_from_cr): Update attribute.
790         (mtcrf_operation): Update attribute.
791         (mtcrfsi): Update attribute.
792         * config/rs6000/40x.md: New file.
793         * config/rs6000/603.md: New file.
794         * config/rs6000/6xx.md: New file.
795         * config/rs6000/7450.md: New file.
796         * config/rs6000/7xx.md: New file.
797         * config/rs6000/mpc.md: New file.
798         * config/rs6000/power4.md: New file.
799         * config/rs6000/rios1.md: New file.
800         * config/rs6000/rios2.md: New file.
801         * config/rs6000/rs64.md: New file.
802         [Some DFA descriptions based on work by Michael Hayes]
803
804 2003-02-15  Richard Henderson  <rth@redhat.com>
805
806         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
807         successors with multiple predecessors.
808         (connect_traces): Try harder to copy traces of length 1.
809
810         * function.h (struct function): Add computed_goto_common_label,
811         computed_goto_common_reg.
812         * function.c (free_after_compilation): Zap them.
813         * stmt.c (expand_computed_goto): Use them to produce one
814         indirect branch per function.
815
816 2003-02-15  Richard Henderson  <rth@redhat.com>
817
818         * cfgcleanup.c: Include params.h.
819         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
820         too many outgoing edges from a block.
821         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
822         * params.def (max-crossjump-edges): New.
823         * doc/invoke.texi: Document it.
824
825 2003-02-15  Richard Henderson  <rth@redhat.com>
826
827         * recog.c (split_all_insns): Include new blocks in life update;
828         do a global life update.
829
830 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
831
832         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
833         Update copyright.
834         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
835         -mno-cygwin case.
836
837 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
838
839         PR optimization/7702
840         * reload1.c (reload_cse_simplify_set): Honor
841         CANNOT_CHANGE_MODE_CLASS.
842
843 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
844
845         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
846         function.
847         * config/mn10300/mn10300-protos.h: Declare it.
848         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
849         attribute cc of instructions that may use clr.
850
851 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
852
853         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
854         (x - (x & y)) is found.
855
856 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
857
858         * configure.in: Fix typo.
859         * configure: Regenerate.
860
861 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
862
863         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
864
865 2003-02-13  Adam Nemet  <anemet@lnxw.com>
866
867         PR opt/2391
868         * combine.c: Fix spelling in comment.
869         (cached_nonzero_bits): New function.
870         (cached_num_sign_bit_copies): New function.
871         (nonzero_bits_with_known): New macro.
872         (num_sign_bit_copies_with_known): New macro.
873         (nonzero_bits1): Rename from nonzero_bits.  Add three new
874         arguments.  Change calls from nonzero_bits to
875         nonzero_bits_with_known.
876         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
877         three new arguments.  Change calls from num_sign_bit_copies to
878         num_sign_bit_copies_with_known.
879         (nonzero_bits): New macro.
880         (num_sign_bit_copies): New macro.
881         (update_table_tick): Don't traverse identical subexpression more
882         than once.
883         (get_last_value_validate): Likewise.
884
885 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
886
887         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
888         * function.h (struct emit_status): Length of regno_pointer_align
889         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
890         not regno_pointer_align_length (i.e. length actually used, not
891         length as allocated)
892
893         * config/i386/i386.c (struct stack_local_entry): New.
894         (struct machine_function): Replace huge array with alist.
895         (assign_386_stack_local): Change to match.
896
897 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
898
899         * inclhack.def (hpux_long_double): Tighten select and add bypass
900         regexp.
901         * fixincl.x: Rebuilt.
902
903 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
904
905         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
906         edge and block ends with a jump insn it must be simple jump.
907
908 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
909
910         * Makefile.in (PREPROCESSOR_DEFINES): Add
911         @TARGET_SYSTEM_ROOT_DEFINE@.
912         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
913         is specified or if building a cross compiler.
914         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
915         if the sysroot is under $exec_prefix.
916         * configure: Regenerated.
917         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
918         defined.
919         (struct default_include): Add add_sysroot field.
920         (cpp_SYSROOT): Declare.
921         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
922         field.
923         (cpp_SYSROOT): New variable.
924         * cppinit.c (cpp_create_reader): Initialize
925         CPP_OPTION (pfile, sysroot).
926         (init_standard_includes): Handle add_sysroot.  Do not
927         add unrelocated copies of relocated directories.
928         (COMMAND_LINE_OPTIONS): Add -isysroot.
929         (cpp_handle_option): Handle -isysroot.
930         * cpplib.h (struct cpp_options): Add sysroot member.
931         * gcc.c (The Specs Language): Update description of %I.
932         (target_system_root_changed): New variable.
933         (process_command): Conditionalize make_relative_prefix call
934         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
935         target_system_root_changed.
936         (do_spec_1): Add -isysroot to %I.
937         * doc/invoke.texi (Spec Files): Update description of %I.
938         * doc/install.texi (--with-sysroot): Update comment about
939         relocation.
940
941 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
942
943         * config/h8300/h8300.md (a peephole2): New.
944
945 2003-02-13  Robert Lipe <robertlipe@usa.net>
946             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
947
948         * doc/install.texi (Specific): Update three SCO-related URLs.
949
950 2003-02-13  Andreas Schwab  <schwab@suse.de>
951
952         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
953         Parenthesize properly.
954         (NPREDECESORS): Parenthesize properly.
955
956 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
957
958         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
959
960 2003-02-12  Roger Sayle  <roger@eyesopen.com>
961
962         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
963         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
964
965         * reg-stack.c (subst_stack_regs_pat): Add support for binary
966         UNSPEC instructions (e.g. "fpatan").
967
968 2003-02-12  Mike Stump  <mrs@apple.com>
969
970         * varray.c (element_size): Remove.
971         (uses_ggc): Remove.
972         (element): Add.
973         (varray_init): Use new interface.
974         (varray_grow): Use new interface.
975         (varray_clear): Use new interface.
976
977 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
978
979         * config/rs6000/spe.h: Add casts to the arguments of the following
980         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
981         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
982         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
983         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
984         __ev_get_u16, __ev_get_s16.
985
986 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
987
988         * config/h8300/h8300.md (a peephole2): New.
989
990 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
991
992         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
993         (OBJS): Add callgraph.o
994         (callgraph.o): New.
995         * c-decl.c (expand_body_1): Break out from ...
996         (expand_body): This one;  change calling convention
997         (finish_function): Move some of expand_body logic here.
998         (c_expand_deferred_function): Update call of expand_body
999         (c_expand_stmt): Use c_expand_body_1.
1000         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
1001         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
1002         * c-tree.h (c_expand_body): Declare.
1003         * callgraph.c: New file.
1004         * flags.h (flag_unit_at_a_time): Declare.
1005         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
1006         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
1007         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
1008         * langhooks.h (struct lang_hooks_for_callgraph): New.
1009         (struct lang_hooks): Add callgraph field.
1010         * toplev.c (flag_unit_at_a_time): New.
1011         (lang_independent_options): Add flag_unit_at_a_time.
1012         (process_options): Disable unit-at-a-time mode for frontends not
1013         supporting callgraph.
1014         * tree-inline.c (typedef struct inline_data): Add "decl"
1015         (expand_call_inline): Update callgraph.
1016         (optimize_inline_calls): Set id.decl.
1017         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
1018         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
1019         cgraph_calls_p): Declare.
1020         * invoke.texi (-funit-at-a-time): Document
1021
1022 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
1023
1024         * config/rs6000/spe.h: Fix misc formatting.
1025         (__ev_create_ufix32_fs): Cast ev argument.
1026         (__ev_create_sfix32_fs): Same.
1027         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
1028         (__ev_get_ufix32_fs_internal): Same.
1029
1030 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
1031
1032         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
1033         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
1034
1035 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
1036
1037         * cpplib.c (do_include_common): Move warnings for
1038         #include_next and #import out to callers.  Use early-return
1039         instead of nested ifs.  Don't do check_eol here.
1040         (parse_include): Do check_eol here with the rest of the
1041         parsing stuff.
1042         (do_include_next, do_import): Now handle warnings.
1043
1044 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1045
1046         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
1047
1048 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1049
1050         * predict.c (estimate_probability):  Fix roundoff error.
1051
1052 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1053
1054         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
1055         (two peephole2): New.
1056
1057 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
1058
1059         * config/h8300/h8300.md (several peephole2): Replace
1060         find_regno_note with peep2_reg_dead_p.
1061
1062 2003-02-11  Richard Henderson  <rth@redhat.com>
1063
1064         * gcse.c (lookup_set): Remove unused argument PAT.  Update
1065         both callers.
1066
1067 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1068
1069         * diagnostic.c (real_abort): New.
1070         (diagnostic_report_diagnostic): Call real_abort on error.
1071         * diagnostic.h (diagnostic_abort_on_error): New.
1072         (struct diagnostic_context): Add abort_on_error field.
1073         * toplev.c (setup_core_dumping): New.
1074         (decode_d_option): Handle 'H' case.
1075         * doc/invoke.texi (Debugging Options): Document -dH.
1076
1077 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
1078
1079         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
1080         which refers to obsolete directories.
1081
1082 2003-02-11  Richard Henderson  <rth@redhat.com>
1083
1084         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
1085
1086 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
1087
1088         * i386.c (contains_128bit_aligned_vector_p): New function.
1089         (ix86_function_arg_boundary): Properly align vector modes.
1090
1091 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
1092
1093         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
1094         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
1095         as a SET pattern.
1096
1097 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1098
1099         * builtins.c:  Fix failure caused by commiting wrong patch.
1100
1101 2003-02-11  Dale Johannesen  <dalej@apple.com>
1102         * ra-build.c (compare_and_free_webs):  Relax checking.
1103         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
1104         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
1105
1106 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1107
1108         PR optimization/9651
1109         * rtlanal.c (may_trap_p): Handle FIX.
1110
1111 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
1112
1113         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
1114         * doc/invoke.texi: Extra alias.
1115
1116 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
1117
1118         * config/rs6000/host-darwin.c: Fix comment.
1119
1120 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
1121
1122         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
1123         predicate for mod result.
1124
1125 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1126
1127         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
1128         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
1129         * fixincl.x: Rebuilt.
1130         * tests/base/stdlib.h: Update.
1131         * tests/base/ctype.h: New file.
1132
1133 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
1134
1135         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
1136
1137 2003-02-11  Richard Henderson  <rth@redhat.com>
1138
1139         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
1140         appropriated as globals.
1141         (ix86_expand_clrstr): Similarly.
1142         * config/i386/i386.md (cmpstrsi): Similarly.
1143
1144 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1145
1146         * config/h8300/h8300.md (a peephole2): Add a case of 255.
1147
1148 2003-02-11  Roger Sayle  <roger@eyesopen.com>
1149
1150         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
1151         (pow_optab, atan2_optab): Define corresponding macros.
1152         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
1153         * genopinit.c (optabs): Implement pow_optab and atan2_optab
1154         using pow?f3 and atan2?f3 patterns.
1155         * builtins.c (expand_errno_check): New function to update errno
1156         if necessary, split out from expand_builtin_mathfn.
1157         (expand_builtin_mathfn): Use expand_errno_check.
1158         (expand_builtin_mathfn_2): New function to handle expanding binary
1159         math functions, reusing the code in expand_errno_check.
1160         (expand_builtin): Handle the pow and atan2 math built-ins,
1161         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
1162         expand_builtin_mathfn_2.
1163
1164         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
1165
1166 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
1167
1168         * combine.c (combine_simplify_rtx): Fix folding of
1169         nested float_truncates.
1170
1171 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1172
1173         * config/h8300/h8300.md (a peephole2): Fix a typo.
1174
1175 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
1176
1177         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
1178         register number.
1179
1180 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
1181
1182         * config/h8300/h8300-protos.h: Add a prototype for
1183         gtuleu_operator.
1184         * config/h8300/h8300.c (gtuleu_operator): New.
1185         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
1186         * config/h8300/h8300.md (a peephole2): New.
1187
1188 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1189
1190         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
1191
1192 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
1193
1194         * predict.c (choose_function_section): Choose sections correctly.
1195
1196 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1197
1198         * reload1.c (first_label_num): New.
1199         (reload): Index offsets_known_at and offsets_at using difference of
1200         label number and first label number.  Don't use offset pointers.
1201         (set_label_offsets, set_initial_label_offsets): Likewise.
1202
1203 2003-02-10  Roger Sayle  <roger@eyesopen.com>
1204
1205         * mips-tfile.c (init_file): Add missing initializers in the
1206         "#ifdef __alpha" case.
1207         (file_offset, max_file_offset): Declare as unsigned long.
1208         (write_varray): Cast to "unsigned long" in comparisons against
1209         either file_offset or max_file_offset.
1210         (write_object): Likewise.
1211         (read_seek): Likewise.
1212         (copy_object): Likewise. Declare "ifd" as int to match its use
1213         in add_ext_symbol, and avoid signed/unsigned conditional warning.
1214
1215 2003-02-10  Nick Clifton  <nickc@redhat.com>
1216             Aldy Hernandez  <aldyh@redhat.com>
1217
1218         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
1219         override options which have been specified on the command line.
1220
1221 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1222
1223         * config/h8300/h8300.md (abssf2): New.
1224         (*abssf2_h8300): Likewise.
1225         (*abssf2_h8300hs): Likewise.
1226
1227 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
1228
1229         * tree.c (build_tree_list):  Fix parameter names in comment.
1230
1231 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
1232
1233         * config/rs6000/ppc64-fp.c: New file.
1234         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
1235
1236 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1237
1238         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
1239         * bb-reorder.c (make_reorder_chain): Deleted.
1240         (make_reorder_chain_1): Deleted.
1241         (find_traces): New function.
1242         (rotate_loop): New function.
1243         (mark_bb_visited): New function.
1244         (find_traces_1_round): New function.
1245         (copy_bb): New function.
1246         (bb_to_key): New function.
1247         (better_edge_p): New function.
1248         (connect_traces): New function.
1249         (copy_bb_p): New function.
1250         (get_uncond_jump_length): New function.
1251         (reorder_basic_blocks): Use new functions (Software Trace Cache).
1252         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
1253         boundaries.
1254
1255 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
1256
1257         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
1258
1259 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
1260
1261         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
1262         (DECL_LIVE_RANGE_RTL): Remove.
1263
1264 2003-02-10  Nick Clifton  <nickc@redhat.com>
1265
1266         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
1267         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
1268         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
1269         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
1270         config/arm/freebsd.h, config/arm/linux-elf.h,
1271         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
1272         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
1273         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
1274         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
1275         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
1276         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
1277         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
1278         and reformat as appropriate.
1279
1280 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
1281
1282         * config/h8300/clzsi2.c: Remove.
1283         * config/h8300/ctzsi2.c: Likewise.
1284         * config/h8300/paritysi2.c: Likewise.
1285         * config/h8300/popcountsi2.c: Likewise.
1286         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
1287         ctzsi2, paritysi2, and popcountsi2.
1288
1289 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
1290             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
1291
1292         PR c/7741
1293         * c-decl.c (duplicate_decls): Discard the initializer of the
1294         new decl when the types are conflicting.
1295
1296 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
1297
1298         * Makefile.in (sreal.o): Added.
1299         (predict.o): Depends on sreal.h instead of real.h.
1300         * sreal.c: New file.
1301         * sreal.h: New file.
1302         * predict.c: Use sreal.c instead of real.c.
1303
1304 2003-02-10  Nick Clifton  <nickc@redhat.com>
1305
1306         * Contributed support for the Cirrus EP9312 "Maverick"
1307         floating point co-processor.  Written by Aldy Hernandez
1308         <aldyh@redhat.com>.
1309         (config/arm/arm.c): Add Cirrus support.
1310         (config/arm/arm.h): Likewise.
1311         (config/arm/aout.h): Likewise.
1312         (config/arm/arm.md): Likewise.
1313         (config/arm/arm-protos.h): Likewise.
1314         (config.gcc): Likewise.
1315         (doc/invoke.texi): Describe new -mcpu value and new
1316         -mcirrus-fix-invalid-insns switch,
1317         (cirrus.md): New file.
1318
1319 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
1320
1321         * combine.c (combine_simplify_rtx): Simplify using
1322         (float_truncate (float x)) is (float x)
1323         (float_extend (float_extend x)) is (float_extend x).
1324
1325 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
1326
1327         * calls.c (try_to_integrate): Tidy stack_usage_map access.
1328         (emit_library_call_value_1): Likewise.  Formatting.
1329         (store_one_arg): Likewise.
1330
1331 2003-02-09  Nick Clifton  <nickc@redhat.com>
1332             Aldy Hernandez  <aldyh@redhat.com>
1333
1334         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
1335         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
1336         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
1337         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
1338         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
1339         docs.  Add range test for immediate value.
1340
1341 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
1342
1343         Rename spe_evxor to xorv2si3.
1344         (xorv4hi3): New.
1345         (xorv1di3): New.
1346
1347 2003-02-10  Glen Nakamura  <glen@imodulo.com>
1348
1349         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
1350         tag.
1351
1352 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1353
1354         * i386.c (vector_move_operand): New predicate.
1355         (ix86_expand_vector_move): Be happy about 0.
1356         * i386.h (PREDICATE_CODES): Add sse-move_operand.
1357         * i386.md (mov*_internal): Add 'C' alternative.
1358
1359 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
1360
1361         * i386.md (floathi*): Deal with SSE.
1362
1363 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
1364
1365         * simplify-rtx.c (simplify_unary_operation,
1366         simplify_binary_operation):  Deal with vector modes
1367         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
1368
1369 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
1370
1371         * toplev.c (rest_of_compilation): Recompute register usage after
1372         split_all_insns.
1373
1374 2003-02-09  Richard Henderson  <rth@redhat.com>
1375
1376         * libgcc-std.ver (__clztf2): New.
1377         (__ctztf2, __popcounttf2, __paritytf2): New.
1378         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
1379         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
1380         adjust code to match the different type sizes.
1381         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
1382         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
1383
1384         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
1385         TImode; select word_mode and twice that.
1386         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
1387         select the modes from float, double, and long double.
1388         (init_optabs): Remove duplicate initializations.
1389
1390 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1391
1392         * doc/install.texi: Squeeze and streamline section on
1393         testing and regression checking.
1394
1395 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
1396
1397         * i386.md (ahi?v*3): Set third operand type to TImode.
1398         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
1399
1400         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
1401         integer mode.
1402
1403         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
1404         Change code so they are arithmetic expressions now.
1405         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
1406         simplify_ternary_operation): Deal with VEC_* expressions.
1407
1408         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
1409
1410 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
1411
1412         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
1413         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
1414         possibly got duplicated.
1415
1416 2003-02-08  Richard Henderson  <rth@redhat.com>
1417
1418         * config/alpha/alpha.c (override_options): Turn off explicit
1419         relocs until post-peep2 code duplication resolved.
1420
1421 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1422
1423         * optabs.c (expand_unop): Widen clz properly when clz is done
1424         via libcall.
1425
1426 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1427
1428         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
1429         * config/h8300/crti.asm: Likewise.
1430         * config/h8300/crtn.asm: Likewise.
1431         * config/h8300/ctzsi2.c: Likewise.
1432         * config/h8300/fixunssfsi.c: Likewise.
1433         * config/h8300/h8300-protos.h: Likewise.
1434         * config/h8300/h8300.c: Likewise.
1435         * config/h8300/h8300.h: Likewise.
1436         * config/h8300/h8300.md: Likewise.
1437         * config/h8300/paritysi2.c: Likewise.
1438         * config/h8300/popcountsi2.c: Likewise.
1439         * config/h8300/rtems.h: Likewise.
1440
1441 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1442
1443         * doc/invoke.texi: Documentation for my previous commit.
1444         * doc/passes.texi: Ditto.
1445
1446 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1447
1448         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
1449         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1450         Declare.
1451         (DLTHE_FLAG_UPDATE_FREQ): New.
1452         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
1453         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
1454         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
1455         fix_bb_placement, fix_bb_placements, place_new_loop,
1456         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
1457         New static functions.
1458         (fix_loop_placement, can_duplicate_loop_p,
1459         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
1460         New functions.
1461
1462         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
1463         unswitch_loops): Declare.
1464         * loop-init.c: New file.
1465         * loop-unswitch.c: New file.
1466         * Makefile.in (loop-init.o, loop-unswitch.o): New.
1467         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
1468         * toplev.c (DFI_loop2): New dump.
1469         (flag_unswitch_loops): New.
1470         (lang_independent_options): Add it.
1471         (rest_of_compilation): Call new loop optimizer.
1472         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
1473
1474 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
1475
1476         * config/h8300/clzsi2.c: New.
1477         * config/h8300/ctzsi2.c: Likewise.
1478         * config/h8300/paritysi2.c: Likewise.
1479         * config/h8300/popcountsi2.c: Likewise.
1480         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
1481
1482 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
1483
1484         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
1485         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
1486         (ctzsi2): New pattern.
1487         (ffssi2): Use clz instead of unspec.
1488         (clzdi2): Rename from cntlzd2.
1489         (ctzdi2): New pattern.
1490         (ffsdi2): Use clz instead of unspec.
1491
1492 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
1493
1494         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
1495         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
1496         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
1497         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
1498
1499 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
1500
1501         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
1502
1503 2003-02-07  Richard Henderson  <rth@redhat.com>
1504
1505         PR 9226
1506         * gcse.c (local_cprop_find_used_regs): New.
1507         (local_cprop_pass): Use it.
1508
1509 2003-02-07  Fred Fish  <fnf@intrinsity.com>
1510
1511         * mips-tfile.c (parse_def): Parenthesize assignments to fix
1512         precedence bugs.
1513
1514 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
1515
1516         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
1517
1518 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1519
1520         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
1521         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
1522         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
1523         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
1524         builtin functions (and their __builtin_* variants).
1525         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
1526         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
1527         when not optimizing.
1528
1529         * doc/extend.texi: Document new pow and atan2 builtins, and
1530         their float and long double variants.  Realphabetize builtins.
1531
1532 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
1533
1534         * i386.md (sse2_nandv2di3): Fix.
1535
1536 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
1537
1538         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
1539         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
1540         definition.
1541         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
1542         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
1543
1544 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1545
1546         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
1547
1548 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
1549
1550         * cfg.c (dump_flow_info): Add back accidently deleted line.
1551
1552 2003-02-07  Andrey Petrov <petrov@netbsd.org>
1553
1554         * optabs.c (expand_float): Search wider integer modes first.
1555
1556 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
1557
1558         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
1559         based on preprocessor flag.
1560
1561 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1562             Richard Henderson  <rth@redhat.com>
1563
1564         * gcse.c (implicit_sets): New.
1565         (compute_hash_table_work): Include them in hash table.
1566         (find_implicit_sets, fis_get_condition): New.
1567         (one_cprop_pass): Allocate and free implicit_sets; call
1568         find_implicit_sets before building hash table.
1569
1570 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1571
1572         * config/t-netbsd (USER_H): Revert previous change.
1573
1574 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1575
1576         * doc/c-tree.texi (Namespaces): Fix typo.
1577
1578 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1579
1580         * regrename.c (do_replace, find_oldest_value_reg,
1581         copyprop_hardreg_forward_1): Update register attributes.
1582
1583 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1584
1585         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1586         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1587         variables starting with underscore.
1588         (struct unit_usage): New structure.
1589         (unit_usages, cycle_alt_unit_usages): New global variables.
1590         (check_unit_distribution_in_reserv): Remove it.
1591         (store_alt_unit_usage): New function.
1592         (check_regexp_units_distribution): Rewrite it.
1593
1594 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1595
1596         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1597         target_cpu_default.
1598         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1599         if not MASK_NO_SPACE_REGS.
1600         (output_call): Adjust return pointer, don't load new space register
1601         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1602         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1603         TARGET_NO_SPACE_REGS is true.
1604         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1605         conditions.
1606         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1607         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1608         true.  Use bve when TARGET_64BIT is true.
1609
1610 2003-02-06  Richard Henderson  <rth@redhat.com>
1611
1612         * combine.c (nonzero_bits): Fix double break.
1613
1614 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1615             Richard Henderson <rth@redhat.com>
1616
1617         PR c/9530
1618         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1619         from functions that return a float to functions that don't.
1620
1621 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1622
1623         * i386.c (x86_inter_unit_moves): New variable.
1624         (ix86_secondary_memory_needed): Fix 64bit case, honor
1625         TARGET_INTER_UNIT_MOVES
1626         * i386.h (x86_inter_unit_moves): Declare.
1627         (TARGET_INTER_UNIT_MOVES): New macro.
1628         * i386.md (movsi_1): Cleanup constraints; disable
1629         when not doing inter-unit moves.
1630         (movsi_1_nointernunit): New.
1631         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1632         (movdi_1_rex64_nointerunit): New.
1633         (mivsf_1): disable when not doing inter-unit moves.
1634         (movsf_1_nointerunit): New.
1635
1636         * basic-block.h (inside_basic_block_p):  Declare.
1637         * cfgbuild.c (inside_basic_block_p): Make global.
1638         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1639         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1640         update CFG.
1641         (fix_basic_block_boundaries, add_missing_bbs): New.
1642         (rank): Use profile.
1643         (scheudle_ebbs): Rely on CFG; update coments.
1644
1645 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1646
1647         * Makefile.in (host_hook_obj): New.
1648         (OBJS): Add $(host_hook_obj).
1649         (host_default.o): New rule.
1650         * config.gcc (host_hook_obj): New, default to host-default.o.
1651         (powerpc-*-darwin*): Use host-darwin.o.
1652         (out_host_hook_obj): New.
1653         * configure: Regenerate.
1654         * configure.in: Print information about out_host_hook_obj, substitute
1655         into output files.
1656         * host-default.c: New file.
1657         * hosthooks.h: New file.
1658         * toplev.c (general_init): Call host_hooks.extra_signals.
1659         * config/rs6000/host-darwin.c: New file.
1660         * config/rs6000/x-darwin: New file.
1661         * doc/hostconfig.texi: Add documentation for new host hook.
1662         Rearrange existing documentation.
1663
1664 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1665
1666         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1667         with *targetm.delegitimize_address.
1668         (rtl_for_decl_location): Likewise.
1669         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1670         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1671
1672         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1673         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1674         prototype.
1675         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1676         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1677         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1678         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1679         (ix86_find_base_term): Likewise.
1680         (maybe_get_pool_constant): Likewise.
1681
1682         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1683         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1684         prototype.
1685         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1686         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1687         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1688
1689 2003-02-05  Richard Henderson  <rth@redhat.com>
1690
1691         PR c/8602
1692         * integrate.c (output_inline_function): Reset input_filename
1693         and lineno from the decl before rest_of_compilation.
1694
1695 2003-02-05  Richard Henderson  <rth@redhat.com>
1696
1697         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1698         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1699         * doc/rtl.texi, doc/tm.texi: Document them.
1700
1701         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1702         of the value at zero properly.
1703         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1704         * simplify-rtx.c (simplify_unary_operation): Likewise.
1705
1706         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1707         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1708
1709         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1710         (TARGET_EXPAND_BUILTIN): Remove.
1711         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1712         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1713         (enum arm_builtins): Remove.
1714         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1715         (clzsi2): Rename from clz; use clz instead of unspec.
1716         (ctzsi2): New.
1717         * config/arm/arm-protos.h: Update.
1718
1719 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1720
1721         * i386-protos.h (x86_emit_floatuns):  Declare.
1722         * i386.c (x86_emit_floatuns): New global function.
1723         * i386.md (floatunssisf2, floatunsdisf2,
1724         floatunsdidf2):  New patterns.
1725
1726 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1727
1728         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1729
1730 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1731
1732         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1733           config/ia64/linux.h
1734
1735 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1736
1737         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1738
1739 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1740
1741         PR optimization/8555
1742         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1743         instead of aborting.
1744
1745 2003-02-04  Richard Henderson  <rth@redhat.com>
1746
1747         * config/i386/i386.md (UNSPEC_BSF): Remove.
1748         (ffssi2): Split into cmove and no_cmove insns and splitters;
1749         lose pentium float trick for now.
1750         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1751         (ctzsi2, clzsi2, bsr): New.
1752
1753 2003-02-04  Richard Henderson  <rth@redhat.com>
1754
1755         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1756         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1757         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1758         (ffsdi2): Use popcount instead of unspec.
1759         (popcountdi2): Rename from *popcnt.
1760         (ctzdi2, clzdi2, getf_exp_tf): New.
1761
1762 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1763
1764         * genconfig.c (main): Generate CC0_P.
1765         * rtl.h (CC0_P): Remove.
1766
1767 2003-02-04  Richard Henderson  <rth@redhat.com>
1768
1769         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1770         (__ffsDI2): Rename from __ffsdi2.
1771         * mklibgcc.in (lib2funcs): Add _ffssi2.
1772
1773 2003-02-04  Richard Henderson  <rth@redhat.com>
1774
1775         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1776         rounds with a "bit table" lookup.
1777
1778 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1779
1780         * reload.c (find_reloads): Do not use the mode specified in the insn
1781         pattern as reload mode for address operands.  Do not generate optional
1782         reloads for operands where a mandatory reload was already pushed.
1783
1784 2003-02-04  Richard Henderson  <rth@redhat.com>
1785
1786         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1787         builtins instead of inline assembly.
1788
1789 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1790
1791         PR c/9376
1792         * libgcc2.c (__subvdi3): Fix typo.
1793
1794 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1795
1796         * i386.md (movti_rex64):  Fix constraint.
1797
1798 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1799
1800         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1801
1802 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1803
1804         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1805
1806 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
1807
1808         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
1809         for recent libstdc++.  Remove formatting cruft.
1810
1811 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
1812
1813         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1814         attribute even if input file name is absolute, but one of the
1815         includes is relative.
1816
1817 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1818
1819         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1820         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1821         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
1822
1823 2003-02-03  Richard Henderson  <rth@redhat.com>
1824
1825         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1826         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1827         return type to "int".  Shuffle declarations and undef int trap.
1828         * libgcc2.h: Remove their declarations.
1829         * optabs.c (expand_unop): Force outmode to int for bitops.
1830
1831 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
1832
1833         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1834         coprocessor registers before floating-point registers.
1835         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1836         to account for a previously removed register.
1837         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1838         Delete unused macros.
1839
1840 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1841
1842         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
1843         (mov*_internal): Fix predicates; require one of operands to not be
1844         memory.
1845         (SSE?MMX move expanders):  Fix predicates; force one of operands to
1846         register.
1847         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1848         (movups/movupd/movdqu patterns): Force one of operands to not be
1849         memory.
1850
1851 2002-02-03  Roger Sayle  <roger@eyesopen.com>
1852
1853         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1854         takes a single rtx and returns it unmodified.
1855         * hooks.h (hook_rtx_rtx_identity): Prototype here.
1856         * target.h (struct gcc_target): Add "delegitimize_address"
1857         field to target structure.
1858         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
1859         for delegitimize_address target using hook_rtx_rtx_identity.
1860         (TARGET_INITIALIZER): Initialize delegitimize_address field
1861         using TARGET_DELEGITIMIZE_ADDRESS macro.
1862         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1863         extensions of constant pool references.  Use delegitimize_address
1864         to undo the obfuscation of "-fpic".
1865         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1866
1867         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1868         i386_simplify_dwarf_addr.
1869         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1870         (maybe_get_pool_constant): Likewise.
1871
1872 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1873
1874         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
1875
1876 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1877
1878         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1879
1880 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1881
1882         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
1883         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
1884
1885 2003-02-02  Andreas Schwab  <schwab@suse.de>
1886
1887         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1888
1889 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
1890
1891         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1892         (epilogue_insns): Likewise.
1893
1894 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1895
1896         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1897
1898 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1899
1900         * pa-protos.h (attr_length_millicode_call): Remove second argument.
1901         (attr_length_indirect_call, attr_length_indirect_call,
1902         attr_length_save_restore_dltp): New prototypes.
1903         * pa.c (attr_length_millicode_call): Remove second argument.  Check
1904         INSN_ADDRESSES_SET_P in distance calculation.
1905         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1906         INSN_ADDRESSES.
1907         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1908         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1909         Call attr_length_call directly.
1910         (attr_length_indirect_call, output_indirect_call,
1911         attr_length_save_restore_dltp): New functions.
1912         * pa.md (attr_length_millicode_call): Drop second argument from all
1913         patterns.
1914         (return_internal_pic): Delete.
1915         (return_external_pic): Remove use of PIC register and pic operand and
1916         flag checks.
1917         (epilogue): Use return_internal for both normal and pic code.
1918         (call, call_value): Emit new 32-bit pic patterns for symref and
1919         indirect calls.  Remove uses for arg pointer and pic register.
1920         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1921         call_reg_pic_post_reload, call_val_symref_pic,
1922         call_val_symref_pic_post_reload, call_val_reg_pic,
1923         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1924         Implement define_split and define_peephole2 patterns for pre reload
1925         patterns.
1926         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1927         call_value_internal_reg_64bit): Shorten names.
1928         (all call patterns): Explicitly indicate registers used and clobbered.
1929         Use attr_length_indirect_call and attr_length_save_restore_dltp for
1930         attribute length calculation.  Move code generation for indirect calls
1931         to output_indirect_call.
1932         (sibcall, sibcall_value): Don't restore PIC register.
1933         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1934         register retore.
1935
1936 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1937
1938         * doc/install.texi (Testing): Simplify and compress instructions
1939         concerning Dejagnu.
1940
1941 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1942
1943         * collect2.c (pexecute_pid): Rename to pid.
1944         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1945         pid.
1946
1947 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
1948
1949         * doc/extend.texi (Function Attributes): Remove documentation
1950         for PowerPC Windows NT function attributes..
1951
1952 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
1953
1954         * dwarf2out.c (gen_type_die): Check for typedefs before calling
1955         for TYPE_MAIN_VARIANT.
1956
1957 2003-02-01  Richard Henderson  <rth@redhat.com>
1958
1959         * libgcc2.c: Include auto-host.h.
1960         (ATTRIBUTE_HIDDEN): New.
1961         (__clz_tab): Don't declare here for clz and ctz.
1962         (__clzsi2, __clzdi2): Use count_leading_zeros.
1963         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1964         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1965         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1966         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1967
1968 2003-02-01  Richard Henderson  <rth@redhat.com>
1969
1970         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1971         to the conditional.
1972         (ashlsi3_1_zext splitter): Likewise.
1973
1974 2003-02-01  Richard Henderson  <rth@redhat.com>
1975
1976         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1977         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1978         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1979         return type to Wtype.
1980
1981         * libgcc-std.ver (GCC_3.4): Fix inheritance.
1982
1983         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1984         expander input constraint.
1985
1986 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1987
1988         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1989         OTI_parity.
1990         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1991         * optabs.c (widen_clz, expand_parity): New.
1992         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
1993         for libcalls to clz, ctz, popcount, and parity.
1994         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1995         parity_optab, and set up libfunc handlers.
1996         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1997         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1998         __popcount_tab): New.
1999         * libgcc2.h: Declare them.
2000         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
2001         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
2002         and parity_optab.
2003         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
2004         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
2005         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
2006         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
2007         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
2008         BUILT_IN_PARITYLL): New.
2009         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
2010         and add optab argument.
2011         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
2012         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
2013         * expr.c (expand_expr): Handle them.
2014         * fold-const.c (tree_expr_nonnegative_p): Likewise.
2015         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
2016         * reload1.c (eliminate_regs): Handle them.
2017         (elimination_effects): Likewise.
2018         * function.c (instantiate_virtual_regs_1): Likewise
2019         * genattrtab.c (check_attr_value): Likewise.
2020         * simplify-rtx.c (simplify_unary_operation): Likewise.
2021         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
2022         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
2023         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
2024         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
2025         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
2026         __builtin_arm_clz.
2027         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
2028         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
2029         * doc/extend.texi (Other Builtins): Add new builtins.
2030         * doc/md.texi (Standard Names): Add new patterns.
2031
2032 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
2033
2034         * reload.c: Revert 2003-01-31 change.
2035
2036 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
2037
2038         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
2039
2040 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
2041
2042         * flags.h (flag_volatile): Remove declaration.
2043         (flag_volatile_global, flag_volatile_static): Likewise.
2044         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
2045         * toplev.c (flag_volatile): Remove definition.
2046         (flag_volatile_global, flag_volatile_static): Likewise.
2047         (f_options): Remove corresponding entries here.
2048         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
2049         or flag_volatile_static.
2050         * doc/invoke.texi: Remove documentation of -fvolatile,
2051         -fvolatile-global and -fvolatile-static.
2052
2053 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2054
2055         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
2056         updating of total_code_bytes from prologue to epilogue.
2057
2058 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
2059
2060         * reload.c (find_reloads): Do not use the mode specified in the insn
2061         pattern as reload mode for address operands.  Do not generate optional
2062         reloads for operands where a mandatory reload was already pushed.
2063         Generate optional reloads only in the final pass though find_reloads.
2064         (have_replacement_p): New function.
2065
2066 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
2067
2068         * doc/install.texi (Testing): Remove a reference to our obsolete
2069         /testresults web pages and strip redundant information concerning
2070         test results.
2071         (Binaries): Refer to Microsoft Windows instead of listing all
2072         possible variants.
2073
2074 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
2075
2076         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
2077         RTL chain.
2078
2079         * combine.c (simplify_set): Reverse order of ragumetns to
2080         REG_CANNOT_CHANGE_MODE_P
2081         * df.c (df_def_record_1): Likewise.
2082         * recog.c (register_operand): Likewise.
2083         * simplify-rtx.c (simplify_subreg): Likewise.
2084         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
2085         CANNOT_CHANGE_MODE_CLASS.
2086         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
2087         Likewise.
2088         * reload.c (push_reload): Likewise.
2089         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2090         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2091         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2092         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
2093         * mips.c (mips_cannot_change_mode_class): Update.
2094         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2095         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2096         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2097         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
2098         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
2099         * sh.c (sh_cannot_change_mode_class): Update.
2100         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
2101         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
2102
2103 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
2104
2105         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
2106         change to LINK_COMMAND_SPEC in gcc.c.
2107
2108 2003-01-31  Jan Hubicka  <jh@suse.cz>
2109
2110         PR c/9506
2111         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
2112
2113 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2114
2115         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
2116         duplicated code.
2117
2118 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
2119
2120         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
2121         (BINFO_ELTS): New #define.
2122         * stor-layout.c (finalize_record_size): Don't set them.
2123         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
2124         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
2125         (BINFO_LANG_ELTS): New #define.
2126         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
2127         * java/class.c (make_class): Use BINFO_ELTS.
2128         (set_super_info): Likewse.
2129         (add_interface_do): Likewise.
2130         * objc/objc-act.c (start_class): Use BINFO_ELTS.
2131
2132 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
2133
2134         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
2135         (times): Don't ever declare if not HAVE_TIMES.
2136         (clock): Don't ever declare if not HAVE_CLOCK.
2137
2138 2003-01-30  Richard Henderson  <rth@redhat.com>
2139
2140         * flow.c (update_life_info): Zap life info after cleanup_cfg.
2141         (regno_uninitialized): Use correct live at function entry set.
2142         (regno_clobbered_at_setjmp): Likewise.
2143
2144         * expr.c (store_expr): Promote all MEM intermediates to regs.
2145
2146 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2147
2148         * config/arm/arm.c: Fix comment typos.
2149         * config/arm/arm.h: Likewise.
2150         * config/arm/netbsd-elf.h: Likewise.
2151         * config/arm/netbsd.h: Likewise.
2152
2153 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
2154
2155         * gengtype.c (struct walk_type_data): Add needs_cast_p.
2156         (walk_type): Set needs_cast_p in walk_type_data.
2157         (write_types_process_field): Supply casts when required to suppress
2158         warnings.
2159         (write_root): Cast gt_pch_n_S to suppress warning.
2160         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
2161         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
2162         when they might exist.
2163         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
2164         insn-conditions.o, and rs6000.o.
2165
2166 2003-01-30  Richard Henderson  <rth@redhat.com>
2167
2168         * ggc-page.c (G.context_depth_allocations): New.
2169         (G.context_depth_collections): New.
2170         (alloc_page): Set G.context_depth_allocations.
2171         (ggc_collect): Set G.context_depth_collections.
2172         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
2173         (ggc_pop_context): Early exit for no allocations or collections.
2174
2175 2003-01-30  Richard Henderson  <rth@redhat.com>
2176
2177         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
2178
2179 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
2180
2181         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
2182         size, the link register is always saved if any other register is
2183         saved.
2184
2185 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2186
2187         * config/h8300/h8300-protos.h: Update the prototype for
2188         compute_plussi_cc.
2189         (cpp_reader): Declare before it is used.
2190         * config/h8300/h8300.c (compute_plussi_cc): Change the return
2191         type to int.
2192         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
2193         see an unknown H8 variant.
2194
2195 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
2196
2197         PR target/9316
2198         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
2199         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
2200         * config/rs6000/t-rtems: New file. multilib variants to match OS.
2201         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
2202         rs6000/t-ppcgas so we get the desired multilibs.
2203
2204 2003-01-30  Nick Clifton  <nickc@redhat.com>
2205
2206         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
2207         when popping saved IP register off the stack.
2208
2209 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2210
2211         * config/rs6000/aix43.h: Fix comment typos.
2212         * config/rs6000/aix51.h: Likewise.
2213         * config/rs6000/aix52.h: Likewise.
2214         * config/rs6000/altivec.h: Likewise.
2215         * config/rs6000/rs6000.c: Likewise.
2216         * config/rs6000/rs6000.h: Likewise.
2217         * config/rs6000/rs6000.md: Likewise.
2218         * config/rs6000/spe.md: Likewise.
2219
2220 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
2221
2222         * c-common.c (builtin_define_float_constants): Define
2223         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
2224
2225 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
2226
2227         * config/sh/lib1funcs.asm: Fix comment typos.
2228         * config/sh/linux.h: Likewise.
2229         * config/sh/sh.c: Likewise.
2230         * config/sh/sh.md: Likewise.
2231
2232 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
2233
2234         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
2235
2236 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
2237
2238         * config/fp-bit.h (__make_dp): Declare if TMODES.
2239
2240 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
2241
2242         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
2243         general_operand_src and general_operand_dst.
2244
2245 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
2246
2247         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
2248         Return true for variable sized types.
2249         (rs6000_va_arg): Handle variable sized types passed by reference
2250         on non-SVR4 ABI.
2251
2252 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
2253
2254         * arm.c (arm_legtimize_address): New function.
2255         * arm-protos.h (arm_legtimize_address): Add prototype.
2256         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
2257         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
2258         do ... while (0)
2259
2260 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2261
2262         PR bootstrap/9296
2263         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
2264         depended on it being defined until now.
2265
2266 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2267
2268         PR target/9295
2269         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
2270         RTEMS code knows which C++ initialization style the toolset
2271         configuration is using.
2272
2273 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2274
2275         PR bootstrap/9293
2276         * config/m68k/t-crtstuff: Replace spaces with tabs, add
2277          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
2278
2279 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
2280
2281         PR bootstrap/9292
2282         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
2283         RTEMS threads.
2284         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
2285
2286 2003-01-29  Nick Clifton  <nickc@redhat.com>
2287
2288         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
2289         not $(srcdir).
2290
2291 2003-01-29  Andrew Haley  <aph@redhat.com>
2292
2293         * tree-inline.c (walk_tree): Add CHAR_TYPE.
2294
2295 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2296
2297         * i386.md (subdi3_carry_rex64): Fix typo.
2298
2299 2003-01-28  Stan Shebs  <shebs@apple.com>
2300
2301         * coretypes.h (cpp_reader): Forward declare struct.
2302         * c-pragma.h (cpp_reader): Remove forward declaration.
2303         * hashtable.h (cpp_reader): Likewise.
2304         * scan.h (cpp_reader): Likewise.
2305         * tree.h (cpp_reader): Likewise.
2306         * config/darwin-protos.h (cpp_reader): Likewise.
2307         * config/arm/arm-protos.h (cpp_reader): Likewise.
2308         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
2309         struct cpp_reader in prototypes.
2310
2311 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
2312
2313         * doc/install.texi: Add documentation for installation into
2314         tooldirs and with DESTDIR.
2315
2316 2003-01-28  Richard Henderson  <rth@redhat.com>
2317
2318         * config.gcc (ia64*-*-aix*): Remove.
2319         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
2320         * config/ia64/unwind-aix.c: Remove file.
2321
2322 2003-01-28  Andreas Schwab  <schwab@suse.de>
2323
2324         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
2325         register.
2326         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
2327         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
2328         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
2329         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
2330         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
2331         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
2332         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
2333
2334 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2335
2336         * combine.c (nonzero_bits): Fix check for negative divide operands.
2337
2338 2003-01-28  Richard Henderson  <rth@redhat.com>
2339
2340         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
2341         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
2342
2343 2003-01-28  Richard Henderson  <rth@redhat.com>
2344
2345         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
2346
2347         * config/cris/cris.c (cris_address_cost): Make static.
2348         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
2349         * config/cris/cris.h (ADDRESS_COST): Remove.
2350         * config/cris/cris-protos.h: Update.
2351
2352 2003-01-23  Mike Stump  <mrs@apple.com>
2353
2354         * regclass.c (init_reg_autoinc): New function.
2355         (regclass): Move initialization of forbidden_inc_dec_class from
2356         here...
2357         (init_regs): to here.  Avoids reinitialization for each function,
2358         saving compilation time.
2359
2360 2003-01-28  Jason Merrill  <jason@redhat.com>
2361
2362         * cpplib.h (struct cpp_options): Add warn_deprecated field.
2363         * cppinit.c (cpp_create_reader): Turn it on by default.
2364         * c-opts.c (c_common_decode_option): Set it.
2365         * cpplib.c (do_pragma_once): Only complain about #pragma once
2366         if warn_deprecated is set.
2367
2368 2003-01-28  Dale Johannesen  <dalej@apple.com>
2369
2370         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
2371         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
2372         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
2373
2374 2003-01-28  Richard Henderson  <rth@redhat.com>
2375
2376         * target.h (targetm.address_cost): New.
2377         * target-def.h (TARGET_ADDRESS_COST): New.
2378         (TARGET_RTX_COSTS): Uncomment.  Oops.
2379         * cse.c (address_cost): Use new target hook.
2380         (default_address_cost): New.
2381         * output.h (default_address_cost): Declare.
2382         * hooks.c (hook_int_rtx_0): New.
2383         * hooks.h (hook_int_rtx_0): Declare.
2384         * loop.c (combine_givs_p): Remove if 0 code.
2385         * system.h (ADDRESS_COST): Poison.
2386
2387         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
2388         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
2389         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
2390         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
2391         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
2392         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
2393         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2394         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
2395         (ADDRESS_COST): Remove.
2396
2397         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
2398         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
2399         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
2400         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
2401         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
2402         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
2403         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
2404         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
2405         config/mips/mips.c, config/mips/mips.h,
2406         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
2407         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
2408         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
2409         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
2410         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
2411         config/vax/vax.c, config/vax/vax.h
2412         (foo_address_cost): Make static.
2413         (TARGET_ADDRESS_COST): New.
2414         (ADDRESS_COST): Remove.
2415
2416         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
2417         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
2418         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
2419         config/stormy16/stormy16.h
2420         (ADDRESS_COST): Move code ...
2421         (foo_address_cost): ... here.
2422         (TARGET_ADDRESS_COST): New.
2423
2424         * config/m32r/m32r.c (m32r_address_cost): Remove.
2425         * config/m32r/m32r-protos.h: Update.
2426
2427         * config/mmix/mmix.c (mmix_address_cost): Remove.
2428         * config/mmix/mmix-protos.h: Update.
2429
2430         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
2431         mn10300_address_cost; move unsig allocation ...
2432         (mn10300_address_cost): ... here.
2433         (TARGET_ADDRESS_COST): New.
2434         * config/mn10300/mn10300-protos.h: Update.
2435         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
2436
2437         * doc/tm.texi: Update.
2438
2439 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2440
2441         * haifa-sched.c (schedule_insn): Return necessary cycle advance
2442         after issuing the insn.
2443         (rank_for_schedule): Make a insn with /S the highest priority
2444         insn.
2445         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
2446         (choose_ready): Check SCHED_GROUP_P.
2447         (schedule_block): Advance cycle after issuing insn if it is
2448         necessary.  Don't reorder insns if there is an insn with /S.
2449         (set_priorities): Ignore schedule groups.
2450
2451         * sched-deps.c (remove_dependence, group_leader): Remove the
2452         functions.
2453         (add_dependence): Ignore schedule groups.
2454         (set_sched_group_p): Don't make copy of dependencies from previous
2455         insn of the schedule group.  Add anti-dependency to the previous
2456         insn of the schedule group.
2457         (compute_forward_dependences): Ignore schedule groups.
2458
2459         * sched-ebb.c (init_ready_list): Ignore schedule groups.
2460
2461         * sched-rgn.c (init_ready_list): Ditto.
2462         (can_schedule_ready_p): Ditto.
2463
2464 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
2465
2466         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
2467         register to another one.
2468
2469 2003-01-28  Richard Henderson  <rth@redhat.com>
2470
2471         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
2472
2473 2003-01-28  Roger Sayle  <roger@eyesopen.com>
2474
2475         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
2476
2477 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
2478
2479         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
2480         class contains a floating-point register, return the size of the
2481         mode in half words.
2482
2483 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
2484
2485         * i386.c (ix86_carry_flag_operator):  New predicate.
2486         (fcmov_operator): Fix whitespace.
2487         (ix86_expand_carry_flag_compare):  Deal with floating point.
2488         (ix86_expand_int_movcc): Deal with fp; update insn expansion
2489         (ix86_expand_int_addcc): Likewise.
2490         (ix86_expand_strlensi_unroll_1): likewsie.
2491         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
2492         * i386.md (add?i_carry_rex64): Use new predicate.
2493         (sub?i3_carry_rex64): Likewise.
2494         (x86_mov?icc_0_m1*): Likewise.
2495
2496 2003-01-28  Andreas Schwab  <schwab@suse.de>
2497
2498         * cfgloopmanip.c (create_preheader): Initialize src to avoid
2499         warning.
2500
2501         * expmed.c (emit_store_flag): Fix cast to avoid sign
2502         comparison warning.
2503
2504         * combine.c (force_to_mode): Add cast to fix warning when
2505         STORE_FLAG_VALUE is negative.
2506
2507 2003-01-27  Richard Henderson  <rth@redhat.com>
2508
2509         * Makefile.in (cse.o): Depend on TARGET_H.
2510         * cse.c (rtx_cost): Use targetm.rtx_costs.
2511         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
2512         * doc/tm.texi: Update.
2513
2514         * target.h (targetm.rtx_costs): New.
2515         * target-def.h (TARGET_RTX_COSTS): New.
2516         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
2517         * hooks.h: Update.
2518
2519         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
2520         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
2521         * config/alpha/alpha.h (PROCESSOR_MAX): New.
2522         (CONST_COSTS, RTX_COSTS): Remove.
2523
2524         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
2525         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
2526         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
2527         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
2528         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
2529         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
2530         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
2531         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
2532         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
2533         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
2534         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
2535         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
2536         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
2537         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
2538         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
2539         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
2540         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
2541         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
2542         config/v850/v850.c, config/v850/v850.h,
2543         config/xtensa/xtensa.c, config/xtensa/xtensa.h
2544         (CONST_COSTS, RTX_COSTS): Move code ...
2545         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
2546
2547         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
2548         (arm_rtx_costs, TARGET_RTX_COSTS): New.
2549         * config/arm/arm-protos.h: Update.
2550         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
2551
2552         * config/avr/avr.h (CONST_COSTS): Move code ...
2553         * config/avr/avr.c (avr_rtx_costs): ... here.
2554         (default_rtx_costs): Make static.
2555         * config/avr/avr-protos.h: Update.
2556
2557         * config/h8300/h8300.c (const_costs): Make static.
2558         (h8300_and_costs, h8300_shift_costs): Likewise.
2559         * config/h8300/h8300-protos.h: Update.
2560
2561         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2562         (CONST_COSTS): Move code ...
2563         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2564         default_rtx_costs; update for signature change.
2565         * config/ip2k/ip2k-protos.h: Update.
2566
2567         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2568         (CONST_COSTS): Move code ...
2569         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2570         (TARGET_RTX_COSTS): New.
2571         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2572         * config/m68hc11/m68hc11-protos.h: Update.
2573
2574         * config/m68k/m68k.c (const_int_cost): Make static.
2575         * config/m68k/m68k-protos.h: Update.
2576
2577         * config/mcore/mcore.c (mcore_const_costs): Make static.
2578         (mcore_and_cost, mcore_ior_cost): Likewise.
2579         * config/mcore/mcore-protos.h: Update.
2580
2581         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2582         (mmix_rtx_cost_recalculated): Remove.
2583         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2584         * config/mmix/mmix-protos.h: Update.
2585
2586         * config/sh/sh.c (shiftcosts): Make static.
2587         (addsubcosts, andcosts, multcosts): Likewise.
2588         * config/sh/sh-protos.h: Update.
2589
2590         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2591         (sparc_rtx_costs): Make static; update for change in signature.
2592         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2593         * config/sparc/sparc-protos.h: Update.
2594
2595         * config/v850/v850.c (const_costs): Make static.
2596         * config/v850/v850-protos.h: Update.
2597
2598         * config/vax/vax.h (RTX_COSTS): Remove.
2599         (CONST_COSTS): Move code ...
2600         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2601         from vax_rtx_cost.
2602         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2603
2604 2003-01-27  Richard Henderson  <rth@redhat.com>
2605
2606         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2607         * config/vax/vax-protos.h: Update.  Really.
2608
2609 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2610
2611         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2612         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2613         zero if no hardware floating point.
2614         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2615         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2616         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2617         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2618         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2619         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2620         even FP registers on N32 and N64.
2621         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2622         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2623         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2624         even-register-like alignment to 128-bit arguments.
2625         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2626         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2627         on N32 or N64.
2628         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2629         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2630         (TPBIT): Set to tp-bit.c.
2631         (tp-bit.c): Create out of fp-bit.c.
2632
2633 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2634
2635         * c-parse.in: Remove '%expect 32' directive in objc mode.
2636
2637 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2638
2639         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2640         (LIBGCOV): New variable.
2641         (libgcc.mk): Add LIBGCOV.
2642         (LIBGCC_DEPS): Add libgcov.c.
2643         (libgcov.a): New target.
2644         (clean): Remove libgcov.a.
2645         (install-libgcc): Do libgcov too.
2646         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2647         with libgcov.a.
2648         * libgcc2.c (L_gcov): Move into ...
2649         * libgcov.c: ... here. New file.
2650         * mklibgcc.in: Add libgcov rules.
2651         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2652
2653         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2654         clarify.
2655
2656         * profile.c (index_counts_file): Remove duplicate check for open file.
2657
2658 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2659
2660         * gcc/doc/invoke.texi (Optimization Options): Group together
2661         optional and experimental flags.  Move trapv and bounds-check
2662         out of this section.  Group floating point flags together.
2663         (Code Gen Options): Move trapv and bounds-check to here.
2664
2665 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2666
2667         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2668
2669 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2670
2671         PR optimization/9090
2672         * function.c (purge_addressof_1): After pushing an addressed register
2673         onto the stack, simplify the result.
2674
2675 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2676
2677         * doc/extend.texi: Fix typo.
2678
2679 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2680
2681         * doc/cppopts.texi: Fix typo.
2682         * doc/objc.texi: Likewise.
2683         * doc/passes.texi: Likewise.
2684
2685 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2686
2687         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2688         (encode_ibm_extended): Adjust.
2689
2690 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2691
2692         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2693         timevar_id enumerations.
2694
2695 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2696
2697         * combine.c: Fix formatting.
2698
2699 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2700
2701         * doc/gccint.texi: Update the copyright.
2702
2703 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2704
2705         * doc/cpp.texi: Fix typos.
2706         * doc/extend.texi: Likewise.
2707         * doc/gty.texi: Likewise.
2708         * doc/install.texi: Likewise.
2709         * doc/passes.texi: Likewise.
2710         * doc/rtl.texi: Likewise.
2711         * doc/tm.texi: Likewise.
2712
2713 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2714
2715         * config/ia64/fde-glibc.c: Fix comment typos.
2716         * config/ia64/hpux.h: Likewise.
2717         * config/ia64/ia64.c: Likewise.
2718         * config/ia64/ia64.h: Likewise.
2719         * config/ia64/unwind-ia64.c: Likewise.
2720
2721 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2722
2723         * config/i386/i386-modes.def: Fix comment typos.
2724         * config/i386/i386.c: Likewise.
2725         * config/i386/i386.md: Likewise.
2726
2727 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2728
2729         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2730         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2731         ASM_FINISH_DECLARE_OBJECT before defining it.
2732         * toplev.c (rest_of_decl_compilation):  Don't define
2733         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2734         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2735         parameters for DWARF2 targets because they _are_ used.
2736
2737 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2738
2739         * fp-bit.h: Define macros for TFmode floating-point constants
2740         in IBM-extended TFmode types.
2741         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2742         widths.
2743         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2744         TFmode type.
2745
2746         * config/fp-bit.h: Define macros for TFmode floating-point
2747         constants in IEEE quad TFmode type.  Declare functions according
2748         to L_ macros.
2749         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2750         (TFtype, TItype, UTItype): Define if TMODES is defined.
2751         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2752         (F_T_BITOFF, D_T_BITOFF): Define.
2753         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2754         guaranteed to be wide enough.
2755         * config/fp-bit.c: Check for L_ macros for tf functions.
2756         (__thenan_tf): New.
2757         (nan): Adjust.
2758         (pack_d, unpack_d): Support IEEE 854 quad type.
2759         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2760         from FRAC_NBITS, FRAC_BITS and NGARDS.
2761         (usi_to_float): Cast constants to be shifted to fractype
2762         instead of assuming long long is wide enough.
2763         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2764
2765 2003-01-26  Andreas Jaeger  <aj@suse.de>
2766
2767         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2768
2769 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2770
2771         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2772         (DBBIT_FUNCS): Added _df_to_tf.
2773         (TPBIT_FUNCS): New.
2774         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2775         (LIBGCC_DEPS): Added TPBIT.
2776         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2777
2778         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2779         been able to move the result to target.
2780
2781         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2782         for the appropriate mode.
2783
2784         * calls.c (emit_library_call_value_1): Handle return values
2785         in a PARALLEL.
2786
2787         * rtl.c (get_mode_alignment): Moved to...
2788         * stor-layout.c: ... here.
2789
2790         * print-rtl.c (print_rtx): Don't print MEM details in
2791         GENERATOR_FILEs.
2792
2793 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2794
2795         * df.h: Update comments, tidy formatting.
2796         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2797         REVERSE, UNION, INTERSECTION.  All uses updated.
2798         (OLD_DF_INTERFACE): Remove.
2799         (struct insn_info): Remove commented out insn field.
2800         * df.c: Update comments, tidy formatting.
2801         (df_def_table_realloc): Remove.
2802
2803
2804 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
2805
2806         * calls.c (save_fixed_argument_area): Tidy.
2807         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
2808         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
2809         call chain loop at 1 if !try_tail_call.  Formatting.
2810         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2811         Use save_fixed_argument_area and restore_fixed_argument_area.
2812
2813 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2814
2815         * df.c (df_uses_record): Handle CC0.
2816
2817 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2818
2819         * reload.c (maybe_memory_address_p): New function.
2820         (find_reloads_address): Use it instead of memory_address_p.
2821
2822 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2823
2824         * final.c (shorten_branches): Align the address of code label
2825         when computing initial lengths and addresses.
2826
2827 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2828
2829         * config/m68hc11/m68hc11.md: Fix a comment typo.
2830
2831 2003-01-25  Andreas Jaeger  <aj@suse.de>
2832
2833         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2834         TARGET_MACHO.
2835
2836 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2837
2838         * gcse.c (bypass_last_basic_block): New global variable.
2839         (bypass_block):  Use redirect_edge_and_branch_force to redirect
2840         fall-through edges.  Use bypass_last_basic_block to determine
2841         which blocks have valid PRE information.
2842         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2843
2844 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2845
2846         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2847
2848 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2849                               Eric Botcazou <ebotcazou@libertysurf.fr>
2850         PR opt/8492
2851         * gcse.c (one_cprop_pass): Delete unreachable blocks.
2852
2853 2003-01-25  Richard Henderson  <rth@redhat.com>
2854
2855         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2856         from ia64_aix_select_rtx_section.
2857         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2858         instead of saving and restoring flag_pic.
2859         (ia64_rwreloc_unique_section): Similarly.
2860         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2861         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2862         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2863         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2864
2865 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2866
2867         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2868         comment.
2869
2870 2002-01-25  Richard Henderson  <rth@redhat.com>
2871
2872         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2873
2874 2002-01-25  Kelley Cook <kelleycook@comcast.net>
2875
2876         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2877
2878 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
2879
2880         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2881         type for bitmaps.  Use unsigned long.
2882         (nBITMAP_WORD_BITS): New macro.
2883         (BITMAP_WORD_BITS): New macro.
2884         (rest of file): Use it.
2885         * bitmap.c: Use it.
2886
2887 2003-01-25  Richard Henderson  <rth@redhat.com>
2888
2889         2002-02-19  Robert Lipe  <robertlipe@usa.net>
2890         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2891
2892 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2893
2894         * builtins.c (purge_builtin_constant_p): Scan insn stream
2895         sequentially rather than by basic block.
2896         * function.c (purge_addressof): Simplify test with INSN_P.
2897
2898 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2899
2900         * combine.c (simplify_comparison, case AND): Remove a redundant test.
2901
2902 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2903
2904         * function.h (struct function): New field calls_constant_p.
2905         (current_function_calls_constant_p): New macro for above.
2906         * function.c (prepare_function_start): Initialize calls_eh_return
2907         and calls_constant_p.
2908         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2909         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2910         when the current_function_calls_constant_p.
2911         * integrate.c (expand_inline_function): Set calls_constant_p if
2912         the function being inlined has calls_constant_p set.
2913
2914 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2915
2916         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2917         optimizing, even if flag_gcse is true.
2918         * toplev.c (rest_of_compilation): purge_builtin_constant_p
2919         only needs to be called when "optimize > 0 && flag_gcse".
2920
2921 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2922
2923         * stmt.c (emit_case_bit_tests): New routine to implement suitable
2924         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2925         (case_bit_test_cmp): New comparison function for "qsort" to order
2926         case_bit_tests by decreasing number of destination nodes.
2927         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2928         (expand_end_case_type): Use emit_case_bit_tests to implement
2929         suitable switch statments.
2930         (CASE_USE_BIT_TESTS): New target macro to disable the above.
2931         * Makefile.in (stmt.o): Add dependency on optab.h.
2932         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2933
2934 2003-01-23  Andreas Schwab  <schwab@suse.de>
2935
2936         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2937         __do_global_ctors_aux hidden global and don't put it in
2938         .init_array.
2939         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2940         instead so that it comes first.
2941
2942 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2943
2944         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
2945         subreg is read/modify.
2946
2947 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
2948
2949         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2950         do libcall for large blocks.
2951         * i386.md (comi patterns): Set type to ssecomi.
2952         (sse2_unpck?pd): Fix mode of vec_select.
2953
2954         * cse.c: Include except.h
2955         (cse_set_around_loop):  Do not create new basic blocks.
2956         * Makefile.in (cse.o): Add dependnecy on except.h
2957
2958 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2959
2960         * builtins.c (fold_trunc_transparent_mathfn): New function.
2961         (fold_builtin): Use it.
2962         * convert.c (convert_to_real): Re-enable code to convert
2963         math functions; add support for floor familly functions.
2964
2965 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2966
2967         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2968         dependencies on coretypes.h and $(TM_H).
2969
2970 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
2971
2972         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
2973
2974 2002-01-24  Stuart Hastings  <stuart@apple.com>
2975
2976         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
2977
2978 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2979
2980         * config/c4x/c4x.md (UNSPEC_BU): New constants.
2981         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2982         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2983         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2984         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
2985         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
2986         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
2987         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
2988
2989 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2990
2991         * emit-rtl.c (reg_attrs_htab): New static variable.
2992         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2993         functions.
2994         (reg_rtx): Do not maintain regno_decl.
2995         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2996         set_mem_attrs_from_reg): New global function.
2997         (init_emit): Do not initialize regno_decl.
2998         (init_emit_once): initialize reg_attrs_htab.
2999         * final.c (alter_subreg): Do not replace REG by SUBREG.
3000         (gen_mem_expr_from_op): Improve output.
3001         (output_asm_operands): Likewise.
3002         * function.c (assign_params): Do not set REGNO_DECL.
3003         * function.h (struct function): Kill regno_decl.
3004         (REGNO_DECL): Kill.
3005         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
3006         * print_rtl.c (print_rtx): Output REG information.
3007         * regclass.c (reg_scan_mark_refs): Update attrs.
3008         * reload1.c (alter_reg): Likewise.
3009         * simplify_rtx.c (simplify_subreg): Likewise.
3010         * stmt.c (expand_decl): Likewise.
3011         * rtl.def (REG): Add new field.
3012         * rtl.h (struct reg_attrs): New.
3013         (rtunion_def): At rtreg.
3014         (X0MEMATTR): Add checking.
3015         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
3016         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
3017         Declare.
3018         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
3019
3020 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3021
3022         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
3023         (xtensa_emit_call, print_operand): Fix printf format strings
3024         to avoid compile warnings.
3025         (xtensa_function_prologue, xtensa_function_epilogue): Change type
3026         of "size" argument to HOST_WIDE_INT to fix compile warnings.
3027         * config/xtensa/xtensa-protos.h
3028         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
3029
3030 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
3031
3032         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
3033         (implicit_built_in_decls): New global array.
3034         (mathfn_built_in): New global function.
3035         (fold_trunc_transparent_mathfn): New static function
3036         (expand_builtin_strstr, expand_bultin_strchr,
3037         expand_builtin_strpbrk, expand_builtin_strcpy,
3038         expand_builtin_strncpy, expand_bultin_strcmp,
3039         expand_bultin_strncat, expand_builtin_fputs): Use
3040         implicint_built_in_decls.
3041         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
3042         * builtins.def: Fix comments.
3043         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
3044         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
3045         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
3046         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
3047         (DEF_C99_C90RES_BULTIN): New.
3048         (*f, *l builtins): Update.
3049         * c-common.c (DEF_BUILTIN): Initialize implicit array.
3050         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
3051         * convert.c (strip_float_extensions): New global function.
3052         * tree.h (DEF_BUILTIN): Accept 10 arguments.
3053         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
3054         Declare.
3055         * java/builtins.c (define_builtin): Handle implicit.
3056         (DEF_BUILTIN): Update.
3057         * tm.texi (TARGET_C99_FUNCTIONS): Document.
3058         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
3059         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
3060         when using glibc2.
3061
3062 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
3063
3064         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
3065         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
3066         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
3067         * config/xtensa/crti.asm: New file.
3068         * config/xtensa/crtn.asm: New file.
3069         * config/xtensa/t-elf: New file.
3070         * config/xtensa/t-linux: New file.
3071         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
3072         Move various CFLAGS settings to new t-elf file.
3073
3074 2003-01-24  Richard Henderson  <rth@redhat.com>
3075
3076         PR optimization/4382
3077         * tree-inline.c (find_builtin_longjmp_call_1): New.
3078         (find_builtin_longjmp_call): New.
3079         (inlinable_function_p): Use it.
3080
3081 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3082
3083         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
3084         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
3085         * config/i386/i386.c (function_arg_pass_by_reference): New.
3086         (ix86_va_arg): Support arguments passed by reference.
3087
3088 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3089
3090         * cfgloopanal.c: New file.
3091         * cfgloopmanip.c: New file.
3092         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
3093         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
3094         cfglayout.o): Add dependency on cfgloop.h.
3095         (cfgloop.o): Add flags.h dependency.
3096         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
3097         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
3098         (struct loop, struct loops, flow_loops_find, flow_loops_update,
3099         flow_loops_free, flow_loops_dump, flow_loop_dump,
3100         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
3101         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
3102         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
3103         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
3104         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
3105         find_common_loop, verify_loop_structure): Declarations moved to ...
3106         * cfgloop.h: New file.
3107         * bb-reorder.c (reorder_basic_blocks): Modified.
3108         * cfglayout.c: Include cfgloop.h.
3109         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
3110         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
3111         (break_superblocks): New static function.
3112         (cfg_layout_finalize): Use it.
3113         (cfg_layout_split_block): New function.
3114         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
3115         fields.
3116         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
3117         changed.
3118         (cfg_layout_split_block): Declare.
3119         * cfgloop.c: Include cfgloop.h and flags.h.
3120         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
3121         get_loop_body): Avoid signed versus unsigned comparison warnings.
3122         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
3123         loop_latch_edge): Modified.
3124         (verify_loop_structure): Modified to use flags stored in loop structure;
3125         check irreducible loops.
3126         (cancel_loop, cancel_loop_tree): New functions.
3127         (estimate_probability): Use loop analysis code for predictions.
3128         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
3129         warnings.
3130         * doloop.c: Include cfgloop.h.
3131         * loop.c: Include cfgloop.h.
3132         * predict.c: Include cfgloop.h.
3133         * toplev.c: Include cfgloop.h.
3134         * unroll.c: Include cfgloop.h.
3135         * tracer.c (tracer): Modified.
3136
3137 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3138
3139         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
3140
3141 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
3142
3143         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
3144         * configure: Regenerate.
3145
3146         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
3147         (tls_symbolic_reference_mentioned_p): Add prototype.
3148         (s390_tls_get_offset): Add prototype.
3149         (emit_pic_move): Remove prototype, replace by ...
3150         (emit_symbolic_move): .. this new prototype.
3151
3152         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
3153         (tls_model_chars): New global variable.
3154         (s390_encode_section_info): Encode TLS model.
3155         Use targetm.binds_local_p to check for local symbols.
3156         (s390_strip_name_encoding): New function.
3157         (TARGET_STRIP_NAME_ENCODING): Define.
3158
3159         (get_thread_pointer): New function.
3160         (legitimize_tls_address): New function.
3161         (legitimize_address): Call it.
3162         (emit_pic_move): Remove, replace by ...
3163         (emit_symbolic_move): ... this new function.
3164
3165         (larl_operand): Handle TLS operands.
3166         (legitimate_constant_p): Likewise.
3167         (s390_decompose_address): Likewise.
3168         (s390_cannot_force_const_mem): New function.
3169         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
3170
3171         (s390_output_symbolic_const): Handle TLS unspecs.
3172         (print_operand): New code 'J'.
3173         (machine_function): Add struct member 'some_ld_name'.
3174         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
3175
3176         (enum s390_builtin): New type.
3177         (code_for_builtin_64, code_for_builtin_31): New global variables.
3178         (s390_init_builtins, s390_expand_builtin): New functions.
3179         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
3180
3181         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
3182         (ASM_OUTPUT_LABELREF): Define.
3183         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
3184
3185         * config/s390/s390.md: Define TLS UNSPEC constants.
3186         ("movdi", "movsi"): Handle TLS operands.
3187         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
3188         ("*tls_load_64", "*tls_load_31"): New insns.
3189         ("call_value_tls", "call_value_tls_exp"): New expanders.
3190         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
3191         "bas_tls_64", "bas_tls_31"): New insns.
3192
3193 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
3194
3195         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
3196         spe ABI is configured, if requested.
3197
3198 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3199
3200         * doc/passes.texi: Fix typo.
3201
3202 2003-01-24  Andreas Schwab  <schwab@suse.de>
3203
3204         * stor-layout.c (excess_unit_span): Only define if used.
3205
3206 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
3207
3208         * gcc/doc/invoke.texi (Optimization Options): List -O levels
3209         for each optimization flag.
3210
3211 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
3212
3213         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
3214
3215 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3216
3217         * doc/bugreport.texi: Use @command instead of @code for commands.
3218         * doc/collect2.texi: Likewise.
3219         * doc/headerdirs.texi: Likewise.
3220         * doc/invoke.texi: Likewise.
3221         * doc/standards.texi: Likewise.
3222         * doc/tm.texi: Likewise.
3223         * doc/trouble.texi: Likewise.
3224
3225 2003-01-24  Nick Clifton  <nickc@redhat.com>
3226
3227         * config/arm/arm.c (use_return_insn): Do not use a single return
3228         instruction for interrupt handelrs which have to create a stack
3229         frame.
3230         (arm_expand_prologue): Do not pre-bias the return address of
3231         interrupt handlers which create a stack frame.
3232
3233 2003-01-24  Nick Clifton  <nickc@redhat.com>
3234
3235         * Add sh2e support:
3236
3237         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
3238
3239                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
3240                 med_cbranches.  Fix logic in short_cbranches.
3241
3242         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
3243
3244                 * config/sh/sh.md (delay for cbranch): Don't annul delay
3245                 slots on SH2e.
3246                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
3247                 cbranch with unfilled delay slot on SH2e.
3248                 (output_branch): Fill with a nop the delay slot of a
3249                 branch that required a delay slot but didn't get one.
3250
3251         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
3252
3253                 * doc/invoke.texi (SH options): Document -m2e.
3254                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
3255                 * config/sh/lib1funcs.asm: Likewise.
3256                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
3257                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
3258                 not __sh1__.
3259                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
3260                 SH2E up.
3261                 (SH3E_BIT): Renamed to...
3262                 (SH_E_BIT): ... this.  Replace all uses.
3263                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
3264                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
3265                 (TARGET_SWITCHES): Added 2e.
3266                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
3267                 (processor_type): Added PROCESSOR_SH2E.
3268                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
3269                 TARGET_SH2E, except in sqrtsf2_i.
3270                 (attribute cpu): Added sh2e.
3271                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
3272                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
3273                 * config.gcc: Add sh2e target support.
3274
3275 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
3276
3277         Rename -W to -Wextra.
3278         * c-decl.c:  Update comments.
3279         * c-typeck.c:  Likewise.
3280         * flags.h:  Likewise.
3281         * function.c:  Likewise.
3282         * stmt.c:  Likewise.
3283         * toplev.c:  Update comments.
3284         (W_options):  Add 'extra'.
3285         (display_help):  Remove '-W'.
3286         (decode_W_option):  Special warn_uninitialized treatment in the case
3287         of -Wextra.
3288         * doc/invoke.texi:  Update with new entries.
3289
3290 2003-01-23  Richard Henderson  <rth@redhat.com>
3291
3292         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
3293         in no-else-block case.  Add commentary.
3294
3295 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3296
3297         * configure.in: Revert last change.
3298
3299 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3300
3301         * configure.in: Don't include ansidecl.h in tconfig.h.
3302         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
3303         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
3304         ATTRIBUTE_UNUSED.
3305
3306         * configure: Regenerate.
3307
3308 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
3309
3310         PR java/6748
3311         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
3312         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
3313         kernels.
3314
3315 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3316
3317         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
3318
3319 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
3320
3321         * genattrtab.c (write_attr_get): Mark 'insn' paramter
3322         as ATTRIBUTE_UNUSED.
3323
3324 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
3325
3326         * arm.c (thumb_base_register_rtx_p): New function.
3327         (thumb_index_register_rtx_p): New function.
3328         (thumb_legitimate_address_p): New function.
3329         (thumb_legitimate_offset_p): New function.
3330         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
3331         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
3332         definitions.
3333         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
3334         (THUMB_LEGITIMATE_OFFSET): Delte.
3335         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
3336         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
3337         (thumb_legitimate_offset_p): Likewise.
3338
3339 2003-01-23  Andreas Schwab  <schwab@suse.de>
3340
3341         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
3342
3343 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3344
3345         * fixinc/Makefile.in (FL_LIST): Revert last change.
3346
3347 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
3348
3349         PR other/7341
3350         * invoke.texi (ftest-coverage): Fix broken cross-reference.
3351         Change @code to @command for gcov command.
3352
3353         * gcc.texi: Adjust title of gcov section.
3354         Adjust copyright.
3355         * gcov.texi: Likewise.
3356
3357 2003-01-22  Roger Sayle  <roger@eyesopen.com>
3358
3359         PR optimization/8423
3360         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
3361         its argument is constant, or 0 if !flag_gcse.
3362         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
3363         if it's argument is constant.
3364         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
3365         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
3366         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
3367         * builtins.c (purge_builtin_constant_p): New function to force
3368         instantiation of any remaining CONSTANT_P_RTX nodes.
3369         * rtl.h (purge_builtin_constant_p): Prototype here.
3370         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
3371         pass after GCSE and before loop.
3372         (flag_gcse): No longer static.
3373         * flags.h (flag_gcse): Prototype here.
3374
3375 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3376
3377         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
3378         introduced by last change.
3379
3380 2003-01-22  Andreas Schwab  <schwab@suse.de>
3381
3382         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
3383
3384 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
3385
3386         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
3387         request a scratch reg on H8S when the shift count is 8.
3388
3389 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
3390
3391         * config/s390/s390-protos.h (preferred_la_operand_p):
3392         Remove second parameter.
3393         * config/s390/s390.c (preferred_la_operand_p): Likewise.
3394         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
3395         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
3396         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
3397         Add peepholes to transform ADD to LOAD ADDRESS.
3398
3399 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
3400
3401         * arm.c (arm_address_register_rtx_p): New function.
3402         (arm_legitimate_address_p): New function.
3403         (arm_legitimate_index_p): New function.
3404         (legitimize_pic_address): Use arm_legitimate_index_p.
3405         * arm-protos.h (arm_legtimate_address_p): Add prototype.
3406         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
3407         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
3408
3409 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
3410
3411         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
3412         * config/s390/2064.md (define_bypass): Correct 'Load' and
3413         'Load-address' bypass values.
3414
3415 2003-01-22  Andreas Schwab  <schwab@suse.de>
3416
3417         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
3418
3419 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3420
3421         * genautomata.c (output_internal_insn_latency_func,
3422         output_print_reservation_func): Short circuit when there is no
3423         automaton to generate code for.
3424
3425 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3426
3427         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
3428         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
3429
3430 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
3431
3432         * config/rs6000/rs6000.md: Remove warning.
3433         (builtin_setjmp_receiver): Likewise.
3434         * config/darwin.c (update_stubs): Slightly improve terrible hack
3435         with identifiers.  Add comment pointing out problems with it.
3436         (update_non_lazy_ptrs): Likewise.
3437
3438 2003-01-21  Richard Henderson  <rth@redhat.com>
3439
3440         * dwarf2out.c (lookup_filename): Fix printf format warning.
3441         * system.h (fread_unlocked, fwrite_unlocked): Undef.
3442
3443         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
3444         (fixincl.o-warn, gnu-regex.o-warn): New.
3445         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
3446         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
3447         * fixinc/fixincl.c (process): Fix printf format warning.
3448
3449 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3450
3451         * dwarf2out (output_file_names): Don't crash if called
3452         with empty file_table.
3453
3454 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3455
3456         * genautomata.c (output_internal_insn_latency_func): Add
3457         missing break statement to generated code.
3458
3459 2003-01-21  Roger Sayle  <roger@eyesopen.com>
3460
3461         * stmt.c (same_case_target_p): New function to determine whether
3462         two case labels branch to the same target.  Split out from...
3463         (group_case_nodes): ... here.  Use same_case_target_p instead.
3464         (strip_default_case_nodes): Remove explicit case nodes
3465         that branch to the default destination.
3466         (expand_end_case_type): Call strip_default_case_nodes after
3467         group_case_nodes, to simplify the case-list before we count it.
3468         Only generate table_label RTX when actually needed.  Try to share
3469         thiscase->exit_label and thiscase->data.case_stmt.default_label
3470         when a switch has no explicit default case.  Simplify test for
3471         constant index.
3472
3473 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3474
3475         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
3476         \t.
3477         (*negsf2_h8300hs): Likewise.
3478         (*addsi3_lshiftrt_16_zexthi): Likewise.
3479         (*iorhi3_lshiftrt_8): Likewise.
3480
3481 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
3482
3483         * dwarf2out.c (fde_table_in_use): Mark GTY.
3484         (dwarf2out_cfi_label_num): New variable, marked GTY.
3485         (dwarf2out_cfi_label): Use it instead of static label_num.
3486         * emit-rtl.c (label_num): Mark GTY.
3487
3488 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
3489
3490         * config/h8300/h8300.c (output_plussi): Support H8/300.
3491         (compute_plussi_length): Likewise.
3492         (compute_plussi_cc): Likewise.
3493         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
3494         output assembly instructions.
3495
3496 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3497
3498         * calls.c (fix_unsafe_tree): Prototype.
3499
3500         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
3501         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
3502         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
3503         c-parse.o-warn): Add -Wno-error.
3504         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
3505
3506         * configure.in (--enable-werror): Add new flag.
3507         * doc/install.texi (--enable-werror): Document.
3508         * configure: Regenerate.
3509
3510         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
3511
3512 2003-01-21  Andreas Schwab  <schwab@suse.de>
3513
3514         * genautomata.c (output_internal_insn_latency_func): Fix missing
3515         close paren in output.
3516
3517 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
3518
3519         * genautomata.c: Space savings in generated code:
3520         (output_dfa_insn_code_func): Split out the table-enlargement
3521         path to an out-of-line static function, dfa_insn_code_enlarge.
3522         (output_internal_insn_latency_func): Use a lookup table for the
3523         default latencies.
3524         (output_print_reservation_func): Use a lookup table for the
3525         strings.
3526
3527 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
3528
3529         PR opt/7507
3530         * calls.c (fix_unsafe_tree): Split out from ...
3531         (expand_call): ... here.  Use it on the function address too.
3532
3533 2003-01-20  Richard Henderson  <rth@redhat.com>
3534
3535         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
3536
3537 2003-01-20  Richard Henderson  <rth@redhat.com>
3538
3539         PR opt/7154
3540         * stmt.c (expand_asm_operands): Validize memory operands.
3541
3542 2003-01-20  Richard Henderson  <rth@redhat.com>
3543
3544         PR opt/8848
3545         * ifcvt.c (noce_process_if_block): Correct arguments to
3546         modified_between_p for no-else-block case.
3547
3548 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3549
3550         * config/h8300/h8300.c (const_costs): Remove a warning.
3551         (output_plussi): Likewise.
3552         (compute_plussi_length): Likewise.
3553         (compute_plussi_cc): Likewise.
3554
3555 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3556
3557         * config/h8300/h8300.md (addsi_h8300): Remove the last
3558         alternative.
3559
3560 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3561
3562         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3563
3564 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3565
3566         * system.h (__NO_STRING_INLINES): Define.
3567
3568 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3569
3570         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3571         is not a scalar int mode.
3572
3573 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3574
3575         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3576         insn's notes following a substitution inside a libcall.
3577
3578 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3579
3580         * configure.in: Check for system-provided 'uchar' type.
3581         * configure, config.in: Regenerate.
3582         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3583
3584 2003-01-20  Richard Henderson  <rth@redhat.com>
3585
3586         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3587         * calls.c (default_must_pass_in_stack): ... here.
3588
3589 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3590
3591         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3592
3593         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3594
3595         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3596         Wrap up definition of `insn_alts'.
3597
3598         * genattrtab.c (main): Wrap up `insn_alts'.
3599
3600 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3601
3602         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3603         prototyping.
3604         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3605
3606         * config.in, configure: Regenerate.
3607
3608 2003-01-20  Nick Clifton  <nickc@redhat.com>
3609
3610         * config/arm/arm.md (sibcall_epilogue): Add an
3611         UNSPEC_PROLOGUE_USE to prevent the link register from being
3612         considered dead.
3613
3614 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3615
3616         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3617
3618 2003-01-20  Andreas Schwab  <schwab@suse.de>
3619
3620         * system.h: Don't declare strsignal if the decl test hasn't been
3621         run yet.
3622
3623 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3624
3625         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3626         recog_data.operands[0] is always associated with cc0.
3627
3628 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3629
3630         * collect2.c (ldgetname): Expand declaration to prototype.
3631         * read-rtl.c (atoll): Add prototype.
3632         * system.h (strsignal): Also declare if no declaration found.
3633
3634 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3635
3636         * config.gcc (mips64*-*-linux*): Added.
3637         * config/mips/linux64.h, config/mips/t-linux64: New file.
3638         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3639         * config/mips/mips.c (override_options): Use it.
3640         * config/mips/mips.h (TARGET_SWITCHES): Added...
3641         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3642         * Makefile.in (SPECS): New.
3643         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3644         * gcc.c (process_command): Move self-spec processing past spec
3645         file loading.
3646         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3647         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3648         CRTSTUFF_T_CFLAGS.
3649         (SPECS): Document.
3650         * doc/invoke.texi (-mabi-fake-default): Document.
3651
3652 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3653
3654         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3655         z_reg, z_reg_qi): Declare static and GTY().
3656         (da_reg): Remove.
3657         (create_regs_rtx): Don't create da_reg.
3658         ("gt-m68hc11.h"): Include for GTY roots.
3659         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3660         and GTY() here.
3661         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3662         (m68hc11_soft_tmp_reg): Likewise.
3663         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3664
3665 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3666
3667         * basic-block.h: Fix comment formatting.
3668         * calls.c: Likewise.
3669         * combine.c: Likewise.
3670         * convert.c: Likewise.
3671         * gcov.c: Likewise.
3672         * haifa-sched.c: Likewise.
3673         * libgcc2.c: Likewise.
3674         * loop.c: Likewise.
3675         * profile.c: Likewise.
3676         * system.h: Likewise.
3677
3678 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3679
3680         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3681
3682 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3683
3684         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3685
3686 2003-01-17  Dale Johannesen  <dalej@apple.com>
3687
3688         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3689           (*floatunssidf2_internal):  Ditto.
3690
3691 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3692
3693         * alias.c: Fix comment typos.
3694         * basic-block.h: Likewise.
3695         * c-common.c: Likewise.
3696         * c-common.h: Likewise.
3697         * c-decl.c: Likewise.
3698         * c-opts.c: Likewise.
3699         * c-pragma.c: Likewise.
3700         * c-pretty-print.h: Likewise.
3701         * cfg.c: Likewise.
3702         * cfganal.c: Likewise.
3703         * cfgbuild.c: Likewise.
3704         * cfgcleanup.c: Likewise.
3705         * cfglayout.c: Likewise.
3706         * cfgrtl.c: Likewise.
3707         * convert.c: Likewise.
3708         * cpphash.h: Likewise.
3709         * cpplex.c: Likewise.
3710         * cpplib.h: Likewise.
3711         * df.h: Likewise.
3712         * diagnostic.c: Likewise.
3713         * diagnostic.h: Likewise.
3714         * dwarf2.h: Likewise.
3715
3716 2003-01-17  Stan Shebs  <shebs@apple.com>
3717
3718         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3719
3720 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3721
3722         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3723         mistake in last checkin.
3724
3725 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3726
3727         * et-forest.c: Fix comment typos.
3728         * et-forest.h: Likewise.
3729         * except.c: Likewise.
3730         * expr.c: Likewise.
3731         * flags.h: Likewise.
3732         * flow.c: Likewise.
3733         * gcc.c: Likewise.
3734         * gcse.c: Likewise.
3735         * genattrtab.c: Likewise.
3736         * genautomata.c: Likewise.
3737         * gengtype.c: Likewise.
3738         * genrecog.c: Likewise.
3739         * global.c: Likewise.
3740         * gthr-rtems.h: Likewise.
3741
3742 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3743
3744         * i386.c (x86_function_profiler): Fix format specifier.
3745
3746 2003-01-17  Richard Henderson  <rth@redhat.com>
3747
3748         * gengtype.c (walk_type): Allow paramN_is.
3749
3750 2003-01-17  Nick Clifton  <nickc@redhat.com>
3751
3752         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3753
3754 2003-01-16  Richard Henderson  <rth@redhat.com>
3755
3756         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3757
3758 2003-01-16  Richard Henderson  <rth@redhat.com>
3759
3760         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3761         (alpha_next_sequence_number): Likewise.
3762         (alpha_this_literal_sequence_number): Likewise.
3763         (alpha_this_gpdisp_sequence_number): Likewise.
3764         (struct alpha_funcs, alpha_funcs_num): Likewise.
3765         (struct alpha_links): Fix branch merge error.
3766         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3767
3768 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3769
3770         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3771         R. Ghazi.
3772
3773 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3774
3775         * ifcvt.c: Fix comment typos.
3776         * lcm.c: Likewise.
3777         * libgcc2.c: Likewise.
3778         * local-alloc.c: Likewise.
3779         * loop.c: Likewise.
3780         * predict.c: Likewise.
3781         * ra-build.c: Likewise.
3782         * ra.c: Likewise.
3783         * ra-colorize.c: Likewise.
3784         * ra.h: Likewise.
3785         * ra-rewrite.c: Likewise.
3786         * regmove.c: Likewise.
3787         * reload.h: Likewise.
3788         * rtlanal.c: Likewise.
3789         * toplev.c: Likewise.
3790         * tree.h: Likewise.
3791         * unwind-dw2-fde-glibc.c: Likewise.
3792         * vmsdbgout.c: Likewise.
3793
3794 2003-01-16  Richard Henderson  <rth@redhat.com>
3795
3796         * dwarf2out.c (struct file_table): Remove.
3797         (FILE_TABLE_INCREMENT): Remove.
3798         (file_table): Make a varray; mark for GC.  Update all users.
3799         (file_table_last_lookup_index): Extract from struct file_table.
3800         (output_file_names): Fix unsigned compare warnings.
3801         (add_name_attribute): Remove inline marker.
3802         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3803         (lookup_filename): Don't manage size of file_table.
3804         (init_file_table): Allocate file_table with GC.
3805         (dwarf2out_init): Don't record main_input_filename here.
3806         (dwarf2out_finish): Do it here instead.
3807
3808 2003-01-16  Bruce Korb  <bkorb@gnu.org>
3809
3810         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3811
3812 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
3813
3814         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3815         instead of rotldi3_mextr.
3816
3817 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
3818
3819         * haifa-sched.c (move_insn): Restore moving all schedule group.
3820         (set_priorities): Restore taking SCHED_GROUP_P into account.
3821
3822         * sched-deps.c (add_dependence): Restore processing the last group
3823         insn.
3824         (remove_dependence, group_leader): Restore the functions.
3825         (set_sched_group_p): Restore adding dependencies from previous insn
3826         in the group.
3827         (compute_forward_dependences): Restore usage of group_leader.
3828
3829         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3830         account.
3831
3832         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3833         account.
3834         (can_schedule_ready_p): Ditto.
3835         (add_branch_dependences): Restore skipping over the group insns.
3836
3837 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3838
3839         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3840         68HC12 pre/post inc/dec side effects.
3841
3842 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3843
3844         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3845
3846 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
3847
3848         * sh.md (mshflo_w_x): Fix description of operation.
3849
3850 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
3851
3852         * config/rs6000/rs6000.h: Mention Altivec registers in
3853         commentary.  Fix typo.
3854
3855 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
3856
3857         * config/rs6000/rs6000.md (movti_string): Remove clobber.
3858         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3859         generate PARALLEL with clobber for TARGET_POWER.
3860
3861 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3862
3863         * ra-colorize.c (colorize_one_web): Initialize variable.
3864         * regmove.c (fixup_match_1): Likewise.
3865         * reload1.c (reload_as_needed): Likewise.
3866         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3867
3868 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3869
3870         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3871
3872 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3873
3874         * dbxout.c (lastfile, cwd): Fix `unused' warning.
3875         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3876         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3877         is_main_source, file_table, decl_die_table_in_use,
3878         abbrev_die_table_in_use, line_info_table_in_use,
3879         separate_line_info_table_in_use, pubname_table_in_use,
3880         arange_table_in_use, ranges_table_in_use,
3881         current_function_has_inlines): Likewise.
3882         * flow.c (life_analysis): Likewise.
3883         * genemit.c (gen_insn): Likewise.
3884         * protoize.c (cplus_suffix): Likewise.
3885
3886         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3887         * arm.h (ROUND_UP_WORD): Likewise.
3888
3889         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3890         warning.
3891         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3892         init_emit_once): Likewise.
3893         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3894         Likewise.
3895         * function.c (assign_stack_temp_for_type): Likewise.
3896         * loop.c (loop_invariant_p): Likewise.
3897         * recog.c (push_operand): Likewise.
3898         * regclass.c (init_reg_sets_1): Likewise.
3899         * reload.c (update_auto_inc_notes): Likewise.
3900         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3901         * stmt.c (expand_asm_operands): Likewise.
3902         * stor-layout.c (start_record_layout): Likewise.
3903
3904 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3905
3906         * config/c4x/c4x.md (epilogue): Correct last patch.
3907
3908 2003-01-15  Richard Henderson  <rth@redhat.com>
3909
3910         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3911         also check that GP is being used.
3912         (alpha_find_lo_sum_using_gp): New.
3913         (alpha_does_function_need_gp): Use get_attr_usegp.
3914         * config/alpha/alpha-protos.h: Update.
3915         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
3916         as needed.
3917
3918 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3919
3920         * gcse.c (one_cprop_pass): Change function arguments to take both
3921         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3922         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3923         (bypass_jumps): New function to perform separate jump bypassing pass.
3924         * rtl.h (bypass_jumps): Add function prototype.
3925         * timevar.def (TV_BYPASS): New timing variable.
3926         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3927         (dump_file): New entry for the bypass RTL dump file.
3928         (rest_of_compilation): Insert new jump bypassing optimization
3929         pass after loop.
3930         * doc/passes.texi: Document new pass.
3931
3932 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3933
3934         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3935         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3936         * pa.h (TARGET_SOM_SDEF): Define.
3937         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3938
3939 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3940
3941         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
3942         allocate 4-bytes of locals on 68HC11.
3943         (expand_epilogue): Likewise.
3944         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3945
3946 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3947
3948         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3949         and -mshort-double to the assembler to specify the ABI.
3950         (LINK_SPEC): Likewise.
3951         (CPP_SPEC): Pass HCS12 specific define.
3952         (MASK_M68S12): New define.
3953         (TARGET_M68S12): Likewise.
3954         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3955         (TARGET_VERSION): Update.
3956         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3957         (LINK_SPEC): Update.
3958         (ASM_SPEC): Update.
3959         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3960         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3961
3962 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3963
3964         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3965         the return code.
3966
3967 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3968
3969         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3970         flag before setting it.
3971
3972 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3973
3974         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
3975         when loop condition is known true, i.e.  "while (1) { ... }".
3976         (genrtl_for_stmt): Similarly for "for" statements.
3977
3978 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3979
3980         * real.c (real_sqrt): Return a bool result indicating whether
3981         a floating point exception or trap should be raised.
3982         * real.h (real_sqrt): Update function prototype.
3983         * builtins.c (fold_builtin): Only fold non-trapping square
3984         roots unless we're ignoring errno and trapping math.
3985
3986 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
3987
3988         * expr.h (emit_conditional_add): Add PARAMS to declaration.
3989         * gengtype-lex.l (malloc, realloc): Move defines after include of
3990         system.h.  Remove duplicate include of system.h.
3991
3992 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3993
3994         PR middle-end/9009
3995         * optabs.c (expand_unop):  When manipulating the FP sign bit
3996         using integer operations, account for targets with different
3997         integer and FP word orders.
3998         (expand_abs): Likewise.
3999
4000 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
4001
4002         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
4003         file extension in section name.
4004
4005 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4006
4007         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
4008         constant offset.
4009
4010 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
4011
4012         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
4013         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
4014         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
4015         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
4016
4017 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
4018
4019         PR f/9258
4020         * global.c (struct allocno): Add no_stack_reg.
4021         (global_conflicts): Set no_stack_reg.
4022         (find_reg): Use it.
4023
4024         * convert.c (convert_to_real): Fold - and abs only when profitable.
4025         * fold-const.c (fold): Fold truncates in - and abs.
4026
4027 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
4028
4029         Segher Boessenkool  <segher@koffie.nl>
4030
4031         * predict.c (real_inv_br_prob_base): New variable.
4032         (propagate_freq): Use multiply by reciprocal instead of
4033         division.  Don't divide by 1.0 at all.
4034         (estimate_bb_frequencies): Similar.
4035
4036 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4037
4038         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
4039         * configure: Rebuilt.
4040
4041 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
4042
4043         * config/s390/s390.c (s390_safe_attr_type): New function.
4044         (s390_use_dfa_pipeline_interface): New function, return true for z900.
4045         (s390_issue_rate): New function.
4046         (s390_agen_dep_p): New function.
4047         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
4048         (s390_adjust_cost): Return 'cost' if new DFA is used.
4049         (s390_adjust_priority): Delete function.
4050         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
4051         * config/s390/s390.md (atype attribute): Attribute 'atype' default
4052         determined by 'op_type'.
4053         (type attribute): Added more type attributes.
4054         * config/s390/2064.md: New DFA description for z900 pipeline.
4055
4056 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
4057
4058         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
4059         forced to memory.  Fixes PR bootstrap/9036.
4060
4061         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
4062         to set $gp before the call.
4063
4064 2003-01-14  Richard Henderson  <rth@redhat.com>
4065
4066         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
4067         for force_const_mem.
4068
4069 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4070
4071         * genattr.c (main): Rearrange output to avoid prototype warning.
4072         * genautomata.c (transform_3): Fix ambiguous-else warning.
4073         * local-alloc.c (requires_inout): Add parentheses around
4074         assignment used as truth-value.
4075         * timevar.c: Move system includes above local includes.  Include
4076         toplev.h
4077         * Makefile.in (timevar.o): Depend on toplev.h.
4078
4079 2003-01-14  Denis Chertykov  <denisc@overta.ru>
4080
4081         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
4082         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
4083
4084         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
4085         attributes.
4086         (TARGET_ATTRIBUTE_TABLE): New macro.
4087         (valid_machine_type_attribute): Remove.
4088         (valid_machine_decl_attribute): Remove.
4089         (ip2k_handle_progmem_attribute): New function.
4090         (ip2k_handle_fndecl_attribute): New function.
4091
4092 2003-01-10  Andrew Haley  <aph@redhat.com>
4093
4094         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
4095         registers to be in correct order.  Add rip.
4096
4097 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
4098
4099         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
4100         (*iorsi3_and_lshiftrt_9_sb): Likewise.
4101
4102 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
4103
4104         * convert.c (strip_float_extensions):  Look for narrowest type handling
4105         FP constants.
4106
4107         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
4108         float1 CMP float2.
4109         * convert.c (strip_float_extensions): Make global.
4110         * tree.h (strip_float_extensions): Declare.
4111
4112 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
4113
4114         * timevar.def: define TV_NAME_LOOKUP.
4115         * timevar.c (timevar_pop): Be verbose when aborting.
4116
4117 2003-01-13  Andreas Schwab  <schwab@suse.de>
4118
4119         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
4120         $(parsedir), just move the temporary file at the end.
4121         ($(parsedir)/gengtype-yacc.c): Likewise.
4122
4123 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
4124
4125         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
4126         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
4127         splitting.
4128         * configure: Rebuilt.
4129
4130 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4131
4132         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
4133         internal_mcount): Don't use PARAMS.
4134         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
4135         ISO C style.
4136         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
4137
4138 2003-01-13  Andreas Schwab  <schwab@suse.de>
4139
4140         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
4141         directive.
4142
4143 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
4144
4145         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
4146         (*iorsi3_and_lshiftrt_n_sb): Likewise.
4147
4148 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
4149
4150         PR c++/9264
4151         * c-lex.c (c_lex): Set the token value to error_mark_node for
4152         invalid numeric constants.
4153
4154 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
4155
4156         * c-pch.c (asm_file_startpos): Change to `long'.
4157         (pch_init): Use ftell, not ftello.
4158         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
4159         Use `long' instead of `off_t'.
4160         (c_common_read_pch): Likewise.
4161         * ggc-common.c (gt_pch_save): Use long/ftell instead of
4162         off_t/ftello.
4163
4164 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
4165
4166         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
4167
4168 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
4169
4170         * arm-protos.h (struct cpp_reader): Add declaration.
4171
4172 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
4173
4174         PR target/9068
4175         * i386.c (output_fp_compare): Fix typo.
4176
4177 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
4178
4179         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
4180
4181 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4182
4183         * Makefile.in (parsedir): New variable.
4184         (docobjdir): New variable.
4185         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
4186         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
4187         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
4188         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
4189         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
4190         Use docobjdir.
4191         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
4192         objc.maintainer-clean): Use parsedir.
4193
4194         * varasm.c (struct constant_descriptor_rtx): Remove unused
4195         `label' field.
4196
4197         * toplev.c (documented_lang_options): Document -Winvalid-pch.
4198
4199 2003-01-10  Richard Henderson  <rth@redhat.com>
4200
4201         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
4202         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
4203
4204 2003-01-10  Richard Henderson  <rth@redhat.com>
4205
4206         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
4207         not INTEGRAL_MODE_P when widening extensions.
4208
4209 2003-01-10  Richard Henderson  <rth@redhat.com>
4210
4211         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
4212
4213 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
4214
4215         * ggc-page.c (ggc_collect): Avoid overflow computing
4216         min_expand.
4217
4218         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
4219         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
4220         Remove calls.
4221         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
4222
4223 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
4224
4225         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
4226         with weird operands.
4227
4228 2003-01-10  Dale Johannesen <dalej@apple.com>
4229
4230         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
4231         parameters.  Call check_sibcall_argument_overlap if indicated.
4232         (check_sibcall_argument_overlap):  Add mark_stored_args_map
4233         parameter.  Don't mark parameter area as clobbered if not set.
4234         (expand_call):  Adjust calls to above.
4235
4236 2003-01-10 Kelley Cook <kelleycook@comcast.net>
4237
4238         * configure.in (linker read-only and read-write section mixing):
4239         Squelch some assembler warnings.
4240         * configure: Likewise.
4241
4242 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
4243
4244         * doc/invoke.texi: Document -mtune, delete -mcpu
4245         option for S/390 and zSeries.
4246         * config/s390/s390.c (s390_tune_string) New variable.
4247         (s390_cpu_string) Delete variable.
4248         (override_options): Use s390_tune_string instead of
4249         s390_cpu_string.
4250         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
4251
4252 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
4253
4254         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
4255
4256 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
4257
4258         * jump.c (next_nonnote_insn_in_loop): New function.
4259         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
4260         next_nonnote_insn.
4261         (duplicate_loop_exit_test). Likewise.
4262
4263 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
4264
4265         Merge from pch-branch:
4266
4267         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
4268
4269         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
4270         load.
4271
4272         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
4273
4274         * cpplib.c (count_registered_pragmas): New function.
4275         (save_registered_pragmas): New function.
4276         (_cpp_save_pragma_names): New function.
4277         (restore_registered_pragmas): New function.
4278         (_cpp_restore_pragma_names): New function.
4279         * cpphash.h (_cpp_save_pragma_names): Prototype.
4280         (_cpp_restore_pragma_names): Likewise.
4281         * cpppch.c (struct save_macro_item): Split from save_macro_data.
4282         (struct save_macro_data): New field 'saved_pragmas'.
4283         (save_macros): Update for changes to struct save_macro_data.
4284         (cpp_prepare_state): Call _cpp_save_pragma_names, update
4285         for changes to struct save_macro_data.
4286         (cpp_read_state): Call _cpp_restore_pragma_names, update
4287         for changes to struct save_macro_data.
4288
4289         * cpppch.c (cpp_read_state): Restore the hashtable references
4290         in the cpp_reader.
4291
4292         * tree.h (built_in_decls): Mark for PCH.
4293
4294         * dbxout.c (lastfile): Don't mark for PCH.
4295
4296         * ggc.h: Document PCH calls into memory managers.
4297
4298         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
4299
4300         * doc/invoke.texi (Precompiled Headers): Document the
4301         directory form of PCH.
4302         * cppfiles.c (validate_pch): New function.
4303         (open_file_pch): Search suitably-named directories for PCH files.
4304
4305         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
4306
4307         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
4308         reorder options.
4309         (Type Information): Mention that the information is also
4310         used to implement PCH.
4311         * doc/passes.texi (Passes): Improve documentation of
4312         language-specific files.
4313
4314         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
4315
4316         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
4317         (struct walk_type_data): Add reorder_fn field.
4318         (walk_type): Process 'reorder' option.
4319         (write_types_process_field): Reorder parameters to gt_pch_note_object,
4320         call reorder_note_routine.
4321         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
4322         (ggc_wtd): Update for change to struct write_types_data.
4323         (pch_wtd): Likewise.
4324         * ggc.h (gt_pch_note_object): Reorder parameters.
4325         (gt_handle_reorder): New definition.
4326         (gt_pch_note_reorder): New prototype.
4327         * ggc-common.c (struct ptr_data): Add reorder_fn.
4328         (gt_pch_note_object): Reorder parameters.
4329         (gt_pch_note_reorder): New.
4330         (gt_pch_save): Call reorder_fn.
4331         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
4332
4333         * dbxout.c (cwd): Don't mark for PCH.
4334
4335         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
4336
4337         * gengtype.c (finish_root_table): Fix some warnings.
4338         (write_root): Handle TYPE_STRING.
4339         * ggc.h (gt_ggc_m_S): Add prototype.
4340         * stringpool.c (gt_ggc_m_S): New function.
4341
4342         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
4343
4344         * dwarf2out.c (dw2_string_counter): New.
4345         (AT_string_form): Use it.
4346         (same_dw_val_p): Update for removal of hashtable.h hash tables.
4347
4348         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
4349
4350         * dbxout.c: Include gt-dbxout.h.
4351         (lastfile): Mark for PCH/GGC.
4352         (cwd): Likewise.
4353         (struct typeinfo): Likewise.
4354         (typevec): Likewise.
4355         (typevec_len): Likewise.
4356         (next_type_number): Likewise.
4357         (struct dbx_file): Likewise.
4358         (current_file): Likewise.
4359         (next_file_number): Likewise.
4360         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
4361         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
4362         (dbxout_end_source_file): Don't free struct dbx_file.
4363         (dbxout_type): Use GGC to allocate typevec.
4364         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
4365         (GTFILES): Add dbxout.c.
4366         (gt-dbxout.h): New rule.
4367
4368         * Makefile.in (c-pch.o): Add debug.h as dependency.
4369         * c-pch.c: Include debug.h.
4370         (pch_init): Call start_source_file to keep nesting right.
4371         (c_common_read_pch): Add orig_name parameter.  Call
4372         start_source_file debug hook.  Call end_source_file debug hook.
4373         * c-common.h (c_common_read_pch): Update prototype.
4374         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
4375         callback.
4376         * cppfiles.c (struct include_file): Add new field `header_name'.
4377         (find_or_create_entry): Default it to `name'.
4378         (open_file_pch): Set it to the original header file searched for.
4379         (stack_include_file): Don't stack an empty buffer, just handle
4380         PCH files immediately.  Pass header_name field to read_pch callback.
4381
4382         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
4383
4384         * function.c (funcdef_no): Mark to be saved in a PCH.
4385
4386         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
4387
4388         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
4389
4390         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
4391
4392         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
4393
4394         * optabs.h (code_to_optab): Add GTY marker.
4395
4396         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
4397
4398         * Makefile.in (GTFILES): Add cpplib.h.
4399         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
4400         * c-decl.c (build_compound_literal): Don't use var_labelno.
4401         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
4402         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
4403         * varasm.c (const_labelno): Use gengtype to mark.
4404         (var_labelno): Likewise.
4405         (in_section): Likewise.
4406         (in_named_name): Likewise.
4407         (struct in_named_entry): Likewise.
4408         (in_named_htab): Likewise.
4409         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
4410         (init_varasm_once): Use GGC to allocate in_named_htab.
4411         * config/darwin.c (current_pic_label_num): Mark for PCH.
4412
4413         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
4414
4415         * ggc-simple.c (init_ggc_pch): New stub procedure.
4416         (ggc_pch_count_object): Likewise.
4417         (ggc_pch_total_size): Likewise.
4418         (ggc_pch_this_base): Likewise.
4419         (ggc_pch_alloc_object): Likewise.
4420         (ggc_pch_prepare_write): Likewise.
4421         (ggc_pch_write_object): Likewise
4422         (ggc_pch_finish): Likewise.
4423         (ggc_pch_read): Likewise.
4424
4425         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
4426
4427         * c-pch.c (c_common_write_pch): Write the macro definitions after
4428         the GCed data.
4429         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
4430         definitions after the GCed data.
4431         * cpplib.c (save_macros): New.
4432         (reset_ht): New.
4433         (cpp_write_pch_deps): Split out of cpp_write_pch.
4434         (cpp_write_pch_state): Split out of cpp_write_pch.
4435         (cpp_write_pch): Delete.
4436         (struct save_macro_data): Delete.
4437         (cpp_prepare_state): New.
4438         (cpp_read_state): Erase and restore initial macro definitions.
4439         * cpplib.h (struct save_macro_data): Forward-declare.
4440         (cpp_write_pch_deps): Prototype.
4441         (cpp_write_pch_state): Prototype.
4442         (cpp_write_pch): Delete prototype.
4443         (cpp_prepare_state): Prototype.
4444         (cpp_read_state): Add fourth argument.
4445
4446         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
4447
4448         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
4449         (write_array): Remove warning.
4450
4451         * gengtype.c (contains_scalar_p): New.
4452         (finish_root_table): Add the table to all languages, even if it's
4453         empty.
4454         (write_roots): Output gt_pch_scalar_rtab.
4455         * ggc-common.c (gt_pch_save): Write out scalars.
4456         (gt_pch_restore): Read scalars back.
4457
4458         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
4459         (struct page_entry): Delete pch_page field.
4460         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
4461         (clear_marks): Likewise.
4462         (sweep_pages): Likewise.
4463         (poison_pages): Likewise.
4464         (ggc_print_statistics): Likewise.
4465         (ggc_pch_read): Don't free objects read from a PCH.
4466         Properly set up in_use_p and page_tails.
4467
4468         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
4469
4470         * gengtype.c (struct write_types_data): New.
4471         (struct walk_type_data): Make `cookie' const; add extra
4472         prev_val item; add `orig_s' field.
4473         (walk_type): Update prev_val[3].
4474         (write_types_process_field): New.
4475         (write_func_for_structure): Take write_types_data structure.
4476         (write_types): New.
4477         (ggc_wtd): New.
4478         (pch_wtd): New.
4479         (write_types_local_process_field): New.
4480         (gc_mark_process_field): Delete.
4481         (write_local_func_for_structure): New.
4482         (gc_mark_func_name): Delete.
4483         (write_gc_types): Delete.
4484         (write_local): New.
4485         (finish_root_table): Don't include 'ggc_' in PFX.
4486         (write_root): Rename from write_root.  Fill pchw field of structures.
4487         (write_array): New.
4488         (write_roots): Rename from write_gc_roots.  Split out to write_array.
4489         Update to changes to other routines.  Write gt_pch_cache_rtab table.
4490         (main): Write PCH walking routines.
4491         * ggc-common.c: Include toplev.h, sys/mman.h.
4492         (ggc_mark_roots): For cache hashtables, also mark the hash table
4493         and the array of entries.
4494         (saving_htab): New.
4495         (struct ptr_data): New.
4496         (POINTER_HASH): New.
4497         (gt_pch_note_object): New.
4498         (saving_htab_hash): New.
4499         (saving_htab_eq): New.
4500         (struct traversal_state): New.
4501         (call_count): New.
4502         (call_alloc): New.
4503         (compare_ptr_data): New.
4504         (relocate_ptrs): New.
4505         (write_pch_globals): New.
4506         (struct mmap_info): New.
4507         (gt_pch_save): New.
4508         (gt_pch_restore): New.
4509         * ggc-page.c (ROUND_UP_VALUE): New.
4510         (ROUND_UP): New.
4511         (struct page_entry): Add field `pch_page'.
4512         (init_ggc): Use ROUND_UP.
4513         (struct ggc_pch_data): Declare.
4514         (init_ggc_pch): New.
4515         (ggc_pch_count_object): New.
4516         (ggc_pch_total_size): New.
4517         (ggc_pch_this_base): New.
4518         (ggc_pch_alloc_object): New.
4519         (ggc_pch_prepare_write): New.
4520         (ggc_pch_write_object): New.
4521         (ggc_pch_finish): New.
4522         (ggc_pch_read): New.
4523         * ggc.h (gt_pointer_operator): New.
4524         (gt_note_pointers): New.
4525         (gt_pch_note_object): New prototype.
4526         (gt_pointer_walker): New.
4527         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
4528         (LAST_GGC_ROOT_TAB): Update.
4529         (gt_pch_cache_rtab): Declare.
4530         (gt_pch_scalar_rtab): Declare.
4531         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
4532         (LAST_GGC_CACHE_TAB): Update.
4533         (gt_pch_save_stringpool): Declare.
4534         (gt_pch_restore_stringpool): Declare.
4535         (gt_pch_p_S): Declare.
4536         (gt_pch_n_S): Declare.
4537         (struct ggc_pch_data): Forward-declare.
4538         (init_ggc_pch): Declare.
4539         (ggc_pch_count_object): Declare.
4540         (ggc_pch_total_size): Declare.
4541         (ggc_pch_this_base): Declare.
4542         (ggc_pch_alloc_object): Declare.
4543         (ggc_pch_prepare_write): Declare.
4544         (ggc_pch_write_object): Declare.
4545         (ggc_pch_finish): Declare.
4546         (ggc_pch_read): Declare.
4547         (gt_pch_save): Declare.
4548         (gt_pch_restore): Declare.
4549         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
4550         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
4551         const_double_htab, mem_attrs_htab using GGC.
4552         * c-pch.c: Include ggc.h.
4553         (pch_init): Allow reading PCH file back.
4554         (c_common_write_pch): Call gt_pch_save.
4555         (c_common_read_pch): Call gt_pch_restore.
4556         * c-parse.in (init_reswords): Delete now-untrue comment.
4557         Allocate ridpointers using GGC.
4558         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
4559         calling expand_deferred_fns.
4560         * c-common.h (ridpointers): Mark for GTY machinery.
4561         * Makefile.in (stringpool.o): Update dependencies.
4562         (c-pch.o): Update dependencies.
4563         (ggc-common.o): Update dependencies.
4564         * stringpool.c: Include gt-stringpool.h.
4565         (gt_pch_p_S): New.
4566         (gt_pch_n_S): New.
4567         (struct string_pool_data): New.
4568         (spd): New.
4569         (gt_pch_save_stringpool): New.
4570         (gt_pch_restore_stringpool): New.
4571         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4572
4573         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4574
4575         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4576         (output_mangled_typename): Don't pass size_t to printf.
4577
4578         * tree.h (union tree_type_symtab): Add tag to `address' field.
4579         (union tree_decl_u2): Add tag to 'i' field.
4580         * varasm.c (union rtx_const_un): Add tags to all fields.
4581         * gengtype.c (struct walk_type_data): New.
4582         (output_escaped_param): Take struct walk_type_data parameter.
4583         (write_gc_structure_fields): Delete.
4584         (walk_type): New.
4585         (write_gc_marker_routine_for_structure): Delete.
4586         (write_func_for_structure): New.
4587         (gc_mark_process_field): New.
4588         (gc_mark_func_name): New.
4589         (gc_counter): Delete.
4590         (write_gc_types): Use write_func_for_structure.
4591         (write_gc_roots): Use walk_type.
4592
4593         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4594
4595         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4596         (ggc_splay_dont_free): Fix warning about unused 'x'.
4597         (ggc_print_common_statistics): Remove warnings.
4598
4599         2002-10-01  Mike Stump  <mrs@apple.com>
4600
4601         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4602         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4603
4604         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4605             Catherine Moore  <clm@redhat.com>
4606
4607         * Makefile (c-pch.o): Update dependencies.
4608         (LIBCPP_OBJS): Add cpppch.o.
4609         (cpppch.o): New.
4610         * c-common.c (c_common_init): Don't call pch_init here.
4611         * c-common.h (c_common_read_pch): Update prototype.
4612         * c-lex.c (c_common_parse_file): Call pch_init here.
4613         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4614         (c_common_decode_option): Handle them.
4615         * c-pch.c: Include c-pragma.h.
4616         (save_asm_offset): Delete.
4617         (pch_init): Move contents of save_asm_offset into here, call
4618         cpp_save_state.
4619         (c_common_write_pch): Call cpp_write_pch.
4620         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4621         cpp_valid_state.
4622         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4623         * cppfiles.c (stack_include_file): Update for change to
4624         parameters of cb.read_pch.
4625         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4626         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4627         `restore_pch_deps' fields.
4628         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4629         (cpp_save_state): Prototype.
4630         (cpp_write_pch): Prototype.
4631         (cpp_valid_state): Prototype.
4632         (cpp_read_state): Prototype.
4633         * cpppch.c: New file.
4634         * flags.h (version_flag): Remove prototype.
4635         * mkdeps.c (deps_save): New.
4636         (deps_restore): New.
4637         * mkdeps.h (deps_save): Prototype.
4638         (deps_restore): Prototype.
4639         * toplev.c (late_init_hook): Delete.
4640         (version_flag): Make static again.
4641         (compile_file): Don't call late_init_hook.
4642         * toplev.h (late_init_hook): Delete.
4643         * doc/cppopts.texi: Document -fpch-deps.
4644         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4645
4646         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4647
4648         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4649         callers.
4650         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4651         (c_common_read_pch): Rename from c_read_pch, change callers.
4652
4653         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4654         a space between it and its argument.
4655
4656         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4657
4658         * c-pch.c: New file.
4659         * toplev.h (late_init_hook): Declare.
4660         * toplev.c (late_init_hook): Define.
4661         (version_flag): Make globally visible.
4662         (compile_file): Call late_init_hook.
4663         (init_asm_output): Make output file seekable.
4664         * gcc.c (default_compilers): Update c-header rule.
4665         * flags.h (version_flag): Declare.
4666         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4667         fields.
4668         * cppfiles.c (struct include_file): Add 'pch' field.
4669         (INCLUDE_PCH_P): New.
4670         (open_file_pch): New.
4671         (stack_include_file): Handle PCH files specially.
4672         (find_include_file): Call open_file_pch instead of open_file.
4673         (_cpp_read_file): Explain why open_file is used instead of
4674         open_file_pch.
4675         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4676         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4677         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4678         in cpplib callbacks.
4679         * c-common.c (pch_file): Correct comment.
4680         (allow_pch): Define.
4681         (c_common_init): Call pch_init.
4682         * c-common.h (allow_pch): Declare.
4683         (pch_init): Declare.
4684         (c_valid_pch): Declare.
4685         (c_read_pch): Declare.
4686         (c_write_pch): Declare.
4687         * Makefile.in (c-pch.o): New.
4688         (C_AND_OBJC_OBJS): Add c-pch.o.
4689         * doc/invoke.texi (Precompiled Headers): Add index entries,
4690         complete truncated paragraph.
4691
4692         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4693
4694         * c-common.c: (pch_file): Define.
4695         * c-common.h (pch_file): Declare.
4696         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4697         (missing_arg): Require --output-pch= to have an argument.
4698         (c_common_decode_option): Handle --output-pch=.
4699         * gcc.c: Document new %V.
4700         (default_compilers): Handle compiling C header files.
4701         (do_spec_1): Implement %V.
4702         (main): Handle "gcc foo.h" without trying to run linker.
4703         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4704         (Overall Options): Document what the driver does with header files,
4705         document new -x option possibilities.
4706         (Invoking G++): More documentation for PCH.
4707         (Precompiled Headers): New.
4708
4709         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4710
4711         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4712         organized.
4713         (ggc_add_root): Delete.
4714         (ggc_mark_rtx): Delete.
4715         (ggc_mark_tree): Delete.
4716         (struct ggc_statistics): Remove contents.
4717         * ggc-common.c: Remove unneeded includes.
4718         (struct ggc_root): Delete.
4719         (roots): Delete.
4720         (ggc_add_root): Delete.
4721         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4722         (ggc_print_common_statistics): Remove most of the contents.
4723         * Makefile.in (GGC_H): No longer uses varray.h.
4724         (ggc-common.o): Update dependencies.
4725         (c-parse.o): Add varray.h to dependencies.
4726         (c-common.o): Add varray.h.
4727         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4728         (mark_ident_hash): Rename to ggc_mark_stringpool.
4729         (init_stringpool): Don't use ggc_add_root.
4730         * c-parse.in: Include varray.h.
4731         * c-common.c: Include varray.h.
4732         * objc/Make-lang.in (objc-act.o): Add varray.h.
4733         * objc/objc-act.c: Include varray.h.
4734
4735         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4736
4737         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4738         (dw_cfi_oprnd1_desc): Likewise.
4739
4740         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4741
4742         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4743         move out of ifdef.
4744         (alpha_links): Use gengtype to mark; move out of ifdef.
4745         (mark_alpha_links_node): Delete.
4746         (mark_alpha_links): Delete.
4747         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4748         alpha_links, strings.  Don't use ggc_add_root.
4749         * ggc-common.c (ggc_splay_alloc): New.
4750         (ggc_splay_dont_free): New.
4751         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4752         (ggc_mark_tree): Likewise.
4753         (splay_tree_new_ggc): New.
4754         (ggc_splay_alloc): Declare.
4755         (ggc_splay_dont_free): Declare.
4756         * dwarf2asm.c: Include gt-dwarf2asm.h.
4757         (mark_indirect_pool_entry): Delete.
4758         (mark_indirect_pool): Delete.
4759         (indirect_pool): Use gengtype to mark.
4760         (dw2_force_const_mem): Don't use ggc_add_root.
4761         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4762         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4763         (gt-dwarf2asm.h): Depend on s-gtype.
4764
4765         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4766
4767         * tree.h (union tree_type_symtab): Mark `die' field.
4768         * Makefile.in (dwarf2out.o): Update dependencies.
4769         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4770         hash tables.
4771         (dw_cfi_oprnd1_desc): New function.
4772         (dw_cfi_oprnd2_desc): New function.
4773         (indirect_string_alloc): Delete.
4774         (debug_str_do_hash): New function.
4775         (debug_str_eq): New function.
4776         (mark_limbo_die_list): Delete.
4777         (dwarf2out_init): Don't call ggc_add_root.
4778
4779 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4780
4781         The following changes are merged from itanium-sched-branch:
4782
4783         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4784
4785         * doc/md.texi: Clarify assignment of units to automata description.
4786
4787         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4788
4789         * genautomata.c (unit_decl): Remove members
4790         `the_same_automaton_unit' and
4791         `the_same_automaton_message_reported_p'.
4792         (process_unit_to_form_the_same_automaton_unit_lists,
4793         form_the_same_automaton_unit_lists_from_regexp,
4794         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4795         Remove them.
4796         (annotation_message_reported_p): New global variable.
4797         (check_unit_distribution_in_reserv,
4798         check_regexp_units_distribution): New functions.
4799         (check_unit_distributions_to_automata): Rewrite it.
4800
4801         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4802
4803         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4804         Use continue instead of break if cycle is too big.
4805
4806         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
4807
4808         * genautomata.c (check_unit_distributions_to_automata): Output at
4809         most one message for a unit.
4810         (process_unit_to_form_the_same_automaton_unit_lists): Check
4811         automaton of units instead of units themself.
4812
4813         * doc/md.texi: Describe the constraint about assigning unit to
4814         automata.
4815
4816         2002-12-20  Jan Hubicka  <jH@suse.cz>
4817                     Vladimir Makarov  <vmakarov@redhat.com>
4818
4819         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4820         and `in_set_p'.
4821         (gen_cpu_unit): Initialize the new members.
4822         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
4823         up `min_occ_cycle_num'.
4824         (evaluate_max_reserv_cycles): Change the function call.
4825         (CLEAR_BIT): New macro.
4826         (states_union, state_shift): Use the mask.
4827         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4828         (form_reservs_matter): New function.
4829         (make_automaton): Call the function and use the mask.
4830         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4831         account.
4832
4833         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4834
4835         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4836
4837         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4838
4839         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4840         for Itanium.
4841
4842         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4843
4844         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4845         default cpu.
4846
4847         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4848                 2002-10-31  Dale Johannesen <dalej@apple.com>
4849
4850         * haifa-sched.c (find_set_reg_weight): New function.
4851         (find_insn_reg_weight): Use the new function.
4852         (schedule_block): Do sorting ready queue always
4853         after insn issue.
4854
4855         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
4856
4857         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4858
4859         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
4860
4861         * haifa-sched.c (choice_entry): New structure.
4862         (choice_stack, cycle_issued_insns): New variables.
4863         (max_issue): Rewrite it.
4864         (choose_ready): Set up ready_try for unknown insns too.
4865         (schedule_block): Allocate and free choice_stack.  Set up
4866         and modify cycle_issued_insns.
4867
4868         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4869         with and without filling the bundle.
4870         (bundling): Combine calls of issue_nops_and_insn.
4871
4872         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
4873
4874         * config/ia64/itanium1.md: New file.
4875
4876         * config/ia64/itanium2.md: New file.
4877
4878         * config/ia64/ia64.md: Move DFA descriptions into the new files.
4879         Remove the old pipeline description.
4880
4881         * config/ia64/ia64.c (ia64_override_options): Add aliases of
4882         itanium processor names.
4883
4884         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
4885
4886         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4887         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
4888
4889         * config/ia64/ia64.md: Add descriptions for Itanium2.
4890
4891         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4892
4893         * config/ia64/ia64.h (processor_type): New enumeration.
4894         (ia64_tune, ia64_tune_string): New external declarations.
4895         (TARGET_OPTIONS): Add option `tune='.
4896
4897         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4898         variables.
4899         (ia64_override_options): Set up `ia64_tune'.
4900         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4901         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4902         (bundling): Add nops for MM-insns only for Itanium.
4903         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4904         Itanium.
4905
4906         * config/ia64/ia64.md (cpu): New attribute.
4907         (DFA description): Enable it only for Itanium.
4908
4909         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4910                     Richard Henderson  <rth@redhat.com>
4911
4912         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4913         MASK_EARLY_STOP_BITS.
4914         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4915         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4916         `early-stop-bits'.
4917
4918         * config/ia64/ia64.c (ia64_dfa_new_cycle,
4919         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4920         instead of TARGET_TUNE_STOP_BITS.
4921
4922         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4923         `-mearly-stop-bits'.
4924
4925         * config/ia64/ia64.c (automata_option "v"): Comment it.
4926
4927         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
4928
4929         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
4930         New macros.
4931         (TARGET_SWITCHES): Add entries for the new option.
4932
4933         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4934         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4935         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4936         global variables.
4937         (ia64_sched_reorder2): Set up `clocks'.
4938         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4939         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
4940         queue when TARGET_TUNE_STOP_BITS.
4941         (bundling): Insert additional nops for MM-insns.
4942         (final_emit_insn_group_barriers): Add insertion of stop bits
4943         according `stops_p'.
4944         (ia64_reorg): Initiate the new varibales.
4945
4946         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
4947
4948         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
4949
4950         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4951         insns at the end of block insn scheduling.
4952
4953         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
4954
4955         * sched-deps.c (remove_dependence, group_leader): Remove it.
4956         (add_dependence): Add dependence to group leader to.
4957         (set_sched_group_p): Add dependence to the first insn of the
4958         schedule group too.
4959         (sched_analyze_insn): Make dependence to jump as anti-dependence.
4960         Change true dependence by anti-dependence when
4961         `reg_pending_barrier'.
4962
4963         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4964         add_branch_dependences): Ignore schedule groups.
4965
4966         * sched-ebb.c (init_ready_list): Ditto.
4967
4968         * (move_insn, set_priorities): Ditto.
4969
4970         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4971         flag is clear after reload.
4972         (adjust_cost): Change cost only for output dependencies.
4973
4974         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
4975
4976         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
4977
4978         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4979
4980         * target.h (gcc_target): Add member
4981         `dependencies_evaluation_hook'.
4982
4983         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4984         macro.
4985         (TARGET_SCHED): Add initiatialization of the new member.
4986
4987         * sched-ebb.c: Include `target.h'.
4988         (schedule_ebb): Call `dependencies_evaluation_hook'.
4989
4990         * sched-rgn.c (schedule_region): Call
4991         `dependencies_evaluation_hook'.
4992
4993         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4994         New macro.
4995         (ia64_dependencies_evaluation_hook): New function.
4996
4997         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4998         Describe the new hook.
4999
5000         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
5001
5002         * target.h (gcc_target): Add members
5003         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
5004
5005         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
5006         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
5007         macros.
5008         (TARGET_SCHED): Add initiatialization of the new members.
5009
5010         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
5011         insn scheduling too.
5012         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
5013         initialize `ready_try'.
5014         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
5015         `dfa_new_cycle' says not to do it.
5016
5017         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
5018         bundling.
5019
5020         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
5021
5022         * config/ia64/ia64.c: Include `hashtab.h'.
5023         (ia64_first_cycle_multipass_dfa_lookahead_guard,
5024         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
5025         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
5026         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
5027         bundle_state_eq_p, insert_bundle_state,
5028         initiate_bundle_state_table, finish_bundle_state_table,
5029         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
5030         get_template, get_next_important_insn, bundling): New functions.
5031         (ia64_internal_sched_reorder): Remove it.
5032         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5033         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
5034         (ia64_safe_itanium_requires_unit0): Remove it.
5035         (group_barrier_needed_p): Place group barrier right before a real
5036         insn.
5037         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
5038         Remove them.
5039         (bundle_name): New variable.
5040         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
5041         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
5042         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
5043         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
5044         temp_dfa_state, prev_cycle_state): New global variables.
5045         (insn_matches_slot, maybe_rotate, finish_last_head,
5046         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
5047         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
5048         find_best_packet, itanium_reorder, dump_current_packet,
5049         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
5050         (sched_data, sched_ready, sched_types): Remove them.
5051         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
5052         `init_insn_group_barriers'.
5053         (ia64_sched_reorder, ia64_sched_reorder2): Call
5054         ia64_dfa_sched_reorder.
5055         (ia64_variable_issue): Rewrite it.
5056         (bundle_state): New structure.
5057         (index_to_bundle_states, bundle_states_num,
5058         allocated_bundle_states_chain, free_bundle_state_chain): New
5059         global variables.
5060         (ia64_sched_finish): Add stop bits and call `bundling' after the
5061         2nd insn scheduling.
5062         (ia64_use_dfa_pipeline_interface): Return zero always.
5063         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
5064         insn scheduling.
5065         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
5066         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
5067         (ia64_reorg): Add bundling insns.
5068
5069         * doc/tm.texi
5070         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
5071         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
5072
5073         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
5074
5075         * config/ia64/ia64.md: Add Itanium1 DFA description.
5076         (itanium_class): Add `nop' and `pre_cycle'.  Add
5077         define_function_unit for `nop'.
5078         (nop): Change attribute `itanium_class'.
5079         (pre_cycle): New define_insn.
5080
5081         * config/ia64/ia64-protos.h (bundling_p): New external variable.
5082         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
5083         ia64_produce_address_p): New function prototypes.
5084
5085         * config/ia64/ia64.c (bundling_p): New global variable.
5086         (ia64_use_dfa_pipeline_interface,
5087         ia64_first_cycle_multipass_dfa_lookahead,
5088         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
5089         functions.
5090         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
5091         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
5092         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
5093         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
5094         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
5095         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
5096         (dfa_pre_cycle_insn): New variable.
5097
5098         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5099
5100         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
5101         constructions.
5102
5103         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
5104         New function prototypes.
5105
5106         * genattrtab.c (main): Process the new constructions.
5107
5108         * genautomata.c (gen_presence_absence_set,
5109         process_presence_absence_names, process_presence_absence_patterns,
5110         add_presence_absence, check_absence_pattern_sets): Add parameter
5111         `final_p'.
5112         (unit_decl): Add new members `final_presence_list' and
5113         `final_absence_list'.
5114         (unit_pattern_rel_decl): Add new member `final_p'.
5115         (gen_final_presence_set, gen_final_absence_set): New functions.
5116         (process_decls): Use member `final_p'.
5117         (temp_reserv): New global variable.
5118         (reserv_sets_are_intersected): Add processing `final_presence_set'
5119         and `final_absence_set'.
5120         (initiate_states): Allocate `temp_reserv'.
5121         (unit_final_presence_set_table, unit_final_absence_set_table): New
5122         gloabal variables.
5123         (initiate_presence_absence_pattern_sets): Initiate them.
5124         (NDFA_to_DFA): Fix typo.
5125         (output_description): Output `final_presence_set' and
5126         `final_absence_set'.
5127
5128         * doc/md.texi (final_presence_set, final_absence_set): Describe
5129         them.
5130
5131         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5132
5133         * genautomata.c (transform_3): Process a missing case (nothing on
5134         unit place).
5135
5136         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
5137
5138         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
5139         comments about queried units and the minimization.
5140
5141         * doc/md.texi: Ditto.
5142
5143         * genautomata.c (create_composed_state): Return nonzero if the new
5144         state has been created.
5145         (first_cycle_unit_presence): New function.
5146         (state_is_differed): Add new parameter.  Use the new function.
5147         Take queried units into account.
5148         (partition_equiv_class): Pass additional parameter to
5149         `state_is_differed'.
5150         (merge_states): Process composed states too.
5151         (build_automaton, create_automata, output_min_issue_delay_table,
5152         output_tables, output_statistics): Output more information.
5153         (output_reserved_units_table): Use function
5154         `first_cycle_unit_presence'.
5155         (output_tables): Output table of queried units even if the
5156         minimization is switched on.
5157         (write_automata): Output code for querying units even if the
5158         minimization is switched on.
5159
5160         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
5161
5162         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
5163         syntax of the constructions.
5164
5165         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
5166         extended syntax of the constructions.
5167
5168         * genautomata.c (unit_rel_decl): Rename it to
5169         `unit_pattern_rel_decl'.
5170         (pattern_set_el, pattern_reserv): New structures.
5171         (pattern_set_el_t, pattern_reserv_t): New types.
5172         (gen_presence_absence_set): New function.
5173         (process_presence_absence): Remove it.
5174         (process_presence_absence_names,
5175         process_presence_absence_patterns): New functions.
5176         (get_presence_absence_set): Remove it.
5177         (initiate_presence_absence_sets): Rename it on
5178         `initiate_presence_absence_pattern_sets'.  Use new function
5179         `form_reserv_sets_list'.
5180         (form_reserv_sets_list, check_presence_pattern_sets,
5181         check_absence_pattern_sets, output_pattern_set_el_list): New
5182         functions.
5183         (unit_decl): Change types of members `presence_list' and
5184         `absence_list'.
5185         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
5186         (decl): Change types of members `excl', `presence', and `absence'.
5187         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
5188         at the end of the vector.
5189         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
5190         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
5191         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
5192         (gen_presence_set, gen_absence_set): Use new function
5193         `gen_presence_absence_set'.
5194         (add_presence_absence): Process `pattern_list' instead of
5195         `source_list'.
5196         (process_decls): USe new functions
5197         `process_presence_absence_names' and
5198         `process_presence_absence_patterns'.
5199         (reserv_sets_are_intersected): Use new function
5200         `check_presence_pattern_sets'.
5201         (presence_set, absence_set): Remove them.
5202         (unit_presence_set_table, unit_absence_set_table): New global
5203         variables.
5204         (output_description): Use new function
5205         `output_pattern_set_el_list'.
5206         (generate): Use `initiate_presence_absence_pattern_sets'.
5207
5208         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
5209
5210         * genattr.c (main): Add output of prototype of new interface
5211         function `dfa_clean_insn_cache'.
5212
5213         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
5214         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
5215         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
5216         the generated code.
5217         (write_automata): Call the new function.
5218
5219 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
5220
5221         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
5222         correctly.
5223
5224 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
5225
5226         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
5227
5228 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
5229
5230         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
5231         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
5232         (CONSTRAINT_LEN): Provide default definition.
5233         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5234         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
5235         (EXTRA_CONSTRAINT_STR): Likewise.
5236         (REG_CLASS_FROM_CONSTRAINT): Define.
5237         * genoutput.c (check_constraint_len, constraint_len): New functions.
5238         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
5239         constraint / modifier.
5240         (gen_insn): Call check_constraint_len.
5241         * local-alloc.c (block_alloc): Update to use new macros / pass
5242         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
5243         * ra-build.c (handle_asm_insn): Likewise.
5244         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
5245         (constrain_operands, peep2_find_free_register): Likewise.
5246         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
5247         * regmove.c (find_matches): Likewise.
5248         * reload.c (push_secondary_reload, find_reloads): Likewise.
5249         (alternative_allows_memconst): Likewise.
5250         * reload1.c (maybe_fix_stack_asms): Likewise.
5251         (reload_cse_simplify_operands): Likewise.
5252         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
5253         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
5254         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
5255         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
5256         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
5257         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
5258
5259         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
5260
5261 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5262
5263         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
5264         length.
5265         (*extzv_1_r_h8300hs): Likewise.
5266         (*extzv_1_r_inv_h8300): Likewise.
5267         (*extzv_1_r_inv_h8300hs): Likewise.
5268
5269 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5270
5271         * config/h8300/h8300.h (PREDICATE_CODES): New.
5272
5273 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
5274
5275         * config/h8300/h8300.md (*addsi3_upper): New.
5276         (*iorsi3_shift): Likewise.
5277         (two splitters): Likewise.
5278         (*addsi3_shift): Likewise.
5279         (two splitters): Likewise.
5280
5281 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
5282
5283         * Makefile.in (optabs.o): Add dependency on basic-block.h.
5284         * basic-block.h (control_flow_insn_p): Fuction was exported.
5285         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
5286         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
5287         notes only when the region is contained in a single basic block.
5288
5289 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5290
5291         PR inline-asm/8832
5292         * tree.h (expand_asm): New prototype.
5293         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
5294         to do so.
5295         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
5296         down to expand_asm.
5297         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
5298         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
5299         (volatile_refs_p) [ASM_INPUT]: Likewise.
5300         (side_effects_p) [ASM_INPUT]: Likewise.
5301
5302 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
5303
5304         * i386.md (*mul*): FIx constraints; remove confused comment; fix
5305         athlon_decode attributes
5306         (imul/k8 optimization peep2s): New.
5307
5308         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
5309         * i386.md (type attribute): Add ssecomi.
5310         (unit, memory, prefix attributes): Handle ssecomi.
5311         (cvt?2? patterns): Fix athlon_decode attribute
5312         (comi patterns): Set attribute to ssecomi.
5313
5314         PR target/8343
5315         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
5316
5317 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
5318
5319         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
5320         that match register_operands.
5321         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
5322         register_operand the default case.
5323
5324 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
5325
5326         PR c/8032
5327         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
5328         an empty element, do not advance the pointer to unfilled
5329         fields if there are pending initializers.
5330
5331 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
5332
5333         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
5334         (install-gcc-tooldir, install-cpp, installdirs,
5335         install-common, install-driver, install-info, install-man,
5336         install-headers, install-include-dir, install-headers-tar,
5337         install-headers-cpio, install-headers-cp, install-mkheaders,
5338         install-collect2, uninstall): Prepend $(DESTDIR) to
5339         destination paths in all (un)installation commands.
5340         (install-driver): Rewrite $(LN) commands to support DESTDIR
5341         with "ln" as well as with "ln -s".
5342         (installdirs): Simply use mkinstalldirs.
5343         (install-libgcc, install-multilib): Also pass DESTDIR.
5344         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
5345         installation destination variable ldir.
5346         * config/alpha/t-osf4, config/arm/t-netbsd,
5347         config/ia64/t-hpux, config/mips/t-iris5-6,
5348         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
5349         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
5350         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
5351         in the definition of SHLIB_INSTALL.
5352         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
5353         $(libsubdir) in the installation commands.
5354
5355 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
5356
5357         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
5358         non-optimizing compile.
5359         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
5360         compile.
5361
5362 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
5363
5364         * config/i386/i386.c (ix86_attribute_table): Add new attributes
5365         ms_struct and gcc_struct.
5366         (ix86_handle_struct_attribute): New function.
5367         (ix86_ms_bitfield_layout_p): Update to take new attributes
5368         into account.
5369         * doc/extend.texi: Document new attributes.
5370         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
5371
5372 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
5373
5374         PR optimization/8750
5375         * config/i386/i386.c (ix86_expand_prologue): Don't allow
5376         scheduling pass to move insns across __alloca call.
5377
5378 2003-01-08  Dale Johannesen  <dalej@apple.com>
5379
5380         * config/rs6000/rs6000.md:  Replace *store_multiple_string
5381         with *stmsi[3-8].
5382
5383 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
5384
5385         PR target/9210
5386         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
5387         Set SYMBOL_REF_FLAG on local data sym_ref.
5388
5389 2003-01-08  Dale Johannesen  <dalej@apple.com>
5390
5391         * function.c (assign_parms):  Don't set pretend_args_size if
5392           REG_PARM_STACK_SPACE.
5393           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
5394           pretend_args_size.
5395
5396 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
5397
5398         * gcc.hlp: Delete.
5399
5400 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
5401
5402         * i386.c  (ix86_expand_int_addcc): Fix thinko.
5403
5404 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
5405
5406         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
5407         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
5408         as hook_bool_tree_hwi_hwi_tree_true.
5409         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
5410         (rs6000_emit_epilogue): Same.
5411         (rs6000_output_mi_thunk): Re-implement as RTL.
5412         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
5413         xcoffout_declare_function if any debugging enabled.
5414
5415 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
5416
5417         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
5418         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
5419         * config/mips/mips.h (enum processor_type): Rename
5420         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
5421         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
5422         Add PROCESSOR_M4K.
5423         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
5424         (ISA_MIPS32R2): New define.
5425         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
5426         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
5427         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
5428         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
5429         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
5430         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
5431         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
5432         compiling MIPS16 code.
5433         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
5434         comment.
5435         (ISA_HAS_SEB_SEH): New define.
5436         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
5437         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
5438         processor_type value renaming.  Add support for MIPS32R2.
5439         Clean up comments, and move "sb1" entry with other MIPS64 CPU
5440         entries.
5441         (override_options): Reimplement -mipsN option handling so that
5442         it will work correctly for -mips32r2.  Avoid branch-likely
5443         instructions on MIPS32R2.
5444         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
5445         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
5446         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
5447         (extendhisi2_hw, extendqisi2_hw): New.
5448         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
5449         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
5450         MIPS32R2, and MIPS64.
5451         (LINK_SPEC): Pass -mips32r2 to linker.
5452         * config/mips/t-isa3264: Built -mips32r2 multilibs.
5453         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
5454         for mips32r2 in the -march description.  Alphabetically sort
5455         CPU names in the -march description.  Add long-missed -mips32
5456         and -mips64 to MIPS option summary.
5457
5458         * config.gcc: Update copyright years to include 2003.
5459         * config/mips/mips.c: Likewise.
5460         * config/mips/mips.h: Likewise.
5461         * config/mips/mips.md: Likewise.
5462         * config/mips/netbsd.h: Likewise.
5463         * doc/invoke.texi: Likewise.
5464
5465 2003-01-08  Andreas Schwab  <schwab@suse.de>
5466
5467         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
5468         variable.
5469         * configure: Regenerated.
5470
5471 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5472
5473         * config/h8300/h8300.c (output_logical_op): Replace byte/word
5474         extraction of det with b0, b1, w0, w2, etc.
5475         (compute_logical_op_length): Likewise.
5476         (compute_logical_op_cc): Likewise.
5477
5478 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
5479
5480         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
5481         HIGH on all variants.
5482
5483 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
5484
5485         * Makefile.in (PARTITION_H): New.
5486         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
5487         * basic-block.h: Include hard-reg-set.h.
5488
5489 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
5490
5491         * arm.h (ENABLE_XF_PATTERNS): Delete.
5492         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
5493         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
5494         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
5495         (cmpxf_trap): Delete.
5496         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
5497
5498 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5499
5500         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
5501         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
5502         (add??cc): New expanders.
5503         * i386.c (expand_int_addcc): New function.
5504         * i386-protos.h (expand_int_addcc): Declare.
5505
5506         * alias.c (memory_modified_1): New static function.
5507         (memory_modified): New static varaible.
5508         (memory_modified_in_insn_p): New global function.
5509         * rtl.h (memory_modified_in_insn_p): Declare.
5510         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
5511         references.
5512
5513         * expr.h (emit_conditional_add): Declare.
5514
5515 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
5516
5517         PR other/8947
5518         * doc/invoke.texi (-malign-double): Explain that the option breaks
5519         binary compatibility.
5520
5521 2003-01-08  Andreas Schwab  <schwab@suse.de>
5522
5523         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
5524         should come from the generic *-*-linux* entry.
5525
5526 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
5527
5528         * cselib.c (cselib_current_insn_in_libcall): New static variable.
5529         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
5530         we are inside libcall.
5531         * cselib.h (elt_loc_list): Add in_libcall.
5532         * gcse.c (do_local_cprop): Do not copy propagate using insns
5533         in libcalls.
5534
5535 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
5536
5537         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
5538         not normally affect to issue rate.
5539
5540 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
5541
5542         * genopinit.c (optabs): Add addc_optab.
5543         * ifcvt.c (noce_try_store_flag): Rename to ...
5544         (noce_try_addcc): ... this one; handle generic conditional increment.
5545         (noce_process_if_block): Update noce_try_addcc call.
5546         * optabs.c (emit_conditional_add): New.
5547         (init_obtabs): Initialize addc_optab.
5548         * optabs.h (optab_index): Add OTI_addcc.
5549         (addcc_optab): New macro.
5550         * md.texi: Document addMcc
5551
5552         PR target/8322
5553         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
5554         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5555         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
5556
5557         * reload1.c (delete_output_reload): Avoid repeated attempts
5558         to delete insn.
5559
5560 2003-01-07  Andreas Schwab  <schwab@suse.de>
5561
5562         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5563         Move --enable-initfini-array check ...
5564         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5565         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5566         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5567         * configure: Rebuild.
5568
5569 2003-01-07  Richard Henderson  <rth@redhat.com>
5570
5571         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5572         if the register is set once.
5573
5574 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5575
5576         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5577         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5578         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5579
5580 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5581             Sunil Davasam  <sunil.k.davasam@intel.com>
5582
5583         PR libstdc++/9076
5584         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5585         DW_CFA_same_value, read next and ignore.
5586
5587 2003-01-07  Richard Henderson  <rth@redhat.com>
5588
5589         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5590
5591 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5592
5593         * cfg.c: Include alloc-pool.h
5594         (edge_pool): New pool.
5595         (bb_pool): New pool.
5596         (first_deleted_edge): Remove.
5597         (first_deleted_block): Remove.
5598         (init_flow): Alloc/free the pools.
5599         (free_edge): Use pools.
5600         (alloc_block): Ditto.
5601         (expunge_block): Ditto.
5602         (cached_make_edge): Ditto.
5603
5604         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5605
5606 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5607
5608         * et-forest.c: Include alloc-pool.h.
5609         (struct et_forest): Add node_pool and occur_pool.
5610         (et_forest_create): Create the new pools.
5611         (et_forest_delete): Delete them.
5612         (et_forest_add_node): Allocate and free using pools.
5613         (et_forest_add_edge): Ditto.
5614         (et_forest_remove_node): Ditto.
5615         (et_forest_remove_edge): Ditto.
5616
5617         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5618
5619 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5620
5621         * config/h8300/h8300.c (output_logical_op): Simplify and
5622         optimize the handling of SImode.
5623         * config/h8300/h8300.c (compute_logical_op_length): Update
5624         accordingly.
5625         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5626
5627 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5628
5629         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5630         big-endian correction to indirect arguments too.
5631
5632 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5633
5634         Segher Boessenkool  <segher@koffie.nl>
5635
5636         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5637         (alt_reg_names): Ditto, fix formatting.
5638         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5639
5640 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5641
5642         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5643         (output_logical_op): Constify intval and det.
5644         (compute_logical_length): Likewise.
5645         (compute_logical_cc): Likewise.
5646         (output_a_shift): Constify mask.
5647         (h8300_encode_label): Constify len.
5648
5649 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5650
5651         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5652         (h8300_expand_epilogue): Likewise.
5653
5654 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5655
5656         Segher Boessenkool  <segher@koffie.nl>
5657
5658         * config/rs6000/altivec.md: Remove spaces from assembler
5659         instruction argument lists.
5660
5661 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5662
5663         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5664         c4x_assembler_function_p.
5665         (c4x_null_epilogue_p): Complement return value, all uses updated.
5666         (c4x_insert_attributes): Add naked.
5667         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5668         * doc/extend.texi: Update C4x function attributes.
5669
5670 2003-01-06  Richard Henderson  <rth@redhat.com>
5671
5672         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5673         properly when changing "local-ness".
5674         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5675
5676 2003-01-06  Dale Johannesen  <dalej@apple.com>
5677
5678         * config/darwin-protos.h:  Add prototypes for new section functions.
5679
5680 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5681
5682         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5683         to EABI.
5684
5685 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5686
5687         * hwint.h: If the current compiler has no 64-bit type at all,
5688         make HOST_WIDEST_INT 32 bits.
5689
5690 2003-01-06  Eric Christopher  <echristo@redhat.com>
5691
5692         * config/mips/mips.md (movdf_internal2): Fix constraints.
5693
5694 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5695
5696         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5697
5698 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5699
5700         * config/mips/mips.md (leadi): Use dla rather than la.
5701
5702 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5703
5704         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5705         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5706
5707 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5708
5709         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5710         redefinition.
5711
5712 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5713
5714         * config/h8300/h8300.md (*extzv_8_23): New.
5715
5716 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5717
5718         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5719         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5720         USE_EH_FRAME_REGISTRY when defining.
5721
5722 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5723
5724         * config/h8300/h8300.c (output_a_shift): Do not output a
5725         variable shift.
5726         * config/h8300/h8300.md (two splitters): New.
5727
5728 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5729
5730         * config/mips/mips.md: Disable the movstrsi define_split.
5731
5732 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5733
5734         * alloc-pool.c: Don't include "libiberty.h".
5735         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5736         * convert.c (convert_to_real): Hide unused variable.
5737
5738 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5739
5740         * Makefile.in (gtyp-gen.h): Const-ify.
5741         * gcov-dump.c (tag_table): Likewise.
5742
5743 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5744
5745         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5746         of *both* the file name and the fix name.
5747
5748 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5749
5750         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5751         collect2.
5752         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5753         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5754         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5755         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5756         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5757         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5758         elfos.h.
5759         (EH_FRAME_IN_DATA_SECTION): Delete define.
5760         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5761         (STARTFILE_SPEC): Use crtbegin.o.
5762         (ENDFILE_SPEC): Use crtend.o.
5763         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5764         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5765         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5766         DTOR_LIST_BEGIN): Define.
5767         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5768         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5769         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5770
5771 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5772
5773         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5774         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5775         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5776         Cleanup handling of replacement text.
5777         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5778
5779 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5780
5781         * fixinc/tests/base/math.h: removed obsolete results
5782         * fixinc/tests/base/stdlib.h: ditto
5783         * fixinc/tests/base/sys/param.h: ditto
5784         * fixinc/tests/base/sys/stat.h: ditto
5785         * fixinc/tests/base/time.h: ditto
5786         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5787         * fixinc/tests/base/sys/byteorder.h: ditto
5788         * fixinc/inclhack.def: Remove superfluous backslashes
5789
5790 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5791
5792         * config/h8300/h8300-protos.h: Add prototypes for
5793         the new functions defined below.
5794         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5795         define.
5796         (dosize): Emit RTL instead of assembly code.
5797         (push): Likewise.
5798         (pop): Likewise.
5799         (h8300_output_function_prologue): Remove.
5800         (h8300_expand_prologue): New.
5801         (h8300_expand_epilogue): New.
5802         (h8300_output_function_epilogue): Do only the reset of
5803         pragma_saveall.
5804         * config/h8300/h8300.md (push_h8300): New.
5805         (push_h8300hs): Likewise.
5806         (pop_h8300): Likewise.
5807         (pop_h8300hs): Likewise.
5808         (*stm_h8300s_2): Change the name to stm_h8300s_2.
5809         (*stm_h8300s_3): Change the name to stm_h8300s_3.
5810         (*stm_h8300s_4): Change the name to stm_h8300s_4.
5811         (*ldm_h8300s_2): New.
5812         (*ldm_h8300s_3): Likewise.
5813         (*ldm_h8300s_4): Likewise.
5814         (return): Likewise.
5815         (*return_1): Likewise.
5816         (prologue): Likewise.
5817         (epilogue): Likewise.
5818         (monitor_prologue): Likewise.
5819
5820 2003-01-03  Dale Johannesen  <dalej@apple.com>
5821
5822         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
5823           machopic_picsymbol_stub1.
5824           (EXTRA_SECTION_FUNCTIONS):  Ditto.
5825         * rs6000/rs6000.c:  Update copyright.
5826           (machopic_output_stub):  Use them.  Remove an insn from stub code.
5827
5828 2003-01-02  Jason Merrill  <jason@redhat.com>
5829
5830         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5831
5832         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5833         static/external decls.
5834
5835         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5836         outermost scope.
5837         * c-decl.c (c_make_fname_decl): Push the decls there, too.
5838
5839 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
5840
5841         * config/h8300/h8300-protos.h: Add a prototype for
5842         h8300_current_function_interrupt_function_p.
5843         * config/h8300/h8300.c (interrupt_handler): Remove.
5844         (os_task): Likewise.
5845         (monitor): Likewise.
5846         (pragma_interrupt): New.
5847         (WORD_REG_USED): Use
5848         h8300_current_function_interrupt_function_p.
5849         (dosize): Likewise.
5850         (h8300_output_function_prologue): Likewise.
5851         Do not set interrupt_handler, os_task, monitor.
5852         (h8300_output_function_prologue): Use
5853         h8300_current_function_interrupt_function_p.
5854         Do not set interrupt_handler, os_task, monitor.
5855         (h8300_current_function_interrupt_function_p): New.
5856         (h8300_pr_interrupt): Set pragma_interrupt.
5857         (h8300_insert_attributes): Reset pragma_interrupt.
5858
5859 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5860
5861         * doc/install.texi (Configuration): Fix markup for reference to
5862         gcc/config.gcc.
5863
5864 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5865
5866         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5867         (*iorhi3_two_qi): Likewise.
5868         (*iorsi3_zexthi): Likewise.
5869         (*xorhi3_zextqi): Likewise.
5870         (*xorsi3_zexthi): Likewise.
5871         (*xorsi3_zextqi): Likewise.
5872
5873 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5874
5875         * config/h8300/h8300.c (stack_pointer_operand): New.
5876         (const_int_gt_2_operand): Likewise.
5877         (const_int_ge_8_operand): Likewise.
5878         * config/h8300/h8300.md (a splitter): Likewise.
5879         (a peephole2): Likewise.
5880         * config/h8300/h8300-protos.h: Add prototypes for the new
5881         functions above.
5882
5883 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5884
5885         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5886         objc/objc-act.h: Fix copyright years.
5887
5888 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5889
5890         * doc/passes.texi: Fix documentation for -fssa-ccp
5891
5892 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
5893
5894         * gccbug.in: Update for new categories.
5895
5896 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5897
5898         * config/h8300/h8300.md: Reorder some patterns.
5899
5900 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5901
5902         * config/h8300/h8300.c (output_logical_op): Fix a warning.
5903
5904 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5905
5906         * config/darwin-protos.h, config/c4x/c4x-protos.h,
5907         config/cris/cris-protos.h, config/i370/i370-protos.h,
5908         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5909         config/v850/v850-protos.h: Use struct, and don't conditionally
5910         compile on GCC_C_PRAGMA_H.
5911
5912 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5913
5914         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5915         * config/h8300/h8300-protos.h: Likewise.
5916         * config/sh/sh-protos.h: Likewise.
5917
5918 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5919
5920         * config/arm/arm-protos.h: Use struct cpp_reader instead of
5921         cpp_reader.
5922         * config/h8300/h8300-protos.h: Likewise.
5923         * config/sh/sh-protos.h: Likewise.
5924
5925 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5926
5927         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5928         arm_pr_long_calls_off): Use struct.
5929         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5930         : Similarly.
5931         Don't include cpplib.h.
5932         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5933         sh_pr_nosave_low_regs): Similarly.
5934
5935 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5936
5937         * config/h8300/h8300.c: Include cpplib.h.
5938
5939 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5940
5941         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5942           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5943           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5944           "GCC" in the copyright header.
5945
5946 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5947
5948         * c-pragma.c (c_register_pragma): New.
5949         (init_pragma): Use it.
5950         * c-pragma.h (cpp_register_pragma): Don't declare.
5951         (c_register_pragma): New.
5952         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5953         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5954         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5955         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5956         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5957         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5958         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5959         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5960         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5961         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5962         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5963         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5964
5965 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5966
5967         * config/h8300/h8300-protos.h: Update the prototypes.
5968         * config/h8300/h8300.c (const_le_2_operand): Change to
5969         const_int_le_2_operand.
5970         (const_int_le_6_operand): Change to const_int_le_6_operand.
5971         * config/h8300/h8300.md (two peepholes): Update the function
5972         names.
5973
5974 2002-12-31  Tom Tromey  <tromey@redhat.com>
5975
5976         * doc/install.texi (Testing): Fixed typo.
5977
5978 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5979
5980         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5981         (TRAMPOLINE_SIZE): Support the normal mode.
5982         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5983
5984 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
5985
5986         * c-common.h (pending_lang_change): Declare.
5987
5988 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5989
5990         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5991         descriptions.
5992
5993 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5994
5995         * gcc/doc/invoke.texi (Optimization Options): List the options
5996         enabled by each -O flag.
5997
5998 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5999
6000         * doc/install.texi (Configuration): Explicitly refer
6001         gcc/config.gcc for a list of cpu models.
6002
6003 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
6004
6005         * config/h8300/h8300.h: Fix comment typos.
6006
6007 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
6008
6009         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
6010
6011 2002-12-30  Tom Tromey  <tromey@redhat.com>
6012
6013         * doc/install.texi (Testing): Mention Jacks.
6014
6015 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6016
6017         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
6018
6019 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6020
6021         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
6022         cases.
6023         (compute_logical_op_length): Update to reflect the change in
6024         output_logical_op.
6025         (compute_logical_op_cc): Likewise.
6026
6027 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
6028
6029         * doc/service.texi: Uncomment and update FAQ link.
6030
6031 2002-12-30  Andreas Jaeger  <aj@suse.de>
6032
6033         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
6034
6035 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6036
6037         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
6038
6039 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
6040
6041         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
6042         are clearing the most significant byte.
6043         (compute_logical_op_length): Update to reflect the change in
6044         output_logical_op.
6045         (compute_logical_op_cc): Likewise.
6046
6047 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6048
6049         * config/h8300/h8300.md: Give internal names to anonymous
6050         insns.
6051
6052 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6053
6054         * config/h8300/h8300.md: Reorder some insns.
6055
6056 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
6057
6058         * config/h8300/h8300-protos.h: Add prototypes for
6059         const_int_qi_operand and const_int_hi_operand.
6060         * config/h8300/h8300.c (const_int_qi_operand): New.
6061         (const_int_hi_operand): Likewise.
6062         * config/h8300/h8300.md (three peepholes): New.
6063
6064 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6065
6066         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
6067         Use @copying.
6068
6069 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
6070
6071         * configure.in: Increase makeinfo version requirement to 4.[2-9].
6072         * configure: Regenerate.
6073         * doc/install.texi: Update Texinfo version requirement.
6074
6075 2002-12-28  Andreas Jaeger  <aj@suse.de>
6076
6077         * config/i386/i386.c (x86_function_profiler): Mark labelno as
6078         possibly unused.
6079
6080         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
6081         correct format.
6082
6083 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
6084
6085         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
6086         *iorhi_ashift_8.
6087         (*iorhi_lshiftrt_8): New.
6088
6089 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
6090
6091         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
6092
6093 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6094
6095         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
6096
6097 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6098
6099         * config/h8300/h8300-protos.h: Fix comment typos.
6100         Update copyright.
6101         * config/h8300/h8300.c: Fix comment typos.
6102
6103 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6104
6105         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
6106
6107 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
6108
6109         * config/i386/athlon.md: Fix comment typos.
6110         * config/i386/crtdll.h: Likewise.
6111         * config/i386/djgpp.h: Likewise.
6112         * config/i386/i386-interix.h: Likewise.
6113         * config/i386/i386.c: Likewise.
6114         * config/i386/i386.h: Likewise.
6115         * config/i386/i386.md: Likewise.
6116         * config/i386/k6.md: Likewise.
6117         * config/i386/mingw32.h: Likewise.
6118         * config/i386/pentium.md: Likewise.
6119         * config/i386/sco5.h: Likewise.
6120         * config/i386/winnt.c: Likewise.
6121         * config/i386/xmmintrin.h: Likewise.
6122
6123 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
6124
6125         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
6126         INSN_P before checking to see if it is dead.
6127         (mark_all_insn_unnecessary): Similarly.
6128         (ssa_eliminate_dead_code): Similarly.
6129         * rtl.h (struct rtx_def): Update comments for in_struct usage
6130         in dead code elimination pass.
6131         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
6132
6133 2002-12-26  Andreas Schwab  <schwab@suse.de>
6134
6135         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
6136
6137 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
6138
6139         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
6140         tartet_flags_explicit.
6141         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
6142         Compact target_flags bits.
6143         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
6144         (TARGET_SWITCHES): Delete references to *_SET flags.
6145
6146 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
6147
6148         * i386.md (memory attribute): Fix setcc attribute.
6149
6150 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6151
6152         * output.h: Fix comment typos.
6153         * predict.c: Likewise.
6154         * print-tree.c: Likewise.
6155         * profile.c: Likewise.
6156         * ra-build.c: Likewise.
6157         * ra-colorize.c: Likewise.
6158         * ra-debug.c: Likewise.
6159         * ra-rewrite.c: Likewise.
6160         * ra.c: Likewise.
6161         * ra.h: Likewise.
6162         * real.c: Likewise.
6163         * recog.c: Likewise.
6164         * reg-stack.c: Likewise.
6165         * regclass.c: Likewise.
6166
6167 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6168
6169         * config/h8300/h8300.c (print_operand_address): Do not negate
6170         a negative number when printing one.
6171
6172 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
6173
6174         * config/h8300/h8300-protos.h: Add prototypes for
6175         output_plussi, compute_plussi_length, and compute_plussi_cc.
6176         * config/h8300/h8300.c (output_plussi): New.
6177         (compute_plussi_length): Likewise.
6178         (compute_plussi_cc): Likewise.
6179         * config/h8300/h8300.md (addsi_h8300h): Call
6180         output_plussi, compute_plussi_length, and compute_plussi_cc.
6181
6182 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6183
6184         * config/h8300/h8300.md (two peepholes): Use match_dup instead
6185         of match_operand in the new patterns.
6186
6187 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
6188
6189         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
6190
6191 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
6192
6193         * configure.in (enable-coverage): Add SELF_COVERAGE.
6194         * profile.c (end_branch_prob): Use SELF_COVERAGE.
6195
6196 2002-12-24  Jim Wilson  <wilson@redhat.com>
6197
6198         * alias.c (record_set): Handle multi-reg hard registers.
6199
6200 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
6201
6202         * regmove.c: Fix comment typos.
6203         * reload.c: Likewise.
6204         * reload1.c: Likewise.
6205         * resource.c: Likewise.
6206         * rtl.def: Likewise.
6207         * rtl.h: Likewise.
6208         * rtlanal.c: Likewise.
6209         * sched-deps.c: Likewise.
6210         * sched-rgn.c: Likewise.
6211         * sibcall.c: Likewise.
6212         * simplify-rtx.c: Likewise.
6213         * ssa-ccp.c: Likewise.
6214         * ssa.c: Likewise.
6215         * stmt.c: Likewise.
6216         * stor-layout.c: Likewise.
6217         * system.h: Likewise.
6218         * tlink.c: Likewise.
6219         * toplev.c: Likewise.
6220         * tracer.c: Likewise.
6221         * tree-inline.c: Likewise.
6222         * tree.c: Likewise.
6223         * tree.h: Likewise.
6224         * unroll.c: Likewise.
6225         * varasm.c: Likewise.
6226
6227 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
6228
6229         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
6230         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
6231         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
6232         DG/UX entries.
6233         * doc/md.texi: Remove AMD 29K entries.
6234         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
6235         1.38.1, NewsOS, RT PC, WE32K entries.
6236
6237 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
6238
6239         PR/8763
6240         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
6241         (altivec_vspltisw_v4sf): Name pattern.
6242         (altivec_vslw_v4sf): New pattern.
6243
6244 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
6245
6246         * doc/include/gcc-common.texi: Define DEVELOPMENT.
6247
6248 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
6249
6250         * stor-layout.c (update_alignment_for_field): Correct handling of
6251         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
6252         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
6253         bitfield does not affect alignment.
6254
6255 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
6256
6257         * expr.c (expand_assignment): Apply special treatment to
6258         ARRAY_TYPE.
6259
6260 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6261
6262         * config/h8300/h8300-protos.h: Update the prototype of
6263         expand_a_shift.
6264         * config/h8300/h8300.c (expand_a_shift): Change the return
6265         type to void.
6266         * config/h8300/h8300.md: Update all the uses of
6267         expand_a_shift.
6268
6269 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
6270
6271         * tree.c (save_expr): Allow either side of a dyadic operand to be
6272         constant.
6273
6274         * doc/portability.texi (portability): Update portability goals.
6275
6276 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
6277
6278         * config/h8300/h8300.c (output_a_shift): Remove unused code.
6279
6280 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
6281
6282         * stor-layout.c (update_alignment_for_field): Guard use of
6283         ADJUST_FIELD_ALIGN with #ifdef.
6284
6285         * stor-layout.c (update_alignment_for_field): Use
6286         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
6287         bitfield when PCC_BITFIELD_TYPE_MATTERS.
6288
6289 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6290
6291         * genautomata.c: Fix comment typos.
6292
6293 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
6294
6295         * params.def (tracer-min-branch-probability-feedback): Fix default.
6296         * final.c (compute_alignments): Use profile to avoid code bloat.
6297
6298 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6299
6300         * config/h8300/h8300.c (get_shift_alg): Make shift insn
6301         sequences end with a valid cc0 whenever possible.
6302
6303 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
6304
6305         * config/h8300/h8300.md (negsf2): New.
6306         (*negsf2_h8300): Likewise.
6307         (*negsf2_h8300hs): Likewise.
6308
6309 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
6310
6311         * integrate.c (output_inline_function): Don't hold private
6312         pointers to 'struct function' over GC calls.
6313
6314 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
6315
6316         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
6317         NO_FPSCR_VALUES.
6318         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
6319
6320 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6321
6322         * config/h8300/h8300.md (zero_extendqisi2): Correct the
6323         length.
6324
6325 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6326
6327         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
6328         second alternative "#".
6329         (*zero_extendqihi2_h8300hs): Likewise.
6330         (a define_split): New.
6331
6332 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6333
6334         * config/h8300/h8300-protos.h: Update the prototype for
6335         split_adds_subs.
6336         Add prototypes for const_le_2_operand and const_le_6_operand.
6337         * config/h8300/h8300.c (split_adds_subs): Add an argument to
6338         specify whether inc/dec should be used when possible.
6339         (const_le_2_operand): New.
6340         (const_le_6_operand): Likewise.
6341         * config/h8300/h8300.md (two peepholes): New.
6342
6343 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
6344
6345         * config/fr30/fr30.md: Fix a comment typo.
6346         * config/i386/i386.c: Likewise.
6347         * config/ip2k/ip2k.h: Likewise.
6348
6349 2002-12-20  Jim Wilson  <wilson@redhat.com>
6350
6351         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
6352         (__ev_subw, __ev_subiw): New.
6353         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
6354         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
6355
6356 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
6357
6358         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
6359         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
6360         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
6361         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
6362
6363 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6364
6365         * config/h8300/h8300-protos.h: Add prototypes for
6366         incdec_operand and eqne_operator.
6367         * config/h8300/h8300.c (incdec_operand): New.
6368         (eqne_operator): Likewise.
6369         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
6370         (CONST_OK_FOR_O): Likewise.
6371         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
6372         CONST_OK_FOR_O.
6373         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
6374         (addhi3_incdec): New.
6375         (addsi3_incdec): Likewise.
6376         (two peepholes): Likewise.
6377
6378 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
6379
6380         * config/h8300/h8300.c (dosize): Remove warnings.
6381         (print_operand): Likewise.
6382
6383 2002-12-20  Richard Henderson  <rth@redhat.com>
6384
6385         * config/alpha/alpha.c (decl_has_samegp): New.
6386         (samegp_function_operand): Use it.  Rename from
6387         current_file_function_operand.
6388         (direct_call_operand): Handle -msmall-text via symbol->jump.
6389         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
6390         (tls_symbolic_operand_type): Likewise.
6391         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
6392         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
6393         (alpha_end_function): Set symbol->jump for functions defined in
6394         the text section.
6395         * config/alpha/alpha-protos.h: Update.
6396         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
6397         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
6398         (PREDICATE_CODES): Update.
6399         * config/alpha/alpha.md (call patterns): Update for
6400         samegp_function_operand rename; use !samegp reloc if
6401         TARGET_EXPLICIT_RELOCS.
6402         * doc/invoke.text: Document -msmall-text and -mlarge-text.
6403
6404 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
6405
6406         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
6407         all registers capable of holding a double float.
6408         (*rcond): change name of "reverse branch" insns to
6409         something more meaningful.
6410         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
6411         comparisons properly.
6412         (*ffs): Change operand 0 from write to read-modify-write.
6413         (*ffsssi2): Drop constraints from define_expand.
6414
6415         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
6416         MOVE_RATIO as default for store operations.
6417
6418         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
6419         LONG_REGS class.
6420         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
6421         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
6422         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
6423
6424         * config/ns32k/STATUS: New File
6425         * config/ns32k/NOTES: New file.
6426
6427 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
6428
6429         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
6430         option for S/390 and zSeries.
6431         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
6432         s390_arch_string): New variables.
6433         (override_options): Checking for options and setting of
6434         appropriate target_flags, cpu and arch flags.
6435         * config/s390/s390.h: (processor_type): New enum.
6436         (TARGET_SWITCHES): New switches -mesa/zarch.
6437         * config/s390/s390.md: New attribute 'cpu'.
6438
6439 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6440
6441         * c-pretty-print.h: Fix comment typos.
6442         * integrate.c: Likewise.
6443         * varasm.c: Likewise.
6444         * config/c4x/c4x.h: Likewise.
6445         * config/c4x/c4x.md: Likewise.
6446         * config/fr30/fr30.md: Likewise.
6447         * config/frv/frv.c: Likewise.
6448         * config/h8300/h8300.c: Likewise.
6449         * config/i386/i386.c: Likewise.
6450         * config/i386/i386.h: Likewise.
6451         * config/ia64/ia64.c: Likewise.
6452         * config/ia64/ia64.h: Likewise.
6453         * config/ip2k/ip2k.md: Likewise.
6454         * config/m68hc11/m68hc11-crt0.S: Likewise.
6455         * config/m68hc11/m68hc11.h: Likewise.
6456         * config/m68hc11/m68hc11.md: Likewise.
6457         * config/m68hc11/m68hc12.h: Likewise.
6458         * config/mcore/mcore.md: Likewise.
6459         * config/mips/mips.c: Likewise.
6460         * config/mips/mips.md: Likewise.
6461         * config/mmix/mmix-modes.def: Likewise.
6462         * config/pa/pa.c: Likewise.
6463         * config/rs6000/rs6000.c: Likewise.
6464         * config/rs6000/rs6000.h: Likewise.
6465         * config/rs6000/rs6000.md: Likewise.
6466
6467 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6468
6469         * config/h8300/h8300.md (output_a_shift): Clean up the code to
6470         output shifts using rotation.
6471
6472 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6473
6474         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
6475
6476 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6477
6478         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
6479         pointer.
6480         (pushqi_h8300hs): Likewise.
6481         (pushhi_h8300): Likewise.
6482         (pushhi_h8300hs): Likewise.
6483
6484 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
6485
6486         * sched-rgn.c (init_regions): Update comment.
6487
6488 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
6489
6490         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
6491         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
6492         attributes.
6493         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
6494         (get_vrsave_internal,set_vrsave_internal): Same.
6495         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
6496         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
6497         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
6498
6499 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
6500             Danny Smith  <dannysmith@users.sourceforge.net>
6501             Eric Kohl  <ekohl@rz-online.de>
6502
6503         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
6504         attributes incompatible with fastcall attribute.
6505         (ix86_handle_regparm_attribute): Likewise.
6506
6507         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
6508         fastcall types.
6509
6510         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6511         attributes.
6512         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
6513         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
6514         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
6515         i386_pe_output_labelref rather than here.
6516         (gen_fastcall_suffix): New function. Decorates a label name with the
6517         fastcall prefix (@) and the stdcall suffix.
6518         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
6519         has a fastcall attribute.
6520         (i386_pe_output_labelref): New function. Outputs a label reference.
6521         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
6522         valid attribute.
6523         (ix86_return_pops_args): Fastcall functions pop the stack.
6524         (init_cumulative_args): Reserve registers ECX and EDX if function has
6525         fastcall attribute.
6526         (function_arg): Use registers ECX and EDX if function has fastcall
6527         attribute.
6528         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
6529         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
6530         (FASTCALL_PREFIX): Define as '@'.
6531         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
6532         attributes.
6533         * doc/extend.texi: Add documentation of fastcall attribute.
6534
6535 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
6536
6537         * configure.in: FORBUILD when build!=host changed from
6538         ../$build-alias to ../build-$build_alias to match change made
6539         in top directory.
6540         * configure: Regenerated.
6541
6542 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6543
6544         PR optimization/8988
6545         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
6546         the biv when eliminating.
6547
6548 2002-12-19  Devang Patel  <dpatel@apple.com>
6549         * gcc.c (struct default_compiler): Recognizes input file name with
6550         .CPP extension as C++ source files
6551         * cp/lang-spec.h: Same
6552         * doc/invoke.texi:  Add documentation for .CPP support.
6553
6554 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
6555
6556         PR 8553
6557         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
6558         registers.
6559         ("absv16qi2"): Same.
6560         ("absv4si2"): Same.
6561         ("absv4sf2"): Same.
6562         ("altivec_abss_v16qi"): Same.
6563         ("altivec_abss_v8hi"): Same.
6564         ("altivec_abss_v4si"): Same.
6565
6566 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6567
6568         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6569         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6570
6571 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6572
6573         PR target/8340
6574         * stmt.c (expand_asm_operands): Produce an error when
6575         the PIC register is clobbered.
6576
6577 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6578
6579         * Makefile.in (OBJS): Add alloc-pool.o
6580         (alloc-pool.o): New object.
6581
6582         * alloc-pool.c: New file.
6583         * alloc-pool.h: New file.
6584
6585 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6586
6587         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6588
6589 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6590
6591         * config.gcc: Set extra_objs in the generic Darwin rule,
6592         not in the machine-specific rules.
6593
6594 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6595
6596         * ChangeLog: Follow spelling conventions.
6597         * ChangeLog.2: Likewise.
6598         * ChangeLog.4: Likewise.
6599         * ChangeLog.5: Likewise.
6600         * cppexp.c: Likewise.
6601         * df.c: Likewise.
6602         * gcov.c: Likewise.
6603         * gengtype.c: Likewise.
6604         * reload1.c: Likewise.
6605         * sched-rgn.c: Likewise.
6606         * stmt.c: Likewise.
6607         * stor-layout.c: Likewise.
6608         * timevar.c: Likewise.
6609         * toplev.c: Likewise.
6610         * tree.h: Likewise.
6611         * varasm.c: Likewise.
6612         * config/fr30/fr30.md: Likewise.
6613         * config/i386/i386.c: Likewise.
6614         * config/ia64/ia64.c: Likewise.
6615         * config/pa/pa.c: Likewise.
6616
6617 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6618
6619         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6620
6621 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6622
6623         PR 8551
6624         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6625         macro.
6626         (vec_cmplt C++ functions): Reverse arguments.
6627
6628 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6629
6630         * config/rs6000/t-rs6000: Move contents to t-fprules,
6631         add rules for dependencies of rs6000.o and to build rs6000-c.o
6632         * config/rs6000/t-fprules: New file from t-rs6000.
6633         * config/rs6000/t-beos: Remove soft-fp rules.
6634         * config/rs6000/t-ppccomm: Likewise.
6635         * config/rs6000/t-newas: Likewise.
6636         * config/rs6000/t-rs6000-c-rule: Delete.
6637         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6638         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6639         Create generic Darwin rules.
6640
6641         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6642
6643 2002-12-18  Doug Evans  <dje@sebabeach.org>
6644
6645         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6646         and LIT_NAME_P.
6647         (move_src_operand): Remove compile-time warning.
6648         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6649
6650 2002-12-18  Jason Merrill  <jason@redhat.com>
6651
6652         * unwind-dw2-fde.c (frame_downheap): Split out from...
6653         (frame_heapsort): Here.
6654
6655 2002-12-17  Jason Merrill  <jason@redhat.com>
6656
6657         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6658         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6659
6660         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6661
6662         * calls.c (expand_call): Don't try to be clever about expanding
6663         the return slot address.
6664
6665 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6666
6667         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6668         Define.
6669
6670 2002-12-17  Jason Merrill  <jason@redhat.com>
6671
6672         * genmultilib: Use 'cd ./foo'.
6673
6674 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6675
6676         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6677
6678 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6679
6680         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6681         * doc/cpp.texi: Likewise.
6682         * doc/extend.texi: Likewise.
6683         * doc/gty.texi: Likewise.
6684         * doc/install.texi: Likewise.
6685         * doc/invoke.texi: Likewise.
6686         * doc/md.texi: Likewise.
6687         * doc/passes.texi: Likewise.
6688         * doc/rtl.texi: Likewise.
6689         * doc/sourcebuild.texi: Likewise.
6690         * doc/tm.texi: Likewise.
6691
6692 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6693
6694         * doc/invoke.texi: Minor spelling and grammar fixes.
6695
6696 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6697
6698         * config/s390/s390.c (s390_output_constant_pool): Replace
6699         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6700
6701 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6702
6703         * convert.c (convert_to_real): Disable function transformation for
6704         now.
6705
6706 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6707
6708         * gcc.c (handle_braces): Allow '@' as a switch name.
6709
6710 2002-12-16  Jason Merrill  <jason@redhat.com>
6711
6712         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6713         with special struct-return ABIs.
6714
6715         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6716         doesn't match the begin SCOPE_STMT in partialness.
6717
6718 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6719
6720         * genmultilib: Create temporary files in unique subdirectory.
6721
6722         * gcc.c (validate_switches): Allow '@' as a switch name.
6723
6724 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6725
6726         * Makefile.in (gcov-iov.h): Improve portability.
6727
6728 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6729
6730         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6731         gas
6732         * mips.md (tablejump insn): Likewise.
6733
6734 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6735
6736         * doc/include/gcc-common.texi: Change version number to 3.4.
6737
6738 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6739
6740         * fixinc/fixlib.h: add: #include <signal.h>
6741         * fixinc/fixincl.c: remove: #include <signal.h>
6742
6743 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6744
6745         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6746         (EXTRA_CONSTRAINT): Use it.
6747         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6748
6749 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6750
6751         * config.gcc (need_64bit_hwint): New variable.
6752         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6753         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6754         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6755         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6756         Set it.
6757         (powerpc*-*-darwin*): Unset it.
6758         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6759         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6760         deleted/nonexistent xm-*.h headers.
6761         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6762         target set need_64bit_hwint in config.gcc.
6763         * configure, config.in: Regenerate.
6764
6765         * hwint.h: Overhaul.  Don't bother trying int for
6766         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6767         decision to force 64-bit HOST_WIDE_INT on
6768         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6769         not visible at this point.  Don't allow prior definition of
6770         any macro defined by this file.
6771
6772         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6773         HOST_BITS_PER_WIDE_INT.
6774         * config/c4x/c4x.h: Adjust redefinition of
6775         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6776         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6777         config/i386/xm-i386-interix.h: Delete file.
6778
6779 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6780             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6781
6782         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6783         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6784
6785 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6786
6787         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6788
6789 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6790
6791         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6792         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6793         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6794         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6795         config/v850/t-v850:  Correct dependencies and normalize
6796         compilation commands for files that include coretypes.h and tm.h.
6797
6798         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6799         not config.h and system.h.
6800
6801 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6802
6803         * i386.c (flags_reg_operand):  New function.
6804         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6805         * i386.md (cmov splitter, movqicc): Use new predicate.
6806
6807 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6808
6809         * i386.md (movqicc splitter): Fix template.
6810
6811 2002-12-13  Jason Merrill  <jason@redhat.com>
6812
6813         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6814         * calls.c (expand_call): Handle it.
6815         * tree-inline.c (struct inline_data): Remove target_exprs field.
6816         (optimize_inline_calls): Don't initialize it.
6817         (expand_call_inline): Don't modify it.  Handle
6818         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6819         (declare_return_variable): Take return slot addr.
6820         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6821         to return_slot_addr.
6822         * langhooks-def.h, langhooks.c: Adjust.
6823         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6824         a decl with no DECL_INITIAL.
6825
6826         * expr.c (expand_expr): Don't discard the target of a call which
6827         returns in memory.
6828
6829 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
6830
6831         * cppinit.c (path_include): Take an environment variable name.
6832         Tidy up.
6833         (init_standard_includes): Simplify environment handling, and
6834         move to ...
6835         (cpp_read_main_file): ...here as -nostdinc should not affect
6836         environment variable paths.
6837
6838 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6839
6840         * pa.c (output_millicode_call): Correct typo.
6841         (output_call): Likewise.
6842
6843 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
6844
6845         * config/mn10300/mn10300.c (print_operand) <case N>: Check
6846         operand's range.  Print value directly, without aid from
6847         output_address.
6848         <case U>: New.
6849         <case S>: Make sure argument to fprintf has the right type.
6850         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6851         (EXTRA_CONSTRAINT): Adjust.
6852         * config/mn10300/mn10300.md: Add new all-QImode pattern for
6853         bclr.  Use %U for immediate operands of bset and bclr.
6854         (iorqi3): New expand, with insns for AM33 and mn10300.
6855
6856 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
6857
6858         * sh.c (sh_register_operand): New function.
6859         (prepare_move_operands): Use it.
6860         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6861         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6862         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6863         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6864         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6865         (movv2si_i): Likewise.
6866
6867 2002-12-13  Jim Wilson  <wilson@redhat.com>
6868
6869         * doc/extend.texi (Complex Numbers): Update info on debug info.
6870
6871 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
6872
6873         * config/h8300/h8300.md (addhi3_h8300): Remove the last
6874         alternative.
6875
6876 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6877
6878         * hooks.h (hook_tree_tree_bool_false): Declare
6879         hook_bool_tree_tree_false instead.
6880
6881 2002-12-12  Devang Patel  <dpatel@apple.com>
6882
6883         * doc/invoke.texi: Document Darwin linker options, -bundle
6884         -bind_at_load, -all_load and -arch_errors_fatal
6885
6886 2002-12-12  Jim Wilson  <wilson@redhat.com>
6887
6888         * dbxout.c (dbxout_fptype_value): New.
6889         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
6890
6891 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6892
6893         * c-decl.c: Fix a comment typo.
6894         * cfg.c: Likewise.
6895         * cfgcleanup.c: Likewise.
6896         * cfglayout.c: Likewise.
6897         * cfgrtl.c: Likewise.
6898         * c-typeck.c: Likewise.
6899         * dominance.c: Likewise.
6900         * dwarf2asm.c: Likewise.
6901         * dwarfout.c: Likewise.
6902         * expmed.c: Likewise.
6903         * expr.c: Likewise.
6904         * final.c: Likewise.
6905         * flow.c: Likewise.
6906         * function.c: Likewise.
6907         * gcc.c: Likewise.
6908         * genautomata.c: Likewise.
6909         * integrate.c: Likewise.
6910         * loop.c: Likewise.
6911         * loop.h: Likewise.
6912         * output.h: Likewise.
6913         * profile.c: Likewise.
6914         * ra.h: Likewise.
6915         * reload1.c: Likewise.
6916         * reload.c: Likewise.
6917         * sched-rgn.c: Likewise.
6918         * stmt.c: Likewise.
6919         * tree.h: Likewise.
6920         * vmsdbgout.c: Likewise.
6921
6922 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6923
6924         * config/h8300/h8300.md: Add a new peephole2.
6925
6926 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6927
6928         * config/h8300/h8300.md (a peephole2): Accept a constant
6929         that's accepted by CONST_OK_FOR_J.
6930
6931 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6932
6933         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6934         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6935         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6936         (*addhi_h8300hs): Likewise.
6937
6938 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
6939
6940         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
6941         (sh_register_move_cost): Add clause for SImode fp-fp moves.
6942         Increase cost for moves involving multiple general purpose registers.
6943         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6944         TARGET_FMOVD.
6945         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6946         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6947         (enum reg_class reg_class_from_letter): No longer const.
6948         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6949         REGCLASS_HAS_GENERAL_REG.
6950         Handle SImode moves from/to fp registers.
6951         ! TARGET_SHMEDIA && TARGET_FMOVD.
6952         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6953         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6954
6955 2002-12-12  Andreas Schwab  <schwab@suse.de>
6956
6957         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6958         change and some warnings.
6959
6960 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6961
6962         * doc/md.texi (pushm): Fix a typo.
6963
6964 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
6965
6966         * config/mips/mips.c (mips_output_conditional_branch): Support
6967         PIC-safe out-of-range branch and branch-likely.
6968         * config/mips/mips.md (attr length): PIC-safe out-of-range
6969         branches are longer.
6970         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
6971         unused code to support indirect jumps.
6972
6973 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
6974
6975         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6976         $(tm_file_list).
6977
6978 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
6979
6980         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6981
6982 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
6983
6984         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6985
6986 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6987
6988         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6989         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6990         BIGGEST_ALIGNMENT.
6991         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6992         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6993
6994 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6995
6996         * doc/invoke.texi: Correct dump file names.
6997
6998 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6999
7000         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
7001         name to globalize_label or assemble_name.
7002
7003 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
7004
7005         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
7006         if not TARGET_SHMEDIA.
7007
7008 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
7009
7010         * sh.h (REG_CLASS_HAS_FP_REG): New.
7011         (REGISTER_MOVE_COST) Use it.  Put body into a function and
7012         move it into:
7013         * sh.c (sh_register_move_cost).
7014         * sh-protos.h (sh_register_move_cost): Declare.
7015
7016         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
7017         (sh_adjust_cost): Always return a value.
7018
7019 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
7020
7021         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
7022         (REGISTER_MOVE_COST): Use it.
7023
7024 2002-12-11  Richard Henderson  <rth@redhat.com>
7025
7026         * tree.h (MODULE_LOCAL_P): Kill.
7027         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
7028
7029 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7030
7031         * config/h8300/h8300.md (two define_peephole2): New.
7032
7033 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
7034
7035         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
7036         (CONST_OK_FOR_K): Likewise.
7037         (CONST_OK_FOR_M): Likewise.
7038         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
7039
7040 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
7041
7042         * c-common.c (builtin_define_type_max): Handle unsigned
7043         types too.
7044
7045 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
7046
7047         * haifa-sched.c (rank_for_schedule): Correct style.
7048
7049 2002-12-10  Per Bothner  <pbothner@apple.com>
7050
7051         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
7052         directive_index into an unsigned field and a new is_directive field.
7053         * cppinit.c (mark_named_operators):  Update to set new fields.
7054         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
7055         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
7056         No longer need to subtract 1 from directive_index.
7057         (_cpp_init_directives):  No longer need to add 1 to directive_index.
7058         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
7059
7060 2002-12-10  Roger Sayle  <roger@eyesopen.com>
7061
7062         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
7063         check for evaluating sqrt of a constant at compile time.
7064         * simplify-rtx.c (simplify_unary_operation): Likewise.
7065
7066 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
7067
7068         PR other/8882
7069         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
7070
7071 2002-12-10  Devang Patel  <dpatel@appple.com>
7072
7073         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
7074         * doc/invoke.texi: Add new "Darwin Options" section.
7075
7076 2002-12-10  Jim Wilson  <wilson@redhat.com>
7077
7078         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
7079         memory.
7080
7081 2002-12-10  Andrew Haley  <aph@redhat.com>
7082
7083         * cse.c (cse_insn): Don't cse past a basic block boundary.
7084
7085 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
7086
7087         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
7088         -shared.
7089         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
7090         * config/alpha/linux.h (LIB_SPEC): Likewise.
7091         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
7092         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
7093         * config/sparc/linux.h (LIB_SPEC): Likewise.
7094         * config/sparc/linux64.h (LIB_SPEC): Likewise.
7095
7096 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
7097
7098         * doc/invoke.texi: Document UltraSparc III option.
7099
7100 2002-12-09  Richard Henderson  <rth@redhat.com>
7101
7102         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
7103         __tune_pentium2__ and __tune_pentium3__ as necessary.
7104
7105 2002-12-09  Richard Henderson  <rth@redhat.com>
7106
7107         * target.h (gcc_target): Add cannot_force_const_mem.
7108         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
7109         (TARGET_INITIALIZER): Add it.
7110         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
7111         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
7112         * reload1.c (reload): Likewise.
7113         * hooks.c (hook_bool_rtx_false): New.
7114         * hooks.h: Declare it.
7115
7116         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
7117         (TARGET_CANNOT_FORCE_CONST_MEM): New.
7118         (ix86_expand_move): Remove de-const-pooling hack.
7119
7120 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
7121
7122         * toplev.c (dump_file): Fix order to match reality.
7123
7124 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
7125
7126         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
7127         (store_multiple): Likewise.
7128
7129 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7130
7131         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
7132         function pointers in page 0.
7133
7134 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7135
7136         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
7137         definition
7138         (MEMBER_TYPE_FORCES_BLK): Move.
7139         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
7140         aggregate arguments.
7141         (ia64_function_value): Use PARALLEL to return aggregate values.
7142
7143 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
7144
7145         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7146         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
7147         * calls.c (store_unaligned_arguments_into_pseudos) Remove
7148         FUNCTION_ARG_REG_LITTLE_ENDIAN.
7149         * stmt.c (expand_return): Ditto.
7150         * expr.c (move_block_from_reg): Ditto.
7151         (copy_blkmode_from_reg): Ditto.
7152         * expmed.c (store_bit_field): Ditto.
7153
7154 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
7155
7156         * config.gcc: Added tic4x-* target as an alias to c4x-*
7157
7158 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
7159
7160         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
7161         constructing insn directly.
7162
7163 2002-12-06  Per Bothner  <pbothner@apple.com>
7164
7165         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
7166         char to an int bit-field, for hosts where char is unsigned.
7167
7168 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7169             Richard Henderson <rth@redhat.com>
7170
7171         * real.c (ieee_extended_motorola_format,
7172         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
7173         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
7174         Provide appropriate values for new signbit field.
7175
7176 2002-12-07  Roger Sayle  <roger@eyesopen.com>
7177
7178         * real.h (real_format): Add signbit field.
7179         * real.c (ieee_single_format, ieee_double_format,
7180         ieee_extended_motorola_format, ieee_extended_intel_96_format,
7181         ieee_extended_intel_128_format, ibm_extended_format,
7182         ieee_quad_format, vax_f_format, vax_d_format,
7183         vax_g_format, i370_single_format, i370_double_format,
7184         c4x_single_format, c4x_extended_format, real_internal_format):
7185         Provide suitable signbit value, or -1 to avoid bit twiddling.
7186
7187         * optabs.c (expand_unop): Try implementing negation of
7188         floating point modes by flipping the sign bit.
7189         (expand_abs): Try implementing abs of floating point modes
7190         by clearing the sign bit.
7191
7192 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7193
7194         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
7195         of constructing insn directly.
7196
7197 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
7198
7199         * config/h8300/h8300.md (*iorhi_shift_8): New.
7200
7201 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
7202
7203         * doc/invoke.texi: Document FRV port options.
7204         * doc/md.texi: Document FRV register classes.
7205
7206 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
7207
7208         * doc/install.texi (Configuration): Improve description of cases
7209         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
7210
7211 2002-12-06  Per Bothner  <pbothner@apple.com>
7212
7213         * cpplib.h (NODE_MACRO_ARG):  New flag.
7214         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
7215         Remove value.operator field.  Move arg_index field to value union.
7216         (directive_index):  Make signed, since also used for C++ operators.
7217         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
7218         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
7219         Save node->value, and set node->value.arg_index.
7220         (_cpp_create_definition):  For each paramater, restore node->value.
7221         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
7222         * cpptrad.c (scan_out_logical_line): Likewise.
7223         (scan_out_logical_line): Check for directive > 0.
7224         * cpplib.c (cpp_handle_directive):  Likewise.
7225         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
7226         by negative of directive_index.
7227         * cppinit.c (mark_named_operators):  Likewise.
7228
7229         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
7230
7231 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
7232
7233         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
7234         FPU.
7235         (push): Generate push_fpscr.
7236         (pop): Generate pop_fpscr.
7237         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
7238         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
7239
7240 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
7241
7242         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
7243         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
7244
7245 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
7246
7247         * sh.md (movdi_i): Name.  Remove inappropriate comment.
7248
7249 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
7250         Merged from basic improvements branch (excerpt):
7251
7252         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7253         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7254
7255 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
7256
7257         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
7258
7259 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
7260
7261         * i386.md (dimode peep2s): Re-add "&& 1".
7262
7263 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
7264
7265         * i386.c (ix86_expand_prologue):  Add comment, do not use
7266         fast prologues for cold and normal functions.
7267
7268 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7269
7270         * i386.c (x86_rep_movl_optimal): New variable.
7271         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
7272         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
7273
7274         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
7275         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
7276         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
7277         generate unnecesary subregs.
7278
7279 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7280
7281         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
7282         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
7283
7284 2002-12-05  Dale Johannesen  <dalej@apple.com>
7285
7286         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
7287
7288 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
7289
7290         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
7291         PROFILE_HOOK.
7292         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
7293
7294 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
7295
7296         * config/rs6000/spe.h (__ev_mwlufi): Remove.
7297         (__ev_mwlufia): Remove.
7298         (__ev_mwlumfaaw): Remove.
7299         (__ev_mwlusfaaw): Remove.
7300         (__ev_mwlumfanw): Remove.
7301         (__ev_mwlusfanw): Remove.
7302
7303 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7304
7305         * config/h8300/h8300.md (*andorsi3_shift_8): New.
7306
7307 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
7308
7309         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
7310         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
7311         (get_shift_alg): Return optimal assembly instructions for the
7312         shifts mentioned above.
7313
7314 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
7315
7316         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
7317         condtiional moves.
7318
7319 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7320
7321         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
7322         implement ashiftrt:HI by 13 bits on H8S.
7323
7324 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7325
7326         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
7327         * pa.md (canonicalize_funcptr_for_compare): Output library call to
7328         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
7329         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
7330         CTOR_LIST_BEGIN): New defines.
7331         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
7332         (fptr.c): Add make rules.
7333
7334 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
7335
7336         * combine.c (combine_simplify_rtx): Add new canonicalizations.
7337         * doc/md.texi (Insn Canonicalizations): Document new
7338         canonicalizations for multiply/add combinations.
7339         * config/rs6000/rs6000.md: Add and modify floating add/multiply
7340         patterns to ensure they're used whenever they can be.
7341
7342 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7343
7344         * config/h8300/h8300.c: Update the comments related to shifts.
7345
7346 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7347
7348         * config/mips/mips.md (get_fnaddr): Correct length attribute.
7349
7350 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
7351
7352         * config/h8300/h8300.md (*extzv_8_8): New.
7353         (*extzv_8_16): Likewise.
7354
7355 2002-12-04  Jason Merrill  <jason@redhat.com>
7356
7357         PR c++/8461, c++/8625
7358         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
7359         references.
7360         * tree-inline.c (initialize_inlined_parameters): Likewise.
7361
7362         * tree.c (variably_modified_type_p): Just return an error_mark_node.
7363
7364 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
7365
7366         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
7367         macro instruction in a branch delay slot, to avoid assembler
7368         warnings.
7369
7370 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
7371
7372         PR c/7622
7373         * c-semantics (genrtl_scope_stmt): Do not output inlined
7374         nested functions that contain no code.
7375
7376 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
7377
7378         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
7379         to be forced into nonfallthru.
7380
7381 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
7382
7383         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
7384
7385 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
7386
7387         * config/rs6000/spe.md (*movv1di_const0): New pattern.
7388
7389 2002-12-03  Richard Henderson  <rth@redhat.com>
7390
7391         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
7392
7393 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
7394
7395         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
7396         Initialize tmp.using_obstack to 0.
7397
7398 2002-12-03  Andreas Schwab  <schwab@suse.de>
7399
7400         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
7401         (EH_RETURN_STACKADJ_RTX): Define.
7402         (EH_RETURN_HANDLER_RTX): Define.
7403         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7404         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
7405         registers and don't save fixed registers.
7406         (m68k_output_function_prologue): Use it.
7407         (use_return_insn): Likewise.
7408         (m68k_output_function_epilogue): Likewise.
7409
7410 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
7411
7412         * config/h8300/h8300.c (single_one_operand): Fix a warning.
7413         (single_zero_operand): Likewise.
7414
7415 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
7416
7417         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
7418         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
7419         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
7420         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
7421         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
7422         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
7423         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
7424         doc/install-old.texi: Replace hconfig.h with bconfig.h.
7425         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
7426
7427 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
7428
7429         * config/rs6000/rs6000.md (ffssi): Convert to expander.
7430         (ffsdi): Likewise.
7431         (cntlzw2, cntlzd2): New patterns.
7432
7433 2002-12-02  H.J. Lu <hjl@gnu.org>
7434
7435         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
7436         (mips*-*-linux*): Remove mips/t-linux.
7437
7438 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
7439
7440         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7441
7442 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7443
7444         * config/h8300/h8300.c (dosize): Replace argument op with
7445         sign.
7446         (h8300_output_function_prologue): Update the call to dosize.
7447         (h8300_output_function_epilogue): Likewise.
7448
7449 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
7450
7451         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
7452
7453 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
7454
7455         * configure.in: Use "missing" script to generate warning if
7456         flex or bison programs not found, instead of invoking "false".
7457         * configure: Rebuilt.
7458
7459 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
7460
7461         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
7462
7463 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
7464
7465         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
7466
7467 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7468
7469         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
7470         (push): Likewise.
7471         (pop): Likewise.
7472         (h8300_output_function_prologue): Likewise.
7473         (h8300_output_function_epilogue): Likewise.
7474
7475 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
7476
7477         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7478         corresponding mode of non-integer mode, unless it is VOIDmode.
7479
7480 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7481
7482         * config/h8300/h8300.md (stm_h8300s_2): New.
7483         (stm_h8300s_3): Likewise.
7484         (stm_h8300s_4): Likewise.
7485         (five define_peephole2): Likewise.
7486
7487 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
7488
7489         * ra-build.c: Fix a comment typo.
7490
7491 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7492
7493         * i386.c (ix86_expand_int_movcc): fix
7494         reversed BRANCH_COST test; be curefull about infinite recursion.
7495
7496 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7497
7498         * config/h8300/h8300.c (h8300_output_function_prologue):
7499         Remove variable idx.
7500         (h8300_output_function_epilogue): Likewise.
7501
7502 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
7503
7504         * config/frv/xm-frv.h: Delete, unnecessary.
7505
7506 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
7507
7508         * config/h8300/h8300.md: Add comments for define_peephole2.
7509
7510 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
7511
7512         * builtin-types.def (BT_SIZE): Use size_type_node.
7513         * builtins.c (fold_builtin): Make the builtin strlen returns a
7514         size_t, not a sizetype.
7515         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
7516         c_size_type_node.
7517         (c_alignof_expr): Likewise.
7518         (c_common_nodes_and_builtins): Likewise.
7519         * c-common.h (CTI_C_SIZE_TYPE): Remove.
7520         (c_size_type_node): Likewise.
7521         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
7522         * tree.h (TI_SIZE_TYPE): New enumeral.
7523         (size_type_node): Likewise.
7524
7525 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
7526
7527         * configure.in: Don't put ${tm_file} into host_xm_file,
7528         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
7529         Take location of tm-preds.h into account when calculating
7530         tm_p_file_list.
7531         * configure: Regenerate.
7532         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
7533         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
7534         Remove special case code for tm_p.h and *config.h; add new
7535         special case code for tm.h and tconfig.h. Clean up a bit.
7536
7537         * Makefile.in (tm_file, tm_file_list): New variables set from
7538         @-substitutions.
7539         (GCONFIG_H): Deleted.
7540         (GTM_H, TM_H): New.
7541         (CONFIG_H): Is now just config.h $(host_xm_file_list).
7542         (TM_P_H): Move up with the other mkconfig.sh-generated
7543         headers; don't mention tm-preds.h explicitly.
7544         (tm.h, cs-tm.h): New rule.
7545         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
7546         invocations of mkconfig.sh for changes to that program.
7547         (mostlyclean): Delete print-rtl1.c.
7548         (clean): Delete tm.h.
7549         Update dependencies for the files listed below.
7550
7551         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
7552
7553         * coretypes.h: New file.
7554         * system.h: #define malloc to xmalloc and realloc to xrealloc
7555         when FLEX_SCANNER or YYBISON is defined, independent of the
7556         value of GCC_VERSION.
7557         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
7558         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
7559         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7560         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7561         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7562         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7563         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7564         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7565         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7566         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7567         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7568         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7569         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7570         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7571         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7572         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7573         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7574         genconstants.c, genemit.c, genextract.c, genflags.c,
7575         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7576         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7577         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7578         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7579         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7580         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7581         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7582         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7583         print-tree.c, profile.c, protoize.c, ra-build.c,
7584         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7585         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7586         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7587         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7588         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7589         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7590         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7591         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7592         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7593         xcoffout.c, config/darwin-c.c, config/darwin.c,
7594         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7595         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7596         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7597         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7598         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7599         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7600         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7601         config/i960/i960-c.c, config/i960/i960.c,
7602         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7603         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7604         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7605         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7606         config/mmix/mmix.c, config/mn10200/mn10200.c,
7607         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7608         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7609         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7610         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7611         config/sparc/sparc.c, config/stormy16/stormy16.c,
7612         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7613         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7614         Include coretypes.h and tm.h.
7615
7616         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7617         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7618         genrecog.c: Include coretypes.h and tm.h from the file
7619         generated by this program.
7620
7621         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7622         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7623         coretypes.h and tm.h, and tsystem.h when not already included.
7624         No need to include stddef.h nor stdlib.h.
7625
7626         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7627         include auto-host.h or ansidecl.h/
7628         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7629         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7630         include auto-host.h, ansidecl.h, or system.h.
7631         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7632         and do not redefine volatile.
7633
7634 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7635
7636         * i386.md (movdf_integer):  Always enable in 64bit.
7637         (movdf_nointeger): Always disable in 64bit.
7638
7639 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7640
7641         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7642         pseudo register number plus 1.
7643
7644 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7645
7646         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7647         corresponding mode of non-integer mode, unless it is VOIDmode.
7648
7649 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7650
7651         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7652
7653         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7654
7655 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7656
7657         * config/s390/t-crtstuff: New target makefile fragment.
7658         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7659
7660 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7661
7662         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7663         alternatives to correct the length when the memory operand is
7664         either pre_dec or post_inc.
7665
7666 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7667
7668         * config/h8300/h8300.md (an anonymous pattern): Give an
7669         internal name *tst_extzv_bitqi_1_n.
7670         Accept bit_operand instead of bit_memory_operand.
7671         Do not accept bit tests with the MSB.
7672         (*tst_extzv_memqi_1_n): New.
7673
7674 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7675
7676         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7677         sharing when operand is SUBREG.
7678
7679 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7680
7681         * athlon.md (athlon-decodev): New reservation unit.
7682         (athlon-direct0): New reservation.
7683         (athlon-vector): New use athlon-decodev.
7684         (athlon-double, athlon-direct): Better model.
7685         (athlon_imul_k8): Use athlon-direct0.
7686         (athlon_movlpd_load): New insn reservation.
7687
7688 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7689
7690         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7691         Fix a comment typo.
7692         (h8300_tiny_constant_address_p): Likewise.
7693
7694 2002-11-28  Michael Matz  <matz@suse.de>
7695
7696         * doc/passes.texi: Mention the other register allocator.
7697
7698 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7699
7700         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7701
7702 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7703
7704         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7705         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7706         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7707
7708 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7709
7710         * config/h8300/h8300.c (h8300_and_costs): New.
7711         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7712         * config/h8300/h8300-protos.h: Add a prototype for
7713         h8300_and_costs.
7714
7715 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7716
7717         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7718         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7719         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7720         * i386.md (truncdfsf patterns and splitters): Use
7721         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7722
7723 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7724
7725         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7726         pointer argument in the prototypes of the following builtins
7727         be (const TYPE *) rather than (TYPE *):
7728          + __builtin_altivec_ld_internal_4sf
7729          + __builtin_altivec_ld_internal_4si
7730          + __builtin_altivec_ld_internal_8hi
7731          + __builtin_altivec_ld_internal_16qi
7732          + __builtin_altivec_lvsl
7733          + __builtin_altivec_lvsr
7734          + __builtin_altivec_lvebx
7735          + __builtin_altivec_lvehx
7736          + __builtin_altivec_lvewx
7737          + __builtin_altivec_lvxl
7738          + __builtin_altivec_lvx
7739          + __builtin_altivec_dst
7740          + __builtin_altivec_dstt
7741          + __builtin_altivec_dstst
7742          + __builtin_altivec_dststt
7743
7744 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7745
7746         * except.c (default_exception_section): Move variable into the
7747         scope where it is used.
7748
7749 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7750
7751         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7752         correct version.
7753
7754 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7755
7756         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7757
7758 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7759
7760         * config/h8300/h8300.c (h8300_shift_costs): New.
7761         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7762         * config/h8300/h8300-protos.h: Add a prototype for
7763         h8300_shift_costs.
7764
7765 2002-11-27  Jim Wilson  <wilson@redhat.com>
7766
7767         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7768         in output template.
7769
7770 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7771
7772         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7773         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7774         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7775         (i386_pe_dllimport_name_p): Likewise.
7776         (i386_pe_mark_dllexport): Likewise.
7777         (i386_pe_mark_dllimport): Likewise.
7778         (i386_pe_encode_section_info): Likewise.
7779         (i386_pe_strip_name_encoding): Likewise.
7780
7781 2002-11-27  Richard Henderson  <rth@redhat.com>
7782
7783         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7784         (nm && NF == 3): Set sawsymbol true.
7785         (END): Exit if no symbols seen.
7786         (output): Fix map syntax error if no globals for the version.
7787
7788 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7789
7790         * builtins.def (DEF_C99_BUILTIN): Fix.
7791
7792 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7793
7794         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7795         (all): Add .size and .type information.
7796
7797 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7798
7799         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7800         partial_reg_stall target.
7801
7802 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7803
7804         * i386.md (movhicc): Allow general operand.
7805         (movqicc): New expander.
7806         (movqicc_noc): New pattern.
7807         * i386.c (ix86_expand_carry_flag_compare): New function.
7808         (ix86_expand_int_movcc): Optimize harder using sbb; support more
7809         HImode conversion; support QImode conditional moves
7810
7811 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
7812
7813         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7814         (ix86_expand_prologue): Multiply the count by amount of registers to be
7815         pushed.
7816
7817 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7818
7819         * i386.c (override_options): Error about wrong -mcpu on x86-64
7820         compilation.
7821
7822 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
7823
7824         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7825
7826 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
7827
7828         * i386-protos.h (x86_extended_QIreg_mentioned_p,
7829         x86_extended_reg_mentioned_p): Declare.
7830         * i386.c (extended_reg_mentioned_1): New static function.
7831         (x86_extended_QIreg_mentioned_p,
7832         x86_extended_reg_mentioned_p): New global functions.
7833         * i386.h (REX_SSE_REGNO_P): New macro.
7834         * i386.md (prefix_rex): New attribute.
7835         (length attribute): Add rex.
7836
7837 2002-11-26  Andrew Haley  <aph@redhat.com>
7838
7839         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7840         from_Unwind_Find_Enclosing_Function.
7841         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7842         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7843         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7844         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7845         * unwind.h (_Unwind_FindEnclosingFunction): Add.
7846
7847 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7848
7849         * config/s390/s390.c (390_output_constant_pool): Set alignment
7850         before label in 64 bit mode, behind otherwise.
7851
7852 2002-11-26  Richard Henderson  <rth@redhat.com>
7853
7854         * c-common.c (handle_visibility_attribute): Accept "default".
7855         * tree.h (enum symbol_visibility): New.
7856         (decl_visibility): Declare.
7857         * target.h (gcc_target.visibility): Take visibility arg as integer.
7858         * varasm.c (default_assemble_visibility): Likewise.
7859         (decl_visibility): New.
7860         (maybe_assemble_visibility): Use it.
7861         * output.h (default_assemble_visibility): Update prototype.
7862         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7863         visibility arg as integer.
7864         * doc/extend.texi: Document default visibility.
7865
7866 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
7867
7868         * config/h8300/h8300.c: Adjust spacing.
7869         * config/h8300/h8300.h: Likewise.
7870
7871 2002-11-26  Richard Henderson  <rth@redhat.com>
7872
7873         * hooks.c (hook_bool_void_false, hook_void_tree_int,
7874         hook_void_FILEptr_constcharptr): Rename so that the return
7875         type is first.
7876         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7877         hook_bool_tree_false): New.
7878         * hooks.h: Update.
7879         * langhooks-def.h: Update for renames.
7880         * target-def.h: Likewise.
7881         * tree.c (default_comp_type_attributes,
7882         default_set_default_type_attributes, default_insert_attributes,
7883         default_function_attribute_inlinable_p,
7884         default_ms_bitfield_layout_p): Remove.
7885         * tree.h: Update.
7886
7887 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7888
7889         * pa-protos.h (function_value): New prototype.
7890         * pa.c (function_value): Use a PARALLEL to return small aggregates on
7891         TARGET_64BIT.
7892         * pa.h (FUNCTION_VALUE): Use function_value.
7893         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7894         call_value_internal_reg, sibcall_value_internal_symref,
7895         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7896         value.
7897
7898 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7899
7900         * expr.c (gen_group_rtx, emit_group_move): New functions.
7901         * expr.h (gen_group_rtx, emit_group_move): Prototype.
7902         * function.c (expand_function_start): Use gen_group_rtx to create a
7903         PARALLEL rtx to hold the return value when the real return rtx is a
7904         PARALLEL.
7905         (expand_function_end): Use emit_group_move to move the return value
7906         from a PARALLEL to the real return registers.
7907         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7908         in PARALLELs.
7909
7910 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7911
7912         * config/t-libc-ok: Fix typo.
7913
7914 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7915
7916         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7917         before AC_PROG_CC.
7918         * configure: Rebuilt.
7919
7920 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
7921
7922         * c-decl.c: (start_struct): Commonize flag setting.
7923
7924 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7925
7926         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7927         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
7928         RS6000_CPU_CPP_ENDIAN_BUILTINS.
7929         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7930
7931 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7932
7933         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7934         insns.
7935         * config/s390/s390.c (struct machine_function): Introduction of
7936         struct machine_function.
7937         (s390_output_symbolic_const): Use of cfun.
7938         (s390_optimize_prolog): Likewise.
7939         (s390_fixup_clobbered_return_reg): Likewise.
7940         (s390_frame_info): Likewise.
7941         (s390_emit_prologue, s390_emit_epilogue): Likewise.
7942         (s390_init_machine_status): New function.
7943         (override_options): call s390_init_machine_status.
7944         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
7945         prototype.
7946
7947 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7948
7949         * varasm.c (output_constant_pool): For pool constants in mergeable
7950         section ensure each constant is padded to multiple of entity size.
7951
7952 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7953
7954         * varasm.c (default_exception_section): Move to...
7955         * except.c (default_exception_section): ... here. Make
7956         .gcc_except_table read-only if it is not expected to have any
7957         dynamic relocations and linker handles it.
7958         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7959         if it is not expected to have any dynamic relocations and linker
7960         handles it.
7961         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7962         when linking read-only and read-write sections together.
7963         * configure, config.in: Rebuilt.
7964         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7965         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7966
7967 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7968
7969         * i386.md (pushsf_rex64): Fix typo.
7970
7971 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7972
7973         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7974         new function.
7975         (__ev_create_ufix32_fs): Same.
7976         (__ev_get_sfix32_fs_internal): New.
7977         (__ev_get_sfix32_fs): Define to use function.
7978         (__ev_get_ufix32_fs_internal): New.
7979         (__ev_get_ufix32_fs): Define to use function.
7980         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7981         (__ev_get_lower_ufix32_fs): Same.
7982         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7983         (__ev_get_lower_sfix32_fs): Same.
7984         (__ev_set_sfix32_fs_internal): New.
7985         (__ev_set_ufix32_fs_internal): New.
7986         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7987         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7988         (__ev_set_upper_sfix32_fs): Call function.
7989         (__ev_set_lower_sfix32_fs): Same.
7990         (__ev_set_upper_ufix32_fs): Same.
7991         (__ev_set_lower_ufix32_fs): Same.
7992
7993 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
7994
7995         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7996
7997 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7998
7999         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
8000         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8001         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8002         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
8003         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
8004         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8005         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
8006         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
8007         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
8008         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8009         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
8010         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
8011         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
8012         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
8013         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
8014         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
8015         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
8016         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
8017         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
8018         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
8019         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
8020         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
8021         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
8022         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
8023         defining.
8024         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
8025         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
8026
8027 2002-11-25  Dave Pitts  <dpitts@cozx.com>
8028
8029         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
8030
8031 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8032
8033         * config/h8300/h8300.md (an anonymous pattern): New.
8034
8035 2002-11-25  Richard Henderson  <rth@redhat.com>
8036
8037         * alias.c (find_base_value): Use new_reg_base_value if it's live.
8038         (copying_arguments): Make boolean.
8039
8040 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8041
8042         * gcc.c (static_spec_functions): Add if-exists-else spec
8043         function.
8044         (if_exists_else_spec_function): New function.
8045         * doc/invoke.texi: Document the if-exists-else spec function.
8046
8047         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
8048         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
8049
8050 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
8051
8052         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
8053         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
8054         "${tmake_file} rs6000/t-netbsd".
8055         * config/rs6000/netbsd.h: Rewrite.
8056         * config/rs6000/t-netbsd: New file.
8057
8058 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
8059
8060         * config/h8300/h8300.md (an anonymous pattern): Relax the
8061         condition for the pattern.
8062
8063 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
8064
8065         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
8066         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
8067         evmwlssfanw, evmwlsmfanw.
8068
8069         * config/rs6000/rs6000.c (bdesc_2arg): Same.
8070
8071         * config/rs6000/spe.md: Same for patterns.
8072
8073 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
8074
8075         PR c/8639
8076         * fold-const.c (extract_muldiv): Don't propagate division unless
8077         both arguments are multiples of C.
8078
8079 2002-11-25  Andrew Haley  <aph@redhat.com>
8080
8081         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
8082         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
8083         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
8084         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
8085
8086 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
8087
8088         * i386.c (x86_use_ffreep): New global variable.
8089         * i386.h (x86_use_frfeep): Declare
8090         (TARGET_USE_FFREEP): New macro
8091         * i386.md  (movs?f*): Use freep when asked for.
8092         (push?f): Remove dead code.
8093
8094 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
8095
8096         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
8097         target help message.
8098
8099 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8100
8101         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
8102         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
8103         crtbeginT.o".
8104         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
8105         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
8106         to "" for a.out configurations.
8107         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
8108
8109 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8110
8111         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
8112         NETBSD_CPP_SPEC directly.
8113         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
8114         netbsd_endfile_spec.
8115         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
8116
8117 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
8118
8119         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
8120         NETBSD_STARTFILE_SPEC.
8121         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
8122         (ENDFILE_SPEC): Likewise.
8123         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
8124
8125 2002-11-24  Andreas Schwab  <schwab@suse.de>
8126
8127         * Makefile.in (install-driver): Remove versioned link before
8128         trying to create it.
8129
8130         * config/m68k/m68k.c: Fix typo in last change defining
8131         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
8132
8133 2002-11-23  H.J. Lu <hjl@gnu.org>
8134
8135         * aclocal.m4: Include ../config/accross.m4.
8136         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
8137         (gcc_AC_C_COMPILE_ENDIAN): Removed.
8138         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
8139         instead of $ac_cv_c_compile_endian.
8140
8141         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
8142         AC_COMPILE_CHECK_SIZEOF.
8143         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
8144         * configure: Rebuild.
8145
8146 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
8147
8148         * config/h8300/h8300.c (print_operand): Update the use of
8149         h8300_tiny_constant_address_p.
8150         (h8300_adjust_insn_length): Likewise.
8151         (h8300_tiny_constant_address_p): Check if the given rtx is a
8152         variable declared with __attribute__ ((tiny_data)).
8153
8154 2002-11-22  Dale Johannesen  <dalej@apple.com>
8155
8156         * toplev.c (rest_of_compilation):  Fix comments.
8157
8158 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
8159
8160         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
8161         allow mmap from /dev/zero.  Don't make decisions for the host
8162         based on presence or absence of /dev/zero on the build machine.
8163         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
8164         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
8165         * configure: Regenerate.
8166
8167 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8168
8169         * gcc.c (make_relative_prefix, split_directories)
8170         (free_split_directories): Removed.
8171
8172 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
8173
8174         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
8175         * configure: Regenerated.
8176
8177 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
8178
8179         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
8180         length computation when xor.l is output.
8181
8182 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
8183
8184         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
8185         (call_vms_1, call_value_vms_1): Cleanup syntax.
8186
8187 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
8188
8189         * athlon.md (define_atuomaton): Add athlon_load.
8190         (athlon-double): New reservation.
8191         (athlon-ieu0): New CPU unit.
8192         (athlon-load?): Use athlon_load automaton.
8193         (*_k8 reservations): New.
8194         (other insn revervations): Activate for K8.
8195
8196 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8197
8198         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
8199
8200 2002-11-21  Jim Wilson  <wilson@redhat.com>
8201
8202         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
8203         vectors to SI.
8204
8205 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
8206
8207         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
8208         * config/xtensa/xtensa.c (struct machine_function): Add
8209         incoming_a7_copied flag.
8210         (xtensa_copy_incoming_a7): Define.
8211         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
8212         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
8213
8214 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
8215
8216         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
8217         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
8218         x86_64_nonmemory_operand, x86_64_movabs_operand,
8219         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
8220         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
8221         (local_symbolic_operand): Do not care the 64bit limits.
8222         (x86_64_sign_extended_value): Remove allow_rip support.
8223         (legitimate_pic_address_disp_p): Handle all cases allowed
8224         with RIP addressing.
8225         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
8226         (legitimize_pic_address): Reorganize.
8227         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
8228
8229 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8230
8231         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
8232         * config/arm/netbsd-elf.h: New file.
8233
8234 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8235
8236         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
8237         subtarget_asm_float_spec.
8238         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
8239         defaults from...
8240         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
8241
8242 2002-11-21  Nick Clifton  <nickc@redhat.com>
8243
8244         * config/fr30/fr30.md (movsf_constant_store): Move code to
8245         detect 0.0 into fr30.c.
8246         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
8247         Prototype.
8248         * config/fr30/fr30.c (fr30_const_double_is_zero): New
8249         function.  Return true if the rtx is 0.0.
8250
8251 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
8252
8253         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
8254         if -mlittle-endian is specified.
8255
8256 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8257
8258         PR optimization/2903
8259         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
8260         (anddi_notsesidi_di): Likewise.
8261
8262 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
8263
8264         * config/h8300/h8300.c (print_operand): Use
8265         h8300_eightbit_constant_address_p and
8266         h8300_tiny_constant_address_p.
8267         (h8300_adjust_insn_length): Likewise.
8268         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
8269         (TINY_CONSTANT_ADDRESS_P): Likewise.
8270         (OK_FOR_U): Use eightbit_constant_address_p.
8271
8272 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
8273
8274         * config/s390/libgcc-libc.ver: Add multilib support.
8275         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
8276         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
8277         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
8278         EXTRA_MULTILIB_PARTS): Define.
8279
8280 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
8281
8282         * arm.c (arm_get_frame_size): A leaf function does not need its
8283         stack padding to an aligned boundary if it has no frame.
8284         (thumb_get_frame_size): Likewise.
8285
8286 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
8287
8288         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
8289         (override_options): Likewise.
8290
8291 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
8292
8293         * config.gcc: Add k8 target alias support
8294         * i386.c (_cost): Declare costs for various variants of divides and
8295         multiplies.
8296         (k8_cost): New.
8297         (m_K8, m_ATHLON_K8): New macros.
8298         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
8299         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
8300         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
8301         x86_integer_DFmode_moves, x86_partial_reg_dependency,
8302         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
8303         x86_prologue_using_move, x86_epilogue_using_move,
8304         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
8305         x86_sse_typeless_stores): Set for K8
8306         (override_options): Add k8 support; fix athlon alignment;
8307         complain about non-x86-64 capable CPU being used in x86-64 compilation.
8308         (ix86_issue_rate): Set for K8.
8309         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
8310         x86_machine_dependent_reorg): Handle K8 like
8311         * i386.h
8312         (x86_costs):  Change mult_init and divide into array.
8313         (TARGET_K8, TARGET_ATHLON): New macros.
8314         (MODE_INDEX): New macro.
8315         (RTX_COST): Use new costs.
8316         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
8317         (TARGET_CPU_DEFAULT_NAMES): Add k8
8318         (TARGET_CPU_DEFAULT_k8): New constant
8319         (enum processor_type): Add PROCESSOR_K8.
8320         * i386.md (cpu attribute): Add k8.
8321
8322         * invoke.texi: Document -march=k8.
8323
8324         * i386.md (type attribute): Add leave
8325         (mode attribute): Remove unknownfp.
8326         (length_immediate, modrm, memory attributes): Handle leave correctly.
8327         (fp comparison patterns): Determine FP mode.
8328         (leave, leave_rex64): Remove special cases.
8329         * ppro.md (ppro_uops, ppro_p2): Add leave
8330         * pentiun.md (pent_pop): Handle leave too.
8331         * k6.md (k6_load): Handle leave.
8332         * athlon.md (athlon_leave, athlon_pop): Fix.
8333         (athlon_decode): Handle leave.
8334
8335 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
8336
8337         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
8338         to component type using GET_MODE_INNER.
8339         * expr.c (emit_move_insn_1): Ditto.
8340         * optabs.c (expand_binop): Ditto.
8341         (expand_unop): Ditto.
8342         (expand_complex_abs): Ditto.
8343
8344 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
8345
8346         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
8347
8348 2002-11-20  DJ Delorie  <dj@redhat.com>
8349
8350         * config/stormy16/stormy16.c (s16builtins,
8351         xstormy16_init_builtins, xstormy16_expand_builtin): New.
8352         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
8353
8354 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
8355
8356         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
8357         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
8358         (executing gencheck, genconfigs, genconditions, genflags,
8359         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
8360         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
8361         gengtype, genprotos): Prepend $(RUN_GEN).
8362         * configure.in: Move host compiler tests before --enable-checking
8363         tests.
8364         (--enable-checking=valgrind): New.
8365         * config.in, configure: Regenerate.
8366         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8367         Define as empty.
8368         (read_include_file): When doing the mmap+1 trick,
8369         valgrind-annotate the byte after the mmap:ed area as readable.
8370         (purge_cache): Remove above annotation.
8371         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
8372         VALGRIND_PATH -q to each command.
8373
8374         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8375         Define as empty.
8376         (ggc_realloc): Update valgrind annotations.
8377         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
8378         Define as empty.
8379         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
8380         valgrind-annotate memory.
8381
8382 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
8383
8384         * recog.c (constrain_operands): Prefer exact match over reloadable
8385         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
8386
8387         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
8388         operands in Pmode.
8389
8390 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
8391
8392         PR c/8518
8393         * c-decl.c (duplicate_decls): Outline the second definition
8394         of an extern inline function in all cases.
8395
8396 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8397
8398         * stor-layout.c (place_field): Update rli->offset as well as
8399         rli->bitpos.
8400
8401 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8402
8403         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
8404
8405 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8406
8407         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
8408         into a libcall block.
8409         (divsi3): Likewise divsi3_i4_media.
8410
8411 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
8412
8413         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
8414         out another register.
8415
8416 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
8417
8418         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
8419         (not just mask) are set in C.
8420
8421 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
8422
8423         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
8424
8425 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8426
8427         * profile.c (index_counts_file): Fix obvious mistake.
8428
8429 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
8430
8431         * Makefile.in (profile.o): Add hashtab.h dependency.
8432         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
8433         * profile.c: Include hashtab.h.
8434         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
8435         cleanup_counts_index, index_counts_file, struct section_reference,
8436         struct da_index_entry, counts_file_name, counts_file_index): New.
8437         (get_exec_counts, init_branch_prob): Modified.
8438
8439 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
8440
8441         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
8442         to tmake_file. Remove setting gas and gnu_ld here.
8443         * config/sh/libgcc-glibc.ver: New file.
8444         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
8445         (SHLIB_MAPFILES): New.
8446         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
8447         (MD_STARTFILE_PREFIX): Likewise.
8448         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
8449         (DWARF2_UNWIND_INFO): Redefine.
8450         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8451         (LINK_EH_SPEC): Redefine.
8452         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
8453         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
8454         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
8455         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
8456         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
8457         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
8458         SH_DWARF_FRAME_FPSCR): Likewise.
8459         * config/sh/sh-protos.h (sh_set_return_address): Declare.
8460         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
8461         registers if the current function calls EH return.
8462         (sh_expand_epilogue): Handle EH stack adjustments.
8463         (sh_set_return_address): New function.
8464         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
8465         Don't abort even if the number is mapped to -1.
8466         (EH_RETURN_DATA_REGNO): Define.
8467         (EH_RETURN_STACKADJ_RTX): Define.
8468         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
8469         (eh_return): New pattern.
8470         (eh_set_ra_di, eh_set_ra_si): Likewise.
8471         Add splitter to perform EH return after reload.
8472
8473 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
8474
8475         * stor-layout.c (excess_unit_span): New function.
8476         (place_field): Use it.
8477
8478 2002-11-19  Andreas Schwab  <schwab@suse.de>
8479
8480         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
8481         not valid in C++.
8482
8483 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
8484
8485         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
8486         * configure: Regenerate.
8487
8488 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8489
8490         * convert.c (strip_float_extensions): New function.
8491         (convert_to_real): Optimize some cases.
8492
8493 2002-11-19  Andreas Jaeger  <aj@suse.de>
8494
8495         * loop.c (record_giv): Initialize not_replaceable.
8496         (check_final_value): Likewise.
8497
8498 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8499
8500         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
8501         MASK_H8300S.
8502
8503 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
8504
8505         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
8506         only if -mh or -ms present.
8507         (h8300_eightbit_constant_address_p): Support the normal mode.
8508         (h8300_tiny_constant_address_p): Likewise.
8509         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
8510         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
8511         (Pmode): Evaluate to HImode for the normal mode.
8512         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
8513         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
8514         (ASM_WORD_OP): Evaluate to word for the normal mode.
8515         * config/h8300/h8300.md (tablejump_normal_mode): New.
8516         (indirect_jump_normal_mode): New.
8517         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
8518         directory.
8519         (MULTILIB_DIRNAMES): Create target dependent directory
8520         'normal'.
8521         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
8522         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
8523
8524 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
8525
8526         * i386.md (length_immediate): Do not refer to insn address.
8527         (jcc*, jmp patterns):  Compute length explicitly.
8528
8529 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
8530
8531         PR c/8588
8532         * optabs.c (expand_binop): Convert CONST_INTs in shift
8533         operations too.
8534
8535 2002-11-19  Roger Sayle  <roger@eyesopen.com>
8536
8537         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
8538
8539 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8540
8541         * config/h8300/h8300.md (an anonymous pattern): Relax the
8542         condition to accept the same operands and/or subregs.
8543
8544 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
8545
8546         * config/sh/sh.c (gen_shl_and): Revert previous patch.
8547         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
8548         reload_completed.
8549
8550 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8551
8552         * config/h8300/h8300.c (print_operand): Update the use of
8553         EIGHTBIT_CONSTANT_ADDRESS_P.
8554         (h8300_adjust_insn_length): Likewise.
8555         (h8300_eightbit_constant_address_p): Check if the given rtx is
8556         a variable with __attribute__((eightbit_data)).
8557         * config/h8300/h8300.h (OK_FOR_U): Update the use of
8558         EIGHTBIT_CONSTANT_ADDRESS_P.
8559
8560 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8561
8562         * doc/contrib.texi (Contributors): Add self as second contact in
8563         addition to Jeff Law.
8564
8565 2002-11-19  Andreas Jaeger  <aj@suse.de>
8566
8567         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8568         find_alloca_call to right place.
8569
8570 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8571
8572         * cppfiles.c: Fix formatting.
8573
8574 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8575
8576         * gcc.c (The Specs Language): Document spec functions.
8577         (static_spec_functions, lookup_spec_function)
8578         (eval_spec_function, handle_spec_function)
8579         (if_exists_spec_function, alloc_args): New.
8580         (execute): Abort if processing_spec_function is true.
8581         (do_spec_1): Hand off spec to handle_spec_function if %:
8582         is encountered.  If processing_spec_function is true,
8583         end any pending argument when the end of the string is reached.
8584         (main): Use alloc_args to allocate the initial argument vector.
8585         * gcc.h (struct spec_function): New.
8586         (lang_specific_spec_functions): New extern.
8587
8588         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8589         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8590         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8591
8592         * doc/invoke.texi: Document spec functions.
8593
8594         * cppspec.c (lang_specific_spec_functions): New.
8595         * gccspec.c: Likewise.
8596
8597 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8598
8599         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8600         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8601         (fixunstfsi_libfunc): Change.
8602         (fixunstfdi_libfunc): Change.
8603         (sdiv_optab): Don't zero out SImode handler.
8604         (udiv_optab): Don't zero out SImode handler.
8605         (smod_optab): Don't zero out SImode handler.
8606         (umod_optab): Don't zero out SImode handler.
8607
8608 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8609
8610         PR preprocessor/8524
8611         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8612         Add a new one in its place, which hopefully works.
8613         (skip_rest_of_line): Change test for bottom-of-context-stack.
8614
8615 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8616
8617         * i386.md (addqi_1_slp): Fix output template.
8618         (subqi_1_slp): Fix type.
8619
8620 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8621
8622         * calls.c (alloca_call_p): New global function.
8623         * tree.h (alloca_call_p): New.
8624         * tree-inline.c (inlinable_function_p):  Do not inline when
8625         function calls alloca.
8626         (find_alloca_call, find_alloca_call_1): New functions.
8627
8628 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8629
8630         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8631         bst.  Update the insn length.
8632         (*andorhi3): Likewise.
8633         (*andorsi3): Likewise.
8634
8635 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8636
8637         * config/sh/sh-protos.h (sh_mark_label): Declare.
8638         * config/sh/sh.c (sh_mark_label): New function, taken from
8639         movdi_const, but fixing the case when the address has an addend.
8640         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8641
8642 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8643
8644         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8645         (add_constant): Set it.
8646         (dump_table): Don't reorder a constant if part_of_sequence_p.
8647         (machine_dependent_reorg): Assume that float constants will
8648         stay in their original order if used as a sequence.
8649
8650 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8651
8652         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8653         in compact code.
8654
8655 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8656
8657         * config/sh/sh.md (initialize_trampoline): Do not force the
8658         trampoline address into R0_REGS here.
8659
8660 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8661
8662         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8663         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8664         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8665         generate unnecesary subregs.
8666
8667 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8668
8669         * df.c: Fix formatting.
8670
8671 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8672
8673         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8674         lengths.
8675
8676 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8677
8678         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8679         is not an arith_reg_operand.
8680
8681 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8682
8683         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8684         is smaller than representation.
8685
8686 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8687
8688         * builtins.c: Fix formatting.
8689
8690 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8691
8692         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8693         floats?dff2_i387):
8694         Work around regclass stupidity.
8695         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8696
8697 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8698
8699         * i386.md (fop_df_6): New pattern.
8700         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8701         (fop_xf_6): Rewrite
8702         (fop_xf_7): Delete.
8703         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8704         (fop_tf_6): Rewrite
8705         (fop_tf_7): Delete.
8706
8707 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8708
8709         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8710
8711 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8712
8713         * config/h8300/h8300.md: Fix formatting.
8714
8715 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8716
8717         * config/h8300/h8300.md: Replace spaces with tabs.
8718         * config/h8300/t-h8300: Remove a trailing empty line.
8719
8720 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8721
8722         * tlink.c: Fix formatting.
8723
8724 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8725
8726         PR 8362
8727         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8728         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8729         when scratch register never needed.
8730         (ldmsi[3-8]): New patterns.
8731
8732 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8733
8734         * hard-reg-set.h: Follow spelling conventions.
8735         * real.c: Likewise.
8736         * target.h: Likewise.
8737
8738 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8739
8740         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8741
8742 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8743
8744         * optabs.c: Fix formatting.
8745
8746 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8747
8748         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8749         * i386.md (attribute type): Add type shift1 and rotate1.
8750         (*_slp): Rewrite to have just two operands to avoid reload problems.
8751
8752 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8753
8754         * config/h8300/h8300.md (4 anonymous patterns): New.
8755
8756 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8757
8758         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8759         * doc/invoke.texi: Correct description of what needs to be done to
8760         force collection at every ggc_collect call.
8761
8762 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8763
8764         * config/s390/s390.c (optimization_options): Set
8765         flag_asynchronous_unwind_tables to 1 by default.
8766
8767 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8768
8769         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8770
8771 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8772
8773         * i386-protos.h (x86_function_profiler): New function
8774         * i386.h (MCOUNT_NAME): New.
8775         (PROFILE_COUNT_REGISTER): New.
8776         (FUNCTION_PROFILER): Move offline to ...
8777         * i386.c (x86_function_profiler) ... here; fix 64bit support
8778         * beos-elf.h (FUNCTION_PROFILER): Kill.
8779         (MCOUNT_NAME): New.
8780         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8781         (MCOUNT_NAME): New.
8782         (PROFILE_COUNT_REGISTER): New.
8783         * linux.h (FUNCTION_PROFILER): Kill.
8784         (MCOUNT_NAME): New.
8785         * x86-64.h (FUNCTION_PROFILER): Kill.
8786         (MCOUNT_NAME): New.
8787         * freebsd.h (FUNCTION_PROFILER): Kill.
8788         (MCOUNT_NAME): New.
8789
8790 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8791
8792         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8793         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8794         * config/arm/arm.c (arm_va_arg,
8795         arm_function_arg_pass_by_reference): New.
8796         * config/arm/arm-protos.h: Add prototypes.
8797
8798 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8799
8800         * gthr-single.h: Fix formatting.
8801
8802 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8803
8804         * tree.c (tree_vec_elt_check_failed): New function.
8805         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8806         (TREE_VEC_ELT): Use it.
8807
8808         * tree-inline.c (optimize_inline_calls): Don't copy a
8809         zero-length vector.
8810
8811 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8812
8813         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8814
8815 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
8816
8817         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8818         both operands contain local relocations.
8819         (categorize_decl_for_section): Don't use mergeable sections if
8820         initializer has any relocations.
8821
8822 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8823
8824         * gthr-vxworks.h: Fix formatting.
8825
8826 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
8827
8828         * doc/install.texi (Testing): Document extra Java testing.
8829         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8830
8831 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8832
8833         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8834         beginning of the spec.
8835         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8836         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
8837         regarding problems with global constructors when using GNU ld.
8838
8839 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8840
8841         * gthr-solaris.h: Fix formatting.
8842
8843 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8844
8845         * gthr-posix.h: Fix formatting.
8846
8847 2002-11-12  Devang Patel <dpatel@apple.com>
8848         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8849         (process_command): Same.
8850         * doc/invoke.texi: Info about these two new options.
8851
8852 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8853
8854         * config/h8300/h8300.md (*andorsi3): New.
8855
8856 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8857
8858         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8859
8860 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8861
8862         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8863         expressions appropriately.
8864
8865 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8866
8867         * gthr-win32.h: Fix formatting.
8868
8869 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8870
8871         * config/h8300/h8300.c (single_one_operand): Correctly compute
8872         mask when mode is SImode.
8873         (single_zero_operand): Likewise.
8874         * config/h8300/h8300.md (two new anonymous insns): New.
8875
8876 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8877
8878         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8879         to that entire project.
8880
8881 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8882
8883         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8884         directories.
8885
8886 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
8887
8888         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8889         * doc/invoke.texi: Document them.
8890
8891         * ggc-page.c: Include params.h.  Remove definitions of
8892         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
8893         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8894         (init_gcc): Don't set G.allocated_last_gc here.
8895         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8896         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8897         perform collection.
8898         * ggc-simple.c: Similarly.
8899         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8900         dependencies.
8901
8902 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
8903
8904         * gthr-dce.h: Fix formatting.
8905
8906 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8907
8908         PR c/8467
8909         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8910         mode of DECL_RTL case.
8911
8912 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
8913
8914         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8915
8916 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
8917
8918         * i386.c (construct_container): Fix handling of SSE_CLASS.
8919
8920 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
8921
8922         * config/m68k/t-crtstuff (crti.o): Use this...
8923         ($(T)crti.o): ... instead.
8924         (crtn.o): Use this...
8925         ($(T)crtn.o): ... instead.
8926
8927 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
8928
8929         PR c/8439
8930         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8931         if there is something new to be simplified.
8932
8933 2002-11-10  H.J. Lu <hjl@gnu.org>
8934
8935         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8936         * expr.c (PUSH_ARGS_REVERSED): Likewise.
8937
8938         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8939
8940 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
8941
8942         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8943         * config/rs6000/linux.h, config/rs6000/linux64.h,
8944         config/rs6000/windiss.h: ... not here.
8945
8946 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
8947
8948         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8949         __ABICALLS__ if TARGET_ABICALLS.
8950
8951 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
8952
8953         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8954
8955 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
8956
8957         * c-decl.c (grokdeclarator): Make error for duplicate type
8958         qualifiers into a pedwarn, disabled for C99.
8959
8960 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
8961
8962         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8963         as FUNCTION_ARG_PASS_BY_REFERENCE.
8964
8965 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
8966
8967         * doc/install.texi: Add *-*-vxworks* specific installation
8968         instructions.
8969
8970         * config/vxlib.c: Rewrite using generation numbers to identify
8971         valid TSD keys.
8972
8973 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
8974
8975         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8976
8977 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8978
8979         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8980
8981         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8982         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
8983         * pa.c (output_millicode_call): Use symbol difference rather than
8984         $PIC_pcrel$0 when using HP assembler.
8985         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8986         not elfos.h (i.e., gas) is being used.
8987         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8988         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8989         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8990         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8991         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8992         using elfos.h.
8993         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8994         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8995         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8996         using elfos.h.
8997         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8998         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8999         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
9000         Don't define when not using elfos.h.
9001         (ASM_DECLARE_RESULT): Don't define.
9002         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
9003         doesn't work on hppa64-hp-hpux11.
9004         (hppa*-hp-hpux11): Update.
9005
9006 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
9007
9008         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
9009         to the assembler if -mno-abicalls was specified.
9010
9011 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9012
9013         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
9014         ASM_OUTPUT_DEF): Delete.
9015
9016 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
9017
9018         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
9019
9020 2002-11-08  Roger Sayle  <roger@eyesopen.com>
9021
9022         * real.c (real_sqrt): Update comment with bibliographic reference.
9023
9024 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
9025
9026         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
9027
9028 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
9029
9030         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
9031
9032 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
9033
9034         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
9035         (expand_builtin): Likewise.
9036         * builtins.def: Add
9037         __builtin_floor, __builtin_floorf, __builtin_floorl
9038         __builtin_ceil, __builtin_ceilf, __builtin_ceill
9039         __builtin_round, __builtin_roundf, __builtin_roundl
9040         __builtin_trunc, __builtin_truncf, __builtin_truncl
9041         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
9042         * genopinit.c (optabs): Initialize the new optabs.
9043         * optab.c (init_optabs): Likewise.
9044         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
9045         OTI_round, OTI_nearbyint.
9046         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
9047         * doc/md.texi: Document new named patterns.
9048         * doc/extend.texi (builtin functions)  Document
9049         floor, floorf, floorl, ceil, ceilf,
9050         ceill, round, roundf, roundl, trunc,
9051         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
9052
9053 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
9054
9055         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
9056
9057 2002-11-08  Dale Johannesen  <dalej@apple.com>
9058
9059         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
9060
9061 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9062
9063         PR preprocessor/8497
9064         PR preprocessor/8501
9065         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
9066         start a directive.  In assembler, #NUM is not a line directive.
9067
9068 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
9069
9070         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
9071         buffers.
9072
9073 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
9074
9075         * config/h8300/h8300.md (two anonymous test insns): New.
9076
9077 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
9078
9079         * jump.c (mark_jump_label): Handle subregs of label_refs.
9080
9081 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
9082
9083         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
9084         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
9085
9086 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
9087
9088         * config/ia64/crtend.asm: Include "auto-host.h".
9089         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
9090         * config/ia64/crtbegin.asm: Similarly.
9091         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
9092         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
9093
9094         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
9095         * configure.in: Use it if --enable-initfini-array not specified.
9096         * doc/install.texi (Configuration): Document --enable-initfini-array.
9097         * configure, config.in: Rebuild.
9098
9099 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
9100
9101         * config/arm/arm-protos.h (arm_get_frame_size)
9102         (thumb_get_frame_size): New prototypes.
9103         * config/arm/arm.c (arm_get_frame_size)
9104         (thumb_get_frame_size): New functions.
9105         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
9106         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
9107         arm_get_frame_size.
9108         (thumb_expand_prologue, thumb_expand_epilogue): Use
9109         thumb_get_frame_size.
9110         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
9111         (machine_function): Add frame_size member.
9112         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
9113
9114 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9115
9116         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
9117         Adjust code to use portable unsigned bit manipulation.
9118         (insn_flags, tune_flags): Change type to unsigned.
9119         (struct processors): Make flags unsigned long.
9120         (arm_override_options): Change type of count and current_bit_count
9121         to unsigned.
9122
9123 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
9124
9125         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
9126
9127 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
9128
9129         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
9130
9131 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
9132
9133         * reg-stack.c (compensate_edge): Fix sanity check.
9134
9135 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
9136
9137         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
9138         crt2.o.  Rearrange t-darwin makefiles.
9139         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
9140         * unwind-dw2-fde-darwin.c: New.
9141         * unwind-dw2-fde-glibc.c: Correct comment.
9142         * unwind-dw2-fde.c (__register_frame_info_bases)
9143         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
9144         (classify_object_over_fdes): Use last_fde.
9145         (add_fdes): Likewise.
9146         (linear_search_fdes): Likewise.
9147         * unwind-dw2-fde.h (struct object)
9148         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
9149         (last_fde): New.
9150         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
9151         (ENDFILE_SPEC): No crtend.o.
9152         * config/t-darwin: New.
9153         * config/i386/t-darwin: Delete.
9154         * config/darwin-crt2.c: New.
9155         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
9156         or config/t-darwin.
9157
9158 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
9159
9160         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
9161         MASK_MS_BITFIELD_LAYOUT
9162         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
9163         MS bitfields for Objective-C.
9164         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
9165         defines.
9166
9167         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
9168         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
9169         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
9170
9171         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
9172         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
9173         (TARGET_SWITCHES): Add above mask.
9174
9175         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
9176         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
9177         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
9178         flags for interix.
9179
9180 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
9181
9182         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
9183         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
9184         assembler.
9185         * config/mips/mips.md (tablejump_internal3): Output .cpadd
9186         before jump on ABI_N32 too.
9187         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
9188         length to match.
9189
9190 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
9191
9192         * i386.md (negsf splitter): Accept memory operand in second register.
9193         (abssf/absdf splitters): Simplify
9194         (sse_loadss, sse_loadsd): Turn into expander.
9195
9196 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
9197
9198         PR target/8480
9199         * config/rs6000/rs6000.md (movdi_internal64): Discourage
9200         FPR to FPR moves.
9201
9202 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
9203
9204         * doc/contrib.texi: Merge in the list from the Java web pages.
9205
9206 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
9207
9208         * config/sparc/freebsd: Fix typo.
9209
9210 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9211
9212         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
9213
9214 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
9215
9216         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
9217         non-SImode addresses.
9218
9219 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
9220
9221         * i386.md (float_truncate SSE splitter): Ensure that operand is not
9222         stack register.
9223         (float SSE splitters): Reorder conditional.
9224
9225 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
9226
9227         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
9228
9229 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
9230
9231         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
9232         (STARTFILE_SPEC): Remove p and pg options.
9233
9234 2002-11-05  Andrew Haley  <aph@redhat.com>
9235
9236         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
9237         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
9238
9239 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
9240
9241         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
9242         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
9243
9244 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
9245
9246         * gthr-vxworks.h: Rewritten from scratch.
9247         * config/vxlib.c: New file.
9248         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
9249         * config/rs6000/t-vxworks: Add config/vxlib.c to
9250         LIB2FUNCS_EXTRA here too, because of clash with
9251         config/rs6000/t-ppccomm.
9252
9253 2002-11-04  Dale Johannesen  <dalej@apple.com>
9254
9255         * doloop.c (doloop_modify_runtime):  Fix loop count computation
9256         for unrolled loops.
9257         * loop.c (loop_invariant_p):  Support calling from unroller.
9258
9259 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
9260
9261         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
9262         for comparison.
9263
9264 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
9265
9266         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
9267
9268         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
9269         (CLASS_CANNOT_CHANGE_MODE): Remove.
9270         (CANNOT_CHANGE_MODE_CLASS): New.
9271
9272         * config/alpha/alpha.h: Same.
9273
9274         * config/ia64/ia64.h: Same.
9275
9276         * config/mips/mips.h: Same.
9277
9278         * config/s390/s390.h: Same.
9279
9280         * config/sh/sh.h: Same.
9281
9282         * config/pa/pa64-regs.h: Same.
9283
9284         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
9285
9286         * config/sh/sh.c (sh_cannot_change_mode_class): New.
9287
9288         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
9289         prototype.
9290
9291         * config/mips/mips.c (mips_cannot_change_mode_class): New.
9292
9293         * doc/tm.texi (Register Classes): Remove
9294         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
9295         Document CANNOT_CHANGE_MODE_CLASS.
9296
9297         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
9298         (push_reload): Same.
9299
9300         * simplify-rtx.c (simplify_subreg): Same.
9301
9302         * reload1.c (choose_reload_regs): Same.
9303
9304         * recog.c (register_operand): Same.
9305
9306         * regrename.c (mode_change_ok): Change to use new
9307         CANNOT_CHANGE_MODE_CLASS infrastructure.
9308
9309         * regclass.c (cannot_change_mode_set_regs): New.
9310         Declare subregs_of_mode.
9311         (regclass): Use subregs_of_mode.
9312         Remove references to reg_changes_mode.
9313         (init_reg_sets_1): Remove class_can_change_mode and
9314         reg_changes_mode code.
9315         (invalid_mode_change_p): New.
9316         (dump_regclass): Use invalid_mode_change_p instead of
9317         class_can_change_mode.
9318         (regclass): Same.
9319         (record_operand_costs): Do not set reg_changes_mode.
9320
9321         * local-alloc.c (struct qty): Remove changes_mode field.
9322         (alloc_qty): Remove changes_mode initialization.
9323         (update_qty_class): Remove set of changes_mode.
9324         (find_free_reg): Use subregs_of_mode.
9325
9326         * global.c (find_reg): Use subregs_of_mode info.
9327
9328         * rtl.h (cannot_change_mode_set_regs): New prototype.
9329         (invalid_mode_change_p): Same.
9330         (REG_CANNOT_CHANGE_MODE_P): New macro.
9331
9332         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
9333         REG_CHANGES_MODE.
9334         (life_analysis): Clear subregs_of_mode.
9335
9336         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
9337         Remove use of CLASS_CANNOT_CHANGE_MODE.
9338         (simplify_set): Same.
9339         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
9340         REG_CHANGES_MODE.
9341
9342         * regs.h: Add extern for subregs_of_mode;
9343         Include hard-reg-set and basic-block.
9344         (REG_CHANGES_MODE): Delete.
9345
9346 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9347
9348         * real.c (real_sqrt): New function to calculate square roots.
9349         * real.h (real_sqrt): Add function prototype.
9350         * builtins.c (fold_builtin): Fold sqrt of constant argument.
9351         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
9352         of constant argument.
9353
9354 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
9355
9356         * jump.c (never_reached_warning): Don't set contains_insn until the
9357         first line note is seen.
9358
9359 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
9360
9361         * config/rs6000/rs6000.md (movti_string): Use string instructions.
9362
9363 2002-11-03  Roger Sayle  <roger@eyesopen.com>
9364
9365         PR c/7128
9366         * c-typeck.c (c_expand_asm_operands): Defend against
9367         error_mark_nodes in the output argument to avoid ICE.
9368
9369 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
9370
9371         PR middle-end/8408
9372         * genrecog.c (preds): Handle ADDRESSOF.
9373         (validate_pattern): Mark it as an lvalue.
9374
9375 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
9376
9377         * config/rs6000/rs6000.c (rs6000_override_options): Use string
9378         instructions when optimizing for size.
9379
9380 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
9381
9382         * config/h8300/h8300.h: Fix comment typos.
9383         * config/h8300/h8300.md: Likewise.
9384         * config/h8300/lib1funcs.asm: Likewise.
9385
9386 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
9387
9388         Revert this change:
9389
9390         *doc/install.texi (Installing GCC: Configuration): Clarify
9391         the only supported ways to configure gcc.
9392
9393 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9394
9395         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
9396         instead of 'O' for the constraint for the second operand.
9397
9398 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
9399
9400         PR c++/8391
9401         * toplev.c (rest_of_compilation): Do not refuse to output code for
9402         an inline function in a local class.
9403
9404 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
9405
9406         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
9407         (TRANSFER_FROM_TRAMPOLINE): Reformat.
9408         Add comment.
9409
9410 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
9411
9412         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
9413
9414 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
9415
9416         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
9417
9418 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
9419
9420         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
9421         (MASK_INLINE_DIV_THR): Remove.
9422         (TARGET_INLINE_DIV_LAT): Remove.
9423         (TARGET_INLINE_DIV_THR): Remove.
9424         (TARGET_INLINE_DIV): Remove.
9425         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
9426         (MASK_INLINE_FLOAT_DIV_THR): New macro.
9427         (MASK_INLINE_INT_DIV_LAT): New macro.
9428         (MASK_INLINE_INT_DIV_THR): New macro.
9429         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
9430         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
9431         (TARGET_INLINE_INT_DIV_LAT): New macro.
9432         (TARGET_INLINE_INT_DIV_THR): New macro.
9433         (TARGET_INLINE_FLOAT_DIV): New macro.
9434         (TARGET_INLINE_INT_DIV): New macro.
9435         * config/ia64/ia64.md (divsi3): Change to use new macros.
9436         (modsi3): Ditto.
9437         (udivsi3): Ditto.
9438         (umodsi3): Ditto.
9439         (divsi3_internal): Ditto.
9440         (divdi3): Ditto.
9441         (moddi3): Ditto.
9442         (udivdi3): Ditto.
9443         (umoddi3): Ditto.
9444         (divdi3_internal_lat): Ditto.
9445         (divdi3_internal_thr): Ditto.
9446         (divsf3): Ditto.
9447         (divsf3_internal_lat): Ditto.
9448         (divsf3_internal_thr): Ditto.
9449         (divdf3): Ditto.
9450         (divdf3_internal_lat): Ditto.
9451         (divdf3_internal_thr): Ditto.
9452         (divtf3): Ditto.
9453         (divtf3_internal_lat): Ditto.
9454         (divtf3_internal_thr): Ditto.
9455         * config/ia64/ia64.c (ia64_override_options): Change
9456         to check new macros for conflicts in settings.
9457         * doc/invoke.texi (-minline-divide-min-latency): Remove.
9458         (-minline-divide-max-throughput): Remove.
9459         (-minline-float-divide-min-latency): New.
9460         (-minline-float-divide-max-throughput): New.
9461         (-minline-int-divide-min-latency): New.
9462         (-minline-int-divide-max-throughput): New.
9463
9464 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
9465
9466         PR target/7856
9467         * arm.c (use_return_insn): Don't use a return insn if there are
9468         saved integer regs, but LR is not one of them.
9469
9470 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
9471
9472         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
9473         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
9474
9475 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
9476
9477         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
9478         (movps, movpd splitters): Use canonical form.
9479         (movv2di): Fix merge problem.
9480
9481 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
9482
9483         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9484
9485 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
9486
9487         PR optimization/6162
9488         * doc/md.texi: Document restriction on commutative operand
9489         specification.
9490
9491 2002-10-31  Eric Christopher  <echristo@redhat.com>
9492
9493         * explow.c (convert_memory_address): Use shallow_copy_rtx.
9494
9495 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9496
9497         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
9498
9499 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
9500
9501         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
9502
9503 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9504
9505         * config/rs6000/darwin.h:  Correct formatting in previous.
9506
9507 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
9508
9509         * config/rs6000/darwin.h:  Enable -falign-xxx options.
9510
9511 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
9512
9513         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
9514         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
9515         * i386.c (optimization_options): Set flag_omit_frame_pointer,
9516         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
9517         Do not clear -momit-leaf-frame-pointer when profiling.
9518         (ix86_frame_pointer_required): Frame pointer is always required when
9519         profiling.
9520
9521 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
9522
9523         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
9524
9525 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
9526
9527         * sh.h (binary_logical_operator): Declare.
9528         * sh.c (binary_logical_operator): New function.
9529         * sh.md (xordi3+1): New combiner splitter pattern.
9530
9531 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
9532
9533         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
9534         __enable_execute_stack function.
9535
9536 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
9537
9538         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
9539         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
9540         * unwind-sjlj.c (fc_key_dtor): Delete.
9541         (fc_key_init): Adjust __gthread_key_create call to match.
9542
9543 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
9544
9545         * c-common.c: Add GTY to vector_type_node_list.
9546
9547 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
9548
9549         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
9550         * pa-protos.h (attr_length_millicode_call, attr_length_call,
9551         pa_init_machine_status): Declare new global functions.
9552         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
9553         implement new functions.
9554         (attr_length_millicode_call, attr_length_call): Implement.
9555         (total_code_bytes): Change type to long.
9556         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
9557         Reset counter if flag_function_sections.
9558         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
9559         (output_cbranch): Move call to gen_label_rtx.
9560         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9561         delay slot in all variants, shorten pc-relative calls.
9562         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9563         slot usage and exposure, various new call variants, and shortened
9564         sequences for some variants on TARGET_PA_20.
9565         Miscellaneous format changes.
9566         * pa.h (total_code_bytes): Change type to long.
9567         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9568         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9569         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9570         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9571         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9572         stores on TARGET_ELF32.
9573         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9574         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9575         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9576         attr_length_millicode_call().
9577         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9578         Calculate attribute length using attr_length_call().
9579         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9580         to delay slot.
9581         (sibcall, sibcall_value): Rewrite.
9582         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9583         register 1.  Use attr_length_call().
9584         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9585         New patterns.
9586         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9587         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9588         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9589         * doc/invoke.texi (mlong-calls): Document.
9590
9591 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9592
9593         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9594         handling of cases where one or both branches of the conditional
9595         have void type, i.e. throw an exception or don't return.
9596         (fold): Only apply (and undo) type conversion to the non-void
9597         branches of a COND_EXPR.
9598
9599 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9600
9601         PR c++/8333
9602         * varasm.c (asm_output_aligned_bss): Do not call
9603         ASM_GLOBALIZE_LABEL.
9604
9605 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9606             Torbjorn Granlund  <tege@swox.com>
9607
9608         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9609         for addressibility.
9610         (load_toc_v4_PIC_1b): Same.
9611
9612 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9613
9614         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9615         Truncate the addresses for H8/300 using HImode.
9616
9617 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9618
9619         * i386.md (negdf splitter): Fix construction of the constant.
9620
9621 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9622
9623         * i386.md (negsf, negdf): Reorganize to use vector modes
9624         for SSE variants.
9625         (abssf, absdf): Use force_reg.
9626         (movv4sf, movv2df): New splitters.
9627         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9628         * i386.c (zero_extended_scalar_load_operand
9629
9630         * i386-protos.h (ix86_expand_call): Update prototype.
9631         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9632         (ix86_expand_call): Use r11 for indirect sibcalls.
9633         * i386.md (call, call_value, untyped_call, call_value_pop):
9634         update x86_expand_call call.
9635         (sibcall, sibcall_value): new patterns
9636         (call_rex64, call_value_rex64): Do not accept sibcalls.
9637         (sibcall_rex64, sibcall_value_rex64,
9638         sibcall_rex64_v, sibcall_value_rex64_v): New.
9639
9640 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9641
9642         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9643         before final pass.
9644
9645 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9646
9647         * toplev.c (rest_of_type_compilation): Return early in case of
9648         errors.
9649         (check_global_declarations): Don't call debug_hooks->global_decl
9650         in case of errors.
9651
9652 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9653
9654         * doc/c-tree.texi (Tree overview): Fix typos.
9655
9656 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9657
9658         * Makefile.in (gnucompare*):  Only record bad comparisons
9659         if there really was a bad comparison.
9660
9661 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9662
9663         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9664         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9665         * md.texi (machine dependent constraints): Document 'C'
9666
9667         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9668
9669         * i386.c (ix86_expand_vector_move): Fix.
9670
9671         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9672         * i386.md (sse2_maskmovdqu_rex64): New pattern
9673
9674         PR target/8322
9675         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9676         (ix86_init_mmx_sse_builtins): Fix type.
9677
9678 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9679
9680         * gthr-posix.h: Include <unistd.h> for feature tests.
9681         (sched_get_priority_max, sched_get_priority_min)
9682         (pthread_getschedparam, pthread_setschedparam): Only use
9683         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9684         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9685         returns from sched_get_priority_max and sched_get_priority_min
9686         as an error.
9687
9688 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9689
9690         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9691         MASK_QUICKCALL.
9692
9693 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9694
9695         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9696         (h8300_tiny_constant_address_p): Likewise.
9697         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9698         h8300_eightbit_constant_address_p.
9699         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9700         * config/h8300/h8300-protos.h: Add the prototypes for the two
9701         new functions.
9702
9703 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9704
9705         * reload1.c (update_eliminables): Unconditionally check if
9706         frame_pointer_needed has changed.
9707
9708 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9709
9710         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9711         before final pass.
9712
9713 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9714
9715         PR optimization/8334
9716         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9717         check for zero operands explicitly.
9718
9719 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9720
9721         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9722         memory after adjusting to BLKmode.
9723
9724 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9725
9726         * config/h8300/h8300.h (MASK_*): New.
9727         (TARGET_*): Use MASK_*.
9728
9729 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9730
9731         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9732         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9733         config/rs6000/vxworks.h: New files.
9734         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9735
9736         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9737         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9738         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9739         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9740         sparc-*-vxsim*): Delete stanzas.
9741         * gthr-vxworks.h: Rip out all substantive code and just
9742         include gthr-single.h.
9743
9744         * config/alpha/vxworks.h, config/arm/vxarm.h,
9745         config/i386/vxi386.h, config/i960/t-vxworks960,
9746         config/i960/vx960-coff.h, config/i960/vx960.h,
9747         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9748         config/mips/vxworks.h, config/rs6000/vxppc.h,
9749         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9750         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9751         config/sparc/vxsparc64.h: Delete files.
9752
9753 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9754
9755         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9756         tm_defines if pthreads are enabled.
9757         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9758         if NETBSD_ENABLE_PTHREADS is defined.
9759
9760 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9761
9762         * ChangeLog.1: Fix typos.
9763         * cse.c: Fix a comment typo.
9764         * reload1.c: Likewise.
9765
9766 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9767
9768         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9769         * fixinc/tests/base/_G_config.h: New file.
9770
9771 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9772
9773         * combine.c: Fix comment formatting.
9774         * loop.c: Likewise.
9775         * real.c: Likewise.
9776         * regclass.c: Likewise.
9777         * regmove.c: Likewise.
9778         * regrename.c: Likewise.
9779         * reg-stack.c: Likewise.
9780         * reload1.c: Likewise.
9781         * reload.c: Likewise.
9782         * reload.h: Likewise.
9783         * unroll.c: Likewise.
9784
9785 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9786
9787         * reload1.c (reload): Fix a comment typo.
9788
9789 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9790
9791         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9792
9793 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9794
9795         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9796         * dwarf2out.c: Include hashtab.h.
9797         (is_main_source): New static variable.
9798         (attr_checksum, die_checksum): Modified to handle die references.
9799         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9800         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9801         record_comdat_symbol_number): New static functions.
9802         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9803         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9804         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9805         declarations added.
9806
9807 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
9808
9809         * config/h8300/h8300.c (initial_offset): Change to
9810         h8300_initial_elimination_offset.
9811         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9812         h8300_initial_elimination_offset.
9813         * config/h8300/h8300-protos.h: Update the prototype.
9814
9815 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
9816
9817         * config/mmix/mmix.h (LIBCALL_VALUE): Use
9818         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9819         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9820         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9821         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9822         and RTX_CODE.
9823         (mmix_function_value_regno_p): Declare.
9824
9825         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9826         invalid for floating point mode result, with fix.
9827
9828 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
9829
9830         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9831         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9832         (stage1_build): Likewise.
9833
9834 2002-10-25  Mike Stump  <mrs@apple.com>
9835
9836         Fixes gcc.dg/warn-1.c.
9837         * c-typeck.c (warn_for_assignment): Don't print argument number,
9838         if zero.
9839
9840 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
9841
9842         * toplev.c (dump_file_index): Add DFI_ce3.
9843         (dump_file_info): Likewise.
9844         (rest_of_compilation): Run first ifcvt pass before tracer.
9845
9846 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
9847
9848         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9849
9850 2002-10-25  Richard Henderson  <rth@redhat.com>
9851
9852         * real.c (real_to_decimal): If the >1 tens reduction loop results
9853         in a negative exponent, fall into the <1 pten computation.
9854
9855 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
9856
9857         PR middle-end/6994
9858         * c-objc-common.c (inline_forbidden_p): Can not inline
9859         functions containing structures or unions containing VLAs.
9860         * tree-inline.c (walk_tree): For all class 't' nodes, walk
9861         TYPE_SIZE and TYPE_SIZE_UNIT.
9862         (copy_tree_r): Copy types if they are variably modified.
9863
9864 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9865
9866         * config/s390/s390.md: Remove old-style peepholes.
9867
9868 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9869
9870         * config/s390/s390.c (s390_decompose_address): Do not range check the
9871         displacement if base or index is the argument pointer register.
9872
9873 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
9874
9875         PR other/3337
9876         PR bootstrap/6763
9877         PR bootstrap/8122
9878         * fixinc/inclhack.def (libc1_G_va_list): New fix.
9879         * fixinc/fixincl.x: Regenerate.
9880         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9881         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
9882         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9883         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9884         * config.in, configure: Regenerate.
9885
9886 2002-10-24  Igor Shevlyakov <igor@microunity.com>
9887
9888         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
9889
9890 2002-10-24  Richard Henderson  <rth@redhat.com>
9891
9892         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9893
9894 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9895
9896         * config/h8300/h8300.c (initial_offset): Simplify by using
9897         round_frame_size.
9898
9899 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9900
9901         * doc/install.texi (avr): Update required binutils version.
9902
9903 2002-10-24  Theodore A. Roth  <troth@openavr.org>
9904
9905         * doc/install.texi: Point avr users at more up-to-date information.
9906
9907 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9908
9909         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9910         to pull operands out of the literal pool where possible.
9911
9912 2002-10-24  Denis Chertykov  <denisc@overta.ru>
9913
9914         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9915
9916 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
9917
9918         * expr.c (convert_move): If unsignedp is less then zero there
9919         is no equivalent code.
9920
9921 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
9922
9923         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9924
9925 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9926
9927         * config/s390/s390.h: Rework comments; re-sort target macro definitions
9928         according to the sequence they are defined in the manual.
9929         (POINTER_BOUNDARY): Remove.
9930
9931 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9932
9933         * config/h8300/h8300.c (round_frame_size): Replace 8 with
9934         BITS_PER_UNIT.
9935
9936 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9937
9938         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9939         64-bit safe.
9940         (TINY_CONSTANT_ADDRESS_P): Likewise.
9941
9942 2002-10-24  Richard Henderson  <rth@redhat.com>
9943
9944         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9945         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9946         vcall offset.
9947
9948 2002-10-24  Richard Henderson  <rth@redhat.com>
9949
9950         PR opt/7944
9951         * reload.c (find_reloads_toplev): Mode of X is not important
9952         when simplifying subregs of constants.
9953
9954 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9955
9956         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9957         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9958         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9959         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9960         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9961
9962 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9963
9964         * optabs.c (expand_binop): Don't reuse the shift target in the
9965         middle of shift sequences.
9966
9967 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
9968
9969         * i386.md (abs splitters): Do not produce nested subregs.
9970
9971 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
9972
9973         * i386.md (movti_rex64): Fix constraints.
9974
9975 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
9976
9977         * i386.md (abssf,absdf): Use vector operands for SSE
9978         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9979         vector operand.
9980
9981 2002-10-23  Ziemowit Laski <zlaski@apple.com>
9982
9983         * objc/objc-act.c (get_static_reference): Remove unneeded
9984         TYPE_BINFO initialization.
9985         (get_object-reference): Likewise.
9986         (build_constructor): Tighten precondition check.
9987         (finish_message_expr): Likewise.
9988
9989 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
9990
9991         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9992         after CONST test.
9993
9994 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
9995
9996         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9997         in HFAs.
9998
9999 2002-10-23  Richard Henderson  <rth@redhat.com>
10000
10001         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
10002         (alpha_output_mi_thunk_osf): Handle vcall_offset.
10003
10004 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
10005
10006         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
10007         var_mod_type_p.
10008         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
10009         hook_tree_bool_false.
10010
10011         * tree.c (variably_modified_type_p): Moved here from
10012         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
10013         language-specific cases.  Due to this, must weaken some 'if
10014         and only if' checks to merely 'if'.
10015         * tree.h: Prototype variably_modified_type_p.
10016
10017         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
10018
10019 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10020
10021         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
10022         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
10023
10024         * config/s390/s390-protos.h (fp_operand): Remove.
10025         * config/s390/s390.c (fp_operand): Remove.
10026         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
10027         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
10028         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
10029         (movdi_31, movdf_31 splitters): Likewise.
10030
10031         * config/s390/s390.h (IEEE_FLOAT): Remove.
10032         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
10033         (INT_REGNO_P): Rename to ...
10034         (GENERAL_REGNO_P): ... this.
10035         (FLOAT_REGNO_P): Rename to ...
10036         (FP_REGNO_P): ... this.
10037         (ADDR_REGNO_P): New macro.
10038         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
10039         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
10040         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
10041         (HARD_REGNO_NREGS): Adapt to macro renaming.
10042         (HARD_REGNO_MODE_OK): Likewise.
10043
10044 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
10045             Geoff Keating  <geoffk@apple.com>
10046
10047         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
10048         (rs6000_memory_move_cost): New function.
10049         * config/rs6000/rs6000-protos.h: Declare them.
10050         * config/rs6000/rs6000.h: Use them.
10051
10052 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
10053
10054         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
10055         inlining it into other libgcc2 routines.
10056         (__udivmoddi4): Likewise.
10057
10058 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
10059
10060         * doc/sourcebuild.texi (Test Suites): Improve.
10061
10062 2002-10-22  Stan Shebs  <shebs@apple.com>
10063
10064         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
10065         case for Darwin.
10066
10067 2002-10-22  Jim Wilson  <wilson@redhat.com>
10068
10069         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
10070
10071 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
10072
10073         PR other/8289
10074         * xmmintrin.h: Add const to the argument of loads.
10075
10076         * i386.md (pushv2di): New pattern.
10077         PR target/6890
10078         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
10079
10080 2002-10-22  Richard Henderson  <rth@redhat.com>
10081
10082         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
10083         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
10084         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
10085         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10086         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10087         (TARGET_ASM_OUT): Update.
10088         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
10089         (hook_bool_tree_hwi_hwi_tree_true): New.
10090         (default_can_output_mi_thunk_no_vcall): New.
10091         * hooks.h: Declare them.
10092         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
10093
10094         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10095         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
10096         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
10097         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
10098         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
10099         config/stormy16/stormy16.c: Similarly.
10100
10101         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
10102         Handle 64-bit properly.  Streamline.
10103         (x86_output_mi_vcall_thunk): Remove.
10104         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
10105         (x86_can_output_mi_thunk): New.
10106         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
10107         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10108         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
10109
10110         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
10111         output_mi_thunk; make static; always use function_section.
10112         (TARGET_ASM_OUTPUT_MI_THUNK): New.
10113         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10114         (rs6000_ra_ever_killed): Test no_new_pseudos not
10115         targetm.asm_out.output_mi_thunk in conjunction with thunks.
10116         * config/rs6000/rs6000-protos.h: Update.
10117         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10118         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
10119         xcoffout_declare_function when using rs6000_output_mi_thunk.
10120
10121         * config/s390/s390.c (s390_output_mi_thunk): Rename from
10122         s390_output_mi_vcall_thunk.
10123         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10124         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10125
10126         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
10127         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
10128         * config/vax/vax-protos.h: Update.
10129         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
10130
10131 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
10132
10133         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
10134         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
10135         * i386.md (movti_internal): Use 'C'
10136
10137         * xmmintrin.h (_mm_cmplt_epi*): New.
10138
10139 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10140
10141         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
10142         ("*movdf_64"): Likewise.
10143         ("*lshrdi3_64"): Likewise.
10144         ("blockage"): Add length attribute.
10145         ("lit"): Likewise.
10146
10147 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
10148
10149         * i386.md: FIx typo.
10150         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
10151         (sse2_umulv2siv2di3): Fix predicate.
10152         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
10153         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
10154         * xmmintrin.h (_mm_mul_epu16): Rename to...
10155         (_mm_mul_epu32): This one.
10156         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
10157
10158         (contains_128bit_aligned_vector_p): Undo accidental checkin.
10159
10160 2002-10-22  Eric Christopher  <echristo@redhat.com>
10161
10162         * config/sparc/sparc.h: Add #error.
10163
10164 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
10165
10166         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
10167         [s390x-*-linux*]: Likewise.
10168         * config/s390/t-linux: Remove.
10169         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
10170
10171 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
10172
10173         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
10174         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
10175         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
10176         * i386.md (mmx_punpck?dq): Simplify.
10177         (sse2_pubpcklqdq): Fix.
10178         (sse2_pubpckhqdq): New.
10179         * xmmintrin.h (_mm_unpackhi_epi32): New.
10180
10181         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
10182         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
10183
10184 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
10185
10186         PR c++/7209
10187         * fold_const.c (fold_binary_op_with_conditional_arg): Always
10188         build compound_expr if we used save_expr.
10189
10190 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
10191
10192         * output.h (SECTION_NOTYPE): Define.
10193         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
10194         init array sections.
10195         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
10196         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
10197         merge TLS support.
10198
10199 2002-10-21  Richard Henderson  <rth@redhat.com>
10200
10201         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
10202         the function type, not the return type.
10203
10204 2002-10-21  Richard Henderson  <rth@redhat.com>
10205
10206         * real.c (sticky_rshift_significand): Return inexact, don't
10207         or it in immediately.
10208         (sub_significands): Accept incomming carry.
10209         (div_significands, rtd_divmod): Update for sub_significands change.
10210         (round_for_format): Update for sticky_rshift_significand change.
10211         (do_add): Don't involve the inexact bit in addition, do give the
10212         inexact bit as the subtraction carry-in.
10213         (encode_internal, decode_internal, real_internal_format): New.
10214         * real.h (real_internal_format): Declare.
10215
10216 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10217
10218         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
10219         don't define sdiv_qrnnd.
10220
10221 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10222
10223         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
10224         using IN_RANGE.
10225         (TINY_CONSTANT_ADDRESS_P): Likewise.
10226
10227 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
10228
10229         * i386.c (builtin_description): Add punpcklqdq and movdq2q
10230         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
10231         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
10232         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
10233         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
10234         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
10235         __builtin_ia32_setzero128.
10236         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
10237         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
10238         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
10239         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
10240         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
10241         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
10242         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
10243         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
10244         sse2_movq): New patterns.
10245         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
10246         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
10247         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
10248         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
10249         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
10250         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
10251         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
10252         (_mm_insert_epi16): Fix.
10253
10254 2002-10-21  Dale Johannesen  <dalej@apple.com>
10255
10256         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
10257             unsafe math reversals correctly for RTL generation.
10258           (output_cbranch):  Replace rs6000_reverse_condition call
10259             by its former definition.
10260
10261 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
10262
10263         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
10264         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
10265         from constant pool or LABEL_REFs as sign extended if allow_rip.
10266         Change all +-1GB limits to +-16MB.
10267         (x86_64_general_operand, x86_64_szext_general_operand,
10268         x86_64_nonmemory_operand, x86_64_movabs_operand,
10269         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
10270         legitimate_address_p, ix86_expand_int_movcc): Update callers.
10271         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
10272         in CM_SMALL_PIC model.
10273         (legitimate_pic_address_disp_p): Don't check offsets before
10274         calling local_symbolic_operand.
10275         (legitimize_pic_address): Force offsets bigger than +-16MB into
10276         register.
10277         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
10278         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
10279         prototype.
10280
10281         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
10282         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
10283         * configure: Rebuilt.
10284         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
10285         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
10286         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
10287         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
10288         -fpic.
10289         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
10290         non-pic code if TARGET_64BIT.
10291         (legitimize_address): Generate 64-bit TLS sequences.
10292         (output_pic_addr_const): Support x86-64 TLS operators.
10293         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
10294         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
10295         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
10296         (output_addr_const_extra): Support x86-64 TLS operators.
10297         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
10298         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
10299         unconditionally.
10300         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
10301         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
10302         (*tls_global_dynamic_sun): Renamed to...
10303         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
10304         (tls_global_dynamic): Renamed to...
10305         (tls_global_dynamic_32): ... this.
10306         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
10307         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
10308         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
10309         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
10310         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
10311         (tls_local_dynamic_base_dynamic): Renamed to...
10312         (tls_local_dynamic_base_dynamic_32): ... this.
10313         (tls_local_dynamic_base_dynamic_64,
10314         *tls_local_dynamic_base_dynamic_64): New.
10315         (*tls_local_dynamic_once): Renamed to...
10316         (*tls_local_dynamic_32_once): ... this.
10317
10318 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10319
10320         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
10321         __divdi3, __umoddi3, or __moddi3.
10322
10323 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10324
10325         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
10326         instead of just opt_index as switch expression.
10327
10328         * calls.c (store_one_arg): Change type of 'excess_align'
10329         to unsigned int.
10330
10331         * profile.c (output_gcov_string): Change type of 'temp'
10332         to size_t.
10333
10334 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10335
10336         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
10337         (__fixunssfdi, __fixsfdi): Likewise.
10338         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
10339         (s390_single_qi): Likewise.
10340         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
10341         unsigned comparison warning.
10342         (s390_return_addr_rtx): New function.
10343         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
10344         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
10345         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
10346
10347 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
10348
10349         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
10350         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
10351         (s390_output_mi_thunk): Remove.
10352         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
10353
10354 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
10355
10356         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
10357
10358 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
10359
10360         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
10361         inverted test in the conditional determining the possibility
10362         of sibcalls in PIC mode.
10363
10364 2002-10-20  Richard Henderson  <rth@redhat.com>
10365
10366         * target.h (struct gcc_target): Line wrap.
10367
10368         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
10369         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
10370         * config/alpha/alpha.h: ... not here.
10371         * config/alpha/alpha-protos.h: Update.
10372
10373         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
10374         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
10375         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
10376         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
10377         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
10378         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
10379         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
10380         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
10381         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
10382         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
10383         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
10384         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
10385         config/sparc/sparc.c, config/sparc/sparc.h,
10386         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
10387         config/stormy16/stormy16.h: Similarly.
10388
10389         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
10390         selection logic from call patterns.
10391
10392 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
10393
10394         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
10395
10396 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
10397
10398         PR other/8202
10399         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
10400         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
10401         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
10402         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
10403
10404 2002-10-20  Roger Sayle  <roger@eyesopen.com>
10405
10406         PR c/761
10407         * toplev.c (flag_unsafe_profile_arcs): Remove.
10408         (flag_bounded_pointers): Remove.
10409         (flag_bounds_check): Correct comments.
10410         (lang_independent_options): Remove -funsafe-profile-arcs and
10411         -fbounded-pointers.  Correct -fbounds-check comments.
10412
10413         * flags.h: Correct flag_schedule_interblock comments.
10414         (flag_bounded_pointers): Remove prototype.
10415         (flag_bounds_check): Correct comments.
10416
10417         * c-opts.c (c_common_init_options): No need to mark
10418         flag_bounds_check as unspecified.
10419         (c_common_post_options): And no need to set it from
10420         flag_bounded_pointers if its still unspecified.
10421
10422         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
10423         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
10424         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
10425         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
10426
10427 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
10428         Angela Marie Thomas  <angela@releasedominatrix.com>
10429         Brendan Kehoe  <brendan@zen.org>
10430         Nick Clifton  <nickc@redhat.com>
10431         Andrew Haley  <aph@redhat.com>
10432
10433         * configure.in (--with-sysroot): New.  Don't inhibit libc if
10434         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
10435         and CROSS_SYSTEM_HEADER_DIR.
10436         * configure: Rebuilt.
10437         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
10438         (TARGET_SYSTEM_ROOT): New.
10439         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
10440         CROSS_SYSTEM_HEADER_DIR.
10441         (install-gcc-tooldir): New target.
10442         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
10443         if SYSTEM_HEADER_DIR does not exist and it's not the default
10444         sys-include directory.
10445         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
10446         (install-mkheaders): Likewise.
10447         * gcc.c (target_system_root): New variable.
10448         (add_sysrooted_prefix): New function.
10449         (process_command): Recompute run-time target_system_root from
10450         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
10451         does not exist.
10452         (do_spec_1): Process 'R' spec.
10453         (main): Add md_exec_prefix to exec_prefixes regardless of
10454         startfile_prefix_spec.  Use add_sysrooted_prefix for
10455         startfile_prefixes, and don't skip the default ones when cross
10456         compiling with sysroot enabled.  Removed unused case of
10457         non-absolute standard_startfile_prefix.
10458         * config/interix.h: Remove the only potential, yet disabled,
10459         occurrence of non-absolute (empty) standard_startfile_prefix.
10460         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
10461         linking.
10462         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
10463         * doc/install.texi (--with-sysroot): Document.
10464         (--with-headers, --with-libs): Deprecate.
10465
10466 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10467             Mark Mitchell  <mark@codesourcery.com>
10468
10469         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
10470         match target.h.
10471         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
10472         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
10473         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
10474         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
10475         x86_output_mi_thunk): Likewise.
10476         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
10477         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
10478         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
10479         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
10480         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
10481         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
10482         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
10483         Likewise.
10484         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
10485
10486         * target.h (gcc_target): Update output_mi_thunk and
10487         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
10488         vcall_index.
10489
10490         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
10491         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10492         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
10493         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
10494         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
10495         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
10496         signature.
10497         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
10498         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10499         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10500         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
10501         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
10502         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
10503         TARGET_ASM_OUTPUT_MI_THUNK in comments.
10504         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
10505         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
10506
10507         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
10508         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
10509
10510 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
10511
10512         * real.c (do_add): Fix 0+0 sign corner case.
10513         (do_divide): Fix Inf/0 corner case.
10514
10515 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
10516
10517         * i386.c (classify_argument): Pass MMX arguments in memory
10518         (ix86_expand_builtin): Expand proper address mode for cflush.
10519         * i386.md (movdqa): Fix typo.
10520         (sse2_cflush): Accept DImode addresses.
10521
10522         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
10523         (_mm_max_sd): Fix pasto.
10524         (_mm_storeh_pd, _mm_storel_pd): Fix.
10525
10526         * i386.c (bdesc_comi): Fix to match specification.
10527         (ix86_expand_sse_comi): Emit the comparison properly.
10528         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
10529         Do not use comparison operator.
10530         (vnmaskcmp): Fix template.
10531
10532         * xmmintrin.h (_mm_cvtps_pi16): Fix.
10533
10534 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
10535
10536         * dependence.c : Removed.
10537         * Makefile.in : Remove dependence.o.
10538
10539 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
10540
10541         * mmintrin.h (__m64): typedef it to v2si.
10542         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
10543         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
10544         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
10545         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
10546         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
10547         * xmmintrin.h (_mm_setzero_si64): Likewise.
10548
10549         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
10550         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
10551
10552         PR target/7693
10553         Patch by Shawn Wagner
10554         * mmintrin.h: Replace pi64 by si64.
10555
10556 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
10557
10558         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
10559         Use length of 4 not *.
10560         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10561         (movdf_softfloat64): Likewise.
10562         (movdi_internal32): Use length of 4 not *.
10563         (movti_power): Same.
10564         (ctrsi, ctrdi): Same.
10565
10566 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10567
10568         * c-decl.c (start_decl): Point users of the old initialized-
10569         typedef extension at __typeof__.
10570
10571 2002-10-18  Richard Henderson  <rth@redhat.com>
10572
10573         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10574         (real_to_decimal): Re-implement using the logic from the
10575         gcc 3.2 etoasc.  Comment heavily.
10576         (div_significands): Simplify loop startup and comparison logic.
10577
10578 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10579
10580         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10581         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10582         (TARGET_ASM_OUT): Add them.
10583         * target.h (asm_out): Add output_mi_thunk and
10584         output_mi_vcall_thunk.
10585         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10586         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10587         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10588         * config/arm/arm.c (arm_output_mi_thunk): Define.
10589         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10590         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10591         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10592         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10593         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10594         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10595         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10596         prototype.
10597         (x86_output_mi_vcall_thunk): Declare.
10598         * config/i386/i386.c (override_options): Clear
10599         output_mi_vcall_thunk in 64-bit mode.
10600         (ix86_fntype_regparm): New function.
10601         (ix86_return_pops_args): Use it.
10602         (ia32_this_parameter): New function.
10603         (x86_output_mi_vcall_thunk): New function.
10604         (x86_output_mi_thunk): Use it
10605         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10606         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10607         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10608         * config/i960/i960.c (i960_output_mi_thunk): New function.
10609         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10610         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10611         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10612         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10613         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10614         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10615         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10616         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10617         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10618         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10619         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10620         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10621         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10622         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10623         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10624         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10625         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10626         * config/s390/s390.c (s390_output_mi_thunk): Define.
10627         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10628         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10629         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10630         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10631         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10632         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10633         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10634         * config/vax/vax.c (vax_output_mi_thunk): Define.
10635         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10636         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10637         * doc/tm.texi: Adjust documentation.
10638
10639 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10640
10641         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10642         __enable_execute_stack function.
10643         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10644         as NETBSD_ENABLE_EXECUTE_STACK.
10645         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10646         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10647         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10648         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10649         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10650
10651 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10652
10653         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10654         to __enable_execute_stack with the address of the trampoline
10655         if TRANSFER_FROM_TRAMPOLINE is defined.
10656         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10657         constant if building libgcc2.
10658
10659 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10660
10661         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10662         (ix86_memory_move_cost): Fix for 64bit compilation.
10663
10664 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10665
10666         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10667
10668 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10669
10670         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10671         in CTR/LR/MQ.
10672         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10673         to/from CTR/LR/MQ.
10674         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10675         (movsf_softfloat): Likewise.
10676
10677 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10678
10679         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10680
10681 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10682
10683         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10684         tramp, not addr, to pass the trampoline address to
10685         __enable_execute_stack.
10686
10687 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10688
10689         * mmintrin.h: Guard by __MMX__
10690         * xmmintrin.h: Guard by __SSE__
10691
10692         PR other/8062
10693         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10694         (_mm_load*_?d): New functions.
10695         (_mm_set*_?d): New functions.
10696         (_mm_store*_?d): New functions.
10697
10698 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10699
10700         Really commit patch announced at Oct 14
10701         PR c/7344
10702         * predict.c (can_predict_insn_p): New function.
10703         (estimate_probability): Avoid unnecesary work.
10704         (process_note_prediction): Likewise.
10705         * toplev.c (rest_of_compilation): Account early branch prediction pass
10706         as TV_BRANCH_PROB.
10707
10708         PR other/8048
10709         Found by Ian Ollmann
10710         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10711         (_mm_load?_pd): Likewise.
10712         (_mm_store?_pd): Likewise.
10713
10714         PR target/7386
10715         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10716         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10717         swapped alternative.
10718
10719         PR opt/7630
10720         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10721         (push_reload): Update call.
10722
10723 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10724
10725         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10726         if using mips/elf.h or mips/elf64.h.
10727         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10728         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10729
10730 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10731
10732         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10733         SI.
10734
10735 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10736
10737         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10738         (LPREFIX): Likewise.
10739         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10740         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10741         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10742         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10743         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10744
10745         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10746         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10747         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10748         BSS_SECTION_ASM_OP): Move from linux.h.
10749         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10750         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10751
10752         * config/s390/s390.c (s390_function_profiler): Use
10753         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10754
10755 2002-10-15  Eric Christopher  <echristo@redhat.com>
10756
10757         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10758         * java/parse.y (obtain_incomplete_type): Make pointer
10759         ptr_mode.
10760
10761 2002-10-15  Richard Henderson  <rth@redhat.com>
10762
10763         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10764         as arguments.  Bound DIGITS by the available buffer size.
10765         (real_to_hexadecimal): Likewise.
10766         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10767         (REAL_VALUE_TO_DECIMAL): Remove.
10768         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10769         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10770         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10771         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10772         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10773         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10774         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10775         use real_to_decimal directly, and with the proper arguments.
10776         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10777
10778 2002-10-15  Jim Wilson  <wilson@redhat.com>
10779
10780         * reload1.c (merge_assigned_reloads): After converting overlapping
10781         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10782
10783         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10784
10785 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10786
10787         * expr.c (do_tablejump): Fix typo in my previous commit.
10788
10789 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10790
10791         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10792
10793 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10794
10795         * config/s390/s390.c (s390_split_branches): Add return
10796         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10797
10798         (find_base_register_in_addr): New function.
10799         (find_base_register_ref): New function.
10800         (replace_base_register_ref): New function.
10801
10802         (struct constant_pool): Add members pool_insn, insns, and anchor.
10803         Remove member last_insn.
10804         (s390_start_pool): Initialize them.
10805         (s390_end_pool): Emit pool placeholder insn.
10806         (s390_add_pool_insn): New function.
10807         (s390_find_pool): Use insns bitmap instead of addresses.
10808         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
10809         Replace unspec 104 by local-pool-relative references.
10810         (s390_output_constant_pool): Output anchor label if required.
10811         (s390_output_symbolic_const): Handle unspec 104 and 105.
10812         (s390_add_pool): Remove, replace by ...
10813         (s390_add_constant, s390_find_constant): ... these new functions.
10814         (s390_add_anchor): New function.
10815
10816         (s390_chunkify_pool): Delete, replace by ...
10817         (s390_chunkify_start, s390_chunkify_finish,
10818         s390_chunkify_cancel): ... these new functions.
10819         (s390_optimize_prolog): Add parameter TEMP_REGNO.
10820         Recompute register live data for special registers.
10821         (s390_fixup_clobbered_return_reg): New function.
10822         (s390_machine_dependent_reorg): Rewrite to use new
10823         s390_chunkify_... routines.
10824
10825         config/s390/s390.md ("reload_base"): Rename to ...
10826         ("reload_base_31"): ... this.
10827         ("reload_base_64"): New insn.
10828         ("reload_base2"): Remove.
10829         ("reload_anchor"): New insn.
10830         ("pool"): New insn.
10831
10832         s390.c (s390_pool_overflow): Remove.
10833         s390.h (s390_pool_overflow): Likewise.
10834         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10835
10836 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
10837
10838         * sh.md (movv8qi_i+2): Don't split if source is -1.
10839
10840 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
10841
10842         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10843
10844 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10845
10846         PR opt/7409
10847         * loop.c (loop_regs_scan): Mark registers used for function
10848         argument passing as MAY_NOT_OPTIMIZE.
10849
10850 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10851
10852         * gcov-io.h (gcov_info): Fix type.
10853         * profile.c (create_profiler): Fix type mismatch.
10854
10855 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
10856
10857         * i386.md (movv2di_internal): New pattern.
10858         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10859         (movv2di): New expander.
10860         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10861
10862         * i386.c (ix86_expand_timode_binop_builtin): Delete.
10863         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10864         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10865         (ix86_expand_builtin): Likewise.
10866         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10867         sse_andti3,
10868         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10869         sse_andnti3,
10870         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
10871         sse_orti3,
10872         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
10873         sse_xorti3): Kill.
10874         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10875          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10876         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10877          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10878         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10879          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10880
10881         * xmmintrin.h (__m128i): Define as __v2di.
10882
10883         PR c++/6419
10884         (expand_expr): Use DECL_RTL_SET_P.
10885
10886 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10887
10888         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
10889
10890 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10891             Zack Weinberg <zack@codesourcery.com>
10892
10893         * config/i386/i386.c (k6_cost): Correct typo.
10894
10895 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
10896
10897         PR optimization/6631
10898         * alias.c (objects_must_conflict_p): Check honor_readonly when
10899         examining TYPE_READONLY.
10900         * function.c (assign_stack_temp_for_type): Likewise.
10901
10902 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
10903
10904         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10905         Swap zero extension arguments.
10906         (umaxhi3): Fix instruction class.
10907         PR target/7211
10908         (prefetch): Fix prefetch instructions.
10909         PR target/7238
10910         (pkwb): Fix output constraint.
10911
10912 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
10913
10914         * config/mips/mips.c (print_operand): Increase buffer size for
10915         real numbers.
10916
10917 2002-10-14  Richard Henderson  <rth@redhat.com>
10918
10919         PR opt/8165
10920         * gcse.c (adjust_libcall_notes): Revert last change.
10921         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10922
10923 2002-10-14  Andrew Haley  <aph@redhat.com>
10924
10925         * tree-inline.c (remap_block): All local class initialization
10926         flags go in the outermost scope.
10927         (expand_call_inline): Call java_inlining_map_static_initializers.
10928         (expand_call_inline): Call java_inlining_merge_static_initializers.
10929         * java/lang.c (merge_init_test_initialization): New.
10930         (java_inlining_merge_static_initializers): New.
10931         (inline_init_test_initialization): New.
10932         (java_inlining_map_static_initializers): New.
10933
10934         * tree-inline.c (expand_call_inline): Convert retvar to expected
10935         type.
10936
10937 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
10938
10939         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10940
10941 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
10942
10943         * stmt.c: Fix typo in comment.
10944
10945 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10946
10947         * c-common.c (c_common_type_for_mode): Add V2HImode case.
10948         * tree.c (build_common_tree_nodes_2): Initialize
10949         unsigned_V2HI_type_node and V2HI_type_node.
10950         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10951         (unsigned_V2HI_type_node, V2HI_type_node): Define.
10952
10953 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
10954
10955         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10956         Handle TARGET_64BIT.
10957
10958 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10959
10960         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10961         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10962         (MULTILIB_DIRNAMES): Remove long32.
10963         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10964         (MULTILIB_REDUNDANT_DIRS): Remove.
10965
10966 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10967
10968         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10969         * gcc.c (driver_self_specs): New variable.
10970         (do_self_spec): New function.
10971         (main): Use it to process driver_self_specs.
10972
10973 2002-10-13  Richard Henderson  <rth@redhat.com>
10974
10975         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10976         indirect sibcalls when regparm >= 3.
10977
10978         * config/i386/i386.c (sibcall_insn_operand): New.
10979         * config/i386/i386.h (PREDICATE_CODES): Update.
10980         * config/i386/i386-protos.h: Update.
10981         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10982
10983         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10984
10985 2002-10-12  Roger Sayle  <roger@eyesopen.com>
10986
10987         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10988         arithmetic right shifts of ~0 during RTL simplifications.
10989
10990 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
10991
10992         PR preprocessor/7862
10993         PR preprocessor/8190
10994         * gcc.c (cpp_unique_options): Don't delete .d files.
10995         Remove stray whitespace.
10996
10997 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
10998
10999         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
11000         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
11001         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
11002         (pdp11_output_function_epilogue, output_ascii): Likewise.
11003         (output_addr_const_pdp11): Likewise.
11004         * pdp11.md (movdi): Use offsetable memory for floating store.
11005         (lshrsi3, negsi2): Delete irrelevant comment.
11006
11007 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
11008
11009         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
11010         indirect calls to be sibcall optimized.
11011         * config/i386/i386.md (sibcall_1): New.
11012         (call_1): Add no-sibcalls condition.
11013         (sibcall_value_1): New.
11014         (call_value_1): Add no-sibcalls condition.
11015
11016 2002-10-11  Eric Christopher  <echristo@redhat.com>
11017
11018        * output.h (default_valid_pointer_mode): Declare.
11019        * varasm.c (default_valid_pointer_mode): Define.
11020        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
11021        * target.h: Ditto.
11022        * tree.c (build_pointer_type_for_mode): New function.
11023        (build_pointer_type): Use.
11024        (build_reference_type_for_mode): New function.
11025        (build_reference_type): Use.
11026        * tree.h: Declare new functions.
11027        * c-common.c (handle_mode_attribute): Use new functions, check
11028        for type.
11029        * stor-layout.c (layout_type): Depend on machine mode for
11030        REFERENCE_TYPE and POINTER_TYPE.
11031        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
11032        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
11033        and REFERENCE_TYPE.
11034        * config/mips/mips.c (mips_valid_pointer_mode): New function.
11035        (TARGET_VALID_POINTER_MODE): Use and define.
11036        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
11037
11038 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
11039
11040         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
11041         not the address of the REG.
11042         (struct cse_reg_info): Make subreg_ticked unsigned.
11043
11044 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
11045
11046         * doc/compat.texi: Add info about C++ libraries.
11047
11048 2002-10-11  Richard Henderson  <rth@redhat.com>
11049
11050         PR opt/8165
11051         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
11052
11053 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11054
11055         * cfganal.c (dfs_enumerate_from): Use PARAMS.
11056         * genautomata.c (output_insn_code_cases): Likewise.
11057         * real.c (real_format): Likewise.
11058         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
11059         ensure value is promoted before doing subtraction.
11060
11061 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
11062
11063         * calls.c (expand_call): Simplify noreturn call.
11064
11065         PR c/7344
11066         * cfgbuild.c (make_edges): Create edge cache when we do have
11067         large jumptable.
11068         * expr.c (do_tablejump): Note size of maximal jumptable.
11069         * function.c (prepare_function_start): Zero out size.
11070         * function.h (function): Add max_jumptable_ents.
11071
11072         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11073
11074 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
11075
11076         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
11077         register for mperm_w operation.
11078
11079 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
11080
11081         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
11082         an integer, use simplify_gen_subreg.
11083
11084 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
11085
11086         * calls.c (flags_from_decl_or_type): Make extern.
11087         (ECF_*): Move ...
11088         * rtl.h (ECF_*): ... here.
11089         (flags_from_decl_or_type): Declare.
11090
11091 2002-10-10  Roger Sayle  <roger@eyesopen.com>
11092             Nathan Sidwell <nathan@codesourcery.com>
11093
11094         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
11095         shifts of the form -1 >> x.
11096
11097 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
11098
11099         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
11100
11101 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
11102
11103         * extend.texi (Vector Extensions): Remove comment about single
11104         element vectors.
11105
11106 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11107
11108         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
11109         * function.c (insns_for_mem_hash): Likewise.
11110         * varasm.c (STRHASH): Likewise.
11111
11112 2002-10-10  Stuart Hastings  <stuart@apple.com>
11113
11114         * cse.c (struct cse_reg_info): Add subreg_ticked.
11115         (SUBREG_TICKED): New.
11116         (get_cse_reg_info): Initialize SUBREG_TICKED.
11117         (mention_regs): Use it.
11118         (invalidate): Set SUBREG_TICKED.
11119         (invalidate_for_call): Likewise.
11120         (addr_affects_sp_p): Likewise.
11121
11122 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
11123
11124         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
11125         into proper operand.
11126
11127 2002-10-10  Denis Chertykov  <denisc@overta.ru>
11128
11129         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
11130         deallocation.
11131         * config/ip2k/libgcc.S: Combine routines used by function
11132         epilogue.
11133
11134 2002-10-10  Jim Wilson  <wilson@redhat.com>
11135
11136         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
11137         UDIV.
11138
11139 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
11140
11141         * config/rs6000/aix52.h: New file.
11142         * config/rs6000/t-aix52: New File.
11143         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
11144         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
11145
11146 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
11147
11148         PR target/5610
11149         * invoke.texi (-msse-math): Kill
11150         (-msse): Add note to mfpmath=sse.
11151
11152 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
11153
11154         PR target/7723
11155         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
11156
11157 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
11158
11159         PR preprocessor/8179
11160         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
11161         as cc1_options.
11162         (default_compilers): Pass debug options when preprocessing
11163         stdin.
11164
11165 2002-10-06  Richard Henderson  <rth@redhat.com>
11166
11167         * toplev.c (rest_of_compilation): Revert opt/2960 change.
11168
11169 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
11170
11171         * i386.c (*_cost): Add branch costs.
11172         (override_options): set ix86_branch_cost.
11173         (ix86_expand_int_movcc): Use BRANCH_COST.
11174         * i386.h (costs): Add branch_cost.
11175
11176 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
11177
11178         PR c/7353
11179         * c-decl.c (start_decl): Unconditionally issue error for
11180         'typedef foo = bar'.
11181         (finish_decl): Remove special case for TYPE_DECL with initializer.
11182
11183         * doc/extend.texi: Delete "Naming Types" section.  Change all
11184         cross-references to that section to refer to "Typeof" instead.
11185         Add the useful safe-max()-macro example from "Naming Types" to
11186         "Typeof", rewritten using that extension.  Add some compatibility
11187         notes to "Typeof."
11188
11189 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11190
11191         * loop.c: Revert 2002-08-15 change.
11192         (LOOP_REGNO_NREGS): Ensure type is int.
11193
11194 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11195
11196         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
11197         which copies first FPR and clears second.
11198         (extendsftf2): Same.
11199         (floatditf2): Fix typo.
11200         (floatsitf2): Same.
11201         (fix_trunctfdi2): Same.
11202         (fix_trunctfsi2): Same.
11203
11204 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11205
11206         * conflict.c (arc_hash): Change return type to hashval_t.
11207         * cselib.c (get_value_hash): Likewise.
11208         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
11209         state_hash, automata_list_hash): Likewise.
11210         * read-rtl.c (def_hash): Likewise.
11211         * tree.c (type_hash_hash): Likewise.
11212
11213 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
11214
11215         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
11216         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
11217
11218 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
11219
11220         * sh.md (ffssi2): Fix emitted code.
11221
11222 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
11223
11224         * cse.c (insn_live_p): Pass insn pattern, not full insn
11225         to may_trap_p.
11226
11227 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
11228
11229         * cppmacro.c (paste_tokens): Only allow / to paste with =.
11230
11231 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
11232
11233         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
11234         64-bit hosts.
11235         (movtf_internal): Reference correct displacement for second value
11236         in memory.
11237         (movtf splitter): Correct generation of constants in 64-bit mode.
11238
11239 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
11240
11241         * libgcc2.c (__floatdisf): Properly cure double rounding.
11242
11243 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11244
11245         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
11246         * doc/cpp.texi (Common Predefined Macros): Document.
11247
11248 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
11249
11250         PR doc/7484
11251         * doc/invoke.texi (Option Summary): List
11252         -Wmissing-declarations as a C only option.
11253
11254 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11255
11256         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
11257         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
11258         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
11259
11260 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
11261
11262         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11263         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
11264         variables.
11265         (safe_vector_operand): Update sse_clrv4sf call.
11266         (ix86_expand_buildin): Likewise
11267         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
11268         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
11269         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
11270         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
11271         macros.
11272         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
11273         movv4si):  Obey the new flags.
11274         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
11275         reformating penalty.
11276         (anddf, cmov patterns): Avoid reformating by first converting.
11277         (sse_cvtsd2ss): Fix predicate.
11278         (sse2_clrti): Fix mode,
11279         (sse_clrv4sf): Avoid unspec.
11280
11281 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
11282
11283         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
11284         mno-app-regs|mcmodel=medany.
11285         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
11286         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
11287         (CRTSTUFF_T_CFLAGS): Define.
11288
11289 2002-10-08  Roger Sayle  <roger@eyesopen.com>
11290
11291         PR target/8087
11292         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
11293         pool references that are constructed using LO_SUM.
11294
11295 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
11296
11297         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
11298         -Wall.
11299         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
11300         message.
11301         * flags.h (warn_strict_aliasing): Declare.
11302         * toplev.c (warn_strict_aliasing): Define.
11303         (lang_independent_options): Add it.
11304         * doc/invoke.texi (-Wstrict-aliasing): Document it.
11305
11306 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
11307
11308         * system.h (GCCBUGURL): Delete.
11309         * version.c (bug_report_url): New.  Add commentary about
11310         modifying both these strings in modified distributions.
11311         * version.h: Declare bug_report_url.
11312
11313         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
11314         bug_report_url.
11315
11316 2002-10-08  Nick Clifton  <nickc@redhat.com>
11317
11318         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
11319         convert uint64_t into __ev64_opaque__.
11320         (__ev_set_acc_s64): Likewise, but using signed types.
11321
11322 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
11323
11324         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
11325         ("*doloop_di_long"): Likewise.
11326
11327 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
11328
11329         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
11330
11331 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
11332
11333         * config/mips/mips.md (define_attr cpu): Add r4111.
11334
11335 2002-10-08  Anthony Green  <green@redhat.com>
11336
11337         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
11338
11339 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
11340
11341         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
11342         for REAL_VALUE_TO_DECIMAL output.
11343
11344 2002-10-07  Richard Henderson  <rth@redhat.com>
11345
11346         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
11347         function; cleanup PLUS case by using recursion.  Update all users.
11348         (NONZERO_BASE_PLUS_P): Remove.
11349         (find_comparison_args): Use rtx_addr_can_trap_p instead.
11350         (fold_rtx): Use nonzero_address_p.
11351         * rtl.h (nonzero_address_p): Declare.
11352         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
11353         (rtx_addr_can_trap_p): Likewise.
11354         (nonzero_address_p): New.
11355         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
11356         (simplify_relational_operation): Use nonzero_address_p.
11357
11358 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
11359
11360         * config/rs6000/rs6000.c (rs6000_override_options): Set
11361         real_format_for_mode for IBM extended format, if enabled.
11362         (easy_fp_constant): Add TFmode.
11363         (rs6000_legitimize_address): Add TFmode.
11364         (rs6000_legitimate_address): Same.
11365         (function_arg_advance): TFmode uses two FPRs.
11366         (rs6000_emit_prologue): Fix warning.
11367         (rs6000_output_function_epilogue): Add TFmode.
11368         (output_toc): Add TFmode.
11369         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
11370         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
11371         * rs6000.md (movtf splitter): Load TFmode constant.
11372
11373 2002-10-07  Dale Johannesen  <dalej@apple.com>
11374
11375         * rtl.h:  Add NOTE_PRECONDITIONED.
11376         * unroll.c:  Set it.
11377         * loop.c:  Set loop_info->preconditioned from it.
11378         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
11379
11380 2002-10-07  Richard Henderson  <rth@redhat.com>
11381
11382         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
11383         new rtx for comparing the argument pointer against zero.
11384         (i960_va_start): Similarly.
11385
11386 2002-10-07  Richard Henderson  <rth@redhat.com>
11387
11388         * config/i960/i960.md (*): Use TFmode, not XFmode.
11389         * config/i960/i960.c (*): Likewise.
11390         (i960_arg_size_and_align): Remove XFmode alignment hack.
11391         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
11392         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
11393         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
11394         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
11395
11396 2002-10-07  Richard Henderson  <rth@redhat.com>
11397
11398         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
11399         entry points; use void return value and argument list.
11400
11401 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
11402
11403         * calls.c (expand_call): Fix function-is-volatile check.
11404
11405 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
11406
11407         * t-pdp11: Add MULTILIB support for msoft-float.
11408         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
11409
11410         * t-pdp11: Add LIB2FUNCS_EXTRA.
11411         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
11412         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
11413         'fldd' to 'ldd', rename 'fstd' to 'std'.
11414         (pdp11_output_function_epilogue): Likewise.
11415         (output_move_quad): Make the comment gas compatible.
11416         (output_ascii): Add preceding 0 to the octal constant.
11417         (print_operand_address): Add pre_modify, post_modify.
11418         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
11419         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
11420         with the indication of Paul Koning.
11421         (PRINT_OPERAND): Fix floating constant.
11422         * pdp11.md (movdi): Restrict matching pattern.
11423         (movqi): Generalize the matching pattern.
11424         (movdf): Restrict matching pattern.
11425         (zero_extendqihi2): Change constant representation.
11426         (floatsidf2): Fix wrong operands.
11427         (addqi3): Fix wrong instruction name.
11428         (subqi3): Fix wrong instruction name.
11429         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
11430         (xorsi3): Fix wrong insn.
11431         (one_cmplqi2): Add two operand pattern.
11432         (lsrsi3): New.
11433         (negsi2): New.
11434         (call): Add register indirect case.
11435         (mod): Fix wrong subreg.
11436
11437 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
11438             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
11439
11440         PR c/7411
11441         * expr.c (expand_expr) [PLUS]: Simplify after the operands
11442         have been expanded in EXPAND_NORMAL mode.
11443
11444 2002-10-06  Richard Henderson  <rth@redhat.com>
11445
11446         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
11447
11448 2002-10-06  Richard Henderson  <rth@redhat.com>
11449
11450         PR optimization/2960
11451         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
11452         optimize_size.
11453
11454 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
11455
11456         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
11457         previously definitions.
11458
11459 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
11460
11461         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
11462         * c-opts.c (find_opt): Similarly.
11463
11464 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
11465
11466         * athlon.md: rewrite to DFA.
11467         * i386 (ix86_adjust_cost): Drop memory latency code.
11468         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
11469
11470 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
11471
11472         * gcc.c (set_multilib_dir): Don't access *end.
11473         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
11474         (print_multilib_info): Don't show paths starting with ".:".
11475         * genmultilib: Add new option, "yes" if multilibs are enabled.
11476         Update comments.  If multilibs not enabled, print .:${osdirout}
11477         for each directory.  If multilibs are enabled, always print
11478         ${dirout}:${osdirout}, even if the two are the same.
11479         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
11480         Pass all MULTILIB_* variables to genmultilib even if
11481         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
11482
11483 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
11484
11485         * gcc.c (process_command): Set .validated for -pipe.  Correct
11486         grammar in comment.
11487
11488 2002-10-04  Bruce Korb  <bkorb@gnu.org>
11489
11490         * fixinc/inclhack.def(hpux11_abs):  use format fix
11491         * fixinc/fixincl.x: regenerate
11492         * fixinc/tests/base/stdlib.h: accommodate new fix test
11493
11494 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
11495
11496         * c-common.c (cb_register_builtins):  Use really_no_inline.
11497
11498 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
11499
11500         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
11501         copied instruction if the note is not loop invariant.
11502
11503 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
11504
11505         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
11506
11507 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11508
11509         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
11510         and -mhp-ld options to list of options.  Add -mgnu-ld
11511         and -mhp-ld option descriptions.
11512
11513 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
11514
11515         * fixinc/inclhack.def (hpux11_abs):  New.
11516         (stdio_va_list): change __va_list__ to __gnuc_va_list.
11517         * fixinc/fixincl.x: Rebuild.
11518
11519 2002-10-04  Roger Sayle  <roger@eyesopen.com>
11520
11521         * config/i386/i386.h (processor_costs): Add new fields fadd,
11522         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
11523         (RTX_COSTS): Use these fields to determine the RTX costs
11524         of floating point addition/subtraction, multiplication,
11525         division, fabs, negation and square root respectively.
11526         * config/i386/i386.c (size_cost): Provide instruction sizes
11527         for these new fields.
11528         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
11529         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
11530         counts for these new fields for all x86 processor variants.
11531
11532 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11533
11534         * mips.c (mips_const_double_ok): Delete unused variable.
11535
11536         * gengtype.c (rtx_next): Change type to int.
11537
11538 2002-10-04  Andreas Jaeger  <aj@suse.de>
11539
11540         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
11541
11542 2002-10-04  Richard Henderson  <rth@redhat.com>
11543
11544         * real.h (SIGNIFICAND_BITS): Add one more word.
11545         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
11546         * real.c (times_pten): New.
11547         (real_to_decimal, real_from_string): Use it.
11548         (sticky_rshift_significand): Use & to find modulus.
11549         (rshift_significand, lshift_significand): Likewise.
11550         (do_divide): Apply sticky bit after normalization.
11551         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
11552
11553 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
11554
11555         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
11556         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11557
11558 2002-10-03  Andreas Jaeger  <aj@suse.de>
11559
11560         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11561         to unsigned long, adjust printf format string.
11562         (output_mangled_typename): Likewise.
11563
11564 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11565
11566         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11567         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11568         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11569         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11570         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11571         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11572         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11573         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11574
11575 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11576
11577         * doc/invoke.texi (-Wabi): Document mangling bug.
11578
11579 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11580
11581         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11582         name for the tbtab label that depends on the function asm name.
11583         Don't output tbtab label unless optional_tbtab.
11584         (output_mi_thunk): Formatting.
11585
11586 2002-10-03  Richard Henderson  <rth@redhat.com>
11587
11588         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11589         * config/m68k/m68k.c (override_options): ... here.
11590         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11591         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11592         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11593         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11594
11595 2002-10-03  Richard Henderson  <rth@redhat.com>
11596
11597         * real.h (struct real_value): Use ENUM_BITFIELD.
11598
11599 2002-10-03  Richard Henderson  <rth@redhat.com>
11600
11601         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11602
11603 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11604
11605         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11606
11607 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11608
11609         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11610         * config/pa/pa.h (MASK_GNU_LD): New.
11611         (TARGET_GNU_LD): New.
11612         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11613         on gnu-ld and MASK_GNU_LD.
11614         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11615
11616 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11617
11618         * i386.c (athlon_cost): Fix the move costs.
11619
11620 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11621
11622         * final.c (final): Use symbol name as function name for profiling.
11623         * profile.c (get_exec_counts): Likewise.
11624         (branch_prob): Likewise.
11625
11626 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11627
11628         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11629
11630 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11631
11632         * gcc.c (print_multi_os_directory): New variable.
11633         (option_map): Support --print-multi-os-directory.
11634         (struct prefix_list): Add os_multilib field.
11635         (multilib_os_dir): New variable.
11636         (static_specs): Add multilib_options.
11637         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11638         subdirs if nonzero.
11639         (read_specs, execute): Update callers.
11640         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11641         pass 1 as multilib option.
11642         (display_help): Include --print-multi-os-directory.
11643         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11644         (process_command): Update callers.  Handle --print-multi-os-directory.
11645         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11646         set.
11647         (main): Update find_a_file and add_prefix callers.
11648         Handle print_multi_os_directory.
11649         (struct mdswitchstr): New.
11650         (mdswitches, n_mdswitches): New variables.
11651         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11652         present on the command line nor their mutually incompatible
11653         switches.
11654         (default_arg): Optimize.
11655         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11656         array.
11657         (print_multilib_info): Only print GCC multilib dir name, not OS
11658         multilib dirname.
11659         * genmultilib: Add osdirnames parameter.  Output multilib_options
11660         variable.  If osdirnames is specified, output dirnames as
11661         dirname:osdirname.
11662         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11663         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11664         to compute libgcc_s soname and install path.
11665         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11666         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11667         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11668         argument.
11669
11670         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11671         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11672         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11673         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11674         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11675         and -m64.
11676         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11677         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11678         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11679         (STARTFILE_ARCH_SPEC): Remove.
11680         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11681         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11682         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11683         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11684         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11685
11686 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11687
11688         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11689
11690 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11691
11692         * i386.md (lea to mul peep2): Fix condition.
11693
11694 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11695
11696         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11697         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11698
11699 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11700
11701         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11702         attribute "unused".
11703
11704         * config/t-libunwind: Mention unwind-sjlj.c.
11705         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11706         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11707
11708         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11709         before inclusion of config.gcc, but after configuring the compiler etc.
11710         Determine default value for --enable-libunwind-exceptions based on
11711         whether the host has a libunwind library (not guaranteed to be correct,
11712         but it's a reasonable first guess and can always be overridden with an
11713         explicit --enable/disable-libunwind-exceptions.
11714         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11715         tmake_file when $use_libunwind_exceptions is enabled.
11716         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11717         ia64 (e.g., config/t-linux also updates it).
11718         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11719         along with the shared version of libgcc since the latter requires
11720         the former.
11721         * unwind-libunwind.c: New file.
11722         * config/t-libunwind: Ditto.
11723
11724 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11725
11726         * config.gcc: Remove support for vax-*-vms*.
11727         * config/vax/vms.h: Remove.
11728         * config/vax/xm-vms.h: Remove.
11729         * config/vax/vax-protos.h: Remove VMS-specific code.
11730         * config/vax/vax.c: Remove VMS-specific code.
11731
11732 2002-10-02  Richard Henderson  <rth@redhat.com>
11733
11734         PR opt/7124
11735         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11736         for secondary_memory_needed pairs.
11737
11738 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11739
11740         * doc/vms.texi: Blow away false include file section.
11741
11742 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11743
11744         PR optimization/6627
11745         * toplev.c (force_align_functions_log): New global variable.
11746         * flags.h (force_align_functions_log): Add extern prototype.
11747         * varasm.c (assemble_start_function): Use it to force minimum
11748         function alignment.
11749         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11750         minimum function alignment to one byte.
11751         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11752         the least significant bit of vtable member function pointers.
11753         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11754         here from cp/cp-tree.h.
11755
11756 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11757
11758         * i386.c (print_operand_address): Use RIP addressing for offsetted
11759         label refs too.
11760
11761 2002-09-30  David S. Miller  <davem@redhat.com>
11762
11763         PR middle-end/7151
11764         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11765         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11766
11767 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11768
11769         * calls.c (expand_call): Remove the `no indirect check'
11770         for sibcall optimization; use function_ok_for_sibcall
11771         target hook; refine check for `function is volatile'.
11772         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11773         * hooks.c (hook_tree_tree_bool_false): New.
11774         * hooks.h (hook_tree_tree_bool_false): Declare.
11775         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11776         (TARGET_INITIALIZER): Add it.
11777         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11778         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11779         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11780         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11781         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11782         Remove function declaration.
11783         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11784         function static and accept another argument of type `tree'.
11785         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11786         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11787         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11788         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11789         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11790         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11791         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11792         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11793         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11794         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11795         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11796         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11797         Remove function declaration.
11798         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11799         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11800         rename first argument to `decl'; accept another argument
11801         of type `tree'; make static.
11802         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11803         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11804         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11805         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11806         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11807         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11808         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11809         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11810         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11811
11812 2002-10-01  Roger Sayle  <roger@eyesopen.com>
11813
11814         * unroll.c (loop_iterations): Revert 2002-09-08 change.
11815
11816 2002-10-01  Richard Henderson  <rth@redhat.com>
11817
11818         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11819         (real_to_hexadecimal): Likewise.
11820         * print-rtl.c (print_rtx): If we are linked with real.c, don't
11821         dump the XWINT fields of a floating point CONST_DOUBLE.
11822
11823 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
11824
11825         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11826
11827 2002-10-01  Richard Henderson  <rth@redhat.com>
11828
11829         * calls.c (precompute_register_parameters): Force non-legitimate
11830         constants into pseudos.
11831
11832 2002-10-01  Nick Clifton  <nickc@redhat.com>
11833
11834         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11835         to assembler template.
11836
11837 2002-10-01  Richard Henderson  <rth@redhat.com>
11838
11839         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11840         for TLS debug info to !DECL_EXTERNAL.
11841
11842 2002-10-01  Matt Thomas  <matt@3am-software.com>
11843             Jason Thorpe  <thorpej@wasabisystems.com>
11844
11845         * config.gcc (vax-*-netbsdelf*): Enable configuration.
11846         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
11847         if not already defined.
11848         * config/vax/elf.h: New file.
11849         * config/vax/netbsd-elf.h: New file.
11850         * config/vax/vax.c: Include "debug.h".
11851         (vax_output_function_prologue): Add dwarf2 support.  Use
11852         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11853         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11854         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11855         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11856         (VAX_ISTREAM_SYNC): Remove.
11857         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11858         (JUMP_TABLES_IN_TEXT_SECTION): Define.
11859         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11860         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11861         and assemble_name.
11862         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11863         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11864         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11865         (INCOMING_RETURN_ADDR_RTX): Define.
11866         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11867         (VUNSPEC_SYNC_ISTREAM): Define.
11868         (blockage): Use VUNSPEC_BLOCKAGE.
11869         (sync_istream): New insn.
11870
11871 2002-10-01  Richard Henderson  <rth@redhat.com>
11872
11873         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11874         (*call_value_pop, call, call_value): Add dwarf2 EH support.
11875         (*call): New insn.
11876
11877 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11878
11879         PR c/8083
11880         * c-typeck.c (build_c_cast): Warn about type punning which breaks
11881         type based aliasing.
11882
11883 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
11884
11885         * stor-layout.c (update_alignment_for_field): New function.
11886         (place_union_field): Use it.
11887         (place_field): Likewise.
11888
11889 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11890
11891         PR other/8077
11892         * gcc.c (cc1_options): Add space on -auxbase-strip.
11893
11894 2002-10-01  Jim Wilson  <wilson@redhat.com>
11895
11896         * config/v850/v850.h (EPILOGUE_USES): Define.
11897
11898 2002-09-30  Andrew Haley  <aph@redhat.com>
11899
11900         * flow.c (insn_dead_p): When using non-call-exceptions, don't
11901         eliminate insns that may trap.
11902         * cse.c (insn_live_p): Likewise.
11903
11904 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11905
11906         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11907         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11908         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11909         * config/mips/mips.md: Apply same renaming here.
11910
11911 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11912
11913         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11914         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11915         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11916         * config/mips/mips.md (define_attr cpu): Remove r4320.
11917         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11918
11919 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11920
11921         * config/mips/mips.c (mips16_strings): New variable.
11922         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11923         symbol in mips16_strings.  Free the list.
11924         (mips_encode_section_info): Keep track of local strings.
11925
11926 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11927
11928         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11929         (sordered_df, sordered_sf): Remove.
11930         * config/mips/mips.c (get_float_compare_codes): New fn.
11931         (gen_int_relational, gen_conditional_move): Use it.
11932
11933 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11934
11935         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11936         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11937         * config/mips/mips.c (fcc_register_operand): New function.
11938         (mips_emit_fcc_reload): New function, extracted from reload_incc.
11939         (override_options): Allow TFmode values in float registers
11940         if ISA_HAS_8CC.
11941         * cnfig/mips/mips.md (reload_incc): Change destination prediate
11942         to fcc_register_operand.  Remove misleading source constraint.
11943         Use mips_emit_fcc_reload.
11944         (reload_outcc): Duplicate reload_incc.
11945
11946 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
11947
11948         * gcc.c (validate_switches): Handle all new forms of spec
11949         syntax introduced recently.  Now returns a char *.
11950         (validate_all_switches): Repetitive logic broken out to...
11951         (validate_switches_from_spec): ...here.
11952         * mklibgcc.in: Don't @-flag commands to generate .oS files.
11953
11954 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
11955
11956         * longlong.h: Partially synchronize with GMP-4.1 version:
11957         Use i370 definitions also for s390.
11958         Add generic definition of umul_ppmm in terms of smul_ppmm.
11959         [s390] (umul_ppmm): Remove.
11960         [s390] (smul_ppmm): Fix incorrect assembler constraints.
11961         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11962
11963 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
11964
11965         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11966         Add new RL_REGS register class.
11967         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
11968         Call xtensa_preferred_reload_class for both input and output reloads.
11969         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11970         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11971         instead of either AR_REGS or GR_REGS classes.
11972         (xtensa_secondary_reload_class): Use new RL_REGS class.
11973         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11974
11975 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11976
11977         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11978         (pa_strip_name_encoding): Strip '@' and '*', in that order.
11979         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11980         there is a '*' prefix in NAME.
11981
11982 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
11983
11984         * reload.c (push_reload): Handle subregs and secondary memory.
11985         * reload1.c (gen_reload): Likewise.
11986
11987         * jump.c (reg_or_subregno): New function.
11988         * rtl.h (reg_or_subregno): Declare
11989         * unroll.c (find_splittable_givs): Handle subregs.
11990
11991 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
11992
11993         * store-layout.c (finish_record_layout): Add free_p parameter.
11994         (layout_type): Pass it.
11995         * tree.h (finish_record_layout): Update prototype.
11996
11997 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
11998
11999         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
12000
12001         * gcse.c (cprop_jump): Check that the register has not
12002         been modified
12003         (cprop_jump): Likewise.
12004
12005 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
12006
12007         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
12008         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
12009         that we have a SImode access, and only then if reload hasn't completed;
12010         for all other cases, use LO_REGS.
12011
12012 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12013
12014         * openbsd.h: Fix typo in last change.
12015
12016 2002-09-29  Richard Henderson  <rth@redhat.com>
12017
12018         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
12019
12020 2002-09-29  Richard Henderson  <rth@redhat.com>
12021
12022         PR c/8002
12023         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
12024         for CONST_INT.
12025
12026 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
12027
12028         * real.h (ibm_extended_format): Declare.
12029         * real.c (encode_ibm_extended, decode_ibm_extended): New
12030         functions.
12031
12032 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12033
12034         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
12035
12036         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
12037
12038 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12039
12040         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
12041
12042 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
12043
12044         * builtins.def: Fix comment formatting.
12045         * c-common.def: Likewise.
12046         * cfgcleanup.c: Likewise.
12047         * combine.c: Likewise.
12048         * gengtype.c: Likewise.
12049         * params.def: Likewise.
12050         * predict.def: Likewise.
12051         * rtl.def: Likewise.
12052         * stab.def: Likewise.
12053         * stor-layout.c: Likewise.
12054         * tree.def: Likewise.
12055         * config/darwin.c: Likewise.
12056         * config/darwin.h: Likewise.
12057         * config/dbxcoff.h: Likewise.
12058         * config/elfos.h: Likewise.
12059         * config/fp-bit.c: Likewise.
12060         * config/freebsd-spec.h: Likewise.
12061         * config/interix.h: Likewise.
12062         * config/libgloss.h: Likewise.
12063         * config/linux-aout.h: Likewise.
12064         * config/linux.h: Likewise.
12065         * config/lynx-ng.h: Likewise.
12066         * config/lynx.h: Likewise.
12067         * config/netbsd-aout.h: Likewise.
12068         * config/netbsd.h: Likewise.
12069         * config/netware.h: Likewise.
12070         * config/psos.h: Likewise.
12071         * config/ptx4.h: Likewise.
12072
12073 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
12074
12075         * ChangeLog.4: Fix typos.
12076         * ChangeLog.6: Likewise.
12077         * FSFChangeLog.10: Likewise.
12078         * genattrtab.c: Fix comment typos.
12079         * haifa-sched.c: Likewise.
12080         * real.c: Likewise.
12081         * tree.h: Likewise.
12082         * config/arm/arm.c: Likewise.
12083         * config/arm/crti.asm: Likewise.
12084         * config/arm/crtn.asm: Likewise.
12085         * config/frv/frv.c: Likewise.
12086         * config/frv/frv.md: Likewise.
12087         * config/h8300/h8300.md: Likewise.
12088         * config/i386/rtemself.h: Likewise.
12089         * config/ia64/unwind-ia64.c: Likewise.
12090         * config/ip2k/ip2k.h: Likewise.
12091         * config/m88k/m88k.c: Likewise.
12092         * config/m88k/m88k.md: Likewise.
12093         * config/mips/sr71k.md: Likewise.
12094         * config/mmix/mmix.c: Likewise.
12095         * config/rs6000/rs6000.c: Likewise.
12096         * config/sh/sh.md: Likewise.
12097
12098 2002-09-26  Theodore A. Roth  <troth@verinet.com>
12099
12100         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
12101         * config/avr/avr.md: Ditto.
12102
12103 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
12104
12105         PR preprocessor/8055
12106         * cppmacro.c (stringify_arg): Do not overflow the buffer
12107         with the terminating NUL when the argument to be stringified
12108         has no tokens.
12109
12110 2002-09-27  Richard Henderson  <rth@redhat.com>
12111
12112         * unroll.c (simplify_cmp_and_jump_insns): New.
12113         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
12114         instead of expand_simple_foo.
12115
12116 2002-09-27  Richard Henderson  <rth@redhat.com>
12117
12118         PR optimization/7520
12119         * cfganal.c (flow_active_insn_p): New.
12120         (forwarder_block_p): Use it.
12121
12122 2002-09-27  Richard Henderson  <rth@redhat.com>
12123
12124         * emit-rtl.c (active_insn_p): Revert last change.
12125
12126 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
12127
12128         * doc/extend.texi (tls_model): Document.
12129         * varasm.c (decl_tls_model): New.
12130         * c-common.c (handle_tls_model_attribute): New.
12131         (c_common_attribute_table): Add tls_model.
12132         * config/alpha/alpha.c (alpha_encode_section_info): Use
12133         decl_tls_model.
12134         * flags.h (enum tls_model, flag_tls_default): Move...
12135         * tree.h (enum tls_model, flag_tls_default): ...here.
12136         (decl_tls_model): New prototype.
12137         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
12138         * config/i386/i386.c (ix86_encode_section_info): Likewise.
12139         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
12140         Allow !flag_pic.
12141
12142 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12143
12144         * LANGUAGES: Follow spelling conventions.
12145         * rtl.def: Likewise.
12146         * sbitmap.c: Likewise.
12147         * sched-int.h: Likewise.
12148         * sched-rgn.c: Likewise.
12149         * sibcall.c: Likewise.
12150         * simplify-rtx.c: Likewise.
12151         * ssa.c: Likewise.
12152         * stab.def: Likewise.
12153         * stmt.c: Likewise.
12154         * stor-layout.c: Likewise.
12155         * target.h: Likewise.
12156         * timevar.c: Likewise.
12157         * toplev.c: Likewise.
12158         * tree-dump.c: Likewise.
12159         * tree-inline.c: Likewise.
12160         * tree.c: Likewise.
12161         * tree.def: Likewise.
12162         * tree.h: Likewise.
12163         * unroll.c: Likewise.
12164         * varasm.c: Likewise.
12165         * vmsdbgout.c: Likewise.
12166         * treelang/treelang.texi: Likewise.
12167         * treelang/treetree.c: Likewise.
12168
12169 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
12170
12171         * config/h8300/h8300.c (compute_saved_regs): Use a macro
12172         instead of a hard register number.
12173         (get_shift_alg): Use an enumerated type instead of numbers.
12174         (h8300_shift_needs_scratch_p): Likewise.
12175
12176 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12177
12178         * varasm.c (force_data_section): Remove.
12179         (assemble_constant_align): Likewise.
12180         * output.h: Remove corresponding prototypes.
12181
12182 2002-09-26  Roger Sayle  <roger@eyesopen.com>
12183
12184         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
12185         jump, if the loop to exit is the top of the current nesting stack.
12186
12187 2002-09-26  Torbjorn Granlund  <tege@swox.com>
12188
12189         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
12190         arithmetic.
12191
12192 2002-09-26  David S. Miller  <davem@redhat.com>
12193
12194         PR optimization/7335
12195         * calls.c (emit_library_call_value_1): Passing args by reference
12196         converts a CONST function into a PURE one.
12197
12198 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12199
12200         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
12201         text_section.
12202         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
12203         text section.
12204         * config/rs6000/rs6000.c (rs6000_override_options): Allow
12205         function-sections and data-sections functionality on AIX.
12206
12207 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
12208             Dale Johannesen  <dalej@apple.com>
12209
12210         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
12211         in RTL for sub-word loads from memory.
12212
12213 2002-09-26  Richard Henderson  <rth@redhat.com>
12214
12215         PR c/7160
12216         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
12217         on call insns.
12218
12219 2002-09-26  Richard Henderson  <rth@redhat.com>
12220
12221         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
12222
12223 2002-09-26  Chris Lattner  <sabre@nondot.org>
12224
12225         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
12226         handling undefined values.
12227
12228 2002-09-26  Richard Henderson  <rth@redhat.com>
12229
12230         PR opt/7520
12231         * emit-rtl.c (active_insn_p): Consider a clobber of the
12232         function return value to be active even after reload.
12233
12234 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
12235
12236         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
12237         by absolute loop increment, not loop increment.
12238
12239 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12240
12241         * c-common.h: Follow spelling conventions.
12242         * cpplex.c: Likewise.
12243         * cpplib.h: Likewise.
12244         * gthr-dce.h: Likewise.
12245         * gthr-posix.h: Likewise.
12246         * optabs.c: Likewise.
12247         * output.h: Likewise.
12248         * profile.c: Likewise.
12249         * protoize.c: Likewise.
12250         * ra-rewrite.c: Likewise.
12251         * real.c: Likewise.
12252         * recog.c: Likewise.
12253         * reg-stack.c: Likewise.
12254         * regclass.c: Likewise.
12255         * regmove.c: Likewise.
12256         * reload.c: Likewise.
12257         * reload.h: Likewise.
12258         * reload1.c: Likewise.
12259         * reorg.c: Likewise.
12260         * resource.c: Likewise.
12261         * rtl.h: Likewise.
12262         * rtlanal.c: Likewise.
12263
12264 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12265
12266         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
12267         for symbol address.
12268
12269 2002-09-24  Eric Christopher  <echristo@redhat.com>
12270
12271         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
12272         * config/mips/elf64.h: Ditto.
12273
12274 2002-09-24  Eric Christopher  <echristo@redhat.com>
12275
12276         * except.c (expand_builtin_extract_return_address): Handle case
12277         where Pmode != ptr_mode.
12278
12279 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12280
12281         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
12282
12283 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
12284
12285         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
12286
12287 2002-09-26  Igor Shevlyakov <igor@microunity.com>
12288
12289         * combine.c (simplify_set): Don't call to force_to_mode if size
12290         of integer type is larger than HOST_BITS_PER_WIDE_INT.
12291
12292 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
12293
12294         * Makefile.in (qmtest-g++): Fix file path.
12295
12296 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12297
12298         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
12299         A + (-const) on RTX level, even for unsigned types.
12300
12301 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
12302
12303         * reload.c (dup_replacements): New function.
12304         (find_reloads): Use it to duplicate replacements at the top level
12305         of match_dup operands.
12306
12307 2002-09-26  Miles Bader  <miles@gnu.org>
12308
12309         * v850.md ("length"): Change default value to 4.
12310
12311 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
12312
12313         * ChangeLog.1: Follow spelling conventions.
12314         * ChangeLog.4: Likewise.
12315         * ChangeLog.6: Likewise.
12316         * FSFChangeLog.11: Likewise.
12317         * doc/cpp.texi: Likewise.
12318         * doc/invoke.texi: Likewise.
12319         * doc/tm.texi: Likewise.
12320
12321 2002-09-26  Nick Clifton  <nickc@redhat.com>
12322
12323         * config.gcc: Add x prefix to v850e case for handling
12324         --with-cpu=v850e.
12325
12326 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
12327
12328         * gcc.c (input_suffix_matches, switch_matches,
12329         mark_matching_switches, process_marked_switches,
12330         process_brace_body): New functions - split from handle_braces.
12331         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
12332         and ignore whitespace in more places.
12333         (specs documentation comment): Document %{S:X;T:Y;:D}.
12334         Clarify other %{...} docs.
12335         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
12336         %{...} docs.
12337
12338         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
12339         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
12340
12341 2002-09-25  David S. Miller  <davem@redhat.com>
12342
12343         PR target/7842
12344         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
12345         extend.
12346
12347 2002-09-25  Richard Henderson  <rth@redhat.com>
12348
12349         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
12350         fp CONST_DOUBLE; use real_identical.
12351
12352 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
12353
12354         * doc/invoke.texi: Add more -Wabi examples.
12355
12356 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
12357
12358         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
12359
12360 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
12361
12362         * profile.c (end_branch_prob): Only look for __gcov_init on
12363         weak-enabled native compilers.
12364
12365 2002-09-24  Denis Chertykov  <denisc@overta.ru>
12366
12367         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
12368         cases of optimizing "add sp,w" to "inc sp".
12369
12370 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12371
12372         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
12373         epilogue for naked functions.
12374
12375 2002-09-24  Adam Nemet  <anemet@lnxw.com>
12376             Nick Clifton  <nickc@redhat.com>
12377
12378         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
12379         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
12380         is defined.
12381
12382 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
12383
12384         * config/s390/s390.c (preferred_la_operand_p): New function.
12385         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
12386         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
12387         ("*la_64_cc", "*la_31_cc", splitters): ... these.
12388         ("*la_31"): Deactivate for TARGET_64BIT.
12389         ("*la_31_and", "*la_31_and_cc"): New.
12390
12391 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12392
12393         * real.h (real_value): Make `exp' explicitly signed.
12394
12395 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
12396
12397         * config/elfos.h: Follow spelling conventions.
12398         * config/alpha/alpha.h: Likewise.
12399         * config/arc/arc.h: Likewise.
12400         * config/arm/arm.md: Likewise.
12401         * config/avr/avr.h: Likewise.
12402         * config/cris/cris.md: Likewise.
12403         * config/d30v/d30v.h: Likewise.
12404         * config/frv/frv.c: Likewise.
12405         * config/frv/frv.h: Likewise.
12406         * config/h8300/h8300.c: Likewise.
12407         * config/h8300/h8300.h: Likewise.
12408         * config/h8300/h8300.md: Likewise.
12409         * config/i386/cygwin.h: Likewise.
12410         * config/i386/i386.h: Likewise.
12411         * config/i386/sysv3.h: Likewise.
12412         * config/i960/i960.h: Likewise.
12413         * config/ia64/ia64.h: Likewise.
12414         * config/ia64/ia64.md: Likewise.
12415         * config/ip2k/ip2k.h: Likewise.
12416         * config/m32r/m32r.h: Likewise.
12417         * config/m68k/m68k.h: Likewise.
12418         * config/m88k/m88k.h: Likewise.
12419         * config/mcore/mcore.c: Likewise.
12420         * config/mcore/mcore.h: Likewise.
12421         * config/mcore/mcore.md: Likewise.
12422         * config/mips/mips.h: Likewise.
12423         * config/mmix/mmix.h: Likewise.
12424         * config/mmix/mmix.md: Likewise.
12425         * config/ns32k/netbsd.h: Likewise.
12426         * config/ns32k/ns32k.h: Likewise.
12427         * config/ns32k/ns32k.md: Likewise.
12428         * config/pa/pa.h: Likewise.
12429         * config/romp/romp.h: Likewise.
12430         * config/rs6000/rs6000.h: Likewise.
12431         * config/rs6000/rs6000.md: Likewise.
12432         * config/sparc/sparc.h: Likewise.
12433         * config/stormy16/stormy-abi: Likewise.
12434         * config/stormy16/stormy16.h: Likewise.
12435         * config/vax/vax.h: Likewise.
12436
12437 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12438
12439         * config/alpha/alpha.h: Remove commented-out macro
12440         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
12441         * config/avr/avr.h: Likewise.
12442         * config/d30v/d30v.h: Likewise.
12443         * config/dsp16xx/dsp16xx.h: Likewise.
12444         * config/i370/i370.h: Likewise.
12445         * config/i386/i386.h: Likewise.
12446         * config/i960/i960.h: Likewise.
12447         * config/m68k/m68k.h: Likewise.
12448         * config/m88k/m88k.h: Likewise.
12449         * config/mips/mips.h: Likewise.
12450         * config/ns32k/ns32k.h: Likewise.
12451         * config/pdp11/pdp11.h: Likewise.
12452         * config/romp/romp.h: Likewise.
12453         * config/rs6000/rs6000.h: Likewise.
12454         * config/s390/s390.h: Likewise.
12455         * config/sh/sh.h: Likewise.
12456         * config/sparc/sparc.h: Likewise.
12457         * config/stormy16/stormy16.h: Likewise.
12458         * config/vax/vax.h: Likewise.
12459
12460 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
12461
12462         * function.c (push_temp_slots_for_block): Remove.
12463         (push_temp_slots_for_target): Likewise.
12464         (get_target_temp_slot_level): Likewise.
12465         (set_target_temp_slot_level): Likewise.
12466         (get_first_block_beg): Likewise.
12467         * function.h: Remove corresponding prototypes.
12468
12469 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
12470
12471         * version.c (version_string): Now const char[].
12472         * version.h: Update to match.
12473
12474 2002-09-23  Richard Henderson  <rth@redhat.com>
12475
12476         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
12477         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
12478         (TARGET_SWITCHES): Don't reference them.
12479         * config/i386/i386.c (override_options): Use target_flags_explicit
12480         to examine bits set by the user.
12481
12482 2002-09-23  Dale Johannesen  <dalej@apple.com>
12483
12484         * dbxout.c (dbxout_parms):  Set current_sym_code for params
12485         passed on stack by invisible reference.
12486
12487 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
12488
12489         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
12490         at least one byte of space.
12491
12492 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12493
12494         * c-common.h (flag_abi_version): Fix typo in comment.
12495         * doc/invoke.texi (flag_abi_version): Document default value.
12496
12497 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
12498
12499         * doc/extend.texi (Extended Asm): Clarify that overlap between
12500         asm-declared register variables used in an asm and the asm clobber
12501         list is not allowed.
12502         * stmt.c (decl_conflicts_with_clobbers_p): New function.
12503         (expand_asm_operands): Keep track of clobbered registers.  Call
12504         decl_conflicts_with_clobbers_p for each input and output operand.
12505         If no conflicts found before, also do conflict sanity check when
12506         emitting clobbers.
12507
12508 2002-09-23  Richard Henderson  <rth@redhat.com>
12509
12510         * c-common.c (cpp_define_data_format): Remove.
12511         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
12512         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
12513         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
12514         * doc/cpp.texi: Don't document them either.
12515         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
12516         __LONG_LONG_MAX__): Document.
12517         (__TARGET_FLOAT_FORMAT__): Remove.
12518
12519 2002-09-23  Richard Henderson  <rth@redhat.com>
12520
12521         * real.c (do_multiply): Normalize U before addition.
12522
12523 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
12524
12525         * c-common.c (flag_abi_version): New variable.
12526         * c-common.h (flag_abi_version): Declare it.
12527         * c-opts.c (missing_arg): Add -fabi-version.
12528         (c_common_decode_option): Process -fabi-version.
12529         * doc/invoke.texi (-fabi-version): Document it.
12530         (-Wabi): Add information about bit-fields in unions.
12531
12532 2002-09-22  Roger Sayle  <roger@eyesopen.com>
12533
12534         * expr.c (STORE_BY_PIECES_P): New target macro.
12535         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
12536         instead of MOVE_BY_PIECES_P.
12537         * doc/tm.texi: Document this new macro.
12538
12539 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12540
12541         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
12542         unless -fno-pic or -fno-PIC is specified.
12543
12544 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12545
12546         * c-common.c (preprocessing_trad_p): Define.
12547         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
12548         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
12549         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12550         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
12551         * pa-linux.h (CPP_PREDEFINES): Delete.
12552         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
12553         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
12554         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
12555         (TARGET_OS_CPP_BUILTINS): Define.
12556         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
12557         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
12558         (SUBTARGET_SWITCHES): Provide default definition.
12559         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12560         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12561         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12562         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12563         (TARGET_CPU_CPP_BUILTINS): Define.
12564         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12565         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12566         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12567         preprocessing_trad_p().
12568
12569 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12570
12571         * doc/install.texi: Document behavior of --with-headers and
12572         --with-libs when arguments are omitted.
12573
12574 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12575
12576         * dbxout.c: Follow spelling conventions.
12577         * defaults.h: Likewise.
12578         * df.c: Likewise.
12579         * diagnostic.h: Likewise.
12580         * doloop.c: Likewise.
12581         * dwarf2out.c: Likewise.
12582         * dwarfout.c: Likewise.
12583         * emit-rtl.c: Likewise.
12584         * except.c: Likewise.
12585         * explow.c: Likewise.
12586         * expmed.c: Likewise.
12587         * expr.c: Likewise.
12588         * expr.h: Likewise.
12589         * flags.h: Likewise.
12590         * flow.c: Likewise.
12591         * fold-const.c: Likewise.
12592         * function.c: Likewise.
12593         * function.h: Likewise.
12594         * gcc.c: Likewise.
12595         * gcov-io.h: Likewise.
12596         * gcov.c: Likewise.
12597         * gcse.c: Likewise.
12598         * genattrtab.c: Likewise.
12599         * genconfig.c: Likewise.
12600         * genrecog.c: Likewise.
12601         * ggc-page.c: Likewise.
12602         * ggc.h: Likewise.
12603         * global.c: Likewise.
12604         * gthr-win32.h: Likewise.
12605         * integrate.c: Likewise.
12606         * jump.c: Likewise.
12607         * langhooks.c: Likewise.
12608         * langhooks.h: Likewise.
12609         * line-map.h: Likewise.
12610         * local-alloc.c: Likewise.
12611         * longlong.h: Likewise.
12612         * loop.c: Likewise.
12613         * loop.h: Likewise.
12614
12615 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12616
12617         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12618
12619 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12620
12621         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12622         for -Os/TARGET_64BIT too.
12623
12624 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12625
12626         * ChangeLog: Follow spelling conventions.
12627         * ChangeLog.0: Likewise.
12628         * ChangeLog.1: Likewise.
12629         * ChangeLog.2: Likewise.
12630         * ChangeLog.3: Likewise.
12631         * ChangeLog.4: Likewise.
12632         * ChangeLog.5: Likewise.
12633         * ChangeLog.6: Likewise.
12634         * FSFChangeLog.10: Likewise.
12635         * FSFChangeLog.11: Likewise.
12636         * alias.c: Likewise.
12637         * basic-block.h: Likewise.
12638         * c-aux-info.c: Likewise.
12639         * c-common.c: Likewise.
12640         * c-common.h: Likewise.
12641         * c-decl.c: Likewise.
12642         * c-format.c: Likewise.
12643         * c-semantics.c: Likewise.
12644         * c-typeck.c: Likewise.
12645         * calls.c: Likewise.
12646         * cfganal.c: Likewise.
12647         * cfgloop.c: Likewise.
12648         * collect2.c: Likewise.
12649         * combine.c: Likewise.
12650         * conflict.c: Likewise.
12651         * cppexp.c: Likewise.
12652         * cppfiles.c: Likewise.
12653         * cpphash.h: Likewise.
12654         * cppinit.c: Likewise.
12655         * cpplex.c: Likewise.
12656         * cpplib.c: Likewise.
12657         * cpplib.h: Likewise.
12658         * cppmacro.c: Likewise.
12659         * cse.c: Likewise.
12660
12661 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12662
12663         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12664         LINK_SPEC.
12665         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12666         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12667         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12668
12669 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12670
12671         PR opt/7930
12672         * cse.c (fold_rtx): Calculate old_cost before we fold each
12673         operand.
12674
12675 2002-09-21  Richard Henderson  <rth@redhat.com>
12676
12677         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12678         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12679         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12680         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12681         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12682         * doc/cpp.texi: Don't document them.
12683
12684 2002-09-21  Richard Henderson  <rth@redhat.com>
12685
12686         * c-common.c (builtin_define_float_constants): Use real_format
12687         to get the floating-point parameters.
12688
12689 2002-09-21  Richard Henderson  <rth@redhat.com>
12690
12691         * real.c (struct real_format): Move to real.h.
12692         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12693         initialize with ieee defaults.
12694         (real_to_target_fmt, real_from_target_fmt): New.
12695         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12696         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12697         ieee_quad_format, i370_single_format, i370_double_format,
12698         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12699         (ieee_quad_format): Fix emin.
12700         (format_for_size, init_real_once): Remove.
12701         * real.h (struct real_format): Move from real.c.
12702         (real_format_for_mode): Declare.
12703         (real_to_target_fmt, real_from_target_fmt): Declare.
12704         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12705         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12706         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12707         i370_single_format, i370_double_format, c4x_single_format,
12708         c4x_extended_format): Declare.
12709         * toplev.c (do_compile): Don't call init_real_once.
12710
12711         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12712         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12713
12714         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12715         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12716         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12717         for VAX, if enabled.
12718
12719         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12720         for C4X.
12721
12722         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12723         * config/i370/i370.c (override_options): New.
12724         * config/i370/i370-protos.h: Update.
12725
12726         * config/i386/i386.c (override_options): Set real_format_for_mode
12727         for Intel 80-bit extended.
12728         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12729
12730         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12731         (OVERRIDE_OPTIONS): Move code...
12732         * config/i960/i960.c (i960_initialize): ... here.  Set
12733         real_format_for_mode for Intel 80-bit extended.
12734
12735         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12736         for Intel 80-bit extended, if enabled.
12737
12738         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12739         for Motorola 96-bit extended.
12740
12741         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12742         * config/vax/vax.c (override_options): New.
12743         * config/vax/vax-protos.h: Update.
12744
12745 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12746
12747         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12748         #if TARGET_MACHO.
12749
12750         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12751         insns.  Supply missing clobber of scratch reg.
12752
12753 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12754
12755         * config/m32r/m32r.c: Follow spelling conventions.
12756         * config/m32r/m32r.h: Likewise.
12757         * config/m32r/m32r.md: Likewise.
12758         * config/m68k/m68k.c: Likewise.
12759         * config/m88k/m88k.c: Likewise.
12760         * config/mcore/mcore.c: Likewise.
12761         * config/mips/mips.c: Likewise.
12762         * config/mips/mips.h: Likewise.
12763         * config/mmix/mmix.c: Likewise.
12764         * config/mn10200/mn10200.c: Likewise.
12765         * config/ns32k/ns32k.h: Likewise.
12766         * config/pa/pa.c: Likewise.
12767         * config/pa/pa64-linux.h: Likewise.
12768         * config/pdp11/pdp11.h: Likewise.
12769         * config/romp/romp.c: Likewise.
12770         * config/romp/romp.h: Likewise.
12771         * config/rs6000/eabi.asm: Likewise.
12772         * config/rs6000/linux64.h: Likewise.
12773         * config/rs6000/rs6000.c: Likewise.
12774         * config/rs6000/rs6000.h: Likewise.
12775         * config/rs6000/rs6000.md: Likewise.
12776         * config/rs6000/sysv4.h: Likewise.
12777         * config/rs6000/xcoff.h: Likewise.
12778
12779 2002-09-20  Jim Wilson  <wilson@redhat.com>
12780
12781         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12782
12783 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12784
12785         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12786         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12787         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12788         (legitimate_address_p): Likewise.
12789         (legitimize_address): Use @gotntpoff and @indntpoff.
12790         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12791         (output_addr_const_extra): Likewise.
12792
12793 2002-09-20  Jim Wilson  <wilson@redhat.com>
12794
12795         * combine.c (try_combine): When split an instruction pair, where the
12796         first has a sign_extend src, verify that the src and dest modes match.
12797
12798 2002-09-20  Richard Henderson  <rth@redhat.com>
12799
12800         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12801         (override_options): Do not initialize them.
12802         (mips_const_double_ok): Allow no fp constants except zero,
12803         and not even that for mips16.
12804         (const_float_1_operand): Use dconst1.
12805         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12806         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
12807         Don't allow arbitrary constants; fix predicates and C constraint.
12808
12809 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
12810
12811         * cppmacro.c: Don't warn about function-like macros without
12812         '(' during pre-expansion.
12813
12814 2002-09-20  Jim Wilson  <wilson@redhat.com>
12815
12816         * config/v850/v850.c (current_function_anonymous_args): Delete.
12817         (expand_prologue): Use current_function_args_info.anonymous_args.
12818         (expand_epilogue): Delete use of current_function_anonymous_args.
12819         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12820         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12821         (current_function_anonymous_args): Delete extern declaration.
12822         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12823
12824 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
12825
12826         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12827         to load_macho_picbase.
12828         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12829         (load_macho_picbase): Take the symbol to use as a parameter.
12830         (macho_correct_pic): New insn.
12831         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12832
12833         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12834         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12835         (CAN_ELIMINATE): Likewise.
12836         (INITIAL_ELIMINATION_OFFSET): Likewise.
12837         (TOC_REGISTER): Likewise.
12838
12839 2002-09-20  Richard Henderson  <rth@redhat.com>
12840
12841         * real.c (real_hash): New.
12842         * real.h: Declare it.
12843         * cse.c (canon_hash): Use it.
12844         * cselib.c (hash_rtx): Likewise.
12845         * emit-rtl.c (const_double_htab_hash): Likewise.
12846         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12847         * varasm.c (struct rtx_const): Reduce vector size; separate
12848         integer and fp vectors.
12849         (HASHBITS): Remove.
12850         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
12851         take modulus MAX_HASH_TABLE.
12852         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
12853         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12854         (SYMHASH): Don't use HASHBITS.
12855         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12856         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
12857         (simplify_subtraction): Fix kind comparison.
12858         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
12859         Use a union to pun integer array.
12860         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12861         only hash two words of integral CONST_DOUBLE.
12862
12863 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
12864
12865         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12866         (STARTFILE_PREFIX_SPEC): New.
12867         (LINK_SPEC): Modify.
12868         (LIB_SPEC): Modify.
12869         (LIBGCC_SPEC): New.
12870
12871 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12872
12873         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12874         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12875
12876 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12877
12878         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12879         Add clobber of the condition code register.
12880
12881 2002-09-20  Richard Henderson  <rth@redhat.com>
12882
12883         * real.c (do_fix_trunc): Static.
12884         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12885         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12886         encode_i370_single, encode_i370_double, encode_c4x_single,
12887         encode_c4x_extended): Add default abort case.
12888
12889 2002-09-20  Richard Henderson  <rth@redhat.com>
12890
12891         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12892         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12893         (struct realvaluetype): Remove.
12894         (REAL_VALUE_TYPE): Use struct real_value.
12895         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12896         (test_real_width): New.
12897         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12898         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12899         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12900         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12901         real_to_integer, real_to_integer2, real_to_decimal,
12902         real_to_hexadecimal, real_from_string, real_from_integer,
12903         real_inf, real_nan, real_2expN, real_convert, real_to_target,
12904         real_from_target): Likewise.
12905         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12906         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12907
12908 2002-09-20  Richard Henderson  <rth@redhat.com>
12909
12910         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12911         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12912         * defaults.h: ... here.
12913         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12914         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12915         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12916         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12917
12918 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
12919
12920         * config/mmix/mmix.md ("negdf2"): Rewrite.
12921         ("*expanded_negdf2"): New.
12922
12923 2002-09-19  Jim Wilson  <wilson@redhat.com>
12924
12925         * combine.c (simplify_set): When optimizing a subreg src with a
12926         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12927
12928 2002-09-19  Dale Johannesen <dalej@apple.com>
12929         * combine.c (make_extraction): Don't create
12930         invalid subreg.
12931
12932 2002-09-19  Roger Sayle  <roger@eyesopen.com>
12933
12934         * tree.c (integer_nonzerop): New predicate for nonzero integers.
12935         * tree.h (integer_nonzerop): Add function prototype.
12936         * stmt.c (expand_end_loop):  Don't rotate the loop when there
12937         are no instructions in the test, i.e. the loop is unconditional.
12938         (expand_exit_loop_if_false):  Optimize RTL generation of loop
12939         tests when the condition is always true or always false.
12940         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
12941         do-loops when the condition is always true.
12942         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
12943         the for-expression is empty.
12944
12945 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
12946
12947         * gcc.c (use_pipes): New flag.
12948         (process_command): Set it.  Adjust check for -pipe conflicting
12949         with -time or -save-temps.
12950         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
12951         %<SWITCH.  Drop %| (without a SUFFIX).
12952         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12953         (give_switch): Third argument eliminated.
12954         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12955         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12956         (specs documentation comment): Update.
12957
12958         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12959         config/svr4.h, config/i386/freebsd-aout.h,
12960         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12961         config/m68k/openbsd.h, config/mips/openbsd.h,
12962         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12963         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12964         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12965         * config/cris/cris.h: Update comment.
12966
12967         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
12968         error messages.  Don't use %{^SWITCH}.
12969         * ada/misc.c (gnat_decode_option): Handle -I with a
12970         separate argument.
12971
12972         * f/lang-specs.h: Use %| and %m.
12973         * java/jvspec.c: Use %m and %(invoke_as).  Change all
12974         uses of %{<SWITCH} to %<SWITCH.
12975
12976         * doc/invoke.texi: Update documentation of specs.
12977         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12978
12979 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
12980
12981         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
12982         and STRICT_LOW_PART within SET_DEST.
12983         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12984         splitters, replacing pre-reload splitters.
12985         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
12986         "*zero_extendqihi2_31"): New insns.
12987         ("*zero_extendqihi2_64"): Do not clobber CC.
12988
12989 2002-09-18  Devang Patel  <dpatel@apple.com>
12990
12991         * cp/cp-tree.h: New prototype for walk_vtables().
12992         * cp/decl.c (walk_vtables_r): New function.
12993         (struct cp_binding_level): Add new members, namespaces,
12994         names_size and vtables.
12995         (add_decl_to_level): Add decl in namespaces or vtables
12996         chain, if conditions match.
12997         (walk_vtables): New function.
12998         (walk_namespaces_r): Travers separate namespace chain
12999         for namespace decls.
13000         (wrapup_globals_for_namespace): Use names_size instead
13001         of list_length().
13002         * cp/decl2.c (finish_file): Use walk_vtables() instead of
13003         walk_globals() to walk vtable decls.
13004
13005 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
13006
13007         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
13008         (DTORS_SECTION_ASM_OP): Ditto.
13009         (READONLY_DATA_SECTION_ASM_OP): Moved.
13010         (DATA_SECTION_ASM_OP): New.
13011         (SDATA_SECTION_ASM_OP): New.
13012         (BSS_SECTION_ASM_OP): New.
13013         (SBSS_SECTION_ASM_OP): New.
13014         (TEXT_SECTION_ASM_OP): New.
13015
13016 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
13017
13018         * config/fp-bit.c: Follow spelling conventions.
13019         * config/d30v/d30v.c: Likewise.
13020         * config/d30v/d30v.h: Likewise.
13021         * config/fr30/fr30.c: Likewise.
13022         * config/fr30/fr30.h: Likewise.
13023         * config/fr30/fr30.md: Likewise.
13024         * config/frv/frv.c: Likewise.
13025         * config/frv/frv.h: Likewise.
13026         * config/h8300/h8300.c: Likewise.
13027         * config/h8300/lib1funcs.asm: Likewise.
13028         * config/i370/i370.c: Likewise.
13029         * config/i386/i386.h: Likewise.
13030         * config/i386/i386.md: Likewise.
13031         * config/i386/pentium.md: Likewise.
13032         * config/i386/winnt.c: Likewise.
13033         * config/i960/i960.c: Likewise.
13034         * config/ia64/ia64.h: Likewise.
13035         * config/ip2k/ip2k.c: Likewise.
13036         * config/ip2k/ip2k.h: Likewise.
13037         * config/ip2k/ip2k.md: Likewise.
13038         * config/ip2k/libgcc.S: Likewise.
13039
13040 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
13041
13042         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
13043         (GOTOFF_P): Extend to allow gotoff plus constant.
13044
13045 2002-09-18  Richard Henderson  <rth@redhat.com>
13046
13047         * ifcvt.c (noce_process_if_block): Correctly detect X modified
13048         with INSN_B before COND_EARLIEST.  Don't check A and B for
13049         modification in condition range.  Reorder INSN_B for A==B properly.
13050         (if_convert): Iterate until no matches for a block.
13051
13052 2002-09-18  Richard Henderson  <rth@redhat.com>
13053
13054         * calls.c (store_one_arg): Rename default_align to parm_align;
13055         always adjust parm_align for downward padding.
13056
13057 2002-09-18  Richard Henderson  <rth@redhat.com>
13058
13059         * toplev.c (backend_init): Move init_real_once invocation ...
13060         (do_compile): ... here.
13061
13062 2002-09-18  Richard Henderson  <rth@redhat.com>
13063
13064         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
13065         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
13066
13067 2002-09-18  Richard Henderson  <rth@redhat.com>
13068
13069         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
13070
13071 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
13072
13073         * config/rs6000/rs6000.md: (floatdisf2): Rename to
13074         floatdisf2_internal1.
13075         (floatdisf2): New define_expand.
13076         (floatdisf2_internal2): Likewise.
13077
13078 2002-09-18  Richard Henderson  <rth@redhat.com>
13079
13080         * real.c (sticky_rshift_significand): Collect sticky as
13081         unsigned long, not bool.
13082
13083 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
13084
13085         * config/s390/s390.c (s390_address_cost): New function.
13086         config/s390/s390-protos.h (s390_address_cost): Add prototype.
13087         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
13088         (RTX_COST): Use COSTS_N_INSNS.
13089
13090 2002-09-18  Douglas Rupp  <rupp@gnat.com>
13091             Donn Terry  <donnte@microsoft.com>
13092
13093         * stor-layout.c (place_field): Handle alignment of whole
13094         structures when MSVC compatible bitfields are involved.
13095         Change method of computing location of MS bitfields to
13096         be compatible with #pragma pack(n).
13097
13098         * tree.h (record_layout_info): Add new field
13099         remaining_in_alignment.
13100
13101         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
13102         (pragma pack): Add paragraph on MSVC bitfield packing.
13103
13104 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
13105
13106         PR optimization/7967
13107         * arm.md (ne_zeroextractsi): Add clobber of the condition code
13108         register.
13109
13110 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
13111
13112         * config/s390/s390.c: Follow spelling conventions.
13113         * config/sh/lib1funcs.asm: Likewise.
13114         * config/sh/sh.c: Likewise.
13115         * config/sh/sh.h: Likewise.
13116         * config/sparc/sparc.c: Likewise.
13117         * config/sparc/sparc.h: Likewise.
13118         * config/sparc/sparc.md: Likewise.
13119         * config/stormy16/stormy16.c: Likewise.
13120         * config/stormy16/stormy16.h: Likewise.
13121         * config/v850/v850.c: Likewise.
13122         * config/v850/v850.h: Likewise.
13123         * config/vax/vax.c: Likewise.
13124         * config/vax/vax.h: Likewise.
13125
13126 2002-09-18  Nick Clifton  <nickc@redhat.com>
13127
13128         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
13129         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
13130         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
13131
13132 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13133
13134         * function.c (max_parm_reg_num): Remove.
13135         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
13136         drop_through_at_end_p, move_cleanups_up,
13137         expand_end_case_dummy, case_index_expr_type): Likewise.
13138         * stor-layout.c (pos_from_byte): Likewise.
13139         * tree.c (chain_member_value, chain_member_purpose, listify,
13140         tree_int_cst_msb, index_type_equal): Likewise.
13141         * tree.h: Remove prototypes for unused functions.
13142
13143 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
13144
13145         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
13146         statement that the only translation is to en_UK.
13147
13148 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13149
13150         * config/alpha/alpha.c: Follow spelling conventions.
13151         * config/alpha/alpha.h: Likewise.
13152         * config/alpha/alpha.md: Likewise.
13153         * config/arc/arc.h: Likewise.
13154         * config/arm/arm.c: Likewise.
13155         * config/arm/arm.h: Likewise.
13156         * config/arm/arm.md: Likewise.
13157         * config/arm/pe.c: Likewise.
13158         * config/arm/unknown-elf.h: Likewise.
13159         * config/avr/avr.c: Likewise.
13160         * config/avr/avr.h: Likewise.
13161         * config/c4x/c4x.c: Likewise.
13162         * config/cris/cris.c: Likewise.
13163         * config/cris/cris.h: Likewise.
13164
13165 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
13166
13167         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
13168         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
13169         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
13170
13171 2002-09-17  Dale Johannesen  <dalej@apple.com>
13172
13173         * cfgcleanup.c (try_forward_edges):  Do not forward a
13174         branch to just after a loop exit before loop optimization;
13175         this interfered with doloop detection.
13176
13177 2002-09-17  Nick Clifton  <nickc@redhat.com>
13178
13179         * config/arm/arm.c (output_return_instruction): Do not
13180         writeback the stack pointer when it is being loaded.
13181         (arm_output_epilogue): Likewise.
13182
13183 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
13184
13185         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
13186         generate a pseudo reg that receives the result of a libcall.
13187         (prepare_float_lib_cmp): Likewise.
13188
13189 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
13190
13191         * config/ia64/elf.h: Remove CPP_PREDEFINES.
13192
13193 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13194
13195         Fix PR/7014 and related objc bugs:
13196         * c-typeck.c (comp_target_types): Added a reflexive argument.
13197         Pass it to ObjC when/if calling objc_comptypes().  Updated all
13198         callers to provide the appropriate reflexive argument.
13199         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
13200         typechecking for all cases of comparisons and assignments,
13201         particularly the obscure and less common ones involving protocols.
13202
13203 2002-09-17  Nick Clifton  <nickc@redhat.com>
13204
13205         * machmode.def (V1DImode): New mode.  A single element vector.
13206         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
13207         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
13208         * tree.c (build_common_tree_nodes_2): Build
13209         unsigned_V1DI_type_node and V1D1_type_node.
13210         * c-common.c (c_common_type_for_mode): Return
13211         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
13212         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
13213
13214 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13215
13216         * doc/objc.texi (Constant string objects): Extended documentation
13217         to make clear that the constant string class ivar layout is
13218         completely fixed.
13219
13220 2002-09-17  Roger Sayle  <roger@eyesopen.com>
13221
13222         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
13223         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
13224
13225 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13226
13227         * config/mips/mips.c (save_restore_insns): Remove unused variable.
13228         * gcc.c (make_relative_prefix): Likewise.
13229         * loop.c (check_final_value): Likewise.
13230         * jump.c (init_label_info): Remove return value.
13231         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
13232
13233 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13234
13235         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
13236         (ASM_PN_FORMAT): Define.
13237
13238 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13239
13240         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
13241         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
13242         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
13243         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
13244         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
13245         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
13246         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
13247         Delete.
13248         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
13249         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
13250         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
13251
13252         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
13253         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
13254
13255 2002-09-16  Richard Henderson  <rth@redhat.com>
13256
13257         * expr.c (emit_block_move): Set memory block size as appropriate
13258         for the copy.
13259
13260 2002-09-16  Richard Henderson  <rth@redhat.com>
13261
13262         PR fortran/3924
13263         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
13264
13265 2002-09-16  Richard Henderson  <rth@redhat.com>
13266
13267         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
13268         as well as OFFSET for BITPOS.
13269
13270 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
13271
13272         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
13273         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
13274         winchip2 and c3.
13275         * doc/invoke.texi: Mention new aliases.
13276
13277 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13278
13279         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
13280         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
13281         downward.
13282         * function.c (pad_below):  Always compile.
13283         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
13284         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
13285         Pad below when the argument is not in a register and the padding
13286         direction is downward.
13287
13288         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
13289         (PAD_VARARGS_DOWN): Define.
13290         * pa.c (function_arg_padding): Revise padding directions to make them
13291         compatible with the 32 and 64-bit runtime architecture documentation.
13292         (hppa_va_arg):  Add code to handle variable and size zero arguments
13293         passed by reference on TARGET_64BIT.  Reformat.
13294         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
13295         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
13296         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
13297         Add comments.
13298         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
13299         (RETURN_IN_MEMORY): Return size zero types in memory.
13300         (FUNCTION_VALUE): Return TFmode in general registers.
13301         (MUST_PASS_IN_STACK): Define.
13302         (FUNCTION_ARG_BOUNDARY): Simplify.
13303         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
13304         by reference.
13305         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
13306
13307 2002-09-16  Richard Henderson  <rth@redhat.com>
13308
13309         * real.c (do_fix_trunc): New.
13310         (real_arithmetic): Call it.
13311         * simplify-rtx.c (simplify_unary_operation): Handle FIX
13312         with a floating-point result mode.
13313
13314 2002-09-16  Richard Henderson  <rth@redhat.com>
13315
13316         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
13317         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
13318         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
13319         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
13320         * builtins.c (fold_builtin_nan): New.
13321         (fold_builtin): Call it.
13322         * real.c (real_nan): Parse a non-empty string.
13323         (round_for_format): Fix NaN significand truncation.
13324         * real.h (real_nan): Return bool.
13325         * doc/extend.texi: Document new builtins.
13326
13327 2002-09-16  Jason Merrill  <jason@redhat.com>
13328             Danny Smith  <dannysmith@users.sourceforge.net>
13329
13330         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
13331         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
13332         (i386_pe_mark_dllimport): Not here.
13333
13334 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
13335
13336         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
13337
13338 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
13339
13340         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
13341         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
13342         < 64.
13343         (rs6000_emit_cmove): Use real_isinf not target_isinf.
13344
13345 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13346
13347         * calls.c (emit_library_call_value_1): Don't refer to
13348         hard_libcall_value.
13349         * optabs.c (prepare_float_lib_cmp): Likewise.
13350
13351 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
13352
13353         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
13354         mangling.
13355
13356         The following changes are merged from pch-branch:
13357
13358         * doc/gty.texi (GTY Options): Document %a.
13359         * gengtype.c (do_scalar_typedef): New function.
13360         (process_gc_options): Handle `length' option.
13361         (set_gc_used_type): A pointer to an array of structures doesn't
13362         qualify as a pointer to a structure.
13363         (output_escaped_param): Add `%a' escape.
13364         (write_gc_structure_fields): Allow 'desc' on array of unions.
13365         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
13366         do_scalar_typedef.
13367
13368         * gengtype.c (enum rtx_code): Make global.
13369         (rtx_format): Make global.
13370         (rtx_next): New.
13371         (gen_rtx_next): New.
13372         (write_rtx_next): New.
13373         (adjust_field_rtx_def): Skip fields marked by chain_next.
13374         (open_base_files): Delete redundant prototype.
13375         (write_enum_defn): New.
13376         (output_mangled_typename): Correct abort call.
13377         (write_gc_marker_routine_for_structure): Handle chain_next and
13378         chain_prev options.
13379         (finish_root_table): Don't output redundant \n.
13380         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
13381         * c-tree.h (union lang_tree_node): Add chain_next option.
13382
13383         * gengtype.h (NUM_PARAM): New definition.
13384         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
13385         * gengtype.c (find_param_structure): New.
13386         (adjust_field_type): Handle param<n>_is option.
13387         (process_gc_options): Detect use_params option.  Update callers.
13388         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
13389         'use_params' option.
13390         (open_base_files): Add splay-tree.h to list of files included.
13391         (output_mangled_typename): New.
13392         (write_gc_structure_fields): Update 'param' parameter to support
13393         multiple parameters.  Change name mangling.  Allow parameterized
13394         fields to have an apparent scalar type.  Handle param<n>_is options,
13395         use_param option.
13396         (write_gc_marker_routine_for_structure): Update for change to name
13397         mangling.  Better guess the output file for parameterized types.
13398         (write_gc_types): Update for change to name mangling.
13399         (write_gc_root): Update for change to name mangling.  Handle (ignore)
13400         param<n>_is options.
13401         * doc/gty.texi (GTY Options): Add description of param<n>_is
13402         options, use_params option.
13403         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
13404         * gengtype-lex.l: Produce token for param<n>_is.
13405         * gengtype-yacc.y: Parse param<n>_is.
13406
13407         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
13408
13409         * rtl.c: Update comment describing rtx_format.
13410         * rtl.h (union rtunion): Separate definition and typedef.
13411         (struct rtx_def): Use gengtype to mark.
13412         * Makefile.in (gengtype.o): Also depend on rtl.def.
13413         * ggc.h (ggc_mark_rtx_children): Delete prototype.
13414         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
13415         * ggc-common.c (ggc_mark_rtx_children): Delete.
13416         (ggc_mark_rtx_children_1): Delete.
13417         (gt_ggc_m_rtx_def): Delete.
13418         * gengtype.c (adjust_field_rtx_def): New.
13419         (adjust_field_type): Call adjust_field_rtx_def.
13420         (write_gc_structure_fields): Add 'default' case to switch if none
13421         is specified; remove unused code.
13422
13423         * tree.h (struct tree_exp): Update for change to meaning
13424         of special.
13425         * gengtype.c (adjust_field_tree_exp): New function.
13426         (adjust_field_type): Handle `tree_exp' special here.
13427         (write_gc_structure_fields): Don't handle `tree_exp' special here.
13428         Handle new `dot' option.
13429
13430         * gengtype.h: Make `info' a pointer-to-const.
13431         * gengtype-yacc.y (yacc_ids): Use xasprintf.
13432
13433         * gengtype.c (write_gc_structure_fields): Remove implementation
13434         of `always' option, add `default' option.
13435         * doc/gty.texi (GTY Options): Remove documentation of `always',
13436         add `default'.
13437
13438 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
13439
13440         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
13441
13442 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13443
13444         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
13445
13446         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
13447         instead of the *-protos.h file directly.
13448         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
13449         * darwin.c (machopic_output_stub): Move prototype ...
13450         * darwin-protos.h (machopic_output_stub): ... here.
13451         * rs6000-protos.h (machopic_output_stub): Don't declare.
13452
13453 2002-09-16  Richard Henderson  <rth@redhat.com>
13454
13455         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
13456
13457 2002-09-16  Richard Henderson  <rth@redhat.com>
13458
13459         * real.c, real.h: Rewrite from scratch.
13460
13461         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
13462         (paranoia): New target.
13463         * builtins.c (fold_builtin_inf): Use new real.h interface.
13464         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
13465         * c-lex.c (interpret_float): Likewise.
13466         * emit-rtl.c (gen_lowpart_common): Likewise.
13467         * optabs.c (expand_float): Use real_2expN.
13468         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
13469         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
13470         (FLOAT_WORDS_BIG_ENDIAN): New.
13471         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
13472         directly to REAL_VALUE_NEGATIVE.
13473         * loop.c (canonicalize_condition): Likewise.
13474         * simplify-rtx.c: Include tree.h.
13475         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
13476         with floating-point result modes.
13477         * toplev.c (backend_init): Call init_real_once.
13478
13479         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
13480         * tree.c (build_real): Likewise.
13481         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
13482         float_values, inited_float_values, check_float_value): Remove.
13483         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
13484         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
13485         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
13486         (VAX_HALFWORD_ORDER): Remove.
13487
13488 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
13489
13490         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
13491         (s390_load_address): ... this new function.
13492         (s390_decompose_address): Allow the argument pointer and all
13493         virtual registers as 'pointer' registers.
13494         (s390_expand_plus_operand): Use s390_load_address.
13495         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
13496         ("force_la_31"): New insn pattern.
13497         config/s390/s390-protos.h (legitimize_la_operand): Remove.
13498         (s390_load_address): Add prototype.
13499
13500         * config/s390/s390.c: Include "optabs.h".
13501         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
13502         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
13503         s390_expand_cmpstr): Add prototypes.
13504         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
13505         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
13506         for operands 0 and 1 to "memory_operand".  Add type attribute.
13507         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
13508         for operands 0 and 1 to "memory_operand".  Add type attribute.
13509         ("movstrdi_long", "movstrsi_long"): Remove.
13510         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
13511         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
13512         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
13513         ("clrstrsico"): Remove, replace by ...
13514         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
13515         ("clrstrsi_64"): Rename to "clrstr_long_64".
13516         ("clrstrsi_31"): Rename to "clrstr_long_31".
13517         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
13518         ("cmpstr_const"): Remove, replace by ...
13519         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
13520         ("cmpstr_64"): Rename to "cmpstr_long_64".
13521         ("cmpstr_31"): Rename to "cmpstr_long_31".
13522
13523 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
13524
13525         * ABOUT-NLS: Follow spelling conventions.
13526         * ChangeLog: Likewise.
13527         * ChangeLog.1: Likewise.
13528         * ChangeLog.2: Likewise.
13529         * ChangeLog.3: Likewise.
13530         * ChangeLog.4: Likewise.
13531         * ChangeLog.5: Likewise.
13532         * ChangeLog.6: Likewise.
13533         * FSFChangeLog.10: Likewise.
13534         * FSFChangeLog.11: Likewise.
13535         * c-common.c: Likewise.
13536         * c-lex.c: Likewise.
13537         * c-objc-common.c: Likewise.
13538         * cppexp.c: Likewise.
13539         * cppinit.c: Likewise.
13540         * cpplex.c: Likewise.
13541         * doloop.c: Likewise.
13542         * flow.c: Likewise.
13543         * function.c: Likewise.
13544         * integrate.c: Likewise.
13545         * loop.c: Likewise.
13546         * reg-stack.c: Likewise.
13547         * reload.h: Likewise.
13548         * ssa.c: Likewise.
13549
13550 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13551
13552         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
13553         * vmsdbgout.c: Include "target.h".
13554
13555 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13556
13557         * ChangeLog: Follow spelling conventions.
13558         * ChangeLog.0: Likewise.
13559         * ChangeLog.1: Likewise.
13560         * ChangeLog.2: Likewise.
13561         * ChangeLog.4: Likewise.
13562         * ChangeLog.6: Likewise.
13563         * config.gcc: Likewise.
13564         * dwarfout.c: Likewise.
13565         * reload1.c: Likewise.
13566         * simplify-rtx.c: Likewise.
13567         * unwind-sjlj.c: Likewise.
13568         * config/avr/avr.h: Likewise.
13569         * config/d30v/d30v.h: Likewise.
13570         * config/frv/frv.c: Likewise.
13571         * config/frv/frv.h: Likewise.
13572         * config/ip2k/ip2k.h: Likewise.
13573         * config/m88k/m88k-move.sh: Likewise.
13574         * config/stormy16/stormy16.c: Likewise.
13575         * config/stormy16/stormy16.h: Likewise.
13576         * doc/extend.texi: Likewise.
13577         * doc/interface.texi: Likewise.
13578         * doc/invoke.texi: Likewise.
13579         * doc/md.texi: Likewise.
13580         * doc/rtl.texi: Likewise.
13581         * doc/tm.texi: Likewise.
13582         * doc/trouble.texi: Likewise.
13583         * ginclude/float.h: Likewise.
13584         * treelang/treelang.texi: Likewise.
13585
13586 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13587
13588         * i386-protos.h (i386_pe_dllexport_name_p,
13589         i386_pe_dllimport_name_p, i386_pe_unique_section,
13590         i386_pe_declare_function_type, i386_pe_record_external_function,
13591         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13592         prototype.
13593         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13594         * i386/t-interix (winnt.o): Likewise.
13595
13596         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13597
13598 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13599
13600         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13601         MIPS ABI CPP macros.
13602         (TARGET_CPU_CPP_BUILTINS): Redefine.
13603         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13604         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13605
13606 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13607
13608         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13609
13610 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13611
13612         * ChangeLog: Follow spelling conventions.
13613         * ChangeLog.0: Likewise.
13614         * ChangeLog.1: Likewise.
13615         * ChangeLog.2: Likewise.
13616         * ChangeLog.3: Likewise.
13617         * ChangeLog.4: Likewise.
13618         * ChangeLog.5: Likewise.
13619         * ChangeLog.6: Likewise.
13620         * FSFChangeLog.10: Likewise.
13621         * FSFChangeLog.11: Likewise.
13622         * c-common.c: Likewise.
13623         * c-common.h: Likewise.
13624         * c-format.c: Likewise.
13625         * c-opts.c: Likewise.
13626         * cpplib.c: Likewise.
13627         * langhooks.h: Likewise.
13628         * real.c: Likewise.
13629         * reg-stack.c: Likewise.
13630         * toplev.c: Likewise.
13631         * config/arm/arm.c: Likewise.
13632         * config/arm/arm.md: Likewise.
13633         * config/arm/linux-gas.h: Likewise.
13634         * config/arm/netbsd.h: Likewise.
13635         * config/c4x/c4x.c: Likewise.
13636         * config/c4x/c4x.h: Likewise.
13637         * config/c4x/c4x.md: Likewise.
13638         * config/c4x/libgcc.S: Likewise.
13639         * config/fr30/fr30.md: Likewise.
13640         * config/frv/frv.md: Likewise.
13641         * config/ia64/ia64.md: Likewise.
13642         * config/mips/mips.h: Likewise.
13643         * config/mn10300/mn10300.c: Likewise.
13644         * config/stormy16/stormy16.c: Likewise.
13645         * config/v850/v850.md: Likewise.
13646         * doc/extend.texi: Likewise.
13647         * doc/invoke.texi: Likewise.
13648         * doc/md.texi: Likewise.
13649
13650 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13651
13652         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13653         library if -pthread is specified.
13654
13655 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13656
13657         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13658         for --enable-threads=yes and --enable-threads=posix.
13659
13660 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13661
13662         * config/sparc/cypress.md: Replace Sparc with SPARC.
13663         * config/sparc/freebsd.h: Likewise.
13664         * config/sparc/gmon-sol2.c: Likewise.
13665         * config/sparc/hypersparc.md: Likewise.
13666         * config/sparc/lb1spc.asm: Likewise.
13667         * config/sparc/lb1spl.asm: Likewise.
13668         * config/sparc/linux.h: Likewise.
13669         * config/sparc/linux64.h: Likewise.
13670         * config/sparc/lynx.h: Likewise.
13671         * config/sparc/sol2.h: Likewise.
13672         * config/sparc/sparc-modes.def: Likewise.
13673         * config/sparc/sparc.c: Likewise.
13674         * config/sparc/sparc.h: Likewise.
13675         * config/sparc/sparc.md: Likewise.
13676         * config/sparc/sparclet.md: Likewise.
13677         * config/sparc/supersparc.md: Likewise.
13678         * config/sparc/sysv4.h: Likewise.
13679         * config/sparc/vxsim.h: Likewise.
13680         * config/sparc/vxsparc64.h: Likewise.
13681
13682 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13683
13684         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13685         * collect2.c (ignore_library, aix_std_libs): Move into the context
13686         where it is used.
13687         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13688         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13689         * m88k.c (output_call): Wrap variables with macro controlling use.
13690         * rs6000.md: Likewise.  Const-ify variable.
13691         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13692         * final.c (only_leaf_regs_used): Likewise.
13693         * regrename.c (maybe_mode_change): Mark parameter with
13694         ATTRIBUTE_UNUSED.
13695         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13696         (find_reloads_address_1): Likewise.
13697         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13698
13699 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13700
13701         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13702
13703 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13704
13705         * ChangeLog: Follow spelling conventions.
13706         * ChangeLog.0: Likewise.
13707         * ChangeLog.2: Likewise.
13708         * ChangeLog.3: Likewise.
13709         * ChangeLog.4: Likewise.
13710         * ChangeLog.5: Likewise.
13711         * ChangeLog.6: Likewise.
13712         * cppfiles.c: Likewise.
13713         * cppinit.c: Likewise.
13714         * cpplib.h: Likewise.
13715         * cse.c: Likewise.
13716         * debug.h: Likewise.
13717         * df.c: Likewise.
13718         * dominance.c: Likewise.
13719         * hashtable.c: Likewise.
13720         * hashtable.h: Likewise.
13721         * loop.c: Likewise.
13722         * config/arm/README-interworking: Likewise.
13723         * config/arm/arm.c: Likewise.
13724         * config/arm/arm.h: Likewise.
13725         * config/arm/arm.md: Likewise.
13726         * config/dsp16xx/dsp16xx.h: Likewise.
13727         * config/frv/frv.c: Likewise.
13728         * config/frv/frv.h: Likewise.
13729         * config/ip2k/ip2k.h: Likewise.
13730         * config/rs6000/rs6000.c: Likewise.
13731         * config/stormy16/stormy-abi: Likewise.
13732         * config/stormy16/stormy16.h: Likewise.
13733         * config/v850/v850.c: Likewise.
13734
13735 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13736
13737         * loop.c: Fix a comment typo.
13738
13739 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13740
13741         * config/fr30/fr30.h: Fix comment typos.
13742         * config/frv/frv.c: Likewise.
13743         * config/i386/xmmintrin.h: Likewise.
13744         * config/mips/mips.c: Likewise.
13745         * config/sh/sh.c: Likewise.
13746
13747 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13748
13749         * haifa-sched.c: Follow spelling conventions.
13750         * regclass.c: Likewise.
13751         * regrename.c: Likewise.
13752         * config/fp-bit.c: Likewise.
13753         * config/frv/frv.h: Likewise.
13754         * config/m88k/m88k.c: Likewise.
13755         * config/mcore/mcore.c: Likewise.
13756         * config/rs6000/darwin.h: Likewise.
13757         * config/rs6000/gnu.h: Likewise.
13758         * config/rs6000/linux.h: Likewise.
13759         * config/rs6000/linux64.h: Likewise.
13760         * config/rs6000/rs6000.c: Likewise.
13761         * config/rs6000/rs6000.h: Likewise.
13762         * config/sh/sh.c: Likewise.
13763         * config/sparc/sparc.c: Likewise.
13764         * config/sparc/ultra1_2.md: Likewise.
13765
13766 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13767
13768         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13769         memory operand when source is 0 (K constraint).
13770         ("movsi_internal"): Likewise.
13771         ("movdf_internal"): Likewise.
13772         ("movsf_internal"): Likewise.
13773
13774 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13775
13776         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13777         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13778         (rs6000_xcoff_encode_section_info): Likewise.
13779         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13780
13781 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13782
13783         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13784
13785 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13786
13787         * stmt.c (struct nexting): Remove unused alt_end_label field.
13788         (expand_start_loop): Delete initialization of alt_end_label.
13789         (expand_start_null_loop): Likewise.
13790         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13791
13792 2002-09-13  Richard Henderson  <rth@redhat.com>
13793
13794         * Makefile.in (toplev.o): Depend on real.h.
13795         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13796
13797 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13798
13799         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13800         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13801         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13802
13803 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13804
13805         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13806
13807 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13808
13809         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13810         ia64*-*-linux*): Set extra_parts.
13811         * config/ia64/t-aix (EXTRA_PARTS): Remove.
13812         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13813
13814 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13815
13816         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13817         * config/h8300/h8300.c: Likewise.
13818         * config/h8300/h8300.h: Likewise.
13819         * config/h8300/h8300.md: Likewise.
13820         * doc/invoke.texi: Likewise.
13821
13822 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13823
13824         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13825
13826 2002-09-13  Richard Henderson  <rth@redhat.com>
13827
13828         * config/alpha/alpha.md (attr type): Add callpal.
13829         (imb, trap, load_tp, set_tp): Use it.
13830         * config/alpha/ev4.md (ev4_callpal): New.
13831         * config/alpha/ev5.md (ev5_callpal): New.
13832         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13833         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13834         (alphaev5_insn_pipe): Likewise.
13835
13836 2002-09-13  Andreas Jaeger  <aj@suse.de>
13837
13838         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13839
13840 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13841
13842         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13843         LIB2ADDEH): New, set to NULL.
13844         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13845
13846 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13847
13848         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13849         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13850         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13851         Add declarations.
13852         (_U_Qfneg): Remove.
13853
13854 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
13855
13856         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
13857         for H8/300, H8S aa:8 mode.
13858         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
13859         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13860         for H8/300 aa:8 mode.
13861
13862 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
13863
13864         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13865         insns.
13866
13867 2002-09-12  Richard Henderson  <rth@redhat.com>
13868
13869         * Makefile.in (HOST_PRINT): Use print-rtl1.o
13870         (print-rtl.o): Don't define GENERATOR_FILE.
13871         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13872         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13873         unless GENERATOR_FILE.
13874
13875 2002-09-12  Stan Shebs  <shebs@apple.com>
13876
13877         * config/darwin.h (USER_LABEL_PREFIX): Define here...
13878         * config/i386/darwin.h: ... instead of here.
13879
13880         * target.h (struct gcc_target): New field
13881         terminate_dw2_eh_frame_info.
13882         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13883         (TARGET_INITIALIZER): Add it.
13884         * dwarf2out.c (output_call_frame_info): Use target hook.
13885         * dwarf2asm.c (dw2_asm_output_delta): Use macro
13886         ASM_OUTPUT_DWARF_DELTA if defined.
13887         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13888         (ASM_OUTPUT_DWARF_DELTA): Ditto.
13889         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13890         (ASM_OUTPUT_DWARF_PCREL): Ditto.
13891         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13892         (powerpc-*-darwin*): Ditto.
13893         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13894         to work correctly for Darwin.
13895         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13896         (STARTFILE_SPEC): Add crtbegin.o.
13897         (ENDFILE_SPEC): Define.
13898         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13899         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13900         (ASM_OUTPUT_DWARF_DELTA): Define.
13901         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13902         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13903
13904 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
13905
13906         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13907         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
13908         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13909
13910 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
13911
13912         * toplev.c: Move default definition of USER_LABEL_PREFIX...
13913         * defaults.h: ... here.
13914
13915 2002-09-12  Richard Henderson  <rth@redhat.com>
13916
13917         * vax.c: Include tree.h earlier.
13918
13919 2002-09-12  Stan Shebs  <shebs@apple.com>
13920
13921         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13922         (machopic_operand_p): Ditto.
13923
13924 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13925
13926         * config/arm/arm.c (arm_compute_initial_elimination_offset):
13927         Fix a comment typo.
13928
13929 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13930
13931         * toplev.c (do_abort): Fix a comment typo.
13932
13933 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13934
13935         * cselib.c: Fix comment formatting.
13936         * gengtype.c: Likewise.
13937
13938 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13939
13940         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13941         (udivmodhi4): Likewise.
13942
13943 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
13944             Roger Sayle  <roger@eyesopen.com>
13945
13946         * i386.c (any_fp_register_operand, fp_register_operand,
13947         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13948         New predicate functions.
13949         * i386-protos.h:  Add their prototypes.
13950         * i386.h: Add them to PREDICATE_CODES.
13951         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13952         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13953         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13954         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13955         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13956         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13957         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13958         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13959         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13960         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13961         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13962         Use these new predicates to simplify and correct the use of
13963         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13964
13965 2002-09-12  Jason Merrill  <jason@redhat.com>
13966
13967         * diagnostic.c (output_add_identifier): New fn.
13968         * diagnostic.h: Declare it.
13969
13970         * calls.c (store_one_arg): Use size_in_bytes to determine the
13971         amount of space to push.
13972
13973 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
13974
13975         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13976
13977 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
13978
13979         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13980         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13981         (s390_select_ccmode): Likewise.
13982         (s390_branch_condition_mask): Likewise.
13983         (optimization_options): Do not set flag_branch_on_count.
13984         (s390_split_branches): Handle doloop branches.
13985         (s390_chunkify_pool): Likewise.
13986         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13987         ("doloop_end"): New expander.
13988         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13989         associated splitters): New.
13990
13991 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13992
13993         * genattrtab.c (simplify_cond): Remove unused variable(s).
13994         * global.c (record_conflicts): Likewise.
13995         * jump.c (rebuild_jump_labels): Likewise.
13996         * loop.c (scan_loop, check_final_value): Likewise.
13997         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13998         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13999         * rtlanal.c (reg_set_p): Likewise.
14000         * stmt.c (expand_asm_operands, expand_decl): Likewise.
14001         * genautomata.c (empty_reserv): Remove.
14002         * loop.c (max_luid): Likewise.
14003         * sched-rgn.c (bitlst_table_size): Likewise.
14004
14005 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
14006
14007         Reimplement gcov format.
14008         * gcov-io.h: Replace.
14009         * gcov.c: Reimplement.
14010         * gcov-iov.c: New file.
14011         * gcov-dump.c: New file.
14012         * libgcc2.c (L_bb): Replace with ...
14013         (L_gcov): ... this.
14014         (struct bb_function_info, struct bb): Remove.
14015         (inhibit_libc): Never inhibit.
14016         (gcov_list, gcov_crc): New static variables.
14017         (gcov_version_mismatch): New static function.
14018         (__bb_exit_func): Renamed to ...
14019         (__gcov_exit): ... here. Made static. Reimplement.
14020         (__gcov_init_func): Rename to ...
14021         (__gcov_init): ... here. Check version, update crc.
14022         (__bb_fork_func): Rename to ...
14023         (__gcov_flush): ... here.
14024         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
14025         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
14026         * calls.c (expand_call): Call __gcov_flush.
14027         * profile.c (bb_file, last_bb_file_name): Remove.
14028         (bbg_file_name): New global variable.
14029         (output_gcov_string): Remove.
14030         (get_exec_counts): Reimplement.
14031         (branch_prob): Reimplement gcov file writing.
14032         (init_branch_prob): Create bbg_file_name, don't create
14033         bb_file_name.
14034         (end_branch_prob): Adjust. Don't remove counter file when
14035         instrumenting ourselves.
14036         (create_profiler): Adjust.
14037         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
14038         point to gcov-io.h.
14039         * Makefile.in (LANGUAGES): Add gcov-dump.
14040         (coverageexts): Remove .bb.
14041         (STAGESTUFF): Add gcov-dump.
14042         (LIB2FUNCS_ST): Replace _bb with _gcov.
14043         (profile.o): Depend on gcov-iov.h.
14044         (final.o): Don't depend on profile.h, gcov.h.
14045         (gcov.o): Depend on gcov-iov.h.
14046         (gcov-iov.o): New target.
14047         (gcov-iov): New target.
14048         (gcov-iov.h): New target.
14049         (gcov-dump.o): New target.
14050         (GCOV_DUMP_OBJS): New variable.
14051         (gcov-dump): New target.
14052         (distclean): Remove coverageexts.
14053         (stage1): Remove coverageexts.
14054
14055 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
14056
14057         * fold-const.c (make_range): Only narrow to signed range if
14058         the signed range is smaller than the unsigned range.
14059
14060 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
14061
14062         * emit-rtl.c (set_mem_size): New function.
14063         * expr.h (set_mem_size): Declare.
14064         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
14065         (expand_block_move): Instead, use adjust_address and
14066         replace_equiv_address to generate proper aliasing info.
14067         Move common code out of conditionals.  Localize vars.
14068
14069 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
14070
14071         * optabs.c (expand_binop): Minor cleanup.
14072         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
14073
14074 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
14075
14076         * print-tree.c (print_node): Print the restrict qualifier.
14077
14078 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
14079
14080         * doc/install.texi: Fix typos.
14081
14082 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
14083
14084         * Makefile.in: Remove all references to s-under and underscore.c.
14085         * collect2.c, tlink.c: Change all uses of prepends_underscore
14086         to look directly at USER_LABEL_PREFIX.
14087
14088 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
14089
14090         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
14091         alignment to csect.
14092         (rs6000_xcoff_unique_section): Only set section name for public
14093         data.
14094         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
14095         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
14096         duplicate definition.
14097
14098 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14099
14100         * pa.md (extzv): Check predicates before emitting extzv_32.
14101         (insv): Likewise.
14102
14103 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
14104
14105         * config/s390/s390.h (MOVE_MAX): Define to correct value.
14106         (MAX_MOVE_MAX): Define.
14107         (MOVE_BY_PIECES_P): Define.
14108         (CLEAR_BY_PIECES_P): Define.
14109
14110 2002-09-10  Denis Chertykov  <denisc@overta.ru>
14111
14112         * config/avr/avr.md (movstrhi): Use right operands for conversion.
14113
14114 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
14115
14116         PR c/7873
14117         * arm.md (insv): Use reg_or_int_operand for operand[3].
14118
14119 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
14120
14121         * rs6000.c (rs6000_assemble_visibility): Protect declaration
14122         inside macro.  Correct function definition typo.
14123         (rs6000_xcoff_section_type_flags): New function.
14124         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
14125         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
14126         with appropriate PIC test.
14127         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
14128         determine readonly.
14129         (rs6000_binds_local_p): Combine PIC flags.
14130         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
14131         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
14132
14133 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14134
14135         * h8300.md: Fix signed/unsigned warnings.
14136         * mcore.md: Likewise.
14137         * mn10300.c (mask_ok_for_mem_btst): Likewise.
14138
14139 2002-09-09  Per Bothner  <per@bothner.com>
14140
14141         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
14142         characters, and only print TREE_STRING_LENGTH chars.
14143
14144 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
14145
14146         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
14147         (ASM_FILE_END) New.
14148         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
14149         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
14150         * config/ia64/ia64.c (ia64_asm_output_external): Create list
14151         of external functions if TARGET_HPUX_LD is true.
14152         (ia64_hpux_add_extern_decl): New, routine to put names on
14153         list of external functions.
14154         (ia64_hpux_asm_file_end): Put out declarations for external
14155         functions if and only if they are used.
14156
14157 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14158
14159         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
14160         on TARGET_64BIT before pic register restore.
14161
14162 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
14163
14164         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
14165         (TARGET_HAVE_TLS): New description.
14166
14167 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
14168
14169         * doc/extend.texi (Statement Exprs): Fix broken link.
14170
14171 2002-09-09  Denis Chertykov  <denisc@overta.ru>
14172
14173         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
14174         right conversion of operands[1].
14175
14176 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
14177
14178         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
14179         commutative.  Use "nonimmediate_operand" instead of "register_operand"
14180         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
14181
14182         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
14183         as commutative.
14184
14185         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
14186         mark as commutative.  Use "nonimmediate_operand" instead of
14187         "register_operand" as predicate for operand 1.
14188
14189         ("movstrictsi"): Fix typo in insn name.
14190
14191 2002-09-09  Jan Hubicka  <jh@suse.cz>
14192
14193         * i386.c (index_register_operand): New.
14194         * i386.h (predicate_codes): Add new predicate.
14195         * i386.md (lea_general_*): Use index_register_operand
14196         (ashift to lea splitter): Do not produce invalid leas
14197         (ashift to mov+ashift split): New.
14198
14199 2002-09-09  Nick Clifton  <nickc@redhat.com>
14200
14201         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
14202         Fix folding marks.
14203
14204 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
14205             J"orn Rennecke <joern.rennecke@superh.com>
14206
14207         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
14208
14209 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
14210
14211         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
14212         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
14213         attributes.
14214
14215 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
14216
14217         * basic_block.h (gcov_type): Explain why it is signed.
14218         * final.c: Don't include profile.h.
14219         (struct function_list, functions_head, functions_tail,
14220         end_final): Moved to profile.c
14221         (final): Move arc chaining code to profile.c.
14222         * function.c (prepare_function_start): Remove duplicate line.
14223         * output.h (end_final): Remove prototype.
14224         * predict.c (estimate_loops_at_level): Use gcov_type.
14225         * profile.c (struct function_list, functions_head,
14226         functions_tail): Moved from final.c
14227         (need_func_profiler): Remove.
14228         (instrument_edges): Don't set need_func_profiler.
14229         (get_exec_counts): Avoid signed/unsigned warning.
14230         (compute_checksum): Use crc32.
14231         (branch_prob): Adjust. Chain onto functions_head.
14232         (init_branch_prob): Absorb init_edge_profiler.
14233         (init_edge_profiler): Remove.
14234         (create_profiler): Moved and renamed from final.c:end_final.
14235         Emit data and constructor.
14236         (output_func_start_profiler): Remove.
14237         * profile.h (struct profile_info): checksum is unsigned.
14238         * rtl.h (output_func_start_profiler): Remove prototype.
14239         (create_profiler): Declare.
14240         * toplev.c (compile_file): Call create_profiler, if instrumenting
14241         arcs. Don't call end_final.
14242
14243 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14244
14245         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
14246
14247 2002-09-08  Richard Henderson  <rth@redhat.com>
14248
14249         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
14250         (DW_OP_GNU_push_tls_address): New.
14251         (DW_OP_lo_user): Fix.
14252         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
14253         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
14254         (size_of_loc_descr): Likewise.
14255         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
14256         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
14257         (loc_descriptor_from_tree): Handle TLS variables.
14258         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
14259         (add_location_or_const_value_attribute): ... not here.  Defer
14260         to loc_descriptor_from_tree for TLS variables.
14261
14262         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
14263         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
14264         * config/i386/i386-protos.h: Update.
14265
14266 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14267
14268         PR optimization/6405
14269         * unroll.c (loop_iterations): last_loop_insn should be the previous
14270         non-note instruction before loop->end.
14271         * loop.c (strength_reduce): The conditional jump is the last
14272         non-note instruction before loop->end (as above).
14273
14274 2002-09-08  Roger Sayle  <roger@eyesopen.com>
14275
14276         * combine.c (try_combine): Handle the case that undobuf.other_insn
14277         has been turned into a return or unconditional jump, by inserting
14278         a BARRIER if necessary.
14279         (simplify_set):  Test if a condition code setter has a constant
14280         comparison at compile time, if so convert this insn to a no-op move
14281         and update/simplify the condition code user (undobuf.other_insn).
14282
14283 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
14284
14285         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
14286         (CLEAR_INSN_CACHE): Define.
14287
14288 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14289
14290         * basic-block.h: Fix comment formatting.
14291         * c-common.c: Likewise.
14292         * c-common.h: Likewise.
14293         * c-lex.c: Likewise.
14294         * c-pretty-print.c: Likewise.
14295         * cfglayout.c: Likewise.
14296         * cfgloop.c: Likewise.
14297         * defaults.h: Likewise.
14298         * et-forest.c: Likewise.
14299         * explow.c: Likewise.
14300         * function.h: Likewise.
14301         * gcov.c: Likewise.
14302         * genattrtab.c: Likewise.
14303         * gengtype.c: Likewise.
14304         * ifcvt.c: Likewise.
14305         * libgcc2.c: Likewise.
14306         * loop.c: Likewise.
14307         * profile.c: Likewise.
14308         * ra-build.c: Likewise.
14309         * real.c: Likewise.
14310         * rtl.h: Likewise.
14311         * tracer.c: Likewise.
14312         * tree-inline.c: Likewise.
14313         * varasm.c: Likewise.
14314
14315 2002-09-08  Jan Hubicka  <jh@suse.cz>
14316
14317         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
14318         handling.
14319
14320         * loop.c (loop_givs_reduce):  Emit addition after.
14321
14322 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14323
14324         * varasm.c (default_assemble_visibility): Rename from
14325         assemble_visibility.
14326         * output.h: Here too.
14327         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
14328         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
14329
14330 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
14331
14332         * reload.c (find_reloads <p constraint>): Pass operand_mode to
14333         find_reloads_address.
14334
14335 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
14336
14337         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
14338         (anonymous pattern): Likewise.
14339
14340 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14341
14342         * machmode.def: Add modes for half-float vectors.
14343
14344 2002-09-07  Scott Snyder  <snyder@fnal.gov>
14345
14346         PR target/7374
14347         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
14348
14349 2002-09-07  Roger Sayle  <roger@eyesopen.com>
14350
14351         * basic-block.h (struct loop): Remove unused cont_dominator field.
14352
14353 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14354
14355         * varasm.c (decode_rtx_const): Don't check undefined field for
14356         CONST_VECTOR.
14357
14358 2002-09-07  Glen Nakamura  <glen@imodulo.com>
14359
14360         PR opt/7814
14361         * sched-deps.c (sched_analyze_insn): Make sure to add insn
14362         to reg_last->sets after flushing the dependency lists to guarantee
14363         that subsequent clobbers will be dependent on it.
14364
14365 2002-09-07  Igor Shevlyakov <igor@microunity.com>
14366
14367         * combine.c (simplify_shift_const): Calculate rotate count
14368         correctly for vector operands.
14369
14370 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
14371
14372         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
14373         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
14374         tree_expr_nonnegative_p.
14375         (build_conditional_expr): Likewise.
14376         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
14377
14378 2002-09-07  Richard Henderson  <rth@redhat.com>
14379
14380         * builtins.def (inf, inff, infl): Mark const.
14381         (huge_val, huge_valf, huge_vall): Likewise.
14382         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
14383
14384         * real.c (ereal_inf): Clear E before use.
14385
14386 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14387
14388         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
14389         an expander and an anonymous pattern.  Zero out the upper half
14390         of the dividend in the expander.
14391         (udivmodqi4): Likewise.
14392
14393 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
14394
14395         * config/h8300/h8300.c: Fix formatting.
14396         * config/h8300/h8300.h: Likewise.
14397         * config/h8300/h8300.md: Likewise.
14398
14399 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
14400
14401         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
14402         information.
14403
14404 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
14405
14406        * rtlanal.c (dead_or_set_regno_p): Fix typo.
14407
14408 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
14409
14410         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
14411
14412         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
14413         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14414         (TARGET_ASM_OUT): Add the above here.
14415         * target.h (struct gcc_target): Add "visibility" field.
14416         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
14417         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
14418         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
14419         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
14420
14421 2002-09-06  Ziemowit Laski <zlaski@apple.com>
14422
14423         * c-lang.c (objc_is_id): New stub.
14424         * c-tree.h (objc_is_id): New forward declaration.
14425         * c-typeck.c (build_c_cast): Do not strip protocol
14426         qualifiers from 'id' type.
14427         * objc/objc-act.c (objc_comptypes): Correct handling
14428         of protocol qualifiers.
14429         (objc_is_id): New.
14430
14431 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
14432
14433         * pentium.md (pentium-firstvboth): Fix typo.
14434
14435 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
14436
14437         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
14438         (enum shift_type, enum h8_cpu): Likewise.
14439         (INL, ROT, LOP, SPC macros): Likewise.
14440         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
14441         const designator.
14442         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
14443         space efficient algorithms when optimize for codesize.
14444
14445 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14446
14447         Fix PR/1727 and long-standing failing testcase
14448         objc/formal-protocol-6.m.
14449         * objc-act.c (build_protocol_expr): If compiling for the GNU
14450         runtime, create a list of Protocol statically allocated instances
14451         if it doesn't exist, then add the Protocol object to this same
14452         list.
14453         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
14454         instead of TREE_CHAIN.
14455
14456 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14457
14458         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
14459         10k.  Fixed category dumping - print out category names with the
14460         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
14461         interface.
14462         (finish_objc): Fixed the -gen-decls option.  It was printing out
14463         only the last class.  Dump an interface declaration of all classes
14464         being compiled instead.
14465
14466 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
14467
14468         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
14469         prototype.
14470         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
14471         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
14472         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
14473         rather than GEN_INT.
14474         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
14475         (return_addr_mask, *check_arch2): New.
14476
14477 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
14478
14479         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
14480         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
14481         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
14482         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
14483         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
14484         "adddf3", "*adddf3", "*adddf3_ibm",
14485         "addsf3", "*addsf3", "*addsf3_ibm",
14486         "muldi3", "mulsi3", "mulsidi3",
14487         "muldf3", "*muldf3", "*muldf3_ibm",
14488         "mulsf3", "*mulsf3", "*mulsf3_ibm",
14489         "*anddi3_cc", "*anddi3_cconly", "anddi3",
14490         "*andsi3_cc", "*andsi3_cconly", "andsi3",
14491         "*iordi3_cc", "*iordi3_cconly", "iordi3",
14492         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
14493         "*xordi3_cc", "*xordi3_cconly", "xordi3",
14494         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
14495         instead of "register_operand" as predicate for "%0" operand.
14496
14497 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
14498
14499         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
14500         unconditionally when gcc_cv_as_flags64 checks are gone.
14501         * configure: Rebuilt.
14502
14503 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
14504
14505         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
14506         2002-07-26 change.  Comment.
14507
14508 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14509
14510         * frv.c (frv_unique_section, frv_select_section,
14511         frv_select_rtx_section): Delete.
14512         (frv_in_small_data_p): New.
14513         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
14514         TARGET_ASM_SELECT_RTX_SECTION): Delete.
14515         (TARGET_IN_SMALL_DATA_P): Define.
14516
14517 2002-09-05  Dale Johannesen  <dalej@apple.com>
14518
14519         * reload1.c (reload):  Retain only those memory clobbers
14520         added for variable-array handling.
14521
14522 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14523
14524         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
14525         return-in-memory rules.
14526         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
14527
14528 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14529
14530         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
14531         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
14532
14533 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
14534
14535         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
14536         not a compile-time constant for the non-IBM case.
14537         * config/arm/arm-protos.h (arm_float_words_big_endian): New
14538         prototype.
14539         * config/arm/arm.c (arm_float_words_big_endian): New function.
14540         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
14541         if TARGET_VFP  and not TARGET_HARD_FLOAT.
14542         (ARM_FLAG_VFP, TARGET_VFP): Define.
14543         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
14544
14545 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
14546
14547         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
14548         URLs.  Fix AIX wording.
14549
14550 2002-09-05  Stan Shebs  <shebs@apple.com>
14551
14552         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
14553         -fPIC equivalent on Darwin.
14554
14555 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14556
14557         * sh.c (sh_expand_builtin): Return early if encountering an
14558         error_mark for a type.
14559
14560 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14561
14562         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14563         double-word scratch register.
14564         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14565
14566         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14567         "*cli"): Replace s_operand by memory_operand.
14568         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14569
14570 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14571
14572         * config/h8300/h8300.c (asm_file_start): Add a missing
14573         semicolon.
14574
14575 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14576
14577         * c-typeck.c (build_function_call): Remove unused variable(s).
14578         (build_c_cast): Likewise.
14579         * calls.c (rtx_for_function_call): Likewise.
14580         * cfglayout.c (duplicate_insn_chain): Likewise.
14581         * cfgloop.c (flow_loop_nodes_find): Likewise.
14582         * cfgrtl.c (split_edge): Likewise.
14583         * df.c (df_ref_create): Likewise.
14584         * except.c (expand_end_catch): Likewise.
14585         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14586         * function.c (emit_return_into_block): Likewise.
14587         (reposition_prologue_and_epilogue_notes): Likewise.
14588         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14589         * combine.c (subst_prev_insn, need_refresh): Remove.
14590         * dwarf2out.c (primary_filename): Remove.
14591         * final.c (new_block): Remove.
14592         * gcse.c (orig_bb_count): Remove.
14593
14594 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14595
14596         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14597         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14598         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14599         directly instead of using a function pointer.
14600
14601 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14602
14603         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14604         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14605         (ix86_output_addr_diff_elt) Likewise.
14606         (x86_output_mi_thunk) Likewise.
14607         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14608
14609 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14610
14611         * frv.c (frv_encode_section_info): Fix error in last change.
14612
14613 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14614
14615         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14616         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14617         (TARGET_BINDS_LOCAL_P): Define.
14618         (rs6000_override_options): Save original flag_pic value.
14619         (rs6000_elf_select_section): Call default_elf_select_section_1.
14620         (rs6000_elf_unique_section): Call default_unique_section_1.
14621         (rs6000_elf_in_small_data_p): New function.
14622         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14623         (rs6000_xcoff_select_section): Update based on defaults.
14624         (rs6000_xcoff_unique_section): Set to basic name if not common.
14625         (rs6000_binds_local_p): New function.
14626         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14627         targetm.have_srodata_section if SDATA_EABI.
14628         (TARGET_IN_SMALL_DATA_P): Define.
14629
14630 2002-09-04  Dale Johannesen  <dalej@apple.com>
14631
14632         * varasm.c (struct rtx_const, decode_rtx_const):
14633         Make veclo and vechi fields not share storage.
14634
14635 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14636
14637         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14638         for moving.
14639         (move_movables): Abort if we see the first insn of a libcall.
14640
14641 2002-09-04  Richard Henderson  <rth@redhat.com>
14642
14643         * builtin-types.def (BT_FN_FLOAT): New.
14644         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14645         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14646         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14647         * builtins.c (fold_builtin_inf): New.
14648         (fold_builtin): Call it.
14649         * real.c (ereal_inf): New.
14650         * real.h: Declare it.
14651         * doc/extend.texi: Document new builtins.
14652
14653 2002-09-04  Richard Henderson  <rth@redhat.com>
14654
14655         * cse.c (cse_insn): Avoid subreg games if the equivalence
14656         is already in the proper mode.
14657
14658 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14659
14660         PR c/7102
14661         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14662
14663 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14664
14665         * pa.md (setccfp0, setccfp1): New patterns.
14666
14667 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14668
14669         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14670         frv_select_section, frv_select_rtx_section,
14671         frv_encode_section_info, frv_unique_section): Delete.
14672         * frv.c: Update for target hooks.
14673         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14674         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14675         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14676
14677 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14678
14679         * ip2k-protos.h (function_prologue, function_epilogue,
14680         encode_section_info): Update to match target hook specification.
14681         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14682         (function_prologue, function_epilogue, encode_section_info):
14683         Update to match target hook specification.
14684         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14685         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14686         (NOTICE_UPDATE_CC): Cast to void.
14687         * ip2k.md: Add defaults in switch statements.
14688
14689 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14690
14691         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14692         issues.
14693
14694 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14695
14696         * config/sparc/t-netbsd64: Disable multilib for now.
14697
14698 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14699
14700         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14701         * target.h (gcc_target): Add have_srodata_section member.
14702         * varasm.c (section_category): Add SECCAT_SRODATA.
14703         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14704         READONLY_SDATA_SECTION defined.
14705         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14706         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14707         (default_unique_section_1): Likewise.
14708
14709 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14710
14711         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14712         into DImode pieces.
14713
14714         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14715         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14716         for floating-point register class.
14717         * pa.c (function_arg): Fix handling of modes wider than one word for
14718         TARGET_64BIT.
14719
14720 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14721
14722         * combine.c (make_compound_operation): Don't generate zero / sign
14723         extensions in floating point modes.
14724
14725 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14726
14727         * doc/c-tree.texi: Fix overfull hboxes.
14728         * doc/cppopts.texi: Ditto.
14729         * doc/extend.texi: Ditto.
14730         * doc/gty.texi: Ditto.
14731         * doc/invoke.texi: Ditto.
14732         * doc/makefile.texi: Ditto.
14733         * doc/rtl.texi: Ditto.
14734         * doc/standards.texi: Ditto.
14735         * doc/tm.texi: Ditto.
14736
14737 2002-09-04  Richard Henderson  <rth@redhat.com>
14738
14739         * c-common.c (builtin_define_with_hex_fp_value): New.
14740         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14741
14742 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14743
14744         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14745         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14746         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14747         Warn that these options can break ABI compatibility.
14748
14749 2002-09-04  Richard Henderson  <rth@redhat.com>
14750
14751         * real.c (ereal_to_decimal): Add digits parameter.
14752         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14753         * c-pretty-print.c (pp_c_real_literal): Update call.
14754         * print-rtl.c (print_rtx): Likewise.
14755         * print-tree.c (print_node_brief, print_node): Likewise.
14756         * sched-vis.c (print_value): Likewise.
14757         * config/arc/arc.c (arc_print_operand): Likewise.
14758         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14759         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14760         * config/i386/i386.c (print_operand): Likewise.
14761         * config/i960/i960.c (i960_print_operand): Likewise.
14762         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14763         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14764         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14765         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14766         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14767         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14768         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14769         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14770         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14771         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14772         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14773         * config/mips/mips.c (print_operand): Likewise.
14774         * config/ns32k/ns32k.c (print_operand): Likewise.
14775         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14776         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14777         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14778
14779 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14780
14781         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14782         xtensa_multibss_section_type_flags.
14783         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14784
14785 2002-09-04  Richard Henderson  <rth@redhat.com>
14786
14787         * doc/install-old.texi: Don't mention enquire.
14788         * doc/sourcebuild.texi: Update float.h description.
14789
14790 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14791
14792         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14793
14794 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14795
14796         * builtins.c (build_function_call_expr): Remove prototype, export
14797         as non-static and add a comment above function definition.
14798         (builtin_mathfn_code): New function to check for math builtins.
14799         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14800         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14801         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14802         log(sqrt(x)) as log(x)/2.0.
14803
14804         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14805         in new "builtins.c" section.  Place the build_range_type prototype
14806         with the other prototypes from "tree.c".
14807
14808         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14809         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14810         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14811         x/exp(y) as x*exp(-y).
14812
14813 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
14814
14815         * varasm.c (default_section_type_flags): Append _1 to name with
14816         shlib parameter.  Use original name to call new function with
14817         implicit flag_pic.
14818         (decl_readonly_section): Likewise.
14819         (default_elf_select_section): Likewise.
14820         (default_unique_section): Likewise.
14821         (default_bind_local_p): Likewise.
14822         (categorize_decl_for_section): Add shlib parameter to use in place
14823         of implicit flag_pic.
14824         * output.h: Declare new functions with _1 and shlib argument.
14825
14826 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
14827
14828         * doc/install.texi: Fix typos, formatting problems, and obvious
14829         overfull/underfull boxes.
14830
14831         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14832         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14833         include its file, compat.texi.
14834         * doc/compat.texi: New file with new chapter, Binary Compatibility.
14835
14836 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
14837
14838         Debian BTS Bug #157416
14839         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14840         * cpplib.c (destringize_and_run): Kludge around getting
14841         tokens from in-progress macros.
14842         (_cpp_do__Pragma): Simplify.
14843
14844 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14845
14846         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14847         (CPP_CPU_SPEC): Remove.
14848         (TARGET_CPU_CPP_BUILTINS): New.
14849         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14850         (CPP_SPEC): Remove.
14851         (TARGET_OS_CPP_BUILTINS): New.
14852         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14853         (TARGET_OS_CPP_BUILTINS): New.
14854         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14855         TARGET_OS_CPP_BUILTINS.
14856         (CPP_PREDEFINES): Remove.
14857         (CPLUSPLUS_CPP_SPEC): Remove.
14858         (TARGET_OS_CPP_BUILTINS): New.
14859
14860 2002-09-03  Richard Henderson  <rth@redhat.com>
14861
14862         * Makefile.in (USER_H): Add ginclude/float.h.
14863         (FLOAT_H): Remove.
14864         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14865         (mostlyclean): Don't remove float.h intermediate files.
14866         (distclean): Don't remove float.h.
14867         * config.gcc: Remove all float_format references.
14868         * configure.in (float_format, float_h_file): Remove.
14869
14870         * c-common.c: Include tree-inline.h.
14871         (builtin_define_with_int_value): New.
14872         (builtin_define_type_precision): Use it.
14873         (builtin_define_float_constants): New.
14874         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
14875         __FLT_EVAL_METHOD__.
14876         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14877         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14878         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14879         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14880         (TARGET_FLT_EVAL_METHOD): New.
14881
14882         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14883         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14884         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14885         * ginclude/float.h: New.
14886
14887 2002-09-03  Stan Shebs  <shebs@apple.com>
14888
14889         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14890         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14891         (PREFERRED_DEBUGGING_TYPE): Ditto.
14892         (ASM_OUTPUT_IDENT): Remove empty definition.
14893
14894 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14895
14896         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14897         cxx_target.
14898         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14899         handling routine for builtin pragma.
14900         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14901         Registered pragma handling routine.
14902         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14903         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14904         If builtin pragma seen for math routine and C89 conformance is
14905         requested use different math function in order to set errno.
14906         * t-ia64 (ia64-c.o): Add new rule for new file.
14907
14908 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14909
14910         * config/s390/s390.md ("movti"): Add Q->Q alternative.
14911         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14912         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
14913
14914         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
14915         "*movsf_ss"): Remove.
14916
14917 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14918
14919         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14920         Delete macros.
14921
14922 2002-09-03   Arati Dikey  <aratid@kpit.com>
14923
14924         * h8300.c (asm_file_start): Corrected optimization comment.
14925
14926 2002-09-03  Stan Shebs  <shebs@apple.com>
14927
14928         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14929         * c-tree.h (recognize_objc_keyword): Remove decl.
14930         * c-typeck.c (comp_target_types): Update a comment.
14931
14932 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14933
14934         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14935         and register validity checks.
14936         (general_s_operand): Adapt to s390_decompose_address interface change.
14937         (q_constraint): Likewise.
14938         (s390_expand_plus_operand): Likewise.
14939         (legitimiate_address_p): Likewise.
14940         (legitimate_la_operand_p): Likewise.
14941         (legitimize_la_operand): Likewise.
14942         (print_operand_address): Likewise.
14943         (print_operand): Likewise.
14944
14945 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14946
14947         PR objc/5956:
14948         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
14949         was causing the new selector never to match the existing ones
14950         (Patch by Alexander Malmberg <alexander@malmberg.org>).
14951
14952 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14953
14954         * config/i386/i386.md ("femms"): Add "memory" attr "none".
14955
14956 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14957
14958         * expr.c (expand_expr): Remove extraneous comment and code.
14959
14960 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
14961
14962         * stor-layout (finish_builtin_struct): Renamed and moved from c++
14963         frontend. Take chain of fields. Allow NULL alignment type.
14964         * tree.h (finish_builtin_struct): Declare.
14965
14966 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14967
14968         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14969         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14970         config/arc/arc.c config/arc/arc.h config/arm/aout.h
14971         config/arm/arm.c config/arm/arm.h config/arm/arm.md
14972         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14973         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14974         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14975         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14976         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14977         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14978         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14979         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14980         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14981         config/pa/pa.h config/pa/pa.md config/romp/romp.h
14982         config/rs6000/linux64.h config/rs6000/lynx.h
14983         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14984         config/s390/s390.c config/s390/s390.md config/sh/sh.c
14985         config/sparc/sparc.c config/sparc/sysv4.h
14986         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14987         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14988         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14989
14990         * doc/tm.texi: Update docs.
14991         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14992         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14993
14994 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14995
14996         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14997         * arc.c (arc_internal_label): New function.
14998         (TARGET_ASM_INTERNAL_LABEL): Set.
14999         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15000         * arm.c (arm_internal_label): New function.
15001         (TARGET_ASM_INTERNAL_LABEL): Set.
15002         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15003         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15004         * i370.c (i370_internal_label): New function.
15005         (TARGET_ASM_INTERNAL_LABEL): Set.
15006         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15007         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15008         * m68k.c (m68k_hp320_internal_label): New function.
15009         (TARGET_ASM_INTERNAL_LABEL): Set.
15010         * m88k.c (m88k_internal_label): New function.
15011         (TARGET_ASM_INTERNAL_LABEL): Set.
15012         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15013         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
15014         * genoutput.c (output_prologue): Include target.h in output file.
15015         * output.h (default_internal_label): Declare.
15016         * sdbout.c: Include target.h.
15017         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
15018         TARGET_ASM_OUT.
15019         * target.h (internal_label): Add to struct gcc_target.
15020         * varasm.c (default_internal_label): New function.
15021
15022 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15023
15024         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
15025         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15026         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15027         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15028         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15029         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15030         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15031         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15032         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15033         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15034         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15035         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15036         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15037         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15038         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15039         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15040         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15041         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15042         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15043         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15044         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15045         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15046         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15047         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15048         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15049         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
15050         * mmix.c (mmix_asm_output_internal_label): Likewise.
15051         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15052         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15053         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15054         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15055         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15056         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15057         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15058         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15059         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15060         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15061         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15062         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15063         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15064         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15065         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15066         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15067         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15068         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15069         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15070
15071         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
15072
15073 2002-08-31  Richard Henderson  <rth@redhat.com>
15074
15075         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
15076
15077 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15078
15079         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
15080
15081 2002-08-30  Richard Henderson  <rth@redhat.com>
15082
15083         PR opt/7515
15084         * c-objc-common.c: Include target.h.
15085         (c_cannot_inline_tree_fn): Don't auto-inline functions that
15086         don't bind locally.  Factor setting DECL_UNINLINABLE.
15087         * Makefile.in (c-objc-common.o): Update.
15088
15089 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
15090
15091         * doc/install.texi (Configuration, Building): Fix a typo and
15092         some formatting directives.
15093
15094 2002-08-30  Paul Koning <pkoning@equallogic.com>
15095
15096         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
15097         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
15098         implemented" note.
15099         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
15100         for alphabetic order.
15101         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
15102         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
15103         (VAX_HALFWORD_ORDER): Document.
15104         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
15105         IEEE float format.
15106         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
15107         (ASM_OUTPUT_LABEL_REF): Fix font.
15108         (CASE_VECTOR_SHORTEN_MODE): Ditto.
15109
15110 2002-08-30  Denis Chertykov  <denisc@overta.ru>
15111
15112         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
15113         stuff.
15114         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
15115         CONST_DOUBLE constants.
15116
15117 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
15118
15119         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
15120         related defines to...
15121         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
15122         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
15123         as a no-op.
15124
15125 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
15126
15127         * config/arm/arm.c (arm_asm_output_labelref): New function.
15128         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
15129         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
15130
15131 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
15132
15133         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
15134         memory exhausted" workarounds.
15135
15136 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15137
15138         * diagnostic.c (fancy_abort): Don't repeat "internal error".
15139         * toplev.c (crash_signal): Likewise.
15140
15141 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15142
15143         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
15144         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
15145         Extended, updated documentation.
15146         (-Wundeclared-selector): Documented.
15147
15148 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
15149
15150         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
15151         the value 1.  Do not undef before defining.
15152         * config/darwin.h: Likewise.
15153         * config/dbx.h: Likewise.
15154         * config/dbxcoff.h: Likewise.
15155         * config/dbxelf.h: Likewise.
15156         * config/elfos.h: Likewise.
15157         * config/interix.h: Likewise.
15158         * config/lynx-ng.h: Likewise.
15159         * config/lynx.h: Likewise.
15160         * config/netware.h: Likewise.
15161         * config/psos.h: Likewise.
15162         * config/svr3.h: Likewise.
15163         * config/alpha/alpha.h: Likewise.
15164         * config/alpha/elf.h: Likewise.
15165         * config/alpha/vms.h: Likewise.
15166         * config/arc/arc.h: Likewise.
15167         * config/arm/aout.h: Likewise.
15168         * config/arm/coff.h: Likewise.
15169         * config/c4x/c4x.h: Likewise.
15170         * config/h8300/h8300.h: Likewise.
15171         * config/i386/cygwin.h: Likewise.
15172         * config/i386/djgpp.h: Likewise.
15173         * config/i386/gas.h: Likewise.
15174         * config/i386/gstabs.h: Likewise.
15175         * config/i386/i386-coff.h: Likewise.
15176         * config/i386/i386-interix.h: Likewise.
15177         * config/i386/sco5.h: Likewise.
15178         * config/i386/svr3dbx.h: Likewise.
15179         * config/i386/sysv3.h: Likewise.
15180         * config/i386/win32.h: Likewise.
15181         * config/i386/x86-64.h: Likewise.
15182         * config/i960/i960.h: Likewise.
15183         * config/ia64/ia64.h: Likewise.
15184         * config/ip2k/ip2k.h: Likewise.
15185         * config/m32r/m32r.h: Likewise.
15186         * config/m68k/3b1.h: Likewise.
15187         * config/m68k/3b1g.h: Likewise.
15188         * config/m68k/ccur-GAS.h: Likewise.
15189         * config/m68k/coff.h: Likewise.
15190         * config/m68k/hp2bsd.h: Likewise.
15191         * config/m68k/hp310g.h: Likewise.
15192         * config/m68k/hp320g.h: Likewise.
15193         * config/m68k/hp3bsd.h: Likewise.
15194         * config/m68k/hp3bsd44.h: Likewise.
15195         * config/m68k/linux-aout.h: Likewise.
15196         * config/m68k/m68k-aout.h: Likewise.
15197         * config/m68k/mot3300.h: Likewise.
15198         * config/m68k/netbsd.h: Likewise.
15199         * config/m68k/openbsd.h: Likewise.
15200         * config/m68k/pbb.h: Likewise.
15201         * config/m68k/plexus.h: Likewise.
15202         * config/m68k/sun2.h: Likewise.
15203         * config/m68k/sun3.h: Likewise.
15204         * config/m68k/tower-as.h: Likewise.
15205         * config/m68k/vxm68k.h: Likewise.
15206         * config/m88k/aout-dbx.h: Likewise.
15207         * config/m88k/m88k-aout.h: Likewise.
15208         * config/mcore/mcore-elf.h: Likewise.
15209         * config/mcore/mcore-pe.h: Likewise.
15210         * config/mips/elf.h: Likewise.
15211         * config/mips/elf64.h: Likewise.
15212         * config/mips/iris5gas.h: Likewise.
15213         * config/mips/iris6.h: Likewise.
15214         * config/mips/mips.h: Likewise.
15215         * config/mips/sni-gas.h: Likewise.
15216         * config/mmix/mmix.h: Likewise.
15217         * config/ns32k/netbsd.h: Likewise.
15218         * config/pa/pa64-hpux.h: Likewise.
15219         * config/romp/romp.h: Likewise.
15220         * config/rs6000/sysv4.h: Likewise.
15221         * config/rs6000/xcoff.h: Likewise.
15222         * config/sh/coff.h: Likewise.
15223         * config/sh/elf.h: Likewise.
15224         * config/sparc/linux64.h: Likewise.
15225         * config/sparc/liteelf.h: Likewise.
15226         * config/sparc/netbsd.h: Likewise.
15227         * config/sparc/openbsd.h: Likewise.
15228         * config/sparc/pbd.h: Likewise.
15229         * config/sparc/sp64-elf.h: Likewise.
15230         * config/sparc/sp86x-elf.h: Likewise.
15231         * config/sparc/sparc.h: Likewise.
15232         * config/vax/vax.h: Likewise.
15233         * config/vax/vaxv.h: Likewise.
15234
15235 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
15236
15237         * h8300.c (shift_alg_hi): Various tweaks to improve performance
15238         of HImode shifts.
15239         (get_shift_alg): Corresponding changes.
15240
15241 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15242
15243         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
15244
15245 2002-08-29  Richard Henderson  <rth@redhat.com>
15246
15247         * expr.h (enum block_op_methods): New.
15248         (emit_block_move): Update prototype.
15249         * expr.c (block_move_libcall_safe_for_call_parm): New.
15250         (emit_block_move_via_loop): New.
15251         (emit_block_move): Use them.  New argument METHOD.
15252         (emit_push_insn): Always respect the given alignment.
15253         (expand_assignment): Update call to emit_block_move.
15254         (store_expr, store_field, expand_expr): Likewise.
15255         * builtins.c (expand_builtin_apply): Likewise.
15256         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
15257         * function.c (expand_function_end): Likewise.
15258         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
15259         * config/sparc/sparc.c (sparc_va_arg): Likewise.
15260         * calls.c (expand_call, emit_library_call_value_1): Likewise.
15261         (save_fixed_argument_area): Use emit_block_move with
15262         BLOCK_OP_CALL_PARM instead of move_by_pieces.
15263         (restore_fixed_argument_area): Likewise.
15264         (store_one_arg): Fix alignment parameter to emit_push_insn.
15265
15266 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15267
15268         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
15269
15270 2002-08-29  Catherine Moore  <clm@redhat.com>
15271
15272         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
15273         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
15274         (PREDICATE_CODES): Include new predicates.
15275         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
15276         (TARGET_SWITCHES):  Add strict-align.
15277         (TARGET_STRICT_ALIGN): New.
15278         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
15279         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
15280         Define.
15281         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
15282         v850_muldi3.
15283         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
15284         L_callt_save_r2_r31, L_return_r2_r31,
15285         L_save_all_interrupt): Change addi to add.
15286         (L_save_interrupt, L_return_interrupt): Rework.
15287         (__return_r31):  Correct .size directive.
15288         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
15289         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
15290         New routines.
15291         * config/v850/v850.c (expand_prologue): Call
15292         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
15293         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
15294         (reg_or_int9_operand): New predicate.
15295         (reg_or_const_operand): New routine.
15296         * config/v850/v850.md (return_interrupt): Changed from
15297         restore_interrupt.
15298         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
15299         (callt_save_interrupt): Change save sequence.
15300         (callt_return_interrupt): New.
15301         (save_interrupt): Don't use runtime function for LONG_CALLS
15302         and TARGET_PROLOG_FUNCTION.
15303         (save_all_interrupt): Likewise.
15304         (mulsi3): Use new predicate.
15305         (moviscc): Disallow some combination of constants.
15306         Fix define_split for sasf insns, so that it will not generate bad
15307         code if operand0 and operand5 are the same.
15308         * config/v850/v850-protos.h: Prototype new predicates.
15309
15310 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
15311
15312         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
15313         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
15314
15315 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15316
15317         * c-common.c (builtin_define_type_precision): New function.
15318         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
15319         wchar_t is unsigned in C++.
15320         * doc/cpp.texi (Common Predefined Macros): Document
15321         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
15322         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
15323         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
15324
15325 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
15326
15327         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
15328         section.  Mention that it is enabled by -Wall.
15329         (-Wall): Mention that there can be language-specific warnings as well.
15330         (-Wctor-dtor-privacy): Mention that it is enabled by default.
15331         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
15332
15333 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
15334
15335         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
15336         if it is ever live.
15337
15338         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
15339         attribute for SHCOMPACT.
15340
15341         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
15342         appropriately.
15343         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
15344         by the ABI.
15345
15346         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
15347
15348 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
15349
15350         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
15351         "MASK_GAS|MASK_ABICALLS".
15352         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
15353         (TARGET_DEFAULT): Remove.
15354         (MACHINE_TYPE): Undefine before defining.
15355         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
15356
15357 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
15358
15359         * c-common.c (warn_abi): New variable.
15360         * c-common.h (warn_abi): Likewise.
15361         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
15362         (c_common_decode_option): Handle it.
15363         * doc/invoke.texi: Document -Wabi.
15364
15365 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
15366
15367         * c-common.c (warn_undeclared_selector): New variable.
15368         * c-common.h (warn_undeclared_selector): Idem.
15369         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
15370         to on when -Wundeclared-selector is found.
15371         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
15372         * objc/objc-act.c (build_selector_expr): If
15373         warn_undeclared_selector is set, check that the selector has
15374         already been defined, and emit a warning if not.
15375
15376 2002-08-27  Nick Clifton  <nickc@redhat.com>
15377             Catherine Moore  <clm@redhat.com>
15378             Jim Wilson  <wilson@cygnus.com>
15379
15380         * config.gcc: Add v850e-*-* target.
15381         Add --with-cpu= support for v850.
15382         * config/v850/lib1funcs.asm: Add v850e callt functions.
15383         * config/v850/v850.h: Add support for v850e target.
15384         * config/v850/v850.c: Add functions to support v850e target.
15385         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
15386         * config/v850/v850.md: Add patterns for v850e instructions.
15387         * doc/invoke.texi: Document new v850e command line switches.
15388
15389 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
15390                           Aldy Hernandez <aldyh at redhat dot com>
15391
15392         * doc/tm.texi: Applied numerous fixes to the automaton based
15393         scheduler descrition.
15394
15395 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
15396
15397         * i386.c (classify_argument): Handle variable sized objects.
15398
15399 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
15400
15401         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
15402
15403 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
15404
15405         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
15406
15407 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
15408
15409         * i386.c (classify_argument): Properly compute word size of the analyzed object.
15410
15411 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
15412
15413         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
15414         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
15415         accordingly.
15416         (attribute insn_class): Provide default definitions based on type.
15417         Remove all insn-specific settings.
15418         (various function units): Remove old SH4 scheduling.
15419         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
15420         New attributes.  Set them where appropriate.
15421         (cpu unit FS): Don't define / use.
15422         (F3, load_store): New cpu units.
15423         (F01): New reservation.
15424         (all insn_reservations): Make dependent on sh4 pipeline model.
15425         Fix latencies.
15426         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
15427         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
15428         (mt insn_reservation): Use type mt_group.
15429         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
15430         sh4_fload and sh4_store.
15431         (insn_reservation branch_zero and branch): Replace with sh4_branch.
15432         (insn_reservation branch_far): Replace with sh4_return.
15433         (insn_reservation return_from_exp): Rename to:
15434         (sh4_return_from_exp).  Change to be just d_lock*5.
15435         (insn_reservation lds_to_pr): Rename to:
15436         (sh4_lds_to_pr).  Change to be just d_lock*2.
15437         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
15438         d_lock*2.
15439         (insn_reservation prload_mem): Rename to:
15440         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
15441         (insn_reservation fpscr_store): Rename to:
15442         (fpscr_load).  Change to d_lock,nothing,F1*3.
15443         (insn_reservation fpscr_store_mem): Rename to:
15444         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
15445         (insn_reservation multi): Change to
15446         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
15447         (insn_reservation fp_arith): Change to issue,F01,F2.
15448         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
15449         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
15450         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
15451         (insn_reservation fp_double_cmp): Change to
15452         d_lock,(d_lock+F01),F1+F2,F2.
15453         (insn_reservation dp_div): Change to
15454         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
15455         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
15456         (sh_adjust_cost, SHcompact): Differentiate between different
15457         kinds of dependencies.  Drop factor of ten for superscalar.
15458         Use new instruction types.  Add new exception rules.
15459
15460         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
15461
15462         * sh.md (mperm_w): Add DONE.
15463
15464 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
15465
15466         * longlong.h: Import current PowerPC defintion from GMP-4.1.
15467
15468         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
15469
15470         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
15471
15472 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
15473
15474         * sh.h (MAX_FIXED_MODE_SIZE): Define.
15475
15476 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
15477
15478         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
15479         delimiter.
15480
15481 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
15482
15483         * c-common.c (cpp_define_data_format): New function.
15484         (cb_register_builtins): Call it.
15485
15486         * doc/cpp.texi (Common Predefined Macros): Document
15487         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
15488         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
15489         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
15490         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
15491         __TARGET_USES_VAX_H_FLOAT__.
15492
15493 2002-08-26  Ziemowit Laski <zlaski@apple.com>
15494
15495         * objc/objc-act.c (get_super_receiver): If inside a class method
15496         of a category, cast the receiver to 'id' before accessing the 'isa'
15497         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
15498
15499 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
15500
15501         * config/s390/s390-protos.h (s390_function_prologue,
15502         s390_function_epilogue): Remove.
15503         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
15504         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
15505
15506         config/s390/s390.c (s390_machine_dependent_recorg): New function.
15507         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
15508         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
15509         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
15510         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
15511
15512         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
15513         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
15514         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
15515         function is not a leaf function.  Use save_gprs and restore_gprs.
15516         (s390_emit_epilogue): Likewise.
15517         (save_gprs, restore_gprs): New functions.
15518         (struct s390_frame): Remove return_reg_saved_p member.
15519         (save_fprs_p): Remove.
15520         (s390_optimize_prolog): New function.
15521         (s390_legitimate_reload_constant): Remove now unnecessary check.
15522
15523         (s390_function_count): Remove.
15524         (s390_output_symbolic_const): Replace s390_function_count by
15525         current_function_funcdef_no.
15526         (s390_output_constant_pool): Likewise.
15527
15528         (legitimize_pic_address): Use regs_ever_live to track PIC register
15529         instead of current_function_uses_pic_offset_table.
15530         (s390_emit_prologue): Likewise.
15531         config/s390/s390.md ("call", "call_value"): Likewise.
15532
15533 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
15534
15535         * c-opts.c (find_opt): Don't complain about wrong languages
15536         here.  Return exact matches even for wrong language.
15537         (c_common_decode_option): Complain about wrong languages
15538         here.
15539
15540 2002-08-24  Stuart Hastings  <stuart@apple.com>
15541
15542         * function.h (struct function): Add flag
15543         all_throwers_are_sibcalls.
15544         * except.c (set_nothrow_function_flags): Replaces
15545         nothrow_function_p. Set new flag.
15546         * except.h (set_nothrow_function_flags): Replaces
15547         nothrow_function_p.
15548         * dwarf2out.c (struct dw_fde_struct): Add flag
15549         all_throwers_are_sibcalls.
15550         (output_call_frame_info): Test it.
15551         (dwarf2out_begin_prologue) Propagate it from cfun to
15552         dw_fde_struct.
15553         * toplev.c (rest_of_compilation): Update calls to
15554         nothrow_function_p.
15555
15556 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
15557
15558         * ggc-page.c (compute_inverse): Short circuit calculation for
15559         object sizes larger than half a page.
15560
15561 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15562
15563         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15564         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15565         default.
15566         (rs6000_elf_unique_section): Likewise.
15567
15568 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15569
15570         * ns32k.c (ns32k_globalize_label): Delete.
15571         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15572
15573 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15574
15575         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15576         for loading delta with num_insns_constant_wide.  Calculate
15577         delta_low, delta_high without using a conditional.
15578
15579 2002-08-22  Jason Merrill  <jason@redhat.com>
15580
15581         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15582         * c-common.def: Adjust.
15583         * c-dump.c (c_dump_tree): Adjust.
15584         * c-semantics.c (genrtl_return_stmt): Adjust.
15585         * c-pretty-print.c (pp_c_statement): Adjust.
15586         * tree-inline.c (copy_body_r): Adjust.
15587
15588 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15589
15590         * ggc-page.c: Avoid division in ggc_set_mark.
15591         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15592         compute_inverse): New.
15593         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15594         (init_ggc): Initialize inverse_table.
15595
15596 2002-08-22  Tom Tromey  <tromey@redhat.com>
15597
15598         * doc/install.texi (Configuration): Document --datadir.
15599
15600 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15601
15602         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15603
15604 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15605
15606         * gengtype-lex.l (ID): Allow underscore as first character.
15607
15608 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15609
15610         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15611         function.
15612         (rs6000_xcoff_asm_named_section): Rename.
15613         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15614
15615 2002-08-21  Tom Tromey  <tromey@redhat.com>
15616
15617         For PR java/6005 and PR java/7611:
15618         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15619         (fold): Likewise.
15620         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15621         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15622         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15623         (LANG_HOOKS_INITIALIZER): Use it.
15624         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15625         field.
15626
15627 2002-08-21  Stan Shebs  <shebs@apple.com>
15628
15629         * tree.c (finish_vector_type): Fix a typo in a comment.
15630         * Makefile.in: Fix "the the" stutters in comments.
15631         * genautomata.c: Ditto.
15632         * ifcvt.c: Ditto.
15633         * regrename.c: Ditto.
15634         * config/alpha/alpha.c: Ditto.
15635         * config/alpha/vms-crt0-64.c: Ditto.
15636         * config/alpha/vms-crt0.c: Ditto.
15637         * config/alpha/vms-psxcrt0-64.c: Ditto.
15638         * config/alpha/vms-psxcrt0.c: Ditto.
15639         * config/d30v/d30v.h: Ditto.
15640         * config/fr30/fr30.h: Ditto.
15641         * config/rs6000/rs6000.c: Ditto.
15642         * config/stormy16/stormy16.h: Ditto.
15643         * doc/md.texi: Ditto.
15644
15645 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15646
15647         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15648
15649 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15650
15651         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15652         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15653         Also make duplicate modifiers such as "short short" into hard
15654         errors.
15655
15656 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15657             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15658
15659         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15660         to the actual end.  Add '@end table' and '@table @code'.
15661
15662 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15663
15664         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15665
15666         * unroll.c (biv_total_increment): Don't try to compute the total
15667         increment for FP BIVs.
15668
15669 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15670
15671         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15672         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15673         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15674         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15675         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15676         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15677         (GLOBAL_ASM_OP): Define.
15678         * arm.c (aof_globalize_label): New function.
15679         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15680         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15681         * c4x.c (c4x_globalize_label): New function.
15682         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15683         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15684         (GLOBAL_ASM_OP): Define.
15685         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15686         * darwin-protos.h (darwin_globalize_label): Declare.
15687         * darwin.c (darwin_globalize_label): New function.
15688         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15689         (ASM_GLOBALIZE_LABEL): Delete.
15690         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15691         * dsp16xx.c (asm_output_common): Use target hook.
15692         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15693         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15694         (GLOBAL_ASM_OP): Define.
15695         * i370.c (i370_globalize_label): New function.
15696         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15697         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15698         * i386.c (ix86_asm_file_end): Use target hook.
15699         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15700         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15701         * ia64.c (ia64_asm_output_external): Likewise.
15702         * ia64/sysv4.h: Update comment.
15703         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15704         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15705         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15706         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15707         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15708         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15709         * mmix.c (mmix_asm_globalize_label): Likewise.
15710         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15711         (GLOBAL_ASM_OP): Define.
15712         * ns32k.c (ns32k_globalize_label): New function.
15713         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15714         (ASM_GLOBALIZE_LABEL): Delete.
15715         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15716         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15717         * pa.c (pa_globalize_label): New function.
15718         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15719         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15720         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15721         (GLOBAL_ASM_OP): Define.
15722         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15723         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15724         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15725         (GLOBAL_ASM_OP): Define.
15726         * v850.c (v850_output_aligned_bss): Use target hook.
15727         * vax.c (vms_globalize_label): New function.
15728         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15729         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15730         (GLOBAL_ASM_OP): Define.
15731         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15732         * doc/tm.texi: Update docs.
15733         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15734         target hook.
15735         * final.c (output_alternate_entry_point): Likewise.
15736         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15737         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15738         * output.h (assemble_global): Delete.
15739         (default_globalize_label): Declare.
15740         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15741         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15742         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15743         * target.h (gcc_target): Add globalize_label member.
15744         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15745         globalize_decl): Use target hook.
15746         (assemble_global): Delete.
15747         (default_globalize_label): New function.
15748
15749 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15750
15751         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15752
15753 2002-08-20  Devang Patel  <dpatel@apple.com>
15754         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15755
15756 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15757
15758         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15759         * arm.c (thumb_output_function_prologue): Likewise.
15760         * avr.c (print_operand): Likewise.
15761         * c4x.c (c4x_print_operand): Likewise.
15762         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15763         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15764         * cris.c (cris_target_asm_function_prologue,
15765         cris_asm_output_mi_thunk): Likewise.
15766         * h8300.c (print_operand): Likewise.
15767         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15768         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15769         * m68hc11.c (asm_print_register, print_operand,
15770         print_operand_address): Use stdio instead of asm_fprintf.
15771         (print_operand_address): Fix format specifier.
15772         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15773         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15774         asm_fprintf.
15775         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15776         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15777         * m68k.c (m68k_output_function_prologue,
15778         m68k_output_function_epilogue, print_operand): Likewise.
15779         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15780         Likewise.  Fix format specifier.
15781         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15782         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15783         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15784
15785 2002-08-15  Eric Christopher  <echristo@redhat.com>
15786             Jeff Knaggs  <jknaggs@redhat.com>
15787
15788         * config.gcc (mipsisa64sr71k-elf): New target.
15789         * config/mips/sr71k.md: New file.
15790         * config/mips/mips.md: Use it.
15791         (rot*): Add sr71k specifics.
15792         * config/mips/t-sr71k: New file.
15793         * config/mips/mips.h (sr71k): New cpu.
15794         (TARGET_SR71K): Use it.
15795         (TUNE_SR71K): Ditto.
15796         (GENERATE_BRANCHLIKELY): Ditto.
15797         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15798         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15799         * config/mips/mips.c (sr71k): New cpu.
15800         (mips_use_dfa_pipeline_interface): Use.
15801
15802 2002-08-15  Eric Christopher  <echristo@redhat.com>
15803             Richard Sandiford <rsandifo@redhat.com>
15804             Aldy Hernandez  <aldyh@redhat.com>
15805             Graham Stott    <grahams@redhat.com>
15806             Michael Meissner  <meissner@redhat.com>
15807             Gavin Romig-Koch  <gavin@redhat.com>
15808             Ken Raeburn  <raeburn@cygnus.com>
15809             Alexandre Oliva <aoliva@redhat.com>
15810
15811         * config.gcc (mips64vr-elf): New target.
15812         * config/mips/5400.md: New file.
15813         * config/mips/5500.md: Ditto.
15814         * config/mips/mips.md: Use them.
15815         (frsqrt): New.
15816         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15817         cpus.
15818         (mips_issue_rate): Use them.
15819         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15820         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15821         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15822         cpus.
15823         (TARGET_MIPSx): Use them.
15824         (TUNE_MIPSx): Ditto.
15825         (GETNATE_MULT3_SI): Ditto.
15826         (ISA_HAS_BRANCHLIKELY): Ditto.
15827         (ISA_HAS_CONDMOVE): Ditto.
15828         (ISA_HAS_NMADD_NMSUB): Ditto.
15829         (ISA_HAS_MULHI): New. Ditto.
15830         (ISA_HAS_MULS): Ditto.
15831         (ISA_HAS_MSAC): Ditto.
15832         (ISA_HAS_MACC): Ditto.
15833         (ISA_HAS_ROTR_SI): Ditto.
15834         (ISA_HAS_ROTR_DI): Ditto.
15835         (RTX_COSTS): Use.
15836
15837 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15838
15839         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15840         at head.
15841         (remove_dup_nonsys_dirs): New function.
15842         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
15843         (merge_include_chains): Remove non-system include directories from
15844         quote and bracket include chains when they duplicate equivalent system
15845         directories.
15846         * doc/cpp.texi (-I): Update.
15847         * doc/cppopts.texi (-I): Update.
15848         * doc/install.texi (--with-local-prefix): Further document usage of
15849         this option.
15850         * doc/invoke.texi (-I): Update.
15851
15852 2002-08-20  Richard Henderson  <rth@redhat.com>
15853
15854         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15855         (emit_block_move): Split out subroutines.
15856         (emit_block_move_via_movstr): New.
15857         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
15858         (emit_block_move_libcall_fn): New.  Construct function prototype for
15859         bcopy as well.
15860         (clear_storage): Split out subroutines.
15861         (clear_storage_via_clrstr): New.
15862         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15863         (clear_storage_libcall_fn): New.  Construct function prototype for
15864         bzero as well.
15865         (emit_push_insn): Use emit_block_move.
15866         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15867         (store_constructor): Likewise.
15868
15869 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15870
15871         * objc/objc-act.c (building_objc_message_expr): Rename to
15872         current_objc_message_selector.
15873
15874 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15875
15876         * objc/objc-act.c (build_ivar_chain): Remove.
15877         (objc_copy_list): Likewise.
15878         (get_class_ivars): Inline call to removed build_ivar_chain
15879         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
15880         slot; use that slot (rather than CLASS_IVARS) when accessing
15881         ivars for base classes.  Call copy_list and chainon instead of
15882         objc_copy_list.
15883         (build_private_template): Call get_class_ivars instead of
15884         build_ivar_chain.
15885         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
15886         (continue_class): Call get_class_ivars instead of
15887         build_ivar_chain.
15888         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15889         of DECL_BIT_FIELD (which may have been cleared).
15890         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15891
15892 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15893
15894         * genautomata.c (output_translate_vect, output_state_ainsn_table,
15895         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15896         in output file.
15897         (output_internal_min_issue_delay_func): Initialize variable in
15898         output file.
15899
15900 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
15901
15902         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15903         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15904
15905 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
15906             Steve Ellcey  <sje@cup.hp.com>
15907
15908         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15909         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15910         * explow.c (trunc_int_for_mode): Abort when the mode is not
15911         a scaler integer mode.
15912         * combine.c (expand_compound_operation): Don't expand Vector
15913         or Complex modes into shifts.
15914         (expand_field_assignment): Don't do bitwise arithmatic and
15915         shifts on Vector or Complex modes.
15916         (simplify_comparison): Don't call trunc_int_for_mode
15917         for VOIDmode.
15918         * recog.c (general_operand): Likewise.
15919         (immediate_operand): Likewise.
15920         (nonmemory_operand): Likewise.
15921
15922 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
15923
15924         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15925         multi-instruction SImode constant.  Add REG_EQUAL note.
15926         * config/rs6000/rs6000.md (movsi splitter): Use
15927         rs6000_emit_set_const.
15928
15929 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15930
15931         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15932         the macro test controlling its use.
15933
15934 2002-08-18  H.J. Lu  (hjl@gnu.org)
15935
15936         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15937         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15938         gnu_ld=yes.
15939         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15940         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15941         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15942         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15943         here.
15944         (cris-*-linux*): Remove setting thread_file here.
15945
15946 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
15947
15948         PR preprocessor/7602
15949         * cppinit.c (path_include): Treat the system environment
15950         variables as being cxx_aware.
15951
15952 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
15953
15954         * c-decl.c (flexible_array_type_p): New function.
15955         (grokdeclarator, finish_struct): Use it.
15956         * doc/extend.texi: Document constraints on use of structures with
15957         flexible array members.
15958
15959 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
15960
15961         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15962         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15963         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15964
15965 2002-08-16  Stan Shebs  <shebs@apple.com>
15966
15967         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15968         for ObjC with -fnext-runtime.
15969         * doc/cpp.texi: Document it.
15970
15971 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
15972
15973         * doc/install.texi (Final installation): Replace links to individual
15974         build status pages with a link to a common page that lists them all.
15975
15976 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
15977
15978         * doc/invoke.texi: Fix typo.
15979
15980 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
15981
15982         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15983
15984 2002-08-16  Andrew Haley  <aph@redhat.com>
15985
15986         * tree-inline.c: Add includes for Java inliner.
15987         (remap_decl): Don't handle anonymous types for Java.
15988         (remap_block): Add handling for Java trees.
15989         (copy_scope_stmt): Conditionalize for non-Java use only.
15990         (copy_body_r): Handle Java trees.  Add handling for
15991         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15992         (initialize_inlined_parameters):  Handle Java trees.
15993         (declare_return_variable): Likewise.
15994         (expand_call_inline): Handle Java trees.
15995         (walk_tree): Likewise.
15996         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15997         (add_stmt_to_compound): New function.
15998
15999 2002-08-15  Richard Henderson  <rth@redhat.com>
16000
16001         * Makefile.in (LOOSE_WARN): Remove -fno-common.
16002         (NOCOMMON_FLAG): New substitution point.
16003         (GCC_WARN_CFLAGS): Include it.
16004         * configure.in (ac_checking): Set nocommon_flag.
16005         (nocommon_flag): New substitution point.
16006
16007 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
16008
16009         * c-tree.h (skip_evaluation): Move declaration...
16010         * c-common.h: ... here.
16011         * c-typeck.c (build_external_ref): Don't assemble_external nor
16012         mark a tree as used if skip_evaluation is set.
16013         * c-parse.in (typeof): New non-terminal to set skip_evaluation
16014         around TYPEOF.
16015         (typespec_nonreserved_nonattr): Use it.
16016
16017 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
16018
16019         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
16020         (xcoff_debug_hooks): Update end_prologue.
16021         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
16022         * debug.h (end_prologue): Add file arg.
16023         (end_epilogue): Add line and file args.
16024         (dwarf2out_end_epilogue): Add line and file args.
16025         (vmsdbgout_after_prologue): Remove.
16026         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
16027         (dwarf2_debug_hooks): Update end_prologue.
16028         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
16029         (dwarfout_end_prologue): Add file arg.
16030         * final.c (vmsdbgout_after_prologue): Remove
16031         (final_end_function): Update end_epilogue call.
16032         (final_scan_insn): Update end_prologue call.
16033         * sdbout.c (sdbout_end_epilogue): Add line and file args.
16034         (sdbout_end_prologue): Add file arg.
16035         (sdb_debug_hooks): Update end_prologue.
16036         (sdb_begin_prologue): Update sdbout_end_prologue call.
16037         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
16038         vmsdbgout_end_function.
16039         (vmsdbgout_end_prologue): New function renamed from
16040         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
16041         (vmsdbgout_end_function): New function.
16042         (vmsdbgout_end_epilogue): Add line and file args. Call
16043         vmsdbgout_source_line.
16044         (write_pclines): Write only valid line numbers.
16045         (write_srccorr): Don't write source correlation records if 0 lines.
16046         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
16047
16048 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
16049
16050         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
16051         (_Unwind_Internal_Ptr): 32 bit version for use in
16052         read_encoded_value_with_base.
16053         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
16054         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
16055         right size.
16056
16057 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16058
16059         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
16060         signed/unsigned warnings.
16061
16062         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
16063         record_reg_classes): Likewise.
16064
16065         * reload.c (reload_inner_reg_of_subreg, push_reload,
16066         find_reloads_address_1): Likewise.
16067
16068 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
16069
16070         * rs6000.c (output_mi_thunk): Return to function section on
16071         TARGET_ELF.
16072
16073         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
16074
16075 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
16076
16077         * config/s390/s390.c (legitimize_address): Optimize loading
16078         of large displacements.
16079
16080 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
16081
16082         * config/alpha/alpha-protos.h: Update.
16083
16084         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
16085         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
16086         (alpha_linkage_symbol_p): New static function.
16087         (print_operand_address): Print linkage operand.
16088
16089         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
16090         variables.
16091         (reloc_kind): New enum.
16092         (struct alpha_funcs): New struct.
16093         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
16094
16095         (alpha_need_linkage): Rewrite.
16096         (alpha_use_linkage): New global function.
16097         (alpha_write_linkage): Rewrite and make static.
16098         (alpha_write_one_linkage): Rewrite
16099
16100         (alpha_start_function): Remove procedure descriptor output.
16101         (alpha_end_function): Write linkages at end of each function.
16102
16103         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
16104         (call_vms_1, call_value_vms_1): Rewrite.
16105
16106         * config/alpha/vms.h (ASM_FILE_END): Remove.
16107
16108 2002-08-14  Richard Henderson  <rth@redhat.com>
16109
16110         * ggc-page.c (RTL_SIZE): New.
16111         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
16112         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
16113
16114 2002-08-14  Richard Henderson  <rth@redhat.com>
16115
16116         * calls.c: Include target.h.
16117         * Makefile.in (calls.o): Update.
16118
16119         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
16120         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
16121
16122 2002-08-14  Richard Henderson  <rth@redhat.com>
16123
16124         * Makefile.in (LOOSE_WARN): Add -fno-common.
16125         * c-common.h (constant_string_class_name): Add missing extern.
16126
16127 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
16128
16129         PR preprocessor/7358
16130         * c-opts.c (check_deps_environment_vars): Ignore main file
16131         for SUNPRO_DEPENDENCIES.
16132         * cppfiles.c (stack_include_file): Ignore main file if
16133         appropriate.
16134         * cpplib.h (struct cpp_options): New member in deps.
16135         * doc/cppenv.texi: Update.
16136
16137 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16138
16139         PR preprocessor/7526
16140         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
16141
16142 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
16143
16144         * doc/invoke.texi (-a): Remove documentation.
16145         (-fprofile-arcs): Remove reference to -a, -ax options.
16146         * doc/gcov.texi (Gcov Data Files): Data might be merged.
16147
16148 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16149
16150         Fix PR/7566
16151         * c-semantics.c (genrtl_case_label): Don't (mis)use
16152         warning_with_decl.
16153
16154 2002-08-14  Dale Johannesen  <dalej@apple.com>
16155
16156         * explow.c (emit_stack_restore):  Emit memory clobbers
16157         preceding the stack pop, to prevent the scheduler from
16158         moving refs to variable arrays below this pop.
16159         * reload1.c (reload):  Preserve these clobbers for sched2.
16160         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
16161
16162 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16163
16164         * c-opts.c (c_common_post_options): Correct test.
16165
16166 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16167
16168         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
16169         order in call to fprintf.
16170
16171 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
16172
16173         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
16174
16175 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
16176
16177         * reload.c (find_reloads): Handle constraint letters marked by
16178         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
16179         (alternative_allows_memconst): Likewise.
16180         * reload1.c (maybe_fix_stack_asms): Likewise.
16181         * recog.c (asm_operand_ok, preprocess_constraints,
16182         constrain_operands): Likewise.
16183         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
16184         * local-alloc.c (block_alloc, requires_inout): Likewise.
16185         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
16186
16187         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
16188         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
16189         * doc/tm.texi: Document these two new target macros.
16190
16191         * config/s390/s390.c (s390_expand_plus_operand): Accept already
16192         valid operands.
16193         (q_constraint): New function.
16194         config/s390/s390-protos.h (q_constraint): Declare it.
16195         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
16196         (EXTRA_MEMORY_CONSTRAINT): New macro.
16197
16198         * config/s390/s390.md: Throughout the machine description,
16199         replace all instances of the constraint combinations 'Qo'
16200         or 'oQ' with simply 'Q'.
16201
16202 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16203
16204         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
16205         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
16206         (LIBGCC2_CFLAGS): Compile with -mrelax.
16207
16208 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16209
16210         * doc/invoke.texi: Document -minmax for 68HC12.
16211
16212         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
16213         ("uminqi3"): Likewise.
16214         ("uminhi3", "umaxhi3"): Likewise.
16215
16216         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
16217         (TARGET_MIN_MAX): Define.
16218         (TARGET_SWITCHES): New option -minmax/-mnominmax.
16219
16220 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16221
16222         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
16223         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
16224
16225         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
16226         (ret, declare, farsym): New gas macros.
16227         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
16228         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
16229         and declare the symbol far when compiled with -mlong-calls.
16230         (__far_trampoline): New for 68HC12 trampoline code to invoke a
16231         far handler using jsr/bsr.
16232
16233         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
16234         (jsr): New macro to transform a 'jsr' into a 'call'.
16235
16236 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
16237
16238         * doc/invoke.texi: Document -mlong-calls for 68HC12.
16239
16240         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
16241         -mlong-calls is specified.
16242         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
16243         assembler directives.
16244         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
16245         (TARGET_SWITCHES): Add -mlong-calls options.
16246         (current_function_far): Declare.
16247
16248         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
16249         into account the page register saved on the stack.
16250         (m68hc11_override_options): Take into account -mlong-calls option.
16251         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
16252
16253         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
16254         if the function is going to be in 68HC12 banked memory (-mlong-calls).
16255         ("*return_16bit"): Likewise.
16256         ("*return_void"): Likewise.
16257         ("call", "call_value"): Use call for a far function call.
16258
16259 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
16260
16261         * toplev.c (parse_options_and_default_flags): Don't call
16262         post_options here.
16263         (general_init): Initialize GC, pools and tree hash here,
16264         instead of lang_independent_init.
16265         (lang_independent_init): Rename backend_init.
16266         (do_compile): Call post_options hook; exit early if there
16267         have been errors after switch processing.
16268         (toplev_main): Update.
16269
16270 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16271
16272         * c-pretty-print.h: Guard against multiple inclusion.
16273         Robustify macros.
16274         (pp_c_attributes): Declare.
16275         * c-pretty-print.c (pp_c_attributes): New function.
16276
16277 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16278
16279         * m68k.c (m68k_output_function_prologue,
16280         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
16281         and NEWS/MOTOROLA.
16282         * genattrtab.c: Remove dpx2 comment.
16283         * libgcc2.c (__enable_execute_stack): Delete versions for
16284         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
16285         sony_news/SYSTYPE_BSD.
16286         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
16287         __gmicro__, __i860__, __NeXT__ and __pyr__.
16288         * rtl.h: Remove convex comment.
16289         * varasm.c: Likewise.
16290
16291 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16292
16293         * c-opts.c (lang_flags): Const-ify.
16294         * ra-build.c (undef_table): Likewise.
16295         * ra.c (eliminables): Likewise.
16296
16297 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
16298
16299         * tree.h: Guard against multiple inclusion.
16300
16301 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
16302
16303         * reload1.c (reload_cse_simplify): Before checking
16304         REG_FUNCTION_VALUE_P, check REG_P.
16305
16306 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
16307
16308         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
16309
16310 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16311
16312         * c-opts.c (c_common_init_options): Extra braces needed.
16313
16314 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
16315
16316         * sh.c (sh_init_builtins): Add PARAMS to declaration.
16317         (sh_media_init_builtins, sh_expand_builtin): Likewise.
16318         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
16319         (sh_expand_binop_v2sf): Likewise.
16320         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
16321         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
16322         (sh_initialize_trampoline): Likewise.
16323
16324 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
16325
16326         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
16327         new condition code modes.
16328         s390.c (s390_match_ccmode_set): Handle those new CC modes.
16329         (s390_select_ccmode): Likewise.
16330         (s390_branch_condition_mask): Likewise.
16331
16332         * s390-protos.h (s390_tm_ccmode): Declare.
16333         s390.c (s390_tm_ccmode): New function.
16334         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
16335
16336         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
16337         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
16338         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
16339
16340         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
16341         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
16342         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
16343         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
16344         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
16345
16346         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
16347         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
16348         "*cmpqi_ccs_0"): Remove, replace by ...
16349         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
16350         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
16351         "*tstqi", "*tstqi_cconly"): ... these new patterns.
16352
16353         ("*cmpsidi_ccs"): Remove, replace by ...
16354         ("*cmpsi_ccs_sign"): ... this new pattern.
16355         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
16356
16357         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
16358         ("*cli"): ... this new pattern.
16359
16360         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
16361         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
16362         New patterns.
16363         ("adddi3_64"): Rename to "*adddi3_64".
16364         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
16365         ("adddi3"): Adapt expander.
16366
16367         ("*addsi3_cc"): Allow "general_operand" for operand 2.
16368         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
16369         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
16370
16371         ("addhi3", "addqi3"): Remove, replace by ...
16372         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
16373
16374         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
16375         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
16376         ("subdi3"): Replace by insn and splitter "*subdi3_31".
16377         ("subdi3"): New expander.
16378
16379         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
16380
16381         ("subhi3", "subqi3"): Remove, replace by ...
16382         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
16383
16384         ("*muldi3_sign"): New pattern.
16385         ("muldi3"): Do not clobber CC.
16386         ("mulsi3"): Likewise.
16387         ("mulsi_6432"): Likewise.
16388
16389 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16390
16391         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
16392         which can change CC0.
16393
16394 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
16395
16396         * gcse.c (adjust_libcall_notes): New function.
16397         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
16398
16399 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
16400
16401         * libgcc2.c (L_bb): Remove unneeded #includes.
16402         (__global_counters, __gthreads_active): Remove unused globals.
16403         (__bb_exit_func): Merge counts into files rather than appending.
16404         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
16405         (ALL_CFLAGS): ... to here.
16406
16407 2002-08-13  Denis Chertykov  <denisc@overta.ru>
16408
16409         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
16410         (function_epilogue): Don't calculate function size.
16411         (ip2k_set_compare): Don't use lookup_const_double.
16412         (asm_file_start): Initialization of commands_in_file removed.
16413         (asm_file_end): Output of commands_in_file removed.
16414
16415         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
16416         __INT_MAX__.
16417
16418 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16419
16420         * c-opts.c (c_common_init_options): Check option array is
16421         sorted if checking enabled.
16422
16423 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
16424
16425         * c-pretty-print.c: #include "c-tree.h".
16426         (pp_c_simple_type_specifier): Tweak.
16427         (pp_c_storage_class_specifier): New.
16428         (pp_c_function_specifier): Likewise.
16429         (pp_c_declaration_specifiers): Likewise.
16430         (pp_c_init_declarator): Likewise.
16431         (pp_c_declaration): Likewise.
16432         (pp_c_direct_declarator): Stub.
16433         (pp_c_declarator): Likewise.
16434         (pp_c_parameter_declaration): Likewise.
16435
16436 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
16437
16438         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
16439         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
16440         struct deferred_opt): New.
16441         (COMMAND_LINE_OPTIONS): Add -M*.
16442         (missing_arg): Update.
16443         (c_common_decode_option): Handle -M*.
16444         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
16445         don't call cpp_post_options.
16446         (c_common_finish, check_deps_environment_vars): Update.
16447         * cppfiles.c (stack_include_file, handle_missing_header): Update.
16448         * cpphash.h (CPP_PRINT_DEPS): Remove.
16449         * cppinit.c: Don't include version.h.
16450         (cpp_create_reader): Don't call deps_init.  Initialize
16451         warn_long_long.
16452         (cpp_read_main_file): Init deps if necessary.
16453         (cpp_destroy): Conditionally free deps.
16454         (cpp_finish): Update.
16455         (no_tgt): Remove.
16456         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
16457         (cpp_post_options): Rename post_options.
16458         * cpplib.h (struct cpp_options): Remove some dependency options;
16459         move others to a new structure.
16460         (cpp_post_options): Remove.
16461         (cpp_finish): Comment.
16462         * fix-header.c (read_scan_file): Don't call cpp_post_options.
16463
16464 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16465
16466         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
16467         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
16468         MMIX_rR_REGNUM as clobbered.
16469         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
16470
16471 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
16472
16473         * diagnostic.h (output_formatted_scalar): Rename from
16474         output_formatted_integer.
16475         * diagnostic.def: Add DK_DEBUG.
16476         * diagnostic.c (output_decimal): Adjust.
16477         (output_long_decimal): Likewise.
16478         (output_unsigned_decimal): Likewise.
16479         (output_octal): Likewise.
16480         (output_long_octal): Likewise.
16481         (output_hexadecimal): Likewise.
16482         (output_long_hexadecimal): Likewise.
16483         * c-pretty-print.c (pp_c_type_specifier): New function.
16484         (pp_c_specifier_qualifier_list): Likewise.
16485         (pp_c_abstract_declarator): Likewise.
16486         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
16487
16488 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
16489
16490         * doc/trouble.texi (Disappointments): Add static constructor and
16491         destructor dependency information for AIX.
16492
16493 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16494
16495         * cpphash.h (struct printer): New from cppmain.c.
16496         (cpp_reader): New member.
16497         * cppmain.c (struct printer): Move to cpphash.h.
16498         (options, print): Remove.
16499         (account_for_newlines, print_line, maybe_print_line,
16500         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
16501         scan_translation_unit_trad, cb_line_change, cb_ident,
16502         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
16503         cb_def_pragma): Make reentrant.
16504
16505 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16506
16507         * real.c (ieee_64): Always define.
16508         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16509         (dec_h): Not used yet, hide it.
16510         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
16511         macro controlling use.
16512         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
16513
16514 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
16515
16516         * i386.md (tablejump): Sign extend the operand.
16517         * i386.c (classify_argument): Fix missed case from previous patch.
16518
16519 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
16520
16521         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
16522         to c-copts.c.
16523         (warn_multichar): Die.
16524         (cb_register_builtins): Export.
16525         * c-common.h (warn_multichar, preprocess_file): Remove.
16526         (cb_register_builtins): New.
16527         * c-lang.c (c_init): Remove.
16528         (LANG_HOOKS_INIT): Use c_objc_common_init.
16529         * c-lex.c (init_c_lex): Don't canonicalize filename.
16530         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
16531         (preprocess_file): Make static.  Update for cpplib.
16532         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
16533         (c_common_post_options): Set some cpp options here.
16534         (c_common_init): Move from c-common.c.
16535         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
16536         * cpplib.h (struct cpp_options): Remove in_fname.
16537         (cpp_preprocess_file): Update.
16538         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
16539
16540 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16541
16542         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
16543
16544 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16545
16546         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
16547         backslash in comment preceeding macro definition.
16548         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
16549         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
16550         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
16551
16552 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
16553
16554         * expr.c (store_expr): In condition for checking if value is
16555         generated in TARGET, move call to expr_size last.
16556
16557 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16558
16559         * c-common.c (c_common_init): Call preprocess_file instead.
16560         (c_common_finish): Move to c-opts.c.
16561         * c-common.h (preprocess_file): new.
16562         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16563         check_deps_environment_vars, c_common_finish): New.
16564         (c_common_decode_option): Update for out_fname and dependencies.
16565         * cppinit.c (init_dependency_output, output_deps): Remove.
16566         (cpp_destroy): Update prototype.
16567         (cpp_add_dependency_target): New.
16568         (cpp_read_main_file): Don't overlay a buffer.
16569         (cpp_finish): Take a deps output stream and write deps to it.
16570         Return the error count.
16571         (cpp_post_options): Don't canonicalize out_fname, or do anything
16572         with dependencies.
16573         * cpplib.h (struct cpp_options): Remove out_fname and
16574         preprocess_only.
16575         (cpp_add_dependency_target): New.
16576         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16577         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16578         set preprocess_only.  Don't handle the output stream directly.
16579
16580 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16581
16582         * dsp16xx.c (print_operand): Fix format specifier.
16583         * dsp16xx.md: Avoid automatic aggregate initialization.
16584         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16585         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16586         integer constant modifier.
16587         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16588         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16589         guards.
16590         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16591         * v850.c (v850_select_section): Mark parameter with
16592         ATTRIBUTE_UNUSED.
16593         * global.c (global_alloc): Const-ify.
16594         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16595
16596 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16597
16598         * darwin-c.c (darwin_pragma_options): Const-ify.
16599         * darwin.c (machopic_non_lazy_ptr_name,
16600         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16601         (machopic_indirect_data_reference): Wrap variables in macros
16602         controlling their use.
16603         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16604         (machopic_select_section): Use parentheses around && within ||.
16605         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16606
16607 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16608
16609         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16610         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16611         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16612         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16613         mdr_try_remove_redundant_insns, track_w_reload,
16614         mdr_try_wreg_elim): Make function static to match prototype.
16615         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16616         parameter with ATTRIBUTE_UNUSED.
16617
16618 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16619
16620         * arc.c (arc_init): Don't use ISO C style function definitions.
16621         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16622         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16623         * avr.h (progmem_section): Likewise.
16624         * h8300.c h8300_asm_insn_count): Likewise.
16625         * m32r.c (init_idents): Likewise.
16626         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16627         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16628         * xtensa.c (xtensa_build_va_list): Likewise.
16629
16630 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16631
16632         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16633         * c-opts.c (parse_option): Rename find_opt.
16634         (set_std_c99): New function.
16635         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16636         (missing_arg): Remove OPT_std_bad.  Handle -o.
16637         (c_common_decode_option): Handle input and output file names,
16638         -o and -remap.  Clean up -std= handling.
16639         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16640         (cpp_handle_option): Similarly.  Don't handle filenames.
16641
16642 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16643
16644         * i386.c (classify_argument): Fix computing of field's offsets.
16645
16646 2002-08-11  Andreas Jaeger  <aj@suse.de>
16647
16648         PR target/7531:
16649         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16650
16651 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16652
16653         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16654         reference to clk_objective_c with flag_objc.
16655         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16656         Likewise.
16657         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16658
16659 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16660
16661         * c-opts.c (set_std_cxx98, set_std_c89): New.
16662         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16663         (c_common_decode_option): Handle new switches from cppinit.c.
16664         Add -std=gnu++98.
16665         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16666         (no_arg, no_num): Remove.
16667         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16668         switches apart from -lang-objc and lang-asm.
16669         (cpp_handle_option): Similarly.
16670         * cpplib.h (cpp_set_lang): New.
16671         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16672         -std=gnu++98.
16673         * objc/lang-specs.h: Remove -ansi.
16674
16675 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16676                                Graham Stott
16677
16678         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16679         errors.
16680
16681 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16682
16683         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16684         emit_jump_insn): Fix uninitialized variable.
16685         * gcov.c (init_line_info): Likewise.
16686         * genautomata.c (transform_3): Add braces around ambiguous
16687         else.
16688         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16689         ATTRIBUTE_UNUSED.
16690         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16691         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16692         variable.
16693
16694         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16695         warnings in output files.
16696
16697 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16698
16699         * c-common.c (flag_objc): New.
16700         * c-common.h (c_language_kind): Get rid of clk_objective_c
16701         enum value.
16702         (flag_objc): New extern declaration.
16703         * c-decl.c (implicitly_declare): Call objc_check_decl
16704         instead of maybe_objc_check_decl.
16705         (finish_decl): Likewise.
16706         (grokfield): Likewise.
16707         (finish_struct): Likewise.
16708         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16709         (maybe_objc_comptypes): Rename to objc_comptypes.
16710         (maybe_building_objc_message_expr): Rename to
16711         objc_message_selector.
16712         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16713         replace with flag_objc as needed.
16714         * c-opts.c (c_common_init_options): Likewise.
16715         (c_common_decode_option): Likewise.
16716         * c-parse.in (init_reswords): Likewise.
16717         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16718         (maybe_objc_comptypes): Rename to objc_comptypes.
16719         (maybe_building_objc_message_expr): Rename to
16720         objc_message_selector.
16721         * c-typeck.c (comptypes): Call objc_comptypes instead of
16722         maybe_objc_comptypes, and/or objc_message_selector instead of
16723         maybe_building_objc_message_expr.
16724         (comp_target_types): Likewise.
16725         (convert_for_assignment): Likewise.
16726         (warn_for_assignment): Likewise.
16727         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16728         independently of those for other languages.
16729         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16730         (maybe_objc_check_decl): Delete.
16731         (maybe_building_objc_message_expr): Rename to
16732         objc_message_selector.
16733         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16734         clk_objective_c; set flag_objc flag.
16735
16736 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16737
16738         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16739
16740 2002-08-09  Dale Johannesen  <dalej@apple.com>
16741
16742         * config/rs6000/rs6000.md: Add sibcall patterns.
16743         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16744         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16745         Rewritten to handle sibcalls.
16746         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16747         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16748
16749 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16750
16751         * profile.c (da_file_name): New static var.
16752         (init_branch_prob): Initialize it.
16753         (end_branch_prob): Remove da file.
16754
16755         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16756         * configure.in (coverage_flags): Default to nothing.
16757         * configure: Rebuilt.
16758
16759 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16760
16761         * Makefile.in (c-opts.o): Update
16762         * c-opts.c: Include intl.h.
16763         (print_help): Move from cppinit.c.  Remove unused options.
16764         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16765         (missing_arg): Complain for switches without an argument.
16766         (c_common_decode_option): Reject missing joined arguments.
16767         Handle new switches from cppinit.c.
16768         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16769         (cpp_handle_option): Similarly.
16770         (print_help): Moved to c-opts.c.
16771         * cpplib.h (struct cpp_options): Remove help_only.
16772         * gcc.c (cpp_unique_options): Remove -$.
16773         * doc/cppopts.texi: Undocument -h.
16774
16775 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16776
16777         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16778         legitimate constant.
16779         (legitimate_pic_operand_p): Neither pic operand.
16780         (legitimate_address_p): But legitimate address.
16781         (get_thread_pointer): Generate MEM/u instead of CONST around
16782         UNSPEC_TP.
16783         (print_operand): Remove printing of UNSPEC_TP.
16784         (print_operand_address): And print it here.
16785
16786 2002-08-08  Devang Patel  <dpatel@apple.com>
16787
16788         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16789         when  -Wselector is used,if method for which selector is being
16790         created does not exist.
16791
16792 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16793
16794         * config/sh/sh.c (prepare_move_operands): Only call
16795         target_reg_operand if TARGET_SHMEDIA.
16796
16797 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16798
16799         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16800         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16801         two patches.
16802         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16803
16804 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
16805             Richard Henderson  <rth@redhat.com>
16806
16807         * emit-rtl.c (gen_rtx_REG): After reload, only return
16808         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16809
16810 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16811
16812         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16813         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16814         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16815         macro.
16816
16817 2002-08-08  Adam Nemet  <anemet@lnxw.com>
16818
16819         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16820         register.
16821         (thumb_expand_prologue): Likewise.
16822         (thumb_output_function_prologue): Likewise.
16823         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16824         the additional push of the PIC register.
16825
16826 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16827
16828         * configure.in (enable_coverage): New enable switch.
16829         * configure: Rebuilt.
16830         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16831         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16832         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16833         (mostlyclean): Remove coverage files.
16834         * doc/install.texi: Document enable_coverage.
16835
16836         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16837         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16838         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16839         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16840         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16841         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16842         files.
16843
16844 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
16845
16846         * c-opts.c (cpp_opts): New.
16847         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16848         (c_common_decode_options): Handle cpplib switches.
16849         (c_common_init_options): Set cpp_opts.
16850         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16851         (cpp_handle_option): Similarly.
16852
16853 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
16854
16855         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16856         (TARGET_ALTIVEC_ABI): Same.
16857         (TARGET_ALTIVEC_VRSAVE): Same.
16858
16859         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16860         icode not CODE_FOR_nothing.  Change switch to if.
16861
16862 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
16863
16864         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16865
16866 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16867
16868         * stor-layout.c (place_union_field): For bitfields if
16869         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16870         TYPE_USER_ALIGN.
16871
16872 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16873
16874         * pa.c (struct deferred_plabel): Constify name field.
16875
16876 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16877
16878         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16879
16880 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16881
16882         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16883         local_prefix are the same.
16884         * configure: Rebuilt.
16885
16886 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
16887             Richard Henderson  <rth@redhat.com>
16888
16889         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16890         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
16891         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16892         (place_field): Likewise.
16893         * config/i386/i386.c (x86_field_alignment): Don't check
16894         DECL_USER_ALIGN here.
16895         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16896         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16897         prototype.
16898         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16899         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16900         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16901         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16902         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16903         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16904
16905 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16906
16907         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16908         * c-common.c: Don't include tree-inline.h.
16909         (c_common_init_options, c_common_post_options): Move to c-opts.c.
16910         * c-common.h (c_common_decode_option): New.
16911         * c-decl.c (c_decode_option): Remove.
16912         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16913         * c-opts.c: New file.
16914         * c-tree.h (c_decode_option): Remove.
16915         * doc/passes.texi: Update.
16916         * objc/objc-act.c (objc_decode_option): Remove.
16917         * objc/objc-act.h (objc_decode_option): Remove.
16918         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16919         c_common_decode_option.
16920
16921 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
16922
16923         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16924         dependency on TARGET_DOUBLE_FLOAT.
16925
16926 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
16927
16928         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16929         overwrite callee-save registers.  Fix comment.
16930
16931 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
16932
16933         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16934         in target_flags based on ISA, if it was not set on the command
16935         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16936         support Branch Likely instructions.
16937         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16938         (TARGET_BRANCHLIKELY): Likewise.
16939         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16940         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16941         ISA_HAS_BRANCHLIKELY.
16942         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16943         * doc/invoke.texi: Document new MIPS -mbranch-likely and
16944         -mno-branch-likely options.
16945
16946 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16947
16948         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16949
16950         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16951         $(GCONFIG_H).
16952
16953 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
16954
16955         * c-decl.c (duplicate_decls): Error out for incompatible TLS
16956         declarations.
16957
16958         * testsuite/gcc.dg/tls/diag-3.c: New.
16959
16960 2002-08-06  Dale Johannesen  <dalej@apple.com>
16961
16962         * c-common.c (fname_decl): Use line number 0 for
16963         __func__, to avoid confusing debuggers.
16964
16965 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
16966
16967         * gcov.c: Tidy.
16968         (struct line_info, struct coverage): New structures.
16969         (gcov_file_name, gcov_file): Remove globals.
16970         (output_data): Take source file parameter. Fix memory leak. Break
16971         up into ...
16972         (init_line_info, output_line_info, make_gcov_file_name,
16973         accumulate_branch_counts): ... here.
16974         (calculate_branch_probs, function_summary): Adjust.
16975         (main): Adjust.
16976         (function_*): Remove global variables.
16977
16978 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16979
16980         * dwarf2out.c: Remove unused macros.
16981
16982 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16983
16984         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16985
16986 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16987
16988         * cppinit.c (struct lang_flags): Rename trigraphs std.
16989         (set_lang): Update.
16990         * cpplib.h (struct cpp_options): New member std.
16991         * cppmacro.c (_cpp_builtin_macro_text): Use std.
16992         (collect_args): Flag whether to swallow a possible future
16993         comma pasted with varargs.
16994         (replace_args): Use this flag.
16995         * doc/cpp.texi: Update varargs extension documentation.
16996
16997 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16998
16999         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
17000
17001 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17002
17003         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
17004         and MODE_CLASS_INT modes.
17005
17006 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
17007
17008         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
17009         --{enable,disable}-threads is given to configure.
17010         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
17011         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
17012         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
17013         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
17014         Remove thread_file setting here.
17015
17016 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
17017
17018         * doc/install.texi (Binaries): Update Bull Freeware URL.
17019
17020 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
17021
17022         * doc/gcc.texi (Top): Rename Index to Keyword Index.
17023
17024 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
17025
17026         * gcov.c (output_data): Round to % to nearest, tweak formatting.
17027
17028 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
17029
17030         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
17031         of the operands into MINUS_EXPR if code is PLUS_EXPR.
17032
17033 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
17034
17035         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
17036         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
17037         drectve_section): Define.
17038         * config/i386/t-interix: Replace interix.o rule with winnt.o.
17039         * config/i386/interix.c: Remove.
17040
17041 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
17042
17043         * attribs.c: Don't include obstack.h.
17044         * builtins.c: Likewise.
17045         * cfganal.c: Likewise.
17046         * cfgbuild.c: Likewise.
17047         * cfgcleanup.c: Likewise.
17048         * emit-rtl.c: Likewise.
17049         * loop.c: Likewise.
17050         * stmt.c: Likewise.
17051
17052         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
17053
17054 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
17055
17056         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
17057
17058 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
17059
17060         * doc/invoke.texi: Remove duplicated paragraph describing
17061         TARGET_SWITCHES.
17062
17063 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
17064
17065         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
17066         * collect2.h (permanent_obstack): Delete declaration.
17067         * collect2.c (permanent_obstack): Delete definition.
17068         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
17069         * expr.c: Don't include obstack.h.
17070         (permanent_obstack): Delete declaration.
17071         * function.c: Don't include obstack.h.
17072         (permanent_obstack): Delete declaration.
17073         * integrate.c: Don't include obstack.h.
17074         (function_maybepermanent_obstack): Delete declaration.
17075         * print-tree.c (debug_tree): Use x*alloc not permalloc.
17076         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
17077         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
17078         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
17079         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
17080         of permalloc, expralloc, perm_calloc.
17081         * tree.c (permanent_obstack): Delete definition.
17082         (init_ttree): Rename from init_obstacks.
17083         (permalloc): Delete.
17084         (perm_calloc): Delete.
17085         (dump_tree_statistics): Don't print information about
17086         permanent_obstack.
17087         * varasm.c (assemble_start_function): Use xstrdup instead of
17088         permalloc/strcpy.
17089         (assemble_variable): Likewise.
17090         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
17091         permalloc.
17092         (unicosmk_add_extern): Likewise.
17093         * config/c4x/c4x.c (c4x_external_ref): Likewise.
17094         (c4x_global_label): Likewise.
17095         * config/frv/frv.c (frv_encode_section_info): Likewise.
17096         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
17097         (i386_pe_record_exported_symbol): Likewise.
17098         * config/mips/mips.c (mips_output_external): Likewise.
17099         (mips_output_external_libcall): Likewise.
17100         * config/pa/pa.c: (permanent_obstack): Delete declaration.
17101         (output_call): Use ggc_strdup instead of allocating on
17102         permanent_obstack.
17103         * config/romp/romp.c: Include ggc.h.
17104         (get_symref): Don't declare permanent_obstack, use ggc_strdup
17105         intead of permanent_obstack.
17106         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
17107         instead of permalloc.
17108         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
17109         instead of permalloc
17110         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
17111         instead of permalloc.
17112         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
17113         permalloc.
17114
17115 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
17116
17117         Contribute a port developed primarily by Michael Meissner,
17118         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
17119         * config.gcc: Add frv-elf target.
17120         * config/frv/cmovd.c: New file.
17121         * config/frv/cmovh.c: New file.
17122         * config/frv/cmovw.c: New file.
17123         * config/frv/frv-abi.h: New file.
17124         * config/frv/frv-asm.h: New file.
17125         * config/frv/frv-modes.def: New file.
17126         * config/frv/frv-protos.h: New file.
17127         * config/frv/frv.c: New file.
17128         * config/frv/frv.h: New file.
17129         * config/frv/frv.md: New file.
17130         * config/frv/frvbegin.c: New file.
17131         * config/frv/frvend.c: New file.
17132         * config/frv/lib1funcs.asm: New file.
17133         * config/frv/media.h: New file.
17134         * config/frv/modi.c: New file.
17135         * config/frv/t-frv: New file.
17136         * config/frv/uitod.c: New file.
17137         * config/frv/uitof.c: New file.
17138         * config/frv/ulltod.c: New file.
17139         * config/frv/ulltof.c: New file.
17140         * config/frv/umodi.c: New file.
17141         * config/frv/xm-frv.h: New file.
17142
17143         * config/frv/media.h: Removed again.
17144
17145 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17146
17147         * gcov.c (bb_file_time): New static variable.
17148         (object_directory): May also be object file.
17149         (preserve_paths): New static variable.
17150         (print_usage): Adjust.
17151         (options): Adjust.
17152         (process_args): Adjust.
17153         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
17154         file. Find modification date on bb file.
17155         (read_profile): Don't rewind a NULL file.
17156         (format_hwint): New static function.
17157         (function_summary): Use format_hwint.
17158         (output_data): SOURCE_FILE_NAME is never relative to
17159         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
17160         mangling. Adjust output format to make it more machine readable.
17161         * doc/gcov.texi: Document & clarify semantics.
17162
17163 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
17164
17165         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
17166
17167 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17168
17169         * gcc.c (cc1_options): Pass output file as auxbase when
17170         appropriate.
17171         * profile.c (init_branch_prob): FILENAME has already had ending
17172         stripped.
17173         * final.c (end_final): Likewise.
17174         * toplev.c (aux_base_name): New global.
17175         (compile_file): Pass aux_base_name to init init_branch_prob and
17176         end_final.
17177         (independent_decode_option, case 'a'): New auxinfo options.
17178         (case 'd'): Protect against mising basename.
17179         (do_compile): Initialize aux_base_name.
17180         * toplev.h (aux_base_name): New global.
17181         * doc/invoke.texi: Adjust documentation.
17182
17183 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
17184
17185         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
17186         of TARGET_ALIGN_DOUBLE.
17187
17188 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
17189
17190         * diagnostic.c (inform): New function.
17191         * diagnostic.h (inform): Declare.
17192
17193 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
17194
17195         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
17196         (movhi_internal): Same.
17197         (movqi_internal): Same.
17198         (movdi_internal64): Same.
17199
17200         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
17201
17202         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
17203         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
17204         (COMMON_ASM_OP): Define.
17205         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
17206         Use ALIGN parameter.
17207         (LOCAL_COMMON_ASM_OP): Define.
17208         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
17209
17210 2002-08-03  Roger Sayle  <roger@eyesopen.com>
17211
17212         * builtins.def: Define new builtin functions exp, expf, expl,
17213         log, logf and logl (and their __builtin_* variants).
17214         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
17215         Define exp_optab and log_optab.
17216         * optabs.c (init_optans): Initialize exp_optab and log_optab.
17217         * genopinit.c (optabs): Implement exp_optab and log_optab
17218         using exp?f2 and log?f2 patterns.
17219         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
17220         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
17221         (expand_builtin): Ignore the new builtins (and all cos and
17222         sin variants) when not optimizing.  Expand new builtins via
17223         expand_builtin_mathfn when flag_unsafe_math_optimizations.
17224
17225         * doc/extend.texi: Document new exp and log builtins.
17226         * doc/md.texi: Document new exp?f2 and log?f2 patterns
17227         (and previously undocumented cos?f2 and sin?f2 patterns).
17228
17229 2002-08-03  Jason Merrill  <jason@redhat.com>
17230
17231         * explow.c (int_expr_size): New fn.
17232         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
17233         * expr.h: Declare it.
17234
17235 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
17236
17237         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
17238         gengtype-* dependencies.
17239
17240 2002-08-02  Eric Christopher  <echristo@redhat.com>
17241
17242         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
17243         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
17244         #ifndef to #undef.
17245         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
17246
17247 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
17248
17249         PR optimize/7067
17250         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
17251         small if optimizing for size.
17252
17253 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
17254
17255         * configure.in (FORBUILD): Use $build_alias.
17256         * configure: Regenerated.
17257
17258 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
17259
17260         * config.gcc: Don't include mips/abi64.h in $tm_file.
17261         * hard-reg-set.h (call_really_used_regs): Declare.
17262         * config/mips/abi64.h: Remove file.
17263         * config/mips/linux.h,
17264         * config/mips/iris6.h: Don't include it.
17265         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
17266         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
17267         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
17268         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
17269         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
17270         Bring across definitions from abi64.h.
17271         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
17272         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
17273         (struct mips_args): Use it.
17274         * config/mips/mips.c (mips_conditional_register_usage): Define.
17275
17276 2002-08-02  Jason Merrill  <jason@redhat.com>
17277
17278         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
17279         * langhooks.c (lhd_expr_size): Define default.
17280         * langhooks.h (struct lang_hooks): Add expr_size.
17281         * explow.c (expr_size): Call it.
17282         * expr.c (store_expr): Don't copy an expression of size zero.
17283         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
17284         to store.
17285         * Makefile.in (builtins.o): Depend on langhooks.h.
17286
17287 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17288
17289         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
17290         * ra-debug.c: Include "tm_p.h".
17291         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
17292
17293 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
17294
17295         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
17296         when not honoring signalling NaNs.
17297         (simplify_ternary_operation): a == b has a definite value
17298         when not honoring NaNs.
17299
17300 2002-08-02  Jason Merrill  <jason@redhat.com>
17301
17302         * gdbinit.in (pct): New macro.
17303
17304 2002-08-01  Stan Shebs  <shebs@apple.com>
17305             Andreas Tobler  <toa@pop.agri.ch>
17306
17307         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
17308         plays nice with Darwin headers.
17309         (_BSD_RUNE_T_DEFINED_): Likewise.
17310
17311 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17312
17313         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
17314         * cppinit.c (cpp_post_options): Likewise.
17315
17316         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
17317         warning about 'LL' suffix (but not 'ULL' etc) when
17318         -Wno-long-long is in effect.
17319
17320         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
17321         Check for failing time()/localtime(), issue a warning, and
17322         make __TIME__ and __DATE__ expand to fallback strings.
17323
17324         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
17325         and __TIME__ when the date and time cannot be determined.
17326
17327 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17328
17329         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
17330
17331 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
17332
17333         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
17334
17335 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17336
17337         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
17338         (mipsisa64sb1el-*-elf*): Likewise.
17339         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
17340         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
17341         (TARGET_SB1, TUNE_SB1): New macros.
17342         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
17343         -mtune flags.
17344
17345 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
17346
17347         * varasm.c (asm_emit_uninitialized): Return false if global BSS
17348         and ASM_EMIT_BSS not supported by target.
17349         (assemble_variable): Do not duplicate uninitialized logic.
17350         Fall through if asm_emit_uninitialized failed.
17351
17352 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
17353
17354         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
17355
17356 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
17357
17358         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
17359         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
17360
17361         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
17362         HOST_BITS_PER_WIDE_INT == 64.
17363
17364 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17365
17366         * df.c (df_insn_table_realloc): Change parameter to unsigned.
17367         * optabs.c (expand_binop): Make variable unsigned.
17368         * simplify-rtx.c (simplify_subreg): Likewise.
17369         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
17370
17371 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17372
17373         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
17374
17375 2002-08-01  Richard Henderson  <rth@redhat.com>
17376
17377         * toplev.c (parse_options_and_default_flags): Don't set
17378         flag_reorder_blocks for -Os.
17379
17380         * config/avr/avr.c (avr_optimization_options): Remove.
17381         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
17382         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
17383         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
17384
17385 2002-08-01  H.J. Lu <hjl@gnu.org>
17386             Richard Henderson  <rth@redhat.com>
17387
17388         * output.h (DECL_READONLY_SECTION): Remove.
17389         (decl_readonly_section): Declare.
17390         * varasm.c (decl_readonly_section): New.
17391         (default_section_type_flags, default_select_section): Use it.
17392         * config/arm/pe.c (arm_pe_unique_section): Likewise.
17393         * config/i386/interix.c (i386_pe_unique_section): Likewise.
17394         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
17395         * config/mcore/mcore.c (mcore_unique_section): Likewise.
17396         * config/mips/mips.c (mips_unique_section): Likewise.
17397
17398 2002-08-01  Richard Henderson  <rth@redhat.com>
17399
17400         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
17401         refers to a subroutine parameter.
17402
17403 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
17404
17405         * varasm.c (assemble_visibility): Strip name encoding.
17406
17407 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
17408
17409         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
17410         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
17411         when there is no frame pointer.
17412         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
17413         registers properly.
17414         * config/ns32k/__unorddf2.c: New file.
17415         * config/ns32k/__unordsf2.c: New file.
17416         * config/ns32k/t-ns32k: New file.
17417         * config.gcc (ns32k-*-netbsd*): Use it.
17418
17419 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
17420
17421         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
17422
17423 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17424
17425         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
17426
17427 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
17428
17429         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
17430
17431 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
17432
17433         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
17434
17435 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
17436
17437         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
17438         n_sets): Removed.
17439         (expr_hash_table, set_hash_table): Type changed to ...
17440         (struct hash_table): New type.
17441         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
17442         insert_expr_in_table, insert_set_in_table, compute_hash_table,
17443         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
17444         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
17445         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
17446         (alloc_hash_table): New.
17447         (free_set_hash_table, free_expr_hash_table): Merged to ...
17448         (free_hash_table): New.
17449         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
17450         (compute_hash_table_work): New.
17451         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
17452         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
17453         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
17454         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
17455         hoist_code, one_code_hoisting_pass,
17456         trim_ld_motion_mems): Altered due to changed type of hash tables.
17457
17458 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
17459
17460         * final.c (output_alternate_entry_point):
17461         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
17462
17463 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17464
17465         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
17466         avoid ISO C style function definition.
17467
17468         * expr.c (expand_assignment): Delete unused variable.
17469
17470 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
17471
17472         * c-common.c (cb_register_builtins): Set
17473         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
17474         is given, and to 0 otherwise.
17475         * combine.c (simplify_if_then_else): HONOR_NANS
17476         implies FLOAT_MODE_P.
17477
17478 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17479
17480         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
17481         (cpp_handle_option): Don't handle it.
17482         (print_help): Update.
17483         * doc/cppopts.texi: Update.
17484
17485 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17486
17487         * c-common.c (cb_register_builtins): If C++, define
17488         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
17489         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
17490 cp:
17491         * lang-specs.h: Simplify in accordance with new code in
17492         c-common.c.
17493
17494 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
17495
17496         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
17497         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
17498         * c-decl.c: Move all warning and flag variables to c-common.c.
17499         * c-format.c: Move all warning variables to c-common.c.
17500         * c-tree.h: Move all warning and flag declarations to c-common.h.
17501         * objc/objc-act.c: Move all warning variables to c-common.c.
17502         (flag_warn_protocol): Rename warn_protocol.
17503
17504 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
17505
17506         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
17507
17508 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
17509
17510         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
17511         .section prefix.
17512
17513 2002-07-31  Stan Shebs  <shebs@apple.com>
17514
17515         * config.gcc (i[34567]86-*-darwin*): New configuration.
17516         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
17517         defining.
17518         (TARGET_ENCODE_SECTION_INFO): Ditto.
17519         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
17520         * config/darwin.c (machopic_indirect_data_reference): Remove
17521         setting of RTX_UNCHANGING_P.
17522         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
17523         not to be applied to sums.
17524         * config/i386/t-darwin: New file.
17525         * config/i386/darwin.h: New file.
17526         * config/i386/i386.h (TARGET_MACHO): Add default definition.
17527         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
17528         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
17529         label and not the GOT add.
17530         (constant_address_p): For Mach-O, seeing a CONST is enough.
17531         (legitimate_pic_address_disp_p): Add a Mach-O case.
17532         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
17533         (legitimize_pic_address): Use generic Mach-O code to legitimize.
17534         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
17535         if outputting a difference.
17536         (ix86_output_addr_diff_elt): Add Mach-O case.
17537         (ix86_expand_move): Similarly.
17538         (ix86_expand_call): Similarly.
17539         (current_machopic_label_num): New global.
17540         (machopic_output_stub): New function.
17541         (ix86_value_regno): New function.
17542         (ix86_function_value): Use it instead of VALUE_REGNO.
17543         (ix86_libcall_value): Ditto.
17544         * config/i386/unix.h (VALUE_REGNO): Remove.
17545
17546 2002-07-31  Graham Stott  <grahas@btinternet.com>
17547
17548         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
17549         hash for LABEL_REF's.
17550
17551 2002-07-31  Graham Stott  <grahams@btinternet.com>
17552
17553         * config/rs6000/rs6000.c (spe_init_builtins,
17554         altivec_init_builtins, rs6000_common_init_builtins):
17555         Replace ANSI with K&R function def.
17556
17557 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
17558
17559         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17560         for CCFPmode.
17561
17562 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17563
17564         * config/mips/crtn.asm: Don't use __mips16 to determine the
17565         return-address offset.  Define RA to a suitable temporary
17566         register for the return address.
17567
17568 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17569
17570         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17571         constraints to 'd'.
17572
17573 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17574
17575         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17576         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17577         patch on 2002-07-29.)
17578         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17579
17580 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17581
17582         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17583         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17584         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17585         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17586         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17587         (ASM_GLOBALIZE_LABEL): Delete.
17588         (GLOBAL_ASM_OP): Define.
17589
17590         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17591
17592         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17593         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17594
17595 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17596
17597         * doc/extend.texi (Hints implementation): Document that GCC
17598         mostly ignores `register'.
17599
17600 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17601
17602         * flags.h: Declare flag_finite_math_only.
17603         Use it in definition of HONOR_NANS and
17604         HONOR_INFINITIES.
17605         * c-common.c (cb_register_builtins): Emit
17606         __FINITE_MATH_ONLY__ when flag_finite_math_only
17607         is set.
17608         * combine.c (simplify_if_then_else): If
17609         flag_finite_math_only is set, a == b has a
17610         definite value.
17611         * toplev.c: Initialize flag_finite_math_only.
17612         (set_flags_fast_math): Set it on -ffast-math.
17613         (flag_fast_math_set_p): Test it.
17614         * doc/invoke.texi: Document -ffinite-math-only.
17615
17616 2002-07-30  Richard Henderson  <rth@redhat.com>
17617
17618         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17619         (noce_process_if_block): Likewise.
17620
17621 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17622
17623         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17624         Bail out early if false_expr is NULL and we'd crash due to this.
17625         * genemit.c (gen_expand): Recognize return insns even if the return
17626         appears in a parallel.
17627         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17628         * config/fp-bit.c: Likewise.
17629         * doc/tm.texi: Document it.
17630
17631 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17632             Zack Weinberg  <zack@codesourcery.com>
17633
17634         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17635         CODE_FOR_nothing.  Change switch to if.
17636         (rs6000_expand_binop_builtin): Same.
17637         (rs6000_expand_builtin): Expand builtin if target support enabled.
17638         (rs6000_init_builtins): Init builtin if target support enabled.
17639         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17640
17641 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17642
17643         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17644
17645 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17646
17647         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17648
17649 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17650
17651         * sh.md (cond_delay_slot): New attribute.
17652         (cbranch delay): Use it for anulled-true case.
17653         (stuff_delay_slot): New pattern.
17654         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17655         delay slot insn.
17656         (gen_far_branch): Emit stuff_delay_slot pattern.
17657
17658 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17659
17660         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17661
17662 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17663
17664         * fold-const.c: Fix comment typos.
17665         * gcse.c: Likewise.
17666         * reload1.c: Likewise.
17667
17668 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17669
17670         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17671         for TARGET_SPE.
17672
17673 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17674
17675         * c-pretty-print.h (pp_c_statement): Declare.
17676         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17677         (pp_c_statement): Define.
17678
17679 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17680
17681         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17682         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17683         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17684         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17685         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17686         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17687
17688         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17689         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17690
17691 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17692
17693         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17694         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17695         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17696         (pp_c_expression): Update.
17697
17698 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17699
17700         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17701         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17702         * alpha/vms-ld.c (main): Likewise.
17703         * dsp16xx.c (double_reg_to_memory): Likewise.
17704         * mcore.c (mcore_expand_prolog): Likewise.
17705         * cppfiles.c (read_name_map): Likewise.
17706         * gensupport.c (process_rtx, identify_predicable_attribute,
17707         alter_test_for_insn): Likewise.
17708         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17709
17710 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17711
17712         * builtins.c (expand_builtin):  Change the default behavior to
17713         only issue an error if the builtin function doesn't have a
17714         fallback library call.  Remove several cases handled by the
17715         new default.
17716
17717 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17718
17719         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17720         floating point format of the target is IEEE.
17721         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17722         format of the target is DEC.
17723
17724 2002-07-29  Richard Henderson  <rth@redhat.com>
17725
17726         * unroll.c (verify_addresses): Remove.
17727         (find_splittable_givs): Never split DEST_ADDR givs.
17728
17729 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17730
17731         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17732         is exhaustive.
17733         (Files): Improve documentation on generated source files.
17734
17735         * doc/extend.texi (Translation implementation): Document what
17736         diagnostics look like.
17737         (Identifiers implementation): Document that there's normally no
17738         limit on identifier names.
17739         (Integers implementation): Document two's complement.
17740         (Hints implementation): Document that GCC honors 'inline', mostly.
17741         (Preprocessing directives implementation): Document that GCC
17742         requires the current time.
17743
17744 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17745
17746         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17747         (pp_initializer): New macro.
17748         (pp_c_initializer): Declare.
17749         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17750         (pp_c_initializer): Define.
17751         (pp_c_initializer_list): New function.
17752         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17753         VECTOR_CST, CONSTRUCTOR.
17754         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17755         IMAGPART_EXPR.
17756         (pp_c_cast_expression): Handle FLOAT_EXPR.
17757         (pp_c_assignment_expression): Handle INIT_EXPR.
17758         (pp_c_expression): Update.
17759
17760 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17761
17762         * objc/objc-act.c (objc_init): Return immediately if filename
17763         is NULL.
17764
17765 2002-07-29  Eric Christopher  <echristo@redhat.com>
17766
17767         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17768         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17769         (SDB_DEBUGGING_INFO): Undefine.
17770         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17771         (PUT_SDB_SIZE): Remove.
17772         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17773         (STARTFILE_SPEC): Add isa3264 define.
17774         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17775         * config/mips/ecoff.h: Remove. and here...
17776         * config/mips/iris3.h: and here...
17777         * config/mips/sni-svr4.h: and here...
17778         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17779         Add assembler -mmdebug options for non-dwarf debugging.
17780         * config/mips/r3900.h: Remove debug info defines.
17781         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17782         * config/mips/isa3264.h: Ditto.
17783         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17784         change.
17785         * config/mips/t-elf: Ditto.
17786         * config/mips/t-ecoff: Ditto.
17787         * config/mips/t-r3900: Ditto.
17788         * config/mips/t-iris5-6: Ditto.
17789         * config/mips/t-isa3264: Ditto.
17790         * config/mips/t-linux: Remove.
17791         * config/mips/t-netbsd: Remove.
17792         * config/mips/t-mips: New file.
17793         * config/mips/t-gofast: Ditto.
17794         * config/mips/netbsd.h: Remove unnecessary undefines.
17795         * config/mips/linux.h: Remove #include of mips.h.
17796         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17797         for ecoff. Add gofast configure option for mips.
17798
17799 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17800
17801         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17802         linker scripts use STARTUP directives consistently.
17803         * configure: Regenerate.
17804         * config.in: Regenerate.
17805         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17806         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17807         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17808         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17809         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17810         will be the same.
17811
17812 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17813
17814         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17815
17816 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17817
17818         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17819
17820 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
17821
17822         * config/rs6000/rs6000.md: Move altivec patterns from here...
17823
17824         * config/rs6000/altivec.md: ...to here.
17825
17826 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17827
17828         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17829
17830 2002-07-29  Richard Henderson  <rth@redhat.com>
17831
17832         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17833         set_mem_attributes and add BITPOS argument.  Subtract it from
17834         OFFSET when same is adjusted.
17835         (set_mem_attributes): New wrapper function.
17836         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17837         remove offset adjustment hack.
17838         * expr.h (set_mem_attributes_minus_bitpos): Declare.
17839
17840 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17841
17842         * Makefile.in (C_OBJS): Include c-pretty-print.o
17843         (c-pretty-print.o): Add depency rule.
17844         * pretty-print.h: Add more macros.
17845         * c-pretty-print.c: New file.
17846         * c-pretty-print.h: Likewise.
17847
17848 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17849
17850         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17851         constants to __ev64_s32__.
17852         (__internal_ev_mwhgsmian): Same.
17853         (__internal_ev_mwhgsmfan): Same.
17854         (__internal_ev_mwhgssfan): Same.
17855         (__internal_ev_mwhgumiaa): Same.
17856         (__internal_ev_mwhgsmiaa): Same.
17857         (__internal_ev_mwhgsmfaa): Same.
17858         (__internal_ev_mwhgssfaa): Same.
17859
17860 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
17861
17862         * varasm.c (assemble_variable): Narrow test for uninitialized
17863         without BSS target support.
17864
17865 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
17866
17867         * profile.c: Add file comment describing the overall algorithm and
17868         structures.
17869         (struct edge_info): Add comments.
17870         (struct bb_info): Add comments.
17871         * basic-block.h (EDGE_*): Add comments.
17872         * doc/gcov.texi (Gcov Data Files): Document bit flags.
17873
17874 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
17875
17876         * config/xtensa/elf.h, config/xtensa/linux.h
17877         (TARGET_OS_CPP_BUILTINS): Define.
17878         (CPP_PREDEFINES): Remove.
17879         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17880         (CPP_SPEC): Remove.
17881
17882 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
17883
17884         * gensupport.c: Include hashtab.h.
17885         (insn_elision, condition_table, hash_c_test, cmp_c_test,
17886         maybe_eval_c_test): New routines and data structures to
17887         support insn elision.
17888         (init_md_reader): Read and initialize the condition_table.
17889         (read_md_rtx): Discard insn patterns whose C test is provably
17890         always false.
17891         * gensupport.h: Declare new functions and data structures.
17892
17893         * genconditions.c, dummy-conditions.c: New files.
17894         * Makefile.in: Build genconditions; run it to construct
17895         insn-conditions.c; build that and link it into most gen*
17896         programs.
17897         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17898         (GEN): Delete, unused.
17899         (STAGESTUFF): Update.
17900
17901         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17902         CODE_FOR_nothing for all elided patterns.
17903         (main): Tweaked to support this.
17904         * genflags.c (gen_proto): Emit a static inline generator
17905         function here for all elided patterns, which simply returns
17906         NULL_RTX.
17907         (gen_insn): Do not define HAVE_xxx for elided patterns.
17908         (main): Tweaked to support this.  No need to forward-declare
17909         struct rtx_def.
17910         * genrecog.c: Do not bother emitting the C test if it's known
17911         to be true at compile time.
17912
17913 2002-07-29  Mike Stump  <mrs@apple.com>
17914
17915         * config.gcc (target_gtfiles): Initialize, as otherwise cross
17916         compilers hosted on powerpc-apple-darwin6.0 won't even build.
17917
17918 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
17919
17920         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17921         remove clobber of LR.
17922         (sibcall_insn, sibcall_value_insn): Update accordingly.
17923         (sibcall_epilogue): Remove debugging comment from assembler stream.
17924
17925 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17926
17927         * pretty-print.h: Define more macros.
17928         * diagnostic.h (output_formatted_integer): Moved from...
17929         * diagnostic.c: ... here.
17930
17931 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17932
17933         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17934
17935 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
17936
17937         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17938         arguments.  Always use ".-symbol" as expression argument.
17939         * doc/tm.texi: Update to match.  Document requirement for
17940         ".size symbol, .-symbol" to be acceptable to assembler.
17941
17942         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17943         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17944         config/i386/freebsd-aout.h, config/i386/sco5.h,
17945         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17946         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
17947
17948 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17949
17950         * Makefile.in (gengtype-lex.c): Fix error in last change.
17951
17952         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17953         backslash.
17954
17955         * Makefile.in (vmsdbgout.o): Depend on function.h.
17956
17957         * vmsdbgout.c: Include function.h.
17958
17959 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
17960
17961         * prefix.c (update_path): Don't strip single `.' path components
17962         unless stripping a later `..' component.  Exit loop as soon as
17963         a valid path is found.
17964
17965 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17966
17967         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17968         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17969         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17970         floating point unordered comparisons (e.g. __builtin_isgreater)
17971         as const, and leave the remaining GCC_BUILTINs unchanged.
17972
17973         * c-decl.c (builtin_function): No need to explicitly mark
17974         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17975
17976 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17977
17978         * Makefile.in: rtlanal.o now depends upon real.h.
17979
17980         * flags.h [flag_signaling_nans]: New flag.
17981         [HONOR_SNANS]: New macro.
17982
17983         * toplev.c [flag_signaling_nans]: Initialize to false.
17984         (f_options): Add processing for "-fsignaling-nans".
17985         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17986         (process_options): flag_signaling_nans implies flag_trapping_math.
17987
17988         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17989         when -fsignaling-nans.  First step to implementing WG14's N965.
17990
17991         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17992         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17993         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17994
17995         * simplify-rtx.c (simplify_relational_operation): Conditionalize
17996         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17997
17998         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17999         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
18000         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
18001         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
18002         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
18003
18004         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
18005
18006 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18007
18008         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
18009         * gengtype-lex.l (YY_USE_PROTOS): Undef.
18010         (YY_DECL): Define.
18011
18012 2002-07-27  Roger Sayle  <roger@eyesopen.com>
18013
18014         * doc/invoke.texi: Document that both -fno-builtin-foo and
18015         -fno-builtin are supported by the g++ front-end.
18016
18017 2002-07-27  Stan Shebs  <shebs@apple.com>
18018
18019         * configure.in: Rename config_gtfiles to target_gtfiles.
18020         * configure: Regenerate.
18021         * doc/gty.texi: Update reference.
18022         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
18023         instead of appending to it.
18024
18025 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
18026
18027         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
18028         vectors are split into two registers.
18029         (function_arg): Same.
18030
18031 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
18032
18033         * pa.md (extv): Check predicates before emitting extv_32.
18034
18035 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
18036
18037         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
18038         (rs6000_traceback): New var.
18039         (rs6000_override_options): Set rs6000_traceback.
18040         (rs6000_output_function_epilogue): Implement traceback options.
18041         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
18042         (rs6000_traceback_name): Declare.
18043
18044         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
18045         label reference when NO_PROFILE_COUNTERS.
18046
18047 2002-07-26  Jason Merrill  <jason@redhat.com>
18048
18049         * function.c (assign_parms): Handle frontend-directed pass by
18050         invisible reference.
18051
18052 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18053
18054         * doc/cppopts.texi: Update.
18055
18056 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18057
18058         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
18059         warnings on assertions.
18060
18061 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
18062
18063         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
18064         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
18065         RID_COMPL): Remove.
18066         * c-parse.in (rid_to_yy): Similarly.
18067
18068 2002-07-26  Jason Merrill  <jason@redhat.com>
18069
18070         * c-dump.c: Resurrect.
18071         * tree-dump.c: Move C-specific stuff to c-dump.c.
18072         * c-common.h: Declare c_dump_tree.
18073         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
18074         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
18075         (c-dump.o): New rule.
18076
18077 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
18078
18079         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
18080         PowerPC64.  Replace "T" and "S" constraints with "n" when the
18081         predicate will do.  Formatting fixes.
18082         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
18083         as for extzvsi_internal1.
18084
18085 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18086
18087         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
18088         DERIV_END_LABEL_FMT): Remove.
18089         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
18090
18091 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18092
18093         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
18094         Remove.
18095
18096 2002-07-25  Stan Shebs  <shebs@apple.com>
18097
18098         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
18099         local var dwarfp.
18100         (output_compiler_stub): Remove unused locals.
18101         (output_call): Always initialize line number.
18102
18103 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18104
18105         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
18106         * sh.md (truncdiqi2, movqi_media): Likewise.
18107
18108 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18109
18110         * gcse.c (obstack_chunk_alloc): Remove.
18111         (gcse_alloc): Fix to count allocated bytes.
18112         * collect2.c (SYMBOL__MAIN): Remove.
18113
18114 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18115
18116         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
18117         HAVE_TARGET_EXECUTABLE_SUFFIX.
18118
18119 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
18120
18121         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
18122         SIZE, EXPR and OFFSET.
18123
18124 2002-07-25  Richard Henderson  <rth@redhat.com>
18125
18126         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
18127         in ARRAY_REF of DECL_P case.
18128
18129 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18130
18131         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
18132         description.  Document -mips32, -mips64, and the associated -march
18133         values.  Describe the "mipsN" arguments to -march.  Say that the
18134         -mipsN options are equivalent to -march.  Reword the description
18135         of default type sizes.
18136         * toplev.h (target_flags_explicit): Declare.
18137         * toplev.c (target_flags_explicit): New var.
18138         (set_target_switch): Update target_flags_explicit.
18139         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
18140         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
18141         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
18142         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
18143         * config/mips/mips.h (mips_cpu_info): New struct.
18144         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18145         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
18146         (MIPS_CPP_SET_PROCESSOR): New macro.
18147         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
18148         Define _MIPS_ARCH and _MIPS_TUNE.
18149         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
18150         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
18151         MIPS_ISA_DEFAULT were already defined.
18152         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
18153         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
18154         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
18155         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
18156         (ABI_GAS_ASM_SPEC): Remove.
18157         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
18158         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
18159         Invoke %(asm_abi_default_spec) if no ABI was specified.
18160         (CC1_SPEC): Remove ISA -> register-size rules.
18161         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
18162         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
18163         (mips_cpu_string, mips_explicit_type_size_string): Remove.
18164         (mips_cpu_info_table): New array.
18165         (mips_set_architecture, mips_set_tune): New fns.
18166         (override_options): Rework to make -mipsN equivalent to -march.
18167         Detect more erroneous cases, including those removed from CC1_SPEC.
18168         Don't change the ABI based on architecture, or vice versa.
18169         Unify logic with GAS.
18170         (mips_asm_file_start): Get architecture name from mips_arch_info.
18171         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
18172         (mips_parse_cpu): Take the name of the option as argument.  Handle
18173         'from-abi'.  Raise an error if the option is wrong.
18174         (mips_cpu_info_from_isa): New fn.
18175
18176 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
18177
18178         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
18179         (tablejump_mips162): Likewise.
18180
18181 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
18182
18183         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
18184         int_mode_for_mode.
18185
18186 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
18187
18188         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
18189         complaining.
18190         * c-common.h (c_sizeof): Adjust definition.
18191         (c_alignof): Likewise.
18192         * c-tree.h (c_sizeof_nowarn): Now macro.
18193         * c-typeck.c (c_sizeof_nowarn): Remove definition.
18194
18195 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
18196
18197         * c-decl.c (c_decode_option): No need to handle switches
18198         cpplib handles.
18199
18200 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
18201
18202         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
18203         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
18204         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
18205         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18206
18207         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
18208         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
18209         config/cris/aout.h, config/i386/freebsd-aout.h,
18210         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
18211         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
18212         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
18213         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
18214         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
18215         config/xtensa/elf.h, config/xtensa/linux.h:
18216         Use the new macros.
18217         Where possible, remove redundant definitions of SIZE_ASM_OP,
18218         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
18219
18220 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
18221
18222         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
18223         TARGET_ISEL, and TARGET_FPRS.
18224
18225         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
18226         -mabi=spe, -mabi=no-spe, and -misel=.
18227
18228         * config/rs6000/rs6000-protos.h: Add output_isel.
18229         Move vrsave_operation prototype here.
18230
18231         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
18232         (smaxsi3): Same.
18233         (uminsi3): Same.
18234         (umaxsi3): Same.
18235         (abssi2_nopower): Disallow when TARGET_ISEL.
18236         (*ne0): Same.
18237         (negsf2): Change to expand and rename old pattern to *negsf2.
18238         (abssf2): Change to expand and rename old pattern to *abssf2.
18239
18240         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
18241         fixunssfsi2.
18242
18243         Change patterns that check for TARGET_HARD_FLOAT or
18244         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
18245
18246         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
18247         rs6000_isel, rs6000_fprs, rs6000_isel_string.
18248         (rs6000_override_options): Add 8540 case to
18249         processor_target_table.
18250         Set rs6000_isel for the 8540.
18251         Call rs6000_parse_isel_option.
18252         (enable_mask_for_builtins): New.
18253         (rs6000_parse_isel_option): New.
18254         (rs6000_parse_abi_options): Add spe and no-spe.
18255         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
18256         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
18257         for TARGET_HARD_FLOAT.
18258         Add case for SPE_VECTOR_MODE.
18259         (rs6000_legitimize_reload_address): Handle SPE vector modes.
18260         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
18261         vector modes.
18262         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
18263         (rs6000_emit_move): Check for TARGET_FPRS.
18264         Add cases for SPE vector modes.
18265         (function_arg_boundary): Return 64 for SPE vector modes.
18266         (function_arg_advance): Check for TARGET_FPRS and
18267         Handle SPE vectors.
18268         (function_arg): Same.
18269         (setup_incoming_varargs): Check for TARGET_FPRS.
18270         (rs6000_va_arg): Same.
18271         (struct builtin_description): Un-constify mask field.  Move up in
18272         file.
18273         (bdesc_2arg): Un-constify and add SPE builtins.
18274         (bdesc_1arg): Same.
18275         (bdesc_spe_predicates): New.
18276         (bdesc_spe_evsel): New.
18277         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
18278         (rs6000_expand_binop_builtin): Same.
18279         (bdesc_2arg_spe): New.
18280         (spe_expand_builtin): New.
18281         (spe_expand_predicate_builtin): New.
18282         (spe_expand_evsel_builtin): New.
18283         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
18284         (rs6000_init_builtins): Initialize SPE builtins.  Call
18285         rs6000_common_init_builtins.
18286         (altivec_init_builtins): Move all non-altivec builtin code to...
18287         (rs6000_common_init_builtins): ...here.  New function.
18288         (branch_positive_comparison_operator): Allow NE code for SPE.
18289         (ccr_bit): Return correct ccr bit for SPE fp.
18290         (print_operand): Emit crnor in 'D' case for SPE.
18291         New case 't'.
18292         Add SPE code for 'y' case.
18293         (rs6000_generate_compare): Generate rtl for SPE fp.
18294         (output_cbranch): Handle SPE hard floats.
18295         (rs6000_emit_cmove): Handle isel.
18296         (rs6000_emit_int_cmove): New.
18297         (output_isel): New.
18298         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
18299         64-bits for SPE.
18300         (debug_stack_info): Add SPE info.
18301         (gen_frame_mem_offset): New.
18302         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
18303         Change mode of frame pointer, when saving it, to Pmode.
18304         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
18305         Misc cleanups and use gen_frame_mem_offset when appropriate.
18306
18307         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
18308         (TARGET_SPE_ABI): New.
18309         (TARGET_SPE): New.
18310         (TARGET_ISEL): New.
18311         (TARGET_FPRS): New.
18312         (FIXED_SCRATCH): New.
18313         (RTX_COSTS): Add PROCESSOR_PPC8540.
18314         (ASM_CPU_SPEC): Add case for 8540.
18315         (TARGET_OPTIONS): Add isel= case.
18316         (rs6000_spe_abi): New.
18317         (rs6000_isel): New.
18318         (rs6000_fprs): New.
18319         (rs6000_isel_string): New.
18320         (UNITS_PER_SPE_WORD): New.
18321         (LOCAL_ALIGNMENT): Adjust for SPE.
18322         (HARD_REGNO_MODE_OK): Same.
18323         (DATA_ALIGNMENT): Same.
18324         (MEMBER_TYPE_FORCES_BLK): New.
18325         (FIRST_PSEUDO_REGISTER): Set to 113.
18326         (FIXED_REGISTERS): Add SPE registers.
18327         (reg_class): Same.
18328         (REG_CLASS_NAMES): Same.
18329         (REG_CLASS_CONTENTS): Same.
18330         (REGNO_REG_CLASS): Same.
18331         (REGISTER_NAMES): Same.
18332         (DEBUG_REGISTER_NAMES): Same.
18333         (ADDITIONAL_REGISTER_NAMES): Same.
18334         (CALL_USED_REGISTERS): Same.
18335         (CALL_REALLY_USED_REGISTERS): Same.
18336         (SPE_ACC_REGNO): New.
18337         (SPEFSCR_REGNO): New.
18338         (SPE_SIMD_REGNO_P): New.
18339         (HARD_REGNO_NREGS): Adjust for SPE.
18340         (VECTOR_MODE_SUPPORTED_P): Same.
18341         (REGNO_REG_CLASS): Same.
18342         (FUNCTION_VALUE): Same.
18343         (LIBCALL_VALUE): Same.
18344         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
18345         (SPE_VECTOR_MODE): New.
18346         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
18347         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
18348         (rs6000_stack): Add spe_gp_size, spe_padding_size,
18349         spe_gp_save_offset.
18350         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
18351         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
18352         (SPE_CONST_OFFSET_OK): New.
18353         (rs6000_builtins): Add SPE builtins.
18354
18355         * testsuite/gcc.dg/ppc-spe.c: New.
18356
18357         * config/rs6000/eabispe.h: New.
18358
18359         * config/rs6000/spe.h: New.
18360
18361         * config/rs600/spe.md: New.
18362
18363         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
18364         __SIMD__ for TARGET_SPE.
18365
18366         * config.gcc: Add powerpc-*-eabispe* case.
18367         Add spe.h to user headers for powerpc.
18368
18369 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18370
18371         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
18372         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18373         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
18374
18375 2002-07-24  Richard Henderson  <rth@redhat.com>
18376
18377         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
18378         form when not optimizing.
18379
18380 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
18381
18382         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
18383         thread_pointer_rtx as unchanging.
18384
18385 2002-07-24  Michael Matz  <matz@suse.de>
18386
18387         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
18388         (free_reg): Use it.
18389
18390 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
18391
18392         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
18393         pattern.
18394         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
18395         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
18396
18397 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
18398
18399         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
18400         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
18401         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
18402
18403 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
18404
18405         * toplev.c (rest_of_compilation): Dump loops before clobbering
18406         the structure.
18407
18408 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
18409
18410         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
18411
18412 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
18413
18414         PR optimization/7291
18415         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
18416         problem on x86_64.
18417
18418 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
18419
18420         * pretty-print.h: Add macros from cp/error.c
18421
18422 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18423
18424         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
18425         (mask64_2_operand): Declare.
18426         (build_mask64_2_operands): Declare.
18427         (and64_2_operand): Declare.
18428         (extract_MB): Declare.
18429         (extract_ME): Declare.
18430         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
18431         CONST_DOUBLE code.
18432         (mask_operand_wrap): New insn predicate.
18433         (mask64_2_operand): Likewise.
18434         (and64_2_operand): Likewise.
18435         (build_mask64_2_operands): New function.
18436         (extract_MB): New function.
18437         (extract_ME): New function.
18438         (print_operand <case m,M>): Use extract_MB and extract_ME.
18439         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
18440         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
18441         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
18442         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
18443         * config/rs6000/rs6000.md (andsi3_internal3): New
18444         (andsi3_internal3+1): Enable split for powerpc64.
18445         (andsi3_internal3+2): New split.
18446         (andsi3_internal4): Renamed old andsi3_internal3.
18447         (andsi3_internal5): New.
18448         (andsi3_internal5+1): Enable split for powerpc64.
18449         (andsi3_internal5+2): New split.
18450         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
18451         (anddi3): Handle 't' constraint.
18452         (anddi3+1): New split.
18453         (anddi3_internal2): Handle 't' constraint.
18454         (anddi3_internal2+1): New split.
18455         (anddi3_internal3): Handle 't' constraint.
18456         (anddi3_internal3+1): New split.
18457
18458 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
18459
18460         * config/rs6000/rs6000.md: Remove scratch reg on insns using
18461         addze and similar (plus (comparison r1 r2) r3) insns.  Add
18462         missing scratch reg in one case.  Formatting fixes.
18463
18464 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
18465
18466         * cppexp.c (parse_defined): Mark macro used.
18467         * cpphash.h (struct cpp_macro): New member "used".
18468         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
18469         (struct cpp_reader): New member.
18470         * cppinit.c (cpp_finish_options): Set first_unused_line.
18471         (cpp_finish): Warn of unused macros if requested.
18472         (OPT_TABLE): New switches.
18473         (cpp_handle_option): Handle them.
18474         * cpplib.c (do_undef): Warn if macro unused.
18475         (do_ifdef, do_ifndef): Mark macro used.
18476         * cpplib.h (struct cpp_options): New member.
18477         * cppmacro.c (_cpp_warn_if_unused_macro): New.
18478         (enter_macro_context): Mark macro used.
18479         (_cpp_create_definition): Mark macro unused; warn if unused
18480         when redefined.
18481         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
18482         Mark macros used.
18483         * doc/cppopts.texi: Update.
18484
18485 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18486
18487         * dwarf2out.c (SECTION_ASM_OP,
18488         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18489         * system.h (SECTION_ASM_OP): Poison.
18490         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
18491         * config/alpha/alpha-interix.h, config/mips/linux.h
18492         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18493         * config/mmix/mmix-protos.h, config/mmix/mmix.c
18494         (mmix_asm_output_define_label_difference_symbol): Remove.
18495         * config/mmix/mmix.h
18496         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
18497         * doc/tm.texi: Remove documentation.
18498
18499 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
18500
18501         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
18502         (constrain_operands): Likewise.
18503         * regclass.c (record_reg_classes): Likewise.
18504         * reload.c (find_reloads): Likewise.
18505         * doc/md.texi: Likewise.
18506
18507         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
18508         * simplify-rtx.c (simplify_subreg): When converting to a non-int
18509         mode, try to convert to an integer mode of matching size first.
18510
18511         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
18512         from individual subregs, check that each subreg has been generated
18513         sucessfully.
18514
18515 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18516
18517         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
18518         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
18519         FOR_EACH_BB_IN_SBITMAP): Remove.
18520         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
18521         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
18522         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
18523         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
18524         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
18525         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
18526
18527 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18528
18529         * pretty-print.h: New file.
18530
18531 2002-07-23      Paul Koning     <pkoning@equallogic.com>
18532
18533         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
18534         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
18535         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
18536         (TARGET_G_FLOAT): Default to 0 if not defined.
18537         (ieeetoe): New, common routine to convert target format floats
18538         to internal form.
18539         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
18540         vs. others.
18541         (e113toe): Change to use ieeetoe.
18542
18543 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
18544
18545         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
18546         IBM.
18547         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
18548         (e64toe): Remove special cases for DEC and IBM. Remove support for
18549         ARM_EXTENDED_IEEE_FORMAT.
18550         (e24toe): Remove special cases for DEC.
18551         (significand_size): Simplify. Indent.
18552         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
18553         (etoieee, toieee): New.
18554         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
18555         etoieee and toieee for IEEE arithmetic.
18556
18557 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18558
18559         * doc/extend.texi: Say ISO C90, not ISO C89.
18560         * doc/invoke.texi: Likewise.
18561         * doc/standards.texi: Likewise.
18562
18563 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18564
18565         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18566         Fix permutation of conversion and plus/mult.
18567         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18568         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18569         (expand_builtin_strncpy) Ditto.
18570         (expand_builtin_memset) Ditto.
18571
18572 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18573
18574         Fix PR/7363:
18575         * c-common.c (c_sizeof_or_alignof_type): New function.
18576         (c_alignof): Remove definition.
18577         * c-common.h (c_sizeof, c_alignof): Define as macros.
18578         (c_sizeof_or_alignof_type): Declare.
18579         (my_friendly_assert): Moved from cp/cp-tree.h
18580         * c-typeck.c (c_sizeof): Remove definition.
18581
18582 2002-07-23  Jan Hubicka  <jh@suse.cz>
18583
18584         * gcse.c (try_replace_reg): Use num_changes_pending.
18585         * recog.c (num_changes_pending): New function.
18586         (validate_replace_src): Use validate_repalce_src_group.
18587         (validate_replace_src_group): New.
18588         * recog.h (validate_repalce_src_group): New.
18589         (num_changes_pending): Likewise.
18590
18591 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18592
18593         * calls.c (emit_library_call_value_1): If
18594         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18595         libcall, const call nor pure call.
18596
18597 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18598
18599         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18600
18601 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18602
18603         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18604
18605 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18606
18607         * config/i386/i386.c (AT_BP): Remove.
18608
18609 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18610
18611         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18612         Default definition.
18613         * gcse.c: Don't define obstack_chunk_free.
18614         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18615         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18616         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18617         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18618         Don't define obstack macros.
18619
18620 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18621
18622         PR target/6744
18623         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18624         ASM_OPERANDS instructions.
18625
18626 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18627
18628         PR target/7361
18629         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18630         constant addresses only on 68HC12.
18631
18632 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18633
18634         * cppfiles.c (stack_include_file): Correct test of whether
18635         a dependency should be output.
18636
18637 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18638
18639         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18640
18641 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18642
18643         * arm.md (movqi): If optimizing and we can create pseudos, use
18644         a ZERO_EXTEND to load from memory, then copy the result into the
18645         target.
18646         (movhi): Likewise, but only for ARMv4.
18647
18648 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18649
18650         * ssa-ccp.c (PHI_PARMS): Remove.
18651
18652 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18653
18654         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18655         on big-endian targets.
18656
18657 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18658
18659         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18660         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18661         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18662         New formatting macros.
18663
18664         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18665
18666 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18667
18668         * rtlanal.c (subreg_regno_offset): Return correct offset for
18669         big endian paradoxical subregs.
18670
18671         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18672         if we got the wrong mode.
18673
18674         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18675         * genrecog.c (write_switch, write_cond): Use it.
18676         * genemit.c (gen_exp): Likewise.
18677
18678 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18679
18680         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18681
18682 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18683
18684         * c-decl.c (build_compound_literal): Defer compound literal decls
18685         until until file end to emit them only if they are actually used.
18686
18687 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18688
18689         * ra-build.c (check_conflict_numbers): Hide unused function.
18690         (livethrough_conflicts_bb): Avoid automatic aggregate
18691         initialization.
18692         (parts_to_webs_1): Avoid `U' integer constant modifier.
18693         (conflicts_between_webs): Wrap a variable in the macro controlling
18694         its usage.
18695         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18696         (dump_igraph, dump_graph_cost): Avoid string concatenation
18697         (dump_static_insn_cost): Avoid automatic aggregate
18698         initialization.
18699         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18700         initialization.
18701         (dump_cost): Avoid string concatenation
18702
18703 2002-07-21  Richard Henderson  <rth@redhat.com>
18704
18705         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18706         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18707
18708 2002-07-21  Richard Henderson  <rth@redhat.com>
18709
18710         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18711         that are not unrolled completely.
18712
18713 2002-07-21  Richard Henderson  <rth@redhat.com>
18714
18715         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18716         * loop.c (strength_reduce): Update.
18717         * toplev.c (rest_of_compilation): Do unrolling in the first
18718         loop pass, not the second.
18719
18720 2002-07-21  Richard Henderson  <rth@redhat.com>
18721
18722         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18723         when flag_argument_noalias == 2.
18724         * alias.c (nonoverlapping_memrefs_p): Handle that.
18725         * print-rtl.c (print_mem_expr): Likewise.
18726
18727 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18728
18729         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18730         instead of __negdi2 directly.
18731
18732 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18733
18734         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18735         * function.c (SYMBOL__MAIN): Remove definition.
18736         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18737         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18738         * profile.c (GCOV_INDEX_TO_BB): Remove.
18739         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18740         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18741
18742 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18743
18744         * c-lex.c (GET_ENVIRONMENT): Remove.
18745         * collect2.c (GET_ENV_PATH_LIST): Remove.
18746         (prefix_from_env): Use GET_ENVIRONMENT.
18747         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18748         (init_standard_includes): Use GET_ENVIRONMENT.
18749         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18750         * gcc.c (GET_ENV_PATH_LIST): Remove.
18751         (make_relative_prefix, process_command): Update.
18752         * protoize.c (GET_ENV_PATH_LIST): Remove.
18753         (do_processing): Update.
18754
18755 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18756
18757         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18758         (grokdeclarator): Likewise.
18759         * c-format.c (C_STD_NAME): Likewise.
18760         * c-lex.c (interpret_integer): Likewise.
18761         * c-typeck.c (build_array_ref): Likewise.
18762         * cpplex.c (_cpp_lex_direct): Likewise.
18763         * toplev.c (documented_lang_options): Likewise.
18764
18765 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18766
18767         * c-format.c (T99_I, T99_UI): Remove.
18768
18769 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18770
18771         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18772
18773 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18774
18775         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18776         do_local_cprop.
18777
18778 2002-07-21  Andreas Jaeger  <aj@suse.de>
18779
18780         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18781
18782 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18783
18784         Improvements for the ifcvt pass from Michael Meissner, with patches
18785         by Richard Sandiford <rsandifo@redhat.com>
18786         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18787         * ifcvt.c (cond_exec_changed_p): New static variable.
18788         (last_active_insn): New function, renamed from last_active_insn_p
18789         and changed to return the last active insn in a basic block. All
18790         callers updated.
18791         (block_fallthru): New function.
18792         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18793         IFCVT_MODIFY_INSN.  All callers updated.
18794         Return false if START or END are NULL.
18795         Handle case where we're processing an insn that is already
18796         conditional.
18797
18798         (noce_process_if_block): CE_INFO argument rather than
18799         multiple args containing the involved basic blocks.  All callers
18800         changed.
18801         (process_if_block, merge_if_block, find_if_block,
18802         cond_exec_process_if_block): Likewise.
18803
18804         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
18805         changed.
18806         Use new function last_active_insn to simplify some code.
18807         New code to handle multiple tests.
18808         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18809         cond_exec_changed_p to TRUE.
18810
18811         (process_if_block): New code to handle multiple tests.
18812         (merge_if_block): Likewise.
18813         (find_if_header): New arg PASS.  Changed to return the currently
18814         processed basic block or NULL instead of true/false. All callers
18815         changed.
18816         Call IFCVT_INIT_EXTRA_FIELDS.
18817         (block_jumps_and_fallthru_p): New function.
18818         (find_if_block): Discover opportunities to convert multiple tests.
18819         Add additional debugging output.
18820         Update the ce_info structure before returning.
18821
18822         (if_convert): Run multiple passes of if-conversion.
18823         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18824         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18825         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18826         these macros.
18827
18828 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
18829
18830         * gcse.c: Include cselib.h
18831         (constptop_register): Break out from ...
18832         (cprop_insn): ... here; kill basic_block argument.
18833         (do_local_cprop, local_cprop_pass): New functions.
18834         (one_cprop_pass): Call local_cprop_pass.
18835
18836 2002-07-20  Roger Sayle  <roger@eyesopen.com>
18837
18838         * simplify-rtx.c (simplify_relational_operation): Optimize
18839         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18840
18841 2002-07-20  Michae Matz  <matz@suse.de>
18842
18843         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18844
18845 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
18846
18847         * cppexp.c (struct op): Add token pointer.
18848         (check_promotion, CHECK_PROMOTION): New.
18849         (optab): Update.
18850         (_cpp_parse_expr): Update, use token pointer of struct op.
18851         (reduce): Warn about change of sign owing to promotion.
18852         * cppinit.c (cpp_handle_option): New warning if -Wall.
18853         * cpplib.h (struct cpp_options): New member.
18854
18855 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
18856
18857         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18858         fpu list.  Separate Power4 compare and delayed_compare.  Correct
18859         Power4 fpcompare.
18860         (fix_truncdfsi2_internal): Restore FPR preference.
18861         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18862         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
18863
18864 2002-07-19  Momchil Velikov <velco@fadata.bg>
18865
18866         * reload1.c (reload_as_needed): Duplicate oldpat.
18867
18868 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
18869
18870         PR optimization/7130
18871         * loop.h (struct loop_info): Add "preconditioned".
18872         * unroll.c (unroll_loop): Set it.
18873         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18874
18875 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
18876
18877         * rtl.def (CODE_LABEL): Remove slot 8.
18878         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18879         (LABEL_ALTERNATE_NAME): Delete.
18880         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18881         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18882
18883         * final.c (output_alternate_entry_point): New.
18884         (final_scan_insn): Use it instead of
18885         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
18886         of a case label being an alternate entry point.
18887
18888         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18889         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18890         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18891         (field deleted).
18892         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18893
18894         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18895         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18896         * doc/tm.texi: Delete documentation of
18897         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18898
18899 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18900
18901         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18902         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18903         (LINK_SPEC): Define.
18904         (STARTFILE_SPEC): Define.
18905         (ENDFILE_SPEC): Define.
18906
18907         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18908         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18909
18910         * config/mips/iris6-o32-gas.h: New file.
18911         * config.gcc (mips-sgi-irix6*o32): Use it.
18912
18913         * config/mips/t-iris5-gas: New file.
18914         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18915
18916 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
18917
18918         * cppexp.c (ALWAYS_EVAL): Remove.
18919         (optab, reduce): Always evaluate.
18920         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18921         only if not skipping evaluation.
18922
18923 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18924
18925         * config/avr/avr.c (debug_hard_reg_set): Remove.
18926
18927 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
18928
18929         * gcc.c (cpp_options): Include "%1" (cc1_spec).
18930
18931 2002-07-19  Richard Henderson  <rth@redhat.com>
18932
18933         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18934
18935 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
18936
18937         * prefix.c (update_path): Don't zap single `.' path components
18938         unless followed by another `.' and fix typo last patch.
18939
18940 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
18941
18942         * cppexp.c (cpp_num_mul): Remove unused parameter.
18943         (UNARY, BINARY, OTHER, binary_handler): Remove.
18944         (ALWAYS_EVAL): New.
18945         (optab): Update.
18946         (reduce): Refactor to a large switch, don't use a function
18947         pointer.
18948
18949 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
18950
18951         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18952
18953 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
18954
18955         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18956         (sh_expand_binop_v2sf): Likewise.
18957         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18958         (int_gpr_dest, trunc_hi_operand): New functions.
18959         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18960         trunc_hi_operand.
18961         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18962         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18963         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18964         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18965         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18966         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18967         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18968         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18969         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18970         (movsf_ie+1): Likewise.
18971         (loaddi_trunc): Use int_gpr_dest predicate.
18972         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18973         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18974         (casesi_worker_0+[12], casesi_worker): Likewise.
18975         (shcompact_preserve_incoming_args): Likewise.
18976         (mov_nop): Use any_register_operand predicate.
18977         (mperm_w0): Use trunc_hi_operand predicate.
18978
18979 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18980
18981         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18982         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18983         numbering.
18984
18985 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18986
18987         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18988
18989 2002-07-18  Richard Henderson  <rth@redhat.com>
18990
18991         PR optimization/7147
18992         * ifcvt.c (noce_get_condition): Make certain that the condition
18993         is valid at JUMP.
18994
18995 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
18996
18997         * sh.c (barrier_align, push): Shut up compiler warnings.
18998         (initial_elimination_offset,sh_media_init_builtins): Likewise.
18999         (reg_no_subreg_operand): Delete.
19000
19001 2002-07-17  Bo Thorsen  <bo@suse.de>
19002
19003         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
19004         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
19005         (STARTFILE_SPEC): Remove hardcoded library paths.
19006         (ENDFILE_SPEC): Likewise.
19007
19008 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
19009
19010         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
19011
19012         * gcse.c (try_replace_reg): Do not return false positives.
19013
19014 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19015
19016         * prefix.c: (update_path): Strip ".." components when prior dir
19017         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
19018
19019         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
19020         (ASM_OUTPUT_REG_POP): Likewise.
19021
19022 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
19023
19024         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
19025         adjustments to first_reg for profiling case.
19026         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
19027         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
19028         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
19029         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
19030         (ASM_OUTPUT_REG_POP): Define.
19031         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
19032         (ASM_OUTPUT_REG_POP): Undef.
19033
19034 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19035
19036         * cpplib.c (do_sccs): Handle #sccs on all systems.
19037         * system.h (SCCS_DIRECTIVE): Poison.
19038         * config/darwin.h, config/freebsd.h, config/netbsd.h,
19039         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
19040         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
19041         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
19042         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
19043         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
19044         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
19045         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
19046         Remove all references to SCCS_DIRECTIVE.
19047         * doc/cpp.texi, doc/tm.texi: Update.
19048
19049 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
19050
19051         * regrename.c (maybe_mode_change): New function.
19052         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
19053
19054 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
19055
19056         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
19057         suppress addition when either ct or cf are zero.
19058
19059 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
19060             Glen Nakamura <glen@imodulo.com>
19061
19062         PR optimization/6713
19063         * loop.c (loop_givs_rescan): Explicitly delete the insn that
19064         sets a non-replaceable giv after issuing the new one.
19065
19066 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
19067
19068         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
19069         eval_token): Clarify and correct use of "bool" variables.
19070         * cpplib.h (struct cpp_options): Similarly.
19071         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
19072         * cpptrad.c (recursive_macro): Similarly.
19073
19074 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
19075
19076         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
19077         SHmedia code.
19078
19079         * sh.md (cmpgtudi_media): Remove spurious @.
19080
19081         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
19082         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
19083
19084         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
19085         * sh-protos.h (sh_initialize_trampoline): Declare.
19086         * sh.c (sh_initialize_trampoline): New function.
19087         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
19088         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
19089         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
19090         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
19091         * sh.md (initialize_trampoline, double_shori): New patterns.
19092         (initialize_trampoline_compact): Likewise.
19093         (shmedia32_initialize_trampoline_big): Remove.
19094         (shmedia32_initialize_trampoline_little): Likewise.
19095
19096         * sh-protos.h (binary_float_operator): Remove declaration.
19097         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
19098         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
19099         (unary_float_operator, sh_expand_unop_v2sf): New functions.
19100         (sh_expand_binop_v2sf): Likewise.
19101         (zero_vec_operand): Delete.
19102         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
19103         all non-shared ones.
19104         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
19105         Enable nsb and byterev.
19106         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
19107         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
19108         in general regs.
19109         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
19110         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
19111         immediate operands.
19112         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
19113         Add DF_HI_REGS.
19114         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
19115         lowpart fp regs - only for big endian for now.
19116         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
19117         when FPU is in use.
19118         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
19119         (LOAD_EXTEND_OP): NIL for SImode.
19120         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
19121         general and fp registers is 4.
19122         PREDICATE_CODES: Amend binary_float_operator entry.
19123         Remove zero_vec_operand.  Add unary_float_operator.
19124         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
19125         subreg SET_DEST.
19126         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
19127         (truncdiqi2): Do sign extension.
19128         (movsi_media, movdi_media): Allow to use r63 to an fp register.
19129         (movdf_media, movsf_media): Likewise.
19130         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
19131         Collapse to one define_insn_and_split.  Allow immediate sources.
19132         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
19133         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
19134         (movv4sf): Allow immediate sources.
19135         (movsf_media_nofpu+1): Don't split moves to FP registers.
19136         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
19137         (movv8qi_i+3): Check against CONST0_RTX.
19138         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
19139         for input and output operands.  Fix argument 3 to gen_mextr_rl.
19140         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
19141         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
19142         (mshf0_w, fipr, ftrv): Likewise.
19143         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
19144
19145 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
19146
19147         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
19148         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
19149         * arm.c: Similarly.
19150
19151 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
19152
19153         * config/mips/mips-protos.h (mips_sign_extend): Declare.
19154         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
19155         (TARGET_SWITCHES): Remove debugh.
19156         (ISA_HAS_TRUNC_W): New macro.
19157         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
19158         (PREDICATE_CODES): Remove se_nonimmediate_operand.
19159         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
19160         any SImode move_operand.
19161         (se_nonimmediate_operand): Remove.
19162         (mips_sign_extend): New.
19163         (mips_move_2words): Use it for sign-extended source operands.
19164         (override_options): Allow integers to be put into single FPRs.
19165         (mips_secondary_reload_class): Handle integers in float registers.
19166         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
19167         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
19168         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
19169         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
19170         (fix_truncdfdi2): Provide only a single alternative, in which the
19171         integer is in a float register.  Depend on TARGET_FLOAT64 rather
19172         than TARGET_64BIT.
19173         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
19174         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
19175         (movdi_internal2): Don't allow the source operand to be sign-extended.
19176         Add alternatives for float registers.
19177         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
19178         allows sign-extension.
19179         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
19180         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
19181         float registers.  Remove TARGET_DEBUG_H_MODE test.
19182         (movhi_internal1): Rename to movhi_internal.  Don't check
19183         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
19184         (movqi_internal1): Rename to movqi_internal and remove
19185         TARGET_DEBUG_H_MODE dependency.
19186         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
19187
19188 2002-07-16  Jim Wilson  <wilson@redhat.com>
19189
19190         * toplev.c (lang_dependent_init): Create function context for
19191         init_expr_once.
19192
19193 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
19194
19195         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
19196         --gc-sections if -r.
19197         * config/cris/cris.h: Ditto.
19198
19199 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
19200
19201         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
19202         the comparison directly gives a mask suppress addition when cf is
19203         zero by complementing the mask.
19204
19205 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
19206
19207         * Makefile.in: Delete references to enquire.
19208         * enquire.c: Move to contrib.
19209
19210 2002-07-16  Stan Shebs  <shebs@apple.com>
19211
19212         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
19213         config/rs6000/darwin.h.
19214         (ASM_OUTPUT_SKIP): Ditto.
19215         (TEXT_SECTION_ASM_OP): Ditto.
19216         (DATA_SECTION_ASM_OP): Ditto.
19217         (ASM_APP_ON): Define.
19218         (ASM_APP_OFF): Define.
19219         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
19220         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
19221
19222         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
19223         (machopic_function_base_name): Declare result to be const.
19224         (machopic_non_lazy_ptr_name): Ditto.
19225         (machopic_stub_name): Ditto.
19226         * config/darwin-protos.h: Ditto for the prototypes.
19227
19228 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
19229
19230         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
19231
19232 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
19233
19234         * i386.md (prefetch): Fix for 64bit mode.
19235         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19236
19237 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
19238
19239         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
19240         * i386.c (x86_machine_dependent_reorg): New function.
19241         * i386-protos.h (x86_machine_dependent_reorg): Declare.
19242
19243 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
19244
19245         * builtins.c (std_expand_builtin_va_start): Remove unused
19246         first argument.
19247         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
19248         std_expand_builtin_va_start with just two arguments.
19249         * expr.h: Update prototypes.
19250
19251         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
19252         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
19253         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
19254         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
19255         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
19256         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
19257         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
19258         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
19259         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
19260         argument from all implementations of EXPAND_BUILTIN_VA_START
19261         and all uses of std_expand_builtin_va_start.
19262
19263 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
19264
19265         * regrename.c (copy_value): Don't record high part copies.
19266
19267 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19268
19269         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
19270         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
19271         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
19272
19273 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
19274
19275         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
19276
19277         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
19278         into addsi3 using register class "x" and "y".
19279
19280         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
19281         "earlyclobber" constraint modifier for some alternative.
19282
19283         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
19284         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
19285         unordered.
19286         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
19287
19288         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
19289         (TARGET_SWITCHES): Add -mieee-compare option.
19290         (OVERRIDE_OPTIONS): 32332 is a subset of
19291         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
19292         (TARGET_SWITCHES): Fix description of bitfield option.
19293         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
19294         -mieee-compare option. Remove 32332 flag.
19295
19296 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
19297
19298         * explow.c (convert_memory_address): Remove special handling
19299         when POINTERS_EXTEND_UNSIGNED < 0.
19300         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
19301         (movedi_symbolic): Fix typo.
19302         (load_fptr): Remove mode restriction so it works for SI and DI.
19303         (load_fptr_internal1): Ditto.
19304         (load_gprel): Ditto.
19305         (load_symptr_internal1): Ditto.
19306         (call_pic): Ditto.
19307         * config/ia64.c (call_operand): Modify mode check.
19308         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
19309         (ia64_expand_move): Ditto.
19310         (ia64_assemble_integer): Handle SImode function pointers.
19311         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
19312         (ia64_expand_op_and_fetch): Ditto.
19313         (ia64_expand_compare_and_swap): Ditto.
19314         (ia64_expand_lock_test_and_set): Ditto.
19315         (ia64_expand_lock_release): Ditto.
19316
19317 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19318
19319         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
19320
19321 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
19322             Richard Earnshaw  <rearnsha@arm.com>
19323
19324         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
19325         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
19326
19327 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
19328
19329         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
19330         understands to be a memory clobber.
19331         * arm.c (arm_expand_prologue): Use it.
19332
19333 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
19334
19335         * ra-rewrite.c: #include reload.h, insn-config.h
19336         * ra-build.c: #include reload.h
19337         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
19338         depend on reload.h, insn-config.h.
19339
19340 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19341
19342         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
19343         the same size as a word.
19344
19345         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
19346         BYTES_BIG_ENDIAN into account.
19347
19348 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
19349
19350         * i386.md (prefetch): Fix for 64bit mode.
19351         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
19352
19353         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
19354
19355 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19356
19357         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
19358
19359 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
19360
19361         * ginclude/varargs.h: Replace with stub which issues #error.
19362         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
19363         __builtin_va_start.
19364
19365         * builtins.def (BUILT_IN_VARARGS_START): Delete.
19366         (BUILT_IN_VA_START): New.
19367         * builtins.c (expand_builtin_va_start): Eliminate first
19368         argument and code to implement pre-ISO varargs.
19369         (std_expand_builtin_va_start): Ignore first argument; it is
19370         always 1.
19371         (expand_builtin): Handle BUILT_IN_VA_START and
19372         BUILT_IN_STDARG_START identically.  Delete
19373         BUILT_IN_VARARGS_START case.
19374
19375         * function.c (assign_parms): Delete hide_last_arg and all
19376         its uses.
19377         (mark_varargs): Delete function.
19378         * function.h (struct function): Delete 'varargs' bit.
19379         (current_function_varargs): Delete macro.
19380         * tree.h: Don't declare mark_varargs.
19381
19382         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
19383         (c_expand_body): Don't call mark_varargs.
19384         * c-objc-common.c: Handle BUILT_IN_VA_START and
19385         BUILT_IN_STDARG_START identically.  Delete
19386         BUILT_IN_VARARGS_START case.
19387         * c-tree.h: Don't declare c_mark_varargs.
19388         * c-parse.in: Remove grammar rules for '&...' (which has been
19389         commented out since before 2.7.2) and for '...' in K+R
19390         argument declarations.
19391
19392         * builtins.c, function.c, integrate.c, sibcall.c,
19393         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
19394         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
19395         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
19396         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
19397         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
19398         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
19399         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
19400         config/stormy16/stormy16.c: Delete all references to
19401         current_function_varargs, and code predicated on that flag.
19402
19403         * config/alpha/alpha.c (alpha_va_start),
19404         config/arc/arc.c (arc_va_start),
19405         config/i386/i386.c (ix86_va_start),
19406         config/mips/mips.c (mips_va_start),
19407         config/mn10300/mn10300.c (mn10300_va_start),
19408         config/rs6000/rs6000.c (rs6000_va_start),
19409         config/s390/s390.c (s390_va_start),
19410         config/sh/sh.c (sh_va_start),
19411         Ignore first argument; it is always 1.
19412
19413         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
19414         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
19415         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
19416         Delete m68hc11_va_start.
19417         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
19418         No need to define EXPAND_BUILTIN_VA_START.
19419
19420         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
19421         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
19422
19423 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
19424
19425         PR optimization/7153
19426         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
19427         dies in more than one insn.
19428
19429 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
19430
19431         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
19432
19433 2002-07-15  Michael Matz  <matz@suse.de>,
19434             Daniel Berlin  <dberlin@dberlin.org>,
19435             Denis Chertykov  <denisc@overta.ru>
19436
19437         Add a new register allocator.
19438
19439         * ra.c: New file.
19440         * ra.h: New file.
19441         * ra-build.c: New file.
19442         * ra-colorize.c: New file.
19443         * ra-debug.c: New file.
19444         * ra-rewrite.c: New file.
19445
19446         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
19447         (ra-rewrite.o): New .o files for libbackend.a.
19448         (GTFILES): Add basic-block.h.
19449
19450         * toplev.c (flag_new_regalloc): New.
19451         (f_options): New option "new-ra".
19452         (rest_of_compilation): Call initialize_uninitialized_subregs()
19453         only for the old allocator.  If flag_new_regalloc is set, call
19454         new allocator, instead of local_alloc(), global_alloc() and
19455         friends.
19456
19457         * doc/invoke.texi: Document -fnew-ra.
19458         * basic-block.h (FOR_ALL_BB): New.
19459         * config/rs6000/rs6000.c (print_operand): Write small constants
19460         as @l+80.
19461
19462         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
19463         (df_reg_table_realloc): Make size at least as large as max_reg_num().
19464         (df_insn_table_realloc): Size argument now is absolute, not relative.
19465         Changed all callers.
19466
19467         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
19468         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
19469
19470         2002-06-20  Michael Matz  <matz@suse.de>
19471
19472         * df.h (struct ref.id): Make unsigned.
19473         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
19474
19475         2002-06-13  Michael Matz  <matz@suse.de>
19476
19477         * df.h (DF_REF_MODE_CHANGE): New flag.
19478         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
19479         involving subregs with invalid mode changes, when
19480         CLASS_CANNOT_CHANGE_MODE is defined.
19481
19482         2002-05-07  Michael Matz  <matz@suse.de>
19483
19484         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
19485
19486         2002-05-03  Michael Matz  <matz@suse.de>
19487
19488         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
19489
19490         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
19491
19492         * regclass.c (regclass): Work with all regs which have sets or
19493         refs.
19494         (reg_scan_mark_refs): Count regs inside (clobber ...).
19495
19496         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
19497
19498         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
19499         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
19500         add new refs.
19501         (df_bb_refs_update): Don't clear insns_modified here, ...
19502         (df_analyse): ... but here.
19503
19504         * sbitmap.c (dump_sbitmap_file): New.
19505         (debug_sbitmap): Use it.
19506
19507         * sbitmap.h (dump_sbitmap_file): Add prototype.
19508
19509         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
19510
19511         * df.c (df_insn_modify): Grow the UID table if necessary, rather
19512         than assume all emits go through df_insns_modify.
19513
19514         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
19515
19516         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
19517         increase REG_N_REFS (like flow does), so that regclass doesn't
19518         think a reg is useless, and thus, not calculate a class, when it
19519         really should have.
19520
19521         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
19522
19523         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
19524         dataflow analysis.
19525
19526 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
19527
19528         PR middle-end/7245
19529         * config/i386/i386.c (const_int_1_31_operand): New.
19530         * config/i386/i386.h (PREDICATE_CODES): Add it.
19531         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
19532         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
19533         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
19534
19535 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
19536
19537         PR target/7282
19538         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
19539         (floatunssidf2): Likewise.
19540         (floatsidf_ppc64): New insn_and_split.
19541         (floatunssidf_ppc64): Likewise.
19542
19543 2002-07-14  Andreas Jaeger  <aj@suse.de>
19544
19545         * config.gcc (sh64): Remove unused
19546         target_requires_64bit_host_wide_int.
19547
19548 2002-07-12  Roger Sayle  <roger@eyesopen.com>
19549
19550         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
19551         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
19552         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
19553         whether clear_by_pieces should be used to clear storage.
19554         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
19555
19556         * doc/tm.texi: Document these two new target macros.
19557
19558 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
19559
19560         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19561         the scratch register.
19562         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19563         of it, forbid reload to use it.
19564
19565 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19566
19567         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19568         usage on 64-bit hosts, return value was truncated to 32 bits.
19569
19570 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19571
19572         * simplify-rtx.c (simplify_subreg): Handle floating point
19573         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19574         the element mode is requested, compute a subreg with an
19575         integer mode of the same size as the element mode first.
19576
19577 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19578
19579         * combine.c (try_combine): When converting a paradoxical subreg
19580         to an extension, take LOAD_EXTEND_OP into account.
19581
19582 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19583
19584         * config.gcc (mips-sgi-irix6*o32): New configuration.
19585
19586         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19587         configurations.
19588         * configure: Regenerate.
19589
19590         * config/mips/iris6-o32-as.h: New file.
19591         * config/mips/iris6-o32.h: New file.
19592
19593         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19594         (NM_FLAGS): Define.
19595         (HAVE_AS_SHF_MERGE): Undefine.
19596
19597         * config/mips/t-iris5-as: New file.
19598         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19599
19600         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19601         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19602         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19603         dp-bit.c, fp-bit.c): Move ...
19604         * config/mips/t-iris5-6: ... here.
19605         New file, shared by IRIX 5 and IRIX 6.
19606         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19607         mips-sgi-irix5*): Use it.
19608
19609         * config/mips/iris6.h: Remove duplicate comment.
19610
19611         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19612         !TARGET_IRIX6]: Define.
19613         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19614
19615         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19616
19617 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19618
19619         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19620         and delete code to force constant to register.
19621         * pa-protos.h (adddi3_operand): Add prototype.
19622         * pa.c (adddi3_operand): New function.
19623
19624 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19625
19626         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19627         non-ANSI builtin functions.
19628
19629 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19630
19631         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19632         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19633         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19634         (gen_const_vector_0): Use it.
19635
19636 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19637
19638         * pa.md (adddi3): For 32-bit targets, force constants to a register
19639         if they don't fit in an 11-bit immediate.  Change insn predicate to
19640         arith11_operand.  Remove comment.
19641         * pa.c (cint_ok_for_move): Fix comment.
19642         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19643         targets.
19644
19645 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19646
19647         Remove front end hard coding from gengtype.c.
19648
19649         * Makefile.in
19650         (STAGESTUFF): add gtyp-gen.h
19651         (GTFILES): Remove front end specific files.
19652         (GTFILES_FILES_LANGS): New, from configure..
19653         (GTFILES_FILES_FILES): Likewise.
19654         (GTFILES_LANG_DIR_NAMES): Likewise.
19655         (GTFILES_SRCDIR): Likewise.
19656         (gtyp-gen.h): Build from configure information.
19657         (s-gtype): Remove command line parameters from gengtype.
19658         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19659         (mostlyclean): Delete files generated by and for gengtype.
19660
19661         * c-config-lang.in: New file.
19662
19663         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19664         for each language.
19665         (all_gtfiles_files_files): New. Accumulate language for each file
19666         accumulated.
19667         (gtfiles): Pick up value for C.
19668         (srcdir): AC-SUBST this variable.
19669         (all_gtfiles_files_langs): AC-SUBST this variable.
19670         (all_gtfiles_files_files): AC-SUBST this variable.
19671
19672         * configure: Regenerate.
19673
19674         * gengtype-lex.l (parse_file): Make parameter const.
19675
19676         * gengtype.c (toplevel): include gtyp-gen.h.
19677         (BASE_FILE_<language> unnamed enum): Delete.
19678         (lang_names): Delete (replaced by gtyp-gen.h)
19679         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19680         all references.
19681         (NUM_GT_FILES): New.
19682         (NUM_LANG_FILES): New.
19683         (srcdir_len): New.
19684         (NUM_BASE_FILES): Change calculation.
19685         (open_base_files): Change prototype to avoid warning.
19686         (startswith): Delete.
19687         (get_file_basename): Iterate through generated language list not
19688         hard coded list.
19689         (get_base_file_bitmap): Use generated list of files and languages.
19690         (close_output_files): Add prototype to rmove warning.
19691         (main): Iterate through list of generated files from gtyp-gen.h
19692         rather than command line paramaters.  Ignore duplicated file
19693         names.
19694
19695         * gengtype.h (parse_file): Amend prototype for const parameter.
19696
19697         * doc/sourcebuild.texi: Document gtfiles variable.
19698
19699         * doc/gty.texi: Document changes to gtfiles variable for front
19700         ends.
19701
19702         * objc/config-lang.in (gtfiles): Add files needed for objc front
19703         end.
19704
19705 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19706
19707         PR c/2454
19708         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19709         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19710
19711 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19712             Zack Weinberg <zack@codesourcery.com>
19713
19714         * builtins.def: Make the argument types of abort and exit
19715         independent of the front-end.
19716
19717 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19718
19719         * config/rs6000/linux64.h (ASM_SPEC): Define.
19720
19721 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19722
19723         * config/rs6000/rs6000.c (emit_frame_save): New.
19724         (rs6000_frame_related): Replace reg2 before reg.
19725         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19726         and eh_return registers.
19727
19728 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19729
19730         Revert all patches for optimization of Complex .op. Real.
19731         * complex_part_zero_p: Remove
19732         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19733         with x.
19734         * expand_cmplxdiv_wide: Ditto.
19735         * expand_binop: Ditto.
19736
19737 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19738
19739         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19740         negative also on 64-bit hosts.
19741
19742         Default to -fno-reorder-blocks when optimizing for size.
19743         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19744         * config/avr/avr.c (avr_optimization_options): New function.
19745         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19746
19747         Optimize returning from simple functions.
19748         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19749         * config/avr/avr.c (avr_simple_epilogue): New function.
19750         * config/avr/avr.md (return): New insn.
19751
19752 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19753
19754         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19755         HAS_INIT_SECTION to protection.
19756
19757 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19758
19759         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19760         deprecated.
19761
19762 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19763
19764         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19765         Supply non-VOID mode to simplify_gen_subreg.
19766
19767 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19768
19769         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19770
19771 2002-07-10  Jeffrey A Law  <law@redhat.com>
19772
19773         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19774         as appropriate.
19775
19776         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19777         register to use.
19778
19779 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19780
19781         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19782         Get mode from dest.
19783         If simplify_gen_subreg fails, try next equivalent.
19784
19785 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19786
19787         * diagnostic.h: #include location.h
19788         (location_t): Move definition to..
19789         * location.h: ... here.  New file.
19790         * tree.h: #include location.h
19791         (DECL_SOURCE_LOCATION): New macro.
19792         (DECL_SOURCE_FILE): Use.
19793         (DECL_SOURCE_LINE): Likewise.
19794         (struct tree_decl): REplace filename and linenum with locus.
19795         * Makefile.in (TREE_H): add location.h
19796         (diagnostic.o): Depends on gt-location.h
19797         (gt-location.h): Depends on s-gtype
19798
19799 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19800
19801         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19802         TARGET_OS_CPP_BUILTINS.
19803         * config/rs6000/aix31.h: Likewise.
19804         * config/rs6000/aix41.h: Likewise.
19805         * config/rs6000/aix43.h: Likewise.
19806         * config/rs6000/aix51.h: Likewise.
19807         * config/rs6000/beos.h: Likewise.
19808         * config/rs6000/darwin.h: Likewise.
19809         * config/rs6000/eabi.h: Likewise.
19810         * config/rs6000/eabisim.h: Likewise.
19811         * config/rs6000/linux.h: Likewise.
19812         * config/rs6000/linux64.h: Likewise.
19813         * config/rs6000/lynx.h: Likewise.
19814         * config/rs6000/mach.h: Likewise.
19815         * config/rs6000/rtems.h: Likewise.
19816         * config/rs6000/sysv4.h: Likewise.
19817         * config/rs6000/vxppc.h: Likewise.
19818
19819 2002-07-09 Devang Patel <dpatel@apple.com>
19820         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19821         Do not allow ObjC objects as a parameter type for Objective-C methods.
19822         My previous patch restricted  'struct' also.
19823
19824 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
19825
19826         * cpperror.c (cpp_error): Default to directive_line within
19827         directives here.
19828         * cppexp.c (cpp_interpret_integer): Only use traditional
19829         number semantics in directives.
19830         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19831         (do_include_common): Similarly.
19832         * cpptrad.c (scan_out_logical_line): Implement accurate
19833         quoting of <> in #include.
19834         * doc/cpp.texi: Update.
19835
19836 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
19837                           J"orn Rennecke <joern.rennecke@superh.com>
19838
19839         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19840         * sh.md (attribute issues): Replace with:
19841         (attribute pipe_model).  All users changed.
19842         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19843         All users changed.
19844         (function units sh5issue, sh5fds): New.
19845         (attribute is_mac_media): New.
19846         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19847         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19848         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19849         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19850         (call_media, call_value_media, sibcall_media): Likewise.
19851         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19852         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19853         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19854         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19855         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19856         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19857         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19858         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19859         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19860         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19861         (truncdfsf2_media): Likewise.
19862         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19863         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19864
19865 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19866
19867         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19868         * sh.c (general_extend_operand, inqhi_operand): New functions.
19869         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19870         alternatives using 'N' modifier.  Add type.
19871         (adddi3z_media): Likewise.  Enable generator function generation.
19872         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19873         exact predicates / constraints.  Add type.
19874         (subsi3): Allow 0 for SHMEDIA.
19875         (udivsi3_i4_media): Use match_operand for input values
19876         rather than hard registers.
19877         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19878         unnecessarily through hard registers.  Keep copies of pseudo
19879         registers outside of the libcall sequence.
19880         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
19881         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19882         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19883         (extendhidi2, extendqidi2): Likewise.
19884         (andsi3_compact): Name.
19885         (andcdi3): Enable generator function generation.
19886         (zero_extendhisi2, zero_extendqisi2): Rename to
19887         (zero_extendhisi2_compact, zero_extendqisi2_compact).
19888         (extendhisi2, extendqisi2): Rename to
19889         (extendhisi2_compact, extendqisi2_compact).
19890         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19891         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19892         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19893         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19894         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19895         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19896         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19897         (shmedia32_initialize_trampoline_big): Likewise.
19898         (shmedia32_initialize_trampoline_little): Likewise.
19899         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19900         (negdi2): Remove spurious T clobber.
19901         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19902         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19903         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19904         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19905         (ic_invalidate_line_media): Write back data cache before invalidating
19906         instruction cache.  Add type.
19907         (movsf_media): Sign-extend when the destination is a general
19908         purpose register.  Add type.
19909         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19910         (casesi_worker_0+1): Only increment ref count for proper label.
19911         (casesi_worker_0+2): Likewise.
19912
19913 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
19914
19915         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19916
19917 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
19918
19919         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19920         from Pmode to ptr_mode.
19921         (get_exception_pointer): Ditto.
19922         (connect_post_landing_pads): Ditto.
19923         (dw2_build_landing_pads): Ditto.
19924
19925 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
19926         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19927         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19928         (handle_pragma_redefine_extname): Change to use new function.
19929
19930 2002-07-08  Roger Sayle  <roger@eyesopen.com>
19931
19932         * combine.c (combine_simplify_rtx): Add an explicit cast
19933         to avoid signed/unsigned comparison warning.
19934         (simplify_if_then_else): Likewise.
19935         (extended_count): Likewise.
19936         (simplify_shift_const): Likewise.
19937         (simplify_comparison): Likewise.
19938
19939 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
19940
19941         * config/mips/mips.md: Add imadd type.  Update scheduler description
19942         to use imadd as well as imul.
19943         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19944         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19945         (*mul_sub_si): Likewise for first alternative.  Change second
19946         alternative from imul to multi.
19947
19948 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
19949
19950         * c-common.c (c_common_post_options): Update prototype;
19951         don't init backends if preprocessing only.
19952         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19953         * langhooks.h (struct lang_hooks): Update post_options to
19954         return a boolean.
19955         * toplev.c (parse_options_and_default_flags, do_compile,
19956         lang_independent_init): Update prototypes.  Allow the
19957         front end to specify that there is no need to initialize
19958         the back end.
19959         (general_init): Move call to hex_init here...
19960         (toplev_main): ...from here.  Pass flag for back end init
19961         suppression.
19962
19963 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
19964
19965         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19966         (PREDICATE_CODES): Add entries for equality_comparison_operator,
19967         greater_comparison_operator and less_comparison_operator.
19968         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
19969         more operators.
19970         (equality_comparison_operator): New function.
19971         (greater_comparison_operator, less_comparison_operator): Likewise.
19972         * sh.md (beq_media_i): Disable generator function generation.
19973         Use match_operator to handle a whole class of comparisons.  Add
19974         modifier in output template to provide branch prediction.  Add type.
19975         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
19976         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19977         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19978         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19979
19980 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
19981
19982         Emit MMIX function prologue and epilogue as rtl.
19983         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19984         not unprototyped get_hard_reg_initial_val.
19985         ("call_value", "nonlocal_goto_receiver"): Ditto.
19986         ("return"): Make define_expand.  Move real insn to...
19987         ("*expanded_return"): New pattern.
19988         ("prologue", "epilogue"): New define_expands.
19989         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19990         (struct machine_function): New member in_prologue.
19991         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19992         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19993         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19994         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19995         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19996         (LOCAL_REGNO): Define.  Adjust comment.
19997         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19998         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19999         leaf_function_p.
20000         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
20001         the prologue.
20002         (mmix_target_asm_function_prologue): Make static.  Just mark that
20003         the prologue is being emitted.  Move guts to...
20004         (mmix_expand_prologue): New function.  Adjust for emitting
20005         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
20006         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
20007         \n.  Move guts to...
20008         (mmix_expand_epilogue): New function.  Adjust for emitting
20009         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
20010         (mmix_target_asm_function_end_prologue): Mark that the prologue
20011         has ended.
20012         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
20013         (mmix_conditional_register_usage): Improve comments.
20014         (mmix_local_regno): New function.
20015         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
20016         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
20017         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
20018         (mmix_get_hard_reg_initial_val): Ditto.
20019
20020 2002-07-06  Andreas Jaeger  <aj@suse.de>
20021
20022         * toplev.c (set_fast_math_flags): Don't use ISO C style function
20023         definitions.
20024         * gengtype.c (open_base_files): Likewise.
20025         (close_output_files): Likewise.
20026         * tracer.c (find_best_predecessor): Likewise.
20027         (find_best_successor): Likewise.
20028         (ignore_bb_p): Likewise.
20029
20030 2002-07-05  Roger Sayle  <roger@eyesopen.com>
20031
20032         PR c++/7099
20033         * builtin-attrs.def: Define new attribute lists for use in
20034         builtins.def.
20035         * builtins.def [DEF_BUILTIN]: Modify to take an additional
20036         ATTRS argument, an enumerated value defined in builtin-attrs.def
20037         that represents the attribute list for the builtins.  Modify
20038         all builtin functions to pass an appropriate attribute list.
20039         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
20040         their required noreturn attributes.
20041         * tree.h (enum_builtin_function): Ignore the additional parameter
20042         to DEF_BUILTIN.
20043         * builtins.c (built_in_names): Likewise.
20044         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
20045         argument with a tree representing the functions attribute list.
20046         Pass this "attrs" argument to builtin_function.  No longer handle
20047         the noreturn_p processing manually.
20048         (built_in_attributes): Move the definitions from builtin-attrs.def
20049         before c_common_nodes_and_builtins.
20050         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
20051         DEF_BUILTIN, passing it to both builtin_function and the changed
20052         builtin_function_2.
20053
20054         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
20055         __builtin__exit and __builtin__Exit.
20056
20057 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20058
20059         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
20060         QI mode registers in soft registers.
20061         ("zero_extendqihi2"): Do not take into account soft registers
20062         for register allocation (use '*' constraint).
20063
20064 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20065
20066         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
20067         it is dead.
20068         ("*ashrsi3"): Likewise.
20069         ("*lshrsi3"): Likewise.
20070
20071 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
20072
20073         * genautomata.c (output_max_insn_queue_index_def): Take latencies
20074         into account.
20075
20076 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
20077
20078         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
20079         address computation and memory moves.
20080
20081 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
20082
20083         PR c++/6706
20084         * dwarfout.c (output_reg_number): Fix warning message.
20085         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
20086         before using it.
20087
20088 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
20089
20090         * gcc/gcc.c (asm_debug): Move initialization ...
20091         (init_spec): ... here.
20092
20093 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
20094
20095         * c-parse.in (extdef): Append ';'.
20096         (old_style_parm_decls): Append ';'.
20097
20098 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
20099
20100         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
20101         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
20102         to gcc_cv_as_gstabs_flag.
20103         * configure: Rebuilt.
20104
20105 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
20106
20107         * ggc.h (ggc_add_root): Document as obsolete.
20108
20109 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
20110
20111         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
20112         (mshflo_w): Likewise.
20113
20114 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
20115
20116         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
20117         vector mode subregs of constants to finding integer mode
20118         subregs of constants.
20119         * cse.c (cse_insn): Use simplify_gen_subreg.
20120         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
20121         From a vector mode expression of different size than the
20122         target mode.
20123
20124 2002-07-03  Eric Christopher  <echristo@redhat.com>
20125
20126         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
20127         * config/mips/mips.h: Remove deprecated -m<processor> options
20128         and cc1_cpu_spec associated.
20129         (CONSTANT_ADDRESS_P): Fix last patch.
20130         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
20131         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
20132         sunge_sf): Remove.
20133
20134 2002-07-03  Stan Shebs  <shebs@apple.com>
20135
20136         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
20137         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
20138         (CPP_SPEC): Remove insertion of APPLE_CC definition.
20139
20140 2002-07-03  Roger Sayle  <roger@eyesopen.com>
20141
20142         * combine.c (struct_undo): Change types of recorded substitutions
20143         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
20144         (do_SUBST_INT): Change types of the substitution from unsigned int
20145         to int, to avoid compilation warning from SUBST_INT's only caller.
20146
20147         (make_extraction): Add cast to avoid compilation warning.
20148         (force_to_mode): Remove cast to avoid compilation warning.
20149
20150 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
20151             Jeff Law  <law@redhat.com>
20152
20153         * i386.md (length_immediate attribute): Fix typo.
20154         (length_address attribute): Likewise.
20155         (modrm attribute): Set it to 0 for immediate call instructions.
20156         (jcc_1 pattern): Set modrm attribute to 0.
20157         (jcc_2 pattern ): Likewise.
20158         (jump pattern): Likewise.
20159         (doloop_end_internal pattern): Explicitly set length.
20160         (leave pattern): Fix typo.
20161         (leave_rex64 pattern): Likewise.
20162
20163 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
20164
20165         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
20166         in FPR as preference.
20167         (fctiwz): Same.
20168         (floatdidf2, fix_truncdfdi2): Same.
20169         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
20170         (floatditf2): Same.
20171         (floatsitf2, fix_trunctfsi2): SImode in GPR.
20172         (ctrdi): Remove FPR alternative and splitter.
20173
20174 2002-07-03  Will Cohen  <wcohen@redhat.com>
20175
20176         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
20177
20178 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
20179
20180         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
20181         than UNITS_PER_WORD, unless this is little endian and the first unit
20182         in this word.  Let extract_bit_field decide how to load an element.
20183         Force arguments to matching mode.
20184         (expand_vector_unop): Likewise.
20185
20186         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
20187         consist of word_mode elements.
20188         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
20189         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
20190         (build_unary_op): Allow vector types for BIT_NOT_EPR.
20191         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
20192         CONST_VECTOR.
20193         * optabs.c (expand_vector_binop): Try to perform operation in
20194         smaller vector modes with same inner size.  Add handling of AND, IOR
20195         and XOR.  Reject expansion to inner-mode sized scalars when using
20196         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
20197         (expand_vector_unop): Try to perform operation in smaller vector
20198         modes with same inner size.  Add handling of one's complement.
20199         When there is no vector negate operation, try a vector subtract
20200         operation.  Use simplify_gen_subreg on constants.
20201         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
20202         constants into smaller vectors with same inner mode, and to
20203         integer CONST_DOUBLEs.
20204
20205 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20206
20207         * c-parse.in (parsing_iso_function_signature): New variable.
20208         (extdef_1): New, copied from...
20209         (extdef): ... here.  Reset parsing_iso_function_signature.
20210         (old_style_parm_decls):  Reset parsing_iso_function_signature.
20211         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
20212         Warn about ISO C style function definitions.
20213         (nested_function, notype_nested_function): Reset
20214         parsing_iso_function_signature.
20215         (parmlist_2): Set parsing_iso_function_signature.
20216
20217         * doc/invoke.texi (-Wtraditional): Document new behavior.
20218
20219 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
20220
20221         * config.gcc (mips*el-*-*): Use tm_defines to set
20222         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
20223         * config/mips/little.h: Remove.
20224
20225 2002-07-02 Devang Patel <dpatel@apple.com>
20226
20227         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
20228         object as parameter. Prevent something like 'NSObject' to be
20229         used as the type for a method argument.
20230
20231 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
20232
20233         * cpptrad.c: Update comment.
20234
20235 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20236
20237         * doc/cpp.texi: Update for traditional preprocessing changes.
20238         * goc/cppopts.texi: Similarly.
20239
20240 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
20241
20242         * c-parse.in (designator): Enable designated initializers if ObjC.
20243         (objcmessageexpr): Remove references to objc_receiver_context.
20244         * objc/objc-act.h (objc_receiver_context): Remove decl.
20245         * objc/objc-act.c (objc_receiver_context): Remove.
20246         (lookup_objc_ivar): Test objc_method_context instead of
20247         objc_receiver_context.
20248
20249 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
20250
20251         * sh.c (print_operand, case 'N'): Allow zero vector.
20252         (arith_reg_or_0_operand): Likewise.
20253         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
20254         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
20255         IOR, XOR, PLUS and SET and take their respective constant
20256         ranges into account.
20257         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
20258         * sh.md (subdi3, subdi3_media): Allow zero operand.
20259         (movv8qi_i+3): Only vector that is not split is the zero vector.
20260         Fix operand 3 to simplify_subreg.
20261         (movv2si_i): Split alternative 1.
20262         (mshfhi_l_di_rev+1): New splitter.
20263
20264 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
20265
20266         PR preprocessor/7029
20267         * cppinit.c (cpp_handle_option):  Suppress warnings with an
20268         implicit "-w" for "-M" and "-MM".
20269         * doc/cppopts.texi: Update.
20270
20271 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20272
20273         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
20274         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
20275         builtin_function.
20276
20277 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
20278
20279         * README.Portability: Fix typos.
20280
20281 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
20282
20283         PR target/7177
20284         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
20285         of indirections for register inside sign-extended mem part.
20286
20287 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20288
20289         * tree.h:  Modify builtin_function interface to take an extra
20290         argument ATTRS, which is a tree representing an attribute list.
20291
20292         * c-decl.c (builtin_function): Accept additional parameter.
20293         * objc/objc-act.c (builtin_function): Likewise.
20294         * f/com.c (builtin_function): Likewise.
20295         * java/decl.c (builtin_function): Likewise.
20296         * ada/utils.c (builtin_function): Likewise.
20297         * cp/decl.c (builtin_function): Likewise.
20298         (builtin_function_1): Likewise.
20299
20300         * c-common.c (c_common_nodes_and_builtins): Pass an additional
20301         NULL_TREE argument to builtin_function.  (builtin_function_2):
20302         Likewise.
20303         * cp/call.c (build_java_interface_fn_ref): Likewise.
20304         * objc/objc-act.c (synth_module_prologue): Likewise.
20305         * java/decl.c (java_init_decl_processing): Likewise.
20306         * f/com.c (ffe_com_init_0): Likewise.
20307
20308         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
20309         NULL_TREE argument to builtin_function.
20310         * config/arm/arm.c (def_builtin): Likewise.
20311         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
20312         * config/i386/i386.c (def_builtin): Likewise.
20313         * config/ia64/ia64.c (def_builtin): Likewise.
20314         * config/rs6000/rs6000.c (def_builtin): Likewise.
20315
20316 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
20317
20318         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
20319         * config/mips/t-isa3264: Likewise.
20320         * config/mmix/t-mmix: Likewise.
20321
20322 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
20323
20324         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
20325
20326 2002-07-01  Roger Sayle  <roger@eyesopen.com>
20327
20328         PR opt/4046
20329         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
20330         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
20331         B are truth values.
20332
20333 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
20334
20335         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
20336
20337 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
20338
20339         * README.Portability (Function prototypes): Give an example of
20340         declaring and defining a function with no arguments.
20341
20342         * README.Portability (Function prototypes): Document new
20343         variable-argument function macros.
20344
20345 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
20346
20347         * sh.c (langhooks.h): Include.
20348         (sh_init_builtins, sh_media_init_builtins): New functions.
20349         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
20350         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
20351         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
20352         (builtin_description): New struct tag.
20353         (signature_args, bdesc): New arrays.
20354         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
20355         (print_operand): Add 'N' modifier.
20356         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
20357         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
20358         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
20359         (CONST_COSTS): Add special case for SHmedia AND.
20360         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
20361         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
20362         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
20363         target_operand can also be const or unspec.
20364         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
20365         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
20366         (attribute type): Add new types.
20367         (anddi3): Add splitter.
20368         (movdi_const_16bit+1): Add code to handle vector constants and
20369         bitmasks efficiently.
20370         (shori_media): Have generator function made.
20371         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
20372         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
20373         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
20374         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
20375         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
20376         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
20377         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
20378         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
20379         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
20380         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
20381         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
20382         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
20383         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
20384         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
20385         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
20386         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
20387         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
20388         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
20389         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
20390         (ftrv): Likewise.
20391
20392         (fpu_switch+1, fpu_switch+2): Remove constraint.
20393
20394 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
20395
20396         * tree.c (build_function_type_list): Update function comment.
20397         Rename first argument to return_type.
20398
20399 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20400
20401         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
20402         tradcif.y and related files.
20403
20404 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
20405
20406         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
20407
20408 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
20409
20410         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
20411
20412 See ChangeLog.7 for earlier changes.