convert.c (convert_to_real): Also optimize (float)log(x) into logf(x) where x is...
[platform/upstream/gcc.git] / gcc / ChangeLog
1 2003-02-18  Roger Sayle  <roger@eyesopen.com>
2
3         * convert.c (convert_to_real): Also optimize (float)log(x) into
4         logf(x) where x is a float, i.e. also handle BUILT_IN_LOG{,L}.
5
6 2003-02-18  Kaz Kojima  <kkojima@gcc.gnu.org>
7
8         * config/sh/sh.c (unspec_caller_rtx_p): New.
9         (sh_cannot_copy_insn_p): New.
10         (TARGET_CANNOT_COPY_INSN_P): New.
11
12 2003-02-18  Richard Henderson  <rth@redhat.com>
13
14         * c-common.c (handle_used_attribute): Accept static data too.
15
16 2003-02-18  Nick Clifton  <nickc@redhat.com>
17             Aldy Hernandez  <aldyh@redhat.com>
18
19         * testsuite/gcc.dg/20030218-1.c: New.
20
21         * doc/tm.texi: Document TARGET_VECTOR_TYPES_COMPATIBLE.
22
23         * target-def.h (TARGET_INITIALIZER): Add
24         TARGET_VECTOR_TYPES_COMPATIBLE.
25         (TARGET_VECTOR_TYPES_COMPATIBLE): New macro.
26
27         * target.h (struct gcc_target): Add field vector_types_compatible.
28
29         * c-typeck.c (comptypes): Take into account
30         TARGET_VECTOR_TYPES_COMPATIBLE.
31         (convert_for_assignment): Same.
32
33         * config/rs6000/rs6000.c (is_ev64_opaque_type): New.
34         (rs6000_spe_vector_types_compatible): New.
35         (TARGET_VECTOR_TYPES_COMPATIBLE): Define.
36
37 2003-02-19  Andreas Schwab  <schwab@suse.de>
38
39         * Makefile.in (toplev.o): Depend on $(LANGHOOKS_DEF_H).
40         * toplev.c: Include langhooks-def.h.
41
42 2003-02-18  Chris Demetriou  <cgd@broadcom.com>
43
44         * config/mips/mips.h (enum processor_type): Sort entries
45         alphabetically.
46         * config/mips/mips.md (define_attr cpu): Sync with processor_type
47         enum values, including adding entries that were missing.
48
49 Tue Feb 18 20:15:54 2003  J"orn Rennecke <joern.rennecke@superh.com>
50
51         * sh.c (calc_live_regs): Also check GET_CODE when checking if initial value
52         for PR_REG is still the PR_REG register.
53
54 2003-02-18  Jim Wilson  <wilson@redhat.com>
55
56         * config/ia64/ia64.md (floatdidf2, floatdisf2): Add %, before second
57         instruction in output template.
58         (bsp_value): Change output template from string to C code, add %,
59         before actual instruction.
60         (flushrs): Mark as not predicable.
61
62 2003-02-18  Krister Walfridsson  <cato@df.lth.se>
63
64         * inclhack.def (netbsd_bogus_semicolon): New fix.
65         * fixincl.x: Rebuilt.
66         * tests/base/ctype.h: Update.
67
68 2003-02-18  Roger Sayle  <roger@eyesopen.com>
69
70         * fold-const.c (negate_expr_p): New function to determine whether
71         an expression can be negated cheaply.
72         (fold) [MINUS_EXPR]: Use it to determine whether to transform
73         -A - B into -B - A for floating point types.
74
75 2003-02-18  Roger Sayle  <roger@eyesopen.com>
76
77         * sbitmap.c (sbitmap_resize): New function.
78         * sbitmap.h (sbitmap_resize): Prototype here.
79         * recog.c (split_all_insns): Use sbitmap_resize.
80
81 2003-02-18  Kazu Hirata  <kazu@cs.umass.edu>
82
83         * config/h8300/h8300.md (*zero_extendhisi2_h8300): Fix the
84         insn length.
85         (extendqisi2): Likewise.
86         (*extendhisi2_h8300): Likewise.
87
88 2003-02-18  Matt Austern <austern@apple.com>
89         
90         * langhooks.h, langhooks-def.h: introduce new langhook,
91         final_write_globals, with write_global_declarations as default.
92         * toplev.c: Move invocation of wrapup_global_declarations from
93         compile_file to new function, write_global_declarations.  Change
94         compile_file to use final_write_globals hook.  Change
95         wrapup_global_declarations so writing to DECL_DEFER_OUTPUT is
96         conditional. 
97         
98 2003-02-18  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
99
100         * pa.md: Correct and enhance comment.
101
102 2003-02-18  Geoffrey Keating  <geoffk@apple.com>
103
104         * gcc.c (validate_switches): Don't scan past closing '}'.
105
106 2003-02-18  Ben Elliston  <bje@redhat.com>
107
108         PR c++/1607
109         * doc/extend.texi (Function Attributes): Document the effect of
110         the C++ "this" parameter on the counting of arguments for the
111         "format" and "format_arg" attributes.
112
113 2003-02-17  Aldy Hernandez  <aldyh@redhat.com>
114
115         * config/rs6000/spe.h (__ev_stdd): Cast 2nd arg.
116         (__ev_stdw): Same.
117         (__ev_stdh): Same.
118
119 Mon Feb 17 16:16:54 CET 2003  Jan Hubicka  <jh@suse.cz>
120
121         * recog.c (split_all_insns):  Fix memory overflow.
122
123 2003-02-17  Kazu Hirata  <kazu@cs.umass.edu>
124
125         * config/h8300/h8300.md (cmpqi): Remove mode from compare.
126         (cmphi): Likewise.
127         (*cmphi_h8300): Likewise.
128         (*cmphi_h8300hs): Likewise.
129         (cmpsi): Likewise.
130         (7 peephole2): Likewise.
131
132 Sun Feb 16 23:07:52 CET 2003  Jan Hubicka  <jh@suse.cz>
133
134         * c-typeck.c (build_c_cast):  Fold constant variables into
135         initial values.
136
137 2003-02-16  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
138
139         * doc/install.texi (Specific): Fix link for m68k-att-sysv.
140         (Binaries): Ditto for Sinix/Reliant Unix.
141
142 2003-02-16 Richard Earnshaw  <rearnsha@arm.com>
143
144         * arm.c (arm_reload_in_hi): Ensure that the scratch register does
145         not overlap the final result register.
146
147 2003-02-16 Arend Bayer <arend.bayer@web.de>
148            Richard Henderson  <rth@redhat.com>
149
150         PR c/8068
151         * fold-const.c (extract_muldiv_1): Rename from extract_muldiv;
152         rearrange mult arguments for less recursion.
153         (extract_muldiv): New.  Prevent runaway recursion.
154
155 2003-02-16  Danny Smith  <dannysmith@users.sourceforge.net>
156
157         * config/i386/cygwin.h (TARGET_SUBTARGET_DEFAULT): Set
158         MASK_ALIGN_DOUBLE.
159
160 2003-02-15  Roger Sayle  <roger@eyesopen.com>
161
162         * config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
163         to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
164         (ext_80387_constants_table): Global table of 80387 special constants
165         guarded by ext_80387_constants_init flag when not initialized.
166         (init_ext_80387_constants): New function to initialize this table.
167         (standard_80387_constant_p): Extend to recognize extra 80387
168         constants, in XFmode, on processors where this is a win.
169         (standard_80387_constant_opcode): New function to return the
170         opcode associated with standard_80387_constant_p.
171         (standard_80387_constant_rtx): New function to return the XFmode
172         CONST_DOUBLE associated with standard_80387_constant_p.
173         (ix86_rtx_costs): Give the new constants the same cost as 1.0.
174
175         * config/i386/i386-protos.h (standard_80387_constant_opcode):
176         Prototype here.
177         (standard_80387_constant_rtx): Likewise.
178
179         * config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
180         *movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
181         *movtf_integer): Simplify using new standard_80387_constant_opcode.
182
183 2003-02-15  Geoffrey Keating  <geoffk@apple.com>
184
185         * doc/invoke.texi (Optimize Options): Correct @option syntax.
186
187 2003-02-15  Richard Henderson  <rth@redhat.com>
188
189         * Makefile.in (cfglayout.o): Depend on TARGET_H.
190         * cfglayout.c: Include target.h.
191         (cfg_layout_can_duplicate_bb_p): Check targetm.cannot_copy_insn_p.
192         * target-def.h (TARGET_CANNOT_COPY_INSN_P): New.
193         * target.h (struct gcc_target): Add cannot_copy_insn_p.
194
195         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): New.
196         (TARGET_CANNOT_COPY_INSN_P): New.
197         (override_options): Revert 2003-02-08 hack.
198
199 2003-02-15  Richard Henderson  <rth@redhat.com>
200
201         * gcse.c (bypass_block): Use BLOCK_FOR_INSN for resolving LABEL_REFs.
202         (bypass_conditional_jumps): Accept computed_jump_p insns as well.
203
204 2003-02-15  David Edelsohn  <edelsohn@gnu.org>
205
206         * config/rs6000/rs6000.h (processor_type): Add PPC440.
207         * config/rs6000/rs6000.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
208         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
209         TARGET_SCHED_VARIABLE_ISSUE): Define.
210         (rs6000_use_dfa_pipeline_interface): New function.
211         (rs6000_multipass_dfa_lookahead): New Function.
212         (rs6000_variable_issue): New function.
213         (rs6000_adjust_cost): Add CMP and DELAYED_CR types.
214         (rs6000_issue_rate): Add PPC440.
215         * config/rs6000/rs6000.md (unspec list): Correct typo.
216         (attr "type"): Add load_ext, load_ext_u, load_ext_ux, load_u,
217         store_ux, store_u, fpload_ux, fpload_u, fpstore_ux, fpstore_u,
218         cmp, delayed_cr, mfcr, mtcr.
219         (automata_option): Set "ndfa".
220         (extendMMNN2): Update attributes.
221         (movcc_internal1): Discourage move to non-cr0.  Update
222         attributes.
223         (movMM_update): Update attributes.
224         (cmpMM_internal): Update attributes.
225         (sCC CR materialization): Update attributes.
226         (branch patterns): Do not discourage non-cr0.
227         (cr logical patterns): Prefer destructive register allocation.
228         Update attributes.
229         (movesi_from_cr): Update attribute.
230         (mtcrf_operation): Update attribute.
231         (mtcrfsi): Update attribute.
232         * config/rs6000/40x.md: New file.
233         * config/rs6000/603.md: New file.
234         * config/rs6000/6xx.md: New file.
235         * config/rs6000/7450.md: New file.
236         * config/rs6000/7xx.md: New file.
237         * config/rs6000/mpc.md: New file.
238         * config/rs6000/power4.md: New file.
239         * config/rs6000/rios1.md: New file.
240         * config/rs6000/rios2.md: New file.
241         * config/rs6000/rs64.md: New file.
242         [Some DFA descriptions based on work by Michael Hayes]
243
244 2003-02-15  Richard Henderson  <rth@redhat.com>
245
246         * bb-reorder.c (find_traces_1_round): Don't connect easy to copy
247         successors with multiple predecessors.
248         (connect_traces): Try harder to copy traces of length 1.
249
250         * function.h (struct function): Add computed_goto_common_label,
251         computed_goto_common_reg.
252         * function.c (free_after_compilation): Zap them.
253         * stmt.c (expand_computed_goto): Use them to produce one 
254         indirect branch per function.
255
256 2003-02-15  Richard Henderson  <rth@redhat.com>
257
258         * cfgcleanup.c: Include params.h.
259         (try_crossjump_bb): Use PARAM_MAX_CROSSJUMP_EDGES.  Fix test for
260         too many outgoing edges from a block.
261         * Makefile.in (cfgcleanup.o): Depend on PARAMS_H.
262         * params.def (max-crossjump-edges): New.
263         * doc/invoke.texi: Document it.
264
265 2003-02-15  Richard Henderson  <rth@redhat.com>
266
267         * recog.c (split_all_insns): Include new blocks in life update;
268         do a global life update.
269
270 2003-02-15  Danny Smith  <dannysmith@users.sourceforge.net>
271
272         * config/i386/mingw32.h (LIBGCC_SPEC): Add libmingwex.a.
273         Update copyright.
274         * config/i386/cygwin.h (LIBGCC_SPEC): Add libmingwex.a for
275         -mno-cygwin case.
276
277 2003-02-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
278
279         PR optimization/7702
280         * reload1.c (reload_cse_simplify_set): Honor
281         CANNOT_CHANGE_MODE_CLASS.
282
283 2003-02-14  Alexandre Oliva  <aoliva@redhat.com>
284
285         * config/mn10300/mn10300.c (mn10300_wide_const_load_uses_clr): New
286         function.
287         * config/mn10300/mn10300-protos.h: Declare it.
288         * config/mn10300/mn10300.md (movdi, movdf): Use it to compute
289         attribute cc of instructions that may use clr.
290
291 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
292
293         * simplify-rtx.c (simplify_binary_operation): Simplify ~y when
294         (x - (x & y)) is found.
295
296 2003-02-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
297
298         * configure.in: Fix typo.
299         * configure: Regenerate.
300
301 2003-02-14  Kazu Hirata  <kazu@cs.umass.edu>
302
303         * config/h8300/h8300.md (*iorsi2_and_1_lshiftrt_1): New.
304
305 2003-02-13  Adam Nemet  <anemet@lnxw.com>
306
307         PR opt/2391 
308         * combine.c: Fix spelling in comment.
309         (cached_nonzero_bits): New function.
310         (cached_num_sign_bit_copies): New function.
311         (nonzero_bits_with_known): New macro.
312         (num_sign_bit_copies_with_known): New macro.
313         (nonzero_bits1): Rename from nonzero_bits.  Add three new
314         arguments.  Change calls from nonzero_bits to
315         nonzero_bits_with_known.
316         (num_sign_bit_copies1): Rename from num_sign_bit_copies.  Add
317         three new arguments.  Change calls from num_sign_bit_copies to
318         num_sign_bit_copies_with_known.
319         (nonzero_bits): New macro.
320         (num_sign_bit_copies): New macro.
321         (update_table_tick): Don't traverse identical subexpression more
322         than once.
323         (get_last_value_validate): Likewise.
324
325 2003-02-13  Zack Weinberg  <zack@codesourcery.com>
326
327         * emit-rtl.c (init_emit): Use ggc_alloc for regno_reg_rtx.
328         * function.h (struct emit_status): Length of regno_pointer_align
329         and x_regno_reg_rtx as seen by gengtype is only x_reg_rtx_no,
330         not regno_pointer_align_length (i.e. length actually used, not
331         length as allocated)
332
333         * config/i386/i386.c (struct stack_local_entry): New.
334         (struct machine_function): Replace huge array with alist.
335         (assign_386_stack_local): Change to match.
336
337 2003-02-13  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
338
339         * inclhack.def (hpux_long_double): Tighten select and add bypass
340         regexp.
341         * fixincl.x: Rebuilt.
342
343 2003-02-13  Josef Zlomek  <zlomekj@suse.cz>
344
345         * cfgcleanup.c (outgoing_edges_match): When there is single outgoing
346         edge and block ends with a jump insn it must be simple jump.
347
348 2003-02-13  Daniel Jacobowitz  <drow@mvista.com>
349
350         * Makefile.in (PREPROCESSOR_DEFINES): Add
351         @TARGET_SYSTEM_ROOT_DEFINE@.
352         * configure.in (PREFIX_INCLUDE_DIR): Don't define if $with_sysroot
353         is specified or if building a cross compiler.
354         (TARGET_SYSTEM_ROOT_DEFINE): Add TARGET_SYSTEM_ROOT_RELOCATABLE
355         if the sysroot is under $exec_prefix.
356         * configure: Regenerated.
357         * cppdefault.h: Use native include paths if TARGET_SYSTEM_ROOT is
358         defined.
359         (struct default_include): Add add_sysroot field.
360         (cpp_SYSROOT): Declare.
361         * cppdefault.c (cpp_include_defaults): Fill in add_sysroot
362         field.
363         (cpp_SYSROOT): New variable.
364         * cppinit.c (cpp_create_reader): Initialize
365         CPP_OPTION (pfile, sysroot).
366         (init_standard_includes): Handle add_sysroot.  Do not
367         add unrelocated copies of relocated directories.
368         (COMMAND_LINE_OPTIONS): Add -isysroot.
369         (cpp_handle_option): Handle -isysroot.
370         * cpplib.h (struct cpp_options): Add sysroot member.
371         * gcc.c (The Specs Language): Update description of %I.
372         (target_system_root_changed): New variable.
373         (process_command): Conditionalize make_relative_prefix call
374         on !VMS and TARGET_SYSTEM_ROOT_RELOCATABLE.  Set
375         target_system_root_changed.
376         (do_spec_1): Add -isysroot to %I.
377         * doc/invoke.texi (Spec Files): Update description of %I.
378         * doc/install.texi (--with-sysroot): Update comment about
379         relocation.
380
381 2003-02-13  Kazu Hirata  <kazu@cs.umass.edu>
382
383         * config/h8300/h8300.md (a peephole2): New.
384
385 2003-02-13  Robert Lipe <robertlipe@usa.net>
386             Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
387
388         * doc/install.texi (Specific): Update three SCO-related URLs.
389
390 2003-02-13  Andreas Schwab  <schwab@suse.de>
391
392         * cgraph.c (SET_NPREDECESORS): Add intermediate cast to size_t.
393         Parenthesize properly.
394         (NPREDECESORS): Parenthesize properly.
395
396 2003-02-13  Gabriel Dos Reis  <gdr@integrable-solutions.net>
397
398         * timevar.h (POP_TIMEVAR_AND_RETURN): New macro.
399
400 2003-02-12  Roger Sayle  <roger@eyesopen.com>
401
402         * config/i386/i386.md (UNSPEC_FPATAN): New UNSPEC constant.
403         (atan2sf3, atan2df3, atan2xf3, atan2tf3): New patterns.
404
405         * reg-stack.c (subst_stack_regs_pat): Add support for binary
406         UNSPEC instructions (e.g. "fpatan").
407
408 2003-02-12  Mike Stump  <mrs@apple.com>
409
410         * varray.c (element_size): Remove.
411         (uses_ggc): Remove.
412         (element): Add.
413         (varray_init): Use new interface.
414         (varray_grow): Use new interface.
415         (varray_clear): Use new interface.
416
417 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
418
419         * config/rs6000/spe.h: Add casts to the arguments of the following
420         macros: evfsabs, evfsnabs, evfsneg, evfsadd, evfssub, evfsmul,
421         evfsdiv, evfscfui, evfscfsi evfscfuf evfscfsf, evfsctui, evfsctsi,
422         evfsctuf, evfsctsf, evfsctuiz, evfsctsiz, __ev_get_upper*,
423         __ev_get_lower*, __ev_get_u32, __ev_get_s32, __ev_get_fs,
424         __ev_get_u16, __ev_get_s16.
425
426 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
427
428         * config/h8300/h8300.md (a peephole2): New.
429
430 Wed Feb 12 22:47:18 CET 2003  Jan Hubicka  <jh@suse.cz>
431
432         * Makefile.in (CRTSTUFF_CFLAGS): Add -fno-unit-at-a-time
433         (OBJS): Add callgraph.o
434         (callgraph.o): New.
435         * c-decl.c (expand_body_1): Break out from ...
436         (expand_body): This one;  change calling convention
437         (finish_function): Move some of expand_body logic here.
438         (c_expand_deferred_function): Update call of expand_body
439         (c_expand_stmt): Use c_expand_body_1.
440         * c-lang.c (LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION): Define.
441         * c-objc-commin.c (c_objc_common_finish_file): Use callgraph code.
442         * c-tree.h (c_expand_body): Declare.
443         * callgraph.c: New file.
444         * flags.h (flag_unit_at_a_time): Declare.
445         * langhooks.h (LANG_HOOKS_CALLGRAPH_LOWER_FUNCTION,
446         LANG_HOOKS_CALLGRAPH_EXPAND_FUNCTION,
447         LANG_HOOKS_CALLGRAPH_INITIALIZER): New macros.
448         * langhooks.h (struct lang_hooks_for_callgraph): New.
449         (struct lang_hooks): Add callgraph field.
450         * toplev.c (flag_unit_at_a_time): New.
451         (lang_independent_options): Add flag_unit_at_a_time.
452         (process_options): Disable unit-at-a-time mode for frontends not
453         supporting callgraph.
454         * tree-inline.c (typedef struct inline_data): Add "decl"
455         (expand_call_inline): Update callgraph.
456         (optimize_inline_calls): Set id.decl.
457         * tree.h (cgraph_finalize_function, cgraph_finalize_compilation_unit,
458         cgraph_create_edges, dump_cgraph, cgraph_optimize, cgraph_remove_call
459         cgraph_calls_p): Declare.
460         * invoke.texi (-funit-at-a-time): Document
461
462 2003-02-12  Aldy Hernandez  <aldyh@redhat.com>
463
464         * config/rs6000/spe.h: Fix misc formatting.
465         (__ev_create_ufix32_fs): Cast ev argument.
466         (__ev_create_sfix32_fs): Same.
467         (__ev_get_sfix32_fs_internal): Cast arguments to builtins.
468         (__ev_get_ufix32_fs_internal): Same.
469
470 2003-02-12  Ranjit Mathew  <rmathew@hotmail.com>
471
472         * doc/tm.texi (MODIFY_JNI_METHOD_CALL): Document.
473         * config/i386/cygwin.h (MODIFY_JNI_METHOD_CALL): New macro.
474
475 2003-02-12  Zack Weinberg  <zack@codesourcery.com>
476
477         * cpplib.c (do_include_common): Move warnings for
478         #include_next and #import out to callers.  Use early-return
479         instead of nested ifs.  Don't do check_eol here.
480         (parse_include): Do check_eol here with the rest of the
481         parsing stuff.
482         (do_include_next, do_import): Now handle warnings.
483
484 2003-02-11  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
485
486         * doc/install.texi (Specific): Update AVR- and Darwin-related URLs.
487
488 Wed Feb 12 15:19:42 CET 2003  Jan Hubicka  <jh@suse.cz>
489
490         * predict.c (estimate_probability):  Fix roundoff error.
491
492 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
493
494         * config/h8300/h8300.md (a peephole2): Don't handle 65535.
495         (two peephole2): New.
496
497 2003-02-12  Kazu Hirata  <kazu@cs.umass.edu>
498
499         * config/h8300/h8300.md (several peephole2): Replace
500         find_regno_note with peep2_reg_dead_p.
501
502 2003-02-11  Richard Henderson  <rth@redhat.com>
503
504         * gcse.c (lookup_set): Remove unused argument PAT.  Update
505         both callers.
506
507 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
508
509         * diagnostic.c (real_abort): New.
510         (diagnostic_report_diagnostic): Call real_abort on error.
511         * diagnostic.h (diagnostic_abort_on_error): New.
512         (struct diagnostic_context): Add abort_on_error field.
513         * toplev.c (setup_core_dumping): New.
514         (decode_d_option): Handle 'H' case.
515         * doc/invoke.texi (Debugging Options): Document -dH.
516
517 2003-02-11  Nathanael Nerode  <neroden@gcc.gnu.org>
518
519         * Makefile.in: Remove pointless setting of CXXFLAGS for dejagnu
520         which refers to obsolete directories.
521
522 2003-02-11  Richard Henderson  <rth@redhat.com>
523
524         * config/alpha/linux.h (TARGET_C99_FUNCTIONS): New.
525
526 Mon Oct 21 17:07:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
527
528         * i386.c (contains_128bit_aligned_vector_p): New function.
529         (ix86_function_arg_boundary): Properly align vector modes.
530
531 2003-02-11  Bob Wilson  <bob.wilson@acm.org>
532
533         * config/xtensa/xtensa.md (set_frame_ptr): Change rtl to set reg a7.
534         * config/xtensa/xtensa.c (xtensa_reorg): Search for UNSPECV_SET_FP
535         as a SET pattern.
536
537 2003-02-11  Roger Sayle  <roger@eyesopen.com>
538
539         * builtins.c:  Fix failure caused by commiting wrong patch.
540
541 2003-02-11  Dale Johannesen  <dalej@apple.com>
542         * ra-build.c (compare_and_free_webs):  Relax checking.
543         * config/rs6000/darwin.h (HOT_TEXT_SECTION_NAME):  Define.
544         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME):  Define.
545
546 2003-02-11  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
547
548         PR optimization/9651
549         * rtlanal.c (may_trap_p): Handle FIX.
550
551 2003-02-11  Dave Jones <davej@codemonkey.org.uk>
552
553         * config/i386/i386.c (override_options): Define c3-2 as a 686 with SSE.
554         * doc/invoke.texi: Extra alias.
555
556 2003-02-11  Geoffrey Keating  <geoffk@apple.com>
557
558         * config/rs6000/host-darwin.c: Fix comment.
559
560 2003-02-11  David Edelsohn  <edelsohn@gnu.org>
561
562         * config/rs6000/rs6000.md (divmodsi4): Use register_operand
563         predicate for mod result.
564
565 2003-02-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
566
567         * inclhack.def (hpux_long_double, hpux10_ctype_declarations1,
568         hpux10_ctype_declarations2, hpux_ctype_macros): New hacks.
569         * fixincl.x: Rebuilt.
570         * tests/base/stdlib.h: Update.
571         * tests/base/ctype.h: New file.
572
573 Tue Feb 11 20:44:45 CET 2003  Jan Hubicka  <jh@suse.cz>
574
575         * emit-rtl.c (emit_copy_of_insn_after): Copy insn recog cache too.
576
577 2003-02-11  Richard Henderson  <rth@redhat.com>
578
579         * config/i386/i386.c (ix86_expand_movstr): Fail if esi or edi
580         appropriated as globals.
581         (ix86_expand_clrstr): Similarly.
582         * config/i386/i386.md (cmpstrsi): Similarly.
583
584 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
585
586         * config/h8300/h8300.md (a peephole2): Add a case of 255.
587
588 2003-02-11  Roger Sayle  <roger@eyesopen.com>
589
590         * optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
591         (pow_optab, atan2_optab): Define corresponding macros.
592         * optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
593         * genopinit.c (optabs): Implement pow_optab and atan2_optab
594         using pow?f3 and atan2?f3 patterns.
595         * builtins.c (expand_errno_check): New function to update errno
596         if necessary, split out from expand_builtin_mathfn.
597         (expand_builtin_mathfn): Use expand_errno_check.
598         (expand_builtin_mathfn_2): New function to handle expanding binary
599         math functions, reusing the code in expand_errno_check.
600         (expand_builtin): Handle the pow and atan2 math built-ins,
601         BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
602         expand_builtin_mathfn_2.
603
604         * doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
605
606 Tue Feb 11 19:03:22 MET 2003  Jan Hubicka  <jh@suse.cz>
607
608         * combine.c (combine_simplify_rtx): Fix folding of
609         nested float_truncates.
610
611 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
612
613         * config/h8300/h8300.md (a peephole2): Fix a typo.
614
615 2003-02-11  Richard Earnshaw  <rearnsha@arm.com>
616
617         * arm.mc (return_address_mask): Use CC_REGNUM for the condition code
618         register number.
619
620 2003-02-11  Kazu Hirata  <kazu@cs.umass.edu>
621
622         * config/h8300/h8300-protos.h: Add a prototype for
623         gtuleu_operator.
624         * config/h8300/h8300.c (gtuleu_operator): New.
625         * config/h8300/h8300.h (PREDICATE_CODES): Add gtuleu_operator.
626         * config/h8300/h8300.md (a peephole2): New.
627
628 Tue Feb 11 13:32:12 CET 2003  Jan Hubicka  <jh@suse.cz>
629
630         * sched-ebb.c (schedule_ebbs): Do not verify_flow_info.
631
632 Tue Feb 11 10:02:54 CET 2003  Jan Hubicka  <jh@suse.cz>
633
634         * predict.c (choose_function_section): Choose sections correctly.
635
636 2003-02-10  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
637
638         * reload1.c (first_label_num): New.
639         (reload): Index offsets_known_at and offsets_at using difference of
640         label number and first label number.  Don't use offset pointers.
641         (set_label_offsets, set_initial_label_offsets): Likewise.
642
643 2003-02-10  Roger Sayle  <roger@eyesopen.com>
644
645         * mips-tfile.c (init_file): Add missing initializers in the
646         "#ifdef __alpha" case.
647         (file_offset, max_file_offset): Declare as unsigned long.
648         (write_varray): Cast to "unsigned long" in comparisons against
649         either file_offset or max_file_offset.
650         (write_object): Likewise.
651         (read_seek): Likewise.
652         (copy_object): Likewise. Declare "ifd" as int to match its use
653         in add_ext_symbol, and avoid signed/unsigned conditional warning.
654
655 2003-02-10  Nick Clifton  <nickc@redhat.com>
656             Aldy Hernandez  <aldyh@redhat.com>
657
658         * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Do not
659         override options which have been specified on the command line.
660
661 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
662
663         * config/h8300/h8300.md (abssf2): New.
664         (*abssf2_h8300): Likewise.
665         (*abssf2_h8300hs): Likewise.
666
667 2003-02-10  Phil Edwards  <pme@gcc.gnu.org>
668
669         * tree.c (build_tree_list):  Fix parameter names in comment.
670
671 2003-02-10  Janis Johnson  <janis187@us.ibm.com>
672
673         * config/rs6000/ppc64-fp.c: New file.
674         * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add ppc64-fp.c.
675
676 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
677
678         * Makefile.in (bb-reorder.o): Add dependency on $(FIBHEAP_H).
679         * bb-reorder.c (make_reorder_chain): Deleted.
680         (make_reorder_chain_1): Deleted.
681         (find_traces): New function.
682         (rotate_loop): New function.
683         (mark_bb_visited): New function.
684         (find_traces_1_round): New function.
685         (copy_bb): New function.
686         (bb_to_key): New function.
687         (better_edge_p): New function.
688         (connect_traces): New function.
689         (copy_bb_p): New function.
690         (get_uncond_jump_length): New function.
691         (reorder_basic_blocks): Use new functions (Software Trace Cache).
692         * cfgcleanup.c (outgoing_edges_match): Enable crossjumping across loop
693         boundaries.
694
695 2003-02-10  Aldy Hernandez  <aldyh@redhat.com>
696
697         * config/rs6000/rs6000.c (bdesc_2arg): Change spe_evxor to xorv2si3.
698
699 2003-02-09  Dan Nicolaescu  <dann@ics.uci.edu>
700
701         * tree.h (struct tree_decl): Remove unused live_range_rtl field.
702         (DECL_LIVE_RANGE_RTL): Remove.
703
704 2003-02-10  Nick Clifton  <nickc@redhat.com>
705
706         * config/arm/aof.h, config/arm/aout.h, config/arm/arm-modes.def,
707         config/arm/arm-protos.h, config/arm/arm.c, config/arm/arm.h,
708         config/arm/arm.md, config/arm/cirrus.md, config/arm/coff.h,
709         config/arm/conix-elf.h, config/arm/ecos-elf.h, config/arm/elf.h,
710         config/arm/freebsd.h, config/arm/linux-elf.h,
711         config/arm/linux-gas.h, config/arm/netbsd-elf.h,
712         config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
713         config/arm/rtems-elf.h, config/arm/semi.h, config/arm/semiaof.h,
714         config/arm/strongarm-coff.h, config/arm/strongarm-elf.h,
715         config/arm/strongarm-pe.h, config/arm/uclinux-elf.h,
716         config/arm/unknown-elf-oabi.h, config/arm/unknown-elf.h,
717         config/arm/xscale-elf.h: Replace occurances of "GNU CC" with "GCC"
718         and reformat as appropriate.
719
720 2003-02-10  Kazu Hirata  <kazu@cs.umass.edu>
721
722         * config/h8300/clzsi2.c: Remove.
723         * config/h8300/ctzsi2.c: Likewise.
724         * config/h8300/paritysi2.c: Likewise.
725         * config/h8300/popcountsi2.c: Likewise.
726         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Remove clzsi2,
727         ctzsi2, paritysi2, and popcountsi2.
728
729 2003-02-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
730             Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
731
732         PR c/7741
733         * c-decl.c (duplicate_decls): Discard the initializer of the
734         new decl when the types are conflicting.
735
736 2003-02-10  Josef Zlomek  <zlomekj@suse.cz>
737
738         * Makefile.in (sreal.o): Added.
739         (predict.o): Depends on sreal.h instead of real.h.
740         * sreal.c: New file.
741         * sreal.h: New file.
742         * predict.c: Use sreal.c instead of real.c.
743
744 2003-02-10  Nick Clifton  <nickc@redhat.com>
745
746         * Contributed support for the Cirrus EP9312 "Maverick"
747         floating point co-processor.  Written by Aldy Hernandez
748         <aldyh@redhat.com>.
749         (config/arm/arm.c): Add Cirrus support.
750         (config/arm/arm.h): Likewise.
751         (config/arm/aout.h): Likewise.
752         (config/arm/arm.md): Likewise.
753         (config/arm/arm-protos.h): Likewise.
754         (config.gcc): Likewise.
755         (doc/invoke.texi): Describe new -mcpu value and new
756         -mcirrus-fix-invalid-insns switch,
757         (cirrus.md): New file.
758
759 Mon Feb 10 11:40:18 CET 2003  Jan Hubicka  <jh@suse.cz>
760
761         * combine.c (combine_simplify_rtx): Simplify using
762         (float_truncate (float x)) is (float x)
763         (float_extend (float_extend x)) is (float_extend x).
764
765 2003-02-10  Alan Modra  <amodra@bigpond.net.au>
766
767         * calls.c (try_to_integrate): Tidy stack_usage_map access.
768         (emit_library_call_value_1): Likewise.  Formatting.
769         (store_one_arg): Likewise.
770
771 2003-02-09  Nick Clifton  <nickc@redhat.com>
772             Aldy Hernandez  <aldyh@redhat.com>
773
774         * config/rs6000/spe.md: spe_evlhhesplat, spe_evlhhossplat,
775         spe_evlhhousplat, spe_evlwhsplat, spe_evlwwsplat, spe_evldd,
776         spe_evldh, spe_evldw, spe_evlwhe, spe_evlwhos, spe_evlwhou,
777         spe_evstdd, spe_evstdh, spe_evstdw, spe_evstdwx, spe_evstwhe,
778         spe_evstwho, spe_evstwwe, spe_evstwwo: Fix syntax to match newest
779         docs.  Add range test for immediate value.
780
781 2003-02-09  Aldy Hernandez  <aldyh@redhat.com>
782
783         Rename spe_evxor to xorv2si3.
784         (xorv4hi3): New.
785         (xorv1di3): New.
786
787 2003-02-10  Glen Nakamura  <glen@imodulo.com>
788
789         * doc/extend.texi (C++98 Thread-Local Edits): Add missing @item
790         tag.
791
792 Mon Feb 10 00:29:17 CET 2003  Jan Hubicka  <jh@suse.cz>
793
794         * i386.c (vector_move_operand): New predicate.
795         (ix86_expand_vector_move): Be happy about 0.
796         * i386.h (PREDICATE_CODES): Add sse-move_operand.
797         * i386.md (mov*_internal): Add 'C' alternative.
798
799 Sun Feb  9 23:58:33 CET 2003  Jan Hubicka  <jh@suse.cz>
800
801         * i386.md (floathi*): Deal with SSE.
802
803 Sun Feb  9 23:54:59 CET 2003  Jan Hubicka  <jh@suse.cz>
804
805         * simplify-rtx.c (simplify_unary_operation,
806         simplify_binary_operation):  Deal with vector modes
807         (simplify_ternary_operation):  Deal with no-op VEC_MERGE.
808
809 2002-02-09  Richard Sandiford  <rsandifo@redhat.com>
810
811         * toplev.c (rest_of_compilation): Recompute register usage after
812         split_all_insns.
813
814 2003-02-09  Richard Henderson  <rth@redhat.com>
815
816         * libgcc-std.ver (__clztf2): New.
817         (__ctztf2, __popcounttf2, __paritytf2): New.
818         * libgcc2.c (__clzSI2, __clzDI2, __ctzSI2, __ctzDI2, __popcountSI2,
819         __popcountDI2, __paritySI2, __parityDI2): Use UWmode and UDWmode;
820         adjust code to match the different type sizes.
821         * libgcc2.h (__clzSI2, __ctzSI2, __popcountSI2, __paritySI2,
822         __clzDI2, __ctzDI2, __popcountDI2, __parityDI2): New macros.
823
824         * optabs.c (init_integral_libfuncs): Don't hard-code SImode and
825         TImode; select word_mode and twice that.
826         (init_floating_libfuncs): Don't hard-code SFmode and TFmode;
827         select the modes from float, double, and long double.
828         (init_optabs): Remove duplicate initializations.
829
830 2003-02-09  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
831
832         * doc/install.texi: Squeeze and streamline section on
833         testing and regression checking.
834
835 Sun Feb  9 13:33:34 CET 2003  Jan Hubicka  <jh@suse.cz>
836
837         * i386.md (ahi?v*3): Set third operand type to TImode.
838         * i386.c (ix86_expand_binop_builtin): Extend operand when needed.
839
840         * simplify-rtx.c (simplify_subreg): Fix conversion from vector into
841         integer mode.
842
843         * rtl.def (VEC_MERGE, VEC_SELECT, VEC_CONCAT, VEC_DUPLICATE):
844         Change code so they are arithmetic expressions now.
845         * simplify-rtx.c (simplify_unary_operation, simplify_binary_operation,
846         simplify_ternary_operation): Deal with VEC_* expressions.
847
848         * i386.md (vmaskcmp, pinsrw, movd patterns):  Fix RTL representation.
849
850 Sat Feb  8 00:21:22 CET 2003  Jan Hubicka  <jh@suse.cz>
851
852         * cfgrtl.c (verify_flow_info):  Use control_flow_insn_p.
853         * reload1.c (fixup_abnormal_edges):  Split basic blocks when EH edges
854         possibly got duplicated.
855
856 2003-02-08  Richard Henderson  <rth@redhat.com>
857
858         * config/alpha/alpha.c (override_options): Turn off explicit
859         relocs until post-peep2 code duplication resolved.
860
861 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
862
863         * optabs.c (expand_unop): Widen clz properly when clz is done
864         via libcall.
865
866 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
867
868         * config/h8300/clzsi2.c: Replace "GNU CC" with "GCC".
869         * config/h8300/crti.asm: Likewise.
870         * config/h8300/crtn.asm: Likewise.
871         * config/h8300/ctzsi2.c: Likewise.
872         * config/h8300/fixunssfsi.c: Likewise.
873         * config/h8300/h8300-protos.h: Likewise.
874         * config/h8300/h8300.c: Likewise.
875         * config/h8300/h8300.h: Likewise.
876         * config/h8300/h8300.md: Likewise.
877         * config/h8300/paritysi2.c: Likewise.
878         * config/h8300/popcountsi2.c: Likewise.
879         * config/h8300/rtems.h: Likewise.
880
881 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
882
883         * doc/invoke.texi: Documentation for my previous commit.
884         * doc/passes.texi: Ditto.
885
886 2003-02-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
887
888         * cfgloop.h (fix_loop_placement, can_duplicate_loop_p,
889         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
890         Declare.
891         (DLTHE_FLAG_UPDATE_FREQ): New.
892         * cfgloopmanip.c (duplicate_loop, duplicate_subloops, copy_loops_to,
893         loop_redirect_edge, loop_delete_branch_edge, copy_bbs, remove_bbs,
894         rpe_enum_p, find_branch, alp_enum_p, add_loop, fix_loop_placements,
895         fix_bb_placement, fix_bb_placements, place_new_loop,
896         scale_loop_frequencies, scale_bbs_frequencies, record_exit_edges):
897         New static functions.
898         (fix_loop_placement, can_duplicate_loop_p,
899         duplicate_loop_to_header_edge, loopify, remove_path, split_loop_bb):
900         New functions.
901
902         * cfgloop.h (loop_optimizer_init, loop_optimizer_finalize,
903         unswitch_loops): Declare.
904         * loop-init.c: New file.
905         * loop-unswitch.c: New file.
906         * Makefile.in (loop-init.o, loop-unswitch.o): New.
907         * params.def (PARAM_MAX_UNSWITCH_INSNS, PARAM_MAX_UNSWITCH_LEVEL): New.
908         * toplev.c (DFI_loop2): New dump.
909         (flag_unswitch_loops): New.
910         (lang_independent_options): Add it.
911         (rest_of_compilation): Call new loop optimizer.
912         (parse_options_and_default_flags): Turn flag_unswitch_loops on with -O3.
913
914 2003-02-08  Kazu Hirata  <kazu@cs.umass.edu>
915
916         * config/h8300/clzsi2.c: New.
917         * config/h8300/ctzsi2.c: Likewise.
918         * config/h8300/paritysi2.c: Likewise.
919         * config/h8300/popcountsi2.c: Likewise.
920         * config/h8300/t-h8300 (LIB2FUNCS_EXTRA): Add above files.
921
922 2003-02-07  David Edelsohn  <edelsohn@gnu.org>
923
924         * config/rs6000/rs6000.h (CLZ_DEFINED_VALUE_AT_ZERO): Define.
925         * config/rs6000/rs6000.md (clzsi2): Rename from cntlzw2.
926         (ctzsi2): New pattern.
927         (ffssi2): Use clz instead of unspec.
928         (clzdi2): Rename from cntlzd2.
929         (ctzdi2): New pattern.
930         (ffsdi2): Use clz instead of unspec.
931
932 2003-02-07  Loren James Rittle  <ljrittle@acm.org>
933
934         * config/alpha/freebsd.h (LINK_SPEC): Weaken error to notice.
935         * config/ia64/freebsd.h (LINK_SPEC): Likewise.
936         * config/sparc/freebsd.h (LINK_SPEC): Likewise.
937         * config/i386/freebsd.h (LINK_SPEC): Add clause to mirror other arches.
938
939 2003-02-07  Wolfgang Bangerth  <bangerth@ticam.utexas.edu>
940
941         * doc/trouble.texi: Document pitfalls of two-stage name lookup.
942
943 2003-02-07  Richard Henderson  <rth@redhat.com>
944
945         PR 9226
946         * gcse.c (local_cprop_find_used_regs): New.
947         (local_cprop_pass): Use it.
948
949 2003-02-07  Fred Fish  <fnf@intrinsity.com>
950
951         * mips-tfile.c (parse_def): Parenthesize assignments to fix
952         precedence bugs.
953
954 2003-02-07  Segher Boessenkool  <segher@koffie.nl>
955
956         * genoutput.c (output_get_insn_name): Handle NOOP_MOVE_INSN_CODE.
957
958 2003-02-07  Roger Sayle  <roger@eyesopen.com>
959
960         * builtin-types.def (BT_FN_FLOAT_FLOAT_FLOAT): New built-in type.
961         (BT_FN_LONG_DOUBLE_LONG_DOUBLE_LONG_DOUBLE): Likewise.
962         (BT_FN_DOUBLE_DOUBLE_DOUBLE): Likewise.
963         * builtins.def: Define pow, powf, powl, atan2, atan2f and atan2l
964         builtin functions (and their __builtin_* variants).
965         * builtins.c (mathfn_built_in): Handle missing log{,f,l} cases.
966         (expand_builtin): Don't expand log{,f,l}, pow{,f,l} or atan2{,f,l}
967         when not optimizing.
968
969         * doc/extend.texi: Document new pow and atan2 builtins, and
970         their float and long double variants.  Realphabetize builtins.
971
972 Fri Feb  7 23:24:28 CET 2003  Jan Hubicka  <jh@suse.cz>
973
974         * i386.md (sse2_nandv2di3): Fix.
975
976 2003-03-07  Danny Smith  <dannysmith@users.sourceforge.net>
977
978         * config/i386/i386.h (MS_AGGREGATE_RETURN): New define.
979         * config/i386/cygwin.h (MS_AGGREGATE_RETURN): Override default
980         definition.
981         * config/i386/i386.h (ix86_return_in_memory): Return aggregate
982         types of up to 8 bytes via registers if MS_AGGREGATE_RETURN.
983
984 Fri Feb  7 22:22:40 CET 2003  Jan Hubicka  <jh@suse.cz>
985
986         * i386.md (movdi_rex64_1): Fix mmx<->int move opcode.
987
988 2003-02-07  Daniel Berlin  <dberlin@dberlin.org>
989
990         * cfg.c (dump_flow_info): Add back accidently deleted line.
991
992 2003-02-07  Andrey Petrov <petrov@netbsd.org>
993
994         * optabs.c (expand_float): Search wider integer modes first.
995
996 2003-02-07  Bob Wilson  <bob.wilson@acm.org>
997
998         * config/xtensa/xtensa.h (LIBGCC2_WORDS_BIG_ENDIAN): Set this
999         based on preprocessor flag.
1000
1001 2003-02-07  Roger Sayle  <roger@eyesopen.com>
1002             Richard Henderson  <rth@redhat.com>
1003
1004         * gcse.c (implicit_sets): New.
1005         (compute_hash_table_work): Include them in hash table.
1006         (find_implicit_sets, fis_get_condition): New.
1007         (one_cprop_pass): Allocate and free implicit_sets; call
1008         find_implicit_sets before building hash table.
1009
1010 2003-02-07  Jason Thorpe  <thorpej@wasabisystems.com>
1011
1012         * config/t-netbsd (USER_H): Revert previous change.
1013
1014 2003-02-07  Gabor Greif  <ggreif@lucent.com>
1015
1016         * doc/c-tree.texi (Namespaces): Fix typo.
1017
1018 Fri Feb  7 02:18:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1019
1020         * regrename.c (do_replace, find_oldest_value_reg,
1021         copyprop_hardreg_forward_1): Update register attributes.
1022
1023 2003-02-06  Vladimir Makarov  <vmakarov@redhat.com>
1024
1025         * genautomata.c (VLA_PTR_CREATE, VLA_PTR_EXPAND, VLA_PTR_ADD,
1026         VLA_HWINT_CREATE, VLA_HWINT_EXPAND, VLA_HWINT_ADD): Use temporay
1027         variables starting with underscore.
1028         (struct unit_usage): New structure.
1029         (unit_usages, cycle_alt_unit_usages): New global variables.
1030         (check_unit_distribution_in_reserv): Remove it.
1031         (store_alt_unit_usage): New function.
1032         (check_regexp_units_distribution): Rewrite it.
1033
1034 2003-02-06  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1035
1036         * config.gcc (hppa*-*-linux*): Set MASK_NO_SPACE_REGS in
1037         target_cpu_default.
1038         * pa.c (attr_length_call): Add 8 to call length (long indirect PA 1.X)
1039         if not MASK_NO_SPACE_REGS.
1040         (output_call): Adjust return pointer, don't load new space register
1041         into %sr0, and use %sr4 for call if TARGET_NO_SPACE_REGS is true.
1042         (pa_asm_output_mi_thunk): Don't load new space register into %sr0 if
1043         TARGET_NO_SPACE_REGS is true.
1044         * pa.md (return_external_pic): Add TARGET_NO_SPACE_REGS to insn
1045         conditions.
1046         (epilogue): Always use return_internal if TARGET_NO_SPACE_REGS is true.
1047         (interspace_jump): Add new pattern for when TARGET_NO_SPACE_REGS is
1048         true.  Use bve when TARGET_64BIT is true.
1049
1050 2003-02-06  Richard Henderson  <rth@redhat.com>
1051
1052         * combine.c (nonzero_bits): Fix double break.
1053
1054 2003-02-06  Eric Botcazou <ebotcazou@libertysurf.fr>
1055             Richard Henderson <rth@redhat.com>
1056
1057         PR c/9530
1058         * config/i386/i386.c (ix86_function_ok_for_sibcall): Forbid sibcalls
1059         from functions that return a float to functions that don't.
1060
1061 Thu Feb  6 00:18:38 CET 2003  Jan Hubicka  <jh@suse.cz>
1062
1063         * i386.c (x86_inter_unit_moves): New variable.
1064         (ix86_secondary_memory_needed): Fix 64bit case, honor
1065         TARGET_INTER_UNIT_MOVES
1066         * i386.h (x86_inter_unit_moves): Declare.
1067         (TARGET_INTER_UNIT_MOVES): New macro.
1068         * i386.md (movsi_1): Cleanup constraints; disable
1069         when not doing inter-unit moves.
1070         (movsi_1_nointernunit): New.
1071         (movdi_1_rex64): Fix constraints; deal with SSE->GPR moves.
1072         (movdi_1_rex64_nointerunit): New.
1073         (mivsf_1): disable when not doing inter-unit moves.
1074         (movsf_1_nointerunit): New.
1075
1076         * basic-block.h (inside_basic_block_p):  Declare.
1077         * cfgbuild.c (inside_basic_block_p): Make global.
1078         * haifa-sched.c (unlink_other_notes0: Deal with NOT_INSN_BASIC_BLOCK.
1079         * scheudle-ebb.c  (schedule_ebb): Return last basic block of trace;
1080         update CFG.
1081         (fix_basic_block_boundaries, add_missing_bbs): New.
1082         (rank): Use profile.
1083         (scheudle_ebbs): Rely on CFG; update coments.
1084
1085 2003-02-05  Geoffrey Keating  <geoffk@apple.com>
1086
1087         * Makefile.in (host_hook_obj): New.
1088         (OBJS): Add $(host_hook_obj).
1089         (host_default.o): New rule.
1090         * config.gcc (host_hook_obj): New, default to host-default.o.
1091         (powerpc-*-darwin*): Use host-darwin.o.
1092         (out_host_hook_obj): New.
1093         * configure: Regenerate.
1094         * configure.in: Print information about out_host_hook_obj, substitute
1095         into output files.
1096         * host-default.c: New file.
1097         * hosthooks.h: New file.
1098         * toplev.c (general_init): Call host_hooks.extra_signals.
1099         * config/rs6000/host-darwin.c: New file.
1100         * config/rs6000/x-darwin: New file.
1101         * doc/hostconfig.texi: Add documentation for new host hook.
1102         Rearrange existing documentation.
1103
1104 2003-02-05  Roger Sayle  <roger@eyesopen.com>
1105
1106         * dwarf2out.c (mem_loc_descriptor): Replace ASM_SIMPLIFY_DWARF_ADDR
1107         with *targetm.delegitimize_address.
1108         (rtl_for_decl_location): Likewise.
1109         * dwarfout.c (output_mem_loc_descriptor): Likewise.  Include target.h.
1110         * Makefile.in (dwarf2out.c, dwarfout.c): Depend upon $(TARGET_H)
1111
1112         * config/i386/i386.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1113         * config/i386/i386-protos.h (i386_simplify_dwarf_addr): Remove
1114         prototype.
1115         * config/i386/i386.c (ix86_delegitimize_address): Renamed from
1116         i386_simplify_dwarf_addr.  Made static.  Prototyped.
1117         (TARGET_DELEGITIMIZE_ADDRESS): Update definition from
1118         i386_simplify_dwarf_addr to ix86_delegitimize_address.
1119         (ix86_find_base_term): Likewise.
1120         (maybe_get_pool_constant): Likewise.
1121
1122         * config/s390/s390.h (ASM_SIMPLIFY_DWARF_ADDR): Remove definition.
1123         * config/s390/s390-protos.h (s390_simplify_dwarf_addr): Remove
1124         prototype.
1125         * config/s390/s390.c (s390_delegitimize_address): Renamed from
1126         s390_simplify_dwarf_addr.  Made static.  Prototyped.
1127         (TARGET_DELEGITIMIZE_ADDRESS): Define as s390_delegitimize_address.
1128
1129 2003-02-05  Richard Henderson  <rth@redhat.com>
1130
1131         PR c/8602
1132         * integrate.c (output_inline_function): Reset input_filename
1133         and lineno from the decl before rest_of_compilation.
1134
1135 2003-02-05  Richard Henderson  <rth@redhat.com>
1136
1137         * defaults.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1138         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1139         * doc/rtl.texi, doc/tm.texi: Document them.
1140
1141         * combine.c (nonzero_bits) [CLZ, CTZ]: Handle the definedness
1142         of the value at zero properly.
1143         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1144         * simplify-rtx.c (simplify_unary_operation): Likewise.
1145
1146         * config/alpha/alpha.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1147         (CTZ_DEFINED_VALUE_AT_ZERO): New.
1148
1149         * config/arm/arm.c (TARGET_INIT_BUILTINS): Remove.
1150         (TARGET_EXPAND_BUILTIN): Remove.
1151         (def_builtin, arm_init_builtins, arm_expand_builtin): Remove.
1152         * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): New.
1153         (enum arm_builtins): Remove.
1154         * config/arm/arm.md (UNSPEC_CLZ): Remove.
1155         (clzsi2): Rename from clz; use clz instead of unspec.
1156         (ctzsi2): New.
1157         * config/arm/arm-protos.h: Update.
1158
1159 Wed Feb  5 23:12:57 CET 2003  Jan Hubicka  <jh@suse.cz>
1160
1161         * i386-protos.h (x86_emit_floatuns):  Declare.
1162         * i386.c (x86_emit_floatuns): New global function.
1163         * i386.md (floatunssisf2, floatunsdisf2,
1164         floatunsdidf2):  New patterns.
1165
1166 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1167
1168         * cfgloopmanip.c (force_single_succ_latches): Fix missindentation.
1169
1170 2003-02-05  Hans Boehm <Hans.Boehm@hp.com>
1171
1172         * config/ia64/unwind-ia64.c: include coretypes.h, tm.h to get
1173           config/ia64/linux.h
1174
1175 2002-02-05  Roger Sayle  <roger@eyesopen.com>
1176
1177         * cfgloop.h (flow_bb_inside_loop_p): Correct prototype again.
1178
1179 2003-02-05  Jakub Jelinek  <jakub@redhat.com>
1180
1181         PR optimization/8555
1182         * config/i386/i386.md (sse_mov?fcc split): Handle op2 == op3 case
1183         instead of aborting.
1184
1185 2003-02-04  Richard Henderson  <rth@redhat.com>
1186
1187         * config/i386/i386.md (UNSPEC_BSF): Remove.
1188         (ffssi2): Split into cmove and no_cmove insns and splitters;
1189         lose pentium float trick for now.
1190         (ffssi_1): Add * to name; use CTZ instead of UNSPEC.
1191         (ctzsi2, clzsi2, bsr): New.
1192
1193 2003-02-04  Richard Henderson  <rth@redhat.com>
1194
1195         * config/ia64/ia64.c (rtx_needs_barrier): Handle POPCOUNT,
1196         UNSPEC_GETF_EXP; remove UNSPEC_POPCNT.
1197         * config/ia64/ia64.md (UNSPEC_POPCNT): Remove.
1198         (ffsdi2): Use popcount instead of unspec.
1199         (popcountdi2): Rename from *popcnt.
1200         (ctzdi2, clzdi2, getf_exp_tf): New.
1201
1202 2003-02-04  Kazu Hirata  <kazu@cs.umass.edu>
1203
1204         * genconfig.c (main): Generate CC0_P.
1205         * rtl.h (CC0_P): Remove.
1206
1207 2003-02-04  Richard Henderson  <rth@redhat.com>
1208
1209         * libgcc2.h, libgcc2.c (__ffsSI2): New.
1210         (__ffsDI2): Rename from __ffsdi2.
1211         * mklibgcc.in (lib2funcs): Add _ffssi2.
1212
1213 2003-02-04  Richard Henderson  <rth@redhat.com>
1214
1215         * libgcc2.c (__paritysi2, __paritydi2): Replace last two reduction
1216         rounds with a "bit table" lookup.
1217
1218 2003-02-04  Ulrich Weigand  <uweigand@de.ibm.com>
1219
1220         * reload.c (find_reloads): Do not use the mode specified in the insn
1221         pattern as reload mode for address operands.  Do not generate optional
1222         reloads for operands where a mandatory reload was already pushed.
1223
1224 2003-02-04  Richard Henderson  <rth@redhat.com>
1225
1226         * longlong.h [alpha] (count_leading_zeros, count_trailing_zeros): Use
1227         builtins instead of inline assembly.
1228
1229 2003-02-04  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1230
1231         PR c/9376
1232         * libgcc2.c (__subvdi3): Fix typo.
1233
1234 Tue Feb  4 21:46:05 CET 2003  Jan Hubicka  <jh@suse.cz>
1235
1236         * i386.md (movti_rex64):  Fix constraint.
1237
1238 Tue Feb  4 18:40:42 CET 2003  Jan Hubicka  <jh@suse.cz>
1239
1240         * i386.md (vector push splitters):  Fix typo in resolving conflict.
1241
1242 2003-02-04  Rodney Brown  <rbrown64@csc.com.au>
1243
1244         * config/i386/i386.c (x86_function_profiler): Fix typo in format.
1245
1246 2003-02-04  Phil Edwards  <pme@gcc.gnu.org>
1247
1248         * doc/install.texi (*-*-linux-gnu):  Mention glibc requirements
1249         for recent libstdc++.  Remove formatting cruft.
1250
1251 2003-02-04  Jakub Jelinek  <jakub@redhat.com>
1252
1253         * dwarf2out.c (dwarf2out_finish): Add AT_comp_dir
1254         attribute even if input file name is absolute, but one of the
1255         includes is relative.
1256
1257 2003-02-04  Joseph S. Myers  <jsm@polyomino.org.uk>
1258
1259         * doc/gcc.texi, doc/gccint.texi, doc/gcov.texi,
1260         doc/include/fdl.texi, doc/invoke.texi: Update to GFDL 1.2.
1261         * doc/install.texi: Update copyright dates.  Update to GFDL 1.2.
1262
1263 2003-02-03  Richard Henderson  <rth@redhat.com>
1264
1265         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1266         __popcountsi2, __popcountdi2, __paritysi2, __paritydi2): Change
1267         return type to "int".  Shuffle declarations and undef int trap.
1268         * libgcc2.h: Remove their declarations.
1269         * optabs.c (expand_unop): Force outmode to int for bitops.
1270
1271 2003-02-03  Bob Wilson  <bob.wilson@acm.org>
1272
1273         * config/xtensa/xtensa.c (order_regs_for_local_alloc): Order the
1274         coprocessor registers before floating-point registers.
1275         * config/xtensa/xtensa.h (REG_ALLOC_ORDER): Adjust register numbers
1276         to account for a previously removed register.
1277         (SPEC_REG_FIRST, SPEC_REG_LAST, SPEC_REG_NUM, COUNT_REGISTER_REGNUM):
1278         Delete unused macros.
1279
1280 Mon Feb  3 21:19:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1281
1282         * i386.c (ix86_expand_store_builtin):  Always force op1 to register.
1283         (mov*_internal): Fix predicates; require one of operands to not be
1284         memory.
1285         (SSE?MMX move expanders):  Fix predicates; force one of operands to
1286         register.
1287         (SSE/MMX push patterns): Reorganize; fix x86-64 code generation.
1288         (movups/movupd/movdqu patterns): Force one of operands to not be
1289         memory.
1290
1291 2002-02-03  Roger Sayle  <roger@eyesopen.com>
1292
1293         * hooks.c (hook_rtx_rtx_identity): Generic hook function that
1294         takes a single rtx and returns it unmodified.
1295         * hooks.h (hook_rtx_rtx_identity): Prototype here.
1296         * target.h (struct gcc_target): Add "delegitimize_address"
1297         field to target structure.
1298         * target-def.h (TARGET_DELEGITIMIZE_ADDRESS):  Provide default
1299         for delegitimize_address target using hook_rtx_rtx_identity.
1300         (TARGET_INITIALIZER): Initialize delegitimize_address field
1301         using TARGET_DELEGITIMIZE_ADDRESS macro.
1302         * simplify-rtx.c (avoid_constant_pool_reference): Handle float
1303         extensions of constant pool references.  Use delegitimize_address
1304         to undo the obfuscation of "-fpic".
1305         * Makefile.in (simplify-rtx.o): Add dependency on target.h.
1306
1307         * config/i386/i386.c (TARGET_DELEGITIMIZE_ADDRESS): Define as
1308         i386_simplify_dwarf_addr.
1309         (ix86_find_base_term): Simplify using i386_simplify_dwarf_addr.
1310         (maybe_get_pool_constant): Likewise.
1311
1312 Mon Feb  3 16:01:17 CET 2003  Jan Hubicka  <jh@suse.cz>
1313
1314         * i386.c (ix86_expand_int_movcc):  Fix setcc sign bit case.
1315
1316 Mon Feb  3 01:30:11 CET 2003  Jan Hubicka  <jh@suse.cz>
1317
1318         * regclass.c (cannot_change_mode_set_regs): Correct argument order.
1319
1320 2003-02-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1321
1322         * mips/_tilib.c: Don't include tsystem.h or defaults.h.  Don't
1323         define LIBGCC2_WORDS_BIG_ENDIAN.  Include coretypes.h and tm.h.
1324
1325 2003-02-02  Andreas Schwab  <schwab@suse.de>
1326
1327         * varasm.c (asm_output_aligned_bss): Declare as possibly unused.
1328
1329 2003-02-02  Richard Earnshaw  <rearnsha@arm.com>
1330
1331         * arm.md (sibcall_epilogue): Set the "conds" to "clob".
1332         (epilogue_insns): Likewise.
1333
1334 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1335
1336         * doc/install.texi (hppa*-hp-hpux11*): Update installation notes.
1337
1338 2003-02-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1339
1340         * pa-protos.h (attr_length_millicode_call): Remove second argument.
1341         (attr_length_indirect_call, attr_length_indirect_call,
1342         attr_length_save_restore_dltp): New prototypes.
1343         * pa.c (attr_length_millicode_call): Remove second argument.  Check
1344         INSN_ADDRESSES_SET_P in distance calculation.
1345         (output_millicode_call): Check INSN_ADDRESSES_SET_P before using
1346         INSN_ADDRESSES.
1347         (attr_length_call): Check INSN_ADDRESSES_SET_P in distance calculation.
1348         (output_call): Check INSN_ADDRESSES_SET_P before using INSN_ADDRESSES.
1349         Call attr_length_call directly.
1350         (attr_length_indirect_call, output_indirect_call,
1351         attr_length_save_restore_dltp): New functions.
1352         * pa.md (attr_length_millicode_call): Drop second argument from all
1353         patterns.
1354         (return_internal_pic): Delete.
1355         (return_external_pic): Remove use of PIC register and pic operand and
1356         flag checks.
1357         (epilogue): Use return_internal for both normal and pic code.
1358         (call, call_value): Emit new 32-bit pic patterns for symref and
1359         indirect calls.  Remove uses for arg pointer and pic register.
1360         (call_symref_pic, call_symref_pic_post_reload, call_reg_pic,
1361         call_reg_pic_post_reload, call_val_symref_pic,
1362         call_val_symref_pic_post_reload, call_val_reg_pic,
1363         call_val_reg_pic_post_reload): New pre and post reload insn patterns.
1364         Implement define_split and define_peephole2 patterns for pre reload
1365         patterns.
1366         (call_symref_64bit, call_internal_reg_64bit, call_value_symref_64bit,
1367         call_value_internal_reg_64bit): Shorten names.
1368         (all call patterns): Explicitly indicate registers used and clobbered.
1369         Use attr_length_indirect_call and attr_length_save_restore_dltp for
1370         attribute length calculation.  Move code generation for indirect calls
1371         to output_indirect_call.
1372         (sibcall, sibcall_value): Don't restore PIC register.
1373         (exception_receiver, builtin_setjmp_receiver): Add blockage after PIC
1374         register retore.
1375
1376 2003-02-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1377
1378         * doc/install.texi (Testing): Simplify and compress instructions
1379         concerning Dejagnu.
1380
1381 2003-02-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1382
1383         * collect2.c (pexecute_pid): Rename to pid.
1384         (collect_wait, collect_execute, scan_prog_file, scan_libraries): Use
1385         pid.
1386
1387 2003-02-01  Geoffrey Keating  <geoffk@apple.com>
1388
1389         * doc/extend.texi (Function Attributes): Remove documentation
1390         for PowerPC Windows NT function attributes..
1391
1392 2003-02-01  Daniel Jacobowitz  <drow@mvista.com>
1393
1394         * dwarf2out.c (gen_type_die): Check for typedefs before calling
1395         for TYPE_MAIN_VARIANT.
1396
1397 2003-02-01  Richard Henderson  <rth@redhat.com>
1398
1399         * libgcc2.c: Include auto-host.h.
1400         (ATTRIBUTE_HIDDEN): New.
1401         (__clz_tab): Don't declare here for clz and ctz.
1402         (__clzsi2, __clzdi2): Use count_leading_zeros.
1403         (__ctzsi2, __ctzdi2): Use count_trailing_zeros.
1404         (__popcount_tab): Mark ATTRIBUTE_HIDDEN.
1405         (__paritysi2, __paritydi2): Use shifts instead of __popcount_tab.
1406         * longlong.h (__clz_tab): Mark ATTRIBUTE_HIDDEN.
1407
1408 2003-02-01  Richard Henderson  <rth@redhat.com>
1409
1410         * config/i386/i386.md (addsi_1_zext splitter): Add TARGET_64BIT
1411         to the conditional.
1412         (ashlsi3_1_zext splitter): Likewise.
1413
1414 2003-02-01  Richard Henderson  <rth@redhat.com>
1415
1416         * optabs.c (expand_unop): Use word_mode for outmode of bit scaners.
1417         * libgcc2.c (__ffsdi2, __clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1418         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2): Change
1419         return type to Wtype.
1420
1421         * libgcc-std.ver (GCC_3.4): Fix inheritance.
1422
1423         * config/i386/i386.md (ffssi2): Use nonimmediate_operand for
1424         expander input constraint.
1425
1426 2003-02-01  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
1427
1428         * optabs.h (optab_index): Add OTI_clz, OTI_ctz, OTI_popcount and
1429         OTI_parity.
1430         (clz_optab, ctz_optab, popcount_optab, parity_optab): New.
1431         * optabs.c (widen_clz, expand_parity): New.
1432         (expand_unop): Handle clz and parity.  Hardcode SImode as outmode
1433         for libcalls to clz, ctz, popcount, and parity.
1434         (init_optabs): Init clz_optab, ctz_optab, popcount_optab and
1435         parity_optab, and set up libfunc handlers.
1436         * libgcc2.c (__clzsi2, __clzdi2, __ctzsi2, __ctzdi2,
1437         __popcountsi2, __popcountdi2, __paritysi2 __paritydi2,
1438         __popcount_tab): New.
1439         * libgcc2.h: Declare them.
1440         * libgcc-std.ver (GCC_3.4): Add new functions from libgcc2.c.
1441         * genopinit.c (optabs): Add clz_optab, ctz_optab, popcount_optab
1442         and parity_optab.
1443         * builtin-types.def (BT_FN_INT_LONG, BT_FN_INT_LONGLONG): New.
1444         * builtins.def (BUILT_IN_CLZ, BUILT_IN_CTZ, BUILT_IN_POPCOUNT,
1445         BUILT_IN_PARITY, BUILT_IN_FFSL, BUILT_IN_CLZL, BUILT_IN_CTZL,
1446         BUILT_IN_POPCOUNTL, BUILT_IN_PARITYL, BUILT_IN_FFSLL,
1447         BUILT_IN_CLZLL, BUILT_IN_CTZLL, BUILT_IN_POPCOUNTLL,
1448         BUILT_IN_PARITYLL): New.
1449         * builtins.c (expand_builtin_unop): Rename from expand_builtin_ffs
1450         and add optab argument.
1451         (expand_builtin): Expand BUILT_IN_{FFS,CLZ,POPCOUNT,PARITY}*.
1452         * tree.def (CLZ_EXPR, CTZ_EXPR, POPCOUNT_EXPR, PARITY_EXPR): New.
1453         * expr.c (expand_expr): Handle them.
1454         * fold-const.c (tree_expr_nonnegative_p): Likewise.
1455         * rtl.def (CLZ, CTZ, POPCOUNT, PARITY): New.
1456         * reload1.c (eliminate_regs): Handle them.
1457         (elimination_effects): Likewise.
1458         * function.c (instantiate_virtual_regs_1): Likewise
1459         * genattrtab.c (check_attr_value): Likewise.
1460         * simplify-rtx.c (simplify_unary_operation): Likewise.
1461         * c-common.c (c_common_truthvalue_conversion): Handle POPCOUNT_EXPR.
1462         * combine.c (combine_simplify_rtx): Handle POPCOUNT and PARITY.
1463         (nonzero_bits): Handle CLZ, CTZ, POPCOUNT and PARITY.
1464         * config/alpha/alpha.md (clzdi2, ctzdi2, popcountdi2): New.
1465         * config/arm/arm.c (arm_init_builtins): Rename __builtin_clz to
1466         __builtin_arm_clz.
1467         * Makefile.in (LIB2FUNCS_1, LIB2FUNCS_2): Move...
1468         * mklibgcc.in (lib2funcs): ...here and merge.  Add new members.
1469         * doc/extend.texi (Other Builtins): Add new builtins.
1470         * doc/md.texi (Standard Names): Add new patterns.
1471
1472 2003-02-01  Ulrich Weigand  <uweigand@de.ibm.com>
1473
1474         * reload.c: Revert 2003-01-31 change.
1475
1476 Sat Feb  1 14:14:40 CET 2003  Jan Hubicka  <jh@suse.cz>
1477
1478         * combine.c (combine_simplify_rtx):  Use reversed_comparison_code_parts.
1479
1480 2003-02-01  Richard Sandiford  <rsandifo@redhat.com>
1481
1482         * flags.h (flag_volatile): Remove declaration.
1483         (flag_volatile_global, flag_volatile_static): Likewise.
1484         * c-typeck.c (build_indirect_ref): Don't check flag_volatile.
1485         * toplev.c (flag_volatile): Remove definition.
1486         (flag_volatile_global, flag_volatile_static): Likewise.
1487         (f_options): Remove corresponding entries here.
1488         * varasm.c (make_decl_rtl): Don't check flag_volatile_global
1489         or flag_volatile_static.
1490         * doc/invoke.texi: Remove documentation of -fvolatile,
1491         -fvolatile-global and -fvolatile-static.
1492
1493 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1494
1495         * pa.c (pa_output_function_prologue, pa_output_function_epilogue): Move
1496         updating of total_code_bytes from prologue to epilogue.
1497
1498 2003-01-31  Ulrich Weigand  <uweigand@de.ibm.com>
1499
1500         * reload.c (find_reloads): Do not use the mode specified in the insn
1501         pattern as reload mode for address operands.  Do not generate optional
1502         reloads for operands where a mandatory reload was already pushed.
1503         Generate optional reloads only in the final pass though find_reloads.
1504         (have_replacement_p): New function.
1505
1506 2003-01-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
1507
1508         * doc/install.texi (Testing): Remove a reference to our obsolete
1509         /testresults web pages and strip redundant information concerning
1510         test results.
1511         (Binaries): Refer to Microsoft Windows instead of listing all
1512         possible variants.
1513
1514 Sat Feb  1 00:28:30 CET 2003  Jan Hubicka  <jh@suse.cz>
1515
1516         * loop.c (emit_prefetch_instructions):  Do conversion at right place in
1517         RTL chain.
1518
1519         * combine.c (simplify_set): Reverse order of ragumetns to
1520         REG_CANNOT_CHANGE_MODE_P
1521         * df.c (df_def_record_1): Likewise.
1522         * recog.c (register_operand): Likewise.
1523         * simplify-rtx.c (simplify_subreg): Likewise.
1524         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): Update use of
1525         CANNOT_CHANGE_MODE_CLASS.
1526         * regclass.c (cannot_change_mode_set_regs, invalid_mode_change_p):
1527         Likewise.
1528         * reload.c (push_reload): Likewise.
1529         * alpha.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1530         * ia64.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1531         * mips.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1532         * mips-protos.h (mips_cannot_change_mode_class): Update prototype.
1533         * mips.c (mips_cannot_change_mode_class): Update.
1534         * pa64-regs.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1535         * rs6000.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1536         * s390.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1537         * sh.h (CANNOT_CHANGE_MODE_CLASS): Update definition.
1538         * sh-protos.h (sh_cannot_change_mode_class): Update prototype.
1539         * sh.c (sh_cannot_change_mode_class): Update.
1540         * i386.h (CANNOT_CHANGE_MODE_CLASS): New.
1541         * tm.texi (CANNOT_CHANGE_MODE_CLASS): Update documentation.
1542
1543 2003-01-31  Geoffrey Keating  <geoffk@apple.com>
1544
1545         * config/darwin.h (LINK_COMMAND_SPEC): Update for Nathan's recent
1546         change to LINK_COMMAND_SPEC in gcc.c.
1547
1548 2003-01-31  Jan Hubicka  <jh@suse.cz>
1549
1550         PR c/9506
1551         * i386.c (override_options): Use DEFAULT_PCC_STRUCT_RETURN.
1552
1553 2003-01-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1554
1555         * pa32-regs.h (REGNO_REG_CLASS, REG_CLASS_FROM_LETTER): Delete
1556         duplicated code.
1557
1558 2003-01-31  Nathan Sidwell  <nathan@codesourcery.com>
1559
1560         * tree.h (TYPE_BINFO_SIZE, TYPE_BINFO_SIZE_UNIT): Remove.
1561         (BINFO_ELTS): New #define.
1562         * stor-layout.c (finalize_record_size): Don't set them.
1563         * cp/cp-tree.h (BINFO_SUBVTT_INDEX, BINFO_VPTR_INDEX,
1564         BINFO_PRIMARY_BASE_OF): Use BINFO_ELTS.
1565         (BINFO_LANG_ELTS): New #define.
1566         * cp/tree.c (make_binfo): Use BINFO_LANG_ELTS.
1567         * java/class.c (make_class): Use BINFO_ELTS.
1568         (set_super_info): Likewse.
1569         (add_interface_do): Likewise.
1570         * objc/objc-act.c (start_class): Use BINFO_ELTS.
1571
1572 2003-01-31 Danny Smith <dannysmith@users.sourceforge.net>
1573
1574         * timevar.c (getrusage): Don't ever declare if not HAVE_GETRUSAGE.
1575         (times): Don't ever declare if not HAVE_TIMES.
1576         (clock): Don't ever declare if not HAVE_CLOCK.
1577
1578 2003-01-30  Richard Henderson  <rth@redhat.com>
1579
1580         * flow.c (update_life_info): Zap life info after cleanup_cfg.
1581         (regno_uninitialized): Use correct live at function entry set.
1582         (regno_clobbered_at_setjmp): Likewise.
1583
1584         * expr.c (store_expr): Promote all MEM intermediates to regs.
1585
1586 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1587
1588         * config/arm/arm.c: Fix comment typos.
1589         * config/arm/arm.h: Likewise.
1590         * config/arm/netbsd-elf.h: Likewise.
1591         * config/arm/netbsd.h: Likewise.
1592
1593 2003-01-30  Geoffrey Keating  <geoffk@apple.com>
1594
1595         * gengtype.c (struct walk_type_data): Add needs_cast_p.
1596         (walk_type): Set needs_cast_p in walk_type_data.
1597         (write_types_process_field): Supply casts when required to suppress
1598         warnings.
1599         (write_root): Cast gt_pch_n_S to suppress warning.
1600         * Makefile.in: Remove -Wno-error from gtype-desc.o and c-decl.o.
1601         * config/rs6000/rs6000.c (print_operand): Mask off high bits only
1602         when they might exist.
1603         * config/rs6000/t-rs6000: Remove -Wno-error from varasm.o,
1604         insn-conditions.o, and rs6000.o.
1605
1606 2003-01-30  Richard Henderson  <rth@redhat.com>
1607
1608         * ggc-page.c (G.context_depth_allocations): New.
1609         (G.context_depth_collections): New.
1610         (alloc_page): Set G.context_depth_allocations.
1611         (ggc_collect): Set G.context_depth_collections.
1612         (ggc_push_context): Limit to HOST_BITS_PER_LONG contexts.
1613         (ggc_pop_context): Early exit for no allocations or collections.
1614
1615 2003-01-30  Richard Henderson  <rth@redhat.com>
1616
1617         * tree-inline.c (walk_tree): Streamline duplicate hash table lookup.
1618
1619 2003-01-30  Richard Earnshaw  <rearnsha@arm.com>
1620
1621         * arm.c (arm_compute_initial_elimination_offset): If optimizing for
1622         size, the link register is always saved if any other register is
1623         saved.
1624
1625 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1626
1627         * config/h8300/h8300-protos.h: Update the prototype for
1628         compute_plussi_cc.
1629         (cpp_reader): Declare before it is used.
1630         * config/h8300/h8300.c (compute_plussi_cc): Change the return
1631         type to int.
1632         * config/h8300/h8300.md (monitor_prologue): Call abort() if we
1633         see an unknown H8 variant.
1634
1635 2003-01-30  Ralf Corsepius  <corsepiu@faw.uni-ulm.de>
1636
1637         PR target/9316
1638         * config/rs6000/rtems.h: Add CPP_OS_DEFAULT_SPEC.
1639         * config/rs6000/sysv4.h: Add CPP_OS_RTEMS_SPEC.
1640         * config/rs6000/t-rtems: New file. multilib variants to match OS.
1641         * config.gcc (powerpc-*-rtems*): Use rs6000/t-rtems instead of
1642         rs6000/t-ppcgas so we get the desired multilibs.
1643
1644 2003-01-30  Nick Clifton  <nickc@redhat.com>
1645
1646         * config/arm/arm.c (arm_output_epilogue): Update stack pointer
1647         when popping saved IP register off the stack.
1648
1649 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1650
1651         * config/rs6000/aix43.h: Fix comment typos.
1652         * config/rs6000/aix51.h: Likewise.
1653         * config/rs6000/aix52.h: Likewise.
1654         * config/rs6000/altivec.h: Likewise.
1655         * config/rs6000/rs6000.c: Likewise.
1656         * config/rs6000/rs6000.h: Likewise.
1657         * config/rs6000/rs6000.md: Likewise.
1658         * config/rs6000/spe.md: Likewise.
1659
1660 2003-01-29  Mark Mitchell  <mark@codesourcery.com>
1661
1662         * c-common.c (builtin_define_float_constants): Define
1663         __<TYPE>_HAS_INFINITY__ and __<TYPE>_HAS_QUIET_NAN__.
1664
1665 2003-01-30  Kazu Hirata  <kazu@cs.umass.edu>
1666
1667         * config/sh/lib1funcs.asm: Fix comment typos.
1668         * config/sh/linux.h: Likewise.
1669         * config/sh/sh.c: Likewise.
1670         * config/sh/sh.md: Likewise.
1671
1672 2003-01-30  Loren James Rittle  <ljrittle@acm.org>
1673
1674         * objc/Make-lang.in (objc-parse.y): Find c-parse.in in $(srcdir).
1675
1676 2003-01-30  Alexandre Oliva  <aoliva@redhat.com>
1677
1678         * config/fp-bit.h (__make_dp): Declare if TMODES.
1679
1680 2003-01-29  Kazu Hirata  <kazu@cs.umass.edu>
1681
1682         * config/h8300/h8300.h (PREDICATE_CODES): Add entries for
1683         general_operand_src and general_operand_dst.
1684
1685 2003-01-29  David Edelsohn  <edelsohn@gnu.org>
1686
1687         * config/rs6000/rs6000.c (function_arg_pass_by_reference):
1688         Return true for variable sized types.
1689         (rs6000_va_arg): Handle variable sized types passed by reference
1690         on non-SVR4 ABI.
1691
1692 2003-01-29  Richard Earnshaw  <rearnsha@arm.com>
1693
1694         * arm.c (arm_legtimize_address): New function.
1695         * arm-protos.h (arm_legtimize_address): Add prototype.
1696         * arm.h (ARM_LEGITIMIZE_ADDRESS): Use arm_legitimize_address.
1697         (LEGITIMIZE_ADDRESS, THUMB_LEGITIMIZE_ADDRESS): Wrap with
1698         do ... while (0)
1699
1700 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1701
1702         PR bootstrap/9296
1703         * gthr-rtems.h: Define __GTHREAD_MUTEX_INIT.  Apparently no code
1704         depended on it being defined until now.
1705
1706 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1707
1708         PR target/9295
1709         * config/mips/rtems.h: Predefine __USE_INIT_FINI__ so generic
1710         RTEMS code knows which C++ initialization style the toolset
1711         configuration is using.
1712
1713 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1714
1715         PR bootstrap/9293
1716         * config/m68k/t-crtstuff: Replace spaces with tabs, add
1717          $(MULTILIB_CFLAGS) as compiler option and multilib crtbegin/end.o.
1718
1719 2003-01-29  Joel Sherrill  <joel@OARcorp.com>
1720
1721         PR bootstrap/9292
1722         * config.gcc (hppa1.1-rtems):  Did not include t-rtems nor enable
1723         RTEMS threads.
1724         * config/pa/rtems.h (LIB_SPEC): Use -N when linking.
1725
1726 2003-01-29  Nick Clifton  <nickc@redhat.com>
1727
1728         * Makefile.in (c-parse.o): Locate source file in $(parsedir)
1729         not $(srcdir).
1730
1731 2003-01-29  Andrew Haley  <aph@redhat.com>
1732
1733         * tree-inline.c (walk_tree): Add CHAR_TYPE.
1734
1735 Wed Jan 29 10:26:12 CET 2003  Jan Hubicka  <jh@suse.cz>
1736
1737         * i386.md (subdi3_carry_rex64): Fix typo.
1738
1739 2003-01-28  Stan Shebs  <shebs@apple.com>
1740
1741         * coretypes.h (cpp_reader): Forward declare struct.
1742         * c-pragma.h (cpp_reader): Remove forward declaration.
1743         * hashtable.h (cpp_reader): Likewise.
1744         * scan.h (cpp_reader): Likewise.
1745         * tree.h (cpp_reader): Likewise.
1746         * config/darwin-protos.h (cpp_reader): Likewise.
1747         * config/arm/arm-protos.h (cpp_reader): Likewise.
1748         * config/rs6000/rs6000-protos.h: Remove GCC_CPPLIB_H ifdef, use
1749         struct cpp_reader in prototypes.
1750
1751 2003-01-28  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
1752
1753         * doc/install.texi: Add documentation for installation into
1754         tooldirs and with DESTDIR.
1755
1756 2003-01-28  Richard Henderson  <rth@redhat.com>
1757
1758         * config.gcc (ia64*-*-aix*): Remove.
1759         * config/ia64/aix.h, config/ia64/t-aix: Remove file.
1760         * config/ia64/unwind-aix.c: Remove file.
1761
1762 2003-01-28  Andreas Schwab  <schwab@suse.de>
1763
1764         * config/m68k/m68k.md (tablejump+2): Don't sign extend an address
1765         register.
1766         * config/m68k/apollo68.h (ASM_RETURN_CASE_JUMP): Likewise.
1767         * config/m68k/coff.h (ASM_RETURN_CASE_JUMP): Likewise.
1768         * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Likewise.
1769         * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
1770         * config/m68k/mot3300.h (ASM_RETURN_CASE_JUMP): Likewise.
1771         * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
1772         * config/m68k/pbb.h (ASM_RETURN_CASE_JUMP): Likewise.
1773
1774 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
1775
1776         * combine.c (nonzero_bits): Fix check for negative divide operands.
1777
1778 2003-01-28  Richard Henderson  <rth@redhat.com>
1779
1780         * config/ia64/ia64.c (ia64_rwreloc_section_type_flags): New.
1781         * config/ia64/hpux.h (TARGET_SECTION_TYPE_FLAGS): New.
1782
1783 2003-01-28  Richard Henderson  <rth@redhat.com>
1784
1785         * cse.c (find_best_addr): Kill !ADDRESS_COST code.
1786
1787         * config/cris/cris.c (cris_address_cost): Make static.
1788         (TARGET_RTX_COSTS, TARGET_ADDRESS_COST): New.
1789         * config/cris/cris.h (ADDRESS_COST): Remove.
1790         * config/cris/cris-protos.h: Update.
1791
1792 2003-01-23  Mike Stump  <mrs@apple.com>
1793
1794         * regclass.c (init_reg_autoinc): New function.
1795         (regclass): Move initialization of forbidden_inc_dec_class from
1796         here...
1797         (init_regs): to here.  Avoids reinitialization for each function,
1798         saving compilation time.
1799
1800 2003-01-28  Jason Merrill  <jason@redhat.com>
1801
1802         * cpplib.h (struct cpp_options): Add warn_deprecated field.
1803         * cppinit.c (cpp_create_reader): Turn it on by default.
1804         * c-opts.c (c_common_decode_option): Set it.
1805         * cpplib.c (do_pragma_once): Only complain about #pragma once
1806         if warn_deprecated is set.
1807
1808 2003-01-28  Dale Johannesen  <dalej@apple.com>
1809
1810         * emit-rtl.c (const_double_htab_hash):  Use mode in the hash.
1811         * loop.c (scan_loop):  Move movables on -Os rich-register targets.
1812         * config/rs6000/rs6000.md (sibcall*):  Use match_operand for LR.
1813
1814 2003-01-28  Richard Henderson  <rth@redhat.com>
1815
1816         * target.h (targetm.address_cost): New.
1817         * target-def.h (TARGET_ADDRESS_COST): New.
1818         (TARGET_RTX_COSTS): Uncomment.  Oops.
1819         * cse.c (address_cost): Use new target hook.
1820         (default_address_cost): New.
1821         * output.h (default_address_cost): Declare.
1822         * hooks.c (hook_int_rtx_0): New.
1823         * hooks.h (hook_int_rtx_0): Declare.
1824         * loop.c (combine_givs_p): Remove if 0 code.
1825         * system.h (ADDRESS_COST): Poison.
1826
1827         * config/alpha/alpha.c, config/alpha/alpha.h, config/d30v/d30v.c,
1828         config/d30v/d30v.h, config/ia64/ia64.c, config/ia64/ia64.h,
1829         config/m32r/m32r.c, config/m32r/m32r.h, config/mcore/mcore.c,
1830         config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.h,
1831         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/sparc/sparc.c,
1832         config/sparc/sparc.h, config/v850/v850.c, config/v850/v850.h,
1833         config/xtensa/xtensa.c, config/xtensa/xtensa.h
1834         (TARGET_ADDRESS_COST): Define as hook_int_rtx_0.
1835         (ADDRESS_COST): Remove.
1836
1837         * config/arc/arc-protos.h, config/arc/arc.c, config/arc/arc.h,
1838         config/avr/avr-protos.h, config/avr/avr.c, config/avr/avr.h,
1839         config/c4x/c4x-protos.h, config/c4x/c4x.c, config/c4x/c4x.h,
1840         config/dsp16xx/dsp16xx-protos.h, config/dsp16xx/dsp16xx.c,
1841         config/dsp16xx/dsp16xx.h, config/i386/i386-protos.h,
1842         config/i386/i386.c, config/i386/i386.h, config/i960/i960-protos.h,
1843         config/i960/i960.c, config/i960/i960.h, config/ip2k/ip2k-protos.h,
1844         config/ip2k/ip2k.c, config/ip2k/ip2k.h, config/mips/mips-protos.h,
1845         config/mips/mips.c, config/mips/mips.h,
1846         config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c,
1847         config/m68hc11/m68hc11.h, config/ns32k/ns32k-protos.h,
1848         config/ns32k/ns32k.c, config/ns32k/ns32k.h, config/pa/pa-protos.h,
1849         config/pa/pa.c, config/pa/pa.h, config/s390/s390-protos.h,
1850         config/s390/s390.c, config/s390/s390.h, config/vax/vax-protos.h,
1851         config/vax/vax.c, config/vax/vax.h
1852         (foo_address_cost): Make static.
1853         (TARGET_ADDRESS_COST): New.
1854         (ADDRESS_COST): Remove.
1855
1856         * config/arm/arm.h, config/arm/arm.c, config/m88k/m88k.h,
1857         config/m88k/m88k.c, config/romp/romp.h, config/romp/romp.c,
1858         config/sh/sh.c, config/sh/sh.h, config/stormy16/stormy16.c,
1859         config/stormy16/stormy16.h
1860         (ADDRESS_COST): Move code ...
1861         (foo_address_cost): ... here.
1862         (TARGET_ADDRESS_COST): New.
1863
1864         * config/m32r/m32r.c (m32r_address_cost): Remove.
1865         * config/m32r/m32r-protos.h: Update.
1866
1867         * config/mmix/mmix.c (mmix_address_cost): Remove.
1868         * config/mmix/mmix-protos.h: Update.
1869
1870         * config/mn10300/mn10300.c (mn10300_address_cost_1): Rename from
1871         mn10300_address_cost; move unsig allocation ...
1872         (mn10300_address_cost): ... here.
1873         (TARGET_ADDRESS_COST): New.
1874         * config/mn10300/mn10300-protos.h: Update.
1875         * config/mn10300/mn10300.h (ADDRESS_COST): Remove.
1876
1877         * doc/tm.texi: Update.
1878
1879 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
1880
1881         * haifa-sched.c (schedule_insn): Return necessary cycle advance
1882         after issuing the insn.
1883         (rank_for_schedule): Make a insn with /S the highest priority
1884         insn.
1885         (move_insn): Ignore schedule groups.  Clear SCHED_GROUP_P.
1886         (choose_ready): Check SCHED_GROUP_P.
1887         (schedule_block): Advance cycle after issuing insn if it is
1888         necessary.  Don't reorder insns if there is an insn with /S.
1889         (set_priorities): Ignore schedule groups.
1890
1891         * sched-deps.c (remove_dependence, group_leader): Remove the
1892         functions.
1893         (add_dependence): Ignore schedule groups.
1894         (set_sched_group_p): Don't make copy of dependencies from previous
1895         insn of the schedule group.  Add anti-dependency to the previous
1896         insn of the schedule group.
1897         (compute_forward_dependences): Ignore schedule groups.
1898
1899         * sched-ebb.c (init_ready_list): Ignore schedule groups.
1900
1901         * sched-rgn.c (init_ready_list): Ditto.
1902         (can_schedule_ready_p): Ditto.
1903
1904 2003-01-28  Vladimir Makarov  <vmakarov@redhat.com>
1905
1906         * config/i386/i386.md (*movsi_1): Use movdqa to move one xmm
1907         register to another one.
1908
1909 2003-01-28  Richard Henderson  <rth@redhat.com>
1910
1911         * calls.c (default_must_pass_in_stack): Fix typo in !type case.
1912
1913 2003-01-28  Roger Sayle  <roger@eyesopen.com>
1914
1915         * cse.c (cse_insn): Avoid redundant REG_EQUAL notes.
1916
1917 2003-01-28  Richard Sandiford  <rsandifo@redhat.com>
1918
1919         * config/sh/sh.h (CLASS_MAX_NREGS): If TARGET_SHMEDIA, and the given
1920         class contains a floating-point register, return the size of the
1921         mode in half words.
1922
1923 Tue Jan 28 12:15:13 CET 2003  Jan Hubicka  <jh@suse.cz>
1924
1925         * i386.c (ix86_carry_flag_operator):  New predicate.
1926         (fcmov_operator): Fix whitespace.
1927         (ix86_expand_carry_flag_compare):  Deal with floating point.
1928         (ix86_expand_int_movcc): Deal with fp; update insn expansion
1929         (ix86_expand_int_addcc): Likewise.
1930         (ix86_expand_strlensi_unroll_1): likewsie.
1931         * i386.h (PREDICATE_CODES): Add ix86_carry_flag_operator.
1932         * i386.md (add?i_carry_rex64): Use new predicate.
1933         (sub?i3_carry_rex64): Likewise.
1934         (x86_mov?icc_0_m1*): Likewise.
1935
1936 2003-01-28  Andreas Schwab  <schwab@suse.de>
1937
1938         * cfgloopmanip.c (create_preheader): Initialize src to avoid
1939         warning.
1940
1941         * expmed.c (emit_store_flag): Fix cast to avoid sign
1942         comparison warning.
1943
1944         * combine.c (force_to_mode): Add cast to fix warning when
1945         STORE_FLAG_VALUE is negative.
1946
1947 2003-01-27  Richard Henderson  <rth@redhat.com>
1948
1949         * Makefile.in (cse.o): Depend on TARGET_H.
1950         * cse.c (rtx_cost): Use targetm.rtx_costs.
1951         * system.h (CONST_COSTS RTX_COSTS DEFAULT_RTX_COSTS): Poison.
1952         * doc/tm.texi: Update.
1953
1954         * target.h (targetm.rtx_costs): New.
1955         * target-def.h (TARGET_RTX_COSTS): New.
1956         * hooks.c (hook_bool_rtx_int_int_intp_false): New.
1957         * hooks.h: Update.
1958
1959         * config/alpha/alpha.c (alpha_rtx_cost_data): New.
1960         (alpha_rtx_costs, TARGET_RTX_COSTS): New.
1961         * config/alpha/alpha.h (PROCESSOR_MAX): New.
1962         (CONST_COSTS, RTX_COSTS): Remove.
1963
1964         * config/arc/arc.c, config/arc/arc.h, config/c4x/c4x.c,
1965         config/c4x/c4x.h, config/cris/cris.c, config/cris/cris.h,
1966         config/d30v/d30v.c, config/d30v/d30v.h, config/dsp16xx/dsp16xx.c,
1967         config/dsp16xx/dsp16xx.h, config/frv/frv.c, config/frv/frv.h,
1968         config/h8300/h8300.c, config/h8300/h8300.h, config/i370/i370.c,
1969         config/i370/i370.h, config/i386/i386.c, config/i386/i386.h,
1970         config/i960/i960.c, config/i960/i960.h, config/ia64/ia64.c,
1971         config/ia64/ia64.h, config/m32r/m32r.c, config/m32r/m32r.h,
1972         config/m68k/m68k.c, config/m68k/m68k.h, config/m88k/m88k.c,
1973         config/m88k/m88k.h, config/mcore/mcore.c, config/mcore/mcore.h,
1974         config/mips/mips.c, config/mips/mips.h, config/mn10200/mn10200.c,
1975         config/mn10200/mn10200.h, config/mn10300/mn10300.c,
1976         config/mn10300/mn10300.h, config/ns32k/ns32k.c, config/ns32k/ns32k.h,
1977         config/pa/pa.c, config/pa/pa.h, config/pdp11/pdp11.c,
1978         config/pdp11/pdp11.h, config/romp/romp.c, config/romp/romp.h,
1979         config/rs6000/rs6000.c, config/rs6000/rs6000.h, config/s390/s390.c,
1980         config/s390/s390.h, config/sh/sh.c, config/sh/sh.h,
1981         config/stormy16/stormy16.c, config/stormy16/stormy16.h,
1982         config/v850/v850.c, config/v850/v850.h,
1983         config/xtensa/xtensa.c, config/xtensa/xtensa.h
1984         (CONST_COSTS, RTX_COSTS): Move code ...
1985         (foo_rtx_costs, TARGET_RTX_COSTS): ... here.
1986
1987         * config/arm/arm.c (arm_rtx_costs_1): Rename from arm_rtx_costs.
1988         (arm_rtx_costs, TARGET_RTX_COSTS): New.
1989         * config/arm/arm-protos.h: Update.
1990         * config/arm/arm.h (DEFAULT_RTX_COSTS): Remove.
1991
1992         * config/avr/avr.h (CONST_COSTS): Move code ...
1993         * config/avr/avr.c (avr_rtx_costs): ... here.
1994         (default_rtx_costs): Make static.
1995         * config/avr/avr-protos.h: Update.
1996
1997         * config/h8300/h8300.c (const_costs): Make static.
1998         (h8300_and_costs, h8300_shift_costs): Likewise.
1999         * config/h8300/h8300-protos.h: Update.
2000
2001         * config/ip2k/ip2k.h (DEFAULT_RTX_COSTS): Remove.
2002         (CONST_COSTS): Move code ...
2003         * config/ip2k/ip2k.c (ip2k_rtx_costs): ... here.  Rename from
2004         default_rtx_costs; update for signature change.
2005         * config/ip2k/ip2k-protos.h: Update.
2006
2007         * config/m68hc11/m68hc11.h (RTX_COSTS): Remove.
2008         (CONST_COSTS): Move code ...
2009         * config/m68hc11/m68hc11.c (m68hc11_rtx_costs): ... here.
2010         (TARGET_RTX_COSTS): New.
2011         (m68hc11_rtx_costs_1): Rename from m68hc11_rtx_costs; make static.
2012         * config/m68hc11/m68hc11-protos.h: Update.
2013
2014         * config/m68k/m68k.c (const_int_cost): Make static.
2015         * config/m68k/m68k-protos.h: Update.
2016
2017         * config/mcore/mcore.c (mcore_const_costs): Make static.
2018         (mcore_and_cost, mcore_ior_cost): Likewise.
2019         * config/mcore/mcore-protos.h: Update.
2020
2021         * config/mmix/mmix.c (mmix_rtx_costs, TARGET_RTX_COSTS): New.
2022         (mmix_rtx_cost_recalculated): Remove.
2023         * config/mmix/mmix.h (DEFAULT_RTX_COSTS): Remove.
2024         * config/mmix/mmix-protos.h: Update.
2025
2026         * config/sh/sh.c (shiftcosts): Make static.
2027         (addsubcosts, andcosts, multcosts): Likewise.
2028         * config/sh/sh-protos.h: Update.
2029
2030         * config/sparc/sparc.c (TARGET_RTX_COSTS): New.
2031         (sparc_rtx_costs): Make static; update for change in signature.
2032         * config/sparc/sparc.h (RTX_COSTS_CASES, RTX_COSTS): Remove.
2033         * config/sparc/sparc-protos.h: Update.
2034
2035         * config/v850/v850.c (const_costs): Make static.
2036         * config/v850/v850-protos.h: Update.
2037
2038         * config/vax/vax.h (RTX_COSTS): Remove.
2039         (CONST_COSTS): Move code ...
2040         * config/vax/vax.c (vax_rtx_costs_1): ... here; rename
2041         from vax_rtx_cost.
2042         (vax_rtx_costs, TARGET_RTX_COSTS): New.
2043
2044 2003-01-27  Richard Henderson  <rth@redhat.com>
2045
2046         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.  Really.
2047         * config/vax/vax-protos.h: Update.  Really.
2048
2049 2003-01-28  Alexandre Oliva  <aoliva@redhat.com>
2050
2051         * config/mips/mips.h (UNITS_PER_HWFPVALUE): Renamed from...
2052         (UNITS_PER_FPVALUE): Defined as the width of a long double, or
2053         zero if no hardware floating point.
2054         (LONG_DUBLE_TYPE_SIZE): Set to 128 on N32 and N64.
2055         (MAX_FIXED_MODE_SIZE): Define to LONG_DOUBLE_TYPE_SIZE.
2056         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define.
2057         (BIGGEST_ALIGNMENT): Same as LONG_DOUBLE_TYPE_SIZE.
2058         (FUNCTION_VALUE_REGNO_P): Set for FP_RETURN+2 on N32 and N64.
2059         * config/mips/mips.c (mips_arg_info): Pass TFmode values in
2060         even FP registers on N32 and N64.
2061         (mips_setup_incoming_varargs): Use UNITS_PER_HWFPVALUE.
2062         (mips_va_start): Adjust alignment of ARG_POINTER_REGNUM.
2063         (mips_va_arg): Use UNITS_PER_HWFPVALUE.  Impose additional
2064         even-register-like alignment to 128-bit arguments.
2065         (save_restore_insns): Use UNITS_PER_HWFPVALUE.
2066         (mips_function_value): Likewise.  Return TFmode in $f0 and $f2
2067         on N32 or N64.
2068         * config/mips/_tilib.c (__negti2, __ashlti3, __lshrti3): New.
2069         * config/mips/t-iris6 (LIB2FUNCS_EXTRA): Add _tilib.c.
2070         (TPBIT): Set to tp-bit.c.
2071         (tp-bit.c): Create out of fp-bit.c.
2072
2073 2003-01-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
2074
2075         * c-parse.in: Remove '%expect 32' directive in objc mode.
2076
2077 2003-01-27  Nathan Sidwell  <nathan@codesourcery.com>
2078
2079         * Makefile.in (LIB2FUNCS_ST): Remove _gcov.
2080         (LIBGCOV): New variable.
2081         (libgcc.mk): Add LIBGCOV.
2082         (LIBGCC_DEPS): Add libgcov.c.
2083         (libgcov.a): New target.
2084         (clean): Remove libgcov.a.
2085         (install-libgcc): Do libgcov too.
2086         (stage1-start, stage2-start, stage3-start, stage4-start): Deal
2087         with libgcov.a.
2088         * libgcc2.c (L_gcov): Move into ...
2089         * libgcov.c: ... here. New file.
2090         * mklibgcc.in: Add libgcov rules.
2091         * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling.
2092
2093         * doc/invoke.texi (profile-arcs, test-coverage): Update and
2094         clarify.
2095
2096         * profile.c (index_counts_file): Remove duplicate check for open file.
2097
2098 2003-01-27  Jerry Quinn  <jlquinn@optonline.net>
2099
2100         * gcc/doc/invoke.texi (Optimization Options): Group together
2101         optional and experimental flags.  Move trapv and bounds-check
2102         out of this section.  Group floating point flags together.
2103         (Code Gen Options): Move trapv and bounds-check to here.
2104
2105 2003-01-27  Josef Zlomek  <zlomekj@suse.cz>
2106
2107         * gcse.c (constprop_register): Check NEXT_INSN (insn) != NULL.
2108
2109 2003-01-27  Richard Earnshaw  <rearnsha@arm.com>
2110
2111         PR optimization/9090
2112         * function.c (purge_addressof_1): After pushing an addressed register
2113         onto the stack, simplify the result.
2114
2115 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2116
2117         * doc/extend.texi: Fix typo.
2118
2119 2003-01-27  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2120
2121         * doc/cppopts.texi: Fix typo.
2122         * doc/objc.texi: Likewise.
2123         * doc/passes.texi: Likewise.
2124
2125 2003-01-27  Alexandre Oliva  <aoliva@redhat.com>
2126
2127         * real.c (ibm_extended_format): Add 53 to minimum exponent.
2128         (encode_ibm_extended): Adjust.
2129
2130 2003-01-26  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
2131
2132         * timevar.def (TV_OVERLOAD, TV_TEMPLATE_INSTANTIATION): New
2133         timevar_id enumerations.
2134
2135 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2136
2137         * combine.c: Fix formatting.
2138
2139 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2140
2141         * doc/gccint.texi: Update the copyright.
2142
2143 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2144
2145         * doc/cpp.texi: Fix typos.
2146         * doc/extend.texi: Likewise.
2147         * doc/gty.texi: Likewise.
2148         * doc/install.texi: Likewise.
2149         * doc/passes.texi: Likewise.
2150         * doc/rtl.texi: Likewise.
2151         * doc/tm.texi: Likewise.
2152
2153 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2154
2155         * config/ia64/fde-glibc.c: Fix comment typos.
2156         * config/ia64/hpux.h: Likewise.
2157         * config/ia64/ia64.c: Likewise.
2158         * config/ia64/ia64.h: Likewise.
2159         * config/ia64/unwind-ia64.c: Likewise.
2160
2161 2003-01-26  Kazu Hirata  <kazu@cs.umass.edu>
2162
2163         * config/i386/i386-modes.def: Fix comment typos.
2164         * config/i386/i386.c: Likewise.
2165         * config/i386/i386.md: Likewise.
2166
2167 2003-01-26  Steven Bosscher  <s.bosscher@student.tudelft.nl>
2168
2169         * config/avr/avr.h, config/cris/aout.h, config/elfos.h,
2170         config/i386/freebsd-aout.h, config/mips/iris6.h: Undefine
2171         ASM_FINISH_DECLARE_OBJECT before defining it.
2172         * toplev.c (rest_of_decl_compilation):  Don't define
2173         ASM_FINISH_DECLARE_OBJECT.  Only use it if it is defined.
2174         (rest_of_type_compilation): Don't ATTRIBUTE_UNUSED function
2175         parameters for DWARF2 targets because they _are_ used.
2176
2177 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2178
2179         * fp-bit.h: Define macros for TFmode floating-point constants
2180         in IBM-extended TFmode types.
2181         (TMODES): Define if __LDBL_MANT_DIG__ has the newly-supported
2182         widths.
2183         * config/fp-bit.c (pack_d, unpack_d): Support IBM-extended
2184         TFmode type.
2185
2186         * config/fp-bit.h: Define macros for TFmode floating-point
2187         constants in IEEE quad TFmode type.  Declare functions according
2188         to L_ macros.
2189         (TMODES): Define if __LDBL_MANT_DIG__ is 113.
2190         (TFtype, TItype, UTItype): Define if TMODES is defined.
2191         (MAX_UDI_INT, MAX_DI_INT, BITS_PER_DI): Likewise.
2192         (F_T_BITOFF, D_T_BITOFF): Define.
2193         (IMPLICIT_1, IMPLICIT_2): Cast constants to types that are
2194         guaranteed to be wide enough.
2195         * config/fp-bit.c: Check for L_ macros for tf functions.
2196         (__thenan_tf): New.
2197         (nan): Adjust.
2198         (pack_d, unpack_d): Support IEEE 854 quad type.
2199         (_fpmul_parts): Support TFmode.  Compute exponent adjustment
2200         from FRAC_NBITS, FRAC_BITS and NGARDS.
2201         (usi_to_float): Cast constants to be shifted to fractype
2202         instead of assuming long long is wide enough.
2203         (sf_to_tf, df_to_tf, __make_tp, tf_to_df, tf_to_sf): New.
2204
2205 2003-01-26  Andreas Jaeger  <aj@suse.de>
2206
2207         * df.c: Remove prototype of unused function df_regno_rtl_debug.
2208
2209 2003-01-26  Alexandre Oliva  <aoliva@redhat.com>
2210
2211         * Makefile.in (FPBIT_FUNCS): Added _sf_to_tf.
2212         (DBBIT_FUNCS): Added _df_to_tf.
2213         (TPBIT_FUNCS): New.
2214         (libgcc.mk): Pass TPBIT and TPBIT_FUNCS down.
2215         (LIBGCC_DEPS): Added TPBIT.
2216         * mklibgcc.in: Support TPBIT and TPBIT_FUNCS.
2217
2218         * optabs.c (expand_binop) <add, sub>: Return xtarget if we haven't
2219         been able to move the result to target.
2220
2221         * expr.c (emit_group_store): Initialize dst with CONST0_RTX
2222         for the appropriate mode.
2223
2224         * calls.c (emit_library_call_value_1): Handle return values
2225         in a PARALLEL.
2226
2227         * rtl.c (get_mode_alignment): Moved to...
2228         * stor-layout.c: ... here.
2229
2230         * print-rtl.c (print_rtx): Don't print MEM details in
2231         GENERATOR_FILEs.
2232
2233 2003-01-26  Michael Hayes  <mph@paradise.net.nz>
2234
2235         * df.h: Update comments, tidy formatting.
2236         (DF_FORWARD, DF_REVERSE, DF_UNION, DF_INTERSECTION): Rename from FORWARD,
2237         REVERSE, UNION, INTERSECTION.  All uses updated.
2238         (OLD_DF_INTERFACE): Remove.
2239         (struct insn_info): Remove commented out insn field.
2240         * df.c: Update comments, tidy formatting.
2241         (df_def_table_realloc): Remove.
2242
2243
2244 2003-01-26  Alan Modra  <amodra@bigpond.net.au>
2245
2246         * calls.c (save_fixed_argument_area): Tidy.
2247         (restore_fixed_argument_area): Tidy.  Set alignment of stack_area.
2248         (expand_call): Comment typo fixes.  Don't init low_to_save.  Start
2249         call chain loop at 1 if !try_tail_call.  Formatting.
2250         (emit_library_call_value_1): Don't init low_to_save or high_to_save.
2251         Use save_fixed_argument_area and restore_fixed_argument_area.
2252
2253 2003-01-26  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2254
2255         * df.c (df_uses_record): Handle CC0.
2256
2257 2003-01-25  Ulrich Weigand  <uweigand@de.ibm.com>
2258
2259         * reload.c (maybe_memory_address_p): New function.
2260         (find_reloads_address): Use it instead of memory_address_p.
2261
2262 2003-01-25  Kaz Kojima  <kkojima@gcc.gnu.org>
2263
2264         * final.c (shorten_branches): Align the address of code label
2265         when computing initial lengths and addresses.
2266
2267 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2268
2269         * config/m68hc11/m68hc11.md: Fix a comment typo.
2270
2271 2003-01-25  Andreas Jaeger  <aj@suse.de>
2272
2273         * config/i386/i386.c (x86_output_mi_thunk): Correct test for
2274         TARGET_MACHO.
2275
2276 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2277
2278         * gcse.c (bypass_last_basic_block): New global variable.
2279         (bypass_block):  Use redirect_edge_and_branch_force to redirect
2280         fall-through edges.  Use bypass_last_basic_block to determine
2281         which blocks have valid PRE information.
2282         (bypass_conditional_jumps): Initialize bypass_last_basic_block.
2283
2284 Sat Jan 25 22:31:59 CET 2003  Jan Hubicka  <jh@suse.cz>
2285
2286         * gcse.c (local_cprop_pass): Update reg_sets table when needed.
2287
2288 Sat Jan 25 21:04:33 CET 2003  Jan Hubicka  <jh@suse.cz>
2289                               Eric Botcazou <ebotcazou@libertysurf.fr>
2290         PR opt/8492
2291         * gcse.c (one_cprop_pass): Delete unreachable blocks.
2292
2293 2003-01-25  Richard Henderson  <rth@redhat.com>
2294
2295         * config/ia64/ia64.c (ia64_rwreloc_select_rtx_section): Rename
2296         from ia64_aix_select_rtx_section.
2297         (ia64_rwreloc_select_section): Simlarly; use default*_1 function
2298         instead of saving and restoring flag_pic.
2299         (ia64_rwreloc_unique_section): Similarly.
2300         * config/ia64/aix.h (TARGET_ASM_SELECT_SECTION,
2301         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): Update.
2302         * config/ia64/hpux.h (TARGET_ASM_SELECT_SECTION,
2303         TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_RTX_SECTION): New.
2304
2305 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2306
2307         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Update a
2308         comment.
2309
2310 2002-01-25  Richard Henderson  <rth@redhat.com>
2311
2312         * config/m68k/m68k-none.h (ASM_SPEC): Adjust inter-option spacing.
2313
2314 2002-01-25  Kelley Cook <kelleycook@comcast.net>
2315
2316         * ggc-simple.c (debug_ggc_tree): Add PTR cast.
2317
2318 2003-01-25  Segher Boessenkool  <segher@koffie.nl>
2319
2320         * bitmap.h (BITMAP_WORD): New typedef: fundamental storage
2321         type for bitmaps.  Use unsigned long.
2322         (nBITMAP_WORD_BITS): New macro.
2323         (BITMAP_WORD_BITS): New macro.
2324         (rest of file): Use it.
2325         * bitmap.c: Use it.
2326
2327 2003-01-25  Richard Henderson  <rth@redhat.com>
2328
2329         2002-02-19  Robert Lipe  <robertlipe@usa.net>
2330         * config/i386/t-sco5gas: (CRTSTUFF_T_CFLAGS_S): Delete -mcoff.
2331
2332 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2333
2334         * builtins.c (purge_builtin_constant_p): Scan insn stream
2335         sequentially rather than by basic block.
2336         * function.c (purge_addressof): Simplify test with INSN_P.
2337
2338 2003-01-25  Kazu Hirata  <kazu@cs.umass.edu>
2339
2340         * combine.c (simplify_comparison, case AND): Remove a redundant test.
2341
2342 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2343
2344         * function.h (struct function): New field calls_constant_p.
2345         (current_function_calls_constant_p): New macro for above.
2346         * function.c (prepare_function_start): Initialize calls_eh_return
2347         and calls_constant_p.
2348         * builtins.c (expand_builtin_constant_p): Set calls_constant_p.
2349         * toplev.c (rest_of_compilation): Only call purge_builtin_constant_p
2350         when the current_function_calls_constant_p.
2351         * integrate.c (expand_inline_function): Set calls_constant_p if
2352         the function being inlined has calls_constant_p set.
2353
2354 2002-01-25  Roger Sayle  <roger@eyesopen.com>
2355
2356         * cse.c (fold_rtx): Instantiate CONSTANT_P_RTX to 0 when not
2357         optimizing, even if flag_gcse is true.
2358         * toplev.c (rest_of_compilation): purge_builtin_constant_p
2359         only needs to be called when "optimize > 0 && flag_gcse".
2360
2361 2003-01-25  Roger Sayle  <roger@eyesopen.com>
2362
2363         * stmt.c (emit_case_bit_tests): New routine to implement suitable
2364         switch statements using the equivalent of "if ((1<<x) & cst) ... ".
2365         (case_bit_test_cmp): New comparison function for "qsort" to order
2366         case_bit_tests by decreasing number of destination nodes.
2367         (lshift_cheap_p): New function to determine if "1 << x" is cheap.
2368         (expand_end_case_type): Use emit_case_bit_tests to implement
2369         suitable switch statments.
2370         (CASE_USE_BIT_TESTS): New target macro to disable the above.
2371         * Makefile.in (stmt.o): Add dependency on optab.h.
2372         * doc/tm.texi (CASE_USE_BIT_TESTS): Document new target macro.
2373
2374 2003-01-23  Andreas Schwab  <schwab@suse.de>
2375
2376         * config/ia64/crtend.asm [HAVE_INITFINI_ARRAY]: Make
2377         __do_global_ctors_aux hidden global and don't put it in
2378         .init_array.
2379         * config/ia64/crtbegin.asm [HAVE_INITFINI_ARRAY]: Put it here
2380         instead so that it comes first.
2381
2382 Sat Jan 25 16:11:22 CET 2003  Jan Hubicka  <jh@suse.cz>
2383
2384         * df.c (read_modify_subreg_p):  When osize == UNITS_PER_WORD,
2385         subreg is read/modify.
2386
2387 Sat Jan 25 15:55:08 CET 2003  Jan Hubicka  <jh@suse.cz>
2388
2389         * i386.c (ix86_expand_movstr, ix86_expand_clrstr): Consistently
2390         do libcall for large blocks.
2391         * i386.md (comi patterns): Set type to ssecomi.
2392         (sse2_unpck?pd): Fix mode of vec_select.
2393
2394         * cse.c: Include except.h
2395         (cse_set_around_loop):  Do not create new basic blocks.
2396         * Makefile.in (cse.o): Add dependnecy on except.h
2397
2398 Sat Jan 25 12:05:17 CET 2003  Jan Hubicka  <jh@suse.cz>
2399
2400         * builtins.c (fold_trunc_transparent_mathfn): New function.
2401         (fold_builtin): Use it.
2402         * convert.c (convert_to_real): Re-enable code to convert
2403         math functions; add support for floor familly functions.
2404
2405 2003-01-25  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2406
2407         * Makefile.in (cfgloop.o, cfgloopanal.o, cfgloopmanip.o): Add
2408         dependencies on coretypes.h and $(TM_H).
2409
2410 Sat Jan 25 11:10:03 CET 2003  Jan Hubicka  <jh@suse.cz>
2411
2412         * builtins.c (fold_trunc_transparent_mathfn):  Undo accidental commit.
2413
2414 2002-01-24  Stuart Hastings  <stuart@apple.com>
2415
2416         * config/i386/i386.c (x86_output_mi_thunk): Add Darwin/x86 support.
2417
2418 2003-01-25  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
2419
2420         * config/c4x/c4x.md (UNSPEC_BU): New constants.
2421         (UNSPEC_RPTS, UNSPEC_LSH, UNSPEC_CMPHI, UNSPEC_RCPF): Likewise.
2422         (UNSPEC_RND, UNSPEC_RPTB_FILL, UNSPEC_LOADHF_INT): Likewise.
2423         (UNSPEC_STOREHF_INT, UNSPEC_RSQRF, UNSPEC_LOADQF_INT): Likewise.
2424         (UNSPEC_STOREQF_INT, UNSPEC_LDIV, UNSPEC_PUSH_ST):  Likewise.
2425         (UNSPEC_POP_ST, UNSPEC_PUSH_DP, UNSPEC_POP_DP):  Likewise.
2426         (UNSPEC_POPQI, UNSPEC_POPQF, UNSPEC_ANDN_ST):  Likewise.
2427         (UNSPEC_RPTB_INIT, UNSPEC_TOIEEE, UNSPEC_FRIEEE):  Likewise.
2428
2429 Fri Jan 24 23:44:12 CET 2003  Jan Hubicka  <jh@suse.cz>
2430
2431         * emit-rtl.c (reg_attrs_htab): New static variable.
2432         (reg_attrs_htab_hash, reg_attrs_htab_eq, get_reg_attrs): New static
2433         functions.
2434         (reg_rtx): Do not maintain regno_decl.
2435         (gen_rtx_REG_offset, set_reg_attrs_from_mem, set_delc_rtx,
2436         set_mem_attrs_from_reg): New global function.
2437         (init_emit): Do not initialize regno_decl.
2438         (init_emit_once): initialize reg_attrs_htab.
2439         * final.c (alter_subreg): Do not replace REG by SUBREG.
2440         (gen_mem_expr_from_op): Improve output.
2441         (output_asm_operands): Likewise.
2442         * function.c (assign_params): Do not set REGNO_DECL.
2443         * function.h (struct function): Kill regno_decl.
2444         (REGNO_DECL): Kill.
2445         * gengtype.c (adjust_field_rtx_def): Handle new field of reg.
2446         * print_rtl.c (print_rtx): Output REG information.
2447         * regclass.c (reg_scan_mark_refs): Update attrs.
2448         * reload1.c (alter_reg): Likewise.
2449         * simplify_rtx.c (simplify_subreg): Likewise.
2450         * stmt.c (expand_decl): Likewise.
2451         * rtl.def (REG): Add new field.
2452         * rtl.h (struct reg_attrs): New.
2453         (rtunion_def): At rtreg.
2454         (X0MEMATTR): Add checking.
2455         (X0REGATTR, REG_ATTRS, REG_EXPR, REG_OFFSET): New macro.
2456         (set_reg_attrs_from_mem, set_mem_attrs_from_reg, gen_rtx_REG_offset):
2457         Declare.
2458         * tree.h (SET_DECL_RTL): Call set_decl_rtl.
2459
2460 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2461
2462         * config/xtensa/xtensa.c: Remove unused include of machmode.h.
2463         (xtensa_emit_call, print_operand): Fix printf format strings
2464         to avoid compile warnings.
2465         (xtensa_function_prologue, xtensa_function_epilogue): Change type
2466         of "size" argument to HOST_WIDE_INT to fix compile warnings.
2467         * config/xtensa/xtensa-protos.h
2468         (xtensa_function_prologue, xtensa_function_epilogue): Ditto.
2469
2470 Fri Jan 24 23:03:32 CET 2003  Jan Hubicka  <jh@suse.cz>
2471
2472         * builtins.c (DEF_BUILTIN): Accept 10 arguments.
2473         (implicit_built_in_decls): New global array.
2474         (mathfn_built_in): New global function.
2475         (fold_trunc_transparent_mathfn): New static function
2476         (expand_builtin_strstr, expand_bultin_strchr,
2477         expand_builtin_strpbrk, expand_builtin_strcpy,
2478         expand_builtin_strncpy, expand_bultin_strcmp,
2479         expand_bultin_strncat, expand_builtin_fputs): Use
2480         implicint_built_in_decls.
2481         (fold_builtin): Fold floor/trunc/round/ceil/nearbyint.
2482         * builtins.def: Fix comments.
2483         (DEF_GCC_BUILTIN, DEF_FALLBACK_BUILTIN, DEF_EXT_FALLBACK_BUILTIN,
2484         DEF_LIB_BUILTIN, DEF_LIB_ALWAYS_BUILTIN, DEF_EXT_LIB_BUILTIN,
2485         DEF_C99_BULTIN, DEF_FRONT_END_LIB_BUILTIN,
2486         DEF_EXT_FRONT_END_LIB_BUILTIN): Pass implicit as needed.
2487         (DEF_C99_C90RES_BULTIN): New.
2488         (*f, *l builtins): Update.
2489         * c-common.c (DEF_BUILTIN): Initialize implicit array.
2490         (c_expand_builtin_printf, c_expand_builtin_fprintf): Update.
2491         * convert.c (strip_float_extensions): New global function.
2492         * tree.h (DEF_BUILTIN): Accept 10 arguments.
2493         (implicit_built_in_decls, mathfn_built_in, strip_float_extension):
2494         Declare.
2495         * java/builtins.c (define_builtin): Handle implicit.
2496         (DEF_BUILTIN): Update.
2497         * tm.texi (TARGET_C99_FUNCTIONS): Document.
2498         * defaults.h (TARGET_C99_FUNCTIONS): Default to 0.
2499         * config/linux.h (TARGET_C99_FUNCTIONS): Default to 1
2500         when using glibc2.
2501
2502 2003-01-24  Bob Wilson  <bob.wilson@acm.org>
2503
2504         * config.gcc (xtensa-*-elf*): Removed assignments to with_newlib,
2505         extra_parts, and fixincludes.  Add xtensa/t-elf tmake_file.
2506         (xtensa-*-linux*): Add xtensa/t-linux tmake_file.
2507         * config/xtensa/crti.asm: New file.
2508         * config/xtensa/crtn.asm: New file.
2509         * config/xtensa/t-elf: New file.
2510         * config/xtensa/t-linux: New file.
2511         * config/xtensa/t-xtensa: Add rules for crti.o and crtn.o.
2512         Move various CFLAGS settings to new t-elf file.
2513
2514 2003-01-24  Richard Henderson  <rth@redhat.com>
2515
2516         PR optimization/4382
2517         * tree-inline.c (find_builtin_longjmp_call_1): New.
2518         (find_builtin_longjmp_call): New.
2519         (inlinable_function_p): Use it.
2520
2521 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2522
2523         * config/i386/i386-protos.h (function_arg_pass_by_reference): Declare.
2524         * config/i386/i386.h (FUNCTION_ARG_PASS_BY_REFERENCE): Use it.
2525         * config/i386/i386.c (function_arg_pass_by_reference): New.
2526         (ix86_va_arg): Support arguments passed by reference.
2527
2528 2003-01-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
2529
2530         * cfgloopanal.c: New file.
2531         * cfgloopmanip.c: New file.
2532         * Makefile.in (cfgloopanal.o, cfgloopmanip.o): New.
2533         (toplev.o, loop.o, doloop.o, unroll.o, cfgloop.o, predict.o,
2534         cfglayout.o): Add dependency on cfgloop.h.
2535         (cfgloop.o): Add flags.h dependency.
2536         * basic-block.h (BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK): New flags.
2537         (VLS_EXPECT_PREHEADERS, VLS_EXPECT_SIMPLE_LATCHES): Removed.
2538         (struct loop, struct loops, flow_loops_find, flow_loops_update,
2539         flow_loops_free, flow_loops_dump, flow_loop_dump,
2540         flow_loop_scan, flow_loop_tree_node_add, flow_loop_tree_node_remove,
2541         LOOP_TREE,,LOOP_PRE_HEADER, LOOP_ENTRY_EDGES, LOOP_EXIT_EDGES,
2542         LOOP_ALL, flow_loop_outside_edge_p, flow_loop_nested_p,
2543         flow_bb_inside_loop_p, get_loop_body, loop_preheader_edge,
2544         loop_latch_edge, add_bb_to_loop, remove_bb_from_loops,
2545         find_common_loop, verify_loop_structure): Declarations moved to ...
2546         * cfgloop.h: New file.
2547         * bb-reorder.c (reorder_basic_blocks): Modified.
2548         * cfglayout.c: Include cfgloop.h.
2549         (cleanup_unconditional_jumps, cfg_layout_redirect_edge,
2550         cfg_layout_duplicate_bb, cfg_layout_initialize): Update loop structure.
2551         (break_superblocks): New static function.
2552         (cfg_layout_finalize): Use it.
2553         (cfg_layout_split_block): New function.
2554         * cfglayout.h (struct reorder_block_def): Add copy and duplicated
2555         fields.
2556         (cfg_layout_initialize, cfg_layout_redirect_edge): Declaration
2557         changed.
2558         (cfg_layout_split_block): Declare.
2559         * cfgloop.c: Include cfgloop.h and flags.h.
2560         (flow_loop_dump, flow_loops_free, flow_loop_exit_edges_find,
2561         get_loop_body): Avoid signed versus unsigned comparison warnings.
2562         (make_forwarder_block, flow_loops_find, loop_preheader_edge,
2563         loop_latch_edge): Modified.
2564         (verify_loop_structure): Modified to use flags stored in loop structure;
2565         check irreducible loops.
2566         (cancel_loop, cancel_loop_tree): New functions.
2567         (estimate_probability): Use loop analysis code for predictions.
2568         (estimate_loops_at_level):  Avoid signed versus unsigned comparison
2569         warnings.
2570         * doloop.c: Include cfgloop.h.
2571         * loop.c: Include cfgloop.h.
2572         * predict.c: Include cfgloop.h.
2573         * toplev.c: Include cfgloop.h.
2574         * unroll.c: Include cfgloop.h.
2575         * tracer.c (tracer): Modified.
2576
2577 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2578
2579         * config/h8300/h8300.c (get_shift_alg): Fix a typo.
2580
2581 2003-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
2582
2583         * configure.in (HAVE_AS_TLS): Add s390-*-* and s390x-*-* cases.
2584         * configure: Regenerate.
2585
2586         * config/s390/s390-protos.h (tls_symbolic_operand): Add prototype.
2587         (tls_symbolic_reference_mentioned_p): Add prototype.
2588         (s390_tls_get_offset): Add prototype.
2589         (emit_pic_move): Remove prototype, replace by ...
2590         (emit_symbolic_move): .. this new prototype.
2591
2592         * config/s390/s390.c (TARGET_HAVE_TLS): Conditionally define.
2593         (tls_model_chars): New global variable.
2594         (s390_encode_section_info): Encode TLS model.
2595         Use targetm.binds_local_p to check for local symbols.
2596         (s390_strip_name_encoding): New function.
2597         (TARGET_STRIP_NAME_ENCODING): Define.
2598
2599         (get_thread_pointer): New function.
2600         (legitimize_tls_address): New function.
2601         (legitimize_address): Call it.
2602         (emit_pic_move): Remove, replace by ...
2603         (emit_symbolic_move): ... this new function.
2604
2605         (larl_operand): Handle TLS operands.
2606         (legitimate_constant_p): Likewise.
2607         (s390_decompose_address): Likewise.
2608         (s390_cannot_force_const_mem): New function.
2609         (TARGET_CANNOT_FORCE_CONST_MEM): Define.
2610
2611         (s390_output_symbolic_const): Handle TLS unspecs.
2612         (print_operand): New code 'J'.
2613         (machine_function): Add struct member 'some_ld_name'.
2614         (get_some_local_dynamic_name, get_some_local_dynamic_name_1): New.
2615
2616         (enum s390_builtin): New type.
2617         (code_for_builtin_64, code_for_builtin_31): New global variables.
2618         (s390_init_builtins, s390_expand_builtin): New functions.
2619         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
2620
2621         * config/s390/s390.h (TLS_SYMBOLIC_CONST): New macro.
2622         (ASM_OUTPUT_LABELREF): Define.
2623         (ASM_OUTPUT_SPECIAL_POOL_ENTRY): Handle TLS constants.
2624
2625         * config/s390/s390.md: Define TLS UNSPEC constants.
2626         ("movdi", "movsi"): Handle TLS operands.
2627         ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): New insns.
2628         ("*tls_load_64", "*tls_load_31"): New insns.
2629         ("call_value_tls", "call_value_tls_exp"): New expanders.
2630         ("brasl_tls", "bras_tls", "basr_tls_64", "basr_tls_31",
2631         "bas_tls_64", "bas_tls_31"): New insns.
2632
2633 2003-01-24  Nathan Sidwell  <nathan@codesourcery.com>
2634
2635         * config/rs6000/rs6000.c (rs6000_parse_abi_options): Make sure
2636         spe ABI is configured, if requested.
2637
2638 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2639
2640         * doc/passes.texi: Fix typo.
2641
2642 2003-01-24  Andreas Schwab  <schwab@suse.de>
2643
2644         * stor-layout.c (excess_unit_span): Only define if used.
2645
2646 2003-01-24  Jerry Quinn  <jlquinn@optonline.net>
2647
2648         * gcc/doc/invoke.texi (Optimization Options): List -O levels
2649         for each optimization flag.
2650
2651 2003-01-24  Kazu Hirata  <kazu@cs.umass.edu>
2652
2653         * config/h8300/h8300.md (*andsi3_ashift_n_lower): New.
2654
2655 2003-01-24  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2656
2657         * doc/bugreport.texi: Use @command instead of @code for commands.
2658         * doc/collect2.texi: Likewise.
2659         * doc/headerdirs.texi: Likewise.
2660         * doc/invoke.texi: Likewise.
2661         * doc/standards.texi: Likewise.
2662         * doc/tm.texi: Likewise.
2663         * doc/trouble.texi: Likewise.
2664
2665 2003-01-24  Nick Clifton  <nickc@redhat.com>
2666
2667         * config/arm/arm.c (use_return_insn): Do not use a single return
2668         instruction for interrupt handelrs which have to create a stack
2669         frame.
2670         (arm_expand_prologue): Do not pre-bias the return address of
2671         interrupt handlers which create a stack frame.
2672
2673 2003-01-24  Nick Clifton  <nickc@redhat.com>
2674
2675         * Add sh2e support:
2676
2677         2002-08-12  Alexandre Oliva  <aoliva@redhat.com>
2678
2679                 * config/sh/sh.c (output_branch) [TARGET_SH2E]: Handle
2680                 med_cbranches.  Fix logic in short_cbranches.
2681
2682         2002-04-03  Alexandre Oliva  <aoliva@redhat.com>
2683
2684                 * config/sh/sh.md (delay for cbranch): Don't annul delay
2685                 slots on SH2e.
2686                 * config/sh/sh.c (sh_insn_length_adjustment): Add 2 for
2687                 cbranch with unfilled delay slot on SH2e.
2688                 (output_branch): Fill with a nop the delay slot of a
2689                 branch that required a delay slot but didn't get one.
2690
2691         2002-04-02  Alexandre Oliva  <aoliva@redhat.com>
2692
2693                 * doc/invoke.texi (SH options): Document -m2e.
2694                 * config/sh/crt1.asm: Add __SH2E__ Next to __SH3E__.
2695                 * config/sh/lib1funcs.asm: Likewise.
2696                 * config/sh/sh.c: Replace all uses of TARGET_SH3E with SH2E.
2697                 * config/sh/sh.h (CPP_SPEC): Define __SH2E__ for -m2e, and
2698                 not __sh1__.
2699                 (CONDITIONAL_REGISTER_USAGE): Don't disable FP regs from
2700                 SH2E up.
2701                 (SH3E_BIT): Renamed to...
2702                 (SH_E_BIT): ... this.  Replace all uses.
2703                 (TARGET_SH2E): Define from SH_E_BIT and TARGET_SH2.
2704                 Replace all uses of TARGET_SH3E with TARGET_SH2E.
2705                 (TARGET_SWITCHES): Added 2e.
2706                 (OVERRIDE_OPTIONS): Set sh_cpu for SH2E.
2707                 (processor_type): Added PROCESSOR_SH2E.
2708                 * config/sh/sh.md: Replace all uses of TARGET_SH3E with
2709                 TARGET_SH2E, except in sqrtsf2_i.
2710                 (attribute cpu): Added sh2e.
2711                 * config/sh/t-sh (MULTILIB_OPTIONS): Replace m3e with m2e.
2712                 (MULTILIB_MATCHES): Use m2e multilib for m3e.
2713                 * config.gcc: Add sh2e target support.
2714
2715 2003-01-24  Phil Edwards  <pme@gcc.gnu.org>
2716
2717         Rename -W to -Wextra.
2718         * c-decl.c:  Update comments.
2719         * c-typeck.c:  Likewise.
2720         * flags.h:  Likewise.
2721         * function.c:  Likewise.
2722         * stmt.c:  Likewise.
2723         * toplev.c:  Update comments.
2724         (W_options):  Add 'extra'.
2725         (display_help):  Remove '-W'.
2726         (decode_W_option):  Special warn_uninitialized treatment in the case
2727         of -Wextra.
2728         * doc/invoke.texi:  Update with new entries.
2729
2730 2003-01-23  Richard Henderson  <rth@redhat.com>
2731
2732         * ifcvt.c (noce_process_if_block): Re-add check vs X being changed
2733         in no-else-block case.  Add commentary.
2734
2735 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2736
2737         * configure.in: Revert last change.
2738
2739 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2740
2741         * configure.in: Don't include ansidecl.h in tconfig.h.
2742         * gcov-io.h (PARAMS, ATTRIBUTE_UNUSED: Define if IN_LIBGCC2.
2743         * unwind-dw2-fde.h (last_fde): Use __attribute__, not
2744         ATTRIBUTE_UNUSED.
2745
2746         * configure: Regenerate.
2747
2748 2003-01-23  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2749
2750         PR java/6748
2751         * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Don't destroy
2752         regs->nip. Fix rt_sigreturn frame layout. Add support for newer
2753         kernels.
2754
2755 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2756
2757         * cpplex.c (cpp_interpret_charconst): Squelch warning with cast.
2758
2759 2003-01-23  Ulrich Weigand  <uweigand@de.ibm.com>
2760
2761         * genattrtab.c (write_attr_get): Mark 'insn' paramter
2762         as ATTRIBUTE_UNUSED.
2763
2764 2003-01-23  Richard Earnshaw  <rearnsha@arm.com>
2765
2766         * arm.c (thumb_base_register_rtx_p): New function.
2767         (thumb_index_register_rtx_p): New function.
2768         (thumb_legitimate_address_p): New function.
2769         (thumb_legitimate_offset_p): New function.
2770         * arm.h (REG_STRICT_P): Define according to setting of REG_OK_STRICT.
2771         (ARM_GO_IF_LEGITIMATE_ADDRESS): Use REG_STRICT_P to avoid duplicate
2772         definitions.
2773         (THUMB_GO_IF_LEGITIMATE_ADDRESS): Use thumb_legitimate_address_p.
2774         (THUMB_LEGITIMATE_OFFSET): Delte.
2775         (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Use thumb_legitimate_offset.
2776         * arm-protos.h (thumb_legitimate_address_p): Add prototype.
2777         (thumb_legitimate_offset_p): Likewise.
2778
2779 2003-01-23  Andreas Schwab  <schwab@suse.de>
2780
2781         * unwind.h (_Unwind_GetTextRelBase): Mark parameter as unused.
2782
2783 2003-01-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2784
2785         * fixinc/Makefile.in (FL_LIST): Revert last change.
2786
2787 2003-01-23  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
2788
2789         PR other/7341
2790         * invoke.texi (ftest-coverage): Fix broken cross-reference.
2791         Change @code to @command for gcov command.
2792
2793         * gcc.texi: Adjust title of gcov section.
2794         Adjust copyright.
2795         * gcov.texi: Likewise.
2796
2797 2003-01-22  Roger Sayle  <roger@eyesopen.com>
2798
2799         PR optimization/8423
2800         * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when
2801         its argument is constant, or 0 if !flag_gcse.
2802         * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1
2803         if it's argument is constant.
2804         * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes.
2805         (hash_scan_set): Don't record CONSTANT_P_RTX expressions.
2806         (do_local_cprop): Don't propagate CONSTANT_P_RTX constants.
2807         * builtins.c (purge_builtin_constant_p): New function to force
2808         instantiation of any remaining CONSTANT_P_RTX nodes.
2809         * rtl.h (purge_builtin_constant_p): Prototype here.
2810         * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p
2811         pass after GCSE and before loop.
2812         (flag_gcse): No longer static.
2813         * flags.h (flag_gcse): Prototype here.
2814
2815 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
2816
2817         * config/s390/s390.h (HARD_REGNO_MODE_OK): Fix warning regression
2818         introduced by last change.
2819
2820 2003-01-22  Andreas Schwab  <schwab@suse.de>
2821
2822         * ra-rewrite.c (rewrite_program2): Initialize bb to avoid warning.
2823
2824 2003-01-22  Kazu Hirata  <kazu@cs.umass.edu>
2825
2826         * config/h8300/h8300.c (h8300_shift_needs_scratch_p): Don't
2827         request a scratch reg on H8S when the shift count is 8.
2828
2829 2003-01-22  Ulrich Weigand  <uweigand@de.ibm.com>
2830
2831         * config/s390/s390-protos.h (preferred_la_operand_p):
2832         Remove second parameter.
2833         * config/s390/s390.c (preferred_la_operand_p): Likewise.
2834         * config/s390/s390.h (FRAME_REGNO_P, FRAME_REG_P): New macros.
2835         (HARD_REGNO_MODE_OK): Use FRAME_REGNO_P.
2836         * config/s390/s390.md ("*la_cc_64", "*la_cc_31", splitters): Remove.
2837         Add peepholes to transform ADD to LOAD ADDRESS.
2838
2839 2003-01-22  Richard Earnshaw  <rearnsha@arm.com>
2840
2841         * arm.c (arm_address_register_rtx_p): New function.
2842         (arm_legitimate_address_p): New function.
2843         (arm_legitimate_index_p): New function.
2844         (legitimize_pic_address): Use arm_legitimate_index_p.
2845         * arm-protos.h (arm_legtimate_address_p): Add prototype.
2846         * arm.h (ARM_GO_IF_LEGITIMATE_INDEX): Delete.
2847         (ARM_GO_IF_LEGITIMATE_ADDRESS): Call arm_legitimate_address_p.
2848
2849 2003-01-22  Hartmut Penner  <hpenner@de.ibm.com>
2850
2851         * config/s390/s390.md (floatdfdi2): Insn has type 'itof'.
2852         * config/s390/2064.md (define_bypass): Correct 'Load' and
2853         'Load-address' bypass values.
2854
2855 2003-01-22  Andreas Schwab  <schwab@suse.de>
2856
2857         * config/ia64/t-ia64 (insn-attrtab.o-warn): Define as -Wno-error.
2858
2859 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2860
2861         * genautomata.c (output_internal_insn_latency_func,
2862         output_print_reservation_func): Short circuit when there is no
2863         automaton to generate code for.
2864
2865 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2866
2867         * Makefile.in (ssa-ccp.o): Depend on coretypes.h $(TM_H).
2868         (df.o): Delete duplicate dependency on coretypes.h $(TM_H).
2869
2870 2003-01-21  Geoffrey Keating  <geoffk@apple.com>
2871
2872         * config/rs6000/rs6000.md: Remove warning.
2873         (builtin_setjmp_receiver): Likewise.
2874         * config/darwin.c (update_stubs): Slightly improve terrible hack
2875         with identifiers.  Add comment pointing out problems with it.
2876         (update_non_lazy_ptrs): Likewise.
2877
2878 2003-01-21  Richard Henderson  <rth@redhat.com>
2879
2880         * dwarf2out.c (lookup_filename): Fix printf format warning.
2881         * system.h (fread_unlocked, fwrite_unlocked): Undef.
2882
2883         * fixinc/Makefile.in (FL_LIST): Add $($@-warn) hook.
2884         (fixincl.o-warn, gnu-regex.o-warn): New.
2885         * fixinc/fixfixes.c (FIX_PROC_HEAD): Mark parameters unused.
2886         * fixinc/fixtests.c (TEST_FOR_FIX_PROC_HEAD): Likewise.
2887         * fixinc/fixincl.c (process): Fix printf format warning.
2888
2889 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
2890
2891         * dwarf2out (output_file_names): Don't crash if called
2892         with empty file_table.
2893
2894 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2895
2896         * genautomata.c (output_internal_insn_latency_func): Add
2897         missing break statement to generated code.
2898
2899 2003-01-21  Roger Sayle  <roger@eyesopen.com>
2900
2901         * stmt.c (same_case_target_p): New function to determine whether
2902         two case labels branch to the same target.  Split out from...
2903         (group_case_nodes): ... here.  Use same_case_target_p instead.
2904         (strip_default_case_nodes): Remove explicit case nodes
2905         that branch to the default destination.
2906         (expand_end_case_type): Call strip_default_case_nodes after
2907         group_case_nodes, to simplify the case-list before we count it.
2908         Only generate table_label RTX when actually needed.  Try to share
2909         thiscase->exit_label and thiscase->data.case_stmt.default_label
2910         when a switch has no explicit default case.  Simplify test for
2911         constant index.
2912
2913 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
2914
2915         * config/h8300/h8300.md (*negsf2_h8300): Use \\t instead of
2916         \t.
2917         (*negsf2_h8300hs): Likewise.
2918         (*addsi3_lshiftrt_16_zexthi): Likewise.
2919         (*iorhi3_lshiftrt_8): Likewise.
2920
2921 2003-01-21  Ulrich Weigand  <uweigand@de.ibm.com>
2922
2923         * dwarf2out.c (fde_table_in_use): Mark GTY.
2924         (dwarf2out_cfi_label_num): New variable, marked GTY.
2925         (dwarf2out_cfi_label): Use it instead of static label_num.
2926         * emit-rtl.c (label_num): Mark GTY.
2927
2928 2003-01-21  Kazu Hirata  <kazu@cs.umass.edu>
2929
2930         * config/h8300/h8300.c (output_plussi): Support H8/300.
2931         (compute_plussi_length): Likewise.
2932         (compute_plussi_cc): Likewise.
2933         * config/h8300/h8300.md (addsi_h8300): Use output_plussi to
2934         output assembly instructions.
2935
2936 2003-01-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2937
2938         * calls.c (fix_unsafe_tree): Prototype.
2939
2940         * Makefile.in (GCC_WARN_CFLAGS): Add $(WERROR) $($@-warn)
2941         (gtype-desc.o-warn, c-decl.o-warn, varasm.o-warn, gcc.o-warn,
2942         insn-conditions.o-warn, out_object_file, gengtype-yacc.o-warn,
2943         c-parse.o-warn): Add -Wno-error.
2944         (STAGE2_FLAGS_TO_PASS): Add WERROR="@WERROR@".
2945
2946         * configure.in (--enable-werror): Add new flag.
2947         * doc/install.texi (--enable-werror): Document.
2948         * configure: Regenerate.
2949
2950         * objc/Make-lang.in (objc/objc-parse.o-warn): Add -Wno-error.
2951
2952 2003-01-21  Andreas Schwab  <schwab@suse.de>
2953
2954         * genautomata.c (output_internal_insn_latency_func): Fix missing
2955         close paren in output.
2956
2957 2003-01-21  Zack Weinberg  <zack@codesourcery.com>
2958
2959         * genautomata.c: Space savings in generated code:
2960         (output_dfa_insn_code_func): Split out the table-enlargement
2961         path to an out-of-line static function, dfa_insn_code_enlarge.
2962         (output_internal_insn_latency_func): Use a lookup table for the
2963         default latencies.
2964         (output_print_reservation_func): Use a lookup table for the
2965         strings.
2966
2967 2003-01-21  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
2968
2969         PR opt/7507
2970         * calls.c (fix_unsafe_tree): Split out from ...
2971         (expand_call): ... here.  Use it on the function address too.
2972
2973 2003-01-20  Richard Henderson  <rth@redhat.com>
2974
2975         * expr.h (default_must_pass_in_stack): Move decl outside ifdef.
2976
2977 2003-01-20  Richard Henderson  <rth@redhat.com>
2978
2979         PR opt/7154
2980         * stmt.c (expand_asm_operands): Validize memory operands.
2981
2982 2003-01-20  Richard Henderson  <rth@redhat.com>
2983
2984         PR opt/8848
2985         * ifcvt.c (noce_process_if_block): Correct arguments to
2986         modified_between_p for no-else-block case.
2987
2988 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2989
2990         * config/h8300/h8300.c (const_costs): Remove a warning.
2991         (output_plussi): Likewise.
2992         (compute_plussi_length): Likewise.
2993         (compute_plussi_cc): Likewise.
2994
2995 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
2996
2997         * config/h8300/h8300.md (addsi_h8300): Remove the last
2998         alternative.
2999
3000 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3001
3002         * config/h8300/h8300.c (get_shift_alg): Remove redundant code.
3003
3004 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3005
3006         * system.h (__NO_STRING_INLINES): Define.
3007
3008 2003-01-20  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
3009
3010         * ifcvt.c (noce_emit_store_flag): Don't emit store flag if mode of x
3011         is not a scalar int mode.
3012
3013 2003-01-20  Roger Sayle  <roger@eyesopen.com>
3014
3015         * cse.c (cse_insn): Avoid RTL sharing when updating the RETVAL
3016         insn's notes following a substitution inside a libcall.
3017
3018 2003-01-20  Zack Weinberg  <zack@codesourcery.com>
3019
3020         * configure.in: Check for system-provided 'uchar' type.
3021         * configure, config.in: Regenerate.
3022         * cpphash.h: Only typedef 'uchar' if the system doesn't.
3023
3024 2003-01-20  Richard Henderson  <rth@redhat.com>
3025
3026         * expr.h (MUST_PASS_IN_STACK): Move implementation...
3027         * calls.c (default_must_pass_in_stack): ... here.
3028
3029 2003-01-20  Vladimir Makarov  <vmakarov@redhat.com>
3030
3031         * genattrtab.h (INSN_ALTS_FUNC_NAME): Move it from genautomata.c.
3032
3033         * genautomata.c (INSN_ALTS_FUNC_NAME): Move it into genattrtab.h.
3034
3035         * genattr.c (main): Output default definition of AUTOMATON_ALTS.
3036         Wrap up definition of `insn_alts'.
3037
3038         * genattrtab.c (main): Wrap up `insn_alts'.
3039
3040 2003-01-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3041
3042         * collect2.c (ldgetname): Check HAVE_DECL_LDGETNAME before
3043         prototyping.
3044         * configure.in: Check for <ldfcn.h> and ldgetname() prototype.
3045
3046         * config.in, configure: Regenerate.
3047
3048 2003-01-20  Nick Clifton  <nickc@redhat.com>
3049
3050         * config/arm/arm.md (sibcall_epilogue): Add an
3051         UNSPEC_PROLOGUE_USE to prevent the link register from being
3052         considered dead.
3053
3054 Mon Jan 20 14:36:23 CET 2003  Jan Hubicka  <jh@suse.cz>
3055
3056         * i386.md (SSE cmov splitter):  Handle memory operand in operand 5.
3057
3058 2003-01-20  Andreas Schwab  <schwab@suse.de>
3059
3060         * system.h: Don't declare strsignal if the decl test hasn't been
3061         run yet.
3062
3063 2003-01-20  Kazu Hirata  <kazu@cs.umass.edu>
3064
3065         * config/h8300/h8300.c (notice_update_cc): Don't assume that
3066         recog_data.operands[0] is always associated with cc0.
3067
3068 2003-01-19  David Edelsohn  <edelsohn@gnu.org>
3069
3070         * collect2.c (ldgetname): Expand declaration to prototype.
3071         * read-rtl.c (atoll): Add prototype.
3072         * system.h (strsignal): Also declare if no declaration found.
3073
3074 2003-01-19  Alexandre Oliva  <aoliva@redhat.com>
3075
3076         * config.gcc (mips64*-*-linux*): Added.
3077         * config/mips/linux64.h, config/mips/t-linux64: New file.
3078         * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define.
3079         * config/mips/mips.c (override_options): Use it.
3080         * config/mips/mips.h (TARGET_SWITCHES): Added...
3081         (SUBTARGET_TARGET_SWITCHES): New, empty by default.
3082         * Makefile.in (SPECS): New.
3083         (STAGESTUFF, specs, mostlyclean, install-common): Use it.
3084         * gcc.c (process_command): Move self-spec processing past spec
3085         file loading.
3086         * doc/tm.texi (DRIVER_SELF_SPECS): Document the change.
3087         * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for
3088         CRTSTUFF_T_CFLAGS.
3089         (SPECS): Document.
3090         * doc/invoke.texi (-mabi-fake-default): Document.
3091
3092 2003-01-19  Stephane Carrez  <stcarrez@nerim.fr>
3093
3094         * config/m68hc11/m68hc11.c (stack_push_word, stack_pop_word,
3095         z_reg, z_reg_qi): Declare static and GTY().
3096         (da_reg): Remove.
3097         (create_regs_rtx): Don't create da_reg.
3098         ("gt-m68hc11.h"): Include for GTY roots.
3099         * config/m68hc11/m68hc11.h (ix_reg, iy_reg, d_reg): Declare extern
3100         and GTY() here.
3101         (m68hc11_compare_op0, m68hc11_compare_op1): Likewise.
3102         (m68hc11_soft_tmp_reg): Likewise.
3103         * config/m68hc11/m68hc11-protos.h: Remove above declarations.
3104
3105 2003-01-18  Kazu Hirata  <kazu@cs.umass.edu>
3106
3107         * basic-block.h: Fix comment formatting.
3108         * calls.c: Likewise.
3109         * combine.c: Likewise.
3110         * convert.c: Likewise.
3111         * gcov.c: Likewise.
3112         * haifa-sched.c: Likewise.
3113         * libgcc2.c: Likewise.
3114         * loop.c: Likewise.
3115         * profile.c: Likewise.
3116         * system.h: Likewise.
3117
3118 2003-01-18  Roger Sayle  <roger@eyesopen.com>
3119
3120         * config/pa/pa.md (muldi3): Avoid invalid sharing of SUBREG RTXs.
3121
3122 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3123
3124         * ra-build.c (undef_to_size_word): Avoid `switch' warning.
3125
3126 2003-01-17  Dale Johannesen  <dalej@apple.com>
3127
3128         * config/rs6000/rs6000.md (*floatsidf2_internal):  Add earlyclobbers.
3129           (*floatunssidf2_internal):  Ditto.
3130
3131 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3132
3133         * alias.c: Fix comment typos.
3134         * basic-block.h: Likewise.
3135         * c-common.c: Likewise.
3136         * c-common.h: Likewise.
3137         * c-decl.c: Likewise.
3138         * c-opts.c: Likewise.
3139         * c-pragma.c: Likewise.
3140         * c-pretty-print.h: Likewise.
3141         * cfg.c: Likewise.
3142         * cfganal.c: Likewise.
3143         * cfgbuild.c: Likewise.
3144         * cfgcleanup.c: Likewise.
3145         * cfglayout.c: Likewise.
3146         * cfgrtl.c: Likewise.
3147         * convert.c: Likewise.
3148         * cpphash.h: Likewise.
3149         * cpplex.c: Likewise.
3150         * cpplib.h: Likewise.
3151         * df.h: Likewise.
3152         * diagnostic.c: Likewise.
3153         * diagnostic.h: Likewise.
3154         * dwarf2.h: Likewise.
3155
3156 2003-01-17  Stan Shebs  <shebs@apple.com>
3157
3158         * config/darwin-protos.h: Forward-declare struct cpp_reader.
3159
3160 2003-01-17  Douglas B Rupp  <rupp@gnat.com>
3161
3162         * config/alpha/alpha.c (alpha_need_linkage): Fix obvious
3163         mistake in last checkin.
3164
3165 2003-01-17  Kazu Hirata  <kazu@cs.umass.edu>
3166
3167         * et-forest.c: Fix comment typos.
3168         * et-forest.h: Likewise.
3169         * except.c: Likewise.
3170         * expr.c: Likewise.
3171         * flags.h: Likewise.
3172         * flow.c: Likewise.
3173         * gcc.c: Likewise.
3174         * gcse.c: Likewise.
3175         * genattrtab.c: Likewise.
3176         * genautomata.c: Likewise.
3177         * gengtype.c: Likewise.
3178         * genrecog.c: Likewise.
3179         * global.c: Likewise.
3180         * gthr-rtems.h: Likewise.
3181
3182 2003-01-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3183
3184         * i386.c (x86_function_profiler): Fix format specifier.
3185
3186 2003-01-17  Richard Henderson  <rth@redhat.com>
3187
3188         * gengtype.c (walk_type): Allow paramN_is.
3189
3190 2003-01-17  Nick Clifton  <nickc@redhat.com>
3191
3192         * config/i960/t-960bare (i960-c.o): Add missing newline escape.
3193
3194 2003-01-16  Richard Henderson  <rth@redhat.com>
3195
3196         * config/alpha/linux-elf.h (LIB_SPEC): Adjust inter-option spacing.
3197
3198 2003-01-16  Richard Henderson  <rth@redhat.com>
3199
3200         * config/alpha/alpha.c (alpha_sr_alias_set): Mark GTY.
3201         (alpha_next_sequence_number): Likewise.
3202         (alpha_this_literal_sequence_number): Likewise.
3203         (alpha_this_gpdisp_sequence_number): Likewise.
3204         (struct alpha_funcs, alpha_funcs_num): Likewise.
3205         (struct alpha_links): Fix branch merge error.
3206         (alpha_need_linkage, alpha_use_linkage): Use GC for alpha_funcs.
3207
3208 2003-01-17  Alexandre Oliva  <aoliva@redhat.com>
3209
3210         * config/mips/mips.h: Don't use #elif.  Reported by Kaveh
3211         R. Ghazi.
3212
3213 2003-01-16  Kazu Hirata  <kazu@cs.umass.edu>
3214
3215         * ifcvt.c: Fix comment typos.
3216         * lcm.c: Likewise.
3217         * libgcc2.c: Likewise.
3218         * local-alloc.c: Likewise.
3219         * loop.c: Likewise.
3220         * predict.c: Likewise.
3221         * ra-build.c: Likewise.
3222         * ra.c: Likewise.
3223         * ra-colorize.c: Likewise.
3224         * ra.h: Likewise.
3225         * ra-rewrite.c: Likewise.
3226         * regmove.c: Likewise.
3227         * reload.h: Likewise.
3228         * rtlanal.c: Likewise.
3229         * toplev.c: Likewise.
3230         * tree.h: Likewise.
3231         * unwind-dw2-fde-glibc.c: Likewise.
3232         * vmsdbgout.c: Likewise.
3233
3234 2003-01-16  Richard Henderson  <rth@redhat.com>
3235
3236         * dwarf2out.c (struct file_table): Remove.
3237         (FILE_TABLE_INCREMENT): Remove.
3238         (file_table): Make a varray; mark for GC.  Update all users.
3239         (file_table_last_lookup_index): Extract from struct file_table.
3240         (output_file_names): Fix unsigned compare warnings.
3241         (add_name_attribute): Remove inline marker.
3242         (add_comp_dir_attribute): Split out from gen_compile_unit_die.
3243         (lookup_filename): Don't manage size of file_table.
3244         (init_file_table): Allocate file_table with GC.
3245         (dwarf2out_init): Don't record main_input_filename here.
3246         (dwarf2out_finish): Do it here instead.
3247
3248 2003-01-16  Bruce Korb  <bkorb@gnu.org>
3249
3250         * gcc/fixinc/inclhack.def(limits_ifndef): QNX needs a bypass, too.
3251
3252 2003-01-16  Kaz Kojima  <kkojima@gcc.gnu.org>
3253
3254         * config/sh/sh.c (sh_initialize_trampoline): Emit rotrdi3_mextr
3255         instead of rotldi3_mextr.
3256
3257 2003-01-16  Vladimir Makarov  <vmakarov@redhat.com>
3258
3259         * haifa-sched.c (move_insn): Restore moving all schedule group.
3260         (set_priorities): Restore taking SCHED_GROUP_P into account.
3261
3262         * sched-deps.c (add_dependence): Restore processing the last group
3263         insn.
3264         (remove_dependence, group_leader): Restore the functions.
3265         (set_sched_group_p): Restore adding dependencies from previous insn
3266         in the group.
3267         (compute_forward_dependences): Restore usage of group_leader.
3268
3269         * sched-ebb.c (init_ready_list): Restore taking SCHED_GROUP_P into
3270         account.
3271
3272         * sched-rgn.c (init_ready_list): Restore taking SCHED_GROUP_P into
3273         account.
3274         (can_schedule_ready_p): Ditto.
3275         (add_branch_dependences): Restore skipping over the group insns.
3276
3277 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3278
3279         * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix handling
3280         68HC12 pre/post inc/dec side effects.
3281
3282 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3283
3284         * config/m68hc11/m68hc11.h (MASK_M6812): Define.
3285
3286 Thu Jan 16 21:50:25 2003  J"orn Rennecke <amylaar@onetel.net.uk>
3287
3288         * sh.md (mshflo_w_x): Fix description of operation.
3289
3290 2003-01-16  Zack Weinberg  <zack@codesourcery.com>
3291
3292         * config/rs6000/rs6000.h: Mention Altivec registers in
3293         commentary.  Fix typo.
3294
3295 2003-01-16  David Edelsohn  <edelsohn@gnu.org>
3296
3297         * config/rs6000/rs6000.md (movti_string): Remove clobber.
3298         * config/rs6000/rs6000.c (rs6000_emit_move, TImode): Explicitly
3299         generate PARALLEL with clobber for TARGET_POWER.
3300
3301 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3302
3303         * ra-colorize.c (colorize_one_web): Initialize variable.
3304         * regmove.c (fixup_match_1): Likewise.
3305         * reload1.c (reload_as_needed): Likewise.
3306         * sdbout.c (SET_KNOWN_TYPE_TAG): Add cast.
3307
3308 2003-01-16  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3309
3310         * cfgloop.c (flow_loops_find): Fix handling of abnormal edges.
3311
3312 2003-01-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3313
3314         * dbxout.c (lastfile, cwd): Fix `unused' warning.
3315         * dwarf2out.c (fde_table_in_use, current_funcdef_fde,
3316         dw_cfi_oprnd1_desc, dw_cfi_oprnd2_desc, next_die_offset,
3317         is_main_source, file_table, decl_die_table_in_use,
3318         abbrev_die_table_in_use, line_info_table_in_use,
3319         separate_line_info_table_in_use, pubname_table_in_use,
3320         arange_table_in_use, ranges_table_in_use,
3321         current_function_has_inlines): Likewise.
3322         * flow.c (life_analysis): Likewise.
3323         * genemit.c (gen_insn): Likewise.
3324         * protoize.c (cplus_suffix): Likewise.
3325
3326         * arm.c (ROUND_UP_WORD): Renamed from ROUND_UP.
3327         * arm.h (ROUND_UP_WORD): Likewise.
3328
3329         * arm.h (CONDITIONAL_REGISTER_USAGE): Avoid signed/unsigned
3330         warning.
3331         * emit-rtl.c (gen_rtx_REG, set_mem_attributes_minus_bitpos,
3332         init_emit_once): Likewise.
3333         * flow.c (mark_regs_live_at_end, calculate_global_regs_live):
3334         Likewise.
3335         * function.c (assign_stack_temp_for_type): Likewise.
3336         * loop.c (loop_invariant_p): Likewise.
3337         * recog.c (push_operand): Likewise.
3338         * regclass.c (init_reg_sets_1): Likewise.
3339         * reload.c (update_auto_inc_notes): Likewise.
3340         * reload1.c (reload_as_needed, emit_input_reload_insns): Likewise.
3341         * stmt.c (expand_asm_operands): Likewise.
3342         * stor-layout.c (start_record_layout): Likewise.
3343
3344 2003-01-16  Herman A.J. ten Brugge <hermantenbrugge@home.nl>
3345
3346         * config/c4x/c4x.md (epilogue): Correct last patch.
3347
3348 2003-01-15  Richard Henderson  <rth@redhat.com>
3349
3350         * config/alpha/alpha.c (find_lo_sum_using_gp): Rename from find_lo_sum;
3351         also check that GP is being used.
3352         (alpha_find_lo_sum_using_gp): New.
3353         (alpha_does_function_need_gp): Use get_attr_usegp.
3354         * config/alpha/alpha-protos.h: Update.
3355         * config/alpha/alpha.md (attr usegp): New.  Annotate patterns
3356         as needed.
3357
3358 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3359
3360         * gcse.c (one_cprop_pass): Change function arguments to take both
3361         cprop_jumps and bypass_jumps flags instead of just alter_jumps.
3362         (gcse_main): Update calls to one_cprop_pass, disabling bypassing.
3363         (bypass_jumps): New function to perform separate jump bypassing pass.
3364         * rtl.h (bypass_jumps): Add function prototype.
3365         * timevar.def (TV_BYPASS): New timing variable.
3366         * toplev.c (enum dump_file_index): Add new entry DFI_bypass.
3367         (dump_file): New entry for the bypass RTL dump file.
3368         (rest_of_compilation): Insert new jump bypassing optimization
3369         pass after loop.
3370         * doc/passes.texi: Document new pass.
3371
3372 2003-01-15  John David Anglin  <dave@hiauly1.hia.nrc.ca>
3373
3374         * som.h (SUPPORTS_WEAK, SUPPORTS_ONE_ONLY, MAKE_DECL_ONE_ONLY,
3375         ASM_WEAKEN_LABEL, GTHREAD_USE_WEAK): Define.
3376         * pa.h (TARGET_SOM_SDEF): Define.
3377         * pa-hpux11.h (TARGET_SOM_SDEF): Define.
3378
3379 2003-01-16  Stephane Carrez  <stcarrez@nerim.fr>
3380
3381         * config/m68hc11/m68hc11.c (expand_prologue): Use push/pop to
3382         allocate 4-bytes of locals on 68HC11.
3383         (expand_epilogue): Likewise.
3384         (m68hc11_memory_move_cost): Increase cost of HI/QI soft registers.
3385
3386 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3387
3388         * config/m68hc11/m68hc11.h (ASM_SPEC): Handle -m68hcs12; Pass -mshort
3389         and -mshort-double to the assembler to specify the ABI.
3390         (LINK_SPEC): Likewise.
3391         (CPP_SPEC): Pass HCS12 specific define.
3392         (MASK_M68S12): New define.
3393         (TARGET_M68S12): Likewise.
3394         (TARGET_SWITCHES): New options -m68hcs12 and -m68S12.
3395         (TARGET_VERSION): Update.
3396         * config/m68hc11/m68hc12.h (CPP_SPEC): Pass HCS12 specific define.
3397         (LINK_SPEC): Update.
3398         (ASM_SPEC): Update.
3399         * config/m68hc11/m68hc11.c (m68hc11_asm_file_start): Update.
3400         * doc/invoke.texi (M68hc1x Options): Document -m68hcs12.
3401
3402 2003-01-15  Stephane Carrez  <stcarrez@nerim.fr>
3403
3404         * config/m68hc11/m68hc11.md ("return"): Use emit_jump_insn to emit
3405         the return code.
3406
3407 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3408
3409         * cfganal.c (set_edge_can_fallthru_flag): Clear the EDGE_CAN_FALLTHRU
3410         flag before setting it.
3411
3412 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3413
3414         * c-semantics.c (genrtl_while_stmt):  Improve initial RTL generation
3415         when loop condition is known true, i.e.  "while (1) { ... }".
3416         (genrtl_for_stmt): Similarly for "for" statements.
3417
3418 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3419
3420         * real.c (real_sqrt): Return a bool result indicating whether
3421         a floating point exception or trap should be raised.
3422         * real.h (real_sqrt): Update function prototype.
3423         * builtins.c (fold_builtin): Only fold non-trapping square
3424         roots unless we're ignoring errno and trapping math.
3425
3426 2003-01-15  John David Anglin  <dave.anglin@nrc.gc.ca>
3427
3428         * expr.h (emit_conditional_add): Add PARAMS to declaration.
3429         * gengtype-lex.l (malloc, realloc): Move defines after include of
3430         system.h.  Remove duplicate include of system.h.
3431
3432 2003-01-15  Roger Sayle  <roger@eyesopen.com>
3433
3434         PR middle-end/9009
3435         * optabs.c (expand_unop):  When manipulating the FP sign bit
3436         using integer operations, account for targets with different
3437         integer and FP word orders.
3438         (expand_abs): Likewise.
3439
3440 2003-01-15  David Edelsohn  <edelsohn@gnu.org>
3441
3442         * config/rs6000/rs6000.c (rs6000_gen_section_name): Do not include
3443         file extension in section name.
3444
3445 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3446
3447         * flow.c (find_auto_inc): Also try to generate a PRE_MODIFY with
3448         constant offset.
3449
3450 2003-01-15  Richard Earnshaw  <rearnsha@arm.com>
3451
3452         * arm.h (HAVE_PRE_MODIFY_DISP, HAVE_PRE_MODIFY_REG): Define.
3453         (HAVE_POST_MODIFY_DISP, HAVE_POST_MODIFY_REG): Define.
3454         (ARM_GO_IF_LEGITIMATE_ADDRESS): Handle pre/post-modify addresses.
3455         (ARM_PRINT_OPERAND_ADDRESS): Likewise.
3456
3457 Wed Jan 15 12:23:21 CET 2003  Jan Hubicka  <jh@suse.cz>
3458
3459         PR f/9258
3460         * global.c (struct allocno): Add no_stack_reg.
3461         (global_conflicts): Set no_stack_reg.
3462         (find_reg): Use it.
3463
3464         * convert.c (convert_to_real): Fold - and abs only when profitable.
3465         * fold-const.c (fold): Fold truncates in - and abs.
3466
3467 2003-01-15  Josef Zlomek  <zlomekj@suse.cz>
3468
3469         Segher Boessenkool  <segher@koffie.nl>
3470
3471         * predict.c (real_inv_br_prob_base): New variable.
3472         (propagate_freq): Use multiply by reciprocal instead of
3473         division.  Don't divide by 1.0 at all.
3474         (estimate_bb_frequencies): Similar.
3475
3476 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3477
3478         * configure.in (libgcc_visibility): Force disabled on IRIX 6 too.
3479         * configure: Rebuilt.
3480
3481 2003-01-15  Hartmut Penner  <hpenner@de.ibm.com>
3482
3483         * config/s390/s390.c (s390_safe_attr_type): New function.
3484         (s390_use_dfa_pipeline_interface): New function, return true for z900.
3485         (s390_issue_rate): New function.
3486         (s390_agen_dep_p): New function.
3487         (addr_generation_dependency_p): Use 's390_safe_attr_type'.
3488         (s390_adjust_cost): Return 'cost' if new DFA is used.
3489         (s390_adjust_priority): Delete function.
3490         * config/s390/s390-protos.h: (s390_agen_dep_p): New prototype.
3491         * config/s390/s390.md (atype attribute): Attribute 'atype' default
3492         determined by 'op_type'.
3493         (type attribute): Added more type attributes.
3494         * config/s390/2064.md: New DFA description for z900 pipeline.
3495
3496 2003-01-15  Alexandre Oliva  <aoliva@redhat.com>
3497
3498         * config/i386/i386.c (ix86_expand_vector_move): Validize constant
3499         forced to memory.  Fixes PR bootstrap/9036.
3500
3501         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Define so as
3502         to set $gp before the call.
3503
3504 2003-01-14  Richard Henderson  <rth@redhat.com>
3505
3506         * config/alpha/alpha.c (alpha_expand_mov): Use correct mode
3507         for force_const_mem.
3508
3509 2003-01-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3510
3511         * genattr.c (main): Rearrange output to avoid prototype warning.
3512         * genautomata.c (transform_3): Fix ambiguous-else warning.
3513         * local-alloc.c (requires_inout): Add parentheses around
3514         assignment used as truth-value.
3515         * timevar.c: Move system includes above local includes.  Include
3516         toplev.h
3517         * Makefile.in (timevar.o): Depend on toplev.h.
3518
3519 2003-01-14  Denis Chertykov  <denisc@overta.ru>
3520
3521         * config/ip2k/ip2k.h (VALID_MACHINE_DECL_ATTRIBUTE): Remove.
3522         (VALID_MACHINE_TYPE_ATTRIBUTE): Remove.
3523
3524         * config/ip2k/ip2k.c (ip2k_attribute_table): New table of
3525         attributes.
3526         (TARGET_ATTRIBUTE_TABLE): New macro.
3527         (valid_machine_type_attribute): Remove.
3528         (valid_machine_decl_attribute): Remove.
3529         (ip2k_handle_progmem_attribute): New function.
3530         (ip2k_handle_fndecl_attribute): New function.
3531
3532 2003-01-10  Andrew Haley  <aph@redhat.com>
3533
3534         * config/i386/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Rename
3535         registers to be in correct order.  Add rip.
3536
3537 2003-01-14  Kazu Hirata  <kazu@cs.umass.edu>
3538
3539         * config/h8300/h8300.md (*andsi3_lshiftrt_9_sb): New.
3540         (*iorsi3_and_lshiftrt_9_sb): Likewise.
3541
3542 Tue Jan 14 00:45:33 CET 2003  Jan Hubicka  <jh@suse.cz>
3543
3544         * convert.c (strip_float_extensions):  Look for narrowest type handling
3545         FP constants.
3546
3547         * fold-const.c (fold):  Fold (double)float1 CMP (double)float2 into
3548         float1 CMP float2.
3549         * convert.c (strip_float_extensions): Make global.
3550         * tree.h (strip_float_extensions): Declare.
3551
3552 2003-01-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
3553
3554         * timevar.def: define TV_NAME_LOOKUP.
3555         * timevar.c (timevar_pop): Be verbose when aborting.
3556
3557 2003-01-13  Andreas Schwab  <schwab@suse.de>
3558
3559         * Makefile.in ($(parsedir)/gengtype-lex.c): Don't change to
3560         $(parsedir), just move the temporary file at the end.
3561         ($(parsedir)/gengtype-yacc.c): Likewise.
3562
3563 2003-01-13  Alexandre Oliva  <aoliva@redhat.com>
3564
3565         * aclocal.m4 (gcc_AC_PROG_GNAT): Don't try to prepend
3566         ${ac_tool_prefix} to ADAC or CC.  Protect them from word
3567         splitting.
3568         * configure: Rebuilt.
3569
3570 2003-01-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3571
3572         * config/sparc/gmon-sol2.c (moncontrol, monstartup, _mcleanup,
3573         internal_mcount): Don't use PARAMS.
3574         (monstartup, _mcleanup, internal_mcount, moncontrol): Convert to
3575         ISO C style.
3576         (internal_mcount): Use __attribute__, not ATTRIBUTE_UNUSED.
3577
3578 2003-01-13  Andreas Schwab  <schwab@suse.de>
3579
3580         * config/rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_LOCAL): Output type
3581         directive.
3582
3583 2003-01-13  Kazu Hirata  <kazu@cs.umass.edu>
3584
3585         * config/h8300/h8300.md (*andsi3_lshift_n_sb): New.
3586         (*iorsi3_and_lshiftrt_n_sb): Likewise.
3587
3588 2003-01-12  Mark Mitchell  <mark@codesourcery.com>
3589
3590         PR c++/9264
3591         * c-lex.c (c_lex): Set the token value to error_mark_node for
3592         invalid numeric constants.
3593
3594 2003-01-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
3595
3596         * c-pch.c (asm_file_startpos): Change to `long'.
3597         (pch_init): Use ftell, not ftello.
3598         (c_common_write_pch): Use ftell/fseek, not ftello/fseeko.
3599         Use `long' instead of `off_t'.
3600         (c_common_read_pch): Likewise.
3601         * ggc-common.c (gt_pch_save): Use long/ftell instead of
3602         off_t/ftello.
3603
3604 2003-01-12  Alan Modra  <amodra@bigpond.net.au>
3605
3606         * expr.c (expand_expr <RDIV_EXPR>): Correct recursive call args.
3607
3608 2003-01-11  Richard Earnshaw  (rearnsha@arm.com)
3609
3610         * arm-protos.h (struct cpp_reader): Add declaration.
3611
3612 Sat Jan 11 11:02:58 CET 2003  Jan Hubicka  <jh@suse.cz>
3613
3614         PR target/9068
3615         * i386.c (output_fp_compare): Fix typo.
3616
3617 2003-01-10  David Edelsohn  <edelsohn@gnu.org>
3618
3619         * config/rs6000/rs6000.c (common_mode_defined): Mark for PCH.
3620
3621 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
3622
3623         * Makefile.in (parsedir): New variable.
3624         (docobjdir): New variable.
3625         (c-parse.o, c-parse.c, c-parse.y, gengtype-lex.o, gengtype-yacc.o,
3626         gengtype-lex.c, gengtype-yacc.c): Use parsedir.
3627         (info, cpp.info, gcc.info, gccint.info, gccinstall.info,
3628         cppinternals.info, generated-manpages, gcov.1, cpp.1, gcc.1, gfdl.7,
3629         gpl.7, fsf-funding.7, maintainer-clean, install-info, install-man):
3630         Use docobjdir.
3631         * objc/Make-lang.in (objc/objc-parse.c, objc/objc-parse.y,
3632         objc.maintainer-clean): Use parsedir.
3633
3634         * varasm.c (struct constant_descriptor_rtx): Remove unused
3635         `label' field.
3636
3637         * toplev.c (documented_lang_options): Document -Winvalid-pch.
3638
3639 2003-01-10  Richard Henderson  <rth@redhat.com>
3640
3641         * config/alpha/alpha.h (NO_PROFILE_COUNTERS): Set.
3642         (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Kill.
3643
3644 2003-01-10  Richard Henderson  <rth@redhat.com>
3645
3646         * combine.c (make_compound_operation): Use SCALAR_INT_MODE_P,
3647         not INTEGRAL_MODE_P when widening extensions.
3648
3649 2003-01-10  Richard Henderson  <rth@redhat.com>
3650
3651         * config/alpha/alpha.c (decl_has_samegp): True for !TREE_PUBLIC.
3652
3653 2003-01-10  Geoffrey Keating  <geoffk@apple.com>
3654
3655         * ggc-page.c (ggc_collect): Avoid overflow computing
3656         min_expand.
3657
3658         * Makefile.in (RANLIB_FOR_TARGET): Use RANLIB when native.
3659         (RANLIB_TEST_FOR_TARGET): Delete.  Don't pass down to sub-makes.
3660         Remove calls.
3661         * mklibgcc.in: Remove uses of RANLIB_TEST_FOR_TARGET.
3662
3663 Fri Jan 10 22:05:35 CET 2003  Jan Hubicka  <jh@suse.cz>
3664
3665         * ifcvt.c (noce_try_addcc): Do not call emit_conditional_add
3666         with weird operands.
3667
3668 2003-01-10  Dale Johannesen <dalej@apple.com>
3669
3670         * calls.c (load_register_parameters):  Add is_sibcall, sibcall_failure
3671         parameters.  Call check_sibcall_argument_overlap if indicated.
3672         (check_sibcall_argument_overlap):  Add mark_stored_args_map
3673         parameter.  Don't mark parameter area as clobbered if not set.
3674         (expand_call):  Adjust calls to above.
3675
3676 2003-01-10 Kelley Cook <kelleycook@comcast.net>
3677
3678         * configure.in (linker read-only and read-write section mixing):
3679         Squelch some assembler warnings.
3680         * configure: Likewise.
3681
3682 2003-01-10  Hartmut Penner  <hpenner@de.ibm.com>
3683
3684         * doc/invoke.texi: Document -mtune, delete -mcpu
3685         option for S/390 and zSeries.
3686         * config/s390/s390.c (s390_tune_string) New variable.
3687         (s390_cpu_string) Delete variable.
3688         (override_options): Use s390_tune_string instead of
3689         s390_cpu_string.
3690         * config/s390/s390.h: (TARGET_OPTIONS) '-mtune' instead of '-mcpu'.
3691
3692 2003-01-10  Kazu Hirata  <kazu@cs.umass.edu>
3693
3694         * config/h8300/h8300.md (*iorsi3_ashift_31): New.
3695
3696 2003-01-10  Josef Zlomek  <zlomekj@suse.cz>
3697
3698         * jump.c (next_nonnote_insn_in_loop): New function.
3699         (copy_loop_headers): Use next_nonnote_insn_in_loop instead of
3700         next_nonnote_insn.
3701         (duplicate_loop_exit_test). Likewise.
3702
3703 2003-01-09  Geoffrey Keating  <geoffk@apple.com>
3704
3705         Merge from pch-branch:
3706
3707         2003-01-06  Geoffrey Keating  <geoffk@apple.com>
3708
3709         * ggc-page.c (ggc_pch_read): Update the statistics after a PCH
3710         load.
3711
3712         2002-12-24  Geoffrey Keating  <geoffk@apple.com>
3713
3714         * cpplib.c (count_registered_pragmas): New function.
3715         (save_registered_pragmas): New function.
3716         (_cpp_save_pragma_names): New function.
3717         (restore_registered_pragmas): New function.
3718         (_cpp_restore_pragma_names): New function.
3719         * cpphash.h (_cpp_save_pragma_names): Prototype.
3720         (_cpp_restore_pragma_names): Likewise.
3721         * cpppch.c (struct save_macro_item): Split from save_macro_data.
3722         (struct save_macro_data): New field 'saved_pragmas'.
3723         (save_macros): Update for changes to struct save_macro_data.
3724         (cpp_prepare_state): Call _cpp_save_pragma_names, update
3725         for changes to struct save_macro_data.
3726         (cpp_read_state): Call _cpp_restore_pragma_names, update
3727         for changes to struct save_macro_data.
3728
3729         * cpppch.c (cpp_read_state): Restore the hashtable references
3730         in the cpp_reader.
3731
3732         * tree.h (built_in_decls): Mark for PCH.
3733
3734         * dbxout.c (lastfile): Don't mark for PCH.
3735
3736         * ggc.h: Document PCH calls into memory managers.
3737
3738         2002-12-18  Geoffrey Keating  <geoffk@apple.com>
3739
3740         * doc/invoke.texi (Precompiled Headers): Document the
3741         directory form of PCH.
3742         * cppfiles.c (validate_pch): New function.
3743         (open_file_pch): Search suitably-named directories for PCH files.
3744
3745         2002-12-14  Geoffrey Keating  <geoffk@apple.com>
3746
3747         * doc/gty.texi (GTY Options): Document chain_next, chain_prev,
3748         reorder options.
3749         (Type Information): Mention that the information is also
3750         used to implement PCH.
3751         * doc/passes.texi (Passes): Improve documentation of
3752         language-specific files.
3753
3754         2002-12-11  Geoffrey Keating  <geoffk@apple.com>
3755
3756         * gengtype.c (struct write_types_data): Add reorder_note_routine field.
3757         (struct walk_type_data): Add reorder_fn field.
3758         (walk_type): Process 'reorder' option.
3759         (write_types_process_field): Reorder parameters to gt_pch_note_object,
3760         call reorder_note_routine.
3761         (write_func_for_structure): Reorder parameters to gt_pch_note_object.
3762         (ggc_wtd): Update for change to struct write_types_data.
3763         (pch_wtd): Likewise.
3764         * ggc.h (gt_pch_note_object): Reorder parameters.
3765         (gt_handle_reorder): New definition.
3766         (gt_pch_note_reorder): New prototype.
3767         * ggc-common.c (struct ptr_data): Add reorder_fn.
3768         (gt_pch_note_object): Reorder parameters.
3769         (gt_pch_note_reorder): New.
3770         (gt_pch_save): Call reorder_fn.
3771         * stringpool.c (gt_pch_n_S): Update for change to gt_pch_note_object.
3772
3773         * dbxout.c (cwd): Don't mark for PCH.
3774
3775         2002-12-09  Geoffrey Keating  <geoffk@apple.com>
3776
3777         * gengtype.c (finish_root_table): Fix some warnings.
3778         (write_root): Handle TYPE_STRING.
3779         * ggc.h (gt_ggc_m_S): Add prototype.
3780         * stringpool.c (gt_ggc_m_S): New function.
3781
3782         2002-11-30  Geoffrey Keating  <geoffk@apple.com>
3783
3784         * dwarf2out.c (dw2_string_counter): New.
3785         (AT_string_form): Use it.
3786         (same_dw_val_p): Update for removal of hashtable.h hash tables.
3787
3788         2002-11-22  Geoffrey Keating  <geoffk@apple.com>
3789
3790         * dbxout.c: Include gt-dbxout.h.
3791         (lastfile): Mark for PCH/GGC.
3792         (cwd): Likewise.
3793         (struct typeinfo): Likewise.
3794         (typevec): Likewise.
3795         (typevec_len): Likewise.
3796         (next_type_number): Likewise.
3797         (struct dbx_file): Likewise.
3798         (current_file): Likewise.
3799         (next_file_number): Likewise.
3800         (dbxout_init): Allocate typevec, struct dbx_file with GGC.
3801         (dbxout_start_source_file): Allocate struct dbx_file with GGC.
3802         (dbxout_end_source_file): Don't free struct dbx_file.
3803         (dbxout_type): Use GGC to allocate typevec.
3804         * Makefile.in (dbxout.o): Depend on gt-dbxout.h, $(GGC_H).
3805         (GTFILES): Add dbxout.c.
3806         (gt-dbxout.h): New rule.
3807
3808         * Makefile.in (c-pch.o): Add debug.h as dependency.
3809         * c-pch.c: Include debug.h.
3810         (pch_init): Call start_source_file to keep nesting right.
3811         (c_common_read_pch): Add orig_name parameter.  Call
3812         start_source_file debug hook.  Call end_source_file debug hook.
3813         * c-common.h (c_common_read_pch): Update prototype.
3814         * cpplib.h (struct cpp_callbacks): Add fourth field to read_pch
3815         callback.
3816         * cppfiles.c (struct include_file): Add new field `header_name'.
3817         (find_or_create_entry): Default it to `name'.
3818         (open_file_pch): Set it to the original header file searched for.
3819         (stack_include_file): Don't stack an empty buffer, just handle
3820         PCH files immediately.  Pass header_name field to read_pch callback.
3821
3822         2002-11-19  Geoffrey Keating  <geoffk@apple.com>
3823
3824         * function.c (funcdef_no): Mark to be saved in a PCH.
3825
3826         2002-11-15  Geoffrey Keating  <geoffk@apple.com>
3827
3828         * ggc-page.c (ggc_pch_read): Remove unused 'bmap_size'.
3829
3830         * cpppch.c (cpp_read_state): Correct size reallocated for 'defn'.
3831
3832         2002-11-14  Geoffrey Keating  <geoffk@apple.com>
3833
3834         * optabs.h (code_to_optab): Add GTY marker.
3835
3836         2002-11-13  Geoffrey Keating  <geoffk@apple.com>
3837
3838         * Makefile.in (GTFILES): Add cpplib.h.
3839         * c-common.h (struct c_common_identifier): Don't skip 'node' field.
3840         * c-decl.c (build_compound_literal): Don't use var_labelno.
3841         * cpplib.h (struct cpp_hashnode): Use gengtype to mark.
3842         * dwarf2asm.c (dw2_force_const_mem): Don't use const_labelno.
3843         * varasm.c (const_labelno): Use gengtype to mark.
3844         (var_labelno): Likewise.
3845         (in_section): Likewise.
3846         (in_named_name): Likewise.
3847         (struct in_named_entry): Likewise.
3848         (in_named_htab): Likewise.
3849         (set_named_section_flags): Use GGC to allocate struct in_named_entry.
3850         (init_varasm_once): Use GGC to allocate in_named_htab.
3851         * config/darwin.c (current_pic_label_num): Mark for PCH.
3852
3853         2002-11-11  Geoffrey Keating  <geoffk@apple.com>
3854
3855         * ggc-simple.c (init_ggc_pch): New stub procedure.
3856         (ggc_pch_count_object): Likewise.
3857         (ggc_pch_total_size): Likewise.
3858         (ggc_pch_this_base): Likewise.
3859         (ggc_pch_alloc_object): Likewise.
3860         (ggc_pch_prepare_write): Likewise.
3861         (ggc_pch_write_object): Likewise
3862         (ggc_pch_finish): Likewise.
3863         (ggc_pch_read): Likewise.
3864
3865         2002-11-08  Geoffrey Keating  <geoffk@apple.com>
3866
3867         * c-pch.c (c_common_write_pch): Write the macro definitions after
3868         the GCed data.
3869         (c_common_read_pch): Call cpp_prepare_state.  Restore the macro
3870         definitions after the GCed data.
3871         * cpplib.c (save_macros): New.
3872         (reset_ht): New.
3873         (cpp_write_pch_deps): Split out of cpp_write_pch.
3874         (cpp_write_pch_state): Split out of cpp_write_pch.
3875         (cpp_write_pch): Delete.
3876         (struct save_macro_data): Delete.
3877         (cpp_prepare_state): New.
3878         (cpp_read_state): Erase and restore initial macro definitions.
3879         * cpplib.h (struct save_macro_data): Forward-declare.
3880         (cpp_write_pch_deps): Prototype.
3881         (cpp_write_pch_state): Prototype.
3882         (cpp_write_pch): Delete prototype.
3883         (cpp_prepare_state): Prototype.
3884         (cpp_read_state): Add fourth argument.
3885
3886         2002-11-04  Geoffrey Keating  <geoffk@apple.com>
3887
3888         * gengtype.c (adjust_field_rtx_def): Don't use skip on valid fields.
3889         (write_array): Remove warning.
3890
3891         * gengtype.c (contains_scalar_p): New.
3892         (finish_root_table): Add the table to all languages, even if it's
3893         empty.
3894         (write_roots): Output gt_pch_scalar_rtab.
3895         * ggc-common.c (gt_pch_save): Write out scalars.
3896         (gt_pch_restore): Read scalars back.
3897
3898         * ggc-page.c (OBJECTS_IN_PAGE): New macro.
3899         (struct page_entry): Delete pch_page field.
3900         (ggc_recalculate_in_use_p): Use OBJECTS_IN_PAGE.
3901         (clear_marks): Likewise.
3902         (sweep_pages): Likewise.
3903         (poison_pages): Likewise.
3904         (ggc_print_statistics): Likewise.
3905         (ggc_pch_read): Don't free objects read from a PCH.
3906         Properly set up in_use_p and page_tails.
3907
3908         2002-10-25  Geoffrey Keating  <geoffk@apple.com>
3909
3910         * gengtype.c (struct write_types_data): New.
3911         (struct walk_type_data): Make `cookie' const; add extra
3912         prev_val item; add `orig_s' field.
3913         (walk_type): Update prev_val[3].
3914         (write_types_process_field): New.
3915         (write_func_for_structure): Take write_types_data structure.
3916         (write_types): New.
3917         (ggc_wtd): New.
3918         (pch_wtd): New.
3919         (write_types_local_process_field): New.
3920         (gc_mark_process_field): Delete.
3921         (write_local_func_for_structure): New.
3922         (gc_mark_func_name): Delete.
3923         (write_gc_types): Delete.
3924         (write_local): New.
3925         (finish_root_table): Don't include 'ggc_' in PFX.
3926         (write_root): Rename from write_root.  Fill pchw field of structures.
3927         (write_array): New.
3928         (write_roots): Rename from write_gc_roots.  Split out to write_array.
3929         Update to changes to other routines.  Write gt_pch_cache_rtab table.
3930         (main): Write PCH walking routines.
3931         * ggc-common.c: Include toplev.h, sys/mman.h.
3932         (ggc_mark_roots): For cache hashtables, also mark the hash table
3933         and the array of entries.
3934         (saving_htab): New.
3935         (struct ptr_data): New.
3936         (POINTER_HASH): New.
3937         (gt_pch_note_object): New.
3938         (saving_htab_hash): New.
3939         (saving_htab_eq): New.
3940         (struct traversal_state): New.
3941         (call_count): New.
3942         (call_alloc): New.
3943         (compare_ptr_data): New.
3944         (relocate_ptrs): New.
3945         (write_pch_globals): New.
3946         (struct mmap_info): New.
3947         (gt_pch_save): New.
3948         (gt_pch_restore): New.
3949         * ggc-page.c (ROUND_UP_VALUE): New.
3950         (ROUND_UP): New.
3951         (struct page_entry): Add field `pch_page'.
3952         (init_ggc): Use ROUND_UP.
3953         (struct ggc_pch_data): Declare.
3954         (init_ggc_pch): New.
3955         (ggc_pch_count_object): New.
3956         (ggc_pch_total_size): New.
3957         (ggc_pch_this_base): New.
3958         (ggc_pch_alloc_object): New.
3959         (ggc_pch_prepare_write): New.
3960         (ggc_pch_write_object): New.
3961         (ggc_pch_finish): New.
3962         (ggc_pch_read): New.
3963         * ggc.h (gt_pointer_operator): New.
3964         (gt_note_pointers): New.
3965         (gt_pch_note_object): New prototype.
3966         (gt_pointer_walker): New.
3967         (struct ggc_root_tab): Use gt_pointer_walker, add `pchw' field.
3968         (LAST_GGC_ROOT_TAB): Update.
3969         (gt_pch_cache_rtab): Declare.
3970         (gt_pch_scalar_rtab): Declare.
3971         (struct ggc_cache_tab): Use gt_pointer_walker, add `pchw' field.
3972         (LAST_GGC_CACHE_TAB): Update.
3973         (gt_pch_save_stringpool): Declare.
3974         (gt_pch_restore_stringpool): Declare.
3975         (gt_pch_p_S): Declare.
3976         (gt_pch_n_S): Declare.
3977         (struct ggc_pch_data): Forward-declare.
3978         (init_ggc_pch): Declare.
3979         (ggc_pch_count_object): Declare.
3980         (ggc_pch_total_size): Declare.
3981         (ggc_pch_this_base): Declare.
3982         (ggc_pch_alloc_object): Declare.
3983         (ggc_pch_prepare_write): Declare.
3984         (ggc_pch_write_object): Declare.
3985         (ggc_pch_finish): Declare.
3986         (ggc_pch_read): Declare.
3987         (gt_pch_save): Declare.
3988         (gt_pch_restore): Declare.
3989         * fold-const.c (size_int_type_wide): Allocate size_htab using GGC.
3990         * emit-rtl.c (init_emit_once): Allocate const_int_htab,
3991         const_double_htab, mem_attrs_htab using GGC.
3992         * c-pch.c: Include ggc.h.
3993         (pch_init): Allow reading PCH file back.
3994         (c_common_write_pch): Call gt_pch_save.
3995         (c_common_read_pch): Call gt_pch_restore.
3996         * c-parse.in (init_reswords): Delete now-untrue comment.
3997         Allocate ridpointers using GGC.
3998         * c-objc-common.c (c_objc_common_finish_file): Write PCH before
3999         calling expand_deferred_fns.
4000         * c-common.h (ridpointers): Mark for GTY machinery.
4001         * Makefile.in (stringpool.o): Update dependencies.
4002         (c-pch.o): Update dependencies.
4003         (ggc-common.o): Update dependencies.
4004         * stringpool.c: Include gt-stringpool.h.
4005         (gt_pch_p_S): New.
4006         (gt_pch_n_S): New.
4007         (struct string_pool_data): New.
4008         (spd): New.
4009         (gt_pch_save_stringpool): New.
4010         (gt_pch_restore_stringpool): New.
4011         * tree.c (init_ttree): Make type_hash_table allocated using GC.
4012
4013         2002-10-04  Geoffrey Keating  <geoffk@apple.com>
4014
4015         * gengtype.c (adjust_field_rtx_def): Don't pass size_t to printf.
4016         (output_mangled_typename): Don't pass size_t to printf.
4017
4018         * tree.h (union tree_type_symtab): Add tag to `address' field.
4019         (union tree_decl_u2): Add tag to 'i' field.
4020         * varasm.c (union rtx_const_un): Add tags to all fields.
4021         * gengtype.c (struct walk_type_data): New.
4022         (output_escaped_param): Take struct walk_type_data parameter.
4023         (write_gc_structure_fields): Delete.
4024         (walk_type): New.
4025         (write_gc_marker_routine_for_structure): Delete.
4026         (write_func_for_structure): New.
4027         (gc_mark_process_field): New.
4028         (gc_mark_func_name): New.
4029         (gc_counter): Delete.
4030         (write_gc_types): Use write_func_for_structure.
4031         (write_gc_roots): Use walk_type.
4032
4033         2002-10-02  Geoffrey Keating  <geoffk@apple.com>
4034
4035         * ggc-common.c (ggc_mark_roots): Delete 'x'.
4036         (ggc_splay_dont_free): Fix warning about unused 'x'.
4037         (ggc_print_common_statistics): Remove warnings.
4038
4039         2002-10-01  Mike Stump  <mrs@apple.com>
4040
4041         * ggc-common.c (ggc_splay_alloc): Actually return the allocated area.
4042         * gengtype.c (write_gc_structure_fields): Handle param[digit]_is.
4043
4044         2002-09-01  Geoffrey Keating  <geoffk@redhat.com>
4045             Catherine Moore  <clm@redhat.com>
4046
4047         * Makefile (c-pch.o): Update dependencies.
4048         (LIBCPP_OBJS): Add cpppch.o.
4049         (cpppch.o): New.
4050         * c-common.c (c_common_init): Don't call pch_init here.
4051         * c-common.h (c_common_read_pch): Update prototype.
4052         * c-lex.c (c_common_parse_file): Call pch_init here.
4053         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Winvalid-pch, -fpch-deps.
4054         (c_common_decode_option): Handle them.
4055         * c-pch.c: Include c-pragma.h.
4056         (save_asm_offset): Delete.
4057         (pch_init): Move contents of save_asm_offset into here, call
4058         cpp_save_state.
4059         (c_common_write_pch): Call cpp_write_pch.
4060         (c_common_valid_pch): Warn only when -Winvalid-pch.  Call
4061         cpp_valid_state.
4062         (c_common_read_pch): Add NAME parameter.  Call cpp_read_state.
4063         * cppfiles.c (stack_include_file): Update for change to
4064         parameters of cb.read_pch.
4065         * cpphash.h (struct cpp_reader): Add `savedstate' field.
4066         * cpplib.h (struct cpp_options): Add `warn_invalid_pch' and
4067         `restore_pch_deps' fields.
4068         (struct cpp_callbacks): Add NAME parameter to `read_pch'.
4069         (cpp_save_state): Prototype.
4070         (cpp_write_pch): Prototype.
4071         (cpp_valid_state): Prototype.
4072         (cpp_read_state): Prototype.
4073         * cpppch.c: New file.
4074         * flags.h (version_flag): Remove prototype.
4075         * mkdeps.c (deps_save): New.
4076         (deps_restore): New.
4077         * mkdeps.h (deps_save): Prototype.
4078         (deps_restore): Prototype.
4079         * toplev.c (late_init_hook): Delete.
4080         (version_flag): Make static again.
4081         (compile_file): Don't call late_init_hook.
4082         * toplev.h (late_init_hook): Delete.
4083         * doc/cppopts.texi: Document -fpch-deps.
4084         * doc/invoke.texi (Warning Options): Document -Winvalid-pch.
4085
4086         2002-08-27  Geoffrey Keating  <geoffk@redhat.com>
4087
4088         * c-pch.c (c_common_write_pch): Rename from c_write_pch, change
4089         callers.
4090         (c_common_valid_pch): Rename from c_valid_pch, change callers.
4091         (c_common_read_pch): Rename from c_read_pch, change callers.
4092
4093         * c-opts.c (COMMAND_LINE_OPTIONS): Allow -output-pch= to have
4094         a space between it and its argument.
4095
4096         2002-08-24  Geoffrey Keating  <geoffk@redhat.com>
4097
4098         * c-pch.c: New file.
4099         * toplev.h (late_init_hook): Declare.
4100         * toplev.c (late_init_hook): Define.
4101         (version_flag): Make globally visible.
4102         (compile_file): Call late_init_hook.
4103         (init_asm_output): Make output file seekable.
4104         * gcc.c (default_compilers): Update c-header rule.
4105         * flags.h (version_flag): Declare.
4106         * cpplib.h (struct cpp_callbacks): Add 'valid_pch' and 'read_pch'
4107         fields.
4108         * cppfiles.c (struct include_file): Add 'pch' field.
4109         (INCLUDE_PCH_P): New.
4110         (open_file_pch): New.
4111         (stack_include_file): Handle PCH files specially.
4112         (find_include_file): Call open_file_pch instead of open_file.
4113         (_cpp_read_file): Explain why open_file is used instead of
4114         open_file_pch.
4115         * c-opts.c (c_common_decode_option): Correct OPT__output_pch case.
4116         * c-objc-common.c (c_objc_common_finish_file): Call c_write_pch.
4117         * c-lex.c (init_c_lex): Set valid_pch and read_pch fields
4118         in cpplib callbacks.
4119         * c-common.c (pch_file): Correct comment.
4120         (allow_pch): Define.
4121         (c_common_init): Call pch_init.
4122         * c-common.h (allow_pch): Declare.
4123         (pch_init): Declare.
4124         (c_valid_pch): Declare.
4125         (c_read_pch): Declare.
4126         (c_write_pch): Declare.
4127         * Makefile.in (c-pch.o): New.
4128         (C_AND_OBJC_OBJS): Add c-pch.o.
4129         * doc/invoke.texi (Precompiled Headers): Add index entries,
4130         complete truncated paragraph.
4131
4132         2002-08-17  Geoffrey Keating  <geoffk@redhat.com>
4133
4134         * c-common.c: (pch_file): Define.
4135         * c-common.h (pch_file): Declare.
4136         * c-opts.c (COMMAND_LINE_OPTIONS): Add --output-pch=.
4137         (missing_arg): Require --output-pch= to have an argument.
4138         (c_common_decode_option): Handle --output-pch=.
4139         * gcc.c: Document new %V.
4140         (default_compilers): Handle compiling C header files.
4141         (do_spec_1): Implement %V.
4142         (main): Handle "gcc foo.h" without trying to run linker.
4143         * doc/invoke.texi (Invoking GCC): Add new menu item for PCH.
4144         (Overall Options): Document what the driver does with header files,
4145         document new -x option possibilities.
4146         (Invoking G++): More documentation for PCH.
4147         (Precompiled Headers): New.
4148
4149         2002-08-09  Geoffrey Keating  <geoffk@redhat.com>
4150
4151         * ggc.h: Don't include varray.h.  Rearrange functions to be more
4152         organized.
4153         (ggc_add_root): Delete.
4154         (ggc_mark_rtx): Delete.
4155         (ggc_mark_tree): Delete.
4156         (struct ggc_statistics): Remove contents.
4157         * ggc-common.c: Remove unneeded includes.
4158         (struct ggc_root): Delete.
4159         (roots): Delete.
4160         (ggc_add_root): Delete.
4161         (ggc_mark_roots): Don't mark `roots'.  Call ggc_mark_stringpool.
4162         (ggc_print_common_statistics): Remove most of the contents.
4163         * Makefile.in (GGC_H): No longer uses varray.h.
4164         (ggc-common.o): Update dependencies.
4165         (c-parse.o): Add varray.h to dependencies.
4166         (c-common.o): Add varray.h.
4167         * stringpool.c (mark_ident): Use mangled name for tree marker routine.
4168         (mark_ident_hash): Rename to ggc_mark_stringpool.
4169         (init_stringpool): Don't use ggc_add_root.
4170         * c-parse.in: Include varray.h.
4171         * c-common.c: Include varray.h.
4172         * objc/Make-lang.in (objc-act.o): Add varray.h.
4173         * objc/objc-act.c: Include varray.h.
4174
4175         2002-07-25  Geoffrey Keating  <geoffk@redhat.com>
4176
4177         * dwarf2out.c (dw_cfi_oprnd2_desc): Fix ISO-only function definition.
4178         (dw_cfi_oprnd1_desc): Likewise.
4179
4180         2002-07-17  Geoffrey Keating  <geoffk@redhat.com>
4181
4182         * config/alpha/alpha.c (struct alpha_links): Use gengtype to mark;
4183         move out of ifdef.
4184         (alpha_links): Use gengtype to mark; move out of ifdef.
4185         (mark_alpha_links_node): Delete.
4186         (mark_alpha_links): Delete.
4187         (alpha_need_linkage): Use GGC to allocate splay tree, struct
4188         alpha_links, strings.  Don't use ggc_add_root.
4189         * ggc-common.c (ggc_splay_alloc): New.
4190         (ggc_splay_dont_free): New.
4191         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
4192         (ggc_mark_tree): Likewise.
4193         (splay_tree_new_ggc): New.
4194         (ggc_splay_alloc): Declare.
4195         (ggc_splay_dont_free): Declare.
4196         * dwarf2asm.c: Include gt-dwarf2asm.h.
4197         (mark_indirect_pool_entry): Delete.
4198         (mark_indirect_pool): Delete.
4199         (indirect_pool): Use gengtype to mark.
4200         (dw2_force_const_mem): Don't use ggc_add_root.
4201         * Makefile.in (dwarf2asm.o): Depend on gt-dwarf2asm.h.
4202         (GTFILES): Add SPLAY_TREE_H, dwarf2asm.c.
4203         (gt-dwarf2asm.h): Depend on s-gtype.
4204
4205         2002-07-08  Geoffrey Keating  <geoffk@redhat.com>
4206
4207         * tree.h (union tree_type_symtab): Mark `die' field.
4208         * Makefile.in (dwarf2out.o): Update dependencies.
4209         * dwarf2out.c: Use GGC to allocate all structures.  Convert to htab_t
4210         hash tables.
4211         (dw_cfi_oprnd1_desc): New function.
4212         (dw_cfi_oprnd2_desc): New function.
4213         (indirect_string_alloc): Delete.
4214         (debug_str_do_hash): New function.
4215         (debug_str_eq): New function.
4216         (mark_limbo_die_list): Delete.
4217         (dwarf2out_init): Don't call ggc_add_root.
4218
4219 2003-01-09  Vladimir Makarov  <vmakarov@redhat.com>
4220
4221         The following changes are merged from itanium-sched-branch:
4222
4223         2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4224
4225         * doc/md.texi: Clarify assignment of units to automata description.
4226
4227         2003-01-08  Vladimir Makarov  <vmakarov@redhat.com>
4228
4229         * genautomata.c (unit_decl): Remove members
4230         `the_same_automaton_unit' and
4231         `the_same_automaton_message_reported_p'.
4232         (process_unit_to_form_the_same_automaton_unit_lists,
4233         form_the_same_automaton_unit_lists_from_regexp,
4234         form_the_same_automaton_unit_lists, the_same_automaton_lists):
4235         Remove them.
4236         (annotation_message_reported_p): New global variable.
4237         (check_unit_distribution_in_reserv,
4238         check_regexp_units_distribution): New functions.
4239         (check_unit_distributions_to_automata): Rewrite it.
4240
4241         2003-01-04  Vladimir Makarov  <vmakarov@redhat.com>
4242
4243         * genautomata.c (form_the_same_automaton_unit_lists_from_regexp):
4244         Use continue instead of break if cycle is too big.
4245
4246         2002-12-20  Vladimir Makarov  <vmakarov@redhat.com>
4247
4248         * genautomata.c (check_unit_distributions_to_automata): Output at
4249         most one message for a unit.
4250         (process_unit_to_form_the_same_automaton_unit_lists): Check
4251         automaton of units instead of units themself.
4252
4253         * doc/md.texi: Describe the constraint about assigning unit to
4254         automata.
4255
4256         2002-12-20  Jan Hubicka  <jH@suse.cz>
4257                     Vladimir Makarov  <vmakarov@redhat.com>
4258
4259         * genautomata.c (unit_decl): Add new members `min_occ_cycle_num'
4260         and `in_set_p'.
4261         (gen_cpu_unit): Initialize the new members.
4262         (process_regexp_cycles): Calculate minimal finish cycle too.  Set
4263         up `min_occ_cycle_num'.
4264         (evaluate_max_reserv_cycles): Change the function call.
4265         (CLEAR_BIT): New macro.
4266         (states_union, state_shift): Use the mask.
4267         (initiate_excl_sets, form_reserv_sets_list): Set up `in_set_p'.
4268         (form_reservs_matter): New function.
4269         (make_automaton): Call the function and use the mask.
4270         (estimate_one_automaton_bound): Take `min_occ_cycle_num' into
4271         account.
4272
4273         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4274
4275         * config/ia64/itanium2.md (lfetch): Change the insn reservation.
4276
4277         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4278
4279         * config/ia64/ia64.c (bundling): Try to insert 2 nops for M insn
4280         for Itanium.
4281
4282         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4283
4284         * config/ia64/ia64.c (ia64_override_options): Make itanium2 as
4285         default cpu.
4286
4287         2002-12-17  Vladimir Makarov  <vmakarov@redhat.com>
4288                 2002-10-31  Dale Johannesen <dalej@apple.com>
4289
4290         * haifa-sched.c (find_set_reg_weight): New function.
4291         (find_insn_reg_weight): Use the new function.
4292         (schedule_block): Do sorting ready queue always
4293         after insn issue.
4294
4295         2002-11-27  Vladimir Makarov  <vmakarov@redhat.com>
4296
4297         * config/ia64/ia64.c (bundling): Use MFI template instead of MLX.
4298
4299         2002-11-19  Vladimir Makarov  <vmakarov@redhat.com>
4300
4301         * haifa-sched.c (choice_entry): New structure.
4302         (choice_stack, cycle_issued_insns): New variables.
4303         (max_issue): Rewrite it.
4304         (choose_ready): Set up ready_try for unknown insns too.
4305         (schedule_block): Allocate and free choice_stack.  Set up
4306         and modify cycle_issued_insns.
4307
4308         * config/ia64/ia64.c (issue_nops_and_insn): Combine insn issue
4309         with and without filling the bundle.
4310         (bundling): Combine calls of issue_nops_and_insn.
4311
4312         2002-10-17  Vladimir Makarov  <vmakarov@redhat.com>
4313
4314         * config/ia64/itanium1.md: New file.
4315
4316         * config/ia64/itanium2.md: New file.
4317
4318         * config/ia64/ia64.md: Move DFA descriptions into the new files.
4319         Remove the old pipeline description.
4320
4321         * config/ia64/ia64.c (ia64_override_options): Add aliases of
4322         itanium processor names.
4323
4324         2002-10-16  Vladimir Makarov  <vmakarov@redhat.com>
4325
4326         * config/ia64/ia64.c (bundling): Print states for Itanium2 too.
4327         (ia64_reorg):  Set up queried unit codes for Itanium2 too.
4328
4329         * config/ia64/ia64.md: Add descriptions for Itanium2.
4330
4331         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4332
4333         * config/ia64/ia64.h (processor_type): New enumeration.
4334         (ia64_tune, ia64_tune_string): New external declarations.
4335         (TARGET_OPTIONS): Add option `tune='.
4336
4337         * config/ia64/ia64.c (ia64_tune, ia64_tune_string): New global
4338         variables.
4339         (ia64_override_options): Set up `ia64_tune'.
4340         (ia64_sched_reorder2): Set up `clocks' only for Itanium.
4341         (ia64_dfa_new_cycle): Set up `add_cycles' only for Itanium.
4342         (bundling): Add nops for MM-insns only for Itanium.
4343         (ia64_reorg): Allocate and free `clocks' and `add_cycles' only for
4344         Itanium.
4345
4346         * config/ia64/ia64.md (cpu): New attribute.
4347         (DFA description): Enable it only for Itanium.
4348
4349         2002-10-08  Vladimir Makarov  <vmakarov@redhat.com>
4350                     Richard Henderson  <rth@redhat.com>
4351
4352         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS): Rename it to
4353         MASK_EARLY_STOP_BITS.
4354         (TARGET_TUNE_STOP_BITS): Rename it to TARGET_EARLY_STOP_BITS.
4355         (TARGET_SWITCHES): Rename option `tune-stop-bits' to
4356         `early-stop-bits'.
4357
4358         * config/ia64/ia64.c (ia64_dfa_new_cycle,
4359         final_emit_insn_group_barriers): Use TARGET_EARLY_STOP_BITS
4360         instead of TARGET_TUNE_STOP_BITS.
4361
4362         * doc/invoke.texi: Rename option `-mtune-stop-bits' to
4363         `-mearly-stop-bits'.
4364
4365         * config/ia64/ia64.c (automata_option "v"): Comment it.
4366
4367         2002-10-07  Vladimir Makarov  <vmakarov@redhat.com>
4368
4369         * config/ia64/ia64.h (MASK_TUNE_STOP_BITS, TARGET_TUNE_STOP_BITS):
4370         New macros.
4371         (TARGET_SWITCHES): Add entries for the new option.
4372
4373         * config/ia64/ia64.c (dfa_stop_insn, last_scheduled_insn, rtx
4374         dfa_pre_cycle_insn, ia64_nop): Don't make them as roots for GC.
4375         (stops_p, stop_before_p, clocks_length, clocks, add_cycles): New
4376         global variables.
4377         (ia64_sched_reorder2): Set up `clocks'.
4378         (ia64_variable_issue): Set up `stops_p' and reset `stop_before_p'.
4379         (ia64_dfa_new_cycle): Set up add_cycle.  Permit sorting ready
4380         queue when TARGET_TUNE_STOP_BITS.
4381         (bundling): Insert additional nops for MM-insns.
4382         (final_emit_insn_group_barriers): Add insertion of stop bits
4383         according `stops_p'.
4384         (ia64_reorg): Initiate the new varibales.
4385
4386         * doc/invoke.texi: Add description of option `-mtune-stop-bits'.
4387
4388         2002-10-02  Vladimir Makarov  <vmakarov@redhat.com>
4389
4390         * haifa-sched.c (schedule_block): Modify INSN_TICK of depended
4391         insns at the end of block insn scheduling.
4392
4393         2002-09-30  Vladimir Makarov  <vmakarov@redhat.com>
4394
4395         * sched-deps.c (remove_dependence, group_leader): Remove it.
4396         (add_dependence): Add dependence to group leader to.
4397         (set_sched_group_p): Add dependence to the first insn of the
4398         schedule group too.
4399         (sched_analyze_insn): Make dependence to jump as anti-dependence.
4400         Change true dependence by anti-dependence when
4401         `reg_pending_barrier'.
4402
4403         * sched-rgn.c (init_ready_list, can_schedule_ready_p,
4404         add_branch_dependences): Ignore schedule groups.
4405
4406         * sched-ebb.c (init_ready_list): Ditto.
4407
4408         * (move_insn, set_priorities): Ditto.
4409
4410         * config/ia64/ia64.c (ia64_sched_init): Check that schedule group
4411         flag is clear after reload.
4412         (adjust_cost): Change cost only for output dependencies.
4413
4414         * config/ia64/ia64.md: Add more insns into bypass for MM-insns.
4415
4416         2002-09-26  Vladimir Makarov  <vmakarov@redhat.com>
4417
4418         * Makefile.in (sched-ebb.o): Add `$(TARGET_H)' to the entry.
4419
4420         * target.h (gcc_target): Add member
4421         `dependencies_evaluation_hook'.
4422
4423         * target-def.h (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK): New
4424         macro.
4425         (TARGET_SCHED): Add initiatialization of the new member.
4426
4427         * sched-ebb.c: Include `target.h'.
4428         (schedule_ebb): Call `dependencies_evaluation_hook'.
4429
4430         * sched-rgn.c (schedule_region): Call
4431         `dependencies_evaluation_hook'.
4432
4433         * config/ia64/ia64.c (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4434         New macro.
4435         (ia64_dependencies_evaluation_hook): New function.
4436
4437         * doc/tm.texi (TARGET_SCHED_DEPENDENCIES_EVALUATION_HOOK):
4438         Describe the new hook.
4439
4440         2002-09-25  Vladimir Makarov  <vmakarov@redhat.com>
4441
4442         * target.h (gcc_target): Add members
4443         `first_cycle_multipass_dfa_lookahead_guard' and `dfa_new_cycle'.
4444
4445         * target-def.h (TARGET_SCHED_DFA_NEW_CYCLE,
4446         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): New
4447         macros.
4448         (TARGET_SCHED): Add initiatialization of the new members.
4449
4450         * haifa-sched.c (schedule_insn): Update last_clock_var for the 1st
4451         insn scheduling too.
4452         (choose_ready): Use `first_cycle_multipass_dfa_lookahead_guard' to
4453         initialize `ready_try'.
4454         (schedule_block): Use `dfa_new_cycle'.  Sort `ready' only unless
4455         `dfa_new_cycle' says not to do it.
4456
4457         * config/ia64/ia64.md: Add DFA Itanium 1 description for insn
4458         bundling.
4459
4460         * config/ia64/ia64.h (CPU_UNITS_QUERY): New macro.
4461
4462         * config/ia64/ia64.c: Include `hashtab.h'.
4463         (ia64_first_cycle_multipass_dfa_lookahead_guard,
4464         ia64_dfa_new_cycle, final_emit_insn_group_barriers,
4465         ia64_dfa_sched_reorder, get_free_bundle_state, free_bundle_state,
4466         initiate_bundle_states, finish_bundle_states, bundle_state_hash,
4467         bundle_state_eq_p, insert_bundle_state,
4468         initiate_bundle_state_table, finish_bundle_state_table,
4469         try_issue_nops, try_issue_insn, issue_nops_and_insn, get_max_pos,
4470         get_template, get_next_important_insn, bundling): New functions.
4471         (ia64_internal_sched_reorder): Remove it.
4472         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4473         TARGET_SCHED_DFA_NEW_CYCLE): New macros.
4474         (ia64_safe_itanium_requires_unit0): Remove it.
4475         (group_barrier_needed_p): Place group barrier right before a real
4476         insn.
4477         (bundle, ia64_packet, NR_PACKETS, type_names, packets, packets):
4478         Remove them.
4479         (bundle_name): New variable.
4480         (_0mii_, _0mmi_, _0mfi_, _0mmf_, _0bbb_, _0mbb_, _0mib_, _0mmb_,
4481         _0mfb_, _0mlx_, _1mii_, _1mmi_, _1mfi_, _1mmf_, _1bbb_, _1mbb_,
4482         _1mib_, _1mmb_, _1mfb_, _1mlx_, pos_1, pos_2, pos_3, pos_4, pos_5,
4483         pos_6, dfa_stop_insn, last_scheduled_insn, dfa_state_size,
4484         temp_dfa_state, prev_cycle_state): New global variables.
4485         (insn_matches_slot, maybe_rotate, finish_last_head,
4486         rotate_one_bundle, rotate_one_bundles, nop_cycles_until,
4487         cycle_end_fill_slots, packet_matches_p, get_split, find_best_insn,
4488         find_best_packet, itanium_reorder, dump_current_packet,
4489         schedule_stop, gen_nop_type, ia64_emit_nops): Remove them.
4490         (sched_data, sched_ready, sched_types): Remove them.
4491         (ia64_sched_init): Initiate only `last_scheduled_insn' and call
4492         `init_insn_group_barriers'.
4493         (ia64_sched_reorder, ia64_sched_reorder2): Call
4494         ia64_dfa_sched_reorder.
4495         (ia64_variable_issue): Rewrite it.
4496         (bundle_state): New structure.
4497         (index_to_bundle_states, bundle_states_num,
4498         allocated_bundle_states_chain, free_bundle_state_chain): New
4499         global variables.
4500         (ia64_sched_finish): Add stop bits and call `bundling' after the
4501         2nd insn scheduling.
4502         (ia64_use_dfa_pipeline_interface): Return zero always.
4503         (ia64_first_cycle_multipass_dfa_lookahead): Return 6 for the 2nd
4504         insn scheduling.
4505         (ia64_init_dfa_pre_cycle_insn): Initialize `dfa_state_size',
4506         `temp_dfa_state', `prev_cycle_state', and `dfa_stop_insn'.
4507         (ia64_reorg): Add bundling insns.
4508
4509         * doc/tm.texi
4510         (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD,
4511         TARGET_SCHED_DFA_NEW_CYCLE): Describe the new hooks.
4512
4513         2002-09-23  Vladimir Makarov  <vmakarov@redhat.com>
4514
4515         * config/ia64/ia64.md: Add Itanium1 DFA description.
4516         (itanium_class): Add `nop' and `pre_cycle'.  Add
4517         define_function_unit for `nop'.
4518         (nop): Change attribute `itanium_class'.
4519         (pre_cycle): New define_insn.
4520
4521         * config/ia64/ia64-protos.h (bundling_p): New external variable.
4522         (ia64_st_address_bypass_p, ia64_ld_address_bypass_p,
4523         ia64_produce_address_p): New function prototypes.
4524
4525         * config/ia64/ia64.c (bundling_p): New global variable.
4526         (ia64_use_dfa_pipeline_interface,
4527         ia64_first_cycle_multipass_dfa_lookahead,
4528         ia64_init_dfa_pre_cycle_insn, ia64_dfa_pre_cycle_insn): New
4529         functions.
4530         (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE,
4531         TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD,
4532         TARGET_SCHED_INIT_DFA_PRE_CYCLE_INSN,
4533         TARGET_SCHED_DFA_PRE_CYCLE_INSN): New macros.
4534         (ia64_sched_init, ia64_sched_reorder, ia64_sched_reorder2,
4535         ia64_variable_issue, ia64_sched_finish): Do nothing before reload.
4536         (dfa_pre_cycle_insn): New variable.
4537
4538         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4539
4540         * rtl.def (FINAL_PRESENCE_SET, FINAL_ABSENCE_SET): New
4541         constructions.
4542
4543         * genattrtab.h (gen_final_presence_set, gen_final_absence_set):
4544         New function prototypes.
4545
4546         * genattrtab.c (main): Process the new constructions.
4547
4548         * genautomata.c (gen_presence_absence_set,
4549         process_presence_absence_names, process_presence_absence_patterns,
4550         add_presence_absence, check_absence_pattern_sets): Add parameter
4551         `final_p'.
4552         (unit_decl): Add new members `final_presence_list' and
4553         `final_absence_list'.
4554         (unit_pattern_rel_decl): Add new member `final_p'.
4555         (gen_final_presence_set, gen_final_absence_set): New functions.
4556         (process_decls): Use member `final_p'.
4557         (temp_reserv): New global variable.
4558         (reserv_sets_are_intersected): Add processing `final_presence_set'
4559         and `final_absence_set'.
4560         (initiate_states): Allocate `temp_reserv'.
4561         (unit_final_presence_set_table, unit_final_absence_set_table): New
4562         gloabal variables.
4563         (initiate_presence_absence_pattern_sets): Initiate them.
4564         (NDFA_to_DFA): Fix typo.
4565         (output_description): Output `final_presence_set' and
4566         `final_absence_set'.
4567
4568         * doc/md.texi (final_presence_set, final_absence_set): Describe
4569         them.
4570
4571         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4572
4573         * genautomata.c (transform_3): Process a missing case (nothing on
4574         unit place).
4575
4576         2002-09-20  Vladimir Makarov  <vmakarov@redhat.com>
4577
4578         * rtl.def (DEFINE_QUERY_CPU_UNIT, AUTOMATA_OPTION): Change
4579         comments about queried units and the minimization.
4580
4581         * doc/md.texi: Ditto.
4582
4583         * genautomata.c (create_composed_state): Return nonzero if the new
4584         state has been created.
4585         (first_cycle_unit_presence): New function.
4586         (state_is_differed): Add new parameter.  Use the new function.
4587         Take queried units into account.
4588         (partition_equiv_class): Pass additional parameter to
4589         `state_is_differed'.
4590         (merge_states): Process composed states too.
4591         (build_automaton, create_automata, output_min_issue_delay_table,
4592         output_tables, output_statistics): Output more information.
4593         (output_reserved_units_table): Use function
4594         `first_cycle_unit_presence'.
4595         (output_tables): Output table of queried units even if the
4596         minimization is switched on.
4597         (write_automata): Output code for querying units even if the
4598         minimization is switched on.
4599
4600         2002-09-19  Vladimir Makarov  <vmakarov@redhat.com>
4601
4602         * rtl.def (PRESENCE_SET, ABSENCE_SET): Add comments about extended
4603         syntax of the constructions.
4604
4605         * doc/md.texi (PRESENCE_SET, ABSENCE_SET): Add description of
4606         extended syntax of the constructions.
4607
4608         * genautomata.c (unit_rel_decl): Rename it to
4609         `unit_pattern_rel_decl'.
4610         (pattern_set_el, pattern_reserv): New structures.
4611         (pattern_set_el_t, pattern_reserv_t): New types.
4612         (gen_presence_absence_set): New function.
4613         (process_presence_absence): Remove it.
4614         (process_presence_absence_names,
4615         process_presence_absence_patterns): New functions.
4616         (get_presence_absence_set): Remove it.
4617         (initiate_presence_absence_sets): Rename it on
4618         `initiate_presence_absence_pattern_sets'.  Use new function
4619         `form_reserv_sets_list'.
4620         (form_reserv_sets_list, check_presence_pattern_sets,
4621         check_absence_pattern_sets, output_pattern_set_el_list): New
4622         functions.
4623         (unit_decl): Change types of members `presence_list' and
4624         `absence_list'.
4625         (unit_rel_decl): Rename member `names_num' to `all_names_num'.
4626         (decl): Change types of members `excl', `presence', and `absence'.
4627         (get_str_vect): Rename `par_flag' to `paren_p'.  Add null element
4628         at the end of the vector.
4629         (gen_cpu_unit, gen_query_cpu_unit, gen_bypass, gen_excl_set,
4630         gen_automaton, gen_regexp_repeat, gen_regexp_allof,
4631         gen_regexp_oneof, gen_regexp_sequence): Use boolean values.
4632         (gen_presence_set, gen_absence_set): Use new function
4633         `gen_presence_absence_set'.
4634         (add_presence_absence): Process `pattern_list' instead of
4635         `source_list'.
4636         (process_decls): USe new functions
4637         `process_presence_absence_names' and
4638         `process_presence_absence_patterns'.
4639         (reserv_sets_are_intersected): Use new function
4640         `check_presence_pattern_sets'.
4641         (presence_set, absence_set): Remove them.
4642         (unit_presence_set_table, unit_absence_set_table): New global
4643         variables.
4644         (output_description): Use new function
4645         `output_pattern_set_el_list'.
4646         (generate): Use `initiate_presence_absence_pattern_sets'.
4647
4648         2002-09-18  Vladimir Makarov  <vmakarov@redhat.com>
4649
4650         * genattr.c (main): Add output of prototype of new interface
4651         function `dfa_clean_insn_cache'.
4652
4653         * genautomata.c (output_dfa_clean_insn_cache_func): New function.
4654         (DFA_CLEAN_INSN_CACHE_FUNC_NAME): New macro.
4655         (output_dfa_start_func): Use function `dfa_clean_insn_cache' in
4656         the generated code.
4657         (write_automata): Call the new function.
4658
4659 Thu Jan  9 22:47:38 CET 2003  Jan Hubicka  <jh@suse.cz>
4660
4661         * i386.md (unit, prefix_0f, memory attributes): Hanlde sseicvt
4662         correctly.
4663
4664 2003-01-09  Paolo Carlini  <pcarlini@unitus.it>
4665
4666         * doc/tm.texi (EXTRA_ADDRESS_CONSTRAINT): Fix typo.
4667
4668 Thu Jan  9 17:26:40 2003  J"orn Rennecke <joern.rennecke@superh.com>
4669
4670         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Add STR argument.
4671         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
4672         (CONSTRAINT_LEN): Provide default definition.
4673         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4674         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Likewise.
4675         (EXTRA_CONSTRAINT_STR): Likewise.
4676         (REG_CLASS_FROM_CONSTRAINT): Define.
4677         * genoutput.c (check_constraint_len, constraint_len): New functions.
4678         (validate_insn_alternatives): Check CONSTRAINT_LEN for each
4679         constraint / modifier.
4680         (gen_insn): Call check_constraint_len.
4681         * local-alloc.c (block_alloc): Update to use new macros / pass
4682         second argument to EXTRA_{MEMORY,ADDRESS}_CONSTRAINT.
4683         * ra-build.c (handle_asm_insn): Likewise.
4684         * recog.c (asm_operand_ok, preprocess_constraints): Likewise.
4685         (constrain_operands, peep2_find_free_register): Likewise.
4686         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
4687         * regmove.c (find_matches): Likewise.
4688         * reload.c (push_secondary_reload, find_reloads): Likewise.
4689         (alternative_allows_memconst): Likewise.
4690         * reload1.c (maybe_fix_stack_asms): Likewise.
4691         (reload_cse_simplify_operands): Likewise.
4692         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
4693         * doc/tm.texi (CONSTRAINT_LEN, REG_CLASS_FROM_CONSTRAINT): Document.
4694         (CONST_OK_FOR_CONSTRAINT_P): Likewise.
4695         (CONST_DOUBLE_OK_FOR_CONSTRAINT_P, EXTRA_CONSTRAINT_STR): Likewise.
4696         (EXTRA_MEMORY_CONSTRAINT, EXTRA_ADDRESS_CONSTRAINT): Add STR argument.
4697         * config/s390/s390.h (EXTRA_MEMORY_CONSTRAINT): Likewise.
4698
4699         * sh.h (OVERRIDE_OPTIONS): Allow first scheduling pass for SH5.
4700
4701 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4702
4703         * config/h8300/h8300.md (*extzv_1_r_h8300): Correct the insn
4704         length.
4705         (*extzv_1_r_h8300hs): Likewise.
4706         (*extzv_1_r_inv_h8300): Likewise.
4707         (*extzv_1_r_inv_h8300hs): Likewise.
4708
4709 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4710
4711         * config/h8300/h8300.h (PREDICATE_CODES): New.
4712
4713 2003-01-09  Kazu Hirata  <kazu@cs.umass.edu>
4714
4715         * config/h8300/h8300.md (*addsi3_upper): New.
4716         (*iorsi3_shift): Likewise.
4717         (two splitters): Likewise.
4718         (*addsi3_shift): Likewise.
4719         (two splitters): Likewise.
4720
4721 2003-01-09  Josef Zlomek  <zlomj9am@artax.karlin.mff.cuni.cz>
4722
4723         * Makefile.in (optabs.o): Add dependency on basic-block.h.
4724         * basic-block.h (control_flow_insn_p): Fuction was exported.
4725         * cfgbuild.c (control_flow_insn_p): Fuction was made non-static.
4726         * optabs.c (emit_libcall_block): Emit REG_LIBCALL and REG_RETVAL
4727         notes only when the region is contained in a single basic block.
4728
4729 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
4730
4731         PR inline-asm/8832
4732         * tree.h (expand_asm): New prototype.
4733         * stmt.c (expand_asm): Set the MEM_VOLATILE_P flag if instructed
4734         to do so.
4735         * c-semantics (genrtl_asm_stmt): Pass the RID_VOLATILE qualifier
4736         down to expand_asm.
4737         * c-typeck.c (simple_asm_stmt): Set the RID_VOLATILE qualifier.
4738         * rtlanal.c (volatile_insn_p) [ASM_INPUT]: Test the MEM_VOLATILE_P flag.
4739         (volatile_refs_p) [ASM_INPUT]: Likewise.
4740         (side_effects_p) [ASM_INPUT]: Likewise.
4741
4742 Thu Jan  9 12:00:36 CET 2003  Jan Hubicka  <jh@suse.cz>
4743
4744         * i386.md (*mul*): FIx constraints; remove confused comment; fix
4745         athlon_decode attributes
4746         (imul/k8 optimization peep2s): New.
4747
4748         * athlon.md (athlon_ssecmp*): Handle ssecomi as well.
4749         * i386.md (type attribute): Add ssecomi.
4750         (unit, memory, prefix attributes): Handle ssecomi.
4751         (cvt?2? patterns): Fix athlon_decode attribute
4752         (comi patterns): Set attribute to ssecomi.
4753
4754         PR target/8343
4755         * m68k.md (umulsidi, mulsidi expanders): Use register operand.
4756
4757 2003-01-09  Richard Sandiford  <rsandifo@redhat.com>
4758
4759         * config/mips/mips.h (PREDICATE_CODES): Add ADDRESSOF for predicates
4760         that match register_operands.
4761         * config/mips/mips.c (reg_or_0_operand, true_reg_or_0_operand): Make
4762         register_operand the default case.
4763
4764 2003-01-09  Eric Botcazou  <ebotcazou@libertysurf.fr>
4765
4766         PR c/8032
4767         * c-typeck.c (process_init_element) [RECORD_TYPE]: For
4768         an empty element, do not advance the pointer to unfilled
4769         fields if there are pending initializers.
4770
4771 2003-01-09  Christian Cornelssen  <ccorn@cs.tu-berlin.de>
4772
4773         * Makefile.in (ORDINARY_FLAGS_TO_PASS): Also pass DESTDIR.
4774         (install-gcc-tooldir, install-cpp, installdirs,
4775         install-common, install-driver, install-info, install-man,
4776         install-headers, install-include-dir, install-headers-tar,
4777         install-headers-cpio, install-headers-cp, install-mkheaders,
4778         install-collect2, uninstall): Prepend $(DESTDIR) to
4779         destination paths in all (un)installation commands.
4780         (install-driver): Rewrite $(LN) commands to support DESTDIR
4781         with "ln" as well as with "ln -s".
4782         (installdirs): Simply use mkinstalldirs.
4783         (install-libgcc, install-multilib): Also pass DESTDIR.
4784         * mklibgcc.in: Prepend $(DESTDIR) to $(libsubdir) in the
4785         installation destination variable ldir.
4786         * config/alpha/t-osf4, config/arm/t-netbsd,
4787         config/ia64/t-hpux, config/mips/t-iris5-6,
4788         config/pa/t-hpux-shlib, config/rs6000/t-aix43,
4789         config/rs6000/t-aix52, config/t-slibgcc-elf-ver,
4790         config/t-slibgcc-sld: Prepend $$(DESTDIR) to $$(slibdir)
4791         in the definition of SHLIB_INSTALL.
4792         * config/arc/t-arc (install-multilib-arc): Prepend $(DESTDIR) to
4793         $(libsubdir) in the installation commands.
4794
4795 2003-01-08  Kaz Kojima  <kkojima@gcc.gnu.org>
4796
4797         * config/sh/sh.h (CASE_VECTOR_MODE): Use SImode for a
4798         non-optimizing compile.
4799         (ASM_OUTPUT_ADDR_VEC_ELT): Use .long for a non-optimizing
4800         compile.
4801
4802 2003-01-08  Douglas B Rupp  <rupp@gnat.com>
4803
4804         * config/i386/i386.c (ix86_attribute_table): Add new attributes
4805         ms_struct and gcc_struct.
4806         (ix86_handle_struct_attribute): New function.
4807         (ix86_ms_bitfield_layout_p): Update to take new attributes
4808         into account.
4809         * doc/extend.texi: Document new attributes.
4810         * testsuite/gcc.dg/bf-ms-attrib.c: New test.
4811
4812 2003-01-08  Danny Smith  <dannysmith@users.sourceforge.net>
4813
4814         PR optimization/8750
4815         * config/i386/i386.c (ix86_expand_prologue): Don't allow
4816         scheduling pass to move insns across __alloca call.
4817
4818 2003-01-08  Dale Johannesen  <dalej@apple.com>
4819
4820         * config/rs6000/rs6000.md:  Replace *store_multiple_string
4821         with *stmsi[3-8].
4822
4823 2003-01-08  Jeff Sturm  <jsturm@one-point.com>
4824
4825         PR target/9210
4826         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info):
4827         Set SYMBOL_REF_FLAG on local data sym_ref.
4828
4829 2003-01-08  Dale Johannesen  <dalej@apple.com>
4830
4831         * function.c (assign_parms):  Don't set pretend_args_size if
4832           REG_PARM_STACK_SPACE.
4833           config/rs6000/rs6000.c (setup_incoming_varargs):  Don't set
4834           pretend_args_size.
4835
4836 2003-01-08  Nathanael Nerode  <neroden@gcc.gnu.org>
4837
4838         * gcc.hlp: Delete.
4839
4840 Thu Jan  9 00:57:15 CET 2003  Jan Hubicka  <jh@suse.cz>
4841
4842         * i386.c  (ix86_expand_int_addcc): Fix thinko.
4843
4844 2003-01-08  David Edelsohn  <edelsohn@gnu.org>
4845
4846         * config/rs6000/rs6000.h (FUNCTION_MODE): Always use SImode.
4847         * config/rs6000/rs6000.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Redefine
4848         as hook_bool_tree_hwi_hwi_tree_true.
4849         (rs6000_emit_allocate_stack): Use TARGET_32BIT.
4850         (rs6000_emit_epilogue): Same.
4851         (rs6000_output_mi_thunk): Re-implement as RTL.
4852         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Call
4853         xcoffout_declare_function if any debugging enabled.
4854
4855 2003-01-08  Chris Demetriou  <cgd@broadcom.com>
4856
4857         * config.gcc (mipsisa32r2-*-elf*, mipsisa32r2el-*-elf*): New
4858         targets, to support MIPS32 Release 2 (MIPS32R2) configurations.
4859         * config/mips/mips.h (enum processor_type): Rename
4860         PROCESSOR_R4KC to PROCESSOR_4KC, PROCESSOR_R5KC to
4861         PROCESSOR_5KC, and PROCESSOR_R20KC to PROCESSOR_20KC.
4862         Add PROCESSOR_M4K.
4863         (TARGET_MIPS4KC, TARGET_MIPS5KC): Update for the renaming.
4864         (ISA_MIPS32R2): New define.
4865         (GENERATE_MULT3_SI, ISA_HAS_CONDMOVE, ISA_HAS_8CC)
4866         (ISA_HAS_MADD_MSUB, ISA_HAS_CLZ_CLO)
4867         (ISA_HAS_PREFETCH): Add support for MIPS32R2.
4868         (MIPS_ISA_DEFAULT): Likewise.  Also, fix indentation.
4869         (TARGET_CPU_CPP_BUILTINS): Add support for MIPS32R2.  Add new
4870         predefine __mips_isa_rev for MIPS32, MIPS32R2, and MIPS64.
4871         (ISA_HAS_ROTR_SI): Add support for MIPS32R2, and avoid if
4872         compiling MIPS16 code.
4873         (ISA_HAS_ROTR_DI): Do not use if compiling MIPS16 code, and fix
4874         comment.
4875         (ISA_HAS_SEB_SEH): New define.
4876         (ASM_SPEC, LINK_SPEC): Pass -mips32r2 to assembler and linker.
4877         * config/mips/mips.c (mips_cpu_info_table): Adjust for enum
4878         processor_type value renaming.  Add support for MIPS32R2.
4879         Clean up comments, and move "sb1" entry with other MIPS64 CPU
4880         entries.
4881         (override_options): Reimplement -mipsN option handling so that
4882         it will work correctly for -mips32r2.  Avoid branch-likely
4883         instructions on MIPS32R2.
4884         * config/mips/mips.md (mulsi3_mult3): Add support for MIPS32R2.
4885         (extendhisi2): Use extendhisi2_hw if ISA_HAS_SEB_SEH.
4886         (extendqisi2): Use extendqisi2_hw if ISA_HAS_SEB_SEH.
4887         (extendhisi2_hw, extendqisi2_hw): New.
4888         * config/mips/netbsd.h (TARGET_CPU_CPP_BUILTINS): Add support
4889         for MIPS32R2.  Add new predefine __mips_isa_rev for MIPS32,
4890         MIPS32R2, and MIPS64.
4891         (LINK_SPEC): Pass -mips32r2 to linker.
4892         * config/mips/t-isa3264: Built -mips32r2 multilibs.
4893         * doc/invoke.texi (MIPS Options): Add -mips32r2, add support
4894         for mips32r2 in the -march description.  Alphabetically sort
4895         CPU names in the -march description.  Add long-missed -mips32
4896         and -mips64 to MIPS option summary.
4897
4898         * config.gcc: Update copyright years to include 2003.
4899         * config/mips/mips.c: Likewise.
4900         * config/mips/mips.h: Likewise.
4901         * config/mips/mips.md: Likewise.
4902         * config/mips/netbsd.h: Likewise.
4903         * doc/invoke.texi: Likewise.
4904
4905 2003-01-08  Andreas Schwab  <schwab@suse.de>
4906
4907         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): Fix spelling of cache
4908         variable.
4909         * configure: Regenerated.
4910
4911 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
4912
4913         * config/h8300/h8300.c (output_logical_op): Replace byte/word
4914         extraction of det with b0, b1, w0, w2, etc.
4915         (compute_logical_op_length): Likewise.
4916         (compute_logical_op_cc): Likewise.
4917
4918 2003-01-08  Kazu Hirata  <kazu@cs.umass.edu>
4919
4920         * config/h8300/h8300.h (CONSTANT_ADDRESS_P): Allow CONST and
4921         HIGH on all variants.
4922
4923 Wed Jan  8 14:06:34 CET 2003  Josef Zlomek <zlomj9am@artax.karlin.mff.cuni.cz>
4924
4925         * Makefile.in (PARTITION_H): New.
4926         (BASIC_BLOCK_H): Added hard-reg-set.h and $(PARTITION_H).
4927         * basic-block.h: Include hard-reg-set.h.
4928
4929 2003-01-08  Richard Earnshaw  <rearnsha@arm.com>
4930
4931         * arm.h (ENABLE_XF_PATTERNS): Delete.
4932         * arm.md (addxf3, subxf3, mulxf3, divxf3, modxf3, negxf2, absxf2)
4933         (sqrtxf2, floatsixf2, fix_truncxfsi2, truncxfsf2, truncxfdf2)
4934         (extendsfxf2, extenddfxf2, movxf, cmpxf, cmpxf_insn)
4935         (cmpxf_trap): Delete.
4936         (movxf_hard_insn): Remove test of ENABLE_XF_PATTERNS.
4937
4938 Wed Jan  8 12:10:57 CET 2003  Jan Hubicka  <jh@suse.cz>
4939
4940         * i386.md (adddi3_carry_rex64, subdi3_carry_rex64): Name pattern.
4941         (addhi3_carry, addqi3_carry, subhi3_carry, subqi3_carry): New patterns.
4942         (add??cc): New expanders.
4943         * i386.c (expand_int_addcc): New function.
4944         * i386-protos.h (expand_int_addcc): Declare.
4945
4946         * alias.c (memory_modified_1): New static function.
4947         (memory_modified): New static varaible.
4948         (memory_modified_in_insn_p): New global function.
4949         * rtl.h (memory_modified_in_insn_p): Declare.
4950         * rtlanal.c (modified_between_p, modified_in_p): Be smart about memory
4951         references.
4952
4953         * expr.h (emit_conditional_add): Declare.
4954
4955 2003-01-07  Janis Johnson  <janis187@us.ibm.com>
4956
4957         PR other/8947
4958         * doc/invoke.texi (-malign-double): Explain that the option breaks
4959         binary compatibility.
4960
4961 2003-01-08  Andreas Schwab  <schwab@suse.de>
4962
4963         * config.gcc (m68k-*-linux*): Don't set extra_parts and gnu_ld,
4964         should come from the generic *-*-linux* entry.
4965
4966 Tue Jan  7 22:29:56 CET 2003  Jan Hubicka  <jh@suse.cz>
4967
4968         * cselib.c (cselib_current_insn_in_libcall): New static variable.
4969         (new_elt_loc_list, cselib_process_insn, cselib_init): Keep track on whether
4970         we are inside libcall.
4971         * cselib.h (elt_loc_list): Add in_libcall.
4972         * gcse.c (do_local_cprop): Do not copy propagate using insns
4973         in libcalls.
4974
4975 2003-01-07  David Edelsohn  <edelsohn@gnu.org>
4976
4977         * doc/tm.texi (TARGET_SCHED_VARIABLE_ISSUE): CLOBBER and USE do
4978         not normally affect to issue rate.
4979
4980 Tue Jan  7 21:46:57 CET 2003  Jan Hubicka  <jh@suse.cz>
4981
4982         * genopinit.c (optabs): Add addc_optab.
4983         * ifcvt.c (noce_try_store_flag): Rename to ...
4984         (noce_try_addcc): ... this one; handle generic conditional increment.
4985         (noce_process_if_block): Update noce_try_addcc call.
4986         * optabs.c (emit_conditional_add): New.
4987         (init_obtabs): Initialize addc_optab.
4988         * optabs.h (optab_index): Add OTI_addcc.
4989         (addcc_optab): New macro.
4990         * md.texi: Document addMcc
4991
4992         PR target/8322
4993         * i386.c (ix86_init_mmx_sse_builtins): Constify arguments of loads.
4994         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4995         * xmmintrin.h (_mm_load*_si128. _mm_store*_si128): Add casts.
4996
4997         * reload1.c (delete_output_reload): Avoid repeated attempts
4998         to delete insn.
4999
5000 2003-01-07  Andreas Schwab  <schwab@suse.de>
5001
5002         * configure.in: Restore CFLAGS before gcc_AC_INITFINI_ARRAY.
5003         Move --enable-initfini-array check ...
5004         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): ... here.  Define
5005         HAVE_INITFINI_ARRAY also when --enable-initfini-array is given.
5006         Don't AC_SUBST gcc_cv_initfinit_array.  Use AC_TRY_RUN.
5007         * configure: Rebuild.
5008
5009 2003-01-07  Richard Henderson  <rth@redhat.com>
5010
5011         * alias.c (find_base_value): Only use new_reg_base_value shortcut
5012         if the register is set once.
5013
5014 2003-01-07  Sylvain Pion <Sylvain.Pion@mpi-sb.mpg.de>
5015
5016         * config/i386/i386.c (ix86_init_mmx_sse_builtins):
5017         __builtin_ia32_ldmxcsr and __builtin_ia32_stmxcsr are SSE, not MXX.
5018         * config/i386/i386.md (ldmxcsr, stmxcsr): SSE, not MMX.
5019
5020 2003-01-07  Benjamin Kosnik  <bkoz@redhat.com>
5021             Sunil Davasam  <sunil.k.davasam@intel.com>
5022
5023         PR libstdc++/9076
5024         * unwind-dw2.c (execute_cfa_program): DW_CFA_undefined,
5025         DW_CFA_same_value, read next and ignore.
5026
5027 2003-01-07  Richard Henderson  <rth@redhat.com>
5028
5029         * cfganal.c (flow_call_edges_add): Don't crash on noreturn call.
5030
5031 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5032
5033         * cfg.c: Include alloc-pool.h
5034         (edge_pool): New pool.
5035         (bb_pool): New pool.
5036         (first_deleted_edge): Remove.
5037         (first_deleted_block): Remove.
5038         (init_flow): Alloc/free the pools.
5039         (free_edge): Use pools.
5040         (alloc_block): Ditto.
5041         (expunge_block): Ditto.
5042         (cached_make_edge): Ditto.
5043
5044         * Makefile.in (cfg.o): Add alloc-pool.h dependency.
5045
5046 2003-01-07  Daniel Berlin  <dberlin@dberlin.org>
5047
5048         * et-forest.c: Include alloc-pool.h.
5049         (struct et_forest): Add node_pool and occur_pool.
5050         (et_forest_create): Create the new pools.
5051         (et_forest_delete): Delete them.
5052         (et_forest_add_node): Allocate and free using pools.
5053         (et_forest_add_edge): Ditto.
5054         (et_forest_remove_node): Ditto.
5055         (et_forest_remove_edge): Ditto.
5056
5057         * Makefile.in (et-forest.o): Add alloc-pool.h dependency.
5058
5059 2003-01-07  Kazu Hirata  <kazu@cs.umass.edu>
5060
5061         * config/h8300/h8300.c (output_logical_op): Simplify and
5062         optimize the handling of SImode.
5063         * config/h8300/h8300.c (compute_logical_op_length): Update
5064         accordingly.
5065         * config/h8300/h8300.c (compute_logical_op_cc): Likewise.
5066
5067 2003-01-07  Richard Sandiford  <rsandifo@redhat.com>
5068
5069         * config/mips/mips.c (mips_va_arg): In the EABI code, apply the
5070         big-endian correction to indirect arguments too.
5071
5072 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5073
5074         Segher Boessenkool  <segher@koffie.nl>
5075
5076         * config/rs6000/rs6000.c (rs6000_reg_names): Add missing registers.
5077         (alt_reg_names): Ditto, fix formatting.
5078         * config/rs6000/rs6000.h (DEBUG_REGISTER_NAMES): Fix formatting.
5079
5080 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5081
5082         * config/h8300/h8300.c (final_prescan_insn): Constify uid.
5083         (output_logical_op): Constify intval and det.
5084         (compute_logical_length): Likewise.
5085         (compute_logical_cc): Likewise.
5086         (output_a_shift): Constify mask.
5087         (h8300_encode_label): Constify len.
5088
5089 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5090
5091         * config/h8300/h8300.c (h8300_expand_prologue): Remove fsize.
5092         (h8300_expand_epilogue): Likewise.
5093
5094 2003-01-06  Aldy Hernandez  <aldyh@redhat.com>
5095
5096         Segher Boessenkool  <segher@koffie.nl>
5097
5098         * config/rs6000/altivec.md: Remove spaces from assembler
5099         instruction argument lists.
5100
5101 2003-01-07  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
5102
5103         * config/c4x/c4x.c (c4x_naked_function_p): Rename from
5104         c4x_assembler_function_p.
5105         (c4x_null_epilogue_p): Complement return value, all uses updated.
5106         (c4x_insert_attributes): Add naked.
5107         * config/c4x/c4x.md (c4x_null_epilogue_p): Changes uses.
5108         * doc/extend.texi: Update C4x function attributes.
5109
5110 2003-01-06  Richard Henderson  <rth@redhat.com>
5111
5112         * config/alpha/alpha.c (alpha_encode_section_info): Adjust symbol_str
5113         properly when changing "local-ness".
5114         * config/alpha/alpha.md (movdi_er_high_g): Allow all symbols.
5115
5116 2003-01-06  Dale Johannesen  <dalej@apple.com>
5117
5118         * config/darwin-protos.h:  Add prototypes for new section functions.
5119
5120 2003-01-06  Chris Demetriou  <cgd@broadcom.com>
5121
5122         * config.gcc (mipsisa32-*-elf*, mipsisa32el-*-elf*): Default ABI
5123         to EABI.
5124
5125 2003-01-06  Zack Weinberg  <zack@codesourcery.com>
5126
5127         * hwint.h: If the current compiler has no 64-bit type at all,
5128         make HOST_WIDEST_INT 32 bits.
5129
5130 2003-01-06  Eric Christopher  <echristo@redhat.com>
5131
5132         * config/mips/mips.md (movdf_internal2): Fix constraints.
5133
5134 2003-01-06  Kazu Hirata  <kazu@cs.umass.edu>
5135
5136         * config/h8300/h8300.md (*twoshifts_l16_r1): New.
5137
5138 2003-01-06  Richard Sandiford  <rsandifo@redhat.com>
5139
5140         * config/mips/mips.md (leadi): Use dla rather than la.
5141
5142 2003-01-06  Svein E. Seldal  <Svein.Seldal@solidas.com>
5143
5144         * config/c4x/c4x.h: Updated specs for new gas format.  Fixed bug
5145         in C33_FLAG.  Added proper C33 support in ASM_FILE_START macro.
5146
5147 2003-01-06 Herman A.J. ten Brugge  <hermantenbrugge@home.nl>
5148
5149         * config/c4x/c4x.h: Remove hwint.h include and HOST_WIDE_INT_PRINT_HEX
5150         redefinition.
5151
5152 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5153
5154         * config/h8300/h8300.md (*extzv_8_23): New.
5155
5156 2003-01-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
5157
5158         * pa64-hpux.h (JCR_SECTION_NAME): Define.
5159         (PA_INIT_FRAME_DUMMY_ASM_OP): Check EH_FRAME_SECTION_NAME instead of
5160         USE_EH_FRAME_REGISTRY when defining.
5161
5162 2003-01-05  Kazu Hirata  <kazu@cs.umass.edu>
5163
5164         * config/h8300/h8300.c (output_a_shift): Do not output a
5165         variable shift.
5166         * config/h8300/h8300.md (two splitters): New.
5167
5168 2003-01-05  Richard Sandiford  <rsandifo@redhat.com>
5169
5170         * config/mips/mips.md: Disable the movstrsi define_split.
5171
5172 2003-01-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5173
5174         * alloc-pool.c: Don't include "libiberty.h".
5175         * config/sparc/gmon-sol2.c: Include <fcntl.h>.
5176         * convert.c (convert_to_real): Hide unused variable.
5177
5178 2003-01-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
5179
5180         * Makefile.in (gtyp-gen.h): Const-ify.
5181         * gcov-dump.c (tag_table): Likewise.
5182
5183 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5184
5185         * fixinc/fixfixes.c(wrap_fix): the wrapper guard must be a function
5186         of *both* the file name and the fix name.
5187
5188 2003-01-04  John David Anglin  <dave.anglin@nrc.ca>
5189
5190         * config.gcc (hppa*64*-*-hpux11*): Define extra_parts.  Don't use
5191         collect2.
5192         * pa-hpux11.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Undefine.
5193         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Define.
5194         * pa64-hpux.h (HP_INIT_ARRAY_SECTION_ASM_OP,
5195         GNU_INIT_ARRAY_SECTION_ASM_OP, HP_FINI_ARRAY_SECTION_ASM_OP,
5196         GNU_FINI_ARRAY_SECTION_ASM_OP): Define.
5197         (CTORS_SECTION_ASM_OP, DTORS_SECTION_ASM_OP): Define when not using
5198         elfos.h.
5199         (EH_FRAME_IN_DATA_SECTION): Delete define.
5200         (HAS_INIT_SECTION, LD_INIT_SWITCH, LD_FINI_SWITCH): Undefine.
5201         (STARTFILE_SPEC): Use crtbegin.o.
5202         (ENDFILE_SPEC): Use crtend.o.
5203         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP, CRT_CALL_STATIC_FUNCTION,
5204         SUPPORTS_INIT_PRIORITY, PA_CXA_FINALIZE_STUB, PA_INIT_FINI_HACK,
5205         PA_INIT_FRAME_DUMMY_ASM_OP, PA_JV_REGISTERCLASSES_STUB,
5206         DTOR_LIST_BEGIN): Define.
5207         * pa.c (TARGET_ASM_CONSTRUCTOR): Define.
5208         (pa_asm_out_constructor, pa_asm_out_destructor): New functions.
5209         * som.h (SUPPORTS_INIT_PRIORITY): Delete define.
5210
5211 2002-12-31  Larin Hennessy  <larin@science.oregonstate.edu>
5212
5213         * fixinc/fixinc.svr4: Remove references to i860, Sony NewsOS, and spur.
5214         * fixinc/inclhack.def: Remove tests for Apple A/UX, ARM/RISCiX, DG/UX,
5215         m88k-*-sysv3*, Sony NewsOS.   Remove references to i860.
5216         Cleanup handling of replacement text.
5217         * fixinc/mkfixinc.sh: Remove reference to i?86-*-osf1*
5218
5219 2003-01-04  Bruce Korb  <bkorb@gnu.org>
5220
5221         * fixinc/tests/base/math.h: removed obsolete results
5222         * fixinc/tests/base/stdlib.h: ditto
5223         * fixinc/tests/base/sys/param.h: ditto
5224         * fixinc/tests/base/sys/stat.h: ditto
5225         * fixinc/tests/base/time.h: ditto
5226         * fixinc/tests/base/X11/Intrinsic.h: removed obsolete file
5227         * fixinc/tests/base/sys/byteorder.h: ditto
5228         * fixinc/inclhack.def: Remove superfluous backslashes
5229
5230 2003-01-04  Kazu Hirata  <kazu@cs.umass.edu>
5231
5232         * config/h8300/h8300-protos.h: Add prototypes for
5233         the new functions defined below.
5234         * config/h8300/h8300.c (TARGET_ASM_FUNCTION_PROLOGUE): Do not
5235         define.
5236         (dosize): Emit RTL instead of assembly code.
5237         (push): Likewise.
5238         (pop): Likewise.
5239         (h8300_output_function_prologue): Remove.
5240         (h8300_expand_prologue): New.
5241         (h8300_expand_epilogue): New.
5242         (h8300_output_function_epilogue): Do only the reset of
5243         pragma_saveall.
5244         * config/h8300/h8300.md (push_h8300): New.
5245         (push_h8300hs): Likewise.
5246         (pop_h8300): Likewise.
5247         (pop_h8300hs): Likewise.
5248         (*stm_h8300s_2): Change the name to stm_h8300s_2.
5249         (*stm_h8300s_3): Change the name to stm_h8300s_3.
5250         (*stm_h8300s_4): Change the name to stm_h8300s_4.
5251         (*ldm_h8300s_2): New.
5252         (*ldm_h8300s_3): Likewise.
5253         (*ldm_h8300s_4): Likewise.
5254         (return): Likewise.
5255         (*return_1): Likewise.
5256         (prologue): Likewise.
5257         (epilogue): Likewise.
5258         (monitor_prologue): Likewise.
5259
5260 2003-01-03  Dale Johannesen  <dalej@apple.com>
5261
5262         * config/darwin.h:  (EXTRA_SECTIONS):  Add machopic_symbol_stub1,
5263           machopic_picsymbol_stub1.
5264           (EXTRA_SECTION_FUNCTIONS):  Ditto.
5265         * rs6000/rs6000.c:  Update copyright.
5266           (machopic_output_stub):  Use them.  Remove an insn from stub code.
5267
5268 2003-01-02  Jason Merrill  <jason@redhat.com>
5269
5270         * fold-const.c (fold) [COND_EXPR]: Avoid NOP_EXPRs better.
5271
5272         * integrate.c (copy_decl_for_inlining): Don't clear the rtl for
5273         static/external decls.
5274
5275         * c-common.c (finish_fname_decls): Put the DECL_STMTs inside the
5276         outermost scope.
5277         * c-decl.c (c_make_fname_decl): Push the decls there, too.
5278
5279 2003-01-03  Kazu Hirata  <kazu@cs.umass.edu>
5280
5281         * config/h8300/h8300-protos.h: Add a prototype for
5282         h8300_current_function_interrupt_function_p.
5283         * config/h8300/h8300.c (interrupt_handler): Remove.
5284         (os_task): Likewise.
5285         (monitor): Likewise.
5286         (pragma_interrupt): New.
5287         (WORD_REG_USED): Use
5288         h8300_current_function_interrupt_function_p.
5289         (dosize): Likewise.
5290         (h8300_output_function_prologue): Likewise.
5291         Do not set interrupt_handler, os_task, monitor.
5292         (h8300_output_function_prologue): Use
5293         h8300_current_function_interrupt_function_p.
5294         Do not set interrupt_handler, os_task, monitor.
5295         (h8300_current_function_interrupt_function_p): New.
5296         (h8300_pr_interrupt): Set pragma_interrupt.
5297         (h8300_insert_attributes): Reset pragma_interrupt.
5298
5299 2003-01-03  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5300
5301         * doc/install.texi (Configuration): Fix markup for reference to
5302         gcc/config.gcc.
5303
5304 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5305
5306         * config/h8300/h8300.md (*iorhi3_zext): Relax the condition.
5307         (*iorhi3_two_qi): Likewise.
5308         (*iorsi3_zexthi): Likewise.
5309         (*xorhi3_zextqi): Likewise.
5310         (*xorsi3_zexthi): Likewise.
5311         (*xorsi3_zextqi): Likewise.
5312
5313 2003-01-02  Kazu Hirata  <kazu@cs.umass.edu>
5314
5315         * config/h8300/h8300.c (stack_pointer_operand): New.
5316         (const_int_gt_2_operand): Likewise.
5317         (const_int_ge_8_operand): Likewise.
5318         * config/h8300/h8300.md (a splitter): Likewise.
5319         (a peephole2): Likewise.
5320         * config/h8300/h8300-protos.h: Add prototypes for the new
5321         functions above.
5322
5323 2003-01-02  Steven Bosscher <s.bosscher@student.tudelft.nl>
5324
5325         * objc/Make-lang.in, objc/config-lang.in, objc/lang-specs.h,
5326         objc/objc-act.h: Fix copyright years.
5327
5328 2003-01-02  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5329
5330         * doc/passes.texi: Fix documentation for -fssa-ccp
5331
5332 2003-01-02  Neil Booth  <neil@daikokuya.co.uk>
5333
5334         * gccbug.in: Update for new categories.
5335
5336 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5337
5338         * config/h8300/h8300.md: Reorder some patterns.
5339
5340 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5341
5342         * config/h8300/h8300.c (output_logical_op): Fix a warning.
5343
5344 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5345
5346         * config/darwin-protos.h, config/c4x/c4x-protos.h,
5347         config/cris/cris-protos.h, config/i370/i370-protos.h,
5348         config/i960/i960-protos.h, config/ia64/ia64-protos.h,
5349         config/v850/v850-protos.h: Use struct, and don't conditionally
5350         compile on GCC_C_PRAGMA_H.
5351
5352 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5353
5354         * config/arm/arm-protos.h: Remove #ifdef GCC_C_PRAGMA_H.
5355         * config/h8300/h8300-protos.h: Likewise.
5356         * config/sh/sh-protos.h: Likewise.
5357
5358 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5359
5360         * config/arm/arm-protos.h: Use struct cpp_reader instead of
5361         cpp_reader.
5362         * config/h8300/h8300-protos.h: Likewise.
5363         * config/sh/sh-protos.h: Likewise.
5364
5365 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5366
5367         * config/arm/arm.c (arm_pr_long_calls, arm_pr_no_long_calls,
5368         arm_pr_long_calls_off): Use struct.
5369         * config/h8300/h8300.c (h8300_pr-interrupt, h8300_pr_saveall)
5370         : Similarly.
5371         Don't include cpplib.h.
5372         * config/sh/sh.c (sh_pr_interrupt, sh_pr_trapa,
5373         sh_pr_nosave_low_regs): Similarly.
5374
5375 2003-01-01  Kazu Hirata  <kazu@cs.umass.edu>
5376
5377         * config/h8300/h8300.c: Include cpplib.h.
5378
5379 2003-01-01  Steven Bosscher  <s.bosscher@student.tudelft.nl>
5380
5381         * objc/Make-lang.in, objc/config-lang.in, objc/lang-options.h,
5382           objc/lang-specs.h, objc/objc-act.c, objc/objc-act.h,
5383           objc/objc-lang.c, objc/objc-tree.def: Replace "GNU CC" with
5384           "GCC" in the copyright header.
5385
5386 2003-01-01  Neil Booth  <neil@daikokuya.co.uk>
5387
5388         * c-pragma.c (c_register_pragma): New.
5389         (init_pragma): Use it.
5390         * c-pragma.h (cpp_register_pragma): Don't declare.
5391         (c_register_pragma): New.
5392         * cpplib.h: Remove #ifdef GCC_C_PRAGMA_H.
5393         * config/darwin.h (REGISTER_TARGET_PRAGMAS): Update.
5394         * config/arm/arm.h (REGISTER_TARGET_PRAGMAS): Update.
5395         * config/c4x/c4x.h (REGISTER_TARGET_PRAGMAS): Update.
5396         * config/h8300/h8300.h (REGISTER_TARGET_PRAGMAS): Update.
5397         * config/i370/i370.h (REGISTER_TARGET_PRAGMAS): Update.
5398         * config/i960/i960.h (REGISTER_TARGET_PRAGMAS): Update.
5399         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Update.
5400         * config/rs6000/rs6000.h (REGISTER_TARGET_PRAGMAS): Update.
5401         * config/sh/sh.h (REGISTER_TARGET_PRAGMAS): Update.
5402         * config/v850/v850.h (REGISTER_TARGET_PRAGMAS): Update.
5403         * doc/tm.texi (REGISTER_TARGET_PRAGMAS): Update
5404
5405 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5406
5407         * config/h8300/h8300-protos.h: Update the prototypes.
5408         * config/h8300/h8300.c (const_le_2_operand): Change to
5409         const_int_le_2_operand.
5410         (const_int_le_6_operand): Change to const_int_le_6_operand.
5411         * config/h8300/h8300.md (two peepholes): Update the function
5412         names.
5413
5414 2002-12-31  Tom Tromey  <tromey@redhat.com>
5415
5416         * doc/install.texi (Testing): Fixed typo.
5417
5418 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5419
5420         * config/h8300/h8300.h (TRAMPOLINE_TEMPLATE): Remove.
5421         (TRAMPOLINE_SIZE): Support the normal mode.
5422         (INITIALIZE_TRAMPOLINE): Emit the entire trampoline.
5423
5424 2002-12-31  Mark Mitchell  <mark@codesourcery.com>
5425
5426         * c-common.h (pending_lang_change): Declare.
5427
5428 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5429
5430         * gcc/doc/invoke.texi (Optimization Options): Clean up -O flag
5431         descriptions.
5432
5433 2002-12-31  Jerry Quinn  <jlquinn@optonline.net>
5434
5435         * gcc/doc/invoke.texi (Optimization Options): List the options
5436         enabled by each -O flag.
5437
5438 2002-12-31  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5439
5440         * doc/install.texi (Configuration): Explicitly refer
5441         gcc/config.gcc for a list of cpu models.
5442
5443 2002-12-31  Kazu Hirata  <kazu@cs.umass.edu>
5444
5445         * config/h8300/h8300.h: Fix comment typos.
5446
5447 2002-12-30  David Edelsohn  <edelsohn@gnu.org>
5448
5449         * config/rs6000/rs6000.h (WIDEST_HARDWARE_FP_SIZE): Define.
5450
5451 2002-12-30  Tom Tromey  <tromey@redhat.com>
5452
5453         * doc/install.texi (Testing): Mention Jacks.
5454
5455 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5456
5457         * doc/gcc.texi, doc/gccint.texi: Update last modification dates.
5458
5459 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5460
5461         * config/h8300/h8300.c (output_logical_op): Use extu.w in more
5462         cases.
5463         (compute_logical_op_length): Update to reflect the change in
5464         output_logical_op.
5465         (compute_logical_op_cc): Likewise.
5466
5467 2002-12-30  Joseph S. Myers  <jsm@polyomino.org.uk>
5468
5469         * doc/service.texi: Uncomment and update FAQ link.
5470
5471 2002-12-30  Andreas Jaeger  <aj@suse.de>
5472
5473         * unwind-dw2-fde.h (last_fde): Add unused attribute for obj.
5474
5475 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5476
5477         * config/h8300/h8300.md (*addsi3_lshiftrt_16_zexthi): New.
5478
5479 2002-12-30  Kazu Hirata  <kazu@cs.umass.edu>
5480
5481         * config/h8300/h8300.c (output_logical_op): Use extu.w if we
5482         are clearing the most significant byte.
5483         (compute_logical_op_length): Update to reflect the change in
5484         output_logical_op.
5485         (compute_logical_op_cc): Likewise.
5486
5487 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5488
5489         * config/h8300/h8300.md: Give internal names to anonymous
5490         insns.
5491
5492 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5493
5494         * config/h8300/h8300.md: Reorder some insns.
5495
5496 2002-12-29  Kazu Hirata  <kazu@cs.umass.edu>
5497
5498         * config/h8300/h8300-protos.h: Add prototypes for
5499         const_int_qi_operand and const_int_hi_operand.
5500         * config/h8300/h8300.c (const_int_qi_operand): New.
5501         (const_int_hi_operand): Likewise.
5502         * config/h8300/h8300.md (three peepholes): New.
5503
5504 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5505
5506         * doc/cpp.texi, doc/gcc.texi, doc/gccint.texi, doc/install.texi:
5507         Use @copying.
5508
5509 2002-12-28  Joseph S. Myers  <jsm@polyomino.org.uk>
5510
5511         * configure.in: Increase makeinfo version requirement to 4.[2-9].
5512         * configure: Regenerate.
5513         * doc/install.texi: Update Texinfo version requirement.
5514
5515 2002-12-28  Andreas Jaeger  <aj@suse.de>
5516
5517         * config/i386/i386.c (x86_function_profiler): Mark labelno as
5518         possibly unused.
5519
5520         * c-parse.in (yyprint): Use HOST_WIDE_INT_PRINT_DOUBLE_HEX for
5521         correct format.
5522
5523 2002-12-27  Kazu Hirata  <kazu@cs.umass.edu>
5524
5525         * config/h8300/h8300.md (*iorhi_shift_8): Change the name to
5526         *iorhi_ashift_8.
5527         (*iorhi_lshiftrt_8): New.
5528
5529 2002-12-27  Joseph S. Myers  <jsm@polyomino.org.uk>
5530
5531         * doc/include/texinfo.tex: Update to version 2002-12-26.16.
5532
5533 2002-12-27  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
5534
5535         * doc/contrib.texi (Contributors): Add Abramo and Roberto Bagnara.
5536
5537 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5538
5539         * config/h8300/h8300-protos.h: Fix comment typos.
5540         Update copyright.
5541         * config/h8300/h8300.c: Fix comment typos.
5542
5543 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5544
5545         * config/h8300/h8300.h (IDENT_ASM_OP): End with a tab.
5546
5547 2002-12-26  Kazu Hirata  <kazu@cs.umass.edu>
5548
5549         * config/i386/athlon.md: Fix comment typos.
5550         * config/i386/crtdll.h: Likewise.
5551         * config/i386/djgpp.h: Likewise.
5552         * config/i386/i386-interix.h: Likewise.
5553         * config/i386/i386.c: Likewise.
5554         * config/i386/i386.h: Likewise.
5555         * config/i386/i386.md: Likewise.
5556         * config/i386/k6.md: Likewise.
5557         * config/i386/mingw32.h: Likewise.
5558         * config/i386/pentium.md: Likewise.
5559         * config/i386/sco5.h: Likewise.
5560         * config/i386/winnt.c: Likewise.
5561         * config/i386/xmmintrin.h: Likewise.
5562
5563 2002-12-26  Jose Renau <renau@cs.uiuc.edu>
5564
5565         * ssa-dce.c (EXECUTE_IF_UNNECESSARY): Verify INSN is an
5566         INSN_P before checking to see if it is dead.
5567         (mark_all_insn_unnecessary): Similarly.
5568         (ssa_eliminate_dead_code): Similarly.
5569         * rtl.h (struct rtx_def): Update comments for in_struct usage
5570         in dead code elimination pass.
5571         (INSN_DEAD_CODE_P): Allow JUMP_INSN and CALL_INSN as well.
5572
5573 2002-12-26  Andreas Schwab  <schwab@suse.de>
5574
5575         * config.gcc (powerpc*-*-*, rs6000-*-*): Fix assignment syntax.
5576
5577 2002-12-25  David Edelsohn  <edelsohn@gnu.org>
5578
5579         * config/rs6000/rs6000.c (rs6000_override_options): Convert to
5580         tartet_flags_explicit.
5581         * config/rs6000/rs6000.h (MASK_MULTIPLE_SET, MASK_STRING_SET): Delete.
5582         Compact target_flags bits.
5583         (TARGET_MULTIPLE_SET, TARGET_STRING_SET): Delete.
5584         (TARGET_SWITCHES): Delete references to *_SET flags.
5585
5586 Wed Dec 25 20:30:53 CET 2002  Jan Hubicka  <jh@suse.cz>
5587
5588         * i386.md (memory attribute): Fix setcc attribute.
5589
5590 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5591
5592         * output.h: Fix comment typos.
5593         * predict.c: Likewise.
5594         * print-tree.c: Likewise.
5595         * profile.c: Likewise.
5596         * ra-build.c: Likewise.
5597         * ra-colorize.c: Likewise.
5598         * ra-debug.c: Likewise.
5599         * ra-rewrite.c: Likewise.
5600         * ra.c: Likewise.
5601         * ra.h: Likewise.
5602         * real.c: Likewise.
5603         * recog.c: Likewise.
5604         * reg-stack.c: Likewise.
5605         * regclass.c: Likewise.
5606
5607 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5608
5609         * config/h8300/h8300.c (print_operand_address): Do not negate
5610         a negative number when printing one.
5611
5612 2002-12-25  Kazu Hirata  <kazu@cs.umass.edu>
5613
5614         * config/h8300/h8300-protos.h: Add prototypes for
5615         output_plussi, compute_plussi_length, and compute_plussi_cc.
5616         * config/h8300/h8300.c (output_plussi): New.
5617         (compute_plussi_length): Likewise.
5618         (compute_plussi_cc): Likewise.
5619         * config/h8300/h8300.md (addsi_h8300h): Call
5620         output_plussi, compute_plussi_length, and compute_plussi_cc.
5621
5622 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
5623
5624         * config/h8300/h8300.md (two peepholes): Use match_dup instead
5625         of match_operand in the new patterns.
5626
5627 2002-12-24  Joseph S. Myers  <jsm@polyomino.org.uk>
5628
5629         * doc/include/texinfo.tex: Update to version 2002-11-25.11.
5630
5631 2002-12-24  Nathan Sidwell  <nathan@codesourcery.com>
5632
5633         * configure.in (enable-coverage): Add SELF_COVERAGE.
5634         * profile.c (end_branch_prob): Use SELF_COVERAGE.
5635
5636 2002-12-24  Jim Wilson  <wilson@redhat.com>
5637
5638         * alias.c (record_set): Handle multi-reg hard registers.
5639
5640 2002-12-24  Kazu Hirata  <kazu@cs.umass.edu>
5641
5642         * regmove.c: Fix comment typos.
5643         * reload.c: Likewise.
5644         * reload1.c: Likewise.
5645         * resource.c: Likewise.
5646         * rtl.def: Likewise.
5647         * rtl.h: Likewise.
5648         * rtlanal.c: Likewise.
5649         * sched-deps.c: Likewise.
5650         * sched-rgn.c: Likewise.
5651         * sibcall.c: Likewise.
5652         * simplify-rtx.c: Likewise.
5653         * ssa-ccp.c: Likewise.
5654         * ssa.c: Likewise.
5655         * stmt.c: Likewise.
5656         * stor-layout.c: Likewise.
5657         * system.h: Likewise.
5658         * tlink.c: Likewise.
5659         * toplev.c: Likewise.
5660         * tracer.c: Likewise.
5661         * tree-inline.c: Likewise.
5662         * tree.c: Likewise.
5663         * tree.h: Likewise.
5664         * unroll.c: Likewise.
5665         * varasm.c: Likewise.
5666
5667 2002-12-23  Larin Hennessy  <larin@science.oregonstate.edu>
5668
5669         * doc/install.texi: Remove i386-*-isc, i860-*-bsd,
5670         m68k-altos-sysv, m68k-isi-bsd, m68k-sony-bsd entries.
5671         * doc/invoke.texi: Remove AMD 29K, ARM RISC/iX, Clipper, Convex,
5672         DG/UX entries.
5673         * doc/md.texi: Remove AMD 29K entries.
5674         * doc/trouble.texi: Remove Alliant, DG/UX, Iris 4.0.5F, GAS
5675         1.38.1, NewsOS, RT PC, WE32K entries.
5676
5677 2002-12-23  Aldy Hernandez  <aldyh@redhat.com>
5678
5679         PR/8763
5680         * config/rs6000/altivec.md (mulv4sf3): Rewrite to add -0.0 vector.
5681         (altivec_vspltisw_v4sf): Name pattern.
5682         (altivec_vslw_v4sf): New pattern.
5683
5684 2002-12-23  Joseph S. Myers  <jsm@polyomino.org.uk>
5685
5686         * doc/include/gcc-common.texi: Define DEVELOPMENT.
5687
5688 2002-12-23  Mark Mitchell  <mark@codesourcery.com>
5689
5690         * stor-layout.c (update_alignment_for_field): Correct handling of
5691         unnamed bitfields on PCC_BITFIELD_TYPE_MATTERS machines.
5692         * doc/tm.texi (PCC_BITFIELD_TYPE_MATTERS): Note that an unnamed
5693         bitfield does not affect alignment.
5694
5695 2002-12-23  David Edelsohn  <edelsohn@gnu.org>
5696
5697         * expr.c (expand_assignment): Apply special treatment to
5698         ARRAY_TYPE.
5699
5700 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
5701
5702         * config/h8300/h8300-protos.h: Update the prototype of
5703         expand_a_shift.
5704         * config/h8300/h8300.c (expand_a_shift): Change the return
5705         type to void.
5706         * config/h8300/h8300.md: Update all the uses of
5707         expand_a_shift.
5708
5709 2002-12-22  Nathan Sidwell  <nathan@codesourcery.com>
5710
5711         * tree.c (save_expr): Allow either side of a dyadic operand to be
5712         constant.
5713
5714         * doc/portability.texi (portability): Update portability goals.
5715
5716 2002-12-23  Kazu Hirata  <kazu@cs.umass.edu>
5717
5718         * config/h8300/h8300.c (output_a_shift): Remove unused code.
5719
5720 2002-12-22  Mark Mitchell  <mark@codesourcery.com>
5721
5722         * stor-layout.c (update_alignment_for_field): Guard use of
5723         ADJUST_FIELD_ALIGN with #ifdef.
5724
5725         * stor-layout.c (update_alignment_for_field): Use
5726         ADJUST_FIELD_ALIGN when computing the alignment for a zero-width
5727         bitfield when PCC_BITFIELD_TYPE_MATTERS.
5728
5729 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5730
5731         * genautomata.c: Fix comment typos.
5732
5733 Sun Dec 22 18:23:44 CET 2002  Jan Hubicka  <jh@suse.cz>
5734
5735         * params.def (tracer-min-branch-probability-feedback): Fix default.
5736         * final.c (compute_alignments): Use profile to avoid code bloat.
5737
5738 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5739
5740         * config/h8300/h8300.c (get_shift_alg): Make shift insn
5741         sequences end with a valid cc0 whenever possible.
5742
5743 2002-12-22  Kazu Hirata  <kazu@cs.umass.edu>
5744
5745         * config/h8300/h8300.md (negsf2): New.
5746         (*negsf2_h8300): Likewise.
5747         (*negsf2_h8300hs): Likewise.
5748
5749 2002-12-21  Geoffrey Keating  <geoffk@apple.com>
5750
5751         * integrate.c (output_inline_function): Don't hold private
5752         pointers to 'struct function' over GC calls.
5753
5754 2002-12-21  Kaz kojima  <kkojima@gcc.gnu.org>
5755
5756         * config/sh/lib1funcs.asm (__fpscr_values): Conditionalize with
5757         NO_FPSCR_VALUES.
5758         * config/sh/t-linux (TARGET_LIBGCC2_CFLAGS): Add -DNO_FPSCR_VALUES.
5759
5760 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5761
5762         * config/h8300/h8300.md (zero_extendqisi2): Correct the
5763         length.
5764
5765 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5766
5767         * config/h8300/h8300.md (*zero_extendqihi2_h8300): Make the
5768         second alternative "#".
5769         (*zero_extendqihi2_h8300hs): Likewise.
5770         (a define_split): New.
5771
5772 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5773
5774         * config/h8300/h8300-protos.h: Update the prototype for
5775         split_adds_subs.
5776         Add prototypes for const_le_2_operand and const_le_6_operand.
5777         * config/h8300/h8300.c (split_adds_subs): Add an argument to
5778         specify whether inc/dec should be used when possible.
5779         (const_le_2_operand): New.
5780         (const_le_6_operand): Likewise.
5781         * config/h8300/h8300.md (two peepholes): New.
5782
5783 2002-12-21  Kazu Hirata  <kazu@cs.umass.edu>
5784
5785         * config/fr30/fr30.md: Fix a comment typo.
5786         * config/i386/i386.c: Likewise.
5787         * config/ip2k/ip2k.h: Likewise.
5788
5789 2002-12-20  Jim Wilson  <wilson@redhat.com>
5790
5791         * config/rs6000/spe.h (__ev_subifw): Reverse arguments.
5792         (__ev_subw, __ev_subiw): New.
5793         (ev_mwlssf, ev_mwlsmf, ev_mwlssfa, ev_mwlsmfa, ev_mwlssfaaw,
5794         ev_mwlsmfaaw, ev_mwlssfanw, ev_mwlsmfanw): Delete.
5795
5796 2002-12-20  John David Anglin  <dave.anglin@nrc.gc.ca>
5797
5798         * pa-linux.h (TARGET_HAS_STUBS_AND_ELF_SECTIONS): Delete define.
5799         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete define.
5800         * pa.c (pa_function_ok_for_sibcall): Allow non indirect sibcalls on
5801         TARGET_ELF32.  Add comment on sibcall issues for TARGET_64BIT.
5802
5803 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5804
5805         * config/h8300/h8300-protos.h: Add prototypes for
5806         incdec_operand and eqne_operator.
5807         * config/h8300/h8300.c (incdec_operand): New.
5808         (eqne_operator): Likewise.
5809         * config/h8300/h8300.h (CONST_OK_FOR_M): Likewise.
5810         (CONST_OK_FOR_O): Likewise.
5811         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_M and
5812         CONST_OK_FOR_O.
5813         * config/h8300/h8300.md (UNSPEC_INCDEC): New.
5814         (addhi3_incdec): New.
5815         (addsi3_incdec): Likewise.
5816         (two peepholes): Likewise.
5817
5818 2002-12-20  Kazu Hirata  <kazu@cs.umass.edu>
5819
5820         * config/h8300/h8300.c (dosize): Remove warnings.
5821         (print_operand): Likewise.
5822
5823 2002-12-20  Richard Henderson  <rth@redhat.com>
5824
5825         * config/alpha/alpha.c (decl_has_samegp): New.
5826         (samegp_function_operand): Use it.  Rename from
5827         current_file_function_operand.
5828         (direct_call_operand): Handle -msmall-text via symbol->jump.
5829         (tls_symbolic_operand_1): Use T for tprel64, t for smaller tprel.
5830         (tls_symbolic_operand_type): Likewise.
5831         (alpha_encode_section_info): Likewise.  Handle -msmall-text.
5832         (alpha_function_ok_for_sibcall): Use decl_has_samegp.
5833         (alpha_end_function): Set symbol->jump for functions defined in
5834         the text section.
5835         * config/alpha/alpha-protos.h: Update.
5836         * config/alpha/alpha.h (MASK_SMALL_TEXT, TARGET_SMALL_TEXT): New.
5837         (TARGET_SWITCHES): Add -msmall-text and -mlarge-text.
5838         (PREDICATE_CODES): Update.
5839         * config/alpha/alpha.md (call patterns): Update for
5840         samegp_function_operand rename; use !samegp reloc if
5841         TARGET_EXPLICIT_RELOCS.
5842         * doc/invoke.text: Document -msmall-text and -mlarge-text.
5843
5844 2002-12-20  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
5845
5846         * config/ns32k/ns32k.md (movdi): Use "l" instead of "f" to match
5847         all registers capable of holding a double float.
5848         (*rcond): change name of "reverse branch" insns to
5849         something more meaningful.
5850         (*rbgt, *rblt, *rbge, *rble): Reverse branches to handle IEEE
5851         comparisons properly.
5852         (*ffs): Change operand 0 from write to read-modify-write.
5853         (*ffsssi2): Drop constraints from define_expand.
5854
5855         * config/ns32k/ns32k.h (STORE_RATIO, STORE_BY_PIECES): Avoid using
5856         MOVE_RATIO as default for store operations.
5857
5858         * config/ns32k/ns32k.h (enum reg_class, REG_CLASS_NAMES): Add
5859         LONG_REGS class.
5860         (CANNOT_CHANGE_MODE_CLASS): Can't subreg LONG_REGS.
5861         (GO_IF_LEGITIMATE_ADDRESS): Remove spurious abort().
5862         * config/ns32k/ns32k.c (regclass_map): Add LONG_REGS class.
5863
5864         * config/ns32k/STATUS: New File
5865         * config/ns32k/NOTES: New file.
5866
5867 2002-12-20  Hartmut Penner  <hpenner@de.ibm.com>
5868
5869         * doc/invoke.texi: Document -mzarch, -mesa, -mcpu= and -march=
5870         option for S/390 and zSeries.
5871         * config/s390/s390.c (s390_cpu, s390_cpu_string, s390_arch,
5872         s390_arch_string): New variables.
5873         (override_options): Checking for options and setting of
5874         appropriate target_flags, cpu and arch flags.
5875         * config/s390/s390.h: (processor_type): New enum.
5876         (TARGET_SWITCHES): New switches -mesa/zarch.
5877         * config/s390/s390.md: New attribute 'cpu'.
5878
5879 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5880
5881         * c-pretty-print.h: Fix comment typos.
5882         * integrate.c: Likewise.
5883         * varasm.c: Likewise.
5884         * config/c4x/c4x.h: Likewise.
5885         * config/c4x/c4x.md: Likewise.
5886         * config/fr30/fr30.md: Likewise.
5887         * config/frv/frv.c: Likewise.
5888         * config/h8300/h8300.c: Likewise.
5889         * config/i386/i386.c: Likewise.
5890         * config/i386/i386.h: Likewise.
5891         * config/ia64/ia64.c: Likewise.
5892         * config/ia64/ia64.h: Likewise.
5893         * config/ip2k/ip2k.md: Likewise.
5894         * config/m68hc11/m68hc11-crt0.S: Likewise.
5895         * config/m68hc11/m68hc11.h: Likewise.
5896         * config/m68hc11/m68hc11.md: Likewise.
5897         * config/m68hc11/m68hc12.h: Likewise.
5898         * config/mcore/mcore.md: Likewise.
5899         * config/mips/mips.c: Likewise.
5900         * config/mips/mips.md: Likewise.
5901         * config/mmix/mmix-modes.def: Likewise.
5902         * config/pa/pa.c: Likewise.
5903         * config/rs6000/rs6000.c: Likewise.
5904         * config/rs6000/rs6000.h: Likewise.
5905         * config/rs6000/rs6000.md: Likewise.
5906
5907 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5908
5909         * config/h8300/h8300.md (output_a_shift): Clean up the code to
5910         output shifts using rotation.
5911
5912 2002-12-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
5913
5914         * flow.c (allocate_reg_life_data): Reset REG_FREQ.
5915
5916 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
5917
5918         * config/h8300/h8300.md (pushqi_h8300): Don't push the stack
5919         pointer.
5920         (pushqi_h8300hs): Likewise.
5921         (pushhi_h8300): Likewise.
5922         (pushhi_h8300hs): Likewise.
5923
5924 Thu Dec 19 23:44:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
5925
5926         * sched-rgn.c (init_regions): Update comment.
5927
5928 2002-12-19  David Edelsohn  <edelsohn@gnu.org>
5929
5930         * config/rs6000/rs6000.md (define_attr type): Remove altivec.
5931         * config/rs6000/altivec.md (movv4si_internal): Set correct instruction
5932         attributes.
5933         (movv8hi_internal,movv16qi_internal,movv4sf_internal): Same.
5934         (get_vrsave_internal,set_vrsave_internal): Same.
5935         (altivec_vspltisb,altivec_vspltish,altivec_vspltisw): Same.
5936         (absv16qi2,absv8hi2,absv4si2,absv4sf2): Same
5937         (altivec_abss_v16qi,altivec_abss_v8hi,altivec_abss_v4si): Same.
5938
5939 2002-12-19  Casper S. Hornstrup  <chorns@users.sourceforge.net>
5940             Danny Smith  <dannysmith@users.sourceforge.net>
5941             Eric Kohl  <ekohl@rz-online.de>
5942
5943         * config/i386/i386.c (ix86_handle_cdecl_attribute): Check for
5944         attributes incompatible with fastcall attribute.
5945         (ix86_handle_regparm_attribute): Likewise.
5946
5947         * config/i386/i386.c (ix86_comp_type_attributes): Check for mismatched
5948         fastcall types.
5949
5950         * config/i386/cygwin.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5951         attributes.
5952         (ASM_OUTPUT_LABELREF): Define as i386_pe_output_labelref.
5953         * config/i386/i386-protos.h (i386_pe_output_labelref): Declare.
5954         * config/i386/winnt.c (i386_pe_mark_dllimport). Add __imp_ prefix in
5955         i386_pe_output_labelref rather than here.
5956         (gen_fastcall_suffix): New function. Decorates a label name with the
5957         fastcall prefix (@) and the stdcall suffix.
5958         (i386_pe_encode_section_info): Call gen_fastcall_suffix() if a symbol
5959         has a fastcall attribute.
5960         (i386_pe_output_labelref): New function. Outputs a label reference.
5961         * config/i386/i386.c (ix86_attribute_table): Accept 'fastcall' as a
5962         valid attribute.
5963         (ix86_return_pops_args): Fastcall functions pop the stack.
5964         (init_cumulative_args): Reserve registers ECX and EDX if function has
5965         fastcall attribute.
5966         (function_arg): Use registers ECX and EDX if function has fastcall
5967         attribute.
5968         * config/i386/i386.h (CUMULATIVE_ARGS): Add fastcall attribute flag.
5969         (DLL_IMPORT_EXPORT_PREFIX): Redefine as '#'.
5970         (FASTCALL_PREFIX): Define as '@'.
5971         * config/i386/mingw32.h (TARGET_OS_CPP_BUILTINS): Add fastcall
5972         attributes.
5973         * doc/extend.texi: Add documentation of fastcall attribute.
5974
5975 2002-12-19  Nathanael Nerode  <neroden@gcc.gnu.org>
5976
5977         * configure.in: FORBUILD when build!=host changed from
5978         ../$build-alias to ../build-$build_alias to match change made
5979         in top directory.
5980         * configure: Regenerated.
5981
5982 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
5983
5984         PR optimization/8988
5985         * loop.c (maybe_eliminate_biv): Kill REG_EQUAL notes mentioning
5986         the biv when eliminating.
5987
5988 2002-12-19  Devang Patel  <dpatel@apple.com>
5989         * gcc.c (struct default_compiler): Recognizes input file name with
5990         .CPP extension as C++ source files
5991         * cp/lang-spec.h: Same
5992         * doc/invoke.texi:  Add documentation for .CPP support.
5993
5994 2002-12-19  Aldy Hernandez  <aldyh@redhat.com>
5995
5996         PR 8553
5997         * config/rs6000/altivec.md ("absv8hi2"): Add & to clobbered
5998         registers.
5999         ("absv16qi2"): Same.
6000         ("absv4si2"): Same.
6001         ("absv4sf2"): Same.
6002         ("altivec_abss_v16qi"): Same.
6003         ("altivec_abss_v8hi"): Same.
6004         ("altivec_abss_v4si"): Same.
6005
6006 2002-12-19  Ulrich Weigand  <uweigand@de.ibm.com>
6007
6008         * config/s390/s390.md ("*tsthiCCT", "*tsthiCCT_cconly",
6009         "*tstqiCCT", "*tstqiCCT_cconly"): New insns.
6010
6011 2002-12-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
6012
6013         PR target/8340
6014         * stmt.c (expand_asm_operands): Produce an error when
6015         the PIC register is clobbered.
6016
6017 2002-12-18  Daniel Berlin  <dberlin@dberlin.org>
6018
6019         * Makefile.in (OBJS): Add alloc-pool.o
6020         (alloc-pool.o): New object.
6021
6022         * alloc-pool.c: New file.
6023         * alloc-pool.h: New file.
6024
6025 2002-12-18  Loren James Rittle  <ljrittle@acm.org>
6026
6027         * gcc.c (validate_switches): Robustify against skipping past '\0'.
6028
6029 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6030
6031         * config.gcc: Set extra_objs in the generic Darwin rule,
6032         not in the machine-specific rules.
6033
6034 2002-12-19  Kazu Hirata  <kazu@cs.umass.edu>
6035
6036         * ChangeLog: Follow spelling conventions.
6037         * ChangeLog.2: Likewise.
6038         * ChangeLog.4: Likewise.
6039         * ChangeLog.5: Likewise.
6040         * cppexp.c: Likewise.
6041         * df.c: Likewise.
6042         * gcov.c: Likewise.
6043         * gengtype.c: Likewise.
6044         * reload1.c: Likewise.
6045         * sched-rgn.c: Likewise.
6046         * stmt.c: Likewise.
6047         * stor-layout.c: Likewise.
6048         * timevar.c: Likewise.
6049         * toplev.c: Likewise.
6050         * tree.h: Likewise.
6051         * varasm.c: Likewise.
6052         * config/fr30/fr30.md: Likewise.
6053         * config/i386/i386.c: Likewise.
6054         * config/ia64/ia64.c: Likewise.
6055         * config/pa/pa.c: Likewise.
6056
6057 2002-12-18  Roger Sayle  <roger@eyesopen.com>
6058
6059         * basic-block.h (flow_bb_inside_loop_p): Correct prototype.
6060
6061 2002-12-18  Aldy Hernandez  <aldyh@redhat.com>
6062
6063         PR 8551
6064         * config/rs6000/altivec.h (vec_cmplt macro): Reverse arguments in
6065         macro.
6066         (vec_cmplt C++ functions): Reverse arguments.
6067
6068 2002-12-18  Geoffrey Keating  <geoffk@apple.com>
6069
6070         * config/rs6000/t-rs6000: Move contents to t-fprules,
6071         add rules for dependencies of rs6000.o and to build rs6000-c.o
6072         * config/rs6000/t-fprules: New file from t-rs6000.
6073         * config/rs6000/t-beos: Remove soft-fp rules.
6074         * config/rs6000/t-ppccomm: Likewise.
6075         * config/rs6000/t-newas: Likewise.
6076         * config/rs6000/t-rs6000-c-rule: Delete.
6077         * config.gcc: Use t-fprules for rs6000/ ports when appropriate.
6078         Use t-rs6000 for all rs6000/ ports instead of t-rs6000-c-rule.
6079         Create generic Darwin rules.
6080
6081         * gengenrtl.c (gencode): Delete unnecessary rtl_obstack declaration.
6082
6083 2002-12-18  Doug Evans  <dje@sebabeach.org>
6084
6085         * m32r/m32r.c (addr24_operand): Fix arg to CONSTANT_POOL_ADDRESS_P
6086         and LIT_NAME_P.
6087         (move_src_operand): Remove compile-time warning.
6088         * m32r/m32r.h (ROUND_ADVANCE_ARG): Ditto.
6089
6090 2002-12-18  Jason Merrill  <jason@redhat.com>
6091
6092         * unwind-dw2-fde.c (frame_downheap): Split out from...
6093         (frame_heapsort): Here.
6094
6095 2002-12-17  Jason Merrill  <jason@redhat.com>
6096
6097         * tree.c (make_node): Don't set TREE_TYPE on 's' class nodes.
6098         (build1): Always set TREE_SIDE_EFFECTS on 's' class nodes.
6099
6100         * gcc.c (do_spec_1) ['W']: End any pending argument from the braces.
6101
6102         * calls.c (expand_call): Don't try to be clever about expanding
6103         the return slot address.
6104
6105 2002-12-18  Kaz kojima  <kkojima@gcc.gnu.org>
6106
6107         * config/sh/linux.h (NO_IMPLICIT_EXTERN_C, CPLUSPLUS_CPP_SPEC):
6108         Define.
6109
6110 2002-12-17  Jason Merrill  <jason@redhat.com>
6111
6112         * genmultilib: Use 'cd ./foo'.
6113
6114 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6115
6116         * doc/c-tree.texi: Restore deliberate spelling mistakes.
6117
6118 2002-12-17  Kazu Hirata  <kazu@cs.umass.edu>
6119
6120         * doc/c-tree.texi: Fix typos and follow spelling conventions.
6121         * doc/cpp.texi: Likewise.
6122         * doc/extend.texi: Likewise.
6123         * doc/gty.texi: Likewise.
6124         * doc/install.texi: Likewise.
6125         * doc/invoke.texi: Likewise.
6126         * doc/md.texi: Likewise.
6127         * doc/passes.texi: Likewise.
6128         * doc/rtl.texi: Likewise.
6129         * doc/sourcebuild.texi: Likewise.
6130         * doc/tm.texi: Likewise.
6131
6132 2002-12-17  Jerry Quinn  <jlquinn@optonline.net>
6133
6134         * doc/invoke.texi: Minor spelling and grammar fixes.
6135
6136 2002-12-17  Ulrich Weigand  <uweigand@de.ibm.com>
6137
6138         * config/s390/s390.c (s390_output_constant_pool): Replace
6139         ASM_OUTPUT_INTERNAL_LABEL by (*targetm.asm_out.internal_label).
6140
6141 Tue Dec 17 09:47:57 CET 2002  Jan Hubicka  <jh@suse.cz>
6142
6143         * convert.c (convert_to_real): Disable function transformation for
6144         now.
6145
6146 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6147
6148         * gcc.c (handle_braces): Allow '@' as a switch name.
6149
6150 2002-12-16  Jason Merrill  <jason@redhat.com>
6151
6152         * calls.c (expand_call): Handle CALL_EXPR_HAS_RETURN_SLOT_ADDR
6153         with special struct-return ABIs.
6154
6155         * c-semantics.c (add_scope_stmt): Abort if the end SCOPE_STMT
6156         doesn't match the begin SCOPE_STMT in partialness.
6157
6158 2002-12-16  Geoffrey Keating  <geoffk@apple.com>
6159
6160         * genmultilib: Create temporary files in unique subdirectory.
6161
6162         * gcc.c (validate_switches): Allow '@' as a switch name.
6163
6164 2002-12-16  Loren J. Rittle  <ljrittle@acm.org>
6165
6166         * Makefile.in (gcov-iov.h): Improve portability.
6167
6168 Mon Dec 16 23:39:19 CET 2002  Jan Hubicka  <jh@suse.cz>
6169
6170         * mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Do not use qpword on API_N32/not
6171         gas
6172         * mips.md (tablejump insn): Likewise.
6173
6174 2002-12-16  Mark Mitchell  <mark@codesourcery.com>
6175
6176         * doc/include/gcc-common.texi: Change version number to 3.4.
6177
6178 2002-12-16  Bruce Korb  <bkorb@gnu.org>
6179
6180         * fixinc/fixlib.h: add: #include <signal.h>
6181         * fixinc/fixincl.c: remove: #include <signal.h>
6182
6183 Mon Dec 16 17:20:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
6184
6185         * sh.h (EXTRA_CONSTRAINT_Z): New macro.
6186         (EXTRA_CONSTRAINT): Use it.
6187         * sh.md (anddi3): Use 'Z' constraint for alternative 2.
6188
6189 2002-12-15  Zack Weinberg  <zack@codesourcery.com>
6190
6191         * config.gcc (need_64bit_hwint): New variable.
6192         (alpha*-*-*, x86_64-*-*, ia64-*-*, mips*-*-*, powerpc*-*-*,
6193         mmix-knuth-mmixware, rs6000*-*-*, sparc64*-*-*, s390*-*-*,
6194         sh*-*-*, hppa*64*-*-linux, parisc*64*-*-linux, hppa*64*-*-hpux11*,
6195         sparcv9-*-solaris2*, sparc*-*-solaris2.[789], ultrasparc-*-freebsd*):
6196         Set it.
6197         (powerpc*-*-darwin*): Unset it.
6198         (alpha-*-interix, alpha64-dec-*vms*, i?86-*-interix3*,
6199         i?86-*-interix*, sparc64-*-openbsd*): Remove references to
6200         deleted/nonexistent xm-*.h headers.
6201         * configure.in: AC_DEFINE NEED_64BIT_HOST_WIDE_INT if the
6202         target set need_64bit_hwint in config.gcc.
6203         * configure, config.in: Regenerate.
6204
6205         * hwint.h: Overhaul.  Don't bother trying int for
6206         HOST_WIDE_INT.  Do try __int64 if long is not enough.  Base
6207         decision to force 64-bit HOST_WIDE_INT on
6208         NEED_64BIT_HOST_WIDE_INT, not (MAX_)LONG_TYPE_SIZE which is
6209         not visible at this point.  Don't allow prior definition of
6210         any macro defined by this file.
6211
6212         * config/alpha/xm-vms.h: Don't define HOST_WIDE_INT or
6213         HOST_BITS_PER_WIDE_INT.
6214         * config/c4x/c4x.h: Adjust redefinition of
6215         HOST_WIDE_INT_PRINT_HEX to match changes to hwint.h.
6216         * config/alpha/xm-alpha-interix.h, config/alpha/xm-vms64.h,
6217         config/i386/xm-i386-interix.h: Delete file.
6218
6219 2002-12-14  Rodney Brown  <rbrown64@csc.com.au>
6220             John David Anglin  <dave@hiauly1.hia.nrc.ca>
6221
6222         * pa.c (output_millicode_call): Convert ASM_OUTPUT_INTERNAL_LABEL.
6223         * pa64-hpux.h (ASM_OUTPUT_INTERNAL_LABEL): Delete define.
6224
6225 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6226
6227         * mkconfig.sh: Correct comment.  Add copyright boilerplate.
6228
6229 2002-12-14  Zack Weinberg  <zack@codesourcery.com>
6230
6231         * config/t-darwin, config/arm/t-pe, config/arm/t-strongarm-pe,
6232         config/c4x/t-c4x, config/i370/t-i370, config/i386/t-cygwin,
6233         config/i386/t-interix, config/i960/t-960bare, config/ia64/t-ia64,
6234         config/rs6000/t-rs6000-c-rule, config/sparc/t-sol2,
6235         config/v850/t-v850:  Correct dependencies and normalize
6236         compilation commands for files that include coretypes.h and tm.h.
6237
6238         * config/sparc/gmon-sol2.c: Include tconfig.h and tsystem.h,
6239         not config.h and system.h.
6240
6241 Sat Dec 14 20:43:41 CET 2002  Jan Hubicka  <jh@suse.cz>
6242
6243         * i386.c (flags_reg_operand):  New function.
6244         * i386.h (PREDICATE_CODES): Add flags_reg_operand.
6245         * i386.md (cmov splitter, movqicc): Use new predicate.
6246
6247 Sat Dec 14 17:03:17 CET 2002  Jan Hubicka  <jh@suse.cz>
6248
6249         * i386.md (movqicc splitter): Fix template.
6250
6251 2002-12-13  Jason Merrill  <jason@redhat.com>
6252
6253         * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): New macro.
6254         * calls.c (expand_call): Handle it.
6255         * tree-inline.c (struct inline_data): Remove target_exprs field.
6256         (optimize_inline_calls): Don't initialize it.
6257         (expand_call_inline): Don't modify it.  Handle
6258         CALL_EXPR_HAS_RETURN_SLOT_ADDR.
6259         (declare_return_variable): Take return slot addr.
6260         * langhooks.h (copy_res_decl_for_inlining): Change target_exprs parm
6261         to return_slot_addr.
6262         * langhooks-def.h, langhooks.c: Adjust.
6263         * explow.c (maybe_set_unchanging): Don't set RTX_UNCHANGING_P for
6264         a decl with no DECL_INITIAL.
6265
6266         * expr.c (expand_expr): Don't discard the target of a call which
6267         returns in memory.
6268
6269 2002-12-13  Neil Booth  <neil@daikokuya.co.uk>
6270
6271         * cppinit.c (path_include): Take an environment variable name.
6272         Tidy up.
6273         (init_standard_includes): Simplify environment handling, and
6274         move to ...
6275         (cpp_read_main_file): ...here as -nostdinc should not affect
6276         environment variable paths.
6277
6278 2002-12-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6279
6280         * pa.c (output_millicode_call): Correct typo.
6281         (output_call): Likewise.
6282
6283 Fri Dec 13 21:07:18 2002  Alexandre Oliva  <aoliva@redhat.com>
6284
6285         * config/mn10300/mn10300.c (print_operand) <case N>: Check
6286         operand's range.  Print value directly, without aid from
6287         output_address.
6288         <case U>: New.
6289         <case S>: Make sure argument to fprintf has the right type.
6290         * config/mn10300/mn10300.h (OK_FOR_T): New macro.
6291         (EXTRA_CONSTRAINT): Adjust.
6292         * config/mn10300/mn10300.md: Add new all-QImode pattern for
6293         bclr.  Use %U for immediate operands of bset and bclr.
6294         (iorqi3): New expand, with insns for AM33 and mn10300.
6295
6296 Fri Dec 13 16:02:27 2002  J"orn Rennecke <joern.rennecke@superh.com>
6297
6298         * sh.c (sh_register_operand): New function.
6299         (prepare_move_operands): Use it.
6300         * sh.h (PREDICATE_CODES): Add entry for sh_register_operand.
6301         * sh.md (movsi_media, movsi_media_nofpu): Allow stores of 0.
6302         (movqi_media, movhi_media, movdi_media, movdi_media_nofpu): Likewise.
6303         (movdf_media, movdf_media_nofpu, movv4sf_i, movsf_media): Likewise.
6304         (movsf_media_nofpu, movv2hi_i, movv4hi_i, movv8qi_i): Likewise.
6305         (movv2si_i): Likewise.
6306
6307 2002-12-13  Jim Wilson  <wilson@redhat.com>
6308
6309         * doc/extend.texi (Complex Numbers): Update info on debug info.
6310
6311 2002-12-13  Kazu Hirata  <kazu@cs.umass.edu>
6312
6313         * config/h8300/h8300.md (addhi3_h8300): Remove the last
6314         alternative.
6315
6316 2002-12-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
6317
6318         * hooks.h (hook_tree_tree_bool_false): Declare
6319         hook_bool_tree_tree_false instead.
6320
6321 2002-12-12  Devang Patel  <dpatel@apple.com>
6322
6323         * doc/invoke.texi: Document Darwin linker options, -bundle
6324         -bind_at_load, -all_load and -arch_errors_fatal
6325
6326 2002-12-12  Jim Wilson  <wilson@redhat.com>
6327
6328         * dbxout.c (dbxout_fptype_value): New.
6329         (dbxout_type, case COMPLEX_TYPE): Call it.  Use 'R' instead of 'r'.
6330
6331 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6332
6333         * c-decl.c: Fix a comment typo.
6334         * cfg.c: Likewise.
6335         * cfgcleanup.c: Likewise.
6336         * cfglayout.c: Likewise.
6337         * cfgrtl.c: Likewise.
6338         * c-typeck.c: Likewise.
6339         * dominance.c: Likewise.
6340         * dwarf2asm.c: Likewise.
6341         * dwarfout.c: Likewise.
6342         * expmed.c: Likewise.
6343         * expr.c: Likewise.
6344         * final.c: Likewise.
6345         * flow.c: Likewise.
6346         * function.c: Likewise.
6347         * gcc.c: Likewise.
6348         * genautomata.c: Likewise.
6349         * integrate.c: Likewise.
6350         * loop.c: Likewise.
6351         * loop.h: Likewise.
6352         * output.h: Likewise.
6353         * profile.c: Likewise.
6354         * ra.h: Likewise.
6355         * reload1.c: Likewise.
6356         * reload.c: Likewise.
6357         * sched-rgn.c: Likewise.
6358         * stmt.c: Likewise.
6359         * tree.h: Likewise.
6360         * vmsdbgout.c: Likewise.
6361
6362 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6363
6364         * config/h8300/h8300.md: Add a new peephole2.
6365
6366 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6367
6368         * config/h8300/h8300.md (a peephole2): Accept a constant
6369         that's accepted by CONST_OK_FOR_J.
6370
6371 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6372
6373         * config/h8300/h8300.h (CONST_OK_FOR_J): New.
6374         (CONST_OK_FOR_LETTER_P): Use CONST_OK_FOR_J.
6375         * config/h8300/h8300.md (*addhi_h8300): Add a new alternative.
6376         (*addhi_h8300hs): Likewise.
6377
6378 Thu Dec 12 16:24:59 2002  J"orn Rennecke <joern.rennecke@superh.com>
6379
6380         * sh.c (reg_class_from_letter): No longer const.  Add 'e' entry.
6381         (sh_register_move_cost): Add clause for SImode fp-fp moves.
6382         Increase cost for moves involving multiple general purpose registers.
6383         * sh.h (OVERRIDE_OPTIONS): Set reg_class_from_letter['e'] according to
6384         TARGET_FMOVD.
6385         (HARD_REGNO_MODE_OK): Allow V2SFmode and V4SFmode in general purpose
6386         registers, and SImode in fp registers, for ! TARGET_SHMEDIA.
6387         (enum reg_class reg_class_from_letter): No longer const.
6388         (SECONDARY_OUTPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG /
6389         REGCLASS_HAS_GENERAL_REG.
6390         Handle SImode moves from/to fp registers.
6391         ! TARGET_SHMEDIA && TARGET_FMOVD.
6392         (SECONDARY_INPUT_RELOAD_CLASS): Use REGCLASS_HAS_FP_REG.
6393         * sh.md (movsi_ie): Add alternatives to move from / to fp regisyters.
6394
6395 2002-12-12  Andreas Schwab  <schwab@suse.de>
6396
6397         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Fix typo in last
6398         change and some warnings.
6399
6400 2002-12-12  Kazu Hirata  <kazu@cs.umass.edu>
6401
6402         * doc/md.texi (pushm): Fix a typo.
6403
6404 2002-12-12  Alexandre Oliva  <aoliva@redhat.com>
6405
6406         * config/mips/mips.c (mips_output_conditional_branch): Support
6407         PIC-safe out-of-range branch and branch-likely.
6408         * config/mips/mips.md (attr length): PIC-safe out-of-range
6409         branches are longer.
6410         ("jump"): Support PIC-safe out-of-range-for-branch jumps.  Remove
6411         unused code to support indirect jumps.
6412
6413 2002-12-11  Zack Weinberg  <zack@codesourcery.com>
6414
6415         * Makefile.in (GTFILES): Add $(host_xm_file_list) and
6416         $(tm_file_list).
6417
6418 2002-12-11  David Edelsohn  <edelsohn@gnu.org>
6419
6420         * config/rs6000/t-rs6000-c-rule: Add coretypes.h $(TM_H) dependencies.
6421
6422 Wed Dec 11 15:20:45 CET 2002  Jan Hubicka  <jh@suse.cz>
6423
6424         * i386.md (cmove splitters): Avoid creation of unnecesary subregs.
6425
6426 2002-12-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6427
6428         * pa.h (BIGGEST_ALIGNMENT): Change 32-bit value to 64 bits.
6429         (MAX_PARM_BOUNDARY, STACK_BOUNDARY): Express in terms of
6430         BIGGEST_ALIGNMENT.
6431         (PREFERRED_STACK_BOUNDARY): Express in terms of STACK_BOUNDARY.
6432         (FUNCTION_BOUNDARY): Express in terms of BITS_PER_WORD.
6433
6434 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6435
6436         * doc/invoke.texi: Correct dump file names.
6437
6438 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6439
6440         * config/ia64/ia64.c (ia64_hpux_asm_file_end): Don't send stripped
6441         name to globalize_label or assemble_name.
6442
6443 Wed Dec 11 20:15:19 2002  J"orn Rennecke <joern.rennecke@superh.com>
6444
6445         * sh.h (REG_CLASS_HAS_GENERAL_REG): Only true for SIBCALL_REGS
6446         if not TARGET_SHMEDIA.
6447
6448 Wed Dec 11 19:05:05 2002  J"orn Rennecke <joern.rennecke@superh.com>
6449
6450         * sh.h (REG_CLASS_HAS_FP_REG): New.
6451         (REGISTER_MOVE_COST) Use it.  Put body into a function and
6452         move it into:
6453         * sh.c (sh_register_move_cost).
6454         * sh-protos.h (sh_register_move_cost): Declare.
6455
6456         * sh.c (sh_expand_builtin): Abort for unexpected nop values.
6457         (sh_adjust_cost): Always return a value.
6458
6459 Wed Dec 11 18:39:52 2002  J"orn Rennecke <joern.rennecke@superh.com>
6460
6461         * sh.h (REG_CLASS_HAS_GENERAL_REG): New.
6462         (REGISTER_MOVE_COST): Use it.
6463
6464 2002-12-11  Richard Henderson  <rth@redhat.com>
6465
6466         * tree.h (MODULE_LOCAL_P): Kill.
6467         * varasm.c (default_binds_local_p_1): Use decl_visibility instead.
6468
6469 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6470
6471         * config/h8300/h8300.md (two define_peephole2): New.
6472
6473 2002-12-11  Kazu Hirata  <kazu@cs.umass.edu>
6474
6475         * config/h8300/h8300.h (CONST_OK_FOR_J): Remove.
6476         (CONST_OK_FOR_K): Likewise.
6477         (CONST_OK_FOR_M): Likewise.
6478         (CONST_OK_FOR_LETTER_P): Do not use the above macros.
6479
6480 2002-12-11  Neil Booth  <neil@daikokuya.co.uk>
6481
6482         * c-common.c (builtin_define_type_max): Handle unsigned
6483         types too.
6484
6485 2002-12-10  David Edelsohn  <edelsohn@gnu.org>
6486
6487         * haifa-sched.c (rank_for_schedule): Correct style.
6488
6489 2002-12-10  Per Bothner  <pbothner@apple.com>
6490
6491         * cpplib.h (struct cpp_hashnode):  Split a non-portably-signed field
6492         directive_index into an unsigned field and a new is_directive field.
6493         * cppinit.c (mark_named_operators):  Update to set new fields.
6494         * cpplex.c (_cpp_lex_direct):  Now directive_field is unsigned.
6495         * cpplib.c [_cpp_handle_directive]:   Test is_directive field.
6496         No longer need to subtract 1 from directive_index.
6497         (_cpp_init_directives):  No longer need to add 1 to directive_index.
6498         * cpptrad.c (scan_out_logical_line):  Use is_directive field.
6499
6500 2002-12-10  Roger Sayle  <roger@eyesopen.com>
6501
6502         * builtins.c (fold_builtin): Remove -funsafe-math-optimizations
6503         check for evaluating sqrt of a constant at compile time.
6504         * simplify-rtx.c (simplify_unary_operation): Likewise.
6505
6506 2002-12-10  Janis Johnson  <janis187@us.ibm.com>
6507
6508         PR other/8882
6509         * doc/tm.texi (PUSH_ARGS): Remove misplaced line.
6510
6511 2002-12-10  Devang Patel  <dpatel@appple.com>
6512
6513         * config/darwin.h(LINK_SPEC): Add darwin specific linker options.
6514         * doc/invoke.texi: Add new "Darwin Options" section.
6515
6516 2002-12-10  Jim Wilson  <wilson@redhat.com>
6517
6518         * rs6000.h (RETURN_IN_MEMORY): If ABI_V4, then TFmode is returned in
6519         memory.
6520
6521 2002-12-10  Andrew Haley  <aph@redhat.com>
6522
6523         * cse.c (cse_insn): Don't cse past a basic block boundary.
6524
6525 2002-12-10  Jakub Jelinek  <jakub@redhat.com>
6526
6527         * config/linux.h (LIB_SPEC): If -pthread, add -lpthread even if
6528         -shared.
6529         * config/alpha/linux-elf.h (LIB_SPEC): Likewise.
6530         * config/alpha/linux.h (LIB_SPEC): Likewise.
6531         * config/arm/linux-elf.h (LIB_SPEC): Likewise.
6532         * config/pa/pa-linux.h (LIB_SPEC): Likewise.
6533         * config/sparc/linux.h (LIB_SPEC): Likewise.
6534         * config/sparc/linux64.h (LIB_SPEC): Likewise.
6535
6536 2002-12-09  Larin Hennessy  <larin@science.oregonstate.edu>
6537
6538         * doc/invoke.texi: Document UltraSparc III option.
6539
6540 2002-12-09  Richard Henderson  <rth@redhat.com>
6541
6542         * config/i386/i386.h (TARGET_CPU_CPP_BUILTINS): Define
6543         __tune_pentium2__ and __tune_pentium3__ as necessary.
6544
6545 2002-12-09  Richard Henderson  <rth@redhat.com>
6546
6547         * target.h (gcc_target): Add cannot_force_const_mem.
6548         * target-def.h (TARGET_CANNOT_FORCE_CONST_MEM): New.
6549         (TARGET_INITIALIZER): Add it.
6550         * varasm.c (force_const_mem): Fail if cannot_force_const_mem.
6551         * expr.c (emit_move_insn): Be prepared for force_const_mem to fail.
6552         * reload1.c (reload): Likewise.
6553         * hooks.c (hook_bool_rtx_false): New.
6554         * hooks.h: Declare it.
6555
6556         * config/i386/i386.c (ix86_cannot_force_const_mem): New.
6557         (TARGET_CANNOT_FORCE_CONST_MEM): New.
6558         (ix86_expand_move): Remove de-const-pooling hack.
6559
6560 Mon Dec  9 21:33:38 CET 2002  Jan Hubicka  <jh@suse.cz>
6561
6562         * toplev.c (dump_file): Fix order to match reality.
6563
6564 2002-12-08  Geoffrey Keating  <geoffk@apple.com>
6565
6566         * config/rs6000/rs6000.md (load_multiple): Use adjust_address_nv.
6567         (store_multiple): Likewise.
6568
6569 2002-12-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6570
6571         * pa/fptr.c (__canonicalize_funcptr_for_compare): Don't canonicalize
6572         function pointers in page 0.
6573
6574 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6575
6576         * config/ia64/hpux.h (TARGET_STRUCT_ARG_REG_LITTLE_ENDIAN): Remove
6577         definition
6578         (MEMBER_TYPE_FORCES_BLK): Move.
6579         * config/ia64/ia64.c (ia64_function_arg): Use PARALLEL to pass
6580         aggregate arguments.
6581         (ia64_function_value): Use PARALLEL to return aggregate values.
6582
6583 2002-12-09  Steve Ellcey  <sje@cup.hp.com>
6584
6585         * doc/tm.texi (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6586         * defaults.h (FUNCTION_ARG_REG_LITTLE_ENDIAN): Remove definition.
6587         * calls.c (store_unaligned_arguments_into_pseudos) Remove
6588         FUNCTION_ARG_REG_LITTLE_ENDIAN.
6589         * stmt.c (expand_return): Ditto.
6590         * expr.c (move_block_from_reg): Ditto.
6591         (copy_blkmode_from_reg): Ditto.
6592         * expmed.c (store_bit_field): Ditto.
6593
6594 2002-12-09  Svein E. Seldal  <Svein.Seldal@solidas.com>
6595
6596         * config.gcc: Added tic4x-* target as an alias to c4x-*
6597
6598 Sun Dec  8 14:57:39 CET 2002  Jan Hubicka  <jh@suse.cz>
6599
6600         * i386.c (ix86_expand_int_movcc): Use force_operand instead of
6601         constructing insn directly.
6602
6603 2002-12-06  Per Bothner  <pbothner@apple.com>
6604
6605         * cpplib.h (struct cpp_hashnode):  Change field directive_index from
6606         char to an int bit-field, for hosts where char is unsigned.
6607
6608 2002-12-07  Roger Sayle  <roger@eyesopen.com>
6609             Richard Henderson <rth@redhat.com>
6610
6611         * real.c (ieee_extended_motorola_format,
6612         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
6613         ieee_quad_format, vax_d_format, vax_g_format, i370_double_format):
6614         Provide appropriate values for new signbit field.
6615
6616 2002-12-07  Roger Sayle  <roger@eyesopen.com>
6617
6618         * real.h (real_format): Add signbit field.
6619         * real.c (ieee_single_format, ieee_double_format,
6620         ieee_extended_motorola_format, ieee_extended_intel_96_format,
6621         ieee_extended_intel_128_format, ibm_extended_format,
6622         ieee_quad_format, vax_f_format, vax_d_format,
6623         vax_g_format, i370_single_format, i370_double_format,
6624         c4x_single_format, c4x_extended_format, real_internal_format):
6625         Provide suitable signbit value, or -1 to avoid bit twiddling.
6626
6627         * optabs.c (expand_unop): Try implementing negation of
6628         floating point modes by flipping the sign bit.
6629         (expand_abs): Try implementing abs of floating point modes
6630         by clearing the sign bit.
6631
6632 Sat Dec  7 22:29:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6633
6634         * i386.c (ix86_expand_int_movcc):  Use force_operand instead
6635         of constructing insn directly.
6636
6637 2002-12-07  Kazu Hirata  <kazu@cs.umass.edu>
6638
6639         * config/h8300/h8300.md (*iorhi_shift_8): New.
6640
6641 2002-12-06  Bernd Schmidt  <bernds@redhat.com>
6642
6643         * doc/invoke.texi: Document FRV port options.
6644         * doc/md.texi: Document FRV register classes.
6645
6646 2002-12-07  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
6647
6648         * doc/install.texi (Configuration): Improve description of cases
6649         where `make distclean` may fail; clarify --with-gnu-as; fix grammar.
6650
6651 2002-12-06  Per Bothner  <pbothner@apple.com>
6652
6653         * cpplib.h (NODE_MACRO_ARG):  New flag.
6654         (struct cpp_hashnode):  Give _cpp_hashnode_value tag to value union.
6655         Remove value.operator field.  Move arg_index field to value union.
6656         (directive_index):  Make signed, since also used for C++ operators.
6657         * cppmacro.c (_cpp_save_parameter):  Use NODE_MACRO_ARG flag to
6658         check for duplicate parameter.  Set NODE_MACRO_ARG flag.
6659         Save node->value, and set node->value.arg_index.
6660         (_cpp_create_definition):  For each paramater, restore node->value.
6661         (lex_expansion_token):  Use NODE_MACRO_ARG flag, and moved arg_index.
6662         * cpptrad.c (scan_out_logical_line): Likewise.
6663         (scan_out_logical_line): Check for directive > 0.
6664         * cpplib.c (cpp_handle_directive):  Likewise.
6665         * cpplex.c (_cpp_lex_direct):  Update as value.operator is replaced
6666         by negative of directive_index.
6667         * cppinit.c (mark_named_operators):  Likewise.
6668
6669         * hashtable.h (struct ht_identifier):  Swap fields, for better packing.
6670
6671 2002-12-06 Dhananjay Deshpande <dhananjayd@kpit.com>
6672
6673         * gcc/config/sh/sh.c (calc_live_regs): Save fpscr only if target has
6674         FPU.
6675         (push): Generate push_fpscr.
6676         (pop): Generate pop_fpscr.
6677         * gcc/config/sh/sh.md : Add define_expand "push_fpscr", "pop_fpscr".
6678         (fpu_switch): Add alternative to push fpscr.  Enable for TARGET_SH3E.
6679
6680 Fri Dec  6 19:36:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
6681
6682         * sh.c (dump_table): DImode pool constants need only 32 bit alignment.
6683         DFmode alignment depends on TARGET_FMOVD && TARGET_ALIGN_DOUBLE.
6684
6685 Fri Dec  6 19:17:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
6686
6687         * sh.md (movdi_i): Name.  Remove inappropriate comment.
6688
6689 Fri Dec  6 15:44:46 2002  J"orn Rennecke <joern.rennecke@superh.com>
6690         Merged from basic improvements branch (excerpt):
6691
6692         2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
6693         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
6694
6695 2002-12-06  Jakub Jelinek  <jakub@redhat.com>
6696
6697         * expr.c (expand_expr) <case COND_EXPR>: Never modify exp in place.
6698
6699 Thu Dec  5 16:58:25 CET 2002  Jan Hubicka  <jh@suse.cz>
6700
6701         * i386.md (dimode peep2s): Re-add "&& 1".
6702
6703 Thu Dec  5 14:10:15 CET 2002  Jan Hubicka  <jh@suse.cz>
6704
6705         * i386.c (ix86_expand_prologue):  Add comment, do not use
6706         fast prologues for cold and normal functions.
6707
6708 Thu Dec  5 00:52:37 CET 2002  Jan Hubicka  <jh@suse.cz>
6709
6710         * i386.c (x86_rep_movl_optimal): New variable.
6711         (ix86_expand_movstr, ix86_expand_clrstr): Use TARGET_REP_MOVL_OPTIMAL
6712         * i386.h (TARGET_REP_MOVL_OPTIMAL): New macro.
6713
6714         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
6715         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
6716         neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
6717         generate unnecesary subregs.
6718
6719 2002-12-05  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6720
6721         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): Move define.
6722         * pa.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL): To here.
6723
6724 2002-12-05  Dale Johannesen  <dalej@apple.com>
6725
6726         * tree.c (unsafe_for_reeval):  Consider callee child of CALL_EXPR.
6727
6728 2002-12-05  Danny Smith  <dannysmith@users.sourceforge.net>
6729
6730         * config/i386/cygwin.h (SUBTARGET_PROLOGUE): Replace with
6731         PROFILE_HOOK.
6732         * config/i386/mingw32.h (SUBTARGET_PROLOGUE): Don't undef.
6733
6734 2002-12-05  Aldy Hernandez  <aldyh@redhat.com>
6735
6736         * config/rs6000/spe.h (__ev_mwlufi): Remove.
6737         (__ev_mwlufia): Remove.
6738         (__ev_mwlumfaaw): Remove.
6739         (__ev_mwlusfaaw): Remove.
6740         (__ev_mwlumfanw): Remove.
6741         (__ev_mwlusfanw): Remove.
6742
6743 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
6744
6745         * config/h8300/h8300.md (*andorsi3_shift_8): New.
6746
6747 2002-12-05  Kazu Hirata  <kazu@cs.umass.edu>
6748
6749         * config/h8300/h8300.c (shift_alg_si): Optimize ashift:HI and
6750         lshiftrt:SI by 28, 29, and 30 bits when !TARGET_H8300.
6751         (get_shift_alg): Return optimal assembly instructions for the
6752         shifts mentioned above.
6753
6754 Wed Dec  4 11:53:07 CET 2002  Jan Hubicka  <jh@suse.cz>
6755
6756         * i386.c (ix86_expand_int_movcc): Force operand into register for QImode
6757         condtiional moves.
6758
6759 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6760
6761         * config/h8300/h8300.c (h8300_init_once): Do not use loop to
6762         implement ashiftrt:HI by 13 bits on H8S.
6763
6764 2002-12-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
6765
6766         * pa/fptr.c (__canonicalize_funcptr_for_compare): New file and function.
6767         * pa.md (canonicalize_funcptr_for_compare): Output library call to
6768         canonicalize_funcptr_for_compare_libfunc on TARGET_ELF32.
6769         * pa32-linux.h (CANONICALIZE_FUNCPTR_FOR_COMPARE_LIBCALL,
6770         CTOR_LIST_BEGIN): New defines.
6771         * pa/t-linux (LIB2FUNCS_EXTRA): New define.
6772         (fptr.c): Add make rules.
6773
6774 2002-12-04  Geoffrey Keating  <geoffk@apple.com>
6775
6776         * combine.c (combine_simplify_rtx): Add new canonicalizations.
6777         * doc/md.texi (Insn Canonicalizations): Document new
6778         canonicalizations for multiply/add combinations.
6779         * config/rs6000/rs6000.md: Add and modify floating add/multiply
6780         patterns to ensure they're used whenever they can be.
6781
6782 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6783
6784         * config/h8300/h8300.c: Update the comments related to shifts.
6785
6786 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
6787
6788         * config/mips/mips.md (get_fnaddr): Correct length attribute.
6789
6790 2002-12-04  Kazu Hirata  <kazu@cs.umass.edu>
6791
6792         * config/h8300/h8300.md (*extzv_8_8): New.
6793         (*extzv_8_16): Likewise.
6794
6795 2002-12-04  Jason Merrill  <jason@redhat.com>
6796
6797         PR c++/8461, c++/8625
6798         * integrate.c (copy_decl_for_inlining): Handle explicit invisible
6799         references.
6800         * tree-inline.c (initialize_inlined_parameters): Likewise.
6801
6802         * tree.c (variably_modified_type_p): Just return an error_mark_node.
6803
6804 2002-12-04  Chris Demetriou  <cgd@broadcom.com>
6805
6806         * config/mips/mips.md (get_fnaddr): Avoid placing an "la"
6807         macro instruction in a branch delay slot, to avoid assembler
6808         warnings.
6809
6810 2002-12-04  Eric Botcazou  <ebotcazou@libertysurf.fr>
6811
6812         PR c/7622
6813         * c-semantics (genrtl_scope_stmt): Do not output inlined
6814         nested functions that contain no code.
6815
6816 Wed Dec  4 15:20:54 CET 2002  Jan Hubicka  <jh@suse.cz>
6817
6818         * cfgrtl.c (force_nonfallthru_and_redirect):  Allow abnormal edge
6819         to be forced into nonfallthru.
6820
6821 2002-12-03  Jason Thorpe  <thorpej@wasabisystems.com>
6822
6823         * config/t-netbsd (USER_H): Set to $(EXTRA_HEADERS).
6824
6825 2002-12-03  Aldy Hernandez  <aldyh@redhat.com>
6826
6827         * config/rs6000/spe.md (*movv1di_const0): New pattern.
6828
6829 2002-12-03  Richard Henderson  <rth@redhat.com>
6830
6831         * libgcc-std.ver: Inherit GCC_3.3 from GCC_3.0.
6832
6833 2002-12-03  Hans-Peter Nilsson  <hp@bitrange.com>
6834
6835         * bitmap.c (bitmap_ior_and_compl, bitmap_union_of_diff):
6836         Initialize tmp.using_obstack to 0.
6837
6838 2002-12-03  Andreas Schwab  <schwab@suse.de>
6839
6840         * config/m68k/m68k.h (EH_RETURN_DATA_REGNO): Define.
6841         (EH_RETURN_STACKADJ_RTX): Define.
6842         (EH_RETURN_HANDLER_RTX): Define.
6843         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
6844         * config/m68k/m68k.c (m68k_save_reg): New function.  Handle eh
6845         registers and don't save fixed registers.
6846         (m68k_output_function_prologue): Use it.
6847         (use_return_insn): Likewise.
6848         (m68k_output_function_epilogue): Likewise.
6849
6850 2002-12-03  Kazu Hirata  <kazu@cs.umass.edu>
6851
6852         * config/h8300/h8300.c (single_one_operand): Fix a warning.
6853         (single_zero_operand): Likewise.
6854
6855 2002-12-02  Nathanael Nerode  <neroden@gcc.gnu.org>
6856
6857         * Makefile.in configure configure.in dummy-conditions.c fix-header.c
6858         gcov-iov.c gen-protos.c genattr.c genattrtab.c genautomata.c
6859         gencheck.c gencodes.c genconditions.c genconfig.c genconstants.c
6860         genemit.c genextract.c genflags.c gengenrtl.c gengtype-lex.l
6861         gengtype-yacc.y gengtype.c genopinit.c genoutput.c genpeep.c
6862         genpreds.c genrecog.c gensupport.c mkconfig.sh read-rtl.c
6863         scan-decls.c scan.c config/sh/sh.h doc/configfiles.texi
6864         doc/install-old.texi: Replace hconfig.h with bconfig.h.
6865         * Makefile.in: Replace HCONFIG_H with BCONFIG_H.
6866
6867 2002-12-02  Andrew Pinski  <pinskia@physics.uc.edu>
6868
6869         * config/rs6000/rs6000.md (ffssi): Convert to expander.
6870         (ffsdi): Likewise.
6871         (cntlzw2, cntlzd2): New patterns.
6872
6873 2002-12-02  H.J. Lu <hjl@gnu.org>
6874
6875         * config.gcc (mips*-*-netbsd*): Remove mips/t-netbsd.
6876         (mips*-*-linux*): Remove mips/t-linux.
6877
6878 Mon Dec  2 19:26:30 CET 2002  Jan Hubicka  <jh@suse.cz>
6879
6880         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
6881
6882 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6883
6884         * config/h8300/h8300.c (dosize): Replace argument op with
6885         sign.
6886         (h8300_output_function_prologue): Update the call to dosize.
6887         (h8300_output_function_epilogue): Likewise.
6888
6889 2002-12-02  Bob Wilson  <bob.wilson@acm.org>
6890
6891         * config/xtensa/xtensa.h: Delete ifndefs with nothing inside them.
6892
6893 2002-12-02  Craig Rodrigues  <rodrigc@gcc.gnu.org>
6894
6895         * configure.in: Use "missing" script to generate warning if
6896         flex or bison programs not found, instead of invoking "false".
6897         * configure: Rebuilt.
6898
6899 Mon Dec  2 20:28:48 CET 2002  Jan Hubicka  <jh@suse.cz>
6900
6901         * unroll.c (copy_loop_body): Copy CONST_OR_PURE_CALL_P.
6902
6903 Mon Dec  2 19:42:52 CET 2002  Jan Hubicka  <jh@suse.cz>
6904
6905         * i386.c (ix86_expand_int_movcc):  Avoid overflow.
6906
6907 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6908
6909         * config/h8300/h8300.c (dosize): Output r7/er7 instead of sp.
6910         (push): Likewise.
6911         (pop): Likewise.
6912         (h8300_output_function_prologue): Likewise.
6913         (h8300_output_function_epilogue): Likewise.
6914
6915 Mon Dec  2 14:43:22 2002  J"orn Rennecke <joern.rennecke@superh.com>
6916
6917         * expmed.c (store_bit_field): Use int_mode_for_mode to find
6918         corresponding mode of non-integer mode, unless it is VOIDmode.
6919
6920 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6921
6922         * config/h8300/h8300.md (stm_h8300s_2): New.
6923         (stm_h8300s_3): Likewise.
6924         (stm_h8300s_4): Likewise.
6925         (five define_peephole2): Likewise.
6926
6927 2002-12-02  Kazu Hirata  <kazu@cs.umass.edu>
6928
6929         * ra-build.c: Fix a comment typo.
6930
6931 Sun Dec  1 16:50:47 CET 2002  Jan Hubicka  <jh@suse.cz>
6932
6933         * i386.c (ix86_expand_int_movcc): fix
6934         reversed BRANCH_COST test; be curefull about infinite recursion.
6935
6936 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
6937
6938         * config/h8300/h8300.c (h8300_output_function_prologue):
6939         Remove variable idx.
6940         (h8300_output_function_epilogue): Likewise.
6941
6942 2002-12-01  Zack Weinberg  <zack@codesourcery.com>
6943
6944         * config/frv/xm-frv.h: Delete, unnecessary.
6945
6946 2002-12-01  Kazu Hirata  <kazu@cs.umass.edu>
6947
6948         * config/h8300/h8300.md: Add comments for define_peephole2.
6949
6950 2002-12-01  Mark Mitchell  <mark@codesourcery.com>
6951
6952         * builtin-types.def (BT_SIZE): Use size_type_node.
6953         * builtins.c (fold_builtin): Make the builtin strlen returns a
6954         size_t, not a sizetype.
6955         * c-common.c (c_sizeof_or_alignof_type): Use size_type_node, not
6956         c_size_type_node.
6957         (c_alignof_expr): Likewise.
6958         (c_common_nodes_and_builtins): Likewise.
6959         * c-common.h (CTI_C_SIZE_TYPE): Remove.
6960         (c_size_type_node): Likewise.
6961         * c-format.c (T_ST): Use size_type_node, not c_size_type_node.
6962         * tree.h (TI_SIZE_TYPE): New enumeral.
6963         (size_type_node): Likewise.
6964
6965 2002-11-30  Zack Weinberg  <zack@codesourcery.com>
6966
6967         * configure.in: Don't put ${tm_file} into host_xm_file,
6968         build_xm_file, or xm_file.  Do put tm-preds.h into tm_p_file.
6969         Take location of tm-preds.h into account when calculating
6970         tm_p_file_list.
6971         * configure: Regenerate.
6972         * mkconfig.sh: No need for separate TM_DEFINES and XM_DEFINES
6973         arguments.  Do not provide rtx, rtvec, tree, or GTY here.
6974         Remove special case code for tm_p.h and *config.h; add new
6975         special case code for tm.h and tconfig.h. Clean up a bit.
6976
6977         * Makefile.in (tm_file, tm_file_list): New variables set from
6978         @-substitutions.
6979         (GCONFIG_H): Deleted.
6980         (GTM_H, TM_H): New.
6981         (CONFIG_H): Is now just config.h $(host_xm_file_list).
6982         (TM_P_H): Move up with the other mkconfig.sh-generated
6983         headers; don't mention tm-preds.h explicitly.
6984         (tm.h, cs-tm.h): New rule.
6985         (cs-config.h, cs-hconfig.h, cs-tconfig.h, cs-tm_p.h): Adjust
6986         invocations of mkconfig.sh for changes to that program.
6987         (mostlyclean): Delete print-rtl1.c.
6988         (clean): Delete tm.h.
6989         Update dependencies for the files listed below.
6990
6991         * mklibgcc.in:  Add 'coretypes.h $(TM_H)' to libgcc2_c_dep.
6992
6993         * coretypes.h: New file.
6994         * system.h: #define malloc to xmalloc and realloc to xrealloc
6995         when FLEX_SCANNER or YYBISON is defined, independent of the
6996         value of GCC_VERSION.
6997         * alias.c, attribs.c, bb-reorder.c, bitmap.c, builtins.c,
6998         c-aux-info.c, c-common.c, c-convert.c, c-decl.c, c-dump.c,
6999         c-errors.c, c-format.c, c-lang.c, c-lex.c, c-objc-common.c,
7000         c-opts.c, c-parse.in, c-pragma.c, c-pretty-print.c,
7001         c-semantics.c, c-typeck.c, caller-save.c, calls.c, cfg.c,
7002         cfganal.c, cfgbuild.c, cfgcleanup.c, cfglayout.c, cfgloop.c,
7003         cfgrtl.c, collect2.c, combine.c, conflict.c, convert.c,
7004         cppdefault.c, cpperror.c, cppexp.c, cppfiles.c, cpphash.c,
7005         cppinit.c, cpplex.c, cpplib.c, cppmacro.c, cppmain.c,
7006         cppspec.c, cpptrad.c, crtstuff.c, cse.c, cselib.c, dbxout.c,
7007         debug.c, df.c, diagnostic.c, doloop.c, dominance.c,
7008         dummy-conditions.c, dwarf2asm.c, dwarf2out.c, dwarfout.c,
7009         emit-rtl.c, errors.c, et-forest.c, except.c, explow.c,
7010         expmed.c, expr.c, final.c, fix-header.c, flow.c, fold-const.c,
7011         function.c, gcc.c, gccspec.c, gcov-dump.c, gcov-iov.c, gcov.c,
7012         gcse.c, gen-protos.c, genattr.c, genattrtab.c, genautomata.c,
7013         gencheck.c, gencodes.c, genconditions.c, genconfig.c,
7014         genconstants.c, genemit.c, genextract.c, genflags.c,
7015         gengenrtl.c, gengtype-lex.l, gengtype-yacc.y, gengtype.c,
7016         genopinit.c, genoutput.c, genpeep.c, genpreds.c, genrecog.c,
7017         gensupport.c, ggc-common.c, ggc-none.c, ggc-page.c,
7018         ggc-simple.c, global.c, graph.c, haifa-sched.c, hashtable.c,
7019         hooks.c, ifcvt.c, integrate.c, intl.c, jump.c, langhooks.c,
7020         lcm.c, libgcc2.c, line-map.c, lists.c, local-alloc.c, loop.c,
7021         main.c, mbchar.c, mips-tdump.c, mips-tfile.c, mkdeps.c,
7022         optabs.c, params.c, predict.c, prefix.c, print-rtl.c,
7023         print-tree.c, profile.c, protoize.c, ra-build.c,
7024         ra-colorize.c, ra-debug.c, ra-rewrite.c, ra.c, read-rtl.c,
7025         real.c, recog.c, reg-stack.c, regclass.c, regmove.c,
7026         regrename.c, reload.c, reload1.c, reorg.c, resource.c,
7027         rtl-error.c, rtl.c, rtlanal.c, sbitmap.c, scan-decls.c,
7028         scan.c, sched-deps.c, sched-ebb.c, sched-rgn.c, sched-vis.c,
7029         sdbout.c, sibcall.c, simplify-rtx.c, ssa-ccp.c, ssa-dce.c,
7030         ssa.c, stmt.c, stor-layout.c, stringpool.c, timevar.c,
7031         tlink.c, toplev.c, tracer.c, tree-dump.c, tree-inline.c,
7032         tree.c, unroll.c, varasm.c, varray.c, varray.h, vmsdbgout.c,
7033         xcoffout.c, config/darwin-c.c, config/darwin.c,
7034         config/fp-bit.c, config/alpha/alpha.c, config/alpha/vms-cc.c,
7035         config/alpha/vms-ld.c, config/arc/arc.c, config/arm/arm.c,
7036         config/arm/pe.c, config/avr/avr.c, config/c4x/c4x-c.c,
7037         config/c4x/c4x.c, config/cris/cris.c, config/d30v/d30v.c,
7038         config/dsp16xx/dsp16xx.c, config/fr30/fr30.c,
7039         config/frv/frv.c, config/h8300/h8300.c, config/i370/i370-c.c,
7040         config/i370/i370.c, config/i386/i386.c, config/i386/winnt.c,
7041         config/i960/i960-c.c, config/i960/i960.c,
7042         config/ia64/ia64-c.c, config/ia64/ia64.c, config/ip2k/ip2k.c,
7043         config/m32r/m32r.c, config/m68hc11/m68hc11.c,
7044         config/m68k/m68k.c, config/m88k/m88k.c, config/mcore/mcore.c,
7045         config/mips/irix6-libc-compat.c, config/mips/mips.c,
7046         config/mmix/mmix.c, config/mn10200/mn10200.c,
7047         config/mn10300/mn10300.c, config/ns32k/ns32k.c,
7048         config/pa/pa.c, config/pdp11/pdp11.c, config/romp/romp.c,
7049         config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
7050         config/s390/s390.c, config/sh/sh.c, config/sparc/gmon-sol2.c,
7051         config/sparc/sparc.c, config/stormy16/stormy16.c,
7052         config/v850/v850-c.c, config/v850/v850.c, config/vax/vax.c,
7053         config/xtensa/xtensa.c, objc/objc-act.c, objc/objc-lang.c:
7054         Include coretypes.h and tm.h.
7055
7056         * genattrtab.c, genconditions.c, genemit.c, genextract.c,
7057         gengenrtl.c, gengtype.c, genopinit.c, genoutput.c, genpeep.c,
7058         genrecog.c: Include coretypes.h and tm.h from the file
7059         generated by this program.
7060
7061         * unwind-dw2-fde-darwin.c, unwind-dw2-fde-glibc.c,
7062         unwind-dw2-fde.c, unwind-dw2.c, unwind-sjlj.c: Include
7063         coretypes.h and tm.h, and tsystem.h when not already included.
7064         No need to include stddef.h nor stdlib.h.
7065
7066         * fixinc/fixlib.h: Include coretypes.h and tm.h.  Do not
7067         include auto-host.h or ansidecl.h/
7068         * fixinc/server.h: Do not include stdio.h, unistd.h, or fixlib.h.
7069         * fixinc/procopen.c: Include server.h after fixlib.h.  Do not
7070         include auto-host.h, ansidecl.h, or system.h.
7071         * fixinc/server.c: Likewise.  Also, do not include signal.h,
7072         and do not redefine volatile.
7073
7074 Sat Nov 30 17:16:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7075
7076         * i386.md (movdf_integer):  Always enable in 64bit.
7077         (movdf_nointeger): Always disable in 64bit.
7078
7079 2002-11-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7080
7081         * cfg.c (dump_flow_info): Use max_reg_num () to determine the largest
7082         pseudo register number plus 1.
7083
7084 Fri Nov 29 20:10:56 2002  J"orn Rennecke <joern.rennecke@superh.com>
7085
7086         * expmed.c (store_bit_field): Use int_mode_for_mode to find
7087         corresponding mode of non-integer mode, unless it is VOIDmode.
7088
7089 2002-11-29  Hans-Peter Nilsson  <hp@bitrange.com>
7090
7091         * cpplib.c (_cpp_test_assertion): Default *value to 0.
7092
7093         * cppexp.c (num_part_mul): Initialize result.unsignedp, to 1.
7094
7095 2002-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
7096
7097         * config/s390/t-crtstuff: New target makefile fragment.
7098         * config.gcc [s390-*-linux, s390x-*-linux]: Use it.
7099
7100 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7101
7102         * config/h8300/h8300.md (movsi_h8300hs): Change the order of
7103         alternatives to correct the length when the memory operand is
7104         either pre_dec or post_inc.
7105
7106 2002-11-29  Kazu Hirata  <kazu@cs.umass.edu>
7107
7108         * config/h8300/h8300.md (an anonymous pattern): Give an
7109         internal name *tst_extzv_bitqi_1_n.
7110         Accept bit_operand instead of bit_memory_operand.
7111         Do not accept bit tests with the MSB.
7112         (*tst_extzv_memqi_1_n): New.
7113
7114 Thu Nov 28 23:56:24 CET 2002  Jan Hubicka  <jh@suse.cz>
7115
7116         * i386.c (ix86_expand_int_movcc): Add copy_rtx to avoid invalid RTX
7117         sharing when operand is SUBREG.
7118
7119 Thu Nov 28 08:57:26 CET 2002  Jan Hubicka  <jh@suse.cz>
7120
7121         * athlon.md (athlon-decodev): New reservation unit.
7122         (athlon-direct0): New reservation.
7123         (athlon-vector): New use athlon-decodev.
7124         (athlon-double, athlon-direct): Better model.
7125         (athlon_imul_k8): Use athlon-direct0.
7126         (athlon_movlpd_load): New insn reservation.
7127
7128 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7129
7130         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
7131         Fix a comment typo.
7132         (h8300_tiny_constant_address_p): Likewise.
7133
7134 2002-11-28  Michael Matz  <matz@suse.de>
7135
7136         * doc/passes.texi: Mention the other register allocator.
7137
7138 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7139
7140         * config/h8300/h8300.md (6 new peephole2 patterns): New.
7141
7142 2002-11-28  Jakub Jelinek  <jakub@redhat.com>
7143
7144         * config.gcc (x86_64-*-linux*) [tmake_file]: Remove i386/t-crtstuff.
7145         * config/t-linux (CRTSTUFF_T_CFLAGS_S): Add $(CRTSTUFF_T_CFLAGS).
7146         * config/i386/t-linux64 (CRTSTUFF_T_CFLAGS): Define.
7147
7148 2002-11-28  Kazu Hirata  <kazu@cs.umass.edu>
7149
7150         * config/h8300/h8300.c (h8300_and_costs): New.
7151         * config/h8300/h8300.h (RTX_COSTS): Use h8300_and_costs.
7152         * config/h8300/h8300-protos.h: Add a prototype for
7153         h8300_and_costs.
7154
7155 Wed Nov 27 20:34:13 CET 2002  Jan Hubicka  <jh@suse.cz>
7156
7157         * i386.c (x86_sse_partial_regs_for_cvtsd2ss): New.
7158         * i386.h (x86_sse_partial_regs_for_cvtsd2ss): Declare.
7159         (TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS): New macro.
7160         * i386.md (truncdfsf patterns and splitters): Use
7161         TARGET_SSE_PARTIAL_REGS_FOR_CVTSD2SS
7162
7163 2002-11-27  Zack Weinberg  <zack@codesourcery.com>
7164
7165         * config/rs6000/rs6000.c (altivec_init_builtins): Make the
7166         pointer argument in the prototypes of the following builtins
7167         be (const TYPE *) rather than (TYPE *):
7168          + __builtin_altivec_ld_internal_4sf
7169          + __builtin_altivec_ld_internal_4si
7170          + __builtin_altivec_ld_internal_8hi
7171          + __builtin_altivec_ld_internal_16qi
7172          + __builtin_altivec_lvsl
7173          + __builtin_altivec_lvsr
7174          + __builtin_altivec_lvebx
7175          + __builtin_altivec_lvehx
7176          + __builtin_altivec_lvewx
7177          + __builtin_altivec_lvxl
7178          + __builtin_altivec_lvx
7179          + __builtin_altivec_dst
7180          + __builtin_altivec_dstt
7181          + __builtin_altivec_dstst
7182          + __builtin_altivec_dststt
7183
7184 2002-11-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
7185
7186         * except.c (default_exception_section): Move variable into the
7187         scope where it is used.
7188
7189 2002-11-27  Krister Walfridsson  <cato@df.lth.se>
7190
7191         * config.gcc (*-*-netbsd[2-9]*, *-*-netbsdelf[2-9]*): Test for
7192         correct version.
7193
7194 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7195
7196         * config/h8300/h8300.h (OK_FOR_U): Remove extra parentheses.
7197
7198 2002-11-27  Kazu Hirata  <kazu@cs.umass.edu>
7199
7200         * config/h8300/h8300.c (h8300_shift_costs): New.
7201         * config/h8300/h8300.h (RTX_COSTS): Use h8300_shift_costs.
7202         * config/h8300/h8300-protos.h: Add a prototype for
7203         h8300_shift_costs.
7204
7205 2002-11-27  Jim Wilson  <wilson@redhat.com>
7206
7207         * config/rs6000/spe.md (spu_evsplatfi, spu_evsplati): Swap operands
7208         in output template.
7209
7210 2002-11-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
7211
7212         * config/i386/i386.h (DLL_IMPORT_EXPORT_PREFIX): Define.
7213         * config/i386/winnt.c (i386_pe_dllexport_name_p): Use
7214         DLL_IMPORT_EXPORT_PREFIX, not '@'.
7215         (i386_pe_dllimport_name_p): Likewise.
7216         (i386_pe_mark_dllexport): Likewise.
7217         (i386_pe_mark_dllimport): Likewise.
7218         (i386_pe_encode_section_info): Likewise.
7219         (i386_pe_strip_name_encoding): Likewise.
7220
7221 2002-11-27  Richard Henderson  <rth@redhat.com>
7222
7223         * mkmap-symver.awk (BEGIN): Set sawsymbol false.
7224         (nm && NF == 3): Set sawsymbol true.
7225         (END): Exit if no symbols seen.
7226         (output): Fix map syntax error if no globals for the version.
7227
7228 Wed Nov 27 14:45:46 CET 2002  Jan Hubicka  <jh@suse.cz>
7229
7230         * builtins.def (DEF_C99_BUILTIN): Fix.
7231
7232 2002-11-26  Kaz Kojima  <kkojima@gcc.gnu.org>
7233
7234         * config/sh/lib1funcs.asm (FUNC, ENDFUNC0, ENDFUNC): New macros.
7235         (all): Add .size and .type information.
7236
7237 Tue Nov 26 22:43:50 CET 2002  Jan Hubicka  <jh@suse.cz>
7238
7239         * i386.c (ix86_expand_int_movcc):  Do not emit lea for short mode on
7240         partial_reg_stall target.
7241
7242 Tue Nov 26 22:27:47 CET 2002  Jan Hubicka  <jh@suse.cz>
7243
7244         * i386.md (movhicc): Allow general operand.
7245         (movqicc): New expander.
7246         (movqicc_noc): New pattern.
7247         * i386.c (ix86_expand_carry_flag_compare): New function.
7248         (ix86_expand_int_movcc): Optimize harder using sbb; support more
7249         HImode conversion; support QImode conditional moves
7250
7251 Tue Nov 26 16:30:59 CET 2002  Jan Hubicka  <jh@suse.cz>
7252
7253         * i386.c (FAST_PROLOGUE_INSN_COUNT): Set to 20.
7254         (ix86_expand_prologue): Multiply the count by amount of registers to be
7255         pushed.
7256
7257 Tue Nov 26 15:55:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7258
7259         * i386.c (override_options): Error about wrong -mcpu on x86-64
7260         compilation.
7261
7262 2002-11-26  NIIBE Yutaka  <gniibe@m17n.org>
7263
7264         * config/sh/linux.h (FUNCTION_PROFILER): Implemented.
7265
7266 Tue Nov 26 00:14:20 CET 2002  Jan Hubicka  <jh@suse.cz>
7267
7268         * i386-protos.h (x86_extended_QIreg_mentioned_p,
7269         x86_extended_reg_mentioned_p): Declare.
7270         * i386.c (extended_reg_mentioned_1): New static function.
7271         (x86_extended_QIreg_mentioned_p,
7272         x86_extended_reg_mentioned_p): New global functions.
7273         * i386.h (REX_SSE_REGNO_P): New macro.
7274         * i386.md (prefix_rex): New attribute.
7275         (length attribute): Add rex.
7276
7277 2002-11-26  Andrew Haley  <aph@redhat.com>
7278
7279         * unwind-sjlj.c (_Unwind_FindEnclosingFunction): Rename
7280         from_Unwind_Find_Enclosing_Function.
7281         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Likewise.
7282         * config/ia64/unwind-ia64.c (_Unwind_FindEnclosingFunction): Likewise.
7283         * libgcc-std.ver (_Unwind_FindEnclosingFunction): Rename from
7284         _Unwind_Find_Enclosing_Function, export @@GCC_3.3.
7285         * unwind.h (_Unwind_FindEnclosingFunction): Add.
7286
7287 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7288
7289         * config/s390/s390.c (390_output_constant_pool): Set alignment
7290         before label in 64 bit mode, behind otherwise.
7291
7292 2002-11-26  Richard Henderson  <rth@redhat.com>
7293
7294         * c-common.c (handle_visibility_attribute): Accept "default".
7295         * tree.h (enum symbol_visibility): New.
7296         (decl_visibility): Declare.
7297         * target.h (gcc_target.visibility): Take visibility arg as integer.
7298         * varasm.c (default_assemble_visibility): Likewise.
7299         (decl_visibility): New.
7300         (maybe_assemble_visibility): Use it.
7301         * output.h (default_assemble_visibility): Update prototype.
7302         * config/rs6000/rs6000.c (rs6000_assemble_visibility): Take
7303         visibility arg as integer.
7304         * doc/extend.texi: Document default visibility.
7305
7306 2002-11-26  Kazu Hirata  <kazu@cs.umass.edu>
7307
7308         * config/h8300/h8300.c: Adjust spacing.
7309         * config/h8300/h8300.h: Likewise.
7310
7311 2002-11-26  Richard Henderson  <rth@redhat.com>
7312
7313         * hooks.c (hook_bool_void_false, hook_void_tree_int,
7314         hook_void_FILEptr_constcharptr): Rename so that the return
7315         type is first.
7316         (hook_int_tree_tree_1, hook_void_tree, hook_void_tree_treeptr,
7317         hook_bool_tree_false): New.
7318         * hooks.h: Update.
7319         * langhooks-def.h: Update for renames.
7320         * target-def.h: Likewise.
7321         * tree.c (default_comp_type_attributes,
7322         default_set_default_type_attributes, default_insert_attributes,
7323         default_function_attribute_inlinable_p,
7324         default_ms_bitfield_layout_p): Remove.
7325         * tree.h: Update.
7326
7327 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7328
7329         * pa-protos.h (function_value): New prototype.
7330         * pa.c (function_value): Use a PARALLEL to return small aggregates on
7331         TARGET_64BIT.
7332         * pa.h (FUNCTION_VALUE): Use function_value.
7333         * pa.md (call_value_internal_symref, call_value_internal_reg_64bit,
7334         call_value_internal_reg, sibcall_value_internal_symref,
7335         sibcall_value_internal_symref_64bit): Remove =rf constraint on return
7336         value.
7337
7338 2002-11-26  John David Anglin  <dave@hiauly1.hia.nrc.ca>
7339
7340         * expr.c (gen_group_rtx, emit_group_move): New functions.
7341         * expr.h (gen_group_rtx, emit_group_move): Prototype.
7342         * function.c (expand_function_start): Use gen_group_rtx to create a
7343         PARALLEL rtx to hold the return value when the real return rtx is a
7344         PARALLEL.
7345         (expand_function_end): Use emit_group_move to move the return value
7346         from a PARALLEL to the real return registers.
7347         * rtl.h (REG_FUNCTION_VALUE_P): Allow function values to be returned
7348         in PARALLELs.
7349
7350 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7351
7352         * config/t-libc-ok: Fix typo.
7353
7354 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7355
7356         * configure.in: Move AC_CANONICAL_SYSTEM and AC_ARG_PROGRAM back
7357         before AC_PROG_CC.
7358         * configure: Rebuilt.
7359
7360 2002-11-26  Nathan Sidwell  <nathan@codesourcery.com>
7361
7362         * c-decl.c: (start_struct): Commonize flag setting.
7363
7364 2002-11-26  Jason Thorpe  <thorpej@wasabisystems.com>
7365
7366         * config/rs6000/rs6000.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): New.
7367         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Use
7368         RS6000_CPU_CPP_ENDIAN_BUILTINS.
7369         * config/rs6000/netbsd.h (RS6000_CPU_CPP_ENDIAN_BUILTINS): Redefine.
7370
7371 2002-11-26  Hartmut Penner  <hpenner@de.ibm.com>
7372
7373         * config/s390/s390.md (literal_pool_64, literal_pool_31 ): New
7374         insns.
7375         * config/s390/s390.c (struct machine_function): Introduction of
7376         struct machine_function.
7377         (s390_output_symbolic_const): Use of cfun.
7378         (s390_optimize_prolog): Likewise.
7379         (s390_fixup_clobbered_return_reg): Likewise.
7380         (s390_frame_info): Likewise.
7381         (s390_emit_prologue, s390_emit_epilogue): Likewise.
7382         (s390_init_machine_status): New function.
7383         (override_options): call s390_init_machine_status.
7384         * config/s390/s390-protos.h (s390_output_constant_pool): Changed
7385         prototype.
7386
7387 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7388
7389         * varasm.c (output_constant_pool): For pool constants in mergeable
7390         section ensure each constant is padded to multiple of entity size.
7391
7392 2002-11-26  Jakub Jelinek  <jakub@redhat.com>
7393
7394         * varasm.c (default_exception_section): Move to...
7395         * except.c (default_exception_section): ... here. Make
7396         .gcc_except_table read-only if it is not expected to have any
7397         dynamic relocations and linker handles it.
7398         * dwarf2out.c (default_eh_frame_section): Make .eh_frame read-only
7399         if it is not expected to have any dynamic relocations and linker
7400         handles it.
7401         * configure.in (HAVE_LD_RO_RW_SECTION_MIXING): Check what ld does
7402         when linking read-only and read-write sections together.
7403         * configure, config.in: Rebuilt.
7404         * crtstuff.c (EH_FRAME_SECTION_CONST): Define.
7405         (__EH_FRAME_BEGIN__, __FRAME_END__): Add it.
7406
7407 Mon Nov 25 18:32:37 CET 2002  Jan Hubicka  <jh@suse.cz>
7408
7409         * i386.md (pushsf_rex64): Fix typo.
7410
7411 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7412
7413         * config/rs6000/spe.h (__ev_create_sfix32_fs): Change macro into
7414         new function.
7415         (__ev_create_ufix32_fs): Same.
7416         (__ev_get_sfix32_fs_internal): New.
7417         (__ev_get_sfix32_fs): Define to use function.
7418         (__ev_get_ufix32_fs_internal): New.
7419         (__ev_get_ufix32_fs): Define to use function.
7420         (__ev_get_upper_ufix32_fs): Call __ev_get_ufix32_fs.
7421         (__ev_get_lower_ufix32_fs): Same.
7422         (__ev_get_upper_sfix32_fs): Call __ev_get_sfix32_fs.
7423         (__ev_get_lower_sfix32_fs): Same.
7424         (__ev_set_sfix32_fs_internal): New.
7425         (__ev_set_ufix32_fs_internal): New.
7426         (__ev_set_sfix32_fs): Call __ev_set_sfix32_fs_internal.
7427         (__ev_set_ufix32_fs): Call __ev_set_ufix32_fs_internal.
7428         (__ev_set_upper_sfix32_fs): Call function.
7429         (__ev_set_lower_sfix32_fs): Same.
7430         (__ev_set_upper_ufix32_fs): Same.
7431         (__ev_set_lower_ufix32_fs): Same.
7432
7433 2002-11-25  Douglas B Rupp  <rupp@gnat.com>
7434
7435         * gcc.c (do_spec_1): Reset delete_this_arg to zero.
7436
7437 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7438
7439         * config/elfos.h (HANDLE_SYSV_PRAGMA): Define as 1.
7440         * config/interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7441         * config/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7442         * config/lynx-ng.h (HANDLE_SYSV_PRAGMA): Likewise.
7443         * config/lynx.h (HANDLE_SYSV_PRAGMA): Likewise.
7444         * config/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7445         * config/openbsd.h (HANDLE_SYSV_PRAGMA: Likewise.
7446         * config/alpha/elf.h (HANDLE_SYSV_PRAGMA): Likewise.
7447         * config/arm/netbsd.h (HANDLE_SYSV_PRAGMA): Likewise.
7448         * config/cris/aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7449         * config/d30v/d30v.h (HANDLE_SYSV_PRAGMA): Likewise.
7450         * config/frv/frv.h (HANDLE_SYSV_PRAGMA): Likewise.
7451         * config/i386/djgpp.h (HANDLE_SYSV_PRAGMA): Likewise.
7452         * config/i386/i386-interix.h (HANDLE_SYSV_PRAGMA): Likewise.
7453         * config/i386/vxi386.h (HANDLE_SYSV_PRAGMA): Likewise.
7454         * config/ia64/ia64.h (HANDLE_SYSV_PRAGMA): Likewise.
7455         * config/m88k/m88k.h (HANDLE_SYSV_PRAGMA): Likewise.
7456         * config/mmix/mmix.h (HANDLE_SYSV_PRAGMA): Likewise.
7457         * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Likewise.
7458         * config/rs6000/darwin.h (HANDLE_SYSV_PRAGMA): Likewise.
7459         * config/sparc/linux-aout.h (HANDLE_SYSV_PRAGMA): Likewise.
7460         * config/sparc/vxsparc64.h (HANDLE_SYSV_PRAGMA): Likewise.
7461         * config/stormy16/stormy16.h (HANDLE_SYSV_PRAGMA): Likewise.
7462         * config/alpha/osf.h (HANDLE_SYSV_PRAGMA): Don't undef before
7463         defining.
7464         * config/i386/sco5.h (HANDLE_SYSV_PRAGMA): Likewise.
7465         * config/mips/iris5.h (HANDLE_SYSV_PRAGMA): Likewise.
7466
7467 2002-11-25  Dave Pitts  <dpitts@cozx.com>
7468
7469         * gcc/fixinc/mkfixinc.sh: add i370-*-openedition to bypass fixinc list
7470
7471 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7472
7473         * config/h8300/h8300.md (an anonymous pattern): New.
7474
7475 2002-11-25  Richard Henderson  <rth@redhat.com>
7476
7477         * alias.c (find_base_value): Use new_reg_base_value if it's live.
7478         (copying_arguments): Make boolean.
7479
7480 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7481
7482         * gcc.c (static_spec_functions): Add if-exists-else spec
7483         function.
7484         (if_exists_else_spec_function): New function.
7485         * doc/invoke.texi: Document the if-exists-else spec function.
7486
7487         * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): For -static, use
7488         "%:if-exists-else(crtbeginT%O%s crtbegin%O%s)".
7489
7490 2002-11-25  Jason Thorpe  <thorpej@wasabisystems.com>
7491
7492         * config.gcc (powerpc-*-netbsd*): Replace "svr4.h" with
7493         "netbsd.h netbsd-elf.h" in tm_file.  Set tmake_file to
7494         "${tmake_file} rs6000/t-netbsd".
7495         * config/rs6000/netbsd.h: Rewrite.
7496         * config/rs6000/t-netbsd: New file.
7497
7498 2002-11-25  Kazu Hirata  <kazu@cs.umass.edu>
7499
7500         * config/h8300/h8300.md (an anonymous pattern): Relax the
7501         condition for the pattern.
7502
7503 2002-11-25  Aldy Hernandez  <aldyh@redhat.com>
7504
7505         * config/rs6000/rs6000.h (enum rs6000_builtins): Remove evmwlssf,
7506         evmwlsmf, evmwlssfa, evmwlsmfa, evmwlssfaaw, evmwlsmfaaw,
7507         evmwlssfanw, evmwlsmfanw.
7508
7509         * config/rs6000/rs6000.c (bdesc_2arg): Same.
7510
7511         * config/rs6000/spe.md: Same for patterns.
7512
7513 2002-11-25  Christian Ehrhardt  <ehrhardt@mathematik.uni-ulm.de>
7514
7515         PR c/8639
7516         * fold-const.c (extract_muldiv): Don't propagate division unless
7517         both arguments are multiples of C.
7518
7519 2002-11-25  Andrew Haley  <aph@redhat.com>
7520
7521         * libgcc-std.ver (_Unwind_Find_Enclosing_Function): Add.
7522         * config/ia64/unwind-ia64.c (_Unwind_Find_Enclosing_Function): New.
7523         * unwind-sjlj.c (_Unwind_Find_Enclosing_Function): Likewise.
7524         * unwind-dw2.c (_Unwind_Find_Enclosing_Function): Likewise.
7525
7526 Sun Nov 24 10:38:04 CET 2002  Jan Hubicka  <jh@suse.cz>
7527
7528         * i386.c (x86_use_ffreep): New global variable.
7529         * i386.h (x86_use_frfeep): Declare
7530         (TARGET_USE_FFREEP): New macro
7531         * i386.md  (movs?f*): Use freep when asked for.
7532         (push?f): Remove dead code.
7533
7534 2002-11-24  Kazu Hirata  <kazu@cs.umass.edu>
7535
7536         * config/h8300/h8300.c (h8300_init_once): Fix a typo in the
7537         target help message.
7538
7539 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7540
7541         * config.gcc (*-*-netbsd*1.[7-9]*, *-*-netbsd*[2-9]*): Set
7542         extra_parts to "crtbegin.o crtend.o crtbeginS.o crtendS.o
7543         crtbeginT.o".
7544         (arm*-*-netbsd*, i[34567]86-*-netbsd*, m68k*-*-netbsd*)
7545         (ns32k-*-netbsd*, sparc-*-netbsd*, vax-*-netbsd*): Set extra_parts
7546         to "" for a.out configurations.
7547         * config/t-netbsd (CRTSTUFF_T_CFLAGS): Set to "-fPIC".
7548
7549 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7550
7551         * config/alpha/netbsd.h (CPP_SUBTARGET_SPEC): Just use
7552         NETBSD_CPP_SPEC directly.
7553         (SUBTARGET_EXTRA_SPECS): Remove netbsd_cpp_spec.  Add
7554         netbsd_endfile_spec.
7555         (ENDFILE_SPEC): Use %(netbsd_endfile_spec).
7556
7557 2002-11-24  Jason Thorpe  <thorpej@wasabisystems.com>
7558
7559         * config/netbsd-elf.h (STARTFILE_SPEC): Rename to
7560         NETBSD_STARTFILE_SPEC.
7561         (STARTFILE_SPEC): Redefine in terms of NETBSD_STARTFILE_SPEC.
7562         (ENDFILE_SPEC): Likewise.
7563         * config/netbsd.h (LIB_SPEC, LIBGCC_SPEC): Likewise.
7564
7565 2002-11-24  Andreas Schwab  <schwab@suse.de>
7566
7567         * Makefile.in (install-driver): Remove versioned link before
7568         trying to create it.
7569
7570         * config/m68k/m68k.c: Fix typo in last change defining
7571         TARGET_ASM_CAN_OUTPUT_MI_THUNK.
7572
7573 2002-11-23  H.J. Lu <hjl@gnu.org>
7574
7575         * aclocal.m4: Include ../config/accross.m4.
7576         (gcc_AC_COMPILE_CHECK_SIZEOF): Removed.
7577         (gcc_AC_C_COMPILE_ENDIAN): Removed.
7578         (gcc_AC_C_FLOAT_FORMAT): Check $ac_cv_c_bigendian
7579         instead of $ac_cv_c_compile_endian.
7580
7581         * configure.in: Replace gcc_AC_COMPILE_CHECK_SIZEOF with
7582         AC_COMPILE_CHECK_SIZEOF.
7583         Replace gcc_AC_C_COMPILE_ENDIAN with AC_C_BIGENDIAN_CROSS.
7584         * configure: Rebuild.
7585
7586 2002-11-23  Kazu Hirata  <kazu@cs.umass.edu>
7587
7588         * config/h8300/h8300.c (print_operand): Update the use of
7589         h8300_tiny_constant_address_p.
7590         (h8300_adjust_insn_length): Likewise.
7591         (h8300_tiny_constant_address_p): Check if the given rtx is a
7592         variable declared with __attribute__ ((tiny_data)).
7593
7594 2002-11-22  Dale Johannesen  <dalej@apple.com>
7595
7596         * toplev.c (rest_of_compilation):  Fix comments.
7597
7598 2002-11-22  Geoffrey Keating  <geoffk@apple.com>
7599
7600         * aclocal.m4 (ac_cv_func_mmap_dev_zero): Darwin does not
7601         allow mmap from /dev/zero.  Don't make decisions for the host
7602         based on presence or absence of /dev/zero on the build machine.
7603         (ac_cv_func_mmap_anon): Darwin does have working MMAP_ANON.
7604         (AC_FUNC_MMAP_FILE): Darwin does have mmap of a file.
7605         * configure: Regenerate.
7606
7607 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
7608
7609         * gcc.c (make_relative_prefix, split_directories)
7610         (free_split_directories): Removed.
7611
7612 2002-11-22  Daniel Jacobowitz  <drow@mvista.com>
7613
7614         * configure.in: Set insn=nop for DWARF-2 tests on ARM.
7615         * configure: Regenerated.
7616
7617 2002-11-22  Kazu Hirata  <kazu@cs.umass.edu>
7618
7619         * config/h8300/h8300.c (compute_a_shift_length): Fix the insn
7620         length computation when xor.l is output.
7621
7622 2002-11-21  Douglas B Rupp  <rupp@gnat.com>
7623
7624         * alpha.md (movstrdi, clrstrdi): New VMS patterns.
7625         (call_vms_1, call_value_vms_1): Cleanup syntax.
7626
7627 Thu Nov 21 19:20:27 CET 2002  Jan Hubicka  <jh@suse.cz>
7628
7629         * athlon.md (define_atuomaton): Add athlon_load.
7630         (athlon-double): New reservation.
7631         (athlon-ieu0): New CPU unit.
7632         (athlon-load?): Use athlon_load automaton.
7633         (*_k8 reservations): New.
7634         (other insn revervations): Activate for K8.
7635
7636 Thu Nov 21 15:07:42 CET 2002  Jan Hubicka  <jh@suse.cz>
7637
7638         * cfgrtl.c (verify_flow_info):  Accept EDGE_CAN_FALLTHRU flag.
7639
7640 2002-11-21  Jim Wilson  <wilson@redhat.com>
7641
7642         * config/rs6000/rs6000.c (function_arg): Set inner mode of SPE
7643         vectors to SI.
7644
7645 2002-11-21  Bob Wilson  <bob.wilson@acm.org>
7646
7647         * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Declare.
7648         * config/xtensa/xtensa.c (struct machine_function): Add
7649         incoming_a7_copied flag.
7650         (xtensa_copy_incoming_a7): Define.
7651         (xtensa_emit_move_sequence): Use xtensa_copy_incoming_a7.
7652         * config/xtensa/xtensa.md (movdi, movsf, movdf): Ditto.
7653
7654 Thu Nov 21 23:52:04 CET 2002  Jan Hubicka  <jH@suse.cz>
7655
7656         * i386-protos.h (x86_64_sign_extended_value): Fix prototype.
7657         * i386.c (x86_64_general_operand, x86_64_szext_general_operand,
7658         x86_64_nonmemory_operand, x86_64_movabs_operand,
7659         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
7660         ix86_expand_int_movcc): Update call of x86_64_sign_extended_value.
7661         (local_symbolic_operand): Do not care the 64bit limits.
7662         (x86_64_sign_extended_value): Remove allow_rip support.
7663         (legitimate_pic_address_disp_p): Handle all cases allowed
7664         with RIP addressing.
7665         (legitimate_address_p): Use legitimate_pic_address_disp_p for PIC.
7666         (legitimize_pic_address): Reorganize.
7667         * i386.h (EXTRA_CONSTRAINT): Update call of x86_64_sign_extended_value.
7668
7669 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7670
7671         * config.gcc (arm*-*-netbsdelf*): Enable configuration.
7672         * config/arm/netbsd-elf.h: New file.
7673
7674 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7675
7676         * config/arm/elf.h (SUBTARGET_EXTRA_SPECS): Add
7677         subtarget_asm_float_spec.
7678         (SUBTARGET_ASM_FLOAT_SPEC): Define, moving the
7679         defaults from...
7680         (ASM_SPEC): ...here.  Use subtarget_asm_float_spec.
7681
7682 2002-11-21  Nick Clifton  <nickc@redhat.com>
7683
7684         * config/fr30/fr30.md (movsf_constant_store): Move code to
7685         detect 0.0 into fr30.c.
7686         * config/fr30/fr30-protos.h (fr30_const_double_is_zero):
7687         Prototype.
7688         * config/fr30/fr30.c (fr30_const_double_is_zero): New
7689         function.  Return true if the rtx is 0.0.
7690
7691 2002-11-21  Jason Thorpe  <thorpej@wasabisystems.com>
7692
7693         * config/arm/elf.h (ASM_SPEC, LINK_SPEC): Pass -EL
7694         if -mlittle-endian is specified.
7695
7696 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
7697
7698         PR optimization/2903
7699         * arm.md (anddi_notzesidi_di): Operand 2 is inverted not operand 1.
7700         (anddi_notsesidi_di): Likewise.
7701
7702 2002-11-21  Kazu Hirata  <kazu@cs.umass.edu>
7703
7704         * config/h8300/h8300.c (print_operand): Use
7705         h8300_eightbit_constant_address_p and
7706         h8300_tiny_constant_address_p.
7707         (h8300_adjust_insn_length): Likewise.
7708         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Remove.
7709         (TINY_CONSTANT_ADDRESS_P): Likewise.
7710         (OK_FOR_U): Use eightbit_constant_address_p.
7711
7712 2002-11-21  Ulrich Weigand  <uweigand@de.ibm.com>
7713
7714         * config/s390/libgcc-libc.ver: Add multilib support.
7715         * config/s390/linux.h (MULTILIB_DEFAULT): Define.
7716         * config/s390/t-linux64 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
7717         MULTILIB_OSDIRNAMES, LIBGCC, INSTALL_LIBGCC,
7718         EXTRA_MULTILIB_PARTS): Define.
7719
7720 2002-11-21  Richard Earnshaw  <rearnsha@arm.com>
7721
7722         * arm.c (arm_get_frame_size): A leaf function does not need its
7723         stack padding to an aligned boundary if it has no frame.
7724         (thumb_get_frame_size): Likewise.
7725
7726 Wed Nov 20 22:25:53 CET 2002  Jan Hubicka  <jh@suse.cz>
7727
7728         * x86-64.h (MCOUNT_NAME): Fix typo in my previous patch.
7729         (override_options): Likewise.
7730
7731 Wed Nov 20 19:07:17 CET 2002  Jan Hubicka  <jh@suse.cz>
7732
7733         * config.gcc: Add k8 target alias support
7734         * i386.c (_cost): Declare costs for various variants of divides and
7735         multiplies.
7736         (k8_cost): New.
7737         (m_K8, m_ATHLON_K8): New macros.
7738         (x86_use_leave, x86_push_memory, x86_movx, x86_unroll_strlen,
7739         x86_cmove, x86_3dnow_a, x86_deep_branch, x86_use_fiop,
7740         x86_promote_QImode, x86_sub_esp_?, x86_add_esp_?,
7741         x86_integer_DFmode_moves, x86_partial_reg_dependency,
7742         x86_memory_mismatch_stall, x86_accumulate_outgoing_args,
7743         x86_prologue_using_move, x86_epilogue_using_move,
7744         x86_arch_always_fancy_math_387, x86_sse_partial_regs,
7745         x86_sse_typeless_stores): Set for K8
7746         (override_options): Add k8 support; fix athlon alignment;
7747         complain about non-x86-64 capable CPU being used in x86-64 compilation.
7748         (ix86_issue_rate): Set for K8.
7749         (ix86_adjust_cost, ia32_use_dfa_pipeline_interface,
7750         x86_machine_dependent_reorg): Handle K8 like
7751         * i386.h
7752         (x86_costs):  Change mult_init and divide into array.
7753         (TARGET_K8, TARGET_ATHLON): New macros.
7754         (MODE_INDEX): New macro.
7755         (RTX_COST): Use new costs.
7756         (TARGET_CPU_CPP_BUILTINS):  Define __k8__ and __tune_k8__.
7757         (TARGET_CPU_DEFAULT_NAMES): Add k8
7758         (TARGET_CPU_DEFAULT_k8): New constant
7759         (enum processor_type): Add PROCESSOR_K8.
7760         * i386.md (cpu attribute): Add k8.
7761
7762         * invoke.texi: Document -march=k8.
7763
7764         * i386.md (type attribute): Add leave
7765         (mode attribute): Remove unknownfp.
7766         (length_immediate, modrm, memory attributes): Handle leave correctly.
7767         (fp comparison patterns): Determine FP mode.
7768         (leave, leave_rex64): Remove special cases.
7769         * ppro.md (ppro_uops, ppro_p2): Add leave
7770         * pentiun.md (pent_pop): Handle leave too.
7771         * k6.md (k6_load): Handle leave.
7772         * athlon.md (athlon_leave, athlon_pop): Fix.
7773         (athlon_decode): Handle leave.
7774
7775 2002-11-20  Steve Ellcey  <sje@cup.hp.com>
7776
7777         * emit-rtl.c (gen_reg_rtx): Simplify mapping of Complex type
7778         to component type using GET_MODE_INNER.
7779         * expr.c (emit_move_insn_1): Ditto.
7780         * optabs.c (expand_binop): Ditto.
7781         (expand_unop): Ditto.
7782         (expand_complex_abs): Ditto.
7783
7784 2002-11-20  Douglas B Rupp  <rupp@gnat.com>
7785
7786         * hwint.h (HAVE___INT64): Fix typo (was HAVE__INT64).
7787
7788 2002-11-20  DJ Delorie  <dj@redhat.com>
7789
7790         * config/stormy16/stormy16.c (s16builtins,
7791         xstormy16_init_builtins, xstormy16_expand_builtin): New.
7792         * config/stormy16/stormy16.md (divmodhi4, sdivlh, udivlh): New.
7793
7794 2002-11-20  Hans-Peter Nilsson  <hp@bitrange.com>
7795
7796         * Makefile.in (RUN_GEN, VALGRIND_DRIVER_DEFINES): New variables.
7797         (DRIVER_DEFINES): Add $(VALGRIND_DRIVER_DEFINES).
7798         (executing gencheck, genconfigs, genconditions, genflags,
7799         gencodes, genconstants, genemit, genrecog, genopinit, genextract,
7800         genpeep, genattr, genattrtab, genoutput, gengenrtl, genpreds,
7801         gengtype, genprotos): Prepend $(RUN_GEN).
7802         * configure.in: Move host compiler tests before --enable-checking
7803         tests.
7804         (--enable-checking=valgrind): New.
7805         * config.in, configure: Regenerate.
7806         * cppfiles.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7807         Define as empty.
7808         (read_include_file): When doing the mmap+1 trick,
7809         valgrind-annotate the byte after the mmap:ed area as readable.
7810         (purge_cache): Remove above annotation.
7811         * gcc.c (execute) [ENABLE_VALGRIND_CHECKING]: Arrange to prepend
7812         VALGRIND_PATH -q to each command.
7813
7814         * ggc-common.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7815         Define as empty.
7816         (ggc_realloc): Update valgrind annotations.
7817         * ggc-page.c [!ENABLE_VALGRIND_CHECKING] (VALGRIND_DISCARD):
7818         Define as empty.
7819         (alloc_anon, free_page, ggc_alloc, poison_pages): Add machinery to
7820         valgrind-annotate memory.
7821
7822 2002-11-20  Ulrich Weigand  <uweigand@de.ibm.com>
7823
7824         * recog.c (constrain_operands): Prefer exact match over reloadable
7825         EXTRA_MEMORY_CONSTRAINT or EXTRA_ADDRESS_CONSTRAINT.
7826
7827         * reload.c (find_reloads): Always reload EXTRA_ADDRESS_CONSTRAINT
7828         operands in Pmode.
7829
7830 2002-11-20  Eric Botcazou  <ebotcazou@libertysurf.fr>
7831
7832         PR c/8518
7833         * c-decl.c (duplicate_decls): Outline the second definition
7834         of an extern inline function in all cases.
7835
7836 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7837
7838         * stor-layout.c (place_field): Update rli->offset as well as
7839         rli->bitpos.
7840
7841 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7842
7843         * sched-deps.c (sched_analyze): Check HARD_REGNO_CALL_PART_CLOBBERED.
7844
7845 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7846
7847         * config/sh/sh.md (udivsi3): Don't put udivsi3_i4_media instructions
7848         into a libcall block.
7849         (divsi3): Likewise divsi3_i4_media.
7850
7851 2002-11-20  Richard Sandiford  <rsandifo@redhat.com>
7852
7853         * global.c (find_reg): Check HARD_REGNO_NREGS before kicking
7854         out another register.
7855
7856 2002-11-20  Jakub Jelinek  <jakub@redhat.com>
7857
7858         * combine.c (force_to_mode): Only replace with (not Y) if all bits in fuller_mask
7859         (not just mask) are set in C.
7860
7861 2002-11-19  Steven Bosscher <steven.bosscher@usafa.af.mil>
7862
7863         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %{<mgp32} to %<mgp32.
7864
7865 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7866
7867         * profile.c (index_counts_file): Fix obvious mistake.
7868
7869 2002-11-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
7870
7871         * Makefile.in (profile.o): Add hashtab.h dependency.
7872         * gcov-io.h (GCOV_SUMMARY_LENGTH): New.
7873         * profile.c: Include hashtab.h.
7874         (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del,
7875         cleanup_counts_index, index_counts_file, struct section_reference,
7876         struct da_index_entry, counts_file_name, counts_file_index): New.
7877         (get_exec_counts, init_branch_prob): Modified.
7878
7879 2002-11-19  Kaz Kojima  <kkojima@gcc.gnu.org>
7880
7881         * config.gcc (sh*-*-linux*): Add t-slibgcc-elf-ver and t-linux
7882         to tmake_file. Remove setting gas and gnu_ld here.
7883         * config/sh/libgcc-glibc.ver: New file.
7884         * config/sh/t-linux (EXTRA_MULTILIB_PARTS): Add crtbeginT.o.
7885         (SHLIB_MAPFILES): New.
7886         * config/sh/linux.h (MD_EXEC_PREFIX): Undefine.
7887         (MD_STARTFILE_PREFIX): Likewise.
7888         (HANDLE_PRAGMA_PACK_PACK_PUSH_POP): Define.
7889         (DWARF2_UNWIND_INFO): Redefine.
7890         (ASM_PREFERRED_EH_DATA_FORMAT): Define.
7891         (LINK_EH_SPEC): Redefine.
7892         (MD_FALLBACK_FRAME_STATE_FOR): Define except for SH-media.
7893         (SH_FALLBACK_FRAME_FLOAT_STATE): Define.
7894         (SH_DWARF_FRAME_GP0, SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_XD0,
7895         SH_DWARF_FRAME_BT0, SH_DWARF_FRAME_PR, SH_DWARF_FRAME_PR_MEDIA,
7896         SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_MACL,
7897         SH_DWARF_FRAME_PC, SH_DWARF_FRAME_SR, SH_DWARF_FRAME_FPUL,
7898         SH_DWARF_FRAME_FPSCR): Likewise.
7899         * config/sh/sh-protos.h (sh_set_return_address): Declare.
7900         * config/sh/sh.c (calc_live_regs): Count EH_RETURN_DATA_REGNO
7901         registers if the current function calls EH return.
7902         (sh_expand_epilogue): Handle EH stack adjustments.
7903         (sh_set_return_address): New function.
7904         * config/sh/sh.h (SH_DBX_REGISTER_NUMBER): Handle PR_MEDIA_REG.
7905         Don't abort even if the number is mapped to -1.
7906         (EH_RETURN_DATA_REGNO): Define.
7907         (EH_RETURN_STACKADJ_RTX): Define.
7908         * config/sh/sh.md (UNSPEC_EH_RETURN): New.
7909         (eh_return): New pattern.
7910         (eh_set_ra_di, eh_set_ra_si): Likewise.
7911         Add splitter to perform EH return after reload.
7912
7913 Tue Nov 19 12:52:07 2002  J"orn Rennecke <joern.rennecke@superh.com>
7914
7915         * stor-layout.c (excess_unit_span): New function.
7916         (place_field): Use it.
7917
7918 2002-11-19  Andreas Schwab  <schwab@suse.de>
7919
7920         * unwind.h (_Unwind_GetTextRelBase): Revert last change, this is
7921         not valid in C++.
7922
7923 2002-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
7924
7925         * configure.in, Makefile.in: Correct BUILD/HOST confusion.
7926         * configure: Regenerate.
7927
7928 Tue Nov 19 00:11:44 CET 2002  Jan Hubicka  <jh@suse.cz>
7929
7930         * convert.c (strip_float_extensions): New function.
7931         (convert_to_real): Optimize some cases.
7932
7933 2002-11-19  Andreas Jaeger  <aj@suse.de>
7934
7935         * loop.c (record_giv): Initialize not_replaceable.
7936         (check_final_value): Likewise.
7937
7938 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7939
7940         * config/h8300/h8300.c (h8300_init_once): Replace 1 with
7941         MASK_H8300S.
7942
7943 2002-11-19  Vijay L. Khuspe  <vijayk1@kpit.com>
7944
7945         * config/h8300/h8300.c (h8300_init_once): Allow -mn switch
7946         only if -mh or -ms present.
7947         (h8300_eightbit_constant_address_p): Support the normal mode.
7948         (h8300_tiny_constant_address_p): Likewise.
7949         * config/h8300/h8300.h (TARGET_NORMAL_MODE): New.
7950         (POINTER_SIZE): Add 16 bit pointer for the normal mode.
7951         (Pmode): Evaluate to HImode for the normal mode.
7952         (SIZE_TYPE): Evaluate to unsigned int for normal mode.
7953         (PTRDIFF_TYPE): Evaluate to int for the normal mode.
7954         (ASM_WORD_OP): Evaluate to word for the normal mode.
7955         * config/h8300/h8300.md (tablejump_normal_mode): New.
7956         (indirect_jump_normal_mode): New.
7957         * config/h8300/t-h8300 (MULTILIB_OPTIONS): Pass -mn option to
7958         directory.
7959         (MULTILIB_DIRNAMES): Create target dependent directory
7960         'normal'.
7961         (MULTILIB_EXCEPTIONS): Don't turn on -mn on H8/300.
7962         * doc/invoke.texi (gccoptlist): Describe the new switch -mn.
7963
7964 Tue Nov 19 23:50:56 CET 2002  Jan Hubicka  <jh@suse.cz>
7965
7966         * i386.md (length_immediate): Do not refer to insn address.
7967         (jcc*, jmp patterns):  Compute length explicitly.
7968
7969 2002-11-19 Eric Botcazou <ebotcazou@libertysurf.fr>
7970
7971         PR c/8588
7972         * optabs.c (expand_binop): Convert CONST_INTs in shift
7973         operations too.
7974
7975 2002-11-19  Roger Sayle  <roger@eyesopen.com>
7976
7977         * gcse.c (gcse_emit_move_after): Correct typo in REG_EQUAL note.
7978
7979 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7980
7981         * config/h8300/h8300.md (an anonymous pattern): Relax the
7982         condition to accept the same operands and/or subregs.
7983
7984 2002-11-19  Daniel Jacobowitz  <drow@mvista.com>
7985
7986         * config/sh/sh.c (gen_shl_and): Revert previous patch.
7987         * config/sh/sh.md (ashrdi3+1, ashrdi3+2): Predicate on
7988         reload_completed.
7989
7990 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
7991
7992         * config/h8300/h8300.c (print_operand): Update the use of
7993         EIGHTBIT_CONSTANT_ADDRESS_P.
7994         (h8300_adjust_insn_length): Likewise.
7995         (h8300_eightbit_constant_address_p): Check if the given rtx is
7996         a variable with __attribute__((eightbit_data)).
7997         * config/h8300/h8300.h (OK_FOR_U): Update the use of
7998         EIGHTBIT_CONSTANT_ADDRESS_P.
7999
8000 2002-11-19  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8001
8002         * doc/contrib.texi (Contributors): Add self as second contact in
8003         addition to Jeff Law.
8004
8005 2002-11-19  Andreas Jaeger  <aj@suse.de>
8006
8007         * tree-inline.c: Move prototpyes of find_alloca_call_1 and
8008         find_alloca_call to right place.
8009
8010 2002-11-19  Kazu Hirata  <kazu@cs.umass.edu>
8011
8012         * cppfiles.c: Fix formatting.
8013
8014 2002-11-19  Jason Thorpe  <thorpej@wasabisystems.com>
8015
8016         * gcc.c (The Specs Language): Document spec functions.
8017         (static_spec_functions, lookup_spec_function)
8018         (eval_spec_function, handle_spec_function)
8019         (if_exists_spec_function, alloc_args): New.
8020         (execute): Abort if processing_spec_function is true.
8021         (do_spec_1): Hand off spec to handle_spec_function if %:
8022         is encountered.  If processing_spec_function is true,
8023         end any pending argument when the end of the string is reached.
8024         (main): Use alloc_args to allocate the initial argument vector.
8025         * gcc.h (struct spec_function): New.
8026         (lang_specific_spec_functions): New extern.
8027
8028         * config/netbsd-elf.h (STARTFILE_SPEC): Add if-exists(crti%O%s).
8029         (ENDFILE_SPEC): Add if-exists(crtn%O%s).
8030         * config/alpha/netbsd.h (ENDFILE_SPEC): Likewise.
8031
8032         * doc/invoke.texi: Document spec functions.
8033
8034         * cppspec.c (lang_specific_spec_functions): New.
8035         * gccspec.c: Likewise.
8036
8037 2002-11-18  Steve Ellcey  <sje@cup.hp.com>
8038
8039         * config/ia64/hpux_longdouble.h (FIXUNS_TRUNCTFSI2_LIBCALL): New.
8040         (FIXUNS_TRUNCTFDI2_LIBCALL): New.
8041         (fixunstfsi_libfunc): Change.
8042         (fixunstfdi_libfunc): Change.
8043         (sdiv_optab): Don't zero out SImode handler.
8044         (udiv_optab): Don't zero out SImode handler.
8045         (smod_optab): Don't zero out SImode handler.
8046         (umod_optab): Don't zero out SImode handler.
8047
8048 2002-11-18  Neil Booth  <neil@daikokuya.co.uk>
8049
8050         PR preprocessor/8524
8051         * cpplib.c (run_directive): Remove previous kludge to _Pragma.
8052         Add a new one in its place, which hopefully works.
8053         (skip_rest_of_line): Change test for bottom-of-context-stack.
8054
8055 Mon Nov 18 21:29:03 CET 2002  Jan Hubicka  <jh@suse.cz>
8056
8057         * i386.md (addqi_1_slp): Fix output template.
8058         (subqi_1_slp): Fix type.
8059
8060 Sun Nov 17 00:01:28 CET 2002  Jan Hubicka  <jh@suse.cz>
8061
8062         * calls.c (alloca_call_p): New global function.
8063         * tree.h (alloca_call_p): New.
8064         * tree-inline.c (inlinable_function_p):  Do not inline when
8065         function calls alloca.
8066         (find_alloca_call, find_alloca_call_1): New functions.
8067
8068 2002-11-18  Kazu Hirata  <kazu@cs.umass.edu>
8069
8070         * config/h8300/h8300.md (*andorqi3): Use bor between bld and
8071         bst.  Update the insn length.
8072         (*andorhi3): Likewise.
8073         (*andorsi3): Likewise.
8074
8075 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8076
8077         * config/sh/sh-protos.h (sh_mark_label): Declare.
8078         * config/sh/sh.c (sh_mark_label): New function, taken from
8079         movdi_const, but fixing the case when the address has an addend.
8080         * config/sh/sh.md (movdi_const, movdi_const_32bit): Use it.
8081
8082 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8083
8084         * config/sh/sh.c (pool_node): New field: part_of_sequence_p.
8085         (add_constant): Set it.
8086         (dump_table): Don't reorder a constant if part_of_sequence_p.
8087         (machine_dependent_reorg): Assume that float constants will
8088         stay in their original order if used as a sequence.
8089
8090 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8091
8092         * config/sh/sh.c (calc_live_regs): Update check for PIC liveness
8093         in compact code.
8094
8095 2002-11-18  Richard Sandiford  <rsandifo@redhat.com>
8096
8097         * config/sh/sh.md (initialize_trampoline): Do not force the
8098         trampoline address into R0_REGS here.
8099
8100 Sun Nov 17 14:01:09 CET 2002  Jan Hubicka  <jh@suse.cz>
8101
8102         * i386.md (negsf2_ifs, negdf2_ifs, negdf2_ifs_rex64, abssf2_ifs,
8103         absdf2_ifs, absdf2_ifs_rex64): Fix constraints.
8104         (neg?f2_ifs, abs?f2_ifs splitters): Refuse memory operand; do not
8105         generate unnecesary subregs.
8106
8107 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8108
8109         * df.c: Fix formatting.
8110
8111 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8112
8113         * config/h8300/h8300.md (two anonymous patterns): Fix insn
8114         lengths.
8115
8116 2002-11-17  Daniel Jacobowitz  <drow@mvista.com>
8117
8118         * sh.c (gen_shl_and): Don't create a zero_extend if the operand
8119         is not an arith_reg_operand.
8120
8121 2002-11-17  Graham Stott  <graham.stott@btinternet.com>
8122
8123         * real.c (real_to_decimal): Fix buffer overrun when buffer size
8124         is smaller than representation.
8125
8126 2002-11-17  Kazu Hirata  <kazu@cs.umass.edu>
8127
8128         * builtins.c: Fix formatting.
8129
8130 Sat Nov 16 16:49:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8131
8132         * i386.md (truncdfsf2_1_sse, truncdfsf2_1_sse_nooverlap, truncdfsf2_2,
8133         floats?dff2_i387):
8134         Work around regclass stupidity.
8135         (truncdfsf_2_1_sse splitter):  Accept !TARGET_PARTIAL_SSE_REGS
8136
8137 Sat Nov 16 02:17:48 CET 2002  Jan Hubicka  <jh@suse.cz>
8138
8139         * i386.md (fop_df_6): New pattern.
8140         (fop_xf_4, fop_xf_5): Handle both SF and DFmode extensions.
8141         (fop_xf_6): Rewrite
8142         (fop_xf_7): Delete.
8143         (fop_tf_4, fop_tf_5): Handle both SF and DFmode extensions.
8144         (fop_tf_6): Rewrite
8145         (fop_tf_7): Delete.
8146
8147 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8148
8149         * config/h8300/h8300.md (two anonymous patterns): Fix typos.
8150
8151 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8152
8153         * config/h8300/h8300.md: Fix formatting.
8154
8155 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8156
8157         * config/h8300/h8300.md: Replace spaces with tabs.
8158         * config/h8300/t-h8300: Remove a trailing empty line.
8159
8160 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8161
8162         * tlink.c: Fix formatting.
8163
8164 2002-11-16  David Edelsohn  <edelsohn@gnu.org>
8165
8166         PR 8362
8167         * config/rs6000/rs6000.c (rs6000_outout_load_multiple): New function.
8168         * config/rs6000/rs6000.md (movti_string): Remove output modifier
8169         when scratch register never needed.
8170         (ldmsi[3-8]): New patterns.
8171
8172 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8173
8174         * hard-reg-set.h: Follow spelling conventions.
8175         * real.c: Likewise.
8176         * target.h: Likewise.
8177
8178 2002-11-16  Jakub Jelinek  <jakub@redhat.com>
8179
8180         * config/i386/x86-64.h (MCOUNT_NAME): Change into string literal.
8181
8182 2002-11-16  Kazu Hirata  <kazu@cs.umass.edu>
8183
8184         * optabs.c: Fix formatting.
8185
8186 Sat Nov 16 02:06:02 CET 2002  Jan Hubicka  <jh@suse.cz>
8187
8188         * athlon.md, k6.md, pentium.md, ppro.md: Handle shift1, rotate1
8189         * i386.md (attribute type): Add type shift1 and rotate1.
8190         (*_slp): Rewrite to have just two operands to avoid reload problems.
8191
8192 2002-11-15  Kazu Hirata  <kazu@cs.umass.edu>
8193
8194         * config/h8300/h8300.md (4 anonymous patterns): New.
8195
8196 2002-11-15  Geoffrey Keating  <geoffk@apple.com>
8197
8198         * params.def (GGC_MIN_HEAPSIZE): Fix GGC_ALWAYS_COLLECT problem.
8199         * doc/invoke.texi: Correct description of what needs to be done to
8200         force collection at every ggc_collect call.
8201
8202 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8203
8204         * config/s390/s390.c (optimization_options): Set
8205         flag_asynchronous_unwind_tables to 1 by default.
8206
8207 2002-11-15  Ulrich Weigand  <uweigand@de.ibm.com>
8208
8209         * config/s390/s390.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
8210
8211 Fri Nov 15 14:54:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8212
8213         * i386-protos.h (x86_function_profiler): New function
8214         * i386.h (MCOUNT_NAME): New.
8215         (PROFILE_COUNT_REGISTER): New.
8216         (FUNCTION_PROFILER): Move offline to ...
8217         * i386.c (x86_function_profiler) ... here; fix 64bit support
8218         * beos-elf.h (FUNCTION_PROFILER): Kill.
8219         (MCOUNT_NAME): New.
8220         * freebsd-aout.h (FUNCTION_PROFILER): Kill.
8221         (MCOUNT_NAME): New.
8222         (PROFILE_COUNT_REGISTER): New.
8223         * linux.h (FUNCTION_PROFILER): Kill.
8224         (MCOUNT_NAME): New.
8225         * x86-64.h (FUNCTION_PROFILER): Kill.
8226         (MCOUNT_NAME): New.
8227         * freebsd.h (FUNCTION_PROFILER): Kill.
8228         (MCOUNT_NAME): New.
8229
8230 2002-11-14  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
8231
8232         * config/arm/arm.h (EXPAND_BUILTIN_VA_ARG,
8233         FUNCTION_ARG_PASS_BY_REFERENCE): Define.
8234         * config/arm/arm.c (arm_va_arg,
8235         arm_function_arg_pass_by_reference): New.
8236         * config/arm/arm-protos.h: Add prototypes.
8237
8238 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8239
8240         * gthr-single.h: Fix formatting.
8241
8242 2002-11-14  Zack Weinberg  <zack@codesourcery.com>
8243
8244         * tree.c (tree_vec_elt_check_failed): New function.
8245         * tree.h (TREE_VEC_ELT_CHECK): New checking macro.
8246         (TREE_VEC_ELT): Use it.
8247
8248         * tree-inline.c (optimize_inline_calls): Don't copy a
8249         zero-length vector.
8250
8251 2002-11-14  Gabriel Dos Reis  <gdr@integrable-solutions.net>
8252
8253         * diagnostic.c (sorry): Don't repeat "sorry, unimplemented" text.
8254
8255 2002-11-14  Jakub Jelinek  <jakub@redhat.com>
8256
8257         * varasm.c (output_addressed_constants) [MINUS_EXPR]: Clear reloc if
8258         both operands contain local relocations.
8259         (categorize_decl_for_section): Don't use mergeable sections if
8260         initializer has any relocations.
8261
8262 2002-11-14  Kazu Hirata  <kazu@cs.umass.edu>
8263
8264         * gthr-vxworks.h: Fix formatting.
8265
8266 2002-11-13  Janis Johnson  <janis187@us.ibm.com>
8267
8268         * doc/install.texi (Testing): Document extra Java testing.
8269         * doc/sourcebuild.texi (Test Suites): Document libgcj testing.
8270
8271 2002-11-13  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8272
8273         * pa64-hpux.h (LINK_SPEC): Move "+Accept TypeMismatch" switch to the
8274         beginning of the spec.
8275         (LDD_SUFFIX, PARSE_LDD_OUTPUT): Delete.
8276         (LD_INIT_SWITCH, LD_FINI_SWITCH): Define but don't enable.  Add comment
8277         regarding problems with global constructors when using GNU ld.
8278
8279 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8280
8281         * gthr-solaris.h: Fix formatting.
8282
8283 2002-11-13  Kazu Hirata  <kazu@cs.umass.edu>
8284
8285         * gthr-posix.h: Fix formatting.
8286
8287 2002-11-12  Devang Patel <dpatel@apple.com>
8288         * gcc.c (display_help): Two new options -Xpreprocessor and -Xassembler.
8289         (process_command): Same.
8290         * doc/invoke.texi: Info about these two new options.
8291
8292 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8293
8294         * config/h8300/h8300.md (*andorsi3): New.
8295
8296 2002-11-12  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8297
8298         * doc/install.texi (powerpc-*-linux-gnu*): Update binutils requirement.
8299
8300 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8301
8302         * config/h8300/h8300.c (tiny_constant_address_p): Parenthesize
8303         expressions appropriately.
8304
8305 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8306
8307         * gthr-win32.h: Fix formatting.
8308
8309 2002-11-12  Kazu Hirata  <kazu@cs.umass.edu>
8310
8311         * config/h8300/h8300.c (single_one_operand): Correctly compute
8312         mask when mode is SImode.
8313         (single_zero_operand): Likewise.
8314         * config/h8300/h8300.md (two new anonymous insns): New.
8315
8316 2002-11-12  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8317
8318         * doc/contrib.texi (Contributors): Use GCJ instead of gcj to refer
8319         to that entire project.
8320
8321 2002-11-12  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
8322
8323         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Restore old
8324         directories.
8325
8326 2002-11-11  Zack Weinberg  <zack@codesourcery.com>
8327
8328         * params.def (ggc-min-expand, ggc-min-heapsize): New parameters.
8329         * doc/invoke.texi: Document them.
8330
8331         * ggc-page.c: Include params.h.  Remove definitions of
8332         GGC_MIN_EXPAND_FOR_GC, GGC_MIN_LAST_ALLOCATED.  Replace
8333         GGC_POISON with ENABLE_GC_CHECKING in ifdefs, delete #define.
8334         (init_gcc): Don't set G.allocated_last_gc here.
8335         (ggc_collect): Use PARAM_VALUE (GGC_MIN_HEAPSIZE) and
8336         PARAM_VALUE (GGC_MIN_EXPAND) to decide whether or not to
8337         perform collection.
8338         * ggc-simple.c: Similarly.
8339         * Makefile.in (ggc-common.o, ggc-simple.o): Add $(PARAMS_H) to
8340         dependencies.
8341
8342 2002-11-11  Kazu Hirata  <kazu@cs.umass.edu>
8343
8344         * gthr-dce.h: Fix formatting.
8345
8346 2002-11-11  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
8347
8348         PR c/8467
8349         * stmt.c (tail_recursion_args): Handle DECL_MODE differing from the
8350         mode of DECL_RTL case.
8351
8352 2002-11-11  Janis Johnson  <janis187@us.ibm.com>
8353
8354         * doc/contrib.texi: Merge in the list from the libstdc++ web pages.
8355
8356 Mon Nov 11 12:06:08 CET 2002  Jan Hubicka  <jh@suse.cz>
8357
8358         * i386.c (construct_container): Fix handling of SSE_CLASS.
8359
8360 2002-11-10  Joel Sherrill <joel@gcc.gnu.org>
8361
8362         * config/m68k/t-crtstuff (crti.o): Use this...
8363         ($(T)crti.o): ... instead.
8364         (crtn.o): Use this...
8365         ($(T)crtn.o): ... instead.
8366
8367 2002-11-10  Eric Botcazou  <ebotcazou@libertysurf.fr>
8368
8369         PR c/8439
8370         * recog.c (validate_replace_rtx_1) [PLUS]: Simplify only
8371         if there is something new to be simplified.
8372
8373 2002-11-10  H.J. Lu <hjl@gnu.org>
8374
8375         * calls.c (PUSH_ARGS_REVERSED): Define only if not defined.
8376         * expr.c (PUSH_ARGS_REVERSED): Likewise.
8377
8378         * config/i386/i386.h (PUSH_ARGS_REVERSED): Set to 1.
8379
8380 2002-11-10  Zack Weinberg  <zack@codesourcery.com>
8381
8382         * config/rs6000/sysv4.h: Define NO_IMPLICIT_EXTERN_C here...
8383         * config/rs6000/linux.h, config/rs6000/linux64.h,
8384         config/rs6000/windiss.h: ... not here.
8385
8386 2002-11-10  Jason Thorpe  <thorpej@wasabisystems.com>
8387
8388         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Define
8389         __ABICALLS__ if TARGET_ABICALLS.
8390
8391 Sun Nov 10 18:49:21 CET 2002  Jan Hubicka  <jh@suse.cz>
8392
8393         * i386.h (MIN_UNITS_PER_WORD): Define to 8 for x86-64 libgcc.
8394
8395 2002-11-10  Joseph S. Myers  <jsm@polyomino.org.uk>
8396
8397         * c-decl.c (grokdeclarator): Make error for duplicate type
8398         qualifiers into a pedwarn, disabled for C99.
8399
8400 2002-11-10  Hans-Peter Nilsson  <hp@bitrange.com>
8401
8402         * config/mmix/mmix.h (FUNCTION_ARG_CALLEE_COPIES): Define the same
8403         as FUNCTION_ARG_PASS_BY_REFERENCE.
8404
8405 2002-11-09  Zack Weinberg  <zack@codesourcery.com>
8406
8407         * doc/install.texi: Add *-*-vxworks* specific installation
8408         instructions.
8409
8410         * config/vxlib.c: Rewrite using generation numbers to identify
8411         valid TSD keys.
8412
8413 Sat Nov  9 00:10:54 CET 2002  Jan Hubicka  <jh@suse.cz>
8414
8415         * i386.c (x86_machine_dependent_reorg): Fix even more side cases.
8416
8417 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8418
8419         * pa.h (STARTING_FRAME_OFFSET): Change offset for TARGET_64BIT to 16.
8420
8421         * config.gcc (hppa*64*-*-linux*): Shorten lines in tm_file define.
8422         (hppa*64*-*-hpux11*): Likewise.  Use elfos.h with gas.
8423         * pa.c (output_millicode_call): Use symbol difference rather than
8424         $PIC_pcrel$0 when using HP assembler.
8425         * pa64-hpux.h (TARGET_GAS): Define to 1 or 0 depending on whether or
8426         not elfos.h (i.e., gas) is being used.
8427         (ASM_FILE_START, STRING_ASM_OP, TEXT_SECTION_ASM_OP,
8428         DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_COMMON,
8429         ASM_OUTPUT_ALIGNED_LOCAL, GLOBAL_ASM_OP, ASM_DECLARE_FUNCTION_NAME,
8430         ASM_OUTPUT_EXTERNAL, ASM_OUTPUT_EXTERNAL_LIBCALL,
8431         ASM_OUTPUT_INTERNAL_LABEL, ASM_GENERATE_INTERNAL_LABEL): Define when
8432         using elfos.h.
8433         (TARGET_ASM_GLOBALIZE_LABEL): Undefine when using elfos.h.
8434         (DWARF2_ASM_LINE_DEBUG_INFO): Delete.
8435         (ASM_FILE_START): Add standard .SPACE and .SUBSPA defines when not
8436         using elfos.h.
8437         (TEXT_SECTION_ASM_OP, READONLY_DATA_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
8438         BSS_SECTION_ASM_OP): New HP style defines when not using elfos.h.
8439         (TARGET_ASM_NAMED_SECTION, MAKE_DECL_ONE_ONLY, ASM_WEAKEN_LABEL):
8440         Don't define when not using elfos.h.
8441         (ASM_DECLARE_RESULT): Don't define.
8442         * doc/install.texi (hppa*-hp-hpux*): Remove statement that HP assembler
8443         doesn't work on hppa64-hp-hpux11.
8444         (hppa*-hp-hpux11): Update.
8445
8446 2002-11-09  Jason Thorpe  <thorpej@wasabisystems.com>
8447
8448         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Don't pass -KPIC
8449         to the assembler if -mno-abicalls was specified.
8450
8451 2002-11-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8452
8453         * pa-linux.h (PREFERRED_DEBUGGING_TYPE, DWARF2_ASM_LINE_DEBUG_INFO,
8454         ASM_OUTPUT_DEF): Delete.
8455
8456 2002-11-09  Neil Booth  <neil@daikokuya.co.uk>
8457
8458         * c-opts.c (COMMAND_LINE_OPTIONS): Fix -Wimplicit.
8459
8460 2002-11-08  Roger Sayle  <roger@eyesopen.com>
8461
8462         * real.c (real_sqrt): Update comment with bibliographic reference.
8463
8464 Fri Nov  8 13:33:58 CET 2002  Jan Hubicka  <jh@suse.cz>
8465
8466         * i386.md (sse_loadss, sse2_loadsd): Fix expander.
8467
8468 Fri Nov  8 13:25:41 CET 2002  Jan Hubicka  <jh@suse.cz>
8469
8470         * i386.c (x86_machine_dependent_reorg): Fix handling of empty functions.
8471
8472 Fri Nov  8 13:01:42 CET 2002  Jan Hubicka  <jh@suse.cz>
8473
8474         * builtins.c (expand_builtin_mathfn): Handle floor/ceil/trunc/round/nearbyint
8475         (expand_builtin): Likewise.
8476         * builtins.def: Add
8477         __builtin_floor, __builtin_floorf, __builtin_floorl
8478         __builtin_ceil, __builtin_ceilf, __builtin_ceill
8479         __builtin_round, __builtin_roundf, __builtin_roundl
8480         __builtin_trunc, __builtin_truncf, __builtin_truncl
8481         __builtin_nearbyint, __builtin_nearbyintf, __builtin_nearbyintl.
8482         * genopinit.c (optabs): Initialize the new optabs.
8483         * optab.c (init_optabs): Likewise.
8484         * optabs.h (optab_index): Add OTI_floor, OTI_ceil, OTI_trunc,
8485         OTI_round, OTI_nearbyint.
8486         (floor_optab, ceil_optab, trunc_optab, round_optab, nearbyint_optab): New.
8487         * doc/md.texi: Document new named patterns.
8488         * doc/extend.texi (builtin functions)  Document
8489         floor, floorf, floorl, ceil, ceilf,
8490         ceill, round, roundf, roundl, trunc,
8491         truncf, truncl, nearbyint, nearbyintf, nearbyintl.
8492
8493 Fri Nov  8 11:36:11 CET 2002  Jan Hubicka  <jh@suse.cz>
8494
8495         * i386.md (sse_movdfcc, sse_movsfcc): Fix typo in previous patch.
8496
8497 2002-11-08  Dale Johannesen  <dalej@apple.com>
8498
8499         * dbxout.c (dbxout_type):  Fix stabs info for vector types.
8500
8501 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8502
8503         PR preprocessor/8497
8504         PR preprocessor/8501
8505         * cpptrad.c (scan_out_logical_line): A '#' from a macro doesn't
8506         start a directive.  In assembler, #NUM is not a line directive.
8507
8508 2002-11-08  Neil Booth  <neil@daikokuya.co.uk>
8509
8510         * cppmain.c (cpp_preprocess_file): Loop to pop any -included
8511         buffers.
8512
8513 2002-11-08  Kazu Hirata  <kazu@cs.umass.edu>
8514
8515         * config/h8300/h8300.md (two anonymous test insns): New.
8516
8517 Fri Nov  8 11:20:19 CET 2002  Jan Hubicka  <jh@suse.cz>
8518
8519         * jump.c (mark_jump_label): Handle subregs of label_refs.
8520
8521 Thu Nov  7 21:54:22 CET 2002  Jan Hubicka  <jh@suse.cz>
8522
8523         * i386.md (sse_movdfcc, sse_movsfcc): Avoid overactive matching.
8524         * i386.c (ix86_expand_fp_movcc): Match the reversed cases.
8525
8526 2002-11-07  David Mosberger  <davidm@hpl.hp.com>
8527
8528         * config/ia64/crtend.asm: Include "auto-host.h".
8529         [HAVE_INITFINI_ARRAY]: Invoke __do_global_ctors_aux via .init_array.
8530         * config/ia64/crtbegin.asm: Similarly.
8531         * config/ia64/t-ia64 (crtbegin.o): Include from current directory.
8532         (crtend.o, crtbeginS.o, crtendS.o): Likewise.
8533
8534         * aclocal.m4 (gcc_AC_INITFINI_ARRAY): New.
8535         * configure.in: Use it if --enable-initfini-array not specified.
8536         * doc/install.texi (Configuration): Document --enable-initfini-array.
8537         * configure, config.in: Rebuild.
8538
8539 2002-11-07  Jason Thorpe  <thorpej@wasabisystems.com>
8540
8541         * config/arm/arm-protos.h (arm_get_frame_size)
8542         (thumb_get_frame_size): New prototypes.
8543         * config/arm/arm.c (arm_get_frame_size)
8544         (thumb_get_frame_size): New functions.
8545         (use_return_insn, arm_output_epilogue, arm_output_function_epilogue)
8546         (arm_compute_initial_elimination_offset, arm_expand_prologue): Use
8547         arm_get_frame_size.
8548         (thumb_expand_prologue, thumb_expand_epilogue): Use
8549         thumb_get_frame_size.
8550         * config/arm/arm.h (PREFERRED_STACK_BOUNDARY): Define.
8551         (machine_function): Add frame_size member.
8552         (THUMB_INITIAL_ELIMINATION_OFFSET): Use thumb_get_frame_size.
8553
8554 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8555
8556         * arm.c (bit_count): Make argument unsigned long.  Return unsigned.
8557         Adjust code to use portable unsigned bit manipulation.
8558         (insn_flags, tune_flags): Change type to unsigned.
8559         (struct processors): Make flags unsigned long.
8560         (arm_override_options): Change type of count and current_bit_count
8561         to unsigned.
8562
8563 2002-11-07  Richard Earnshaw  <rearnsha@arm.com>
8564
8565         * arm/elf.h (TYPE_OPERAND_FMT): Prefix type with %.
8566
8567 Thu Nov  7 15:50:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
8568
8569         * sh.h (DWARF_FRAME_RETURN_COLUMN): Use DWARF_FRAME_REGNUM.
8570
8571 Thu Nov  7 11:18:01 CET 2002  Jan Hubicka  <jh@suse.cz>
8572
8573         * reg-stack.c (compensate_edge): Fix sanity check.
8574
8575 2002-11-05  Geoffrey Keating  <geoffk@apple.com>
8576
8577         * config.gcc: Don't create crtbegin, crtend on Darwin; do create
8578         crt2.o.  Rearrange t-darwin makefiles.
8579         * crtstuff.c [OBJECT_FORMAT_MACHO]: Delete.
8580         * unwind-dw2-fde-darwin.c: New.
8581         * unwind-dw2-fde-glibc.c: Correct comment.
8582         * unwind-dw2-fde.c (__register_frame_info_bases)
8583         [DWARF2_OBJECT_END_PTR_EXTENSION]: Clear fde_end.
8584         (classify_object_over_fdes): Use last_fde.
8585         (add_fdes): Likewise.
8586         (linear_search_fdes): Likewise.
8587         * unwind-dw2-fde.h (struct object)
8588         [DWARF2_OBJECT_END_PTR_EXTENSION]: Add fde_end field.
8589         (last_fde): New.
8590         * config/darwin.h (STARTFILE_SPEC): Include crt2.o not crtbegin.o.
8591         (ENDFILE_SPEC): No crtend.o.
8592         * config/t-darwin: New.
8593         * config/i386/t-darwin: Delete.
8594         * config/darwin-crt2.c: New.
8595         * config/rs6000/t-darwin: Delete contents duplicated in t-rs6000
8596         or config/t-darwin.
8597
8598 2002-11-06  Douglas B Rupp  <rupp@gnat.com>
8599
8600         * config/i386/i386-interix.h (TARGET_SUBTARGET_DEFAULT): Or
8601         MASK_MS_BITFIELD_LAYOUT
8602         (SUBTARGET_OVERRIDE_OPTIONS): Warn about and turn off
8603         MS bitfields for Objective-C.
8604         (PCC_BIT_FIELD_TYPE_TEST, GROUP_BITFIELDS_BY_ALIGN): Remove
8605         defines.
8606
8607         * config/i386/i386.c (ix86_ms_bitfield_layout): New function.
8608         (TARGET_MS_BITFIELD_LAYOUT_P): Define to above function.
8609         (TARGET_USE_MS_BITFIELD_LAYOUT): Define.
8610
8611         * config/i386/i386.h (MASK_MS_BITFIELD_LAYOUT: New mask.
8612         TARGET_USE_MS_BITFIELD_LAYOUT): New macro.
8613         (TARGET_SWITCHES): Add above mask.
8614
8615         * testsuite/gcc.dg/bf-ms-layout.c: New test case.
8616         * testsuite/gcc.dg/bf-no-ms-layout.c: New test case.
8617         * testsuite/gcc.dg/i386-bitfield1.c (dg-options): Add appropriate
8618         flags for interix.
8619
8620 Wed Nov  6 18:54:47 2002  Alexandre Oliva  <aoliva@redhat.com>
8621
8622         * config/mips/mips.h (ASM_OUTPUT_ADDR_DIFF_ELT): Output
8623         .gpword/.gpdword for ABI_N32 and ABI_64 too, if using the GNU
8624         assembler.
8625         * config/mips/mips.md (tablejump_internal3): Output .cpadd
8626         before jump on ABI_N32 too.
8627         (tablejump_internal4): Ditto on ABI_64.  Increase maximum
8628         length to match.
8629
8630 Wed Nov  6 17:16:48 CET 2002  Jan Hubicka  <jh@.suse.cz>
8631
8632         * i386.md (negsf splitter): Accept memory operand in second register.
8633         (abssf/absdf splitters): Simplify
8634         (sse_loadss, sse_loadsd): Turn into expander.
8635
8636 2002-11-06  David Edelsohn  <edelsohn@gnu.org>
8637
8638         PR target/8480
8639         * config/rs6000/rs6000.md (movdi_internal64): Discourage
8640         FPR to FPR moves.
8641
8642 2002-11-06  Janis Johnson  <janis187@us.ibm.com>
8643
8644         * doc/contrib.texi: Merge in the list from the Java web pages.
8645
8646 2002-11-06  David O'Brien  <obrien@FreeBSD.org>
8647
8648         * config/sparc/freebsd: Fix typo.
8649
8650 2002-11-06  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8651
8652         * pa64-hpux.h (LDD_SUFFIX, PARSE_LDD_OUTPUT): Define.
8653
8654 2002-11-06  Alexandre Oliva  <aoliva@redhat.com>
8655
8656         * config/mips/mips.md (call_value_multiple_internal2): Use dla for
8657         non-SImode addresses.
8658
8659 Tue Nov  5 14:34:36 CET 2002  Jan Hubicka  <jh@suse.cz>
8660
8661         * i386.md (float_truncate SSE splitter): Ensure that operand is not
8662         stack register.
8663         (float SSE splitters): Reorder conditional.
8664
8665 2002-11-05  Bob Wilson  <bob.wilson@acm.org>
8666
8667         * config/xtensa/elf.h (LIB_SPEC): Add "-lhal".
8668
8669 2002-11-05  John David Anglin  <dave2hiauly1.hia.nrc.ca>
8670
8671         * pa64-hpux.h (LIB_SPEC): Fix p and pg options.
8672         (STARTFILE_SPEC): Remove p and pg options.
8673
8674 2002-11-05  Andrew Haley  <aph@redhat.com>
8675
8676         * fold-const.c (fold): Don't transform (a0 op compound(a1,a2))
8677         to (compound(a1,a0 op a2)) if a0 or a1 have side effects.
8678
8679 2002-11-05  Richard Sandiford  <rsandifo@redhat.com>
8680
8681         * config/mips/mips.h (CANNOT_CHANGE_MODE_CLASS): Move comment to...
8682         * config/mips/mips.c (mips_cannot_change_mode_class): ...here.
8683
8684 2002-11-04  Zack Weinberg  <zack@codesourcery.com>
8685
8686         * gthr-vxworks.h: Rewritten from scratch.
8687         * config/vxlib.c: New file.
8688         * config/t-vxworks: Add config/vxlib.c to LIB2FUNCS_EXTRA.
8689         * config/rs6000/t-vxworks: Add config/vxlib.c to
8690         LIB2FUNCS_EXTRA here too, because of clash with
8691         config/rs6000/t-ppccomm.
8692
8693 2002-11-04  Dale Johannesen  <dalej@apple.com>
8694
8695         * doloop.c (doloop_modify_runtime):  Fix loop count computation
8696         for unrolled loops.
8697         * loop.c (loop_invariant_p):  Support calling from unroller.
8698
8699 2002-11-04  Ulrich Weigand  <uweigand@de.ibm.com>
8700
8701         * config/s390/s390.c (s390_decompose_address): Use arg_pointer_rtx
8702         for comparison.
8703
8704 2002-11-04  Aldy Hernandez  <aldyh@redhat.com>
8705
8706         * hard-reg-set.h (REG_CANNOT_CHANGE_MODE_P): New.
8707
8708         * config/rs6000/rs6000.h (CLASS_CANNOT_CHANGE_MODE_P): Remove.
8709         (CLASS_CANNOT_CHANGE_MODE): Remove.
8710         (CANNOT_CHANGE_MODE_CLASS): New.
8711
8712         * config/alpha/alpha.h: Same.
8713
8714         * config/ia64/ia64.h: Same.
8715
8716         * config/mips/mips.h: Same.
8717
8718         * config/s390/s390.h: Same.
8719
8720         * config/sh/sh.h: Same.
8721
8722         * config/pa/pa64-regs.h: Same.
8723
8724         * config/sh/sh-protos.h (sh_cannot_change_mode_class): Add prototype.
8725
8726         * config/sh/sh.c (sh_cannot_change_mode_class): New.
8727
8728         * config/mips/mips-protos.h (mips_cannot_change_mode_class): Add
8729         prototype.
8730
8731         * config/mips/mips.c (mips_cannot_change_mode_class): New.
8732
8733         * doc/tm.texi (Register Classes): Remove
8734         CLASS_CANNOT_CHANGE_MODE and CLASS_CANNOT_CHANGE_MODE_P.
8735         Document CANNOT_CHANGE_MODE_CLASS.
8736
8737         * reload.c (push_reload): Use CANNOT_CHANGE_MODE_CLASS.
8738         (push_reload): Same.
8739
8740         * simplify-rtx.c (simplify_subreg): Same.
8741
8742         * reload1.c (choose_reload_regs): Same.
8743
8744         * recog.c (register_operand): Same.
8745
8746         * regrename.c (mode_change_ok): Change to use new
8747         CANNOT_CHANGE_MODE_CLASS infrastructure.
8748
8749         * regclass.c (cannot_change_mode_set_regs): New.
8750         Declare subregs_of_mode.
8751         (regclass): Use subregs_of_mode.
8752         Remove references to reg_changes_mode.
8753         (init_reg_sets_1): Remove class_can_change_mode and
8754         reg_changes_mode code.
8755         (invalid_mode_change_p): New.
8756         (dump_regclass): Use invalid_mode_change_p instead of
8757         class_can_change_mode.
8758         (regclass): Same.
8759         (record_operand_costs): Do not set reg_changes_mode.
8760
8761         * local-alloc.c (struct qty): Remove changes_mode field.
8762         (alloc_qty): Remove changes_mode initialization.
8763         (update_qty_class): Remove set of changes_mode.
8764         (find_free_reg): Use subregs_of_mode.
8765
8766         * global.c (find_reg): Use subregs_of_mode info.
8767
8768         * rtl.h (cannot_change_mode_set_regs): New prototype.
8769         (invalid_mode_change_p): Same.
8770         (REG_CANNOT_CHANGE_MODE_P): New macro.
8771
8772         * flow.c (mark_used_regs): Calculate subregs_of_mode.  Remove
8773         REG_CHANGES_MODE.
8774         (life_analysis): Clear subregs_of_mode.
8775
8776         * combine.c (subst): Pass class to CLASS_CANNOT_CHANGE_MODE_P.
8777         Remove use of CLASS_CANNOT_CHANGE_MODE.
8778         (simplify_set): Same.
8779         (gen_lowpart_for_combine): Calculate subregs_of_mode.  Remove
8780         REG_CHANGES_MODE.
8781
8782         * regs.h: Add extern for subregs_of_mode;
8783         Include hard-reg-set and basic-block.
8784         (REG_CHANGES_MODE): Delete.
8785
8786 2002-11-03  Roger Sayle  <roger@eyesopen.com>
8787
8788         * real.c (real_sqrt): New function to calculate square roots.
8789         * real.h (real_sqrt): Add function prototype.
8790         * builtins.c (fold_builtin): Fold sqrt of constant argument.
8791         * simplify-rtx.c (simplify_unary_operation): Simplify sqrt
8792         of constant argument.
8793
8794 2002-11-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
8795
8796         * jump.c (never_reached_warning): Don't set contains_insn until the
8797         first line note is seen.
8798
8799 2002-11-03  David Edelsohn  <edelsohn@gnu.org>
8800
8801         * config/rs6000/rs6000.md (movti_string): Use string instructions.
8802
8803 2002-11-03  Roger Sayle  <roger@eyesopen.com>
8804
8805         PR c/7128
8806         * c-typeck.c (c_expand_asm_operands): Defend against
8807         error_mark_nodes in the output argument to avoid ICE.
8808
8809 2002-11-03  Eric Botcazou  <ebotcazou@libertysurf.fr>
8810
8811         PR middle-end/8408
8812         * genrecog.c (preds): Handle ADDRESSOF.
8813         (validate_pattern): Mark it as an lvalue.
8814
8815 2002-11-02  David Edelsohn  <edelsohn@gnu.org>
8816
8817         * config/rs6000/rs6000.c (rs6000_override_options): Use string
8818         instructions when optimizing for size.
8819
8820 2002-11-02  Kazu Hirata  <kazu@cs.umass.edu>
8821
8822         * config/h8300/h8300.h: Fix comment typos.
8823         * config/h8300/h8300.md: Likewise.
8824         * config/h8300/lib1funcs.asm: Likewise.
8825
8826 2002-11-02  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
8827
8828         Revert this change:
8829
8830         *doc/install.texi (Installing GCC: Configuration): Clarify
8831         the only supported ways to configure gcc.
8832
8833 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
8834
8835         * config/h8300/h8300.md (anonymous and:QI pattern): Use 'n'
8836         instead of 'O' for the constraint for the second operand.
8837
8838 2002-11-01  Mark Mitchell  <mark@codesourcery.com>
8839
8840         PR c++/8391
8841         * toplev.c (rest_of_compilation): Do not refuse to output code for
8842         an inline function in a local class.
8843
8844 2002-11-01  David O'Brien  <obrien@FreeBSD.org>
8845
8846         * config/sparc/freebsd.h (CPP_CPU64_DEFAULT_SPEC): Define __arch64__.
8847         (TRANSFER_FROM_TRAMPOLINE): Reformat.
8848         Add comment.
8849
8850 2002-11-01  Kazu Hirata  <kazu@cs.umass.edu>
8851
8852         * config/h8300/h8300.h (CAN_ELIMINATE): Simplify.
8853
8854 2002-11-01  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
8855
8856         * config/h8300/h8300.h (OPTIMIZATION_OPTIONS): New.
8857
8858 2002-11-01  Steve Ellcey  <sje@cup.hp.com>
8859
8860         * config/ia64/ia64.h (MASK_INLINE_DIV_LAT): Remove.
8861         (MASK_INLINE_DIV_THR): Remove.
8862         (TARGET_INLINE_DIV_LAT): Remove.
8863         (TARGET_INLINE_DIV_THR): Remove.
8864         (TARGET_INLINE_DIV): Remove.
8865         (MASK_INLINE_FLOAT_DIV_LAT): New macro.
8866         (MASK_INLINE_FLOAT_DIV_THR): New macro.
8867         (MASK_INLINE_INT_DIV_LAT): New macro.
8868         (MASK_INLINE_INT_DIV_THR): New macro.
8869         (TARGET_INLINE_FLOAT_DIV_LAT): New macro.
8870         (TARGET_INLINE_FLOAT_DIV_THR): New macro.
8871         (TARGET_INLINE_INT_DIV_LAT): New macro.
8872         (TARGET_INLINE_INT_DIV_THR): New macro.
8873         (TARGET_INLINE_FLOAT_DIV): New macro.
8874         (TARGET_INLINE_INT_DIV): New macro.
8875         * config/ia64/ia64.md (divsi3): Change to use new macros.
8876         (modsi3): Ditto.
8877         (udivsi3): Ditto.
8878         (umodsi3): Ditto.
8879         (divsi3_internal): Ditto.
8880         (divdi3): Ditto.
8881         (moddi3): Ditto.
8882         (udivdi3): Ditto.
8883         (umoddi3): Ditto.
8884         (divdi3_internal_lat): Ditto.
8885         (divdi3_internal_thr): Ditto.
8886         (divsf3): Ditto.
8887         (divsf3_internal_lat): Ditto.
8888         (divsf3_internal_thr): Ditto.
8889         (divdf3): Ditto.
8890         (divdf3_internal_lat): Ditto.
8891         (divdf3_internal_thr): Ditto.
8892         (divtf3): Ditto.
8893         (divtf3_internal_lat): Ditto.
8894         (divtf3_internal_thr): Ditto.
8895         * config/ia64/ia64.c (ia64_override_options): Change
8896         to check new macros for conflicts in settings.
8897         * doc/invoke.texi (-minline-divide-min-latency): Remove.
8898         (-minline-divide-max-throughput): Remove.
8899         (-minline-float-divide-min-latency): New.
8900         (-minline-float-divide-max-throughput): New.
8901         (-minline-int-divide-min-latency): New.
8902         (-minline-int-divide-max-throughput): New.
8903
8904 2002-11-01  Richard Earnshaw  (rearnsha@arm.com)
8905
8906         PR target/7856
8907         * arm.c (use_return_insn): Don't use a return insn if there are
8908         saved integer regs, but LR is not one of them.
8909
8910 Fri Nov  1 10:33:15 CET 2002  Jan Hubicka  <jh@suse.cz>
8911
8912         * expr.c (emit_move_insn):  Use SCALAR_FLOAT_MODE_P
8913         * machmode.h (SCALAR_FLOAT_MODE_P): New macro.
8914
8915 Thu Oct 31 18:20:50 CET 2002  Jan Hubicka  <jh@suse.cz>
8916
8917         * i386.md (sse_loadss, sse_loadsd):  Canonicalize; add expander
8918         (movps, movpd splitters): Use canonical form.
8919         (movv2di): Fix merge problem.
8920
8921 Thu Oct 31 16:22:31 CET 2002  Jan Hubicka  <jh@suse.cz>
8922
8923         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8924
8925 2002-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
8926
8927         PR optimization/6162
8928         * doc/md.texi: Document restriction on commutative operand
8929         specification.
8930
8931 2002-10-31  Eric Christopher  <echristo@redhat.com>
8932
8933         * explow.c (convert_memory_address): Use shallow_copy_rtx.
8934
8935 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
8936
8937         * expmed.c (store_bit_field): Check FUNCTION_ARG_REG_LITTLE_ENDIAN.
8938
8939 2002-10-31  Steve Ellcey  <sje@cup.hp.com>
8940
8941         * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Set for non-floats.
8942
8943 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
8944
8945         * config/rs6000/darwin.h:  Correct formatting in previous.
8946
8947 Thu Oct 31  Dale Johannesen  <dalej@apple.com>
8948
8949         * config/rs6000/darwin.h:  Enable -falign-xxx options.
8950
8951 Thu Oct 31 18:08:00 CET 2002  Jan Hubicka  <jh@suse.cz>
8952
8953         * i386.c (override_options): Set defaults for flag_omit_frame_pointer,
8954         flag_asynchronous_unwind_tables, flag_pcc_struct_return.
8955         * i386.c (optimization_options): Set flag_omit_frame_pointer,
8956         flag_asynchronous_unwind_tables, flag_pcc_struct_return to 2.
8957         Do not clear -momit-leaf-frame-pointer when profiling.
8958         (ix86_frame_pointer_required): Frame pointer is always required when
8959         profiling.
8960
8961 Thu Oct 31 16:09:44 CET 2002  Jan Hubicka  <jh@suse.cz>
8962
8963         * i386.md (negdf2_ifs_rex64): Don't allow GPR operand.
8964
8965 Thu Oct 31 12:45:55 2002  J"orn Rennecke <joern.rennecke@superh.com>
8966
8967         * sh.h (binary_logical_operator): Declare.
8968         * sh.c (binary_logical_operator): New function.
8969         * sh.md (xordi3+1): New combiner splitter pattern.
8970
8971 2002-10-31  David O'Brien  <obrien@FreeBSD.org>
8972
8973         * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Define
8974         __enable_execute_stack function.
8975
8976 2002-10-30  Zack Weinberg  <zack@codesourcery.com>
8977
8978         * gthr.h, gthr-dce.h, gthr-posix.h, gthr-rtems.h,
8979         gthr-solaris.h, gthr-win32.h: Remove __gthread_key_dtor.
8980         * unwind-sjlj.c (fc_key_dtor): Delete.
8981         (fc_key_init): Adjust __gthread_key_create call to match.
8982
8983 2002-10-30  Aldy Hernandez  <aldyh@redhat.com>
8984
8985         * c-common.c: Add GTY to vector_type_node_list.
8986
8987 2002-10-30  John David Anglin  <dave@hiauly.hia.nrc.ca>
8988
8989         * pa-linux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Define.
8990         * pa-protos.h (attr_length_millicode_call, attr_length_call,
8991         pa_init_machine_status): Declare new global functions.
8992         * pa.c (void copy_fp_args, length_fp_args, get_plabel): Declare and
8993         implement new functions.
8994         (attr_length_millicode_call, attr_length_call): Implement.
8995         (total_code_bytes): Change type to long.
8996         (pa_output_function_prologue): Compute total_code_bytes on TARGET_64BIT.
8997         Reset counter if flag_function_sections.
8998         (output_deferred_plabels): Set output alignment to 3 for TARGET_64BIT.
8999         (output_cbranch): Move call to gen_label_rtx.
9000         (output_millicode_call): Rewrite adding long TARGET_64BIT call, expose
9001         delay slot in all variants, shorten pc-relative calls.
9002         (output_call): Rewrite adding long TARGET_64BIT call, improved delay
9003         slot usage and exposure, various new call variants, and shortened
9004         sequences for some variants on TARGET_PA_20.
9005         Miscellaneous format changes.
9006         * pa.h (total_code_bytes): Change type to long.
9007         (MASK_LONG_CALLS, TARGET_LONG_CALLS, TARGET_LONG_ABS_CALL,
9008         TARGET_LONG_PIC_SDIFF_CALL, TARGET_LONG_PIC_PCREL_CALL): Define.
9009         (TARGET_SWITCHES): Add "-mlong-calls" and "-mno-long-calls" options.
9010         (EXTRA_CONSTRAINT, GO_IF_LEGITIMATE_ADDRESS,
9011         LEGITIMIZE_RELOAD_ADDRESS): Don't use long floating point loads and
9012         stores on TARGET_ELF32.
9013         *pa.md (define_delay): Allow insns in delay on TARGET_PORTABLE_RUNTIME.
9014         (unnamed patterns for mulsi3, divsi3, udivsi3, modsi3, umodsi3 and
9015         canonicalize_funcptr_for_compare expanders): Calculate attribute length
9016         attr_length_millicode_call().
9017         (call_internal_symref, call_value_internal_symref): Clobber register 1.
9018         Calculate attribute length using attr_length_call().
9019         (call_internal_reg_64bit, call_value_internal_reg_64bit): Move gp load
9020         to delay slot.
9021         (sibcall, sibcall_value): Rewrite.
9022         (sibcall_internal_symref, sibcall_value_internal_symref): Clobber
9023         register 1.  Use attr_length_call().
9024         (sibcall_internal_symref_64bit, sibcall_value_internal_symref_64bit):
9025         New patterns.
9026         (unamed pattern for canonicalize_funcptr_for_compare): Rewrite.
9027         * som.h (MEMBER_TYPE_FORCES_BLK): Define.
9028         * t-pa64 (TARGET_LIBGCC2_CFLAGS): Add "-mlong-calls".
9029         * doc/invoke.texi (mlong-calls): Document.
9030
9031 2002-10-30  Roger Sayle  <roger@eyesopen.com>
9032
9033         * fold-const.c (fold_binary_op_with_conditional_arg):  Improve
9034         handling of cases where one or both branches of the conditional
9035         have void type, i.e. throw an exception or don't return.
9036         (fold): Only apply (and undo) type conversion to the non-void
9037         branches of a COND_EXPR.
9038
9039 2002-10-30  Mark Mitchell  <mark@codesourcery.com>
9040
9041         PR c++/8333
9042         * varasm.c (asm_output_aligned_bss): Do not call
9043         ASM_GLOBALIZE_LABEL.
9044
9045 2002-10-30  David Edelsohn  <edelsohn@gnu.org>
9046             Torbjorn Granlund  <tege@swox.com>
9047
9048         * config/rs6000/rs6000.md (load_toc_v4_PIC_1): Use preferred form
9049         for addressibility.
9050         (load_toc_v4_PIC_1b): Same.
9051
9052 2002-10-30  Kazu Hirata  <kazu@cs.umass.edu>
9053
9054         * config/h8300/h8300.c (h8300_eightbit_constant_address_p):
9055         Truncate the addresses for H8/300 using HImode.
9056
9057 Tue Oct 29 23:28:10 CET 2002  Jan Hubicka  <jh@suse.cz>
9058
9059         * i386.md (negdf splitter): Fix construction of the constant.
9060
9061 Tue Oct 29 20:47:06 CET 2002  Jan Hubicka  <jh@suse.cz>
9062
9063         * i386.md (negsf, negdf): Reorganize to use vector modes
9064         for SSE variants.
9065         (abssf, absdf): Use force_reg.
9066         (movv4sf, movv2df): New splitters.
9067         * i386.h (PREDICATE_CODES): add zero_extended_scalar_load_operand
9068         * i386.c (zero_extended_scalar_load_operand
9069
9070         * i386-protos.h (ix86_expand_call): Update prototype.
9071         * i386.c (ix86_function_ok_for_sibcall): Handle 64bit
9072         (ix86_expand_call): Use r11 for indirect sibcalls.
9073         * i386.md (call, call_value, untyped_call, call_value_pop):
9074         update x86_expand_call call.
9075         (sibcall, sibcall_value): new patterns
9076         (call_rex64, call_value_rex64): Do not accept sibcalls.
9077         (sibcall_rex64, sibcall_value_rex64,
9078         sibcall_rex64_v, sibcall_value_rex64_v): New.
9079
9080 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9081
9082         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9083         before final pass.
9084
9085 2002-10-29  Hans-Peter Nilsson  <hp@bitrange.com>
9086
9087         * toplev.c (rest_of_type_compilation): Return early in case of
9088         errors.
9089         (check_global_declarations): Don't call debug_hooks->global_decl
9090         in case of errors.
9091
9092 2002-10-28  Andreas Bauer  <baueran@in.tum.de>
9093
9094         * doc/c-tree.texi (Tree overview): Fix typos.
9095
9096 2002-10-29  Phil Edwards  <pme@gcc.gnu.org>
9097
9098         * Makefile.in (gnucompare*):  Only record bad comparisons
9099         if there really was a bad comparison.
9100
9101 Tue Oct 29 19:32:16 CET 2002  Jan Hubicka  <jh@suse.cz>
9102
9103         * i386.h (CONST_DOUBLE_OK_FOR_LETTER_P): Remove 'H'
9104         * i386.md (movsf*, movdf*): Use 'C' instead of 'H'
9105         * md.texi (machine dependent constraints): Document 'C'
9106
9107         * simplify-rtx.c (simplify_subreg): Fix const_int->vector subregging.
9108
9109         * i386.c (ix86_expand_vector_move): Fix.
9110
9111         * i386.c (ix86_expand_builtin): Use sse2_maskmovdqu_rex64.
9112         * i386.md (sse2_maskmovdqu_rex64): New pattern
9113
9114         PR target/8322
9115         * xmmintrin.h (_mm_stream_pi, _mm_stream_pd): Fix cast.
9116         (ix86_init_mmx_sse_builtins): Fix type.
9117
9118 2002-10-29  Jason Thorpe  <thorpej@wasabisystems.com>
9119
9120         * gthr-posix.h: Include <unistd.h> for feature tests.
9121         (sched_get_priority_max, sched_get_priority_min)
9122         (pthread_getschedparam, pthread_setschedparam): Only use
9123         if _POSIX_THREAD_PRIORITY_SCHEDULING is defined.
9124         (__gthread_objc_thread_set_priority): Don't treat all nonzero
9125         returns from sched_get_priority_max and sched_get_priority_min
9126         as an error.
9127
9128 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9129
9130         * config/h8300/h8300.h (TARGET_DEFAULT): Make it
9131         MASK_QUICKCALL.
9132
9133 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9134
9135         * config/h8300/h8300.c (h8300_eightbit_constant_address_p): New.
9136         (h8300_tiny_constant_address_p): Likewise.
9137         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Use
9138         h8300_eightbit_constant_address_p.
9139         (TINY_CONSTANT_ADDRESS_P): Use h8300_tiny_constant_address_p.
9140         * config/h8300/h8300-protos.h: Add the prototypes for the two
9141         new functions.
9142
9143 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9144
9145         * reload1.c (update_eliminables): Unconditionally check if
9146         frame_pointer_needed has changed.
9147
9148 Tue Oct 29 15:37:39 CET 2002  Jan Hubicka  <jh@suse.cz>
9149
9150         * toplev.c (rest_of_compilation): Reorganize way reg_scan is called
9151         before final pass.
9152
9153 2002-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
9154
9155         PR optimization/8334
9156         * expr.c (expand_expr) [PLUS]: Don't use simplify_binary_operation;
9157         check for zero operands explicitly.
9158
9159 2002-10-29  Richard Sandiford  <rsandifo@redhat.com>
9160
9161         * config/mips/mips.md (extv, extzv, insv): Set size of referenced
9162         memory after adjusting to BLKmode.
9163
9164 2002-10-29  Kazu Hirata  <kazu@cs.umass.edu>
9165
9166         * config/h8300/h8300.h (MASK_*): New.
9167         (TARGET_*): Use MASK_*.
9168
9169 2002-10-28  Zack Weinberg  <zack@codesourcery.com>
9170
9171         * config.gcc (*-*-vxworks, powerpc-wrs-vxworks*): New stanzas.
9172         * config/t-vxworks, config/vxworks.h, config/rs6000/t-vxworks,
9173         config/rs6000/vxworks.h: New files.
9174         * config/rs6000/sysv4.h: Rip out -mvxworks and all related code.
9175
9176         * config.gcc (alpha*-*-vxworks*, arm-*-vxworks*,
9177         i?86-wrs-vxworks*, i960-wrs-vxworks* [all],
9178         m68k-wrs-vxworks*, mips-wrs-vxworks, powerpc-wrs-vxworks*,
9179         powerpcle-wrs-vxworks*, sparc*-wrs-vxworks* [all],
9180         sparc-*-vxsim*): Delete stanzas.
9181         * gthr-vxworks.h: Rip out all substantive code and just
9182         include gthr-single.h.
9183
9184         * config/alpha/vxworks.h, config/arm/vxarm.h,
9185         config/i386/vxi386.h, config/i960/t-vxworks960,
9186         config/i960/vx960-coff.h, config/i960/vx960.h,
9187         config/m68k/t-vxworks68, config/m68k/vxm68k.h,
9188         config/mips/vxworks.h, config/rs6000/vxppc.h,
9189         config/sparc/t-vxsparc, config/sparc/t-vxsparc64,
9190         config/sparc/vxsim.h, config/sparc/vxsparc.h,
9191         config/sparc/vxsparc64.h: Delete files.
9192
9193 2002-10-28  Jason Thorpe  <thorpej@wasabisystems.com>
9194
9195         * config.gcc (*-*-netbsd*): Add NETBSD_ENABLE_PTHREADS to
9196         tm_defines if pthreads are enabled.
9197         * config/netbsd.h (LIB_SPEC): Only support the -pthread option
9198         if NETBSD_ENABLE_PTHREADS is defined.
9199
9200 2002-10-28  Kazu Hirata  <kazu@cs.umass.edu>
9201
9202         * ChangeLog.1: Fix typos.
9203         * cse.c: Fix a comment typo.
9204         * reload1.c: Likewise.
9205
9206 2002-10-27  Hans-Peter Nilsson  <hp@bitrange.com>
9207
9208         * fixinc/inclhack.def (libc1_G_va_list): Correct test_text.
9209         * fixinc/tests/base/_G_config.h: New file.
9210
9211 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9212
9213         * combine.c: Fix comment formatting.
9214         * loop.c: Likewise.
9215         * real.c: Likewise.
9216         * regclass.c: Likewise.
9217         * regmove.c: Likewise.
9218         * regrename.c: Likewise.
9219         * reg-stack.c: Likewise.
9220         * reload1.c: Likewise.
9221         * reload.c: Likewise.
9222         * reload.h: Likewise.
9223         * unroll.c: Likewise.
9224
9225 2002-10-27  Kazu Hirata  <kazu@cs.umass.edu>
9226
9227         * reload1.c (reload): Fix a comment typo.
9228
9229 Sun Oct 27 10:15:24 CET 2002  Jan Hubicka  <jh@suse.cz>
9230
9231         * linux64.h (DEFAULT_PCC_STRUCT_RETURN):  Define.
9232
9233 2002-10-27  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9234
9235         * Makefile.in (dwarf2out.o): Add dependendcy on hashtab.h.
9236         * dwarf2out.c: Include hashtab.h.
9237         (is_main_source): New static variable.
9238         (attr_checksum, die_checksum): Modified to handle die references.
9239         (same_loc_p, same_dw_val_p, same_attr_p, same_die_p, same_die_p_wrap,
9240         unmark_all_dies, htab_cu_hash, htab_cu_eq, htab_cu_del, check_duplicate_cu,
9241         record_comdat_symbol_number): New static functions.
9242         (output_comp_unit, compute_section_prefix, is_type_die, break_out_includes,
9243         mark_dies, unmark_dies, dwarf2out_start_source_file): Modified.
9244         * toplev.c (rest_of_decl_compilation): Call of dwarf2out_decl for type
9245         declarations added.
9246
9247 2002-10-26  Kazu Hirata  <kazu@cs.umass.edu>
9248
9249         * config/h8300/h8300.c (initial_offset): Change to
9250         h8300_initial_elimination_offset.
9251         * config/h8300/h8300.h (INITIAL_ELIMINATION_OFFSET): Use
9252         h8300_initial_elimination_offset.
9253         * config/h8300/h8300-protos.h: Update the prototype.
9254
9255 2002-10-26  Hans-Peter Nilsson  <hp@bitrange.com>
9256
9257         * config/mmix/mmix.h (LIBCALL_VALUE): Use
9258         MMIX_RETURN_VALUE_REGNUM, not MMIX_OUTGOING_RETURN_VALUE_REGNUM.
9259         (FUNCTION_VALUE_REGNO_P): Similar, but move code to...
9260         * config/mmix/mmix.c (mmix_function_value_regno_p): New.
9261         * config/mmix/mmix-protos.h: Remove needless ifdefs on TREE_CODE
9262         and RTX_CODE.
9263         (mmix_function_value_regno_p): Declare.
9264
9265         * config/mmix/mmix.md ("fixuns_truncdfdi2"): Replace unsigned_fix,
9266         invalid for floating point mode result, with fix.
9267
9268 Fri Oct 25 00:04:21 2002  Alexandre Oliva  <aoliva@redhat.com>
9269
9270         * Makefile.in (GCC_FOR_TARGET): Add -L$(objdir)/../ld.
9271         (STAGE2_FLAGS_TO_PASS): Pass GCC_FOR_TARGET.
9272         (stage1_build): Likewise.
9273
9274 2002-10-25  Mike Stump  <mrs@apple.com>
9275
9276         Fixes gcc.dg/warn-1.c.
9277         * c-typeck.c (warn_for_assignment): Don't print argument number,
9278         if zero.
9279
9280 Sat Oct 26 01:44:46 CEST 2002  Jan Hubicka  <jh@suse.cz>
9281
9282         * toplev.c (dump_file_index): Add DFI_ce3.
9283         (dump_file_info): Likewise.
9284         (rest_of_compilation): Run first ifcvt pass before tracer.
9285
9286 2002-10-25  Steve Ellcey  <sje@cup.hp.com>
9287
9288         * config/ia64/hpux.h (BITS_BIG_ENDIAN): Remove.
9289
9290 2002-10-25  Richard Henderson  <rth@redhat.com>
9291
9292         * real.c (real_to_decimal): If the >1 tens reduction loop results
9293         in a negative exponent, fall into the <1 pten computation.
9294
9295 2002-10-25  Zack Weinberg  <zack@codesourcery.com>
9296
9297         PR middle-end/6994
9298         * c-objc-common.c (inline_forbidden_p): Can not inline
9299         functions containing structures or unions containing VLAs.
9300         * tree-inline.c (walk_tree): For all class 't' nodes, walk
9301         TYPE_SIZE and TYPE_SIZE_UNIT.
9302         (copy_tree_r): Copy types if they are variably modified.
9303
9304 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9305
9306         * config/s390/s390.md: Remove old-style peepholes.
9307
9308 2002-10-25  Ulrich Weigand  <uweigand@de.ibm.com>
9309
9310         * config/s390/s390.c (s390_decompose_address): Do not range check the
9311         displacement if base or index is the argument pointer register.
9312
9313 2002-10-24  Hans-Peter Nilsson  <hp@bitrange.com>
9314
9315         PR other/3337
9316         PR bootstrap/6763
9317         PR bootstrap/8122
9318         * fixinc/inclhack.def (libc1_G_va_list): New fix.
9319         * fixinc/fixincl.x: Regenerate.
9320         * config/i386/linux.h: Move MD_FALLBACK_FRAME_STATE_FOR inside
9321         ifndef IN_LIBGCC2.  Wrap it together with signal.h and
9322         sys/ucontext.h inclusion in ifndef USE_GNULIBC_1.
9323         * configure.in (gcc_AC_CHECK_DECLS): Check vasprintf too.
9324         * config.in, configure: Regenerate.
9325
9326 2002-10-24  Igor Shevlyakov <igor@microunity.com>
9327
9328         * varasm.c (struct rtx_const): Array size 16 for V16QImode.
9329
9330 2002-10-24  Richard Henderson  <rth@redhat.com>
9331
9332         * config/i386/i386.c (x86_output_mi_thunk): Fix x86_64 pic jump.
9333
9334 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9335
9336         * config/h8300/h8300.c (initial_offset): Simplify by using
9337         round_frame_size.
9338
9339 2002-10-24  Marek Michalkiewicz  <marekm@amelek.gda.pl>
9340
9341         * doc/install.texi (avr): Update required binutils version.
9342
9343 2002-10-24  Theodore A. Roth  <troth@openavr.org>
9344
9345         * doc/install.texi: Point avr users at more up-to-date information.
9346
9347 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9348
9349         * config/s390/s390.md (movdi, movsi, movhi, movqi): Add peepholes2
9350         to pull operands out of the literal pool where possible.
9351
9352 2002-10-24  Denis Chertykov  <denisc@overta.ru>
9353
9354         * config/avr/avr.c (init_cumulative_args): Test fntype for zero.
9355
9356 2002-10-24  Steve Ellcey  <sje@cup.hp.com>
9357
9358         * expr.c (convert_move): If unsignedp is less then zero there
9359         is no equivalent code.
9360
9361 2002-10-24  Zack Weinberg  <zack@codesourcery.com>
9362
9363         * tree.def: Delete mention of nonexistent ARRAY_TYPE fields.
9364
9365 2002-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
9366
9367         * config/s390/s390.h: Rework comments; re-sort target macro definitions
9368         according to the sequence they are defined in the manual.
9369         (POINTER_BOUNDARY): Remove.
9370
9371 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9372
9373         * config/h8300/h8300.c (round_frame_size): Replace 8 with
9374         BITS_PER_UNIT.
9375
9376 2002-10-24  Kazu Hirata  <kazu@cs.umass.edu>
9377
9378         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Make it
9379         64-bit safe.
9380         (TINY_CONSTANT_ADDRESS_P): Likewise.
9381
9382 2002-10-24  Richard Henderson  <rth@redhat.com>
9383
9384         * config/ia64/ia64.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9385         (ia64_output_mi_thunk): Rewrite to use rtl, and to handle the
9386         vcall offset.
9387
9388 2002-10-24  Richard Henderson  <rth@redhat.com>
9389
9390         PR opt/7944
9391         * reload.c (find_reloads_toplev): Mode of X is not important
9392         when simplifying subregs of constants.
9393
9394 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9395
9396         * config.gcc (mips64vr-*-elf*, mips64vrel-*-elf*): Add
9397         MIPS_MARCH_CONTROLS_SOFT_FLOAT=1 to $tm_defines.
9398         * config/mips/mips.c (MIPS_MARCH_CONTROLS_SOFT_FLOAT): Default to 0.
9399         (override_options): Base default setting of MASK_SOFT_FLOAT on -march
9400         if MIPS_MARCH_CONTROLS_SOFT_FLOAT.
9401
9402 2002-10-24  Richard Sandiford  <rsandifo@redhat.com>
9403
9404         * optabs.c (expand_binop): Don't reuse the shift target in the
9405         middle of shift sequences.
9406
9407 Wed Oct 23 22:48:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
9408
9409         * i386.md (abs splitters): Do not produce nested subregs.
9410
9411 Wed Oct 23 12:42:32 CEST 2002  Jan Hubicka  <jh@suse.cz>
9412
9413         * i386.md (movti_rex64): Fix constraints.
9414
9415 Wed Oct 23 12:01:21 CEST 2002  Jan Hubicka  <jh@suse.cz>
9416
9417         * i386.md (abssf,absdf): Use vector operands for SSE
9418         (abssf2_ifs, absdf2_ifs, absdf2_ifs_rex64 and splitters): Update for
9419         vector operand.
9420
9421 2002-10-23  Ziemowit Laski <zlaski@apple.com>
9422
9423         * objc/objc-act.c (get_static_reference): Remove unneeded
9424         TYPE_BINFO initialization.
9425         (get_object-reference): Likewise.
9426         (build_constructor): Tighten precondition check.
9427         (finish_message_expr): Likewise.
9428
9429 2002-10-23  Jakub Jelinek  <jakub@redhat.com>
9430
9431         * config/i386/i386.c (local_symbolic_operand): Move LABEL_REF test
9432         after CONST test.
9433
9434 2002-10-23  Steve Ellcey  <sje@cup.hp.com>
9435
9436         * config/ia64/ia64.c (hfa_element_mode): Don't allow 128 bit floats
9437         in HFAs.
9438
9439 2002-10-23  Richard Henderson  <rth@redhat.com>
9440
9441         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): True.
9442         (alpha_output_mi_thunk_osf): Handle vcall_offset.
9443
9444 2002-10-23  Zack Weinberg  <zack@codesourcery.com>
9445
9446         * langhooks.h (struct lang_hooks_for_tree_inlining): Add
9447         var_mod_type_p.
9448         * langhooks-def.h: Default for tree_inlining.var_mod_type_p is
9449         hook_tree_bool_false.
9450
9451         * tree.c (variably_modified_type_p): Moved here from
9452         cp/tree.c.  Use lang_hooks.tree_inlining.var_mod_type_p for
9453         language-specific cases.  Due to this, must weaken some 'if
9454         and only if' checks to merely 'if'.
9455         * tree.h: Prototype variably_modified_type_p.
9456
9457         * tree-inline.c (walk_tree): #undef WALK_SUBTREE_TAIL at end.
9458
9459 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9460
9461         * config/s390/linux.h (CC1_SPEC, CC1PLUS_SPEC): Remove.
9462         * config/s390/s390.c (optimization_options): Disable -fcaller-saves.
9463
9464         * config/s390/s390-protos.h (fp_operand): Remove.
9465         * config/s390/s390.c (fp_operand): Remove.
9466         * config/s390/s390.md ("movdi"): Replace fp_operand by FP_REG_P.
9467         ("*movdi_lhi", "*movdi_lli", "*movdi_larl"): Likewise.
9468         ("movsi", "*movsi_lhi", "*movsi_lli"): Likewise.
9469         (movdi_31, movdf_31 splitters): Likewise.
9470
9471         * config/s390/s390.h (IEEE_FLOAT): Remove.
9472         (TARGET_FLOAT_FORMAT): Define in terms of TARGET_IEEE_FLOAT.
9473         (INT_REGNO_P): Rename to ...
9474         (GENERAL_REGNO_P): ... this.
9475         (FLOAT_REGNO_P): Rename to ...
9476         (FP_REGNO_P): ... this.
9477         (ADDR_REGNO_P): New macro.
9478         (GENERAL_REG_P, ADDR_REG_P, FP_REG_P, CC_REG_P): New macros.
9479         (REGNO_OK_FOR_DATA_P, REGNO_OK_FOR_FP_P): Remove.
9480         (DATA_REG_P, FP_REG_P, ADDRESS_REG_P): Likewise.
9481         (HARD_REGNO_NREGS): Adapt to macro renaming.
9482         (HARD_REGNO_MODE_OK): Likewise.
9483
9484 2002-10-23  David Edelsohn  <edelsohn@gnu.org>
9485             Geoff Keating  <geoffk@apple.com>
9486
9487         * config/rs6000/rs6000.c (rs6000_register_move_cost): New function.
9488         (rs6000_memory_move_cost): New function.
9489         * config/rs6000/rs6000-protos.h: Declare them.
9490         * config/rs6000/rs6000.h: Use them.
9491
9492 2002-10-23  Ulrich Weigand  <uweigand@de.ibm.com>
9493
9494         * libgcc2.c (__udiv_w_sdiv): Use attribute ((always_inline)) when
9495         inlining it into other libgcc2 routines.
9496         (__udivmoddi4): Likewise.
9497
9498 2002-10-22  Nathanael Nerode  <neroden@gcc.gnu.org>
9499
9500         * doc/sourcebuild.texi (Test Suites): Improve.
9501
9502 2002-10-22  Stan Shebs  <shebs@apple.com>
9503
9504         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Add missing
9505         case for Darwin.
9506
9507 2002-10-22  Jim Wilson  <wilson@redhat.com>
9508
9509         * config/i386/i386.md (subdi3_1): Add call to ix86_binary_operator_ok.
9510
9511 Wed Oct 23 01:52:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
9512
9513         PR other/8289
9514         * xmmintrin.h: Add const to the argument of loads.
9515
9516         * i386.md (pushv2di): New pattern.
9517         PR target/6890
9518         * xmmintrin.h (_MM_TRANSPOSE4_PS): New.
9519
9520 2002-10-22  Richard Henderson  <rth@redhat.com>
9521
9522         * target.h (gcc_target.asm_out): Merge output_mi_thunk and
9523         output_mi_vcall_thunk into a single hook.  Add can_output_mi_thunk.
9524         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Don't conditionalize.
9525         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9526         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9527         (TARGET_ASM_OUT): Update.
9528         * hooks.c (hook_bool_tree_hwi_hwi_tree_false): New.
9529         (hook_bool_tree_hwi_hwi_tree_true): New.
9530         (default_can_output_mi_thunk_no_vcall): New.
9531         * hooks.h: Declare them.
9532         * system.h (ASM_OUTPUT_MI_THUNK): Poison.
9533
9534         * config/alpha/alpha.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9535         (alpha_output_mi_thunk_osf): Add VCALL_OFFSET parameter.
9536         * config/arm/arm.c, config/cris/cris.c, config/frv/frv.c,
9537         config/i960/i960.c, config/ia64/ia64.c, config/m68k/m68k.c,
9538         config/mmix/mmix.c, config/pa/pa.c, config/sparc/sparc.c,
9539         config/stormy16/stormy16.c: Similarly.
9540
9541         * config/i386/i386.c (x86_output_mi_thunk): Merge vcall_offset code.
9542         Handle 64-bit properly.  Streamline.
9543         (x86_output_mi_vcall_thunk): Remove.
9544         (x86_this_parameter): Rename from ia32_this_parameter; handle 64-bit.
9545         (x86_can_output_mi_thunk): New.
9546         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Remove.
9547         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9548         (override_options): Don't zap targetm.asm_out.output_mi_vcall_thunk.
9549
9550         * config/rs6000/rs6000.c (rs6000_output_mi_thunk): Rename from
9551         output_mi_thunk; make static; always use function_section.
9552         (TARGET_ASM_OUTPUT_MI_THUNK): New.
9553         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9554         (rs6000_ra_ever_killed): Test no_new_pseudos not
9555         targetm.asm_out.output_mi_thunk in conjunction with thunks.
9556         * config/rs6000/rs6000-protos.h: Update.
9557         * config/rs6000/sysv4.h (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9558         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't call
9559         xcoffout_declare_function when using rs6000_output_mi_thunk.
9560
9561         * config/s390/s390.c (s390_output_mi_thunk): Rename from
9562         s390_output_mi_vcall_thunk.
9563         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9564         (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9565
9566         * config/vax/vax.c (vax_output_mi_thunk): Static; add vcall_offset.
9567         (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): New.
9568         * config/vax/vax-protos.h: Update.
9569         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Remove.
9570
9571 Wed Oct 23 00:33:11 CEST 2002  Jan Hubicka  <jh@suse,cz>
9572
9573         * i386.c (standard_sse_constant_p): Accept vector and integer zeros too.
9574         * i386.h (EXTRA_CONSTRAINT): Recognize 'C'
9575         * i386.md (movti_internal): Use 'C'
9576
9577         * xmmintrin.h (_mm_cmplt_epi*): New.
9578
9579 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
9580
9581         * config/s390/s390.md ("*movdi_64"): Fix op_type attribute.
9582         ("*movdf_64"): Likewise.
9583         ("*lshrdi3_64"): Likewise.
9584         ("blockage"): Add length attribute.
9585         ("lit"): Likewise.
9586
9587 Tue Oct 22 23:51:34 CEST 2002  Jan Hubicka  <jh@suse.cz>
9588
9589         * i386.md: FIx typo.
9590         (sse2_cvtsi2sd, sse2_pslrdq): Fix template.
9591         (sse2_umulv2siv2di3): Fix predicate.
9592         (sse2_psadbw, ashrv8hi3, ashrv4si3, lshrv8hi3 lshrv4si3,
9593         lshrv2di3, ashlv8hi3, ashlv4si3, ashlv2di3): Likewise.
9594         * xmmintrin.h (_mm_mul_epu16): Rename to...
9595         (_mm_mul_epu32): This one.
9596         (_mm_cvtsi32_si128, _mm_cvtsi128_si32): New.
9597
9598         (contains_128bit_aligned_vector_p): Undo accidental checkin.
9599
9600 2002-10-22  Eric Christopher  <echristo@redhat.com>
9601
9602         * config/sparc/sparc.h: Add #error.
9603
9604 2002-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
9605
9606         * config.gcc [s390-*-linux]: Remove s390/t-linux from tmake_file.
9607         [s390x-*-linux*]: Likewise.
9608         * config/s390/t-linux: Remove.
9609         * config/s390/s390.h: Include fixdfdi.h when building libgcc2.
9610
9611 Tue Oct 22 19:07:03 CEST 2002  Jan Hubicka  <jh@suse.cz>
9612
9613         * i386.c (builtin_description): Add IX86_BUILTIN_PUNPCKHQDQ128.
9614         (ix86_expand_builtin): Fix MASKMOVDQU expasion.
9615         * i386.h (ix86_builtins): Add IX86_BUILTIN_PUNPCKHQDQ128.
9616         * i386.md (mmx_punpck?dq): Simplify.
9617         (sse2_pubpcklqdq): Fix.
9618         (sse2_pubpckhqdq): New.
9619         * xmmintrin.h (_mm_unpackhi_epi32): New.
9620
9621         * xmmintrin.h (_mm_cvt*, _mm_stream_pd): Fix prototypes.
9622         (_mm_shufflehi_epi16, _mm_shufflelo_epi16): Fix typo.
9623
9624 2002-10-22  Nathan Sidwell  <nathan@codesourcery.com>
9625
9626         PR c++/7209
9627         * fold_const.c (fold_binary_op_with_conditional_arg): Always
9628         build compound_expr if we used save_expr.
9629
9630 2002-10-22  Alan Modra  <amodra@bigpond.net.au>
9631
9632         * output.h (SECTION_NOTYPE): Define.
9633         * varasm.c (default_section_type_flags_1): Set SECTION_NOTYPE for
9634         init array sections.
9635         (default_elf_asm_named_section): Mind SECTION_NOTYPE.
9636         * config/arm/arm.c (arm_elf_asm_named_section): Likewise.  Also
9637         merge TLS support.
9638
9639 2002-10-21  Richard Henderson  <rth@redhat.com>
9640
9641         * config/i386/i386.c (ix86_function_ok_for_sibcall): Look at
9642         the function type, not the return type.
9643
9644 2002-10-21  Richard Henderson  <rth@redhat.com>
9645
9646         * real.c (sticky_rshift_significand): Return inexact, don't
9647         or it in immediately.
9648         (sub_significands): Accept incomming carry.
9649         (div_significands, rtd_divmod): Update for sub_significands change.
9650         (round_for_format): Update for sticky_rshift_significand change.
9651         (do_add): Don't involve the inexact bit in addition, do give the
9652         inexact bit as the subtraction carry-in.
9653         (encode_internal, decode_internal, real_internal_format): New.
9654         * real.h (real_internal_format): Declare.
9655
9656 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9657
9658         * libgcc2.c: Fix __udiv_w_sdiv breakage on platforms that
9659         don't define sdiv_qrnnd.
9660
9661 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
9662
9663         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Simplify
9664         using IN_RANGE.
9665         (TINY_CONSTANT_ADDRESS_P): Likewise.
9666
9667 Tue Oct 22 00:04:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
9668
9669         * i386.c (builtin_description): Add punpcklqdq and movdq2q
9670         (ix86_init_mmx_sse_builtins): Add v2di_ftype_void, di_ftype_v2di,
9671         v16qi_ftype_pchar, void_ftype_pchar_v16qi, v4si_ftype_pchar,
9672         void_ftype_pchar_v4si; Initialize __builtin_ia32_movdq2q,
9673         __builtin_ia32_loaddqa, __builtin_ia32_loaddqu, __builtin_ia32_loadd
9674         __builtin_ia32_storedqa, __builtin_ia32_storedqu, __builtin_ia32_stored
9675         __builtin_ia32_setzero128.
9676         (ix86_expand_builtin): Handle IX86_BUILTIN_CLRTI, IX86_BUILTIN_LOADDQA,
9677         IX86_BUILTIN_LOADDQU, IX86_BUILTIN_LOADD, IX86_BUILTIN_STOREDQA,
9678         IX86_BUILTIN_STOREDQU, IX86_BUILTIN_STORED, Ix86_BUILTIN_MOVQ.
9679         * i386.h (ix86_builtins): Add IX86_BUILTIN_LOADDQA, IX86_BUILTIN_LOADDQU,
9680         IX86_BUILTIN_STOREDQA, IX86_BUILTIN_STOREDQU, IX86_BUILTIN_LOADD,
9681         IX86_BUILTIN_STORED, IX86_BUILTIN_CLRTI, IX86_BUILTIN_MOVDQ2Q,
9682         IX86_BUILTIN_PUNPCKLQDQ128, Ix86_BUILTIN_MOVQ.
9683         * i386.md (sse2_punpcklqdq, sse2_movqsse2_loadd, sse2_stored,
9684         sse2_movq): New patterns.
9685         (sse2_movdqa, sse2_movdqu, sse2_movdq2q): Fix.
9686         * xmmintrin.h (_mm_load_si128, _mm_loadu_si128, _mm_loadl_epi64,
9687         _mm_store_si128, _mm_storeu_si128, _mm_storel_epi64,
9688         _mm_setzero_si128, _mm_set_epi64, _mm_set_epi32, _mm_set_epi16,
9689         _mm_set_epi8, _mm_set1_epi64, _mm_set1_epi32, _mm_set1_epi16,
9690         _mm_set1_epi8, _mm_setr_epi64, _mm_setr_epi32, _mm_setr_epi16,
9691         _mm_setr_epi8, _mm_unpacklo_epi64,_mm_set_moveq): New functions.
9692         (_mm_insert_epi16): Fix.
9693
9694 2002-10-21  Dale Johannesen  <dalej@apple.com>
9695
9696         * config/rs6000/rs6000.c (rs6000_reverse_condition): Handle
9697             unsafe math reversals correctly for RTL generation.
9698           (output_cbranch):  Replace rs6000_reverse_condition call
9699             by its former definition.
9700
9701 2002-10-21  Jakub Jelinek  <jakub@redhat.com>
9702
9703         * config/i386/i386.c (x86_64_sign_extended_value): Add allow_rip
9704         argument.  In CM_SMALL_PIC model consider SYMBOL_REFs binding locally or
9705         from constant pool or LABEL_REFs as sign extended if allow_rip.
9706         Change all +-1GB limits to +-16MB.
9707         (x86_64_general_operand, x86_64_szext_general_operand,
9708         x86_64_nonmemory_operand, x86_64_movabs_operand,
9709         x86_64_szext_nonmemory_operand, x86_64_immediate_operand,
9710         legitimate_address_p, ix86_expand_int_movcc): Update callers.
9711         (local_symbolic_operand): Don't allow offsets bigger than +-16MB
9712         in CM_SMALL_PIC model.
9713         (legitimate_pic_address_disp_p): Don't check offsets before
9714         calling local_symbolic_operand.
9715         (legitimize_pic_address): Force offsets bigger than +-16MB into
9716         register.
9717         * config/i386/i386.h (EXTRA_CONSTRAINT, CONST_COSTS): Likewise.
9718         * config/i386/i386-protos.h (x86_64_sign_extended_value): Update
9719         prototype.
9720
9721         * configure.in: Test for @GOTNTPOFF and @INDNTPOFF on IA-32 too.
9722         Add x86-64 test.  Set tls_first_minor to 14 on IA-32 and x86-64.
9723         * configure: Rebuilt.
9724         * config/i386/i386.c (x86_64_sign_extended_value): Don't allow TLS
9725         SYMBOL_REFs unless enclosed in UNSPEC.  Handle UNSPEC_DTPOFF,
9726         UNSPEC_GOTNTPOFF and UNSPEC_NTPOFF.
9727         (legitimate_address_p): Allow foo@dtpoff(base) even on TARGET_64BIT
9728         -fpic.
9729         (ix86_encode_section_info): Don't ever generate TLSGD or TLSLD for
9730         non-pic code if TARGET_64BIT.
9731         (legitimize_address): Generate 64-bit TLS sequences.
9732         (output_pic_addr_const): Support x86-64 TLS operators.
9733         (i386_output_dwarf_dtprel): Output 64-bit DTPOFF as .long f@DTPOFF, 0.
9734         (print_operand_address): Use %fs instead of %gs on TARGET_64BIT.
9735         Don't append (%rip) in 64-bit TLSGD and TLSLD sequences.
9736         (output_addr_const_extra): Support x86-64 TLS operators.
9737         (maybe_get_pool_constant): Handle TARGET_64BIT -fpic.
9738         (ix86_tls_get_addr): Use __tls_get_addr on TARGET_64BIT
9739         unconditionally.
9740         * config/i386/i386.md (*tls_global_dynamic_gnu): Renamed to...
9741         (*tls_global_dynamic_32_gnu): ..., add !TARGET_64BIT.
9742         (*tls_global_dynamic_sun): Renamed to...
9743         (*tls_global_dynamic_32_sun): ..., add !TARGET_64BIT.
9744         (tls_global_dynamic): Renamed to...
9745         (tls_global_dynamic_32): ... this.
9746         (tls_global_dynamic_64, *tls_global_dynamic_64): New.
9747         (*tls_local_dynamic_base_dynamic_gnu): Renamed to...
9748         (*tls_local_dynamic_base_dynamic_32_gnu): ..., add !TARGET_64BIT.
9749         (*tls_local_dynamic_base_dynamic_sun): Renamed to...
9750         (*tls_local_dynamic_base_dynamic_32_sun): ..., add !TARGET_64BIT.
9751         (tls_local_dynamic_base_dynamic): Renamed to...
9752         (tls_local_dynamic_base_dynamic_32): ... this.
9753         (tls_local_dynamic_base_dynamic_64,
9754         *tls_local_dynamic_base_dynamic_64): New.
9755         (*tls_local_dynamic_once): Renamed to...
9756         (*tls_local_dynamic_32_once): ... this.
9757
9758 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9759
9760         * libgcc2.c: Inline __udiv_w_sdiv when compiling __udivdi3,
9761         __divdi3, __umoddi3, or __moddi3.
9762
9763 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9764
9765         * c-opts.c (missing_arg): Use cl_options[opt_index].opt_code
9766         instead of just opt_index as switch expression.
9767
9768         * calls.c (store_one_arg): Change type of 'excess_align'
9769         to unsigned int.
9770
9771         * profile.c (output_gcov_string): Change type of 'temp'
9772         to size_t.
9773
9774 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9775
9776         * config/s390/fixdfdi.h (__fixunsdfdi, __fixdfdi): Add prototypes.
9777         (__fixunssfdi, __fixsfdi): Likewise.
9778         * config/s390/s390.c (s390_single_hi): Initialize 'value'.
9779         (s390_single_qi): Likewise.
9780         (s390_emit_epilogue): Initialize 'offset'.  Remove signed vs.
9781         unsigned comparison warning.
9782         (s390_return_addr_rtx): New function.
9783         * config/s390/s390-protos.h (s390_return_addr_rtx): Declare it.
9784         * config/s390/s390.h (RETURN_ADDR_RTX): Use it.
9785         (HARD_REGNO_MODE_OK): Rewrite condition to silence warnings.
9786
9787 2002-10-21  Ulrich Weigand  <uweigand@de.ibm.com>
9788
9789         * config/s390/s390.c (s390_output_mi_vcall_thunk): New function.
9790         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define target hook.
9791         (s390_output_mi_thunk): Remove.
9792         (TARGET_ASM_OUTPUT_MI_THUNK): Remove.
9793
9794 2002-10-21  Kazu Hirata  <kazu@cs.umass.edu>
9795
9796         * config/h8300/h8300.h (N_REG_CLASSES): Parenthesize.
9797
9798 2002-10-20  Zack Weinberg  <zack@codesourcery.com>
9799
9800         * config/i386/i386.c (ix86_function_ok_for_sibcall): Fix an
9801         inverted test in the conditional determining the possibility
9802         of sibcalls in PIC mode.
9803
9804 2002-10-20  Richard Henderson  <rth@redhat.com>
9805
9806         * target.h (struct gcc_target): Line wrap.
9807
9808         * config/alpha/alpha.c (alpha_output_mi_thunk_osf): Static.
9809         (TARGET_ASM_OUTPUT_MI_THUNK): Define here...
9810         * config/alpha/alpha.h: ... not here.
9811         * config/alpha/alpha-protos.h: Update.
9812
9813         * config/arm/arm.c, config/arm/arm.h, config/arm/arm-protos.h
9814         config/cris/cris-protos.h, config/cris/cris.c, config/cris/cris.h,
9815         config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
9816         config/i386/i386-protos.h, config/i386/i386.c, config/i386/openbsd.h,
9817         config/i386/unix.h, config/i960/i960-protos.h, config/i960/i960.c,
9818         config/i960/i960.h, config/ia64/ia64-protos.h, config/ia64/ia64.c,
9819         config/ia64/ia64.h, config/m68k/linux.h, config/m68k/m68k-protos.h,
9820         config/m68k/m68k.c, config/m68k/netbsd-elf.h, config/m68k/openbsd.h,
9821         config/mmix/mmix-protos.h, config/mmix/mmix.c, config/mmix/mmix.h,
9822         config/pa/pa-protos.h, config/pa/pa.c, config/pa/pa.h,
9823         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
9824         config/sparc/openbsd.h, config/sparc/sparc-protos.h,
9825         config/sparc/sparc.c, config/sparc/sparc.h,
9826         config/stormy16/stormy16-protos.h, config/stormy16/stormy16.c,
9827         config/stormy16/stormy16.h: Similarly.
9828
9829         * config/m68k/m68k.c (m68k_output_mi_thunk): Replicate mnemonic
9830         selection logic from call patterns.
9831
9832 2002-10-20  Mark Mitchell  <mark@codesourcery.com>
9833
9834         * config/m68k/m68k.c (m68k_output_mi_thunk): Fix typo.
9835
9836 2002-10-20  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
9837
9838         PR other/8202
9839         * i386.c (ix86_init_mmx_sse_builtins, ix86_expand_builtin): Define and
9840         expand __builtin_ia32_pslldqi128 and __builtin_ia32_psrldqi128.
9841         * i386.h (IX86_BUILTIN_PSLLDQI128, IX86_BUILTIN_PSRLDQI128): New.
9842         * xmmintrin.h (_mm_srli_si128, _mm_slli_si128): New.
9843
9844 2002-10-20  Roger Sayle  <roger@eyesopen.com>
9845
9846         PR c/761
9847         * toplev.c (flag_unsafe_profile_arcs): Remove.
9848         (flag_bounded_pointers): Remove.
9849         (flag_bounds_check): Correct comments.
9850         (lang_independent_options): Remove -funsafe-profile-arcs and
9851         -fbounded-pointers.  Correct -fbounds-check comments.
9852
9853         * flags.h: Correct flag_schedule_interblock comments.
9854         (flag_bounded_pointers): Remove prototype.
9855         (flag_bounds_check): Correct comments.
9856
9857         * c-opts.c (c_common_init_options): No need to mark
9858         flag_bounds_check as unspecified.
9859         (c_common_post_options): And no need to set it from
9860         flag_bounded_pointers if its still unspecified.
9861
9862         * doc/invoke.texi: Fix some overfull hboxes in "make dvi".
9863         Document --version, -feliminate-dwarf-2-dups, -fno-sched-interblock,
9864         -fno-sched-spec, -fsched-spec-load, -fsched-spec-load-dangerous,
9865         -fsched-verbose=n, -fno-branch-count-reg and -fbounds-check.
9866
9867 Sat Oct 19 22:02:28 2002  Alexandre Oliva  <aoliva@redhat.com>
9868         Angela Marie Thomas  <angela@releasedominatrix.com>
9869         Brendan Kehoe  <brendan@zen.org>
9870         Nick Clifton  <nickc@redhat.com>
9871         Andrew Haley  <aph@redhat.com>
9872
9873         * configure.in (--with-sysroot): New.  Don't inhibit libc if
9874         given.  AC_SUBST TARGET_SYSTEM_ROOT, TARGET_SYSTEM_ROOT_DEFINE
9875         and CROSS_SYSTEM_HEADER_DIR.
9876         * configure: Rebuilt.
9877         * Makefile.in (CROSS_SYSTEM_HEADER_DIR): Set in configure.
9878         (TARGET_SYSTEM_ROOT): New.
9879         (DRIVER_DEFINES): Define CROSS_INCLUDE_DIR from
9880         CROSS_SYSTEM_HEADER_DIR.
9881         (install-gcc-tooldir): New target.
9882         (stmp-fixinc): Do not create $(libsubdir), but rather bail out
9883         if SYSTEM_HEADER_DIR does not exist and it's not the default
9884         sys-include directory.
9885         (deduced.h, stmp-fixproto): Quote SYSTEM_HEADER_DIR properly.
9886         (install-mkheaders): Likewise.
9887         * gcc.c (target_system_root): New variable.
9888         (add_sysrooted_prefix): New function.
9889         (process_command): Recompute run-time target_system_root from
9890         gcc_exec_prefix, keeping it unchanged if the relocated sysroot
9891         does not exist.
9892         (do_spec_1): Process 'R' spec.
9893         (main): Add md_exec_prefix to exec_prefixes regardless of
9894         startfile_prefix_spec.  Use add_sysrooted_prefix for
9895         startfile_prefixes, and don't skip the default ones when cross
9896         compiling with sysroot enabled.  Removed unused case of
9897         non-absolute standard_startfile_prefix.
9898         * config/interix.h: Remove the only potential, yet disabled,
9899         occurrence of non-absolute (empty) standard_startfile_prefix.
9900         * config/sh/linux.h (LIB_SPEC): Add -rpath-link in non-static
9901         linking.
9902         * config/mips/linux.h (LIB_SPEC): Define as in sh/linux.h.
9903         * doc/install.texi (--with-sysroot): Document.
9904         (--with-headers, --with-libs): Deprecate.
9905
9906 2002-10-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
9907             Mark Mitchell  <mark@codesourcery.com>
9908
9909         * alpha-protos.h (alpha_output_mi_thunk_osf): Update signature to
9910         match target.h.
9911         * arm-protos.h, arm.c (arm_output_mi_thunk): Likewise.
9912         * cris-protos.h, cris.c (cris_asm_output_mi_thunk): Likewise.
9913         * frv-protos.h, frv.c (frv_asm_output_mi_thunk): Likewise.
9914         * i386-protos.h, i386.c (x86_output_mi_vcall_thunk,
9915         x86_output_mi_thunk): Likewise.
9916         * i960-protos.h, i960.c (i960_output_mi_thunk): Likewise.
9917         * ia64-protos.h, ia64.c (ia64_output_mi_thunk): Likewise.
9918         * m68k-protos.h, m68k.c (m68k_output_mi_thunk): Likewise.
9919         * mmix-protos.h, mmix.c (mmix_asm_output_mi_thunk): Likewise.
9920         * rs6000-protos.h, rs6000.c (output_mi_thunk): Likewise.
9921         * s390-protos.h, s390.c (s390_output_mi_thunk): Likewise.
9922         * stormy16-protos.h, stormy16.c (xstormy16_asm_output_mi_thunk):
9923         Likewise.
9924         * vax-protos.h, vax.c (vax_output_mi_thunk): Likewise.
9925
9926         * target.h (gcc_target): Update output_mi_thunk and
9927         output_mi_vcall_thunk to take a HOST_WIDE_INT delta and
9928         vcall_index.
9929
9930         * config/alpha/alpha.c: Replace ASM_OUTPUT_MI_THUNK with
9931         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9932         * config/alpha/vms.h (ASM_OUTPUT_MI_THUNK): Don't #undef it.
9933         (TARGET_ASM_OUTPUT_MI_THUNK): #undef it.
9934         * config/frv/frv.h (DEFAULT_VTABLE_THUNKS): Remove definition.
9935         * config/i386/i386-protos.h (x86_output_mi_vcall_thunk): Update
9936         signature.
9937         * config/i386/i386.c (x86_output_mi_vcall_thunk): Likewise.
9938         * config/i386/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9939         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9940         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Don't define.
9941         (TARGET_ASM_OUTPUT_MI_THUNK): Do define.
9942         * config/m68k/openbsd.h: Replace ASM_OUTPUT_MI_THUNK with
9943         TARGET_ASM_OUTPUT_MI_THUNK in comments.
9944         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Remove #ifdef
9945         ASM_OUTPUT_MI_THUNK and replace with check of targetm.
9946
9947         * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Update signature.
9948         (TARGET_ASM_OUTPU_MI_VCALL_THUNK): Likewise.
9949
9950 2002-10-19  Brad Lucier  <lucier@math.purdue.edu>
9951
9952         * real.c (do_add): Fix 0+0 sign corner case.
9953         (do_divide): Fix Inf/0 corner case.
9954
9955 Sun Oct 20 00:31:31 CEST 2002  Jan Hubicka  <jh@suse.cz>
9956
9957         * i386.c (classify_argument): Pass MMX arguments in memory
9958         (ix86_expand_builtin): Expand proper address mode for cflush.
9959         * i386.md (movdqa): Fix typo.
9960         (sse2_cflush): Accept DImode addresses.
9961
9962         * xmmintrin.h (_mm_sqrt_sd): Accept two arguments.
9963         (_mm_max_sd): Fix pasto.
9964         (_mm_storeh_pd, _mm_storel_pd): Fix.
9965
9966         * i386.c (bdesc_comi): Fix to match specification.
9967         (ix86_expand_sse_comi): Emit the comparison properly.
9968         * i386.md (sse_comi, sse2_comi, sse_ucomi, sse2_ucomi):
9969         Do not use comparison operator.
9970         (vnmaskcmp): Fix template.
9971
9972         * xmmintrin.h (_mm_cvtps_pi16): Fix.
9973
9974 2002-10-19  Sebastian Pop  <s.pop@laposte.net>
9975
9976         * dependence.c : Removed.
9977         * Makefile.in : Remove dependence.o.
9978
9979 Sat Oct 19 10:46:52 CEST 2002  Jan Hubicka  <jh@suse.cz>
9980
9981         * mmintrin.h (__m64): typedef it to v2si.
9982         (_mm_cvtsi32_si64, _mm_cvtsi32_si64_mm_sll_pi16,
9983         _mm_sll_pi32, _mm_sll_pi64, _mm_slli_pi64, _mm_sra_pi16,
9984         _mm_sra_pi32, _mm_srl_pi16, _mm_srl_pi32, _mm_srl_pi64,
9985         _mm_srli_pi64, _mm_and_si64, _mm_andnot_si64,
9986         _mm_or_si64, _mm_xor_si64): Add neccesary casts.
9987         * xmmintrin.h (_mm_setzero_si64): Likewise.
9988
9989         * i386.h (ALIGN_MODE_128): Update comment; add missing modes
9990         (SSE_REG_MODE_P, MMX_REG_MODE_P): New macros.
9991
9992         PR target/7693
9993         Patch by Shawn Wagner
9994         * mmintrin.h: Replace pi64 by si64.
9995
9996 2002-10-18  David Edelsohn  <edelsohn@gnu.org>
9997
9998         * rs6000.md (movdf_hardfloat32): Order alternatives consistently.
9999         Use length of 4 not *.
10000         (movdf_hardfloat64): Same.  Support DFmode moves to/from CTR/LR.
10001         (movdf_softfloat64): Likewise.
10002         (movdi_internal32): Use length of 4 not *.
10003         (movti_power): Same.
10004         (ctrsi, ctrdi): Same.
10005
10006 2002-10-18  Zack Weinberg  <zack@codesourcery.com>
10007
10008         * c-decl.c (start_decl): Point users of the old initialized-
10009         typedef extension at __typeof__.
10010
10011 2002-10-18  Richard Henderson  <rth@redhat.com>
10012
10013         * real.c (cmp_significand_0, rtd_divmod, ten_to_mptwo): New.
10014         (real_to_decimal): Re-implement using the logic from the
10015         gcc 3.2 etoasc.  Comment heavily.
10016         (div_significands): Simplify loop startup and comparison logic.
10017
10018 2002-10-18  Mark Mitchell  <mark@codesourcery.com>
10019
10020         * target-def.h (TARGET_ASM_OUTPUT_MI_THUNK): Default to NULL.
10021         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Likewise.
10022         (TARGET_ASM_OUT): Add them.
10023         * target.h (asm_out): Add output_mi_thunk and
10024         output_mi_vcall_thunk.
10025         * config/alpha/alpha.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10026         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10027         * config/arm/arm-protos.h (arm_output_mi_thunk): Declare.
10028         * config/arm/arm.c (arm_output_mi_thunk): Define.
10029         * config/arm/arm.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10030         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10031         * config/cris/cris.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10032         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10033         * config/frv/frv.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10034         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10035         * config/i386/i386-protos.h (x86_output_mi_thunk): Adjust
10036         prototype.
10037         (x86_output_mi_vcall_thunk): Declare.
10038         * config/i386/i386.c (override_options): Clear
10039         output_mi_vcall_thunk in 64-bit mode.
10040         (ix86_fntype_regparm): New function.
10041         (ix86_return_pops_args): Use it.
10042         (ia32_this_parameter): New function.
10043         (x86_output_mi_vcall_thunk): New function.
10044         (x86_output_mi_thunk): Use it
10045         * config/i386/unix.h (TARGET_ASM_OUTPUT_MI_THUNK): Adjust.
10046         (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Define.
10047         * config/i960/i960-protos.h (i960_output_mi_thunk): Declare.
10048         * config/i960/i960.c (i960_output_mi_thunk): New function.
10049         * config/i960/i960.h (ASM_OUTPUT_MI_THUNK): Adjust.
10050         * config/ia64/ia64-protos.h (ia64_output_mi_thunk): Declare.
10051         * config/ia64/ia64.c (ia64_output_mi_thunk): Define.
10052         * config/ia64/ia64.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10053         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10054         * config/m68k/m68k-protos.h (m68k_output_mi_thunk): New function.
10055         * config/m68k/linux.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10056         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10057         * config/m68k/netbsd-elf.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10058         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10059         * config/mmix/mmix.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10060         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10061         * config/pa/pa.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10062         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10063         * config/rs6000/sysv4.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10064         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10065         * config/s390/s390-protos.h (s390_output_mi_thunk): Declare.
10066         * config/s390/s390.c (s390_output_mi_thunk): Define.
10067         * config/s390/s390.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10068         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10069         * config/sparc/sparc.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10070         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10071         * config/stormy16/stormy16.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10072         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10073         * config/vax/vax-protos.h (vax_output_mi_thunk): Declare.
10074         * config/vax/vax.c (vax_output_mi_thunk): Define.
10075         * config/vax/vax.h (ASM_OUTPUT_MI_THUNK): Rename to ...
10076         (TARGET_ASM_OUTPUT_MI_THUNK): ... this.
10077         * doc/tm.texi: Adjust documentation.
10078
10079 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10080
10081         * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): Define
10082         __enable_execute_stack function.
10083         * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Define
10084         as NETBSD_ENABLE_EXECUTE_STACK.
10085         * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10086         * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10087         * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10088         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10089         * config/sparc/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Ditto.
10090
10091 2002-10-18  Jason Thorpe  <thorpej@wasabisystems.com>
10092
10093         * config/i386/i386.c (x86_initialize_trampoline): Emit a call
10094         to __enable_execute_stack with the address of the trampoline
10095         if TRANSFER_FROM_TRAMPOLINE is defined.
10096         * config/i386/i386.h (TARGET_64BIT): Expand to a compile-time
10097         constant if building libgcc2.
10098
10099 Thu Oct 17 17:40:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
10100
10101         * i386.c (pentium4_cost): Fix according to Intel recommendations.
10102         (ix86_memory_move_cost): Fix for 64bit compilation.
10103
10104 2002-10-17  Roger Sayle  <roger@eyesopen.com>
10105
10106         * doc/c-tree.texi: Update description of COND_EXPR tree nodes.
10107
10108 2002-10-17  Geoffrey Keating  <geoffk@apple.com>
10109
10110         * config/rs6000/rs6000.h (HARD_REGNO_MODE_OK): Allow arbitrary modes
10111         in CTR/LR/MQ.
10112         * config/rs6000/rs6000.md (movcc_internal1): Support CCmode moves
10113         to/from CTR/LR/MQ.
10114         (movsf_hardfloat): Support SFmode moves to/from CTR/LR/MQ.
10115         (movsf_softfloat): Likewise.
10116
10117 2002-10-17  Janis Johnson  <janis187@us.ibm.com>
10118
10119         * Makefile.in (site.exp): Add ALT_CXX_UNDER_TEST and COMPAT_OPTIONS.
10120
10121 2002-10-17  Jason Thorpe  <thorpej@wasabisystems.com>
10122
10123         * config/alpha/alpha.c (alpha_initialize_trampoline): Use
10124         tramp, not addr, to pass the trampoline address to
10125         __enable_execute_stack.
10126
10127 Thu Oct 17 18:40:47 CEST 2002  Jan Hubicka  <jh@suse.cz>
10128
10129         * mmintrin.h: Guard by __MMX__
10130         * xmmintrin.h: Guard by __SSE__
10131
10132         PR other/8062
10133         * xmmintrin.h (_MM_SHUFFLE2): New macro.
10134         (_mm_load*_?d): New functions.
10135         (_mm_set*_?d): New functions.
10136         (_mm_store*_?d): New functions.
10137
10138 Wed Oct 16 15:01:29 CEST 2002  Jan Hubicka  <jh@suse.cz>
10139
10140         Really commit patch announced at Oct 14
10141         PR c/7344
10142         * predict.c (can_predict_insn_p): New function.
10143         (estimate_probability): Avoid unnecesary work.
10144         (process_note_prediction): Likewise.
10145         * toplev.c (rest_of_compilation): Account early branch prediction pass
10146         as TV_BRANCH_PROB.
10147
10148         PR other/8048
10149         Found by Ian Ollmann
10150         * xmmintrin.h (_mm_shuffle_pd): Fix typo.
10151         (_mm_load?_pd): Likewise.
10152         (_mm_store?_pd): Likewise.
10153
10154         PR target/7386
10155         * i386.c (builtin_description):Drop cmpg[te]s[sd].
10156         * xmmintrin.h (__mm_cmpg[te]_s[sd]): Rewrite using
10157         swapped alternative.
10158
10159         PR opt/7630
10160         * reload1.c (reload_inner_reg_of_subreg): New argument output;
10161         (push_reload): Update call.
10162
10163 2002-10-17  Richard Sandiford  <rsandifo@redhat.com>
10164
10165         * config.gcc (mips*-*-*): Add OBJECT_FORMAT_ELF to $tm_defines
10166         if using mips/elf.h or mips/elf64.h.
10167         * config/mips/elf.h (OBJECT_FORMAT_ELF): Remove.
10168         * config/mips/elf64.h (OBJECT_FORMAT_ELF): Remove.
10169
10170 2002-10-16  Aldy Hernandez  <aldyh@redhat.com>
10171
10172         * config/rs6000/rs6000.c (function_arg): Set inner mode of V1DI to
10173         SI.
10174
10175 2002-10-16  Ulrich Weigand  <uweigand@de.ibm.com>
10176
10177         * config/s390/linux.h (ASM_DOUBLE, _ASM_OUTPUT_LONG): Remove.
10178         (LPREFIX): Likewise.
10179         (ASM_COMMENT_START, LOCAL_LABEL_PREFIX, ASM_FORMAT_PRIVATE_NAME,
10180         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT,
10181         ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP, ASM_OUTPUT_ALIGNED_BSS,
10182         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP, BSS_SECTION_ASM_OP,
10183         GLOBAL_ASM_OP, ASM_OUTPUT_MI_THUNK): Move to s390.h.
10184
10185         * config/s390/s390.h (ASM_COMMENT_START, LOCAL_LABEL_PREFIX,
10186         ASM_FORMAT_PRIVATE_NAME, ASM_OUTPUT_ALIGN, ASM_OUTPUT_SKIP,
10187         ASM_OUTPUT_ALIGNED_BSS, TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP,
10188         BSS_SECTION_ASM_OP): Move from linux.h.
10189         (ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
10190         Also, use ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10191
10192         * config/s390/s390.c (s390_function_profiler): Use
10193         ASM_GENERATE_INTERNAL_LABEL instead of LPREFIX.
10194
10195 2002-10-15  Eric Christopher  <echristo@redhat.com>
10196
10197         * stor-layout.c (layout_type): Call GET_MODE_BITSIZE once.
10198         * java/parse.y (obtain_incomplete_type): Make pointer
10199         ptr_mode.
10200
10201 2002-10-15  Richard Henderson  <rth@redhat.com>
10202
10203         * real.c (real_to_decimal): Accept BUF_SIZE and CROP_TRAILING_ZEROS
10204         as arguments.  Bound DIGITS by the available buffer size.
10205         (real_to_hexadecimal): Likewise.
10206         * real.h (real_to_decimal, real_to_hexadecimal): Update prototypes.
10207         (REAL_VALUE_TO_DECIMAL): Remove.
10208         * c-common.c, c-pretty-print.c, print-rtl.c, print-tree.c,
10209         sched-vis.c, config/arc/arc.c, config/c4x/c4x.c, config/fr30/fr30.c,
10210         config/i370/i370.h, config/i386/i386.c, config/i960/i960.c,
10211         config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
10212         config/m68k/hp320.h, config/m68k/m68k.h, config/m68k/sun2o4.h,
10213         config/m68k/sun3.h, config/mips/mips.c, config/ns32k/ns32k.c,
10214         config/pdp11/pdp11.h, config/vax/vax.h: Update all callers to
10215         use real_to_decimal directly, and with the proper arguments.
10216         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Remove.
10217
10218 2002-10-15  Jim Wilson  <wilson@redhat.com>
10219
10220         * reload1.c (merge_assigned_reloads): After converting overlapping
10221         reloads to RELOAD_OTHER, abort if there are now conflicting reloads.
10222
10223         * config/i386/i386.md (adddi3_1): Add call to ix86_binary_operator_ok.
10224
10225 Tue Oct 15 22:08:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
10226
10227         * expr.c (do_tablejump): Fix typo in my previous commit.
10228
10229 2002-10-15  Richard Sandiford  <rsandifo@redhat.com>
10230
10231         * config/mips/vr.h (DRIVER_SELF_SPECS): Change %<mgp32 to %{<mgp32}.
10232
10233 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10234
10235         * config/s390/s390.c (s390_split_branches): Add return
10236         value.  Add parameters TEMP_REG and TEMP_USED.  Use unspec 104.
10237
10238         (find_base_register_in_addr): New function.
10239         (find_base_register_ref): New function.
10240         (replace_base_register_ref): New function.
10241
10242         (struct constant_pool): Add members pool_insn, insns, and anchor.
10243         Remove member last_insn.
10244         (s390_start_pool): Initialize them.
10245         (s390_end_pool): Emit pool placeholder insn.
10246         (s390_add_pool_insn): New function.
10247         (s390_find_pool): Use insns bitmap instead of addresses.
10248         (s390_dump_pool): Replace placeholder insn.  Emit anchor.
10249         Replace unspec 104 by local-pool-relative references.
10250         (s390_output_constant_pool): Output anchor label if required.
10251         (s390_output_symbolic_const): Handle unspec 104 and 105.
10252         (s390_add_pool): Remove, replace by ...
10253         (s390_add_constant, s390_find_constant): ... these new functions.
10254         (s390_add_anchor): New function.
10255
10256         (s390_chunkify_pool): Delete, replace by ...
10257         (s390_chunkify_start, s390_chunkify_finish,
10258         s390_chunkify_cancel): ... these new functions.
10259         (s390_optimize_prolog): Add parameter TEMP_REGNO.
10260         Recompute register live data for special registers.
10261         (s390_fixup_clobbered_return_reg): New function.
10262         (s390_machine_dependent_reorg): Rewrite to use new
10263         s390_chunkify_... routines.
10264
10265         config/s390/s390.md ("reload_base"): Rename to ...
10266         ("reload_base_31"): ... this.
10267         ("reload_base_64"): New insn.
10268         ("reload_base2"): Remove.
10269         ("reload_anchor"): New insn.
10270         ("pool"): New insn.
10271
10272         s390.c (s390_pool_overflow): Remove.
10273         s390.h (s390_pool_overflow): Likewise.
10274         s390.md ("cjump", "icjump", "doloop_si"): Remove s390_pool_overflow.
10275
10276 Tue Oct 15 16:51:04 2002  J"orn Rennecke <joern.rennecke@superh.com>
10277
10278         * sh.md (movv8qi_i+2): Don't split if source is -1.
10279
10280 2002-10-15  Janis Johnson  <janis187@us.ibm.com>
10281
10282         * doc/install.texi: Formatting changes for conformance to HTML 4.01.
10283
10284 2002-10-15  Ulrich Weigand  <uweigand@de.ibm.com>
10285
10286         PR opt/7409
10287         * loop.c (loop_regs_scan): Mark registers used for function
10288         argument passing as MAY_NOT_OPTIMIZE.
10289
10290 Mon Oct 14 19:22:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10291
10292         * gcov-io.h (gcov_info): Fix type.
10293         * profile.c (create_profiler): Fix type mismatch.
10294
10295 Mon Oct 14 20:33:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
10296
10297         * i386.md (movv2di_internal): New pattern.
10298         (movv2df_internal, movv8hi_internal, movv16qi_internal): Fix predicate.
10299         (movv2di): New expander.
10300         * i386.c (ix86_preferred_reload_class): Return NO_REGS for vector operands.
10301
10302         * i386.c (ix86_expand_timode_binop_builtin): Delete.
10303         (builtin_description): Add SSE1 logicals; rename SSE2 logicals.
10304         (ix86_init_mmx_sse_builtins): Kill SSE1 logicals.
10305         (ix86_expand_builtin): Likewise.
10306         * i386.h (sse_andti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10307         sse_andti3,
10308         sse_andnti4_df_1, sse_andti3_df_2, sse_andti3_sf_1, sse_andti3_sf_2,
10309         sse_andnti3,
10310         sse_orti4_df_1, sse_orti3_df_2, sse_orti3_sf_1, sse_orti3_sf_2,
10311         sse_orti3,
10312         sse_xorti4_df_1, sse_xorti3_df_2, sse_xorti3_sf_1, sse_xorti3_sf_2,
10313         sse_xorti3): Kill.
10314         (sse_andv4sf3, sse_andnv4sf3, sse_orv2df3, sse_xorv2df3, sse_andv2df3,
10315          sse_andnv2df3, sse_orv2df3, sse_xorv2df3): New expanders.
10316         (*sse_andv4sf3, *sse_andnv2df3, *sse_orv4sf3, *sse_xorv4sf3, *sse_andv2df3,
10317          *sse_andnv2df3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10318         (*sse_andsf3, *sse_andndf3, *sse_ordf3, *sse_xordf3, *sse_anddf3,
10319          *sse_andndf3, *sse_orv2df3, *sse_xorv2df3): New patterns.
10320
10321         * xmmintrin.h (__m128i): Define as __v2di.
10322
10323         PR c++/6419
10324         (expand_expr): Use DECL_RTL_SET_P.
10325
10326 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10327
10328         * combine.c (simplify_set):  Treat MODE_CC registers like cc0.
10329
10330 2002-10-14  Roger Sayle  <roger@eyesopen.com>
10331             Zack Weinberg <zack@codesourcery.com>
10332
10333         * config/i386/i386.c (k6_cost): Correct typo.
10334
10335 2002-10-14  Mark Mitchell  <mark@codesourcery.com>
10336
10337         PR optimization/6631
10338         * alias.c (objects_must_conflict_p): Check honor_readonly when
10339         examining TYPE_READONLY.
10340         * function.c (assign_stack_temp_for_type): Likewise.
10341
10342 2002-10-14  Falk Hueffner  <falk.hueffner@student.uni-tuebingen.de>
10343
10344         * config/alpha/alpha.md (extendsidi2_nofix, extendsidi2_fix):
10345         Swap zero extension arguments.
10346         (umaxhi3): Fix instruction class.
10347         PR target/7211
10348         (prefetch): Fix prefetch instructions.
10349         PR target/7238
10350         (pkwb): Fix output constraint.
10351
10352 2002-10-14  Alexandre Oliva  <aoliva@redhat.com>
10353
10354         * config/mips/mips.c (print_operand): Increase buffer size for
10355         real numbers.
10356
10357 2002-10-14  Richard Henderson  <rth@redhat.com>
10358
10359         PR opt/8165
10360         * gcse.c (adjust_libcall_notes): Revert last change.
10361         * simplify-rtx.c (simplify_replace_rtx): Handle LO_SUM.
10362
10363 2002-10-14  Andrew Haley  <aph@redhat.com>
10364
10365         * tree-inline.c (remap_block): All local class initialization
10366         flags go in the outermost scope.
10367         (expand_call_inline): Call java_inlining_map_static_initializers.
10368         (expand_call_inline): Call java_inlining_merge_static_initializers.
10369         * java/lang.c (merge_init_test_initialization): New.
10370         (java_inlining_merge_static_initializers): New.
10371         (inline_init_test_initialization): New.
10372         (java_inlining_map_static_initializers): New.
10373
10374         * tree-inline.c (expand_call_inline): Convert retvar to expected
10375         type.
10376
10377 2002-10-14  Graham Stott  <graham.stott@btinternet.com>
10378
10379         * stmt.c (decl_conflicts_with_clobbers_p): Add REG_P check.
10380
10381 2002-10-14  Aldy Hernandez  <aldyh@redhat.com>
10382
10383         * stmt.c: Fix typo in comment.
10384
10385 Mon Oct 14 11:35:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10386
10387         * c-common.c (c_common_type_for_mode): Add V2HImode case.
10388         * tree.c (build_common_tree_nodes_2): Initialize
10389         unsigned_V2HI_type_node and V2HI_type_node.
10390         * tree.h (enum tree_index): Add TI_UV2HI_TYPE and TI_V2HI_TYPE.
10391         (unsigned_V2HI_type_node, V2HI_type_node): Define.
10392
10393 2002-10-14  Jakub Jelinek  <jakub@redhat.com>
10394
10395         * config/i386/i386.h (ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP):
10396         Handle TARGET_64BIT.
10397
10398 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10399
10400         * config/mips/vr.h (DRIVER_SELF_SPECS): Define.
10401         * config/mips/t-vr (MULTILIB_OPTIONS): Remove mlong32.
10402         (MULTILIB_DIRNAMES): Remove long32.
10403         (MULTILIB_EXCEPTIONS): Don't build -mabi=32 -mgp32 multilibs.
10404         (MULTILIB_REDUNDANT_DIRS): Remove.
10405
10406 2002-10-14  Richard Sandiford  <rsandifo@redhat.com>
10407
10408         * doc/tm.texi (DRIVER_SELF_SPECS): Document.
10409         * gcc.c (driver_self_specs): New variable.
10410         (do_self_spec): New function.
10411         (main): Use it to process driver_self_specs.
10412
10413 2002-10-13  Richard Henderson  <rth@redhat.com>
10414
10415         * config/i386/i386.c (ix86_function_ok_for_sibcall): Reject
10416         indirect sibcalls when regparm >= 3.
10417
10418         * config/i386/i386.c (sibcall_insn_operand): New.
10419         * config/i386/i386.h (PREDICATE_CODES): Update.
10420         * config/i386/i386-protos.h: Update.
10421         * config/i386/i386.md (sibcall_1, sibcall_value_1): Use it.
10422
10423         * rtl.c (shallow_copy_rtx): Use memcpy for the entire node.
10424
10425 2002-10-12  Roger Sayle  <roger@eyesopen.com>
10426
10427         * simplify-rtx.c (simplify_binary_operation) [ASHIFTRT]: Optimize
10428         arithmetic right shifts of ~0 during RTL simplifications.
10429
10430 2002-10-12  Neil Booth  <neil@daikokuya.co.uk>
10431
10432         PR preprocessor/7862
10433         PR preprocessor/8190
10434         * gcc.c (cpp_unique_options): Don't delete .d files.
10435         Remove stray whitespace.
10436
10437 2002-10-12  Naohiko Shimizu  <pshimizu@fa2.so-net.ne.jp>
10438
10439         * pdp11.h (ASM_OUTPUT_SKIP): Add preceding 0 for octal constant.
10440         (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Likewise.
10441         * pdp11.c (pdp11_output_function_prologue): 0%o -> %#o.
10442         (pdp11_output_function_epilogue, output_ascii): Likewise.
10443         (output_addr_const_pdp11): Likewise.
10444         * pdp11.md (movdi): Use offsetable memory for floating store.
10445         (lshrsi3, negsi2): Delete irrelevant comment.
10446
10447 2002-10-11  Andreas Bauer  <baueran@in.tum.de>
10448
10449         * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10450         indirect calls to be sibcall optimized.
10451         * config/i386/i386.md (sibcall_1): New.
10452         (call_1): Add no-sibcalls condition.
10453         (sibcall_value_1): New.
10454         (call_value_1): Add no-sibcalls condition.
10455
10456 2002-10-11  Eric Christopher  <echristo@redhat.com>
10457
10458        * output.h (default_valid_pointer_mode): Declare.
10459        * varasm.c (default_valid_pointer_mode): Define.
10460        * target-def.h (TARGET_VALID_POINTER_MODE): Use.
10461        * target.h: Ditto.
10462        * tree.c (build_pointer_type_for_mode): New function.
10463        (build_pointer_type): Use.
10464        (build_reference_type_for_mode): New function.
10465        (build_reference_type): Use.
10466        * tree.h: Declare new functions.
10467        * c-common.c (handle_mode_attribute): Use new functions, check
10468        for type.
10469        * stor-layout.c (layout_type): Depend on machine mode for
10470        REFERENCE_TYPE and POINTER_TYPE.
10471        * dwarf2out.c (simple_type_size_in_bits): Move upward in file.
10472        (modified_type_die): Use instead of PTR_SIZE for POINTER_TYPE
10473        and REFERENCE_TYPE.
10474        * config/mips/mips.c (mips_valid_pointer_mode): New function.
10475        (TARGET_VALID_POINTER_MODE): Use and define.
10476        * config/mips/mips-protos.h (mips_valid_pointer_mode): Declare.
10477
10478 2002-10-11  Geoffrey Keating  <geoffk@apple.com>
10479
10480         * cse.c (mention_regs): Set SUBREG_TICKED to the register number,
10481         not the address of the REG.
10482         (struct cse_reg_info): Make subreg_ticked unsigned.
10483
10484 2002-10-11  Janis Johnson  <janis187@us.ibm.com>
10485
10486         * doc/compat.texi: Add info about C++ libraries.
10487
10488 2002-10-11  Richard Henderson  <rth@redhat.com>
10489
10490         PR opt/8165
10491         * gcse.c (adjust_libcall_notes): Also adjust notes for INSN.
10492
10493 2002-10-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
10494
10495         * cfganal.c (dfs_enumerate_from): Use PARAMS.
10496         * genautomata.c (output_insn_code_cases): Likewise.
10497         * real.c (real_format): Likewise.
10498         * tree.c (tree_size): Revise expressions using TREE_CODE_LENGTH to
10499         ensure value is promoted before doing subtraction.
10500
10501 Fri Oct 11 22:22:38 CEST 2002  Jan Hubicka  <jh@suse.cz>
10502
10503         * calls.c (expand_call): Simplify noreturn call.
10504
10505         PR c/7344
10506         * cfgbuild.c (make_edges): Create edge cache when we do have
10507         large jumptable.
10508         * expr.c (do_tablejump): Note size of maximal jumptable.
10509         * function.c (prepare_function_start): Zero out size.
10510         * function.h (function): Add max_jumptable_ents.
10511
10512         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10513
10514 Fri Oct 11 12:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
10515
10516         * sh.md (movv8qi_i+2): For V8QI destinations, generate V4HI
10517         register for mperm_w operation.
10518
10519 Fri Oct 11 10:56:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
10520
10521         * emit-rtl.c (gen_lowpart_common): When asked to make a vector from
10522         an integer, use simplify_gen_subreg.
10523
10524 2002-10-10  Diego Novillo  <dnovillo@redhat.com>
10525
10526         * calls.c (flags_from_decl_or_type): Make extern.
10527         (ECF_*): Move ...
10528         * rtl.h (ECF_*): ... here.
10529         (flags_from_decl_or_type): Declare.
10530
10531 2002-10-10  Roger Sayle  <roger@eyesopen.com>
10532             Nathan Sidwell <nathan@codesourcery.com>
10533
10534         * fold-const.c (fold) [RSHIFT_EXPR]: Optimize arithmetic right
10535         shifts of the form -1 >> x.
10536
10537 Thu Oct 10 16:52:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
10538
10539         * cfgcleanup.c (insn_match_p): Verify sibcall flag for calls to.
10540
10541 2002-10-10  Aldy Hernandez  <aldyh@redhat.com>
10542
10543         * extend.texi (Vector Extensions): Remove comment about single
10544         element vectors.
10545
10546 2002-10-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10547
10548         * fold-const.c (size_htab_hash): Use htab_hash_pointer.
10549         * function.c (insns_for_mem_hash): Likewise.
10550         * varasm.c (STRHASH): Likewise.
10551
10552 2002-10-10  Stuart Hastings  <stuart@apple.com>
10553
10554         * cse.c (struct cse_reg_info): Add subreg_ticked.
10555         (SUBREG_TICKED): New.
10556         (get_cse_reg_info): Initialize SUBREG_TICKED.
10557         (mention_regs): Use it.
10558         (invalidate): Set SUBREG_TICKED.
10559         (invalidate_for_call): Likewise.
10560         (addr_affects_sp_p): Likewise.
10561
10562 2002-10-10  Jakub Jelinek  <jakub@redhat.com>
10563
10564         * config/i386/i386.md (tls_local_dynamic_base): Put pic reg
10565         into proper operand.
10566
10567 2002-10-10  Denis Chertykov  <denisc@overta.ru>
10568
10569         * config/ip2k/ip2k.c (function_epilogue): Optimize stack
10570         deallocation.
10571         * config/ip2k/libgcc.S: Combine routines used by function
10572         epilogue.
10573
10574 2002-10-10  Jim Wilson  <wilson@redhat.com>
10575
10576         * cse.c (fold_rtx): Don't perform associative optimization for DIV and
10577         UDIV.
10578
10579 2002-10-10  David Edelsohn  <edelsohn@gnu.org>
10580
10581         * config/rs6000/aix52.h: New file.
10582         * config/rs6000/t-aix52: New File.
10583         * config.gcc (rs6000-ibm-aix5.1.*): New entry.
10584         (rs6000-ibm-aix[56789].*): Default to AIX 5.2.
10585
10586 Thu Oct 10 19:37:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
10587
10588         PR target/5610
10589         * invoke.texi (-msse-math): Kill
10590         (-msse): Add note to mfpmath=sse.
10591
10592 Thu Oct 10 17:08:30 CEST 2002  Jan Hubicka  <jh@suse.cz>
10593
10594         PR target/7723
10595         * i386.c (ix86_expand_vector_move): Do not generate const0->mem moves.
10596
10597 2002-10-10  Neil Booth  <neil@daikokuya.co.uk>
10598
10599         PR preprocessor/8179
10600         * gcc.c (cpp_options): Add {ansi}, move %{m*} to same location
10601         as cc1_options.
10602         (default_compilers): Pass debug options when preprocessing
10603         stdin.
10604
10605 2002-10-06  Richard Henderson  <rth@redhat.com>
10606
10607         * toplev.c (rest_of_compilation): Revert opt/2960 change.
10608
10609 Wed Oct  9 21:18:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
10610
10611         * i386.c (*_cost): Add branch costs.
10612         (override_options): set ix86_branch_cost.
10613         (ix86_expand_int_movcc): Use BRANCH_COST.
10614         * i386.h (costs): Add branch_cost.
10615
10616 2002-10-09  Zack Weinberg  <zack@codesourcery.com>
10617
10618         PR c/7353
10619         * c-decl.c (start_decl): Unconditionally issue error for
10620         'typedef foo = bar'.
10621         (finish_decl): Remove special case for TYPE_DECL with initializer.
10622
10623         * doc/extend.texi: Delete "Naming Types" section.  Change all
10624         cross-references to that section to refer to "Typeof" instead.
10625         Add the useful safe-max()-macro example from "Naming Types" to
10626         "Typeof", rewritten using that extension.  Add some compatibility
10627         notes to "Typeof."
10628
10629 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10630
10631         * loop.c: Revert 2002-08-15 change.
10632         (LOOP_REGNO_NREGS): Ensure type is int.
10633
10634 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
10635
10636         * config/rs6000/rs6000.md (extenddftf2): Change to define_insn
10637         which copies first FPR and clears second.
10638         (extendsftf2): Same.
10639         (floatditf2): Fix typo.
10640         (floatsitf2): Same.
10641         (fix_trunctfdi2): Same.
10642         (fix_trunctfsi2): Same.
10643
10644 2002-10-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10645
10646         * conflict.c (arc_hash): Change return type to hashval_t.
10647         * cselib.c (get_value_hash): Likewise.
10648         * genautomata.c (automaton_decl_hash, insn_decl_hash, decl_hash,
10649         state_hash, automata_list_hash): Likewise.
10650         * read-rtl.c (def_hash): Likewise.
10651         * tree.c (type_hash_hash): Likewise.
10652
10653 2002-10-08  Aldy Hernandez  <aldyh@redhat.com>
10654
10655         * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Call
10656         prologue_epilogue_contains instead of using REG_MAYBE_DEAD notes.
10657
10658 Wed Oct  9 15:54:49 2002  J"orn Rennecke <joern.rennecke@superh.com>
10659
10660         * sh.md (ffssi2): Fix emitted code.
10661
10662 2002-10-09  Ulrich Weigand  <uweigand@de.ibm.com>
10663
10664         * cse.c (insn_live_p): Pass insn pattern, not full insn
10665         to may_trap_p.
10666
10667 2002-10-09  Neil Booth  <neil@daikokuya.co.uk>
10668
10669         * cppmacro.c (paste_tokens): Only allow / to paste with =.
10670
10671 2002-10-09  David Edelsohn  <edelsohn@gnu.org>
10672
10673         * config/rs6000/rs6000.md (movdf splitter): Use gen_int_mode on
10674         64-bit hosts.
10675         (movtf_internal): Reference correct displacement for second value
10676         in memory.
10677         (movtf splitter): Correct generation of constants in 64-bit mode.
10678
10679 2002-10-09  Alan Modra  <amodra@bigpond.net.au>
10680
10681         * libgcc2.c (__floatdisf): Properly cure double rounding.
10682
10683 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10684
10685         * c-common.c (cb_register_builtins): Define __WCHAR_MAX__.
10686         * doc/cpp.texi (Common Predefined Macros): Document.
10687
10688 2002-10-09  Gabriel Dos Reis  <gdr@integrable-solutions.net>
10689
10690         PR doc/7484
10691         * doc/invoke.texi (Option Summary): List
10692         -Wmissing-declarations as a C only option.
10693
10694 2002-10-08  Roger Sayle  <roger@eyesopen.com>
10695
10696         * fold-const.c (fold) [LROTATE_EXPR, RROTATE_EXPR]: Optimize
10697         left and right rotates of ~0, i.e. integer_all_onesp (arg0).
10698         [LSHIFT_EXPR, RSHIFT_EXPR]: Optimize shifts and rotates of zero.
10699
10700 Tue Oct  8 01:24:19 CEST 2002  Jan Hubicka  <jh@suse.cz>
10701
10702         * i386.c (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10703         x86_sse_typeless_stores, x86_sse_load0_by_pxor): New global
10704         variables.
10705         (safe_vector_operand): Update sse_clrv4sf call.
10706         (ix86_expand_buildin): Likewise
10707         * i386.h (x86_sse_partial_reg_dependency, x86_sse_partial_regs,
10708         x86_sse_typeless_stores, x86_sse_load0_by_pxor): Declare.
10709         (TARGET_SSE_PARTIAL_REG_DEPENDENCY, TARGET_SSE_PARTIAL_REGS,
10710         TARGET_SSE_TYPELESS_STORES, TARGET_SSE_TYPELESS_LOAD0): New
10711         macros.
10712         * i386.md (movsf*, movdf*, movti, movv4sf, movv2df, movv16qi, movv8hi,
10713         movv4si):  Obey the new flags.
10714         (floatsi2sf, floatdi2sf, truncatedf2sf): Emit extra load of 0 to avoid
10715         reformating penalty.
10716         (anddf, cmov patterns): Avoid reformating by first converting.
10717         (sse_cvtsd2ss): Fix predicate.
10718         (sse2_clrti): Fix mode,
10719         (sse_clrv4sf): Avoid unspec.
10720
10721 2002-10-08  Jakub Jelinek  <jakub@redhat.com>
10722
10723         * config/sparc/t-linux64 (MULTILIB_OPTIONS): Remove
10724         mno-app-regs|mcmodel=medany.
10725         (MULTILIB_DIRNAMES, MULTILIB_OSDIRNAMES): Remove alt.
10726         (MULTILIB_EXCEPTIONS, MULTILIB_EXCLUSIONS, MULTILIB_MATCHES): Remove.
10727         (CRTSTUFF_T_CFLAGS): Define.
10728
10729 2002-10-08  Roger Sayle  <roger@eyesopen.com>
10730
10731         PR target/8087
10732         * simplify-rtx.c (avoid_constant_pool_reference):  Allow constant
10733         pool references that are constructed using LO_SUM.
10734
10735 2002-10-08  Nathan Sidwell  <nathan@codesourcery.com>
10736
10737         * c-opts.c (c_common_decode_option): Add warn_strict_aliasing to
10738         -Wall.
10739         * c-typeck.c (build_c_cast): Use warn_strict_aliasing, tweak
10740         message.
10741         * flags.h (warn_strict_aliasing): Declare.
10742         * toplev.c (warn_strict_aliasing): Define.
10743         (lang_independent_options): Add it.
10744         * doc/invoke.texi (-Wstrict-aliasing): Document it.
10745
10746 2002-10-08  Zack Weinberg  <zack@codesourcery.com>
10747
10748         * system.h (GCCBUGURL): Delete.
10749         * version.c (bug_report_url): New.  Add commentary about
10750         modifying both these strings in modified distributions.
10751         * version.h: Declare bug_report_url.
10752
10753         * diagnostic.c, gcc.c, gcov.c: Globally replace GCCBUGURL with
10754         bug_report_url.
10755
10756 2002-10-08  Nick Clifton  <nickc@redhat.com>
10757
10758         * config/rs6000/spe.h (__ev_set_acc_u64): Use __ev_create_u64 to
10759         convert uint64_t into __ev64_opaque__.
10760         (__ev_set_acc_s64): Likewise, but using signed types.
10761
10762 2002-10-08  Ulrich Weigand  <uweigand@de.ibm.com>
10763
10764         * config/s390/s390.md ("*doloop_si_long"): Add missing operand.
10765         ("*doloop_di_long"): Likewise.
10766
10767 Tue Oct  8 16:50:10 CEST 2002  Jan Hubicka  <jh@suse.cz>
10768
10769         * print-rtl.c (print_rtx): Increase buffer size for real numbers.
10770
10771 2002-10-08  Richard Sandiford  <rsandifo@redhat.com>
10772
10773         * config/mips/mips.md (define_attr cpu): Add r4111.
10774
10775 2002-10-08  Anthony Green  <green@redhat.com>
10776
10777         * bitmap.c (bitmap_equal_p): Clear all bitmap_head fields.
10778
10779 2002-10-08  Michael Hayes  <m.hayes@elec.canterbury.ac.nz>
10780
10781         * config/c4x/c4x.c (c4x_print_operand): Enlarge buffer
10782         for REAL_VALUE_TO_DECIMAL output.
10783
10784 2002-10-07  Richard Henderson  <rth@redhat.com>
10785
10786         * cse.c (fixed_base_plus_p): Turn FIXED_BASE_PLUS_P into a
10787         function; cleanup PLUS case by using recursion.  Update all users.
10788         (NONZERO_BASE_PLUS_P): Remove.
10789         (find_comparison_args): Use rtx_addr_can_trap_p instead.
10790         (fold_rtx): Use nonzero_address_p.
10791         * rtl.h (nonzero_address_p): Declare.
10792         * rtlanal.c (rtx_varies_p): Handle ADDRESSOF.
10793         (rtx_addr_can_trap_p): Likewise.
10794         (nonzero_address_p): New.
10795         * simplify-rtx.c (NONZERO_BASE_PLUS_P): Remove.
10796         (simplify_relational_operation): Use nonzero_address_p.
10797
10798 2002-10-07  David Edelsohn  <edelsohn@gnu.org>
10799
10800         * config/rs6000/rs6000.c (rs6000_override_options): Set
10801         real_format_for_mode for IBM extended format, if enabled.
10802         (easy_fp_constant): Add TFmode.
10803         (rs6000_legitimize_address): Add TFmode.
10804         (rs6000_legitimate_address): Same.
10805         (function_arg_advance): TFmode uses two FPRs.
10806         (rs6000_emit_prologue): Fix warning.
10807         (rs6000_output_function_epilogue): Add TFmode.
10808         (output_toc): Add TFmode.
10809         * rs6000.h (SLOW_UNALIGNED_ACCESS): Add TFmode.
10810         (LEGITIMATE_OFFSET_ADDRESS_P): Add TFmode.
10811         * rs6000.md (movtf splitter): Load TFmode constant.
10812
10813 2002-10-07  Dale Johannesen  <dalej@apple.com>
10814
10815         * rtl.h:  Add NOTE_PRECONDITIONED.
10816         * unroll.c:  Set it.
10817         * loop.c:  Set loop_info->preconditioned from it.
10818         * doloop.c:  Permit doloop treatment when loop_info->preconditoned.
10819
10820 2002-10-07  Richard Henderson  <rth@redhat.com>
10821
10822         * config/i960/i960.c (i960_setup_incoming_varargs): Create a
10823         new rtx for comparing the argument pointer against zero.
10824         (i960_va_start): Similarly.
10825
10826 2002-10-07  Richard Henderson  <rth@redhat.com>
10827
10828         * config/i960/i960.md (*): Use TFmode, not XFmode.
10829         * config/i960/i960.c (*): Likewise.
10830         (i960_arg_size_and_align): Remove XFmode alignment hack.
10831         (i960_round_align): Merge code from ROUND_TYPE_ALIGN.
10832         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Use 128, not 96.
10833         (MAX_LONG_DOUBLE_TYPE_SIZE): Likewise.
10834         (DATA_ALIGNMENT, ROUND_TYPE_SIZE): Remove.
10835
10836 2002-10-07  Richard Henderson  <rth@redhat.com>
10837
10838         * config/fp-bit.c (EXTENDED_FLOAT_STUBS): Flush out all XF/TFmode
10839         entry points; use void return value and argument list.
10840
10841 2002-10-06  Andreas Bauer  <baueran@in.tum.de>
10842
10843         * calls.c (expand_call): Fix function-is-volatile check.
10844
10845 2002-10-05  Naohiko Shimizu <nshimizu@keyaki.cc.u-tokai.ac.jp>
10846
10847         * t-pdp11: Add MULTILIB support for msoft-float.
10848         * pdp11.h (LEGITIMATE_CONSTANT_P): Fix soft-float case.
10849
10850         * t-pdp11: Add LIB2FUNCS_EXTRA.
10851         * pdp11.c (pdp11_output_function_prologue): Restrict offset to 16bit,
10852         add preceding 0 to the octal constant, rename 'fp' to 'r5', rename
10853         'fldd' to 'ldd', rename 'fstd' to 'std'.
10854         (pdp11_output_function_epilogue): Likewise.
10855         (output_move_quad): Make the comment gas compatible.
10856         (output_ascii): Add preceding 0 to the octal constant.
10857         (print_operand_address): Add pre_modify, post_modify.
10858         (output_addr_const_pdp11): Add preceding 0 to the octal constant.
10859         * pdp11.h (GO_IF_LEGITIMATE_ADDRESS) : Add 'movb' pre_modify case
10860         with the indication of Paul Koning.
10861         (PRINT_OPERAND): Fix floating constant.
10862         * pdp11.md (movdi): Restrict matching pattern.
10863         (movqi): Generalize the matching pattern.
10864         (movdf): Restrict matching pattern.
10865         (zero_extendqihi2): Change constant representation.
10866         (floatsidf2): Fix wrong operands.
10867         (addqi3): Fix wrong instruction name.
10868         (subqi3): Fix wrong instruction name.
10869         (andsi3, andhi3, andqi3): Simplify and fix to use 'bic'.
10870         (xorsi3): Fix wrong insn.
10871         (one_cmplqi2): Add two operand pattern.
10872         (lsrsi3): New.
10873         (negsi2): New.
10874         (call): Add register indirect case.
10875         (mod): Fix wrong subreg.
10876
10877 2002-10-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
10878             Volker Reichelt <reichelt@igpm.rwth-aachen.de>
10879
10880         PR c/7411
10881         * expr.c (expand_expr) [PLUS]: Simplify after the operands
10882         have been expanded in EXPAND_NORMAL mode.
10883
10884 2002-10-06  Richard Henderson  <rth@redhat.com>
10885
10886         * config/rs6000/rs6000.md (load_toc_v4_PIC_2): Fix base constraint.
10887
10888 2002-10-06  Richard Henderson  <rth@redhat.com>
10889
10890         PR optimization/2960
10891         * toplev.c (rest_of_compilation): Don't copy_loop_headers if
10892         optimize_size.
10893
10894 2002-10-06  Alexandre Oliva  <aoliva@redhat.com>
10895
10896         * config/mips/mips.h (SIZE_TYPE, PTRDIFF_TYPE): Override
10897         previously definitions.
10898
10899 2002-10-06  Frank Ch. Eigler  <fche@redhat.com>
10900
10901         * cppinit.c (init_standard_includes, parse_option): Use strncmp.
10902         * c-opts.c (find_opt): Similarly.
10903
10904 Sat Oct  5 22:48:06 CEST 2002  Jan Hubicka  <jh@suse.cz>
10905
10906         * athlon.md: rewrite to DFA.
10907         * i386 (ix86_adjust_cost): Drop memory latency code.
10908         (ia32_use_dfa_pipeline_interface): Return true for Athlon.
10909
10910 2002-10-05  Jakub Jelinek  <jakub@redhat.com>
10911
10912         * gcc.c (set_multilib_dir): Don't access *end.
10913         Use memcpy instead of strncpy.  Don't write beyond malloced buffer.
10914         (print_multilib_info): Don't show paths starting with ".:".
10915         * genmultilib: Add new option, "yes" if multilibs are enabled.
10916         Update comments.  If multilibs not enabled, print .:${osdirout}
10917         for each directory.  If multilibs are enabled, always print
10918         ${dirout}:${osdirout}, even if the two are the same.
10919         * Makefile.in (s-mlib): Pass @enable_multilib@ to genmultilib.
10920         Pass all MULTILIB_* variables to genmultilib even if
10921         --disable-multilib but MULTILIB_OSDIRNAMES is not empty.
10922
10923 2002-10-04  Zack Weinberg  <zack@codesourcery.com>
10924
10925         * gcc.c (process_command): Set .validated for -pipe.  Correct
10926         grammar in comment.
10927
10928 2002-10-04  Bruce Korb  <bkorb@gnu.org>
10929
10930         * fixinc/inclhack.def(hpux11_abs):  use format fix
10931         * fixinc/fixincl.x: regenerate
10932         * fixinc/tests/base/stdlib.h: accommodate new fix test
10933
10934 Sat Oct  5 19:42:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
10935
10936         * c-common.c (cb_register_builtins):  Use really_no_inline.
10937
10938 2002-10-04  David Edelsohn  <edelsohn@gnu.org>
10939
10940         * unroll.c (copy_loop_body): Remove REG_EQUAL note attached to
10941         copied instruction if the note is not loop invariant.
10942
10943 2002-10-04  Loren J. Rittle  <ljrittle@acm.org>
10944
10945         * gcc/ginclude/stddef.h: Support the FreeBSD 5 typedef system.
10946
10947 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
10948
10949         * doc/invoke.texi (HPPA):  Add -mlinker-opt, -mgnu-ld,
10950         and -mhp-ld options to list of options.  Add -mgnu-ld
10951         and -mhp-ld option descriptions.
10952
10953 2002-10-04  Steve Ellcey  <sje@cup.hp.com>
10954
10955         * fixinc/inclhack.def (hpux11_abs):  New.
10956         (stdio_va_list): change __va_list__ to __gnuc_va_list.
10957         * fixinc/fixincl.x: Rebuild.
10958
10959 2002-10-04  Roger Sayle  <roger@eyesopen.com>
10960
10961         * config/i386/i386.h (processor_costs): Add new fields fadd,
10962         fmul, fdiv, fabs, fchs and fsqrt to costs structure.
10963         (RTX_COSTS): Use these fields to determine the RTX costs
10964         of floating point addition/subtraction, multiplication,
10965         division, fabs, negation and square root respectively.
10966         * config/i386/i386.c (size_cost): Provide instruction sizes
10967         for these new fields.
10968         (i386_cost, i486_cost, pentium_cost, pentiumpro_cost,
10969         k6_cost, athlon_cost, pentium4_cost): Provide typical cycle
10970         counts for these new fields for all x86 processor variants.
10971
10972 2002-10-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
10973
10974         * mips.c (mips_const_double_ok): Delete unused variable.
10975
10976         * gengtype.c (rtx_next): Change type to int.
10977
10978 2002-10-04  Andreas Jaeger  <aj@suse.de>
10979
10980         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Fix value.
10981
10982 2002-10-04  Richard Henderson  <rth@redhat.com>
10983
10984         * real.h (SIGNIFICAND_BITS): Add one more word.
10985         (CONST_DOUBLE_FORMAT): Accomodate 6 words.
10986         * real.c (times_pten): New.
10987         (real_to_decimal, real_from_string): Use it.
10988         (sticky_rshift_significand): Use & to find modulus.
10989         (rshift_significand, lshift_significand): Likewise.
10990         (do_divide): Apply sticky bit after normalization.
10991         (real_to_decimal, real_to_hexadecimal): Fix sign of Inf and NaN.
10992
10993 2002-10-03  Andreas Bauer  <baueran@in.tum.de>
10994
10995         * doc/tm.texi (FUNCTION_OK_FOR_SIBCALL): Remove.
10996         (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
10997
10998 2002-10-03  Andreas Jaeger  <aj@suse.de>
10999
11000         * gengtype.c (adjust_field_rtx_def): Cast variables of type size_t
11001         to unsigned long, adjust printf format string.
11002         (output_mangled_typename): Likewise.
11003
11004 2002-10-03  Jason Thorpe  <thorpej@wasabisystems.com>
11005
11006         * config/vax/vax.c (vax_output_function_prologue): Use asm_fprintf.
11007         * config/vax/vax.h (VAX_FUNCTION_PROFILER_NAME): New.
11008         (FUNCTION_PROFILER): Rewrite to use ASM_GENERATE_INTERNAL_LABEL,
11009         assemble_name, asm_fprintf, and VAX_FUNCTION_PROFILER_NAME.
11010         (ASM_OUTPUT_MI_THUNK): Use asm_fprintf instead of REGISTER_PREFIX.
11011         (PRINT_OPERAND_PUNCT_VALID_P): Fix comment.
11012         * config/vax/elf.h (FUNCTION_PROFILER): Remove.
11013         (VAX_FUNCTION_PROFILER_NAME): Redefine as "__mcount".
11014
11015 2002-10-03  Mark Mitchell  <mark@codesourcery.com>
11016
11017         * doc/invoke.texi (-Wabi): Document mangling bug.
11018
11019 2002-10-04  Alan Modra  <amodra@bigpond.net.au>
11020
11021         * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use a
11022         name for the tbtab label that depends on the function asm name.
11023         Don't output tbtab label unless optional_tbtab.
11024         (output_mi_thunk): Formatting.
11025
11026 2002-10-03  Richard Henderson  <rth@redhat.com>
11027
11028         * config/m68k/m68k.h (OVERRIDE_OPTIONS): Move additional code ...
11029         * config/m68k/m68k.c (override_options): ... here.
11030         * config/m68k/m68kelf.h (OVERRIDE_OPTIONS): Remove.
11031         * config/m68k/m68kv4.h (OVERRIDE_OPTIONS): Remove.
11032         * config/m68k/linux.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11033         * config/m68k/netbsd-elf.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
11034
11035 2002-10-03  Richard Henderson  <rth@redhat.com>
11036
11037         * real.h (struct real_value): Use ENUM_BITFIELD.
11038
11039 2002-10-03  Richard Henderson  <rth@redhat.com>
11040
11041         * config/i960/i960.md (call, call_value): Use emit_call_insn.
11042
11043 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11044
11045         * config/pa/pa64-hpux.h (INIT_ENVIRONMENT): New.
11046
11047 2002-10-03  Steve Ellcey  <sje@cup.hp.com>
11048
11049         * config.gcc (hppa*64*-*-hpux11*): Check gnu_ld.
11050         * config/pa/pa.h (MASK_GNU_LD): New.
11051         (TARGET_GNU_LD): New.
11052         * config/pa/pa64-hpux.h (LINK_SPEC): Set based
11053         on gnu-ld and MASK_GNU_LD.
11054         (SUBTARGET_SWITCHES): New gnu-ld & hp-ld flags.
11055
11056 Thu Oct  3 23:35:51 CEST 2002  Jan Hubicka  <jh@suse.cz>
11057
11058         * i386.c (athlon_cost): Fix the move costs.
11059
11060 Thu Oct  3 23:20:58 CEST 2002  Jan Hubicka  <jh@suse.cz>
11061
11062         * final.c (final): Use symbol name as function name for profiling.
11063         * profile.c (get_exec_counts): Likewise.
11064         (branch_prob): Likewise.
11065
11066 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11067
11068         * longlong.h (__udiv_qrnnd): Remove PARAMS from prototype.
11069
11070 2002-10-03  Jakub Jelinek  <jakub@redhat.com>
11071
11072         * gcc.c (print_multi_os_directory): New variable.
11073         (option_map): Support --print-multi-os-directory.
11074         (struct prefix_list): Add os_multilib field.
11075         (multilib_os_dir): New variable.
11076         (static_specs): Add multilib_options.
11077         (find_a_file): Add multilib argument.  Search in GCC or OS multilib
11078         subdirs if nonzero.
11079         (read_specs, execute): Update callers.
11080         (find_file): Likewise.  Don't prefix name with multilib_dir, instead
11081         pass 1 as multilib option.
11082         (display_help): Include --print-multi-os-directory.
11083         (add_prefix): Add os_multilib argument.  Initialize pl->os_multilib.
11084         (process_command): Update callers.  Handle --print-multi-os-directory.
11085         (do_spec_1) ['D']: Use multilib_os_directory if pl->os_multilib is
11086         set.
11087         (main): Update find_a_file and add_prefix callers.
11088         Handle print_multi_os_directory.
11089         (struct mdswitchstr): New.
11090         (mdswitches, n_mdswitches): New variables.
11091         (used_arg): Add MULTILIB_DEFAULT switches too if they are not
11092         present on the command line nor their mutually incompatible
11093         switches.
11094         (default_arg): Optimize.
11095         (set_multilib_dir): Compute multilib_os_dir.  Initialize mdswitches
11096         array.
11097         (print_multilib_info): Only print GCC multilib dir name, not OS
11098         multilib dirname.
11099         * genmultilib: Add osdirnames parameter.  Output multilib_options
11100         variable.  If osdirnames is specified, output dirnames as
11101         dirname:osdirname.
11102         * mklibgcc.in: Use MULTILIB_OSDIRNAMES, --print-multi-directory
11103         and --print-multi-os-directory instead of SHLIB_SLIBDIR_SUFFIXES
11104         to compute libgcc_s soname and install path.
11105         * Makefile.in (libgcc.mk): Pass MULTILIB_OSDIRNAMES instead of
11106         SHLIB_SLIBDIR_SUFFIXES to mklibgcc.
11107         (s_mlib): Pass MULTILIB_OSDIRNAMES or nothing as last genmultilib
11108         argument.
11109
11110         * config/sparc/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11111         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11112         * config/sparc/linux64.h (STARTFILE_SPEC32, STARTFILE_SPEC64,
11113         ENDFILE_SPEC32, ENDFILE_SPEC64, ENDFILE_COMMON): Remove.
11114         (STARTFILE_SPEC, ENDFILE_SPEC): Don't distinguish between -m32
11115         and -m64.
11116         * config/sparc/t-sol2-64 (MULTILIB_OSDIRNAMES): Set.
11117         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11118         * config/sparc/sol2-bi.h (STARTFILE_ARCH64_SPEC): Remove.
11119         (STARTFILE_ARCH_SPEC): Remove.
11120         * config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Set.
11121         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11122         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Remove.
11123         * config/mips/t-iris6 (MULTILIB_OSDIRNAMES): Set.
11124         (SHLIB_SLIBDIR_SUFFIXES): Remove.
11125
11126 Thu Oct  3 21:42:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
11127
11128         * predict.c (choose_function_section): Avoid choice for linkonce functions.
11129
11130 Thu Oct  3 15:15:00 CEST 2002  Jan Hubicka  <jh@suse.cz>
11131
11132         * i386.md (lea to mul peep2): Fix condition.
11133
11134 2002-10-02  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11135
11136         * pa-linux.h (FUNCTION_OK_FOR_SIBCALL): Delete macro.
11137         * pa32-linux.h (FUNCTION_OK_FOR_SIBCALL): Define.
11138
11139 2002-10-02  David Mosberger-Tang  <David.Mosberger@acm.org>
11140
11141         * unwind.h (_Unwind_GetTextRelBase): Mark _C argument with
11142         attribute "unused".
11143
11144         * config/t-libunwind: Mention unwind-sjlj.c.
11145         * unwind-libunwind.c: Change #ifdef __USING_LIBUNWIND_EXCEPTIONS__
11146         to #ifndef __USING_SJLJ_EXCEPTIONS__.
11147
11148         * configure.in: Move sjlj-exceptions and --enable-libunwind-exceptions
11149         before inclusion of config.gcc, but after configuring the compiler etc.
11150         Determine default value for --enable-libunwind-exceptions based on
11151         whether the host has a libunwind library (not guaranteed to be correct,
11152         but it's a reasonable first guess and can always be overridden with an
11153         explicit --enable/disable-libunwind-exceptions.
11154         * config.gcc: For target ia64*-*-linux*, mention t-libunwind as a
11155         tmake_file when $use_libunwind_exceptions is enabled.
11156         * Makefile.in: Update comment: LIB2ADDEH is updated not just by
11157         ia64 (e.g., config/t-linux also updates it).
11158         * gcc.c (init_spec) [USE_LIBUNWIND_EXCEPTIONS]: Mention -lunwind
11159         along with the shared version of libgcc since the latter requires
11160         the former.
11161         * unwind-libunwind.c: New file.
11162         * config/t-libunwind: Ditto.
11163
11164 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11165
11166         * config.gcc: Remove support for vax-*-vms*.
11167         * config/vax/vms.h: Remove.
11168         * config/vax/xm-vms.h: Remove.
11169         * config/vax/vax-protos.h: Remove VMS-specific code.
11170         * config/vax/vax.c: Remove VMS-specific code.
11171
11172 2002-10-02  Richard Henderson  <rth@redhat.com>
11173
11174         PR opt/7124
11175         * config/i386/i386.c (ix86_register_move_cost): Increase cost
11176         for secondary_memory_needed pairs.
11177
11178 2002-10-02  Nathanael Nerode  <neroden@gcc.gnu.org>
11179
11180         * doc/vms.texi: Blow away false include file section.
11181
11182 2002-10-02  Roger Sayle  <roger@eyesopen.com>
11183
11184         PR optimization/6627
11185         * toplev.c (force_align_functions_log): New global variable.
11186         * flags.h (force_align_functions_log): Add extern prototype.
11187         * varasm.c (assemble_start_function): Use it to force minimum
11188         function alignment.
11189         * config/i386/i386.h (FUNCTION_BOUNDARY): Set the correct
11190         minimum function alignment to one byte.
11191         (TARGET_PTRMEMFUNC_VBIT_LOCATION): Store the virtual bit in
11192         the least significant bit of vtable member function pointers.
11193         * tree.h (enum ptrmemfunc_vbit_where_t): Move definition to
11194         here from cp/cp-tree.h.
11195
11196 Wed Oct  2 17:01:36 CEST 2002  Jan Hubicka  <jh@suse.cz>
11197
11198         * i386.c (print_operand_address): Use RIP addressing for offsetted
11199         label refs too.
11200
11201 2002-09-30  David S. Miller  <davem@redhat.com>
11202
11203         PR middle-end/7151
11204         * config/sparc/sparc.md (movdi_insn_sp32_v9): Accept 'e' regs.
11205         (movdi reg/reg split): Match only on sparc32, and v9 when int regs.
11206
11207 2002-10-01  Andreas Bauer  <baueran@in.tum.de>
11208
11209         * calls.c (expand_call): Remove the `no indirect check'
11210         for sibcall optimization; use function_ok_for_sibcall
11211         target hook; refine check for `function is volatile'.
11212         (FUNCTION_OK_FOR_SIBCALL): Remove the redefinition.
11213         * hooks.c (hook_tree_tree_bool_false): New.
11214         * hooks.h (hook_tree_tree_bool_false): Declare.
11215         * target-def.h (TARGET_FUNCTION_OK_FOR_SIBCALL): New.
11216         (TARGET_INITIALIZER): Add it.
11217         * target.h (struct gcc_target): Add function_ok_for_sibcall.
11218         * config/alpha/alpha.c: (alpha_function_ok_for_sibcall): New.
11219         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11220         * config/alpha/alpha.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11221         * config/arm/arm-protos.h: (arm_function_ok_for_sibcall):
11222         Remove function declaration.
11223         * config/arm/arm.c: (arm_function_ok_for_sibcall): Make
11224         function static and accept another argument of type `tree'.
11225         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11226         * config/arm/arm.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11227         * config/frv/frv.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11228         * config/i386/i386.c: (ix86_function_ok_for_sibcall): New.
11229         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11230         * config/i386/i386.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11231         * config/pa/pa-linux.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11232         (TARGET_HAS_STUBS_AND_ELF_SECTIONS): New definition.
11233         * config/pa/pa.c: (pa_function_ok_for_sibcall): New.
11234         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11235         * config/pa/pa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11236         * config/rs6000/rs6000-protos.h: (function_ok_for_sibcall):
11237         Remove function declaration.
11238         * config/rs6000/rs6000.c: (rs6000_function_ok_for_sibcall):
11239         Rename function_ok_for_sibcall to rs6000_function_ok_for_sibcall;
11240         rename first argument to `decl'; accept another argument
11241         of type `tree'; make static.
11242         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11243         * config/rs6000/rs6000.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11244         * config/sh/sh.c: (sh_function_ok_for_sibcall): New.
11245         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11246         * config/sh/sh.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11247         * config/sparc/sparc.c: (sparc_function_ok_for_sibcall): New.
11248         (TARGET_FUNCTION_OK_FOR_SIBCALL): Redefine accordingly.
11249         * config/sparc/sparc.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11250         * config/xtensa/xtensa.h: (FUNCTION_OK_FOR_SIBCALL): Remove.
11251
11252 2002-10-01  Roger Sayle  <roger@eyesopen.com>
11253
11254         * unroll.c (loop_iterations): Revert 2002-09-08 change.
11255
11256 2002-10-01  Richard Henderson  <rth@redhat.com>
11257
11258         * real.c (real_to_decimal): Crop trailing zeros for DIGITS < 0.
11259         (real_to_hexadecimal): Likewise.
11260         * print-rtl.c (print_rtx): If we are linked with real.c, don't
11261         dump the XWINT fields of a floating point CONST_DOUBLE.
11262
11263 2002-10-01  Jason Thorpe  <thorpej@wasabisystems.com>
11264
11265         * config/vax/elf.h (FUNCTION_PROFILER): Fix __mcount call.
11266
11267 2002-10-01  Richard Henderson  <rth@redhat.com>
11268
11269         * calls.c (precompute_register_parameters): Force non-legitimate
11270         constants into pseudos.
11271
11272 2002-10-01  Nick Clifton  <nickc@redhat.com>
11273
11274         * config/rs6000/spe.md (spe_evrlwi): Add missing third operand
11275         to assembler template.
11276
11277 2002-10-01  Richard Henderson  <rth@redhat.com>
11278
11279         * dwarf2out.c (loc_descriptor_from_tree): Relax requirement
11280         for TLS debug info to !DECL_EXTERNAL.
11281
11282 2002-10-01  Matt Thomas  <matt@3am-software.com>
11283             Jason Thorpe  <thorpej@wasabisystems.com>
11284
11285         * config.gcc (vax-*-netbsdelf*): Enable configuration.
11286         * config/elfos.h (PCC_BITFIELD_TYPE_MATTERS): Define only
11287         if not already defined.
11288         * config/vax/elf.h: New file.
11289         * config/vax/netbsd-elf.h: New file.
11290         * config/vax/vax.c: Include "debug.h".
11291         (vax_output_function_prologue): Add dwarf2 support.  Use
11292         MAIN_NAME_P when checking for VMS_TARGET stack adjust.
11293         * config/vax/vax.h (CONST_OK_FOR_LETTER_P): Add cases for
11294         'J' [0..63], 'K' [-128..127], 'L' [-32768..32767],
11295         'M' [0..255], 'N' [0..65535], and, 'O' [-63..-1].
11296         (VAX_ISTREAM_SYNC): Remove.
11297         (INITIALIZE_TRAMPOLINE): Use gen_sync_istream.
11298         (JUMP_TABLES_IN_TEXT_SECTION): Define.
11299         (ASM_OUTPUT_REG_POP): Use reg_names for the stack pointer.
11300         (ASM_OUTPUT_ADDR_VEC_ELT): Use ASM_GENERATE_INTERNAL_LABEL
11301         and assemble_name.
11302         (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
11303         (PRINT_OPERAND_PUNCT_VALID_P): Accept '|'.
11304         (PRINT_OPERAND): Output REGISTER_PREFIX for '|'.
11305         (INCOMING_RETURN_ADDR_RTX): Define.
11306         * config/vax/vax.md (VUNSPEC_BLOCKAGE)
11307         (VUNSPEC_SYNC_ISTREAM): Define.
11308         (blockage): Use VUNSPEC_BLOCKAGE.
11309         (sync_istream): New insn.
11310
11311 2002-10-01  Richard Henderson  <rth@redhat.com>
11312
11313         * config/vax/vax.md (call_pop, *call_pop, call_value_pop)
11314         (*call_value_pop, call, call_value): Add dwarf2 EH support.
11315         (*call): New insn.
11316
11317 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11318
11319         PR c/8083
11320         * c-typeck.c (build_c_cast): Warn about type punning which breaks
11321         type based aliasing.
11322
11323 2002-10-01  Mark Mitchell  <mark@codesourcery.com>
11324
11325         * stor-layout.c (update_alignment_for_field): New function.
11326         (place_union_field): Use it.
11327         (place_field): Likewise.
11328
11329 2002-10-01  Nathan Sidwell  <nathan@codesourcery.com>
11330
11331         PR other/8077
11332         * gcc.c (cc1_options): Add space on -auxbase-strip.
11333
11334 2002-10-01  Jim Wilson  <wilson@redhat.com>
11335
11336         * config/v850/v850.h (EPILOGUE_USES): Define.
11337
11338 2002-09-30  Andrew Haley  <aph@redhat.com>
11339
11340         * flow.c (insn_dead_p): When using non-call-exceptions, don't
11341         eliminate insns that may trap.
11342         * cse.c (insn_live_p): Likewise.
11343
11344 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11345
11346         * config/mips/mips.h (PROCESSOR_R4121): Rename to PROCESSOR_R4120.
11347         (TARGET_MIPS4121): Rename to TARGET_MIPS4120.
11348         * config/mips/mips.c (mips_cpu_info): Rename vr4121 to vr4120.
11349         * config/mips/mips.md: Apply same renaming here.
11350
11351 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11352
11353         * config/mips/mips.c (PROCESSOR_R4320, TARGET_MIPS4320): Remove.
11354         (GENERATE_MULT3_SI): Remove use of TARGET_MIPS4320.
11355         * config/mips/mips.c (mips_cpu_info): Remove vr4320 entry.
11356         * config/mips/mips.md (define_attr cpu): Remove r4320.
11357         Remove vr4320 scheduler and uses of TARGET_MIPS4320.
11358
11359 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11360
11361         * config/mips/mips.c (mips16_strings): New variable.
11362         (mips_output_function_epilogue): Clear the SYMBOL_REF_FLAG of every
11363         symbol in mips16_strings.  Free the list.
11364         (mips_encode_section_info): Keep track of local strings.
11365
11366 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11367
11368         * config/mips/mips.md (bunge, bltgt, bungt): New define_expands.
11369         (sordered_df, sordered_sf): Remove.
11370         * config/mips/mips.c (get_float_compare_codes): New fn.
11371         (gen_int_relational, gen_conditional_move): Use it.
11372
11373 2002-10-01  Richard Sandiford  <rsandifo@redhat.com>
11374
11375         * config/mips/mips-protos.h (mips_emit_fcc_reload): Declare.
11376         * config/mips/mips.h (PREDICATE_CODES): Add fcc_register_operand.
11377         * config/mips/mips.c (fcc_register_operand): New function.
11378         (mips_emit_fcc_reload): New function, extracted from reload_incc.
11379         (override_options): Allow TFmode values in float registers
11380         if ISA_HAS_8CC.
11381         * cnfig/mips/mips.md (reload_incc): Change destination prediate
11382         to fcc_register_operand.  Remove misleading source constraint.
11383         Use mips_emit_fcc_reload.
11384         (reload_outcc): Duplicate reload_incc.
11385
11386 2002-09-30  Zack Weinberg  <zack@codesourcery.com>
11387
11388         * gcc.c (validate_switches): Handle all new forms of spec
11389         syntax introduced recently.  Now returns a char *.
11390         (validate_all_switches): Repetitive logic broken out to...
11391         (validate_switches_from_spec): ...here.
11392         * mklibgcc.in: Don't @-flag commands to generate .oS files.
11393
11394 2002-09-30  Ulrich Weigand  <uweigand@de.ibm.com>
11395
11396         * longlong.h: Partially synchronize with GMP-4.1 version:
11397         Use i370 definitions also for s390.
11398         Add generic definition of umul_ppmm in terms of smul_ppmm.
11399         [s390] (umul_ppmm): Remove.
11400         [s390] (smul_ppmm): Fix incorrect assembler constraints.
11401         [s390] (smul_ppmm, sdiv_qrnnd): Rename __xx to __x.
11402
11403 2002-09-30  Bob Wilson  <bob.wilson@acm.org>
11404
11405         * config/xtensa/xtensa.h (REG_CLASS_NAMES, REG_CLASS_CONTENTS):
11406         Add new RL_REGS register class.
11407         (PREFERRED_RELOAD_CLASS, PREFERRED_OUTPUT_RELOAD_CLASS):
11408         Call xtensa_preferred_reload_class for both input and output reloads.
11409         * config/xtensa/xtensa.c (xtensa_regno_to_class): Use new RL_REGS class.
11410         (xtensa_preferred_reload_class): Handle output reloads; use RL_REGS
11411         instead of either AR_REGS or GR_REGS classes.
11412         (xtensa_secondary_reload_class): Use new RL_REGS class.
11413         * config/xtensa/xtensa-protos.h (xtensa_preferred_reload_class): Update.
11414
11415 2002-09-30  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11416
11417         * pa.c (hppa_encode_label): Don't drop '*' from function labels.
11418         (pa_strip_name_encoding): Strip '@' and '*', in that order.
11419         * pa.h (ASM_OUTPUT_LABELREF): Output user_label_prefix except when
11420         there is a '*' prefix in NAME.
11421
11422 Mon Sep 30 21:33:23 CEST 2002  Jan Hubicka  <jh@suse.cz>
11423
11424         * reload.c (push_reload): Handle subregs and secondary memory.
11425         * reload1.c (gen_reload): Likewise.
11426
11427         * jump.c (reg_or_subregno): New function.
11428         * rtl.h (reg_or_subregno): Declare
11429         * unroll.c (find_splittable_givs): Handle subregs.
11430
11431 2002-09-30  Mark Mitchell  <mark@codesourcery.com>
11432
11433         * store-layout.c (finish_record_layout): Add free_p parameter.
11434         (layout_type): Pass it.
11435         * tree.h (finish_record_layout): Update prototype.
11436
11437 Mon Sep 30 14:57:18 CEST 2002  Jan Hubicka  <jh@suse.cz>
11438
11439         * i386.h (TARGET_CPP_CPU_BUILTINS): Define __SSE_MATH__.
11440
11441         * gcse.c (cprop_jump): Check that the register has not
11442         been modified
11443         (cprop_jump): Likewise.
11444
11445 2002-09-30  Richard Earnshaw  <rearnsha@arm.com>
11446
11447         * arm.h (BASE_REG_CLASS): Always return LO_REGS for Thumb.
11448         (MODE_BASE_REG_CLASS, case Thumb): Only return BASE_REGS if we know
11449         that we have a SImode access, and only then if reload hasn't completed;
11450         for all other cases, use LO_REGS.
11451
11452 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11453
11454         * openbsd.h: Fix typo in last change.
11455
11456 2002-09-29  Richard Henderson  <rth@redhat.com>
11457
11458         * real.c (real_from_string): Apply sign last.  Tidy exponent handling.
11459
11460 2002-09-29  Richard Henderson  <rth@redhat.com>
11461
11462         PR c/8002
11463         * combine.c (force_to_mode): Handle FLOAT_MODE destinations
11464         for CONST_INT.
11465
11466 2002-09-29  David Edelsohn  <edelsohn@gnu.org>
11467
11468         * real.h (ibm_extended_format): Declare.
11469         * real.c (encode_ibm_extended, decode_ibm_extended): New
11470         functions.
11471
11472 2002-09-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11473
11474         * darwin-protos.h (darwin_asm_output_dwarf_delta): Prototype.
11475
11476         * ia64.c (ia64_hpux_asm_file_end): Const-ify.
11477
11478 2002-09-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11479
11480         * expmed.c (extract_bit_field): Fix bit-field extraction from SUBREGs.
11481
11482 2002-09-29  Kazu Hirata  <kazu@cs.umass.edu>
11483
11484         * builtins.def: Fix comment formatting.
11485         * c-common.def: Likewise.
11486         * cfgcleanup.c: Likewise.
11487         * combine.c: Likewise.
11488         * gengtype.c: Likewise.
11489         * params.def: Likewise.
11490         * predict.def: Likewise.
11491         * rtl.def: Likewise.
11492         * stab.def: Likewise.
11493         * stor-layout.c: Likewise.
11494         * tree.def: Likewise.
11495         * config/darwin.c: Likewise.
11496         * config/darwin.h: Likewise.
11497         * config/dbxcoff.h: Likewise.
11498         * config/elfos.h: Likewise.
11499         * config/fp-bit.c: Likewise.
11500         * config/freebsd-spec.h: Likewise.
11501         * config/interix.h: Likewise.
11502         * config/libgloss.h: Likewise.
11503         * config/linux-aout.h: Likewise.
11504         * config/linux.h: Likewise.
11505         * config/lynx-ng.h: Likewise.
11506         * config/lynx.h: Likewise.
11507         * config/netbsd-aout.h: Likewise.
11508         * config/netbsd.h: Likewise.
11509         * config/netware.h: Likewise.
11510         * config/psos.h: Likewise.
11511         * config/ptx4.h: Likewise.
11512
11513 2002-09-28  Kazu Hirata  <kazu@cs.umass.edu>
11514
11515         * ChangeLog.4: Fix typos.
11516         * ChangeLog.6: Likewise.
11517         * FSFChangeLog.10: Likewise.
11518         * genattrtab.c: Fix comment typos.
11519         * haifa-sched.c: Likewise.
11520         * real.c: Likewise.
11521         * tree.h: Likewise.
11522         * config/arm/arm.c: Likewise.
11523         * config/arm/crti.asm: Likewise.
11524         * config/arm/crtn.asm: Likewise.
11525         * config/frv/frv.c: Likewise.
11526         * config/frv/frv.md: Likewise.
11527         * config/h8300/h8300.md: Likewise.
11528         * config/i386/rtemself.h: Likewise.
11529         * config/ia64/unwind-ia64.c: Likewise.
11530         * config/ip2k/ip2k.h: Likewise.
11531         * config/m88k/m88k.c: Likewise.
11532         * config/m88k/m88k.md: Likewise.
11533         * config/mips/sr71k.md: Likewise.
11534         * config/mmix/mmix.c: Likewise.
11535         * config/rs6000/rs6000.c: Likewise.
11536         * config/sh/sh.md: Likewise.
11537
11538 2002-09-26  Theodore A. Roth  <troth@verinet.com>
11539
11540         * config/avr/avr.c: Eliminate use of _PC_ in pc relative insns.
11541         * config/avr/avr.md: Ditto.
11542
11543 2002-09-27  Alexander N. Kabaev <ak03@gte.com>
11544
11545         PR preprocessor/8055
11546         * cppmacro.c (stringify_arg): Do not overflow the buffer
11547         with the terminating NUL when the argument to be stringified
11548         has no tokens.
11549
11550 2002-09-27  Richard Henderson  <rth@redhat.com>
11551
11552         * unroll.c (simplify_cmp_and_jump_insns): New.
11553         (unroll_loop): Use it.  Use simplify_gen_foo+force_operand
11554         instead of expand_simple_foo.
11555
11556 2002-09-27  Richard Henderson  <rth@redhat.com>
11557
11558         PR optimization/7520
11559         * cfganal.c (flow_active_insn_p): New.
11560         (forwarder_block_p): Use it.
11561
11562 2002-09-27  Richard Henderson  <rth@redhat.com>
11563
11564         * emit-rtl.c (active_insn_p): Revert last change.
11565
11566 2002-09-27  Jakub Jelinek  <jakub@redhat.com>
11567
11568         * doc/extend.texi (tls_model): Document.
11569         * varasm.c (decl_tls_model): New.
11570         * c-common.c (handle_tls_model_attribute): New.
11571         (c_common_attribute_table): Add tls_model.
11572         * config/alpha/alpha.c (alpha_encode_section_info): Use
11573         decl_tls_model.
11574         * flags.h (enum tls_model, flag_tls_default): Move...
11575         * tree.h (enum tls_model, flag_tls_default): ...here.
11576         (decl_tls_model): New prototype.
11577         * config/ia64/ia64.c (ia64_encode_section_info): Likewise.
11578         * config/i386/i386.c (ix86_encode_section_info): Likewise.
11579         * config/i386/i386.md (tls_global_dynamic, tls_local_dynamic_base):
11580         Allow !flag_pic.
11581
11582 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
11583
11584         * LANGUAGES: Follow spelling conventions.
11585         * rtl.def: Likewise.
11586         * sbitmap.c: Likewise.
11587         * sched-int.h: Likewise.
11588         * sched-rgn.c: Likewise.
11589         * sibcall.c: Likewise.
11590         * simplify-rtx.c: Likewise.
11591         * ssa.c: Likewise.
11592         * stab.def: Likewise.
11593         * stmt.c: Likewise.
11594         * stor-layout.c: Likewise.
11595         * target.h: Likewise.
11596         * timevar.c: Likewise.
11597         * toplev.c: Likewise.
11598         * tree-dump.c: Likewise.
11599         * tree-inline.c: Likewise.
11600         * tree.c: Likewise.
11601         * tree.def: Likewise.
11602         * tree.h: Likewise.
11603         * unroll.c: Likewise.
11604         * varasm.c: Likewise.
11605         * vmsdbgout.c: Likewise.
11606         * treelang/treelang.texi: Likewise.
11607         * treelang/treetree.c: Likewise.
11608
11609 2002-09-27  Kazu Hirata  <kazu@cs.umass.edu>
11610
11611         * config/h8300/h8300.c (compute_saved_regs): Use a macro
11612         instead of a hard register number.
11613         (get_shift_alg): Use an enumerated type instead of numbers.
11614         (h8300_shift_needs_scratch_p): Likewise.
11615
11616 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11617
11618         * varasm.c (force_data_section): Remove.
11619         (assemble_constant_align): Likewise.
11620         * output.h: Remove corresponding prototypes.
11621
11622 2002-09-26  Roger Sayle  <roger@eyesopen.com>
11623
11624         * stmt.c (expand_exit_loop_if_false): Expand a simple conditional
11625         jump, if the loop to exit is the top of the current nesting stack.
11626
11627 2002-09-26  Torbjorn Granlund  <tege@swox.com>
11628
11629         * libgcc2.c (fixunsdfdi, fixunssfdi): Rewrite, avoiding `long long'
11630         arithmetic.
11631
11632 2002-09-26  David S. Miller  <davem@redhat.com>
11633
11634         PR optimization/7335
11635         * calls.c (emit_library_call_value_1): Passing args by reference
11636         converts a CONST function into a PURE one.
11637
11638 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
11639
11640         * dbxout.c (FORCE_TEXT): Switch to current_function_decl, not
11641         text_section.
11642         * xcoffout.h (DBX_STATIC_BLOCK_START): Remove explicit change to
11643         text section.
11644         * config/rs6000/rs6000.c (rs6000_override_options): Allow
11645         function-sections and data-sections functionality on AIX.
11646
11647 2002-09-26  David Edelsohn  <edelsohn@gnu.org>
11648             Dale Johannesen  <dalej@apple.com>
11649
11650         * config/rs6000/rs6000.c (rs6000_emit_move): Insert zero-extend
11651         in RTL for sub-word loads from memory.
11652
11653 2002-09-26  Richard Henderson  <rth@redhat.com>
11654
11655         PR c/7160
11656         * sched-deps.c (sched_analyze_insn): Make clobber insns depend
11657         on call insns.
11658
11659 2002-09-26  Richard Henderson  <rth@redhat.com>
11660
11661         * emit-rtl.c (const_double_htab_eq): Remove unused variable.
11662
11663 2002-09-26  Chris Lattner  <sabre@nondot.org>
11664
11665         * ssa.c (rename_insn_1): Handle RENAME_NO_RTX correctly when
11666         handling undefined values.
11667
11668 2002-09-26  Richard Henderson  <rth@redhat.com>
11669
11670         PR opt/7520
11671         * emit-rtl.c (active_insn_p): Consider a clobber of the
11672         function return value to be active even after reload.
11673
11674 2002-09-27  Alan Modra  <amodra@bigpond.net.au>
11675
11676         * doloop.c (doloop_modify_runtime <biv skips initial incr>): Adjust
11677         by absolute loop increment, not loop increment.
11678
11679 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11680
11681         * c-common.h: Follow spelling conventions.
11682         * cpplex.c: Likewise.
11683         * cpplib.h: Likewise.
11684         * gthr-dce.h: Likewise.
11685         * gthr-posix.h: Likewise.
11686         * optabs.c: Likewise.
11687         * output.h: Likewise.
11688         * profile.c: Likewise.
11689         * protoize.c: Likewise.
11690         * ra-rewrite.c: Likewise.
11691         * real.c: Likewise.
11692         * recog.c: Likewise.
11693         * reg-stack.c: Likewise.
11694         * regclass.c: Likewise.
11695         * regmove.c: Likewise.
11696         * reload.c: Likewise.
11697         * reload.h: Likewise.
11698         * reload1.c: Likewise.
11699         * reorg.c: Likewise.
11700         * resource.c: Likewise.
11701         * rtl.h: Likewise.
11702         * rtlanal.c: Likewise.
11703
11704 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11705
11706         * config/ia64/ia64.c (ia64_expand_load_address): Ensure correct mode
11707         for symbol address.
11708
11709 2002-09-24  Eric Christopher  <echristo@redhat.com>
11710
11711         * config/mips/elf.h: Add HANDLE_SYSV_PRAGMA.
11712         * config/mips/elf64.h: Ditto.
11713
11714 2002-09-24  Eric Christopher  <echristo@redhat.com>
11715
11716         * except.c (expand_builtin_extract_return_address): Handle case
11717         where Pmode != ptr_mode.
11718
11719 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11720
11721         * config/ia64/hpux.h (ASM_OUTPUT_EXTERNAL_LIBCALL): New
11722
11723 2002-09-26  Steve Ellcey  <sje@cup.hp.com>
11724
11725         * config/ia64/hpux.h (TARGET_DEFAULT): Include TARGET_ILP32.
11726
11727 2002-09-26  Igor Shevlyakov <igor@microunity.com>
11728
11729         * combine.c (simplify_set): Don't call to force_to_mode if size
11730         of integer type is larger than HOST_BITS_PER_WIDE_INT.
11731
11732 2002-09-26  Janis Johnson  <janis187@us.ibm.com>
11733
11734         * Makefile.in (qmtest-g++): Fix file path.
11735
11736 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11737
11738         * expr.c (expand_expr) [MINUS_EXPR]: Convert A - const to
11739         A + (-const) on RTX level, even for unsigned types.
11740
11741 2002-09-26  Ulrich Weigand  <uweigand@de.ibm.com>
11742
11743         * reload.c (dup_replacements): New function.
11744         (find_reloads): Use it to duplicate replacements at the top level
11745         of match_dup operands.
11746
11747 2002-09-26  Miles Bader  <miles@gnu.org>
11748
11749         * v850.md ("length"): Change default value to 4.
11750
11751 2002-09-26  Kazu Hirata  <kazu@cs.umass.edu>
11752
11753         * ChangeLog.1: Follow spelling conventions.
11754         * ChangeLog.4: Likewise.
11755         * ChangeLog.6: Likewise.
11756         * FSFChangeLog.11: Likewise.
11757         * doc/cpp.texi: Likewise.
11758         * doc/invoke.texi: Likewise.
11759         * doc/tm.texi: Likewise.
11760
11761 2002-09-26  Nick Clifton  <nickc@redhat.com>
11762
11763         * config.gcc: Add x prefix to v850e case for handling
11764         --with-cpu=v850e.
11765
11766 2002-09-25  Zack Weinberg  <zack@codesourcery.com>
11767
11768         * gcc.c (input_suffix_matches, switch_matches,
11769         mark_matching_switches, process_marked_switches,
11770         process_brace_body): New functions - split from handle_braces.
11771         (handle_braces): Rewrite; handle %{S:X;T:Y;:D} syntax; accept
11772         and ignore whitespace in more places.
11773         (specs documentation comment): Document %{S:X;T:Y;:D}.
11774         Clarify other %{...} docs.
11775         * doc/invoke.texi: Document %{S:X;T:Y;:D}.  Clarify other
11776         %{...} docs.
11777
11778         * config/arm/aof.h (LINK_SPEC): Change %{ov*,*} to %{ov*}.
11779         * config/rs6000/sysv4.h: Use N-way choice spec syntax.
11780
11781 2002-09-25  David S. Miller  <davem@redhat.com>
11782
11783         PR target/7842
11784         * config/sparc/sparc.c (set_extends): SImode ASHIFT does not
11785         extend.
11786
11787 2002-09-25  Richard Henderson  <rth@redhat.com>
11788
11789         * emit-rtl.c (const_double_htab_eq): Distinguish integer and
11790         fp CONST_DOUBLE; use real_identical.
11791
11792 2002-09-25  Mark Mitchell  <mark@codesourcery.com>
11793
11794         * doc/invoke.texi: Add more -Wabi examples.
11795
11796 2002-09-25  Richard Sandiford  <rsandifo@redhat.com>
11797
11798         * config/mips/mips.h (TARGET_MIPS4100): Add missing bracket.
11799
11800 2002-09-24  Nathan Sidwell  <nathan@codesourcery.com>
11801
11802         * profile.c (end_branch_prob): Only look for __gcov_init on
11803         weak-enabled native compilers.
11804
11805 2002-09-24  Denis Chertykov  <denisc@overta.ru>
11806
11807         * config/ip2k/ip2k.c (function_epilogue): Fix wrong numbers in
11808         cases of optimizing "add sp,w" to "inc sp".
11809
11810 2002-09-24  Adam Nemet  <anemet@lnxw.com>
11811
11812         * config/arm/arm.c (thumb_unexpanded_epilogue): Don't generate
11813         epilogue for naked functions.
11814
11815 2002-09-24  Adam Nemet  <anemet@lnxw.com>
11816             Nick Clifton  <nickc@redhat.com>
11817
11818         * config/arm/arm.h (THUMB_FUNCTION_PROFILER): Remove.
11819         (FUNCTION_PROFILER): Only invoke THUMB_FUNCTION_PROFILER if it
11820         is defined.
11821
11822 2002-09-24  Ulrich Weigand  <uweigand@de.ibm.com>
11823
11824         * config/s390/s390.c (preferred_la_operand_p): New function.
11825         * config/s390/s390-protos.h (preferred_la_operand_p): Declare it.
11826         * config/s390/s390.md ("addaddr_esame", "*la_ccclobber"): Replace by ...
11827         ("*la_64_cc", "*la_31_cc", splitters): ... these.
11828         ("*la_31"): Deactivate for TARGET_64BIT.
11829         ("*la_31_and", "*la_31_and_cc"): New.
11830
11831 2002-09-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
11832
11833         * real.h (real_value): Make `exp' explicitly signed.
11834
11835 2002-09-24  Kazu Hirata  <kazu@cs.umass.edu>
11836
11837         * config/elfos.h: Follow spelling conventions.
11838         * config/alpha/alpha.h: Likewise.
11839         * config/arc/arc.h: Likewise.
11840         * config/arm/arm.md: Likewise.
11841         * config/avr/avr.h: Likewise.
11842         * config/cris/cris.md: Likewise.
11843         * config/d30v/d30v.h: Likewise.
11844         * config/frv/frv.c: Likewise.
11845         * config/frv/frv.h: Likewise.
11846         * config/h8300/h8300.c: Likewise.
11847         * config/h8300/h8300.h: Likewise.
11848         * config/h8300/h8300.md: Likewise.
11849         * config/i386/cygwin.h: Likewise.
11850         * config/i386/i386.h: Likewise.
11851         * config/i386/sysv3.h: Likewise.
11852         * config/i960/i960.h: Likewise.
11853         * config/ia64/ia64.h: Likewise.
11854         * config/ia64/ia64.md: Likewise.
11855         * config/ip2k/ip2k.h: Likewise.
11856         * config/m32r/m32r.h: Likewise.
11857         * config/m68k/m68k.h: Likewise.
11858         * config/m88k/m88k.h: Likewise.
11859         * config/mcore/mcore.c: Likewise.
11860         * config/mcore/mcore.h: Likewise.
11861         * config/mcore/mcore.md: Likewise.
11862         * config/mips/mips.h: Likewise.
11863         * config/mmix/mmix.h: Likewise.
11864         * config/mmix/mmix.md: Likewise.
11865         * config/ns32k/netbsd.h: Likewise.
11866         * config/ns32k/ns32k.h: Likewise.
11867         * config/ns32k/ns32k.md: Likewise.
11868         * config/pa/pa.h: Likewise.
11869         * config/romp/romp.h: Likewise.
11870         * config/rs6000/rs6000.h: Likewise.
11871         * config/rs6000/rs6000.md: Likewise.
11872         * config/sparc/sparc.h: Likewise.
11873         * config/stormy16/stormy-abi: Likewise.
11874         * config/stormy16/stormy16.h: Likewise.
11875         * config/vax/vax.h: Likewise.
11876
11877 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11878
11879         * config/alpha/alpha.h: Remove commented-out macro
11880         definitions of HAVE_{POST|PRE}_{INC|DEC}REMENT.
11881         * config/avr/avr.h: Likewise.
11882         * config/d30v/d30v.h: Likewise.
11883         * config/dsp16xx/dsp16xx.h: Likewise.
11884         * config/i370/i370.h: Likewise.
11885         * config/i386/i386.h: Likewise.
11886         * config/i960/i960.h: Likewise.
11887         * config/m68k/m68k.h: Likewise.
11888         * config/m88k/m88k.h: Likewise.
11889         * config/mips/mips.h: Likewise.
11890         * config/ns32k/ns32k.h: Likewise.
11891         * config/pdp11/pdp11.h: Likewise.
11892         * config/romp/romp.h: Likewise.
11893         * config/rs6000/rs6000.h: Likewise.
11894         * config/s390/s390.h: Likewise.
11895         * config/sh/sh.h: Likewise.
11896         * config/sparc/sparc.h: Likewise.
11897         * config/stormy16/stormy16.h: Likewise.
11898         * config/vax/vax.h: Likewise.
11899
11900 2002-09-23  Kazu Hirata  <kazu@cs.umass.edu>
11901
11902         * function.c (push_temp_slots_for_block): Remove.
11903         (push_temp_slots_for_target): Likewise.
11904         (get_target_temp_slot_level): Likewise.
11905         (set_target_temp_slot_level): Likewise.
11906         (get_first_block_beg): Likewise.
11907         * function.h: Remove corresponding prototypes.
11908
11909 2002-09-23  Zack Weinberg  <zack@codesourcery.com>
11910
11911         * version.c (version_string): Now const char[].
11912         * version.h: Update to match.
11913
11914 2002-09-23  Richard Henderson  <rth@redhat.com>
11915
11916         * config/i386/i386.h (MASK_ACCUMULATE_OUTGOING_ARGS_SET, MASK_MMX_SET,
11917         MASK_SSE_SET, MASK_SSE2_SET, MASK_3DNOW_SET, MASK_3DNOW_A_SET): Kill.
11918         (TARGET_SWITCHES): Don't reference them.
11919         * config/i386/i386.c (override_options): Use target_flags_explicit
11920         to examine bits set by the user.
11921
11922 2002-09-23  Dale Johannesen  <dalej@apple.com>
11923
11924         * dbxout.c (dbxout_parms):  Set current_sym_code for params
11925         passed on stack by invisible reference.
11926
11927 2002-09-23  Richard Earnshaw  <rearnsha@arm.com>
11928
11929         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Always allocate
11930         at least one byte of space.
11931
11932 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
11933
11934         * c-common.h (flag_abi_version): Fix typo in comment.
11935         * doc/invoke.texi (flag_abi_version): Document default value.
11936
11937 2002-09-23  Hans-Peter Nilsson  <hp@axis.com>
11938
11939         * doc/extend.texi (Extended Asm): Clarify that overlap between
11940         asm-declared register variables used in an asm and the asm clobber
11941         list is not allowed.
11942         * stmt.c (decl_conflicts_with_clobbers_p): New function.
11943         (expand_asm_operands): Keep track of clobbered registers.  Call
11944         decl_conflicts_with_clobbers_p for each input and output operand.
11945         If no conflicts found before, also do conflict sanity check when
11946         emitting clobbers.
11947
11948 2002-09-23  Richard Henderson  <rth@redhat.com>
11949
11950         * c-common.c (cpp_define_data_format): Remove.
11951         (cb_register_builtins): Don't define __WCHAR_BIT__, __SHRT_BIT__,
11952         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
11953         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
11954         * doc/cpp.texi: Don't document them either.
11955         (__SCHAR_MAX__, __SHRT_MAX__, __INT_MAX__, __LONG_MAX__,
11956         __LONG_LONG_MAX__): Document.
11957         (__TARGET_FLOAT_FORMAT__): Remove.
11958
11959 2002-09-23  Richard Henderson  <rth@redhat.com>
11960
11961         * real.c (do_multiply): Normalize U before addition.
11962
11963 2002-09-23  Mark Mitchell  <mark@codesourcery.com>
11964
11965         * c-common.c (flag_abi_version): New variable.
11966         * c-common.h (flag_abi_version): Declare it.
11967         * c-opts.c (missing_arg): Add -fabi-version.
11968         (c_common_decode_option): Process -fabi-version.
11969         * doc/invoke.texi (-fabi-version): Document it.
11970         (-Wabi): Add information about bit-fields in unions.
11971
11972 2002-09-22  Roger Sayle  <roger@eyesopen.com>
11973
11974         * expr.c (STORE_BY_PIECES_P): New target macro.
11975         (can_store_by_pieces, store_by_pieces): Use STORE_BY_PIECES_P
11976         instead of MOVE_BY_PIECES_P.
11977         * doc/tm.texi: Document this new macro.
11978
11979 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
11980
11981         * config/mips/netbsd.h (SUBTARGET_ASM_SPEC): Always pass -KPIC
11982         unless -fno-pic or -fno-PIC is specified.
11983
11984 2002-09-22  John David Anglin  <dave@hiauly1.hia.nrc.ca>
11985
11986         * c-common.c (preprocessing_trad_p): Define.
11987         * pa-hiux.h, pa-hpux.h, pa-hpux7.h (CPP_PREDEFINES): Delete.
11988         (TARGET_OS_CPP_BUILTINS, SUBTARGET_SWITCHES): Define.
11989         * pa-hpux10.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11990         * pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define.
11991         * pa-linux.h (CPP_PREDEFINES): Delete.
11992         (TARGET_OS_CPP_BUILTINS, CPP_SPEC): Define.
11993         * pa32-linux.h, pa64-linux.h (CPP_SPEC): Delete.
11994         * pa-osf.h, pa-pro-end.h, rtems.h (CPP_PREDEFINES): Delete.
11995         (TARGET_OS_CPP_BUILTINS): Define.
11996         * pa.h (MASK_SIO, TARGET_SIO, TARGET_PA_10): Define.
11997         (TARGET_SWITCHES): Reformat.  Use N_() macro.  Add SUBTARGET_SWITCHES.
11998         (SUBTARGET_SWITCHES): Provide default definition.
11999         (TARGET_OPTIONS): Reformat.  Use N_() macro.
12000         (CPP_PA10_SPEC, CPP_PA11_SPEC, CPP_PA20_SPEC, CPP_64BIT_SPEC,
12001         CPP_CPU_DEFAULT_SPEC, CPP_64BIT_DEFAULT_SPEC, SUBTARGET_EXTRA_SPECS,
12002         EXTRA_SPECS, CPP_SPEC, CPLUSPLUS_CPP_SPEC, CPP_PREDEFINES): Delete.
12003         (TARGET_CPU_CPP_BUILTINS): Define.
12004         (TARGET_OS_CPP_BUILTINS): Define for BSD-like systems.
12005         * doc/invoke.texi (msio, mwsio): Document new hppa options.
12006         * doc/tm.texi (TARGET_CPU_CPP_BUILTINS): Document macro
12007         preprocessing_trad_p().
12008
12009 2002-09-22  Jason Thorpe  <thorpej@wasabisystems.com>
12010
12011         * doc/install.texi: Document behavior of --with-headers and
12012         --with-libs when arguments are omitted.
12013
12014 2002-09-22  Kazu Hirata  <kazu@cs.umass.edu>
12015
12016         * dbxout.c: Follow spelling conventions.
12017         * defaults.h: Likewise.
12018         * df.c: Likewise.
12019         * diagnostic.h: Likewise.
12020         * doloop.c: Likewise.
12021         * dwarf2out.c: Likewise.
12022         * dwarfout.c: Likewise.
12023         * emit-rtl.c: Likewise.
12024         * except.c: Likewise.
12025         * explow.c: Likewise.
12026         * expmed.c: Likewise.
12027         * expr.c: Likewise.
12028         * expr.h: Likewise.
12029         * flags.h: Likewise.
12030         * flow.c: Likewise.
12031         * fold-const.c: Likewise.
12032         * function.c: Likewise.
12033         * function.h: Likewise.
12034         * gcc.c: Likewise.
12035         * gcov-io.h: Likewise.
12036         * gcov.c: Likewise.
12037         * gcse.c: Likewise.
12038         * genattrtab.c: Likewise.
12039         * genconfig.c: Likewise.
12040         * genrecog.c: Likewise.
12041         * ggc-page.c: Likewise.
12042         * ggc.h: Likewise.
12043         * global.c: Likewise.
12044         * gthr-win32.h: Likewise.
12045         * integrate.c: Likewise.
12046         * jump.c: Likewise.
12047         * langhooks.c: Likewise.
12048         * langhooks.h: Likewise.
12049         * line-map.h: Likewise.
12050         * local-alloc.c: Likewise.
12051         * longlong.h: Likewise.
12052         * loop.c: Likewise.
12053         * loop.h: Likewise.
12054
12055 Tue Aug 27 22:26:35 CEST 2002  Jan Hubicka  <jh@suse.cz>
12056
12057         * i386.h (BIGGEST_FIELD_ALIGNMENT): Set proper default for x86_64.
12058
12059 Tue Aug 27 20:07:01 CEST 2002  Jan Hubicka  <jh@suse.cz>
12060
12061         * i386.c (overwrite_options): Set -mpreferred-stack-boundary to 128
12062         for -Os/TARGET_64BIT too.
12063
12064 2002-09-21  Kazu Hirata  <kazu@cs.umass.edu>
12065
12066         * ChangeLog: Follow spelling conventions.
12067         * ChangeLog.0: Likewise.
12068         * ChangeLog.1: Likewise.
12069         * ChangeLog.2: Likewise.
12070         * ChangeLog.3: Likewise.
12071         * ChangeLog.4: Likewise.
12072         * ChangeLog.5: Likewise.
12073         * ChangeLog.6: Likewise.
12074         * FSFChangeLog.10: Likewise.
12075         * FSFChangeLog.11: Likewise.
12076         * alias.c: Likewise.
12077         * basic-block.h: Likewise.
12078         * c-aux-info.c: Likewise.
12079         * c-common.c: Likewise.
12080         * c-common.h: Likewise.
12081         * c-decl.c: Likewise.
12082         * c-format.c: Likewise.
12083         * c-semantics.c: Likewise.
12084         * c-typeck.c: Likewise.
12085         * calls.c: Likewise.
12086         * cfganal.c: Likewise.
12087         * cfgloop.c: Likewise.
12088         * collect2.c: Likewise.
12089         * combine.c: Likewise.
12090         * conflict.c: Likewise.
12091         * cppexp.c: Likewise.
12092         * cppfiles.c: Likewise.
12093         * cpphash.h: Likewise.
12094         * cppinit.c: Likewise.
12095         * cpplex.c: Likewise.
12096         * cpplib.c: Likewise.
12097         * cpplib.h: Likewise.
12098         * cppmacro.c: Likewise.
12099         * cse.c: Likewise.
12100
12101 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12102
12103         * netbsd-aout.h (NETBSD_LINK_SPEC_AOUT): New, takes old definition of
12104         LINK_SPEC.
12105         (LINK_SPEC): Define to NETBSD_LINK_SPEC_AOUT.
12106         * arm/netbsd.h (SUBTARGET_EXTRA_SEPCS): Add NETBSD_LINK_SPEC_AOUT.
12107         (LINK_SPEC): Rework to use NETBSD_LINK_SPEC_AOUT).
12108
12109 2002-09-21  Richard Earnshaw  <rearnsha@arm.com>
12110
12111         PR opt/7930
12112         * cse.c (fold_rtx): Calculate old_cost before we fold each
12113         operand.
12114
12115 2002-09-21  Richard Henderson  <rth@redhat.com>
12116
12117         * c-common.c (cpp_define_data_format): Remove __GCC_LITTLE_ENDIAN__,
12118         __GCC_BIG_ENDIAN__, __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
12119         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
12120         __TARGET_USES_VAX_F_FLOAT__, __TARGET_USES_VAX_D_FLOAT__,
12121         __TARGET_USES_VAX_G_FLOAT__, __TARGET_USES_VAX_H_FLOAT__.
12122         * doc/cpp.texi: Don't document them.
12123
12124 2002-09-21  Richard Henderson  <rth@redhat.com>
12125
12126         * c-common.c (builtin_define_float_constants): Use real_format
12127         to get the floating-point parameters.
12128
12129 2002-09-21  Richard Henderson  <rth@redhat.com>
12130
12131         * real.c (struct real_format): Move to real.h.
12132         (real_format_for_mode): Rename from fmt_for_mode; update all users;
12133         initialize with ieee defaults.
12134         (real_to_target_fmt, real_from_target_fmt): New.
12135         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12136         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12137         ieee_quad_format, i370_single_format, i370_double_format,
12138         c4x_single_format, c4x_extended_format): Rename from s/_format//.
12139         (ieee_quad_format): Fix emin.
12140         (format_for_size, init_real_once): Remove.
12141         * real.h (struct real_format): Move from real.c.
12142         (real_format_for_mode): Declare.
12143         (real_to_target_fmt, real_from_target_fmt): Declare.
12144         (ieee_single_format, ieee_double_format, ieee_extended_motorola_format,
12145         ieee_extended_intel_96_format, ieee_extended_intel_128_format,
12146         ieee_quad_format, vax_f_format, vax_d_format, vax_g_format,
12147         i370_single_format, i370_double_format, c4x_single_format,
12148         c4x_extended_format): Declare.
12149         * toplev.c (do_compile): Don't call init_real_once.
12150
12151         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12152         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12153
12154         * config/alpha/alpha.h (TARGET_FLOAT_FORMAT): Define.
12155         * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): 64, if vax mode.
12156         * config/alpha/alpha.c (override_options): Set real_format_for_mode
12157         for VAX, if enabled.
12158
12159         * config/c4x/c4x.c (c4x_override_options): Set real_format_for_mode
12160         for C4X.
12161
12162         * config/i370/i370.h (OVERRIDE_OPTIONS): New.
12163         * config/i370/i370.c (override_options): New.
12164         * config/i370/i370-protos.h: Update.
12165
12166         * config/i386/i386.c (override_options): Set real_format_for_mode
12167         for Intel 80-bit extended.
12168         * config/i386/i386.h (INTEL_EXTENDED_IEEE_FORMAT): Remove.
12169
12170         * config/i960/i960.h (LONG_DOUBLE_TYPE_SIZE): Mind -mlong-double-64.
12171         (OVERRIDE_OPTIONS): Move code...
12172         * config/i960/i960.c (i960_initialize): ... here.  Set
12173         real_format_for_mode for Intel 80-bit extended.
12174
12175         * config/ia64/ia64.c (ia64_override_options): Set real_format_for_mode
12176         for Intel 80-bit extended, if enabled.
12177
12178         * config/m68k/m68k.c (override_options): Set real_format_for_mode
12179         for Motorola 96-bit extended.
12180
12181         * config/vax/vax.h (OVERRIDE_OPTIONS): New.
12182         * config/vax/vax.c (override_options): New.
12183         * config/vax/vax-protos.h: Update.
12184
12185 2002-09-21  Alan Modra  <amodra@bigpond.net.au>
12186
12187         * config/rs6000/rs6000.md (builtin_setjmp_receiver): Add
12188         #if TARGET_MACHO.
12189
12190         * config/rs6000/rs6000.md (floatdisf2_internal2): Combine
12191         insns.  Supply missing clobber of scratch reg.
12192
12193 2002-09-20  Kazu Hirata  <kazu@cs.umass.edu>
12194
12195         * config/m32r/m32r.c: Follow spelling conventions.
12196         * config/m32r/m32r.h: Likewise.
12197         * config/m32r/m32r.md: Likewise.
12198         * config/m68k/m68k.c: Likewise.
12199         * config/m88k/m88k.c: Likewise.
12200         * config/mcore/mcore.c: Likewise.
12201         * config/mips/mips.c: Likewise.
12202         * config/mips/mips.h: Likewise.
12203         * config/mmix/mmix.c: Likewise.
12204         * config/mn10200/mn10200.c: Likewise.
12205         * config/ns32k/ns32k.h: Likewise.
12206         * config/pa/pa.c: Likewise.
12207         * config/pa/pa64-linux.h: Likewise.
12208         * config/pdp11/pdp11.h: Likewise.
12209         * config/romp/romp.c: Likewise.
12210         * config/romp/romp.h: Likewise.
12211         * config/rs6000/eabi.asm: Likewise.
12212         * config/rs6000/linux64.h: Likewise.
12213         * config/rs6000/rs6000.c: Likewise.
12214         * config/rs6000/rs6000.h: Likewise.
12215         * config/rs6000/rs6000.md: Likewise.
12216         * config/rs6000/sysv4.h: Likewise.
12217         * config/rs6000/xcoff.h: Likewise.
12218
12219 2002-09-20  Jim Wilson  <wilson@redhat.com>
12220
12221         * config/v850/v850/lib1funcs.asm (__muldi3): Change r5 to r28.
12222
12223 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12224
12225         * config/i386/i386.md (UNSPEC_GOTNTPOFF, UNSPEC_INDNTPOFF): New.
12226         * config/i386/i386.c (legitimate_pic_address_disp_p): Handle
12227         UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF like UNSPEC_GOTTPOFF.
12228         (legitimate_address_p): Likewise.
12229         (legitimize_address): Use @gotntpoff and @indntpoff.
12230         (output_pic_addr_const): Handle UNSPEC_GOTNTPOFF and UNSPEC_INDNTPOFF.
12231         (output_addr_const_extra): Likewise.
12232
12233 2002-09-20  Jim Wilson  <wilson@redhat.com>
12234
12235         * combine.c (try_combine): When split an instruction pair, where the
12236         first has a sign_extend src, verify that the src and dest modes match.
12237
12238 2002-09-20  Richard Henderson  <rth@redhat.com>
12239
12240         * config/mips/mips.c (dfhigh, dflow, sfhigh, sflow): Remove.
12241         (override_options): Do not initialize them.
12242         (mips_const_double_ok): Allow no fp constants except zero,
12243         and not even that for mips16.
12244         (const_float_1_operand): Use dconst1.
12245         * config/mips/mips.md (movsf, movsf_internal1, movsf_internal2,
12246         movdf, movdf_internal1, movdf_internal1a, movdf_internal2):
12247         Don't allow arbitrary constants; fix predicates and C constraint.
12248
12249 2002-09-20  Neil Booth  <neil@daikokuya.co.uk>
12250
12251         * cppmacro.c: Don't warn about function-like macros without
12252         '(' during pre-expansion.
12253
12254 2002-09-20  Jim Wilson  <wilson@redhat.com>
12255
12256         * config/v850/v850.c (current_function_anonymous_args): Delete.
12257         (expand_prologue): Use current_function_args_info.anonymous_args.
12258         (expand_epilogue): Delete use of current_function_anonymous_args.
12259         * config/v850/v850.h (struct cum_arg): Add anonymous_args field.
12260         (INIT_CUMULATIVE_ARGS): Clear anonymous_args field.
12261         (current_function_anonymous_args): Delete extern declaration.
12262         (SETUP_INCOMING_VARARGS): Set anonymous_args field.
12263
12264 2002-09-20  Geoffrey Keating  <geoffk@apple.com>
12265
12266         * config/rs6000/rs6000.c (rs6000_emit_prologue): Update for change
12267         to load_macho_picbase.
12268         * config/rs6000/rs6000.md: Document Darwin-specific unspec IDs.
12269         (load_macho_picbase): Take the symbol to use as a parameter.
12270         (macho_correct_pic): New insn.
12271         (builtin_setjmp_reciever): On Darwin, restore the PIC register.
12272
12273         * config/rs6000/rs6000.h (ELIMINABLE_REGS): Use
12274         RS6000_PIC_OFFSET_TABLE_REGNUM rather than hardcoding 30.
12275         (CAN_ELIMINATE): Likewise.
12276         (INITIAL_ELIMINATION_OFFSET): Likewise.
12277         (TOC_REGISTER): Likewise.
12278
12279 2002-09-20  Richard Henderson  <rth@redhat.com>
12280
12281         * real.c (real_hash): New.
12282         * real.h: Declare it.
12283         * cse.c (canon_hash): Use it.
12284         * cselib.c (hash_rtx): Likewise.
12285         * emit-rtl.c (const_double_htab_hash): Likewise.
12286         * rtl.h (CONST_DOUBLE_REAL_VALUE): New.
12287         * varasm.c (struct rtx_const): Reduce vector size; separate
12288         integer and fp vectors.
12289         (HASHBITS): Remove.
12290         (const_hash_1): Rename from const_hash.  Use real_hash.  Do not
12291         take modulus MAX_HASH_TABLE.
12292         (const_hash): New.  Do take modulus MAX_HASH_TABLE.
12293         (output_constant_def): Do not take modulus MAX_HASH_TABLE.
12294         (SYMHASH): Don't use HASHBITS.
12295         (decode_rtx_const): Copy only active bits from REAL_VALUE_TYPE.
12296         Fix CONST_VECTOR thinko wrt fp vectors.  Fix kind comparison.
12297         (simplify_subtraction): Fix kind comparison.
12298         (const_hash_rtx): Return unsigned int.  Don't use HASHBITS.
12299         Use a union to pun integer array.
12300         * config/rs6000/rs6000.c (rs6000_hash_constant): Use real_hash;
12301         only hash two words of integral CONST_DOUBLE.
12302
12303 2002-09-20  Steve Ellcey  <sje@cup.hp.com>
12304
12305         * config/ia64/hpux.h (STARTFILE_SPEC): Modify.
12306         (STARTFILE_PREFIX_SPEC): New.
12307         (LINK_SPEC): Modify.
12308         (LIB_SPEC): Modify.
12309         (LIBGCC_SPEC): New.
12310
12311 2002-09-20  Jakub Jelinek  <jakub@redhat.com>
12312
12313         * config/i386/i386.c (legitimate_pic_address_disp_p): Allow
12314         UNSPEC_NTPOFF and UNSPEC_DTPOFF to be offsetted by constant.
12315
12316 2002-09-20  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
12317
12318         * config/arm/arm.md (sign_extract_onebit, not_signextract_onebit):
12319         Add clobber of the condition code register.
12320
12321 2002-09-20  Richard Henderson  <rth@redhat.com>
12322
12323         * real.c (do_fix_trunc): Static.
12324         (encode_ieee_single, encode_ieee_double, encode_ieee_extended,
12325         encode_ieee_quad, encode_vax_f, encode_vax_d, encode_vax_g,
12326         encode_i370_single, encode_i370_double, encode_c4x_single,
12327         encode_c4x_extended): Add default abort case.
12328
12329 2002-09-20  Richard Henderson  <rth@redhat.com>
12330
12331         * real.h (enum real_value_class, SIGNIFICAND_BITS, EXP_BITS,
12332         MAX_EXP, SIGSZ, SIG_MSB, struct real_value): Move from real.c.
12333         (struct realvaluetype): Remove.
12334         (REAL_VALUE_TYPE): Use struct real_value.
12335         (REAL_VALUE_TYPE_SIZE): Use SIGNIFICAND_BITS.
12336         (test_real_width): New.
12337         * real.c: Global replace struct real_value with REAL_VALUE_TYPE.
12338         (real_arithmetic): Avoid hoops for REAL_VALUE_TYPE parameters.
12339         (real_compare, real_exponent, real_ldexp, real_isinf, real_isnan,
12340         real_isneg, real_isnegzero, real_identical, exact_real_inverse,
12341         real_to_integer, real_to_integer2, real_to_decimal,
12342         real_to_hexadecimal, real_from_string, real_from_integer,
12343         real_inf, real_nan, real_2expN, real_convert, real_to_target,
12344         real_from_target): Likewise.
12345         * tree.h (struct tree_real_cst): Use real_value not realvaluetype.
12346         * gengtype-yacc.y (bitfieldopt): Accept an ID as well.
12347
12348 2002-09-20  Richard Henderson  <rth@redhat.com>
12349
12350         * real.h (UNKNOWN_FLOAT_FORMAT, IEEE_FLOAT_FORMAT, VAX_FLOAT_FORMAT,
12351         IBM_FLOAT_FORMAT, C4X_FLOAT_FORMAT, TARGET_FLOAT_FORMAT): Move ...
12352         * defaults.h: ... here.
12353         * config/arm/arm.h, config/avr/avr.h, config/d30v/d30v.h,
12354         config/fr30/fr30.h, config/frv/frv.h, config/ia64/ia64.h,
12355         config/ip2k/ip2k.h, config/mips/mips.h, config/stormy16/stormy16.h,
12356         config/xtensa/xtensa.h (TARGET_FLOAT_FORMAT): Remove.
12357
12358 2002-09-20  Hans-Peter Nilsson  <hp@bitrange.com>
12359
12360         * config/mmix/mmix.md ("negdf2"): Rewrite.
12361         ("*expanded_negdf2"): New.
12362
12363 2002-09-19  Jim Wilson  <wilson@redhat.com>
12364
12365         * combine.c (simplify_set): When optimizing a subreg src with a
12366         cc0 dest, use GET_MODE (src) for mask instead of inner_mode.
12367
12368 2002-09-19  Dale Johannesen <dalej@apple.com>
12369         * combine.c (make_extraction): Don't create
12370         invalid subreg.
12371
12372 2002-09-19  Roger Sayle  <roger@eyesopen.com>
12373
12374         * tree.c (integer_nonzerop): New predicate for nonzero integers.
12375         * tree.h (integer_nonzerop): Add function prototype.
12376         * stmt.c (expand_end_loop):  Don't rotate the loop when there
12377         are no instructions in the test, i.e. the loop is unconditional.
12378         (expand_exit_loop_if_false):  Optimize RTL generation of loop
12379         tests when the condition is always true or always false.
12380         * c-semantics.c (genrtl_do_stmt):  Optimize RTL generation of
12381         do-loops when the condition is always true.
12382         (genrtl_for_stmt):  Optimize RTL generation of for-loops when
12383         the for-expression is empty.
12384
12385 2002-09-19  Zack Weinberg  <zack@codesourcery.com>
12386
12387         * gcc.c (use_pipes): New flag.
12388         (process_command): Set it.  Adjust check for -pipe conflicting
12389         with -time or -save-temps.
12390         (do_spec_1): Use it.  Handle %|SUFFIX, %mSUFFIX, and
12391         %<SWITCH.  Drop %| (without a SUFFIX).
12392         (handle_braces): Drop %{<SWITCH}, %{^SWITCH}, %{|...}.
12393         (give_switch): Third argument eliminated.
12394         (invoke_as, @assembler_with_cpp spec): Use %|.s or %m.s
12395         depending on AS_NEEDS_DASH_FOR_PIPED_INPUT.
12396         (specs documentation comment): Update.
12397
12398         * config/netbsd-aout.h, config/openbsd.h, config/ptx4.h,
12399         config/svr4.h, config/i386/freebsd-aout.h,
12400         config/m68k/netbsd-elf.h, config/m68k/netbsd.h,
12401         config/m68k/openbsd.h, config/mips/openbsd.h,
12402         config/sparc/sparc.h: Define AS_NEEDS_DASH_FOR_PIPED_INPUT
12403         instead of putting %| into ASM_SPEC and/or ASM_FINAL_SPEC.
12404         * config/avr/avr.h: Delete do-nothing ASM_FINAL_SPEC.
12405         * config/cris/cris.h: Update comment.
12406
12407         * ada/lang-specs.h: Use %(invoke_as).  Straighten out
12408         error messages.  Don't use %{^SWITCH}.
12409         * ada/misc.c (gnat_decode_option): Handle -I with a
12410         separate argument.
12411
12412         * f/lang-specs.h: Use %| and %m.
12413         * java/jvspec.c: Use %m and %(invoke_as).  Change all
12414         uses of %{<SWITCH} to %<SWITCH.
12415
12416         * doc/invoke.texi: Update documentation of specs.
12417         * doc/tm.texi: Document AS_NEEDS_DASH_FOR_PIPED_INPUT.
12418
12419 2002-09-19  Ulrich Weigand  <uweigand@de.ibm.com>
12420
12421         * config/s390/s390.c (addr_generation_dependency_p): Handle SUBREG
12422         and STRICT_LOW_PART within SET_DEST.
12423         * config/s390/s390.md ("*extractqi", "*extracthi"): New insns with
12424         splitters, replacing pre-reload splitters.
12425         ("*zero_extendhisi2_31", "*zero_extendqisi2_31",
12426         "*zero_extendqihi2_31"): New insns.
12427         ("*zero_extendqihi2_64"): Do not clobber CC.
12428
12429 2002-09-18  Devang Patel  <dpatel@apple.com>
12430
12431         * cp/cp-tree.h: New prototype for walk_vtables().
12432         * cp/decl.c (walk_vtables_r): New function.
12433         (struct cp_binding_level): Add new members, namespaces,
12434         names_size and vtables.
12435         (add_decl_to_level): Add decl in namespaces or vtables
12436         chain, if conditions match.
12437         (walk_vtables): New function.
12438         (walk_namespaces_r): Travers separate namespace chain
12439         for namespace decls.
12440         (wrapup_globals_for_namespace): Use names_size instead
12441         of list_length().
12442         * cp/decl2.c (finish_file): Use walk_vtables() instead of
12443         walk_globals() to walk vtable decls.
12444
12445 2002-09-19  Steve Ellcey  <sje@cup.hp.com>
12446
12447         * config/ia64/hpux.h (CTORS_SECTION_ASM_OP): New.
12448         (DTORS_SECTION_ASM_OP): Ditto.
12449         (READONLY_DATA_SECTION_ASM_OP): Moved.
12450         (DATA_SECTION_ASM_OP): New.
12451         (SDATA_SECTION_ASM_OP): New.
12452         (BSS_SECTION_ASM_OP): New.
12453         (SBSS_SECTION_ASM_OP): New.
12454         (TEXT_SECTION_ASM_OP): New.
12455
12456 2002-09-19  Kazu Hirata  <kazu@cs.umass.edu>
12457
12458         * config/fp-bit.c: Follow spelling conventions.
12459         * config/d30v/d30v.c: Likewise.
12460         * config/d30v/d30v.h: Likewise.
12461         * config/fr30/fr30.c: Likewise.
12462         * config/fr30/fr30.h: Likewise.
12463         * config/fr30/fr30.md: Likewise.
12464         * config/frv/frv.c: Likewise.
12465         * config/frv/frv.h: Likewise.
12466         * config/h8300/h8300.c: Likewise.
12467         * config/h8300/lib1funcs.asm: Likewise.
12468         * config/i370/i370.c: Likewise.
12469         * config/i386/i386.h: Likewise.
12470         * config/i386/i386.md: Likewise.
12471         * config/i386/pentium.md: Likewise.
12472         * config/i386/winnt.c: Likewise.
12473         * config/i960/i960.c: Likewise.
12474         * config/ia64/ia64.h: Likewise.
12475         * config/ip2k/ip2k.c: Likewise.
12476         * config/ip2k/ip2k.h: Likewise.
12477         * config/ip2k/ip2k.md: Likewise.
12478         * config/ip2k/libgcc.S: Likewise.
12479
12480 2002-09-19  Stephen Clarke <stephen.clarke@superh.com>
12481
12482         * config/sh/sh.h (UNSPEC_GOTOFF_P): Define.
12483         (GOTOFF_P): Extend to allow gotoff plus constant.
12484
12485 2002-09-18  Richard Henderson  <rth@redhat.com>
12486
12487         * ifcvt.c (noce_process_if_block): Correctly detect X modified
12488         with INSN_B before COND_EARLIEST.  Don't check A and B for
12489         modification in condition range.  Reorder INSN_B for A==B properly.
12490         (if_convert): Iterate until no matches for a block.
12491
12492 2002-09-18  Richard Henderson  <rth@redhat.com>
12493
12494         * calls.c (store_one_arg): Rename default_align to parm_align;
12495         always adjust parm_align for downward padding.
12496
12497 2002-09-18  Richard Henderson  <rth@redhat.com>
12498
12499         * toplev.c (backend_init): Move init_real_once invocation ...
12500         (do_compile): ... here.
12501
12502 2002-09-18  Richard Henderson  <rth@redhat.com>
12503
12504         * sibcall.c (optimize_sibling_and_tail_recursive_call): Also remove
12505         RTX_UNCHANGING_P markers for successful tail-recursive replacement.
12506
12507 2002-09-18  Richard Henderson  <rth@redhat.com>
12508
12509         * real.c (round_for_format): Collect sticky as unsigned long, not bool.
12510
12511 2002-09-19  Alan Modra  <amodra@bigpond.net.au>
12512
12513         * config/rs6000/rs6000.md: (floatdisf2): Rename to
12514         floatdisf2_internal1.
12515         (floatdisf2): New define_expand.
12516         (floatdisf2_internal2): Likewise.
12517
12518 2002-09-18  Richard Henderson  <rth@redhat.com>
12519
12520         * real.c (sticky_rshift_significand): Collect sticky as
12521         unsigned long, not bool.
12522
12523 2002-09-18  Ulrich Weigand  <uweigand@de.ibm.com>
12524
12525         * config/s390/s390.c (s390_address_cost): New function.
12526         config/s390/s390-protos.h (s390_address_cost): Add prototype.
12527         config/s390/s390.h (ADDRESS_COST): Call s390_address_cost.
12528         (RTX_COST): Use COSTS_N_INSNS.
12529
12530 2002-09-18  Douglas Rupp  <rupp@gnat.com>
12531             Donn Terry  <donnte@microsoft.com>
12532
12533         * stor-layout.c (place_field): Handle alignment of whole
12534         structures when MSVC compatible bitfields are involved.
12535         Change method of computing location of MS bitfields to
12536         be compatible with #pragma pack(n).
12537
12538         * tree.h (record_layout_info): Add new field
12539         remaining_in_alignment.
12540
12541         * doc/tm.texi: (TARGET_MS_BITFIELD_LAYOUT_P): Update.
12542         (pragma pack): Add paragraph on MSVC bitfield packing.
12543
12544 2002-09-18  Richard Earnshaw  (reanrsha@arm.com)
12545
12546         PR optimization/7967
12547         * arm.md (ne_zeroextractsi): Add clobber of the condition code
12548         register.
12549
12550 2002-09-18  Kazu Hirata  <kazu@cs.umass.edu>
12551
12552         * config/s390/s390.c: Follow spelling conventions.
12553         * config/sh/lib1funcs.asm: Likewise.
12554         * config/sh/sh.c: Likewise.
12555         * config/sh/sh.h: Likewise.
12556         * config/sparc/sparc.c: Likewise.
12557         * config/sparc/sparc.h: Likewise.
12558         * config/sparc/sparc.md: Likewise.
12559         * config/stormy16/stormy16.c: Likewise.
12560         * config/stormy16/stormy16.h: Likewise.
12561         * config/v850/v850.c: Likewise.
12562         * config/v850/v850.h: Likewise.
12563         * config/vax/vax.c: Likewise.
12564         * config/vax/vax.h: Likewise.
12565
12566 2002-09-18  Nick Clifton  <nickc@redhat.com>
12567
12568         * config/rs60000/rs6000.c (rs6000_emit_move): Handle V1DImode moves.
12569         * config/rs60000/rs6000.c (SPE_VECTOR_MODE): Include V1DImode.
12570         * config/rs6000/spe.md (movv1di, movv1di_internal): New patterns.
12571
12572 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12573
12574         * function.c (max_parm_reg_num): Remove.
12575         * stmt.c (in_control_zone_p, stmt_loop_nest_empty,
12576         drop_through_at_end_p, move_cleanups_up,
12577         expand_end_case_dummy, case_index_expr_type): Likewise.
12578         * stor-layout.c (pos_from_byte): Likewise.
12579         * tree.c (chain_member_value, chain_member_purpose, listify,
12580         tree_int_cst_msb, index_type_equal): Likewise.
12581         * tree.h: Remove prototypes for unused functions.
12582
12583 2002-09-17  Zack Weinberg  <zack@codesourcery.com>
12584
12585         * ABOUT-GCC-NLS: Remove reference to enquire, and out-of-date
12586         statement that the only translation is to en_UK.
12587
12588 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12589
12590         * config/alpha/alpha.c: Follow spelling conventions.
12591         * config/alpha/alpha.h: Likewise.
12592         * config/alpha/alpha.md: Likewise.
12593         * config/arc/arc.h: Likewise.
12594         * config/arm/arm.c: Likewise.
12595         * config/arm/arm.h: Likewise.
12596         * config/arm/arm.md: Likewise.
12597         * config/arm/pe.c: Likewise.
12598         * config/arm/unknown-elf.h: Likewise.
12599         * config/avr/avr.c: Likewise.
12600         * config/avr/avr.h: Likewise.
12601         * config/c4x/c4x.c: Likewise.
12602         * config/cris/cris.c: Likewise.
12603         * config/cris/cris.h: Likewise.
12604
12605 2002-09-17  Samuel Figueroa  <figueroa@apple.com>
12606
12607         * final.c (final_scan_insn): Use new macro ASM_OUTPUT_ALIGN_WITH_NOP.
12608         * config/sparc/sparc.h (ASM_OUTPUT_ALIGN_WITH_NOP) New macro.
12609         * doc/tm.texi (ASM_OUTPUT_ALIGN_WITH_NOP) New description.
12610
12611 2002-09-17  Dale Johannesen  <dalej@apple.com>
12612
12613         * cfgcleanup.c (try_forward_edges):  Do not forward a
12614         branch to just after a loop exit before loop optimization;
12615         this interfered with doloop detection.
12616
12617 2002-09-17  Nick Clifton  <nickc@redhat.com>
12618
12619         * config/arm/arm.c (output_return_instruction): Do not
12620         writeback the stack pointer when it is being loaded.
12621         (arm_output_epilogue): Likewise.
12622
12623 2002-09-17  Kazu Hirata  <kazu@cs.umass.edu>
12624
12625         * optabs.c (prepare_cmp_insn): Let emit_library_call_value
12626         generate a pseudo reg that receives the result of a libcall.
12627         (prepare_float_lib_cmp): Likewise.
12628
12629 2002-09-17  Steve Ellcey  <sje@cup.hp.com>
12630
12631         * config/ia64/elf.h: Remove CPP_PREDEFINES.
12632
12633 Tue Sep 17 13:58:04 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12634
12635         Fix PR/7014 and related objc bugs:
12636         * c-typeck.c (comp_target_types): Added a reflexive argument.
12637         Pass it to ObjC when/if calling objc_comptypes().  Updated all
12638         callers to provide the appropriate reflexive argument.
12639         * objc/objc-act.c (objc_comptypes): Carefully checked and fixed
12640         typechecking for all cases of comparisons and assignments,
12641         particularly the obscure and less common ones involving protocols.
12642
12643 2002-09-17  Nick Clifton  <nickc@redhat.com>
12644
12645         * machmode.def (V1DImode): New mode.  A single element vector.
12646         * tree.h (TI_UV1DI_TYPE, TI_V1DI_TYPE): New tree_index enums.
12647         (unsigned_V1DI_type_node, V1D1_type_node): New type nodes.
12648         * tree.c (build_common_tree_nodes_2): Build
12649         unsigned_V1DI_type_node and V1D1_type_node.
12650         * c-common.c (c_common_type_for_mode): Return
12651         unsigned_V1DI_type_node or V1D1_type_node for V1DImode.
12652         * rtl.c (class_narrowest_): Start integer vector nodes with V1DImode.
12653
12654 Tue Sep 17 13:40:13 2002  Nicola Pero  <n.pero@mi.flashnet.it>
12655
12656         * doc/objc.texi (Constant string objects): Extended documentation
12657         to make clear that the constant string class ivar layout is
12658         completely fixed.
12659
12660 2002-09-17  Roger Sayle  <roger@eyesopen.com>
12661
12662         * cfgrtl.c (flow_delete_block_noexpunge): Delete orphaned
12663         NOTE_INSN_LOOP_CONT notes when deleting basic blocks.
12664
12665 2002-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
12666
12667         * config/mips/mips.c (save_restore_insns): Remove unused variable.
12668         * gcc.c (make_relative_prefix): Likewise.
12669         * loop.c (check_final_value): Likewise.
12670         * jump.c (init_label_info): Remove return value.
12671         * cse.c (prev_insn): Move variable between #ifdef HAVE_cc0 ... #endif.
12672
12673 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12674
12675         * dsp16xx.h (ASM_FORMAT_PRIVATE_NAME): Delete.
12676         (ASM_PN_FORMAT): Define.
12677
12678 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12679
12680         * alpha.h, alpha/vms.h, arc.h, arm/aof.h, arm/aout.h, avr.h,
12681         c4x.h, cris.h, d30v.h, fr30.h, frv.h, h8300.h, i370.h, i386.h,
12682         i960.h, ia64.h, ip2k.h, m32r.h, m68hc11.h, m68k/3b1.h,
12683         m68k/hp320.h, m68k.h, m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h,
12684         m88k.h, mcore.h, mips.h, mmix.h, mn10200.h, mn10300.h, ns32k.h,
12685         pa.h, pdp11.h, romp.h, rs6000.h, s390/linux.h, sh.h, sparc.h,
12686         stormy16.h, v850.h, vax.h, xtensa.h (ASM_FORMAT_PRIVATE_NAME):
12687         Delete.
12688         * alpha/vms.h, h8300.h, i370.h, ia64.h, m68k/3b1.h, m68k/hp320.h,
12689         m68k/mot3300.h, m68k/sgs.h, m68k/tower-as.h, mmix.h, mn10200.h,
12690         mn10300.h, pa.h, v850.h (ASM_PN_FORMAT): Define.
12691
12692         * defaults.h (ASM_PN_FORMAT, ASM_FORMAT_PRIVATE_NAME): Define.
12693         * doc/tm.texi (ASM_FORMAT_PRIVATE_NAME): Update documentation.
12694
12695 2002-09-16  Richard Henderson  <rth@redhat.com>
12696
12697         * expr.c (emit_block_move): Set memory block size as appropriate
12698         for the copy.
12699
12700 2002-09-16  Richard Henderson  <rth@redhat.com>
12701
12702         PR fortran/3924
12703         * sdbout.c (sdbout_symbol): Don't handle offsets from a symbol.
12704
12705 2002-09-16  Richard Henderson  <rth@redhat.com>
12706
12707         * emit-rtl.c (set_mem_attributes_minus_bitpos): Adjust SIZE
12708         as well as OFFSET for BITPOS.
12709
12710 2002-09-16  Jeff Garzik  <jgarzik@mandrakesoft.com>
12711
12712         * config.gcc: Treat winchip_c6-*|winchip2-*|c3-* as pentium-mmx.
12713         * config/i386/i386.c (processor_alias_table): Add winchip-c6,
12714         winchip2 and c3.
12715         * doc/invoke.texi: Mention new aliases.
12716
12717 2002-09-16  John David Anglin  <dave@hiauly1.hia.nrc.ca>
12718
12719         * calls.c (store_one_arg): Set default alignment for BLKmode arguments
12720         to BITS_PER_UNIT when ARGS_GROW_DOWNWARD and the padding direction is
12721         downward.
12722         * function.c (pad_below):  Always compile.
12723         (locate_and_pad_parm): If defined ARGS_GROW_DOWNWARD, pad argument to
12724         alignment when it is not in a register or REG_PARM_STACK_SPACE is true.
12725         Pad below when the argument is not in a register and the padding
12726         direction is downward.
12727
12728         * pa-64.h (MUST_PASS_IN_STACK): Move define to pa.h.
12729         (PAD_VARARGS_DOWN): Define.
12730         * pa.c (function_arg_padding): Revise padding directions to make them
12731         compatible with the 32 and 64-bit runtime architecture documentation.
12732         (hppa_va_arg):  Add code to handle variable and size zero arguments
12733         passed by reference on TARGET_64BIT.  Reformat.
12734         (function_arg): Use a PARALLEL for BLKmode and aggregates args on
12735         TARGET_64BIT.  Use a DImode PARALLEL for BLKmode args 5 to 8 bytes
12736         wide when !TARGET_64BIT.  Move forward check for mode==VOIDmode.
12737         Add comments.
12738         * pa.h (MAX_PARM_BOUNDARY): Correct define for TARGET_64BIT.
12739         (RETURN_IN_MEMORY): Return size zero types in memory.
12740         (FUNCTION_VALUE): Return TFmode in general registers.
12741         (MUST_PASS_IN_STACK): Define.
12742         (FUNCTION_ARG_BOUNDARY): Simplify.
12743         (FUNCTION_ARG_PASS_BY_REFERENCE): Pass variable and zero sized types
12744         by reference.
12745         (FUNCTION_ARG_CALLEE_COPIES): Define to FUNCTION_ARG_PASS_BY_REFERENCE.
12746
12747 2002-09-16  Richard Henderson  <rth@redhat.com>
12748
12749         * real.c (do_fix_trunc): New.
12750         (real_arithmetic): Call it.
12751         * simplify-rtx.c (simplify_unary_operation): Handle FIX
12752         with a floating-point result mode.
12753
12754 2002-09-16  Richard Henderson  <rth@redhat.com>
12755
12756         * builtin-types.def (BT_FN_FLOAT_CONST_STRING): New.
12757         (BT_FN_DOUBLE_CONST_STRING, BT_FN_LONG_DOUBLE_CONST_STRING): New.
12758         * builtins.def (__builtin_nan, __builtin_nanf, __builtin_nanl): New.
12759         (__builtin_nans, __builtin_nansf, __builtin_nansl): New.
12760         * builtins.c (fold_builtin_nan): New.
12761         (fold_builtin): Call it.
12762         * real.c (real_nan): Parse a non-empty string.
12763         (round_for_format): Fix NaN significand truncation.
12764         * real.h (real_nan): Return bool.
12765         * doc/extend.texi: Document new builtins.
12766
12767 2002-09-16  Jason Merrill  <jason@redhat.com>
12768             Danny Smith  <dannysmith@users.sourceforge.net>
12769
12770         * config/i386/winnt.c (ix86_handle_dll_attribute): Set
12771         DECL_EXTERN and TREE_PUBLIC for dllimported variables here...
12772         (i386_pe_mark_dllimport): Not here.
12773
12774 2002-09-16  Nathan Sidwell  <nathan@codesourcery.com>
12775
12776         * c-semantics.c (genrtl_do_stmt): Cope with NULL cond.
12777
12778 2002-09-16  Geoffrey Keating  <geoffk@redhat.com>
12779
12780         * config/rs6000/rs6000.c (build_mask64_2_operands): Suppress
12781         warnings about unused operands when HOST_BITS_PER_WIDE_INT is
12782         < 64.
12783         (rs6000_emit_cmove): Use real_isinf not target_isinf.
12784
12785 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
12786
12787         * calls.c (emit_library_call_value_1): Don't refer to
12788         hard_libcall_value.
12789         * optabs.c (prepare_float_lib_cmp): Likewise.
12790
12791 2002-09-16  Geoffrey Keating  <geoffk@apple.com>
12792
12793         * ggc-common.c (ggc_mark_rtx_children_1): Update for changed name
12794         mangling.
12795
12796         The following changes are merged from pch-branch:
12797
12798         * doc/gty.texi (GTY Options): Document %a.
12799         * gengtype.c (do_scalar_typedef): New function.
12800         (process_gc_options): Handle `length' option.
12801         (set_gc_used_type): A pointer to an array of structures doesn't
12802         qualify as a pointer to a structure.
12803         (output_escaped_param): Add `%a' escape.
12804         (write_gc_structure_fields): Allow 'desc' on array of unions.
12805         (main): Define `uint8', `jword' and `JCF_u2' as scalars; use
12806         do_scalar_typedef.
12807
12808         * gengtype.c (enum rtx_code): Make global.
12809         (rtx_format): Make global.
12810         (rtx_next): New.
12811         (gen_rtx_next): New.
12812         (write_rtx_next): New.
12813         (adjust_field_rtx_def): Skip fields marked by chain_next.
12814         (open_base_files): Delete redundant prototype.
12815         (write_enum_defn): New.
12816         (output_mangled_typename): Correct abort call.
12817         (write_gc_marker_routine_for_structure): Handle chain_next and
12818         chain_prev options.
12819         (finish_root_table): Don't output redundant \n.
12820         (main): Call gen_rtx_next, write_rtx_next, write_enum_defn.
12821         * c-tree.h (union lang_tree_node): Add chain_next option.
12822
12823         * gengtype.h (NUM_PARAM): New definition.
12824         (struct type): For TYPE_PARAM_STRUCT, allow multiple parameters.
12825         * gengtype.c (find_param_structure): New.
12826         (adjust_field_type): Handle param<n>_is option.
12827         (process_gc_options): Detect use_params option.  Update callers.
12828         (set_gc_used_type): Add 'param' parameter, update callers.  Handle
12829         'use_params' option.
12830         (open_base_files): Add splay-tree.h to list of files included.
12831         (output_mangled_typename): New.
12832         (write_gc_structure_fields): Update 'param' parameter to support
12833         multiple parameters.  Change name mangling.  Allow parameterized
12834         fields to have an apparent scalar type.  Handle param<n>_is options,
12835         use_param option.
12836         (write_gc_marker_routine_for_structure): Update for change to name
12837         mangling.  Better guess the output file for parameterized types.
12838         (write_gc_types): Update for change to name mangling.
12839         (write_gc_root): Update for change to name mangling.  Handle (ignore)
12840         param<n>_is options.
12841         * doc/gty.texi (GTY Options): Add description of param<n>_is
12842         options, use_params option.
12843         * ggc.h (ggc_mark_rtx): Update for changed name mangling.
12844         * gengtype-lex.l: Produce token for param<n>_is.
12845         * gengtype-yacc.y: Parse param<n>_is.
12846
12847         * gengtype.c (adjust_field_tree_exp): Don't name a variable 'rindex'.
12848
12849         * rtl.c: Update comment describing rtx_format.
12850         * rtl.h (union rtunion): Separate definition and typedef.
12851         (struct rtx_def): Use gengtype to mark.
12852         * Makefile.in (gengtype.o): Also depend on rtl.def.
12853         * ggc.h (ggc_mark_rtx_children): Delete prototype.
12854         (ggc_mark_rtx): Change to alias of gengtype-generated routine.
12855         * ggc-common.c (ggc_mark_rtx_children): Delete.
12856         (ggc_mark_rtx_children_1): Delete.
12857         (gt_ggc_m_rtx_def): Delete.
12858         * gengtype.c (adjust_field_rtx_def): New.
12859         (adjust_field_type): Call adjust_field_rtx_def.
12860         (write_gc_structure_fields): Add 'default' case to switch if none
12861         is specified; remove unused code.
12862
12863         * tree.h (struct tree_exp): Update for change to meaning
12864         of special.
12865         * gengtype.c (adjust_field_tree_exp): New function.
12866         (adjust_field_type): Handle `tree_exp' special here.
12867         (write_gc_structure_fields): Don't handle `tree_exp' special here.
12868         Handle new `dot' option.
12869
12870         * gengtype.h: Make `info' a pointer-to-const.
12871         * gengtype-yacc.y (yacc_ids): Use xasprintf.
12872
12873         * gengtype.c (write_gc_structure_fields): Remove implementation
12874         of `always' option, add `default' option.
12875         * doc/gty.texi (GTY Options): Remove documentation of `always',
12876         add `default'.
12877
12878 2002-09-16  Hans-Peter Nilsson  <hp@bitrange.com>
12879
12880         * output.h: Remove #ifdef RTX_CODE and #ifdef TREE_CODE.
12881
12882 2002-09-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12883
12884         * m68hc11.md (addhi_sp): Fix uninitialized variable bug.
12885
12886         * c4x-c.c, c4x.c, darwin.c, i370-c.c, m32r.c: Include tm_p.h
12887         instead of the *-protos.h file directly.
12888         * t-c4x, t-i370, t-v850: Depend on $(TM_P_H).
12889         * darwin.c (machopic_output_stub): Move prototype ...
12890         * darwin-protos.h (machopic_output_stub): ... here.
12891         * rs6000-protos.h (machopic_output_stub): Don't declare.
12892
12893 2002-09-16  Richard Henderson  <rth@redhat.com>
12894
12895         * c-common.c (builtin_define_float_constants): Emit __FOO_DENORM_MIN__.
12896
12897 2002-09-16  Richard Henderson  <rth@redhat.com>
12898
12899         * real.c, real.h: Rewrite from scratch.
12900
12901         * Makefile.in (simplify-rtx.o): Depend on TREE_H.
12902         (paranoia): New target.
12903         * builtins.c (fold_builtin_inf): Use new real.h interface.
12904         * c-common.c (builtin_define_with_hex_fp_value): Likewise.
12905         * c-lex.c (interpret_float): Likewise.
12906         * emit-rtl.c (gen_lowpart_common): Likewise.
12907         * optabs.c (expand_float): Use real_2expN.
12908         * config/ia64/ia64.md (divsi3, udivsi3): Likewise.
12909         * defaults.h (INTEL_EXTENDED_IEEE_FORMAT): New.
12910         (FLOAT_WORDS_BIG_ENDIAN): New.
12911         * cse.c (find_comparison_args): Don't pass FLOAT_STORE_FLAG_VALUE
12912         directly to REAL_VALUE_NEGATIVE.
12913         * loop.c (canonicalize_condition): Likewise.
12914         * simplify-rtx.c: Include tree.h.
12915         (simplify_unary_operation): Don't handle FIX and UNSIGNED_FIX
12916         with floating-point result modes.
12917         * toplev.c (backend_init): Call init_real_once.
12918
12919         * fold-const.c (force_fit_type): Don't call CHECK_FLOAT_VALUE.
12920         * tree.c (build_real): Likewise.
12921         * config/alpha/alpha.c, config/vax/vax.c (float_strings,
12922         float_values, inited_float_values, check_float_value): Remove.
12923         * config/alpha/alpha.h, config/m68hc11/m68hc11.h,
12924         config/m88k/m88k.h, config/vax/vax.h (CHECK_FLOAT_VALUE): Remove.
12925         * doc/tm.texi (CHECK_FLOAT_VALUE): Remove.
12926         (VAX_HALFWORD_ORDER): Remove.
12927
12928 2002-09-16  Ulrich Weigand  <uweigand@de.ibm.com>
12929
12930         * config/s390/s390.c: (legitimize_la_operand): Remove, replace by ...
12931         (s390_load_address): ... this new function.
12932         (s390_decompose_address): Allow the argument pointer and all
12933         virtual registers as 'pointer' registers.
12934         (s390_expand_plus_operand): Use s390_load_address.
12935         config/s390/s390.md (movti, movdi, movdf splitters): Likewise.
12936         ("force_la_31"): New insn pattern.
12937         config/s390/s390-protos.h (legitimize_la_operand): Remove.
12938         (s390_load_address): Add prototype.
12939
12940         * config/s390/s390.c: Include "optabs.h".
12941         (s390_expand_movstr, s390_expand_clrstr, s390_expand_cmpstr): New.
12942         config/s390/s390-protos.h (s390_expand_movstr, s390_expand_clrstr,
12943         s390_expand_cmpstr): Add prototypes.
12944         config/s390/s390.md ("movstrdi", "movstrsi"): Call s390_expand_movstr.
12945         ("movstrdi_short"): Rename to "movstr_short_64".  Change predicates
12946         for operands 0 and 1 to "memory_operand".  Add type attribute.
12947         ("movstrsi_short"): Rename to "movstr_short_31".  Change predicates
12948         for operands 0 and 1 to "memory_operand".  Add type attribute.
12949         ("movstrdi_long", "movstrsi_long"): Remove.
12950         ("movstrdi_64"): Rename to "movstr_long_64". Add type attribute.
12951         ("movstrsi_31"): Rename to "movstr_long_31". Add type attribute.
12952         ("clrstrdi", "clrstrsi"): Call s390_expand_clrstr.
12953         ("clrstrsico"): Remove, replace by ...
12954         ("clrstr_short_64", "clrstr_short_31"): ... these new patterns.
12955         ("clrstrsi_64"): Rename to "clrstr_long_64".
12956         ("clrstrsi_31"): Rename to "clrstr_long_31".
12957         ("cmpstrdi", "cmpstrsi"): Call s390_expand_cmpstr.
12958         ("cmpstr_const"): Remove, replace by ...
12959         ("cmpstr_short_64", "cmpstr_short_31"): ... these new patterns.
12960         ("cmpstr_64"): Rename to "cmpstr_long_64".
12961         ("cmpstr_31"): Rename to "cmpstr_long_31".
12962
12963 2002-09-16  Kazu Hirata  <kazu@cs.umass.edu>
12964
12965         * ABOUT-NLS: Follow spelling conventions.
12966         * ChangeLog: Likewise.
12967         * ChangeLog.1: Likewise.
12968         * ChangeLog.2: Likewise.
12969         * ChangeLog.3: Likewise.
12970         * ChangeLog.4: Likewise.
12971         * ChangeLog.5: Likewise.
12972         * ChangeLog.6: Likewise.
12973         * FSFChangeLog.10: Likewise.
12974         * FSFChangeLog.11: Likewise.
12975         * c-common.c: Likewise.
12976         * c-lex.c: Likewise.
12977         * c-objc-common.c: Likewise.
12978         * cppexp.c: Likewise.
12979         * cppinit.c: Likewise.
12980         * cpplex.c: Likewise.
12981         * doloop.c: Likewise.
12982         * flow.c: Likewise.
12983         * function.c: Likewise.
12984         * integrate.c: Likewise.
12985         * loop.c: Likewise.
12986         * reg-stack.c: Likewise.
12987         * reload.h: Likewise.
12988         * ssa.c: Likewise.
12989
12990 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
12991
12992         * Makefile.in (vmsdbgout.o): Depend on $(TARGET_H)
12993         * vmsdbgout.c: Include "target.h".
12994
12995 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
12996
12997         * ChangeLog: Follow spelling conventions.
12998         * ChangeLog.0: Likewise.
12999         * ChangeLog.1: Likewise.
13000         * ChangeLog.2: Likewise.
13001         * ChangeLog.4: Likewise.
13002         * ChangeLog.6: Likewise.
13003         * config.gcc: Likewise.
13004         * dwarfout.c: Likewise.
13005         * reload1.c: Likewise.
13006         * simplify-rtx.c: Likewise.
13007         * unwind-sjlj.c: Likewise.
13008         * config/avr/avr.h: Likewise.
13009         * config/d30v/d30v.h: Likewise.
13010         * config/frv/frv.c: Likewise.
13011         * config/frv/frv.h: Likewise.
13012         * config/ip2k/ip2k.h: Likewise.
13013         * config/m88k/m88k-move.sh: Likewise.
13014         * config/stormy16/stormy16.c: Likewise.
13015         * config/stormy16/stormy16.h: Likewise.
13016         * doc/extend.texi: Likewise.
13017         * doc/interface.texi: Likewise.
13018         * doc/invoke.texi: Likewise.
13019         * doc/md.texi: Likewise.
13020         * doc/rtl.texi: Likewise.
13021         * doc/tm.texi: Likewise.
13022         * doc/trouble.texi: Likewise.
13023         * ginclude/float.h: Likewise.
13024         * treelang/treelang.texi: Likewise.
13025
13026 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13027
13028         * i386-protos.h (i386_pe_dllexport_name_p,
13029         i386_pe_dllimport_name_p, i386_pe_unique_section,
13030         i386_pe_declare_function_type, i386_pe_record_external_function,
13031         i386_pe_record_exported_symbol, i386_pe_asm_file_end): Add
13032         prototype.
13033         * i386/t-cygwin (winnt.o): Depend on $(TM_P_H).
13034         * i386/t-interix (winnt.o): Likewise.
13035
13036         * v850-protos.h (v850_output_addr_const_extra): Prototype.
13037
13038 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13039
13040         * config/mips/netbsd.h (TARGET_OS_CPP_BUILTINS): Add
13041         MIPS ABI CPP macros.
13042         (TARGET_CPU_CPP_BUILTINS): Redefine.
13043         (SUBTARGET_EXTRA_SPECS): Remove subtarget_endian_default.
13044         (SUBTARGET_ENDIAN_DEFAULT_SPEC): Remove.
13045
13046 2002-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13047
13048         * ia64/aix.h (TARGET_OS_CPP_BUILTINS): Fix typo.
13049
13050 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13051
13052         * ChangeLog: Follow spelling conventions.
13053         * ChangeLog.0: Likewise.
13054         * ChangeLog.1: Likewise.
13055         * ChangeLog.2: Likewise.
13056         * ChangeLog.3: Likewise.
13057         * ChangeLog.4: Likewise.
13058         * ChangeLog.5: Likewise.
13059         * ChangeLog.6: Likewise.
13060         * FSFChangeLog.10: Likewise.
13061         * FSFChangeLog.11: Likewise.
13062         * c-common.c: Likewise.
13063         * c-common.h: Likewise.
13064         * c-format.c: Likewise.
13065         * c-opts.c: Likewise.
13066         * cpplib.c: Likewise.
13067         * langhooks.h: Likewise.
13068         * real.c: Likewise.
13069         * reg-stack.c: Likewise.
13070         * toplev.c: Likewise.
13071         * config/arm/arm.c: Likewise.
13072         * config/arm/arm.md: Likewise.
13073         * config/arm/linux-gas.h: Likewise.
13074         * config/arm/netbsd.h: Likewise.
13075         * config/c4x/c4x.c: Likewise.
13076         * config/c4x/c4x.h: Likewise.
13077         * config/c4x/c4x.md: Likewise.
13078         * config/c4x/libgcc.S: Likewise.
13079         * config/fr30/fr30.md: Likewise.
13080         * config/frv/frv.md: Likewise.
13081         * config/ia64/ia64.md: Likewise.
13082         * config/mips/mips.h: Likewise.
13083         * config/mn10300/mn10300.c: Likewise.
13084         * config/stormy16/stormy16.c: Likewise.
13085         * config/v850/v850.md: Likewise.
13086         * doc/extend.texi: Likewise.
13087         * doc/invoke.texi: Likewise.
13088         * doc/md.texi: Likewise.
13089
13090 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13091
13092         * config/netbsd.h (LIB_SPEC): Include the appropriate pthread
13093         library if -pthread is specified.
13094
13095 2002-09-15  Jason Thorpe  <thorpej@wasabisystems.com>
13096
13097         * config.gcc (*-*-netbsd*): Set thread_file to 'posix'
13098         for --enable-threads=yes and --enable-threads=posix.
13099
13100 2002-09-15  Kazu Hirata  <kazu@cs.umass.edu>
13101
13102         * config/sparc/cypress.md: Replace Sparc with SPARC.
13103         * config/sparc/freebsd.h: Likewise.
13104         * config/sparc/gmon-sol2.c: Likewise.
13105         * config/sparc/hypersparc.md: Likewise.
13106         * config/sparc/lb1spc.asm: Likewise.
13107         * config/sparc/lb1spl.asm: Likewise.
13108         * config/sparc/linux.h: Likewise.
13109         * config/sparc/linux64.h: Likewise.
13110         * config/sparc/lynx.h: Likewise.
13111         * config/sparc/sol2.h: Likewise.
13112         * config/sparc/sparc-modes.def: Likewise.
13113         * config/sparc/sparc.c: Likewise.
13114         * config/sparc/sparc.h: Likewise.
13115         * config/sparc/sparc.md: Likewise.
13116         * config/sparc/sparclet.md: Likewise.
13117         * config/sparc/supersparc.md: Likewise.
13118         * config/sparc/sysv4.h: Likewise.
13119         * config/sparc/vxsim.h: Likewise.
13120         * config/sparc/vxsparc64.h: Likewise.
13121
13122 2002-09-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13123
13124         * c-lex.c (cb_ident): Mark variable with ATTRIBUTE_UNUSED.
13125         * collect2.c (ignore_library, aix_std_libs): Move into the context
13126         where it is used.
13127         * m68hc11.c (m68hc11_autoinc_compatible_p): Delete prototype.
13128         (autoinc_mode, m68hc11_make_autoinc_notes): Add prototypes.
13129         * m88k.c (output_call): Wrap variables with macro controlling use.
13130         * rs6000.md: Likewise.  Const-ify variable.
13131         * sh.h (ASM_OUTPUT_LABELREF): Likewise.
13132         * final.c (only_leaf_regs_used): Likewise.
13133         * regrename.c (maybe_mode_change): Mark parameter with
13134         ATTRIBUTE_UNUSED.
13135         * reload.c (find_valid_class): Likewise.  Likewise for variable.
13136         (find_reloads_address_1): Likewise.
13137         * varasm.c (weak_finish): Wrap variable with macro controlling use.
13138
13139 2002-09-14  Marek Michalkiewicz  <marekm@amelek.gda.pl>
13140
13141         * config/avr/avr.c (output.h): Move after inclusion of tree.h.
13142
13143 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13144
13145         * ChangeLog: Follow spelling conventions.
13146         * ChangeLog.0: Likewise.
13147         * ChangeLog.2: Likewise.
13148         * ChangeLog.3: Likewise.
13149         * ChangeLog.4: Likewise.
13150         * ChangeLog.5: Likewise.
13151         * ChangeLog.6: Likewise.
13152         * cppfiles.c: Likewise.
13153         * cppinit.c: Likewise.
13154         * cpplib.h: Likewise.
13155         * cse.c: Likewise.
13156         * debug.h: Likewise.
13157         * df.c: Likewise.
13158         * dominance.c: Likewise.
13159         * hashtable.c: Likewise.
13160         * hashtable.h: Likewise.
13161         * loop.c: Likewise.
13162         * config/arm/README-interworking: Likewise.
13163         * config/arm/arm.c: Likewise.
13164         * config/arm/arm.h: Likewise.
13165         * config/arm/arm.md: Likewise.
13166         * config/dsp16xx/dsp16xx.h: Likewise.
13167         * config/frv/frv.c: Likewise.
13168         * config/frv/frv.h: Likewise.
13169         * config/ip2k/ip2k.h: Likewise.
13170         * config/rs6000/rs6000.c: Likewise.
13171         * config/stormy16/stormy-abi: Likewise.
13172         * config/stormy16/stormy16.h: Likewise.
13173         * config/v850/v850.c: Likewise.
13174
13175 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13176
13177         * loop.c: Fix a comment typo.
13178
13179 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13180
13181         * config/fr30/fr30.h: Fix comment typos.
13182         * config/frv/frv.c: Likewise.
13183         * config/i386/xmmintrin.h: Likewise.
13184         * config/mips/mips.c: Likewise.
13185         * config/sh/sh.c: Likewise.
13186
13187 2002-09-14  Kazu Hirata  <kazu@cs.umass.edu>
13188
13189         * haifa-sched.c: Follow spelling conventions.
13190         * regclass.c: Likewise.
13191         * regrename.c: Likewise.
13192         * config/fp-bit.c: Likewise.
13193         * config/frv/frv.h: Likewise.
13194         * config/m88k/m88k.c: Likewise.
13195         * config/mcore/mcore.c: Likewise.
13196         * config/rs6000/darwin.h: Likewise.
13197         * config/rs6000/gnu.h: Likewise.
13198         * config/rs6000/linux.h: Likewise.
13199         * config/rs6000/linux64.h: Likewise.
13200         * config/rs6000/rs6000.c: Likewise.
13201         * config/rs6000/rs6000.h: Likewise.
13202         * config/sh/sh.c: Likewise.
13203         * config/sparc/sparc.c: Likewise.
13204         * config/sparc/ultra1_2.md: Likewise.
13205
13206 2002-09-14  Stephane Carrez  <stcarrez@nerim.fr>
13207
13208         * config/m68hc11/m68hc11.md ("movdi_internal"): Allow any offsetable
13209         memory operand when source is 0 (K constraint).
13210         ("movsi_internal"): Likewise.
13211         ("movdf_internal"): Likewise.
13212         ("movsf_internal"): Likewise.
13213
13214 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13215
13216         * config/rs6000/rs6000.c (rs6000_elf_encode_section_info): Use
13217         targetm.binds_local_p to set SYMBOL_REF_FLAG.
13218         (rs6000_xcoff_encode_section_info): Likewise.
13219         * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
13220
13221 2002-09-10  Theodore A. Roth  <troth@verinet.com>
13222
13223         * gcc/config/avr/avr.h: Set default options for C++ for avr.
13224
13225 2002-09-13  Roger Sayle  <roger@eyesopen.com>
13226
13227         * stmt.c (struct nexting): Remove unused alt_end_label field.
13228         (expand_start_loop): Delete initialization of alt_end_label.
13229         (expand_start_null_loop): Likewise.
13230         (expand_exit_loop_if_false): Delete updating of alt_end_label.
13231
13232 2002-09-13  Richard Henderson  <rth@redhat.com>
13233
13234         * Makefile.in (toplev.o): Depend on real.h.
13235         (print-rtl.o, varasm.o, ifcvt.o): Likewise.
13236
13237 2002-09-14  Alan Modra  <amodra@bigpond.net.au>
13238
13239         * doc/tm.texi (DBX_OUTPUT_NFUN): Describe.
13240         * dbxout.c (dbxout_function_end): Use DBX_OUTPUT_NFUN.
13241         * config/rs6000/linux64.h (DBX_OUTPUT_NFUN): Define.
13242
13243 2002-09-13  Nathan Sidwell  <nathan@codesourcery.com>
13244
13245         * ggc-common.c (ggc_mark_roots): Don't iterate NULL hash tables.
13246
13247 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13248
13249         * config.gcc (ia64*-*-aix*, ia64*-*-elf*, ia64*-*-freebsd*,
13250         ia64*-*-linux*): Set extra_parts.
13251         * config/ia64/t-aix (EXTRA_PARTS): Remove.
13252         * config/ia64/t-ia64 (EXTRA_PARTS): Remove.
13253
13254 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13255
13256         * config/h8300/fixunssfsi.c: Replace H8/S with H8S.
13257         * config/h8300/h8300.c: Likewise.
13258         * config/h8300/h8300.h: Likewise.
13259         * config/h8300/h8300.md: Likewise.
13260         * doc/invoke.texi: Likewise.
13261
13262 2002-09-13  Kazu Hirata  <kazu@cs.umass.edu>
13263
13264         * config/h8300/h8300.c (h8300_init_once): Fix formatting.
13265
13266 2002-09-13  Richard Henderson  <rth@redhat.com>
13267
13268         * config/alpha/alpha.md (attr type): Add callpal.
13269         (imb, trap, load_tp, set_tp): Use it.
13270         * config/alpha/ev4.md (ev4_callpal): New.
13271         * config/alpha/ev5.md (ev5_callpal): New.
13272         * config/alpha/ev6.md (ev6_ibr): Handle callpal.
13273         * config/alpha/alpha.c (alphaev4_insn_pipe): Handle TYPE_CALLPAL.
13274         (alphaev5_insn_pipe): Likewise.
13275
13276 2002-09-13  Andreas Jaeger  <aj@suse.de>
13277
13278         * Makefile.in (print-rtl.o): Depend on CONFIG_H.
13279
13280 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13281
13282         * config/ia64/t-hpux (LIBGCC1_TEST, STMP_FIXPROTO,
13283         LIB2ADDEH): New, set to NULL.
13284         (SHLIB_EXT, SHLIB_LINK, SHLIB_INSTALL, SHLIB_MKMAP): New.
13285
13286 2002-09-13  Steve Ellcey  <sje@cup.hp.com>
13287
13288         * config/ia64/quadlib.c (_U_Qfcmp): Make extern.
13289         (_U_Qfcnvfxt_quad_to_sgl): Remove declaration.
13290         (_U_Qfeq, _U_Qfne, _U_Qfgt, _U_Qfge, U_Qflt, U_Qfle, _U_Qfcomp):
13291         Add declarations.
13292         (_U_Qfneg): Remove.
13293
13294 2002-09-13 Dhananjay Deshpande  <dhananjayd@kpit.com>
13295
13296         * config/h8300/h8300.h (EIGHTBIT_CONSTANT_ADDRESS_P): Add support
13297         for H8/300, H8S aa:8 mode.
13298         (TINY_CONSTANT_ADDRESS_P): Add support for H8S aa:16 mode.
13299         * config/h8300/h8300.c (h8300_adjust_insn_length): Adjust length
13300         for H8/300 aa:8 mode.
13301
13302 2002-09-13  Hartmut Penner  <hpenner@de.ibm.com>
13303
13304         * config/s390/s390.md ("trap", "conditional_trap", "*trap"): New
13305         insns.
13306
13307 2002-09-12  Richard Henderson  <rth@redhat.com>
13308
13309         * Makefile.in (HOST_PRINT): Use print-rtl1.o
13310         (print-rtl.o): Don't define GENERATOR_FILE.
13311         (print-rtl1.o): Rename from $(BUILD_PREFIX_1)print-rtl.o.
13312         * print-rtl.c (print_rtx): Include CONST_DOUBLE fp decimal output
13313         unless GENERATOR_FILE.
13314
13315 2002-09-12  Stan Shebs  <shebs@apple.com>
13316
13317         * config/darwin.h (USER_LABEL_PREFIX): Define here...
13318         * config/i386/darwin.h: ... instead of here.
13319
13320         * target.h (struct gcc_target): New field
13321         terminate_dw2_eh_frame_info.
13322         * target-def.h (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13323         (TARGET_INITIALIZER): Add it.
13324         * dwarf2out.c (output_call_frame_info): Use target hook.
13325         * dwarf2asm.c (dw2_asm_output_delta): Use macro
13326         ASM_OUTPUT_DWARF_DELTA if defined.
13327         * doc/tm.texi (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Document.
13328         (ASM_OUTPUT_DWARF_DELTA): Ditto.
13329         (ASM_OUTPUT_DWARF_OFFSET): Ditto.
13330         (ASM_OUTPUT_DWARF_PCREL): Ditto.
13331         * config.gcc (i[34567]86-*-darwin*): Define extra_parts.
13332         (powerpc-*-darwin*): Ditto.
13333         * crtstuff.c [OBJECT_FORMAT_MACHO]: Update the Mach-O bits
13334         to work correctly for Darwin.
13335         * config/darwin.h (OBJECT_FORMAT_MACHO): Define.
13336         (STARTFILE_SPEC): Add crtbegin.o.
13337         (ENDFILE_SPEC): Define.
13338         (EXTRA_SECTION_FUNCTIONS): Put gcc_except_tab in data segment.
13339         (ASM_PREFERRED_EH_DATA_FORMAT): Handle more cases.
13340         (ASM_OUTPUT_DWARF_DELTA): Define.
13341         (TARGET_TERMINATE_DW2_EH_FRAME_INFO): Define.
13342         * config/darwin.c (darwin_asm_output_dwarf_delta): New function.
13343
13344 2002-09-13  Alan Modra  <amodra@bigpond.net.au>
13345
13346         * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Remove "if"
13347         nesting.  Correct test for non-PowerPC64 ELF ABI_AIX.
13348         * config/rs6000/rs6000.md (load_toc_v4_PIC*): Disable when ABI_AIX.
13349
13350 2002-09-12  Zack Weinberg  <zack@codesourcery.com>
13351
13352         * toplev.c: Move default definition of USER_LABEL_PREFIX...
13353         * defaults.h: ... here.
13354
13355 2002-09-12  Richard Henderson  <rth@redhat.com>
13356
13357         * vax.c: Include tree.h earlier.
13358
13359 2002-09-12  Stan Shebs  <shebs@apple.com>
13360
13361         * config/darwin.c (machopic_finish): Remove #if 0 chunks.
13362         (machopic_operand_p): Ditto.
13363
13364 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13365
13366         * config/arm/arm.c (arm_compute_initial_elimination_offset):
13367         Fix a comment typo.
13368
13369 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13370
13371         * toplev.c (do_abort): Fix a comment typo.
13372
13373 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13374
13375         * cselib.c: Fix comment formatting.
13376         * gengtype.c: Likewise.
13377
13378 2002-09-12  Kazu Hirata  <kazu@cs.umass.edu>
13379
13380         * config/h8300/h8300.md (udivmodqi4): Do not use an expander.
13381         (udivmodhi4): Likewise.
13382
13383 2002-09-12  Graham Stott  <graham.stott@btinternet.com>
13384             Roger Sayle  <roger@eyesopen.com>
13385
13386         * i386.c (any_fp_register_operand, fp_register_operand,
13387         register_and_not_any_fp_reg_operand, register_and_not_fp_reg_operand):
13388         New predicate functions.
13389         * i386-protos.h:  Add their prototypes.
13390         * i386.h: Add them to PREDICATE_CODES.
13391         * i386.md ("*pushsf_rex64"+2, "*pushsf_rex64"+3, "*pushdf_integer"+1,
13392         "*pushdf_integer"+2, "*pushtf_integer"+1, "*pushtf_integer"+2,
13393         "*pushtf_integer"+3, "*pushtf_integer"+4, "*dummy_extendsfdf2"+1,
13394         "*dummy_extendsfdf2"+2, "*dummy_extendsfxf2"+1,
13395         "*dummy_extendsftf2"+1, "*dummy_extendsftf2"+2,
13396         "*dummy_extenddfxf2"+1, "*dummy_extenddftf2"+1,
13397         "*dummy_extenddftf2"+2, "*negsf2_if"+1, "*negsf2_if"+2,
13398         "*negdf2_if_rex64"+1, "*negdf2_if_rex64"+2, "*negxf2_if"+1,
13399         "*negxf2_if"+2, "*negtf2_if"+1, "*negtf2_if"+2, "*abssf2_if"+1,
13400         "*abssf2_if"+2, "*absdf2_if_rex64"+1, "*absdf2_if_rex64"+2,
13401         "*absxf2_if"+1, "*absxf2_if"+2, "*abstf2_if"+1, "*abstf2_if"+2):
13402         Use these new predicates to simplify and correct the use of
13403         FP_REG_P, ANY_FP_REG_P, FP_REGNO_P and any ANY_FP_REGNO_P.
13404
13405 2002-09-12  Jason Merrill  <jason@redhat.com>
13406
13407         * diagnostic.c (output_add_identifier): New fn.
13408         * diagnostic.h: Declare it.
13409
13410         * calls.c (store_one_arg): Use size_in_bytes to determine the
13411         amount of space to push.
13412
13413 2002-09-12  Jakub Jelinek  <jakub@redhat.com>
13414
13415         * config/sparc/linux64.h (STARTFILE_SPEC32): Fix a typo.
13416
13417 2002-09-12  Ulrich Weigand  <uweigand@de.ibm.com>
13418
13419         * config/s390/s390-modes.def (CCAPmode, CCANmode): New CC modes.
13420         * config/s390/s390.c (s390_match_ccmode_set): Support new CC modes.
13421         (s390_select_ccmode): Likewise.
13422         (s390_branch_condition_mask): Likewise.
13423         (optimization_options): Do not set flag_branch_on_count.
13424         (s390_split_branches): Handle doloop branches.
13425         (s390_chunkify_pool): Likewise.
13426         * config/s390/s390.md ("*adddi3_imm_cc", "*addsi3_imm_cc"): New insns.
13427         ("doloop_end"): New expander.
13428         ("doolop_si", "*doloop_si_long", "doloop_di", "*doloop_di_long",
13429         associated splitters): New.
13430
13431 2002-09-11  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
13432
13433         * genattrtab.c (simplify_cond): Remove unused variable(s).
13434         * global.c (record_conflicts): Likewise.
13435         * jump.c (rebuild_jump_labels): Likewise.
13436         * loop.c (scan_loop, check_final_value): Likewise.
13437         * ra-colorize.c (colorize_one_web, assign_colors): Likewise.
13438         * reload1.c (eliminate_regs_in_insn, do_input_reload): Likewise.
13439         * rtlanal.c (reg_set_p): Likewise.
13440         * stmt.c (expand_asm_operands, expand_decl): Likewise.
13441         * genautomata.c (empty_reserv): Remove.
13442         * loop.c (max_luid): Likewise.
13443         * sched-rgn.c (bitlst_table_size): Likewise.
13444
13445 2002-09-11  Nathan Sidwell  <nathan@codesourcery.com>
13446
13447         Reimplement gcov format.
13448         * gcov-io.h: Replace.
13449         * gcov.c: Reimplement.
13450         * gcov-iov.c: New file.
13451         * gcov-dump.c: New file.
13452         * libgcc2.c (L_bb): Replace with ...
13453         (L_gcov): ... this.
13454         (struct bb_function_info, struct bb): Remove.
13455         (inhibit_libc): Never inhibit.
13456         (gcov_list, gcov_crc): New static variables.
13457         (gcov_version_mismatch): New static function.
13458         (__bb_exit_func): Renamed to ...
13459         (__gcov_exit): ... here. Made static. Reimplement.
13460         (__gcov_init_func): Rename to ...
13461         (__gcov_init): ... here. Check version, update crc.
13462         (__bb_fork_func): Rename to ...
13463         (__gcov_flush): ... here.
13464         * libgcc2.h (struct bb, __bb_exit_func, __bb_init_func,
13465         __bb_fork_func, gcov_type, __bb_find_arc_counters): Remove.
13466         * calls.c (expand_call): Call __gcov_flush.
13467         * profile.c (bb_file, last_bb_file_name): Remove.
13468         (bbg_file_name): New global variable.
13469         (output_gcov_string): Remove.
13470         (get_exec_counts): Reimplement.
13471         (branch_prob): Reimplement gcov file writing.
13472         (init_branch_prob): Create bbg_file_name, don't create
13473         bb_file_name.
13474         (end_branch_prob): Adjust. Don't remove counter file when
13475         instrumenting ourselves.
13476         (create_profiler): Adjust.
13477         * doc/gcov.texi (Gcov Data Files): Remove detailed specification,
13478         point to gcov-io.h.
13479         * Makefile.in (LANGUAGES): Add gcov-dump.
13480         (coverageexts): Remove .bb.
13481         (STAGESTUFF): Add gcov-dump.
13482         (LIB2FUNCS_ST): Replace _bb with _gcov.
13483         (profile.o): Depend on gcov-iov.h.
13484         (final.o): Don't depend on profile.h, gcov.h.
13485         (gcov.o): Depend on gcov-iov.h.
13486         (gcov-iov.o): New target.
13487         (gcov-iov): New target.
13488         (gcov-iov.h): New target.
13489         (gcov-dump.o): New target.
13490         (GCOV_DUMP_OBJS): New variable.
13491         (gcov-dump): New target.
13492         (distclean): Remove coverageexts.
13493         (stage1): Remove coverageexts.
13494
13495 2002-09-11  Hartmut Penner  <hpenner@de.ibm.com>
13496
13497         * fold-const.c (make_range): Only narrow to signed range if
13498         the signed range is smaller than the unsigned range.
13499
13500 2002-09-12  Alan Modra  <amodra@bigpond.net.au>
13501
13502         * emit-rtl.c (set_mem_size): New function.
13503         * expr.h (set_mem_size): Declare.
13504         * config/rs6000/rs6000.c (expand_block_move_mem): Exterminate.
13505         (expand_block_move): Instead, use adjust_address and
13506         replace_equiv_address to generate proper aliasing info.
13507         Move common code out of conditionals.  Localize vars.
13508
13509 2002-09-11  Eric Botcazou  <ebotcazou@libertysurf.fr>
13510
13511         * optabs.c (expand_binop): Minor cleanup.
13512         (expand_twoval_binop): Convert CONST_INTs like in expand_binop.
13513
13514 2002-09-11  Dan Nicolaescu  <dann@ics.uci.edu>
13515
13516         * print-tree.c (print_node): Print the restrict qualifier.
13517
13518 2002-09-11  Janis Johnson  <janis187@us.ibm.com>
13519
13520         * doc/install.texi: Fix typos.
13521
13522 2002-09-11  Zack Weinberg  <zack@codesourcery.com>
13523
13524         * Makefile.in: Remove all references to s-under and underscore.c.
13525         * collect2.c, tlink.c: Change all uses of prepends_underscore
13526         to look directly at USER_LABEL_PREFIX.
13527
13528 2002-09-11  David Edelsohn  <edelsohn@gnu.org>
13529
13530         * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Append
13531         alignment to csect.
13532         (rs6000_xcoff_unique_section): Only set section name for public
13533         data.
13534         (rs6000_xcoff_section_type_flags): Store log2 alignment in flags.
13535         * config/rs6000/xcoff.h (TARGET_ASM_SELECT_SECTION): Remove
13536         duplicate definition.
13537
13538 2002-09-10  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13539
13540         * pa.md (extzv): Check predicates before emitting extzv_32.
13541         (insv): Likewise.
13542
13543 2002-09-10  Ulrich Weigand  <uweigand@de.ibm.com>
13544
13545         * config/s390/s390.h (MOVE_MAX): Define to correct value.
13546         (MAX_MOVE_MAX): Define.
13547         (MOVE_BY_PIECES_P): Define.
13548         (CLEAR_BY_PIECES_P): Define.
13549
13550 2002-09-10  Denis Chertykov  <denisc@overta.ru>
13551
13552         * config/avr/avr.md (movstrhi): Use right operands for conversion.
13553
13554 2002-09-10  Richard Earnshaw  <rearnsha@arm.com>
13555
13556         PR c/7873
13557         * arm.md (insv): Use reg_or_int_operand for operand[3].
13558
13559 2002-09-10  David Edelsohn  <edelsohn@gnu.org>
13560
13561         * rs6000.c (rs6000_assemble_visibility): Protect declaration
13562         inside macro.  Correct function definition typo.
13563         (rs6000_xcoff_section_type_flags): New function.
13564         (TARGET_SECTION_TYPE_FLAGS): Remove definition.
13565         (rs6000_elf_section_type_flags): Call default_section_type_flags_1
13566         with appropriate PIC test.
13567         (rs6000_xcoff_select_section): Use decl_readonly_section_1 to
13568         determine readonly.
13569         (rs6000_binds_local_p): Combine PIC flags.
13570         * sysv4.h (TARGET_SECTION_TYPE_FLAGS): Define.
13571         * xcoff.h (TARGET_SECTION_TYPE_FLAGS): Define.
13572
13573 2002-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13574
13575         * h8300.md: Fix signed/unsigned warnings.
13576         * mcore.md: Likewise.
13577         * mn10300.c (mask_ok_for_mem_btst): Likewise.
13578
13579 2002-09-09  Per Bothner  <per@bothner.com>
13580
13581         * print-tree.c (print_node):  In a STRING_CST, escape non-ascii
13582         characters, and only print TREE_STRING_LENGTH chars.
13583
13584 2002-09-09  Steve Ellcey  <sje@cup.hp.com>
13585
13586         * config/ia64/hpux.h (TARGET_HPUX_LD): New, define true.
13587         (ASM_FILE_END) New.
13588         * config/ia64/ia64.h (TARGET_HPUX_LD): New, define false.
13589         * config/ia64/ia64-protos.h (ia64_hpux_asm_file_end): New.
13590         * config/ia64/ia64.c (ia64_asm_output_external): Create list
13591         of external functions if TARGET_HPUX_LD is true.
13592         (ia64_hpux_add_extern_decl): New, routine to put names on
13593         list of external functions.
13594         (ia64_hpux_asm_file_end): Put out declarations for external
13595         functions if and only if they are used.
13596
13597 2002-09-09  John David Anglin  <dave@hiauly1.hia.nrc.ca>
13598
13599         * pa.md (exception_receiver, builtin_setjmp_receiver): Add blockage
13600         on TARGET_64BIT before pic register restore.
13601
13602 2002-09-09  David Edelsohn  <edelsohn@gnu.org>
13603
13604         * doc/tm.texi (TARGET_HAVE_SRODATA_SECTION): New description.
13605         (TARGET_HAVE_TLS): New description.
13606
13607 2002-09-09  Janis Johnson  <janis187@us.ibm.com>
13608
13609         * doc/extend.texi (Statement Exprs): Fix broken link.
13610
13611 2002-09-09  Denis Chertykov  <denisc@overta.ru>
13612
13613         * config/avr/avr.md (movstrhi, clrstrhi): Use gen_int_mode for
13614         right conversion of operands[1].
13615
13616 2002-09-09  Ulrich Weigand  <uweigand@de.ibm.com>
13617
13618         * config/s390/s390.md ("*tmdi_reg", "*tmsi_reg"): Do not mark as
13619         commutative.  Use "nonimmediate_operand" instead of "register_operand"
13620         as predicate for operand 0.  Move to after the "*tmXX_mem" insns.
13621
13622         ("*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem"): Do not mark
13623         as commutative.
13624
13625         ("*anddi3_ni", "*andsi3_ni", "*iordi3_ni", "*iorsi3_ni"): Do not
13626         mark as commutative.  Use "nonimmediate_operand" instead of
13627         "register_operand" as predicate for operand 1.
13628
13629         ("movstrictsi"): Fix typo in insn name.
13630
13631 2002-09-09  Jan Hubicka  <jh@suse.cz>
13632
13633         * i386.c (index_register_operand): New.
13634         * i386.h (predicate_codes): Add new predicate.
13635         * i386.md (lea_general_*): Use index_register_operand
13636         (ashift to lea splitter): Do not produce invalid leas
13637         (ashift to mov+ashift split): New.
13638
13639 2002-09-09  Nick Clifton  <nickc@redhat.com>
13640
13641         * config/fr30/fr30.c (output.h): Move after inclusion of tree.h.
13642         Fix folding marks.
13643
13644 2002-09-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
13645             J"orn Rennecke <joern.rennecke@superh.com>
13646
13647         * sh/sh.h (OVERRIDE_OPTIONS): align_functions is in bytes, not bits.
13648
13649 2002-09-09  Alan Modra  <amodra@bigpond.net.au>
13650
13651         * config/rs6000/rs6000.c (rs6000_binds_local_p): Return bool.
13652         (function_ok_for_sibcall): Use binds_local_p.  Respect longcall
13653         attributes.
13654
13655 2002-09-08  Nathan Sidwell  <nathan@codesourcery.com>
13656
13657         * basic_block.h (gcov_type): Explain why it is signed.
13658         * final.c: Don't include profile.h.
13659         (struct function_list, functions_head, functions_tail,
13660         end_final): Moved to profile.c
13661         (final): Move arc chaining code to profile.c.
13662         * function.c (prepare_function_start): Remove duplicate line.
13663         * output.h (end_final): Remove prototype.
13664         * predict.c (estimate_loops_at_level): Use gcov_type.
13665         * profile.c (struct function_list, functions_head,
13666         functions_tail): Moved from final.c
13667         (need_func_profiler): Remove.
13668         (instrument_edges): Don't set need_func_profiler.
13669         (get_exec_counts): Avoid signed/unsigned warning.
13670         (compute_checksum): Use crc32.
13671         (branch_prob): Adjust. Chain onto functions_head.
13672         (init_branch_prob): Absorb init_edge_profiler.
13673         (init_edge_profiler): Remove.
13674         (create_profiler): Moved and renamed from final.c:end_final.
13675         Emit data and constructor.
13676         (output_func_start_profiler): Remove.
13677         * profile.h (struct profile_info): checksum is unsigned.
13678         * rtl.h (output_func_start_profiler): Remove prototype.
13679         (create_profiler): Declare.
13680         * toplev.c (compile_file): Call create_profiler, if instrumenting
13681         arcs. Don't call end_final.
13682
13683 2002-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13684
13685         * fr30.c (fr30_print_operand): Fix bug in output of CONST_DOUBLE.
13686
13687 2002-09-08  Richard Henderson  <rth@redhat.com>
13688
13689         * dwarf2.h (DW_OP_call_ref): Rename from DW_OP_calli.
13690         (DW_OP_GNU_push_tls_address): New.
13691         (DW_OP_lo_user): Fix.
13692         * dwarf2out.c (INTERNAL_DW_OP_tls_addr): New.
13693         (dwarf_stack_op_name): Handle it, plus other dwarf3 opcodes.
13694         (size_of_loc_descr): Likewise.
13695         (output_loc_operands): Handle INTERNAL_DW_OP_tls_addr.
13696         (add_AT_location_description): Take a dw_loc_descr_ref not an rtx.
13697         (loc_descriptor_from_tree): Handle TLS variables.
13698         (rtl_for_decl_location): Do avoid_constant_pool_reference here ...
13699         (add_location_or_const_value_attribute): ... not here.  Defer
13700         to loc_descriptor_from_tree for TLS variables.
13701
13702         * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): New.
13703         * config/i386/i386.c (i386_output_dwarf_dtprel): New.
13704         * config/i386/i386-protos.h: Update.
13705
13706 2002-09-08  Roger Sayle  <roger@eyesopen.com>
13707
13708         PR optimization/6405
13709         * unroll.c (loop_iterations): last_loop_insn should be the previous
13710         non-note instruction before loop->end.
13711         * loop.c (strength_reduce): The conditional jump is the last
13712         non-note instruction before loop->end (as above).
13713
13714 2002-09-08  Roger Sayle  <roger@eyesopen.com>
13715
13716         * combine.c (try_combine): Handle the case that undobuf.other_insn
13717         has been turned into a return or unconditional jump, by inserting
13718         a BARRIER if necessary.
13719         (simplify_set):  Test if a condition code setter has a constant
13720         comparison at compile time, if so convert this insn to a no-op move
13721         and update/simplify the condition code user (undobuf.other_insn).
13722
13723 2002-09-08  Krister Walfridsson  <cato@df.lth.se>
13724
13725         * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Redefine.
13726         (CLEAR_INSN_CACHE): Define.
13727
13728 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
13729
13730         * basic-block.h: Fix comment formatting.
13731         * c-common.c: Likewise.
13732         * c-common.h: Likewise.
13733         * c-lex.c: Likewise.
13734         * c-pretty-print.c: Likewise.
13735         * cfglayout.c: Likewise.
13736         * cfgloop.c: Likewise.
13737         * defaults.h: Likewise.
13738         * et-forest.c: Likewise.
13739         * explow.c: Likewise.
13740         * function.h: Likewise.
13741         * gcov.c: Likewise.
13742         * genattrtab.c: Likewise.
13743         * gengtype.c: Likewise.
13744         * ifcvt.c: Likewise.
13745         * libgcc2.c: Likewise.
13746         * loop.c: Likewise.
13747         * profile.c: Likewise.
13748         * ra-build.c: Likewise.
13749         * real.c: Likewise.
13750         * rtl.h: Likewise.
13751         * tracer.c: Likewise.
13752         * tree-inline.c: Likewise.
13753         * varasm.c: Likewise.
13754
13755 2002-09-08  Jan Hubicka  <jh@suse.cz>
13756
13757         * emit-rtl.c (set_mem_attributes_minus_bitpos): Fix array_ref
13758         handling.
13759
13760         * loop.c (loop_givs_reduce):  Emit addition after.
13761
13762 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
13763
13764         * varasm.c (default_assemble_visibility): Rename from
13765         assemble_visibility.
13766         * output.h: Here too.
13767         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): And here.
13768         * config/rs6000/rs6000.c (rs6000_assemble_visibility): And here.
13769
13770 2002-09-08  Alan Modra  <amodra@bigpond.net.au>
13771
13772         * reload.c (find_reloads <p constraint>): Pass operand_mode to
13773         find_reloads_address.
13774
13775 2002-09-08  Kazu Hirata  <kazu@cs.umass.edu>
13776
13777         * config/h8300/h8300.md (udivmodqi4): Enable on H8/300.
13778         (anonymous pattern): Likewise.
13779
13780 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13781
13782         * machmode.def: Add modes for half-float vectors.
13783
13784 2002-09-07  Scott Snyder  <snyder@fnal.gov>
13785
13786         PR target/7374
13787         * config/alpha/alpha.md (abstf2): Fix typo: 'neg' for 'abs'.
13788
13789 2002-09-07  Roger Sayle  <roger@eyesopen.com>
13790
13791         * basic-block.h (struct loop): Remove unused cont_dominator field.
13792
13793 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13794
13795         * varasm.c (decode_rtx_const): Don't check undefined field for
13796         CONST_VECTOR.
13797
13798 2002-09-07  Glen Nakamura  <glen@imodulo.com>
13799
13800         PR opt/7814
13801         * sched-deps.c (sched_analyze_insn): Make sure to add insn
13802         to reg_last->sets after flushing the dependency lists to guarantee
13803         that subsequent clobbers will be dependent on it.
13804
13805 2002-09-07  Igor Shevlyakov <igor@microunity.com>
13806
13807         * combine.c (simplify_shift_const): Calculate rotate count
13808         correctly for vector operands.
13809
13810 2002-09-07  Ansgar Esztermann  <ansgar@thphy.uni-duesseldorf.de>
13811
13812         * c-typeck.c (c_tree_expr_nonnegative_p): New function.
13813         (build_binary_op): Call c_tree_expr_nonnegative_p rather than
13814         tree_expr_nonnegative_p.
13815         (build_conditional_expr): Likewise.
13816         * c-tree.h (c_tree_expr_nonnegative_p): Declare.
13817
13818 2002-09-07  Richard Henderson  <rth@redhat.com>
13819
13820         * builtins.def (inf, inff, infl): Mark const.
13821         (huge_val, huge_valf, huge_vall): Likewise.
13822         (BUILT_IN_GETEXP, BUILT_IN_GETMAN): Remove.
13823
13824         * real.c (ereal_inf): Clear E before use.
13825
13826 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
13827
13828         * config/h8300/h8300.md (udivmodqi4): Split the pattern into
13829         an expander and an anonymous pattern.  Zero out the upper half
13830         of the dividend in the expander.
13831         (udivmodqi4): Likewise.
13832
13833 2002-09-07  Kazu Hirata  <kazu@cs.umass.edu>
13834
13835         * config/h8300/h8300.c: Fix formatting.
13836         * config/h8300/h8300.h: Likewise.
13837         * config/h8300/h8300.md: Likewise.
13838
13839 2002-09-07  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
13840
13841         * cfgcleanup.c (try_crossjump_to_edge): Fix updating of liveness
13842         information.
13843
13844 2002-09-07  Graham Stott  <graham.stott@btinternet.com>
13845
13846        * rtlanal.c (dead_or_set_regno_p): Fix typo.
13847
13848 2002-09-07  Alan Modra  <amodra@bigpond.net.au>
13849
13850         * config/rs6000/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
13851
13852         * doc/tm.texi (TARGET_ASM_ASSEMBLE_VISIBILITY): Describe.
13853         * target-def.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13854         (TARGET_ASM_OUT): Add the above here.
13855         * target.h (struct gcc_target): Add "visibility" field.
13856         * varasm.c (maybe_assemble_visibility): Call targetm visibility func.
13857         * config/rs6000/rs6000.c (rs6000_assemble_visibility): New function.
13858         (TARGET_ASM_ASSEMBLE_VISIBILITY): Define.
13859         (rs6000_legitimize_reload_address, first_reg_to_save): Formatting.
13860
13861 2002-09-06  Ziemowit Laski <zlaski@apple.com>
13862
13863         * c-lang.c (objc_is_id): New stub.
13864         * c-tree.h (objc_is_id): New forward declaration.
13865         * c-typeck.c (build_c_cast): Do not strip protocol
13866         qualifiers from 'id' type.
13867         * objc/objc-act.c (objc_comptypes): Correct handling
13868         of protocol qualifiers.
13869         (objc_is_id): New.
13870
13871 Fri Sep  6 13:10:08 2002  Jeffrey A Law  (law@redhat.com)
13872
13873         * pentium.md (pentium-firstvboth): Fix typo.
13874
13875 2002-09-06      Dhananjay Deshpande <dhananjayd@kpit.com>
13876
13877         * h8300.c (enum shift_alg): Move to earlier in h8300.c.
13878         (enum shift_type, enum h8_cpu): Likewise.
13879         (INL, ROT, LOP, SPC macros): Likewise.
13880         (shift_alg_qi, shift_alg_hi, shift_alg_si): Likewise.  Lose
13881         const designator.
13882         (h8300_init_once): Update shift_alg_{qi,hi,si} to use more
13883         space efficient algorithms when optimize for codesize.
13884
13885 Fri Sep  6 16:35:32 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13886
13887         Fix PR/1727 and long-standing failing testcase
13888         objc/formal-protocol-6.m.
13889         * objc-act.c (build_protocol_expr): If compiling for the GNU
13890         runtime, create a list of Protocol statically allocated instances
13891         if it doesn't exist, then add the Protocol object to this same
13892         list.
13893         (get_objc_string_decl): Fixed typo/bug - TREE_VALUE had been used
13894         instead of TREE_CHAIN.
13895
13896 Fri Sep  6 16:17:33 2002  Nicola Pero  <n.pero@mi.flashnet.it>
13897
13898         * objc/objc-act.c (dump_interface): Enlarged the char * buffer to
13899         10k.  Fixed category dumping - print out category names with the
13900         proper syntax.  Print '@end\n' and not '\n@end' at the end of the
13901         interface.
13902         (finish_objc): Fixed the -gen-decls option.  It was printing out
13903         only the last class.  Dump an interface declaration of all classes
13904         being compiled instead.
13905
13906 2002-09-06  Jason Thorpe  <thorpej@wasabisystems.com>
13907
13908         * config/arm/arm-protos.h (arm_gen_return_addr_mask): New
13909         prototype.
13910         * config/arm/arm.c (arm_gen_return_addr_mask): New function.
13911         * config/arm/arm.h (MASK_RETURN_ADDR): Use arm_gen_return_addr_mask
13912         if not APCS26 and not Thumb or ARMv4-or-higher.  Use gen_int_mode
13913         rather than GEN_INT.
13914         * config/arm/arm.md (UNSPEC_CHECK_ARCH): Define.
13915         (return_addr_mask, *check_arch2): New.
13916
13917 2002-09-06  Ulrich Weigand  <uweigand@de.ibm.com>
13918
13919         * config/s390/s390.md ("*adddi3_cc", "*adddi3_cconly",
13920         "*adddi3_cconly2", "*adddi3_64", "*adddi3_31", "adddi3",
13921         "*addsi3_carry1_cc", "*addsi3_carry1_cconly",
13922         "*addsi3_carry2_cc", "*addsi3_carry2_cconly",
13923         "*addsi3_cc", "*addsi3_cconly", "*addsi3_cconly2", "addsi3",
13924         "adddf3", "*adddf3", "*adddf3_ibm",
13925         "addsf3", "*addsf3", "*addsf3_ibm",
13926         "muldi3", "mulsi3", "mulsidi3",
13927         "muldf3", "*muldf3", "*muldf3_ibm",
13928         "mulsf3", "*mulsf3", "*mulsf3_ibm",
13929         "*anddi3_cc", "*anddi3_cconly", "anddi3",
13930         "*andsi3_cc", "*andsi3_cconly", "andsi3",
13931         "*iordi3_cc", "*iordi3_cconly", "iordi3",
13932         "*iorsi3_cc", "*iorsi3_cconly", "iorsi3",
13933         "*xordi3_cc", "*xordi3_cconly", "xordi3",
13934         "*xorsi3_cc", "*xorsi3_cconly", "xorsi3"): Use "nonimmediate_operand"
13935         instead of "register_operand" as predicate for "%0" operand.
13936
13937 2002-09-06  Jakub Jelinek  <jakub@redhat.com>
13938
13939         * configure.in (HAVE_AS_OFFSETABLE_LO10): Use -xarch=v9
13940         unconditionally when gcc_cv_as_flags64 checks are gone.
13941         * configure: Rebuilt.
13942
13943 2002-09-06  Alan Modra  <amodra@bigpond.net.au>
13944
13945         * config/rs6000/rs6000.md (extzvsi_internal2): Revert most of
13946         2002-07-26 change.  Comment.
13947
13948 2002-09-05  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
13949
13950         * frv.c (frv_unique_section, frv_select_section,
13951         frv_select_rtx_section): Delete.
13952         (frv_in_small_data_p): New.
13953         (TARGET_ASM_UNIQUE_SECTION, TARGET_ASM_SELECT_SECTION,
13954         TARGET_ASM_SELECT_RTX_SECTION): Delete.
13955         (TARGET_IN_SMALL_DATA_P): Define.
13956
13957 2002-09-05  Dale Johannesen  <dalej@apple.com>
13958
13959         * reload1.c (reload):  Retain only those memory clobbers
13960         added for variable-array handling.
13961
13962 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
13963
13964         * config/arm/arm.c (arm_return_in_memory): Implement ATPCS
13965         return-in-memory rules.
13966         * config/arm/arm.h (ARM_FLAG_ATPCS, TARGET_ATPCS): Define.
13967
13968 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
13969
13970         * config/rs6000/xcoff.h (HOT_TEXT_SECTION_NAME): Delete.
13971         (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Delete.
13972
13973 2002-09-05  Jason Thorpe  <thorpej@wasabisystems.com>
13974
13975         * real.c: Avoid parse error if FLOAT_WORDS_BIG_ENDIAN is
13976         not a compile-time constant for the non-IBM case.
13977         * config/arm/arm-protos.h (arm_float_words_big_endian): New
13978         prototype.
13979         * config/arm/arm.c (arm_float_words_big_endian): New function.
13980         * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Define __VFP_FP__
13981         if TARGET_VFP  and not TARGET_HARD_FLOAT.
13982         (ARM_FLAG_VFP, TARGET_VFP): Define.
13983         (FLOAT_WORDS_BIG_ENDIAN): Use arm_float_words_big_endian.
13984
13985 2002-09-05  David Edelsohn  <edelsohn@gnu.org>
13986
13987         * doc/install.texi: Correct text of s390-*-linux* and s390x-*-linux*
13988         URLs.  Fix AIX wording.
13989
13990 2002-09-05  Stan Shebs  <shebs@apple.com>
13991
13992         * config/rs6000/rs6000.c (rs6000_override_options): Make -fpic and
13993         -fPIC equivalent on Darwin.
13994
13995 Thu Sep  5 16:27:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
13996
13997         * sh.c (sh_expand_builtin): Return early if encountering an
13998         error_mark for a type.
13999
14000 2002-09-05  Ulrich Weigand  <uweigand@de.ibm.com>
14001
14002         * config/s390/s390.c (s390_expand_plus_operand): Do not require
14003         double-word scratch register.
14004         config/s390/s390.md ("reload_indi", "reload_insi"): Adapt.
14005
14006         ("*tmqi_ext", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem", "*tmqi_mem",
14007         "*cli"): Replace s_operand by memory_operand.
14008         ("cmpstrdi", "cmpstrsi"): Replace s_operand by general_operand.
14009
14010 2002-09-05  Kazu Hirata  <kazu@cs.umass.edu>
14011
14012         * config/h8300/h8300.c (asm_file_start): Add a missing
14013         semicolon.
14014
14015 2002-09-04  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
14016
14017         * c-typeck.c (build_function_call): Remove unused variable(s).
14018         (build_c_cast): Likewise.
14019         * calls.c (rtx_for_function_call): Likewise.
14020         * cfglayout.c (duplicate_insn_chain): Likewise.
14021         * cfgloop.c (flow_loop_nodes_find): Likewise.
14022         * cfgrtl.c (split_edge): Likewise.
14023         * df.c (df_ref_create): Likewise.
14024         * except.c (expand_end_catch): Likewise.
14025         * expr.c (emit_push_insn, store_constructor, expand_expr): Likewise.
14026         * function.c (emit_return_into_block): Likewise.
14027         (reposition_prologue_and_epilogue_notes): Likewise.
14028         * gengtype.c (get_file_basename, write_gc_structure_fields): Likewise.
14029         * combine.c (subst_prev_insn, need_refresh): Remove.
14030         * dwarf2out.c (primary_filename): Remove.
14031         * final.c (new_block): Remove.
14032         * gcse.c (orig_bb_count): Remove.
14033
14034 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14035
14036         * dsp16xx-protos.h (dsp16xx_compare_gen): Change to bool.
14037         * dsp16xx.c (dsp16xx_compare_gen): Likewise.
14038         * dsp16xx.md: Treat dsp16xx_compare_gen as a bool.  Call functions
14039         directly instead of using a function pointer.
14040
14041 2002-09-04  Krister Walfridsson  <cato@df.lth.se>
14042
14043         * config/i386/i386.h (GOT_SYMBOL_NAME): Define.
14044         * config/i386/i386.c (output_set_got): Use GOT_SYMBOL_NAME.
14045         (ix86_output_addr_diff_elt) Likewise.
14046         (x86_output_mi_thunk) Likewise.
14047         * config/i386/netbsd.h (GOT_SYMBOL_NAME): Redefine.
14048
14049 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14050
14051         * frv.c (frv_encode_section_info): Fix error in last change.
14052
14053 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14054
14055         * config/rs6000/rs6000.c (rs6000_flag_pic): New variable.
14056         (rs6000_elf_encode_section_info): ATTRIBUTE_UNUSED.
14057         (TARGET_BINDS_LOCAL_P): Define.
14058         (rs6000_override_options): Save original flag_pic value.
14059         (rs6000_elf_select_section): Call default_elf_select_section_1.
14060         (rs6000_elf_unique_section): Call default_unique_section_1.
14061         (rs6000_elf_in_small_data_p): New function.
14062         (rs6000_xcoff_asm_named_section): Determine storage mapping class.
14063         (rs6000_xcoff_select_section): Update based on defaults.
14064         (rs6000_xcoff_unique_section): Set to basic name if not common.
14065         (rs6000_binds_local_p): New function.
14066         * config/rs6000/sysv4.h (SUBTARGET_OVERRIDE_OPTIONS): Set
14067         targetm.have_srodata_section if SDATA_EABI.
14068         (TARGET_IN_SMALL_DATA_P): Define.
14069
14070 2002-09-04  Dale Johannesen  <dalej@apple.com>
14071
14072         * varasm.c (struct rtx_const, decode_rtx_const):
14073         Make veclo and vechi fields not share storage.
14074
14075 Thu Sep  5 00:34:33 2002  J"orn Rennecke <joern.rennecke@superh.com>
14076
14077         * loop.c (scan_loop): Don't mark separate insns out of a libcall
14078         for moving.
14079         (move_movables): Abort if we see the first insn of a libcall.
14080
14081 2002-09-04  Richard Henderson  <rth@redhat.com>
14082
14083         * builtin-types.def (BT_FN_FLOAT): New.
14084         (BT_FN_DOUBLE, BT_FN_LONG_DOUBLE): New.
14085         * builtins.def (BUILT_IN_INF, BUILT_IN_INFF, BUILT_IN_INFL,
14086         BUILT_IN_HUGE_VAL, BUILT_IN_HUGE_VALF, BUILT_IN_HUGE_VALL): New.
14087         * builtins.c (fold_builtin_inf): New.
14088         (fold_builtin): Call it.
14089         * real.c (ereal_inf): New.
14090         * real.h: Declare it.
14091         * doc/extend.texi: Document new builtins.
14092
14093 2002-09-04  Richard Henderson  <rth@redhat.com>
14094
14095         * cse.c (cse_insn): Avoid subreg games if the equivalence
14096         is already in the proper mode.
14097
14098 2002-09-04  Eric Botcazou  <ebotcazou@multimania.com>
14099
14100         PR c/7102
14101         * optabs.c (expand_binop): Convert CONST_INTs in all cases.
14102
14103 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14104
14105         * pa.md (setccfp0, setccfp1): New patterns.
14106
14107 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14108
14109         * frv-protos.h (frv_init_builtins, frv_expand_builtin,
14110         frv_select_section, frv_select_rtx_section,
14111         frv_encode_section_info, frv_unique_section): Delete.
14112         * frv.c: Update for target hooks.
14113         * frv.h (STRIP_NAME_ENCODING, SLOW_ZERO_EXTEND, SELECT_SECTION,
14114         SELECT_RTX_SECTION, ENCODE_SECTION_INFO, UNIQUE_SECTION,
14115         EASY_DIV_EXPR, MD_INIT_BUILTINS, MD_EXPAND_BUILTIN): Delete.
14116
14117 2002-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14118
14119         * ip2k-protos.h (function_prologue, function_epilogue,
14120         encode_section_info): Update to match target hook specification.
14121         * ip2k.c: Wrap `MDR' code in IP2K_MD_REORG_PASS.
14122         (function_prologue, function_epilogue, encode_section_info):
14123         Update to match target hook specification.
14124         * ip2k.h (SELECT_SECTION, SELECT_RTX_SECTION, ASM_OPEN_PAREN,
14125         ASM_CLOSE_PAREN, EASY_DIV_EXPR): Delete.
14126         (NOTICE_UPDATE_CC): Cast to void.
14127         * ip2k.md: Add defaults in switch statements.
14128
14129 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14130
14131         * doc/trouble.texi (Interoperation): Update information about C++ ABI
14132         issues.
14133
14134 2002-09-04  Jason Thorpe  <thorpej@wasabisystems.com>
14135
14136         * config/sparc/t-netbsd64: Disable multilib for now.
14137
14138 2002-09-04  David Edelsohn  <edelsohn@gnu.org>
14139
14140         * target-def.h (TARGET_HAVE_SRODATA_SECTION): New macro.
14141         * target.h (gcc_target): Add have_srodata_section member.
14142         * varasm.c (section_category): Add SECCAT_SRODATA.
14143         (categorize_decl_for_section): Return SECCAT_SRODATA for sdata if
14144         READONLY_SDATA_SECTION defined.
14145         (decl_readonly_section_1): True for SECCAT_SRODATA also.
14146         (default_elf_select_section_1): Map SECCAT_SRODATA to .sdata2.
14147         (default_unique_section_1): Likewise.
14148
14149 2002-09-04  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14150
14151         * expr.c (emit_group_load): Revise to allow splitting TCmode source
14152         into DImode pieces.
14153
14154         * pa-64.h (LONG_DOUBLE_TYPE_SIZE): Define to 128.
14155         * pa64-regs.h (CLASS_CANNOT_CHANGE_MODE_P): Inhibit changes from SImode
14156         for floating-point register class.
14157         * pa.c (function_arg): Fix handling of modes wider than one word for
14158         TARGET_64BIT.
14159
14160 Wed Sep  4 18:48:10 2002  J"orn Rennecke <joern.rennecke@superh.com>
14161
14162         * combine.c (make_compound_operation): Don't generate zero / sign
14163         extensions in floating point modes.
14164
14165 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14166
14167         * doc/c-tree.texi: Fix overfull hboxes.
14168         * doc/cppopts.texi: Ditto.
14169         * doc/extend.texi: Ditto.
14170         * doc/gty.texi: Ditto.
14171         * doc/invoke.texi: Ditto.
14172         * doc/makefile.texi: Ditto.
14173         * doc/rtl.texi: Ditto.
14174         * doc/standards.texi: Ditto.
14175         * doc/tm.texi: Ditto.
14176
14177 2002-09-04  Richard Henderson  <rth@redhat.com>
14178
14179         * c-common.c (builtin_define_with_hex_fp_value): New.
14180         (builtin_define_float_constants): Use it.  Fix H_FLOAT mant_dig.
14181
14182 2002-09-04  Janis Johnson  <janis187@us.ibm.com>
14183
14184         * doc/invoke.texi (-fshort-wchar): Move to Code Generation Options.
14185         (-fpcc-struct-return, -freg-struct-return, -fshort-enums,
14186         -fshort-double, -fshort-wchar, -fpack-struct, -fleading-underscore):
14187         Warn that these options can break ABI compatibility.
14188
14189 2002-09-04  Richard Henderson  <rth@redhat.com>
14190
14191         * real.c (ereal_to_decimal): Add digits parameter.
14192         * real.h (REAL_VALUE_TO_DECIMAL): Remove format; add digits parameter.
14193         * c-pretty-print.c (pp_c_real_literal): Update call.
14194         * print-rtl.c (print_rtx): Likewise.
14195         * print-tree.c (print_node_brief, print_node): Likewise.
14196         * sched-vis.c (print_value): Likewise.
14197         * config/arc/arc.c (arc_print_operand): Likewise.
14198         * config/c4x/c4x.c (c4x_print_operand): Likewise.
14199         * config/i370/i370.h (PRINT_OPERAND): Likewise.
14200         * config/i386/i386.c (print_operand): Likewise.
14201         * config/i960/i960.c (i960_print_operand): Likewise.
14202         * config/ip2k/ip2k.c (asm_output_float): Likewise.
14203         * config/m32r/m32r.c (m32r_print_operand): Likewise.
14204         * config/m68hc11/m68hc11.c (print_operand): Likewise.
14205         * config/m68k/hp320.h (PRINT_OPERAND, ASM_OUTPUT_FLOAT_OPERAND,
14206         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14207         * config/m68k/m68k.h (ASM_OUTPUT_FLOAT_OPERAND,
14208         ASM_OUTPUT_DOUBLE_OPERAND, ASM_OUTPUT_LONG_DOUBLE_OPERAND): Likewise.
14209         * config/m68k/sun2o4.h (ASM_OUTPUT_FLOAT_OPERAND,
14210         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14211         * config/m68k/sun3.h (ASM_OUTPUT_FLOAT_OPERAND,
14212         ASM_OUTPUT_DOUBLE_OPERAND): Likewise.
14213         * config/mips/mips.c (print_operand): Likewise.
14214         * config/ns32k/ns32k.c (print_operand): Likewise.
14215         * config/pdp11/pdp11.h (PRINT_OPERAND): Likewise.
14216         * config/vax/vax.h (PRINT_OPERAND): Likewise.
14217         * doc/tm.texi (REAL_VALUE_TO_DECIMAL): Update docs.
14218
14219 2002-09-04  Bob Wilson  <bob.wilson@acm.org>
14220
14221         * config/xtensa/elf.h (TARGET_SECTION_TYPE_FLAGS): Define to
14222         xtensa_multibss_section_type_flags.
14223         * config/xtensa/xtensa.c (xtensa_multibss_section_type_flags): Define.
14224
14225 2002-09-04  Richard Henderson  <rth@redhat.com>
14226
14227         * doc/install-old.texi: Don't mention enquire.
14228         * doc/sourcebuild.texi: Update float.h description.
14229
14230 Wed Sep  4 11:22:14 2002  J"orn Rennecke <joern.rennecke@superh.com>
14231
14232         * sh.md (mperm_w_little, mperm_w_big): Supply mode for zero_extract.
14233
14234 2002-09-03  Roger Sayle  <roger@eyesopen.com>
14235
14236         * builtins.c (build_function_call_expr): Remove prototype, export
14237         as non-static and add a comment above function definition.
14238         (builtin_mathfn_code): New function to check for math builtins.
14239         (fold_builtin): Optimize sqrt(0.0) as 0.0, sqrt(1.0) as 1.0,
14240         exp(0.0) as 1.0, and log(1.0) as 0.0.  Optimize exp(log(x)) and
14241         log(exp(x)) as x.  Optimize sqrt(exp(x)) as exp(x/2.0) and
14242         log(sqrt(x)) as log(x)/2.0.
14243
14244         * tree.h: Prototype build_function_call_expr and builtin_mathfn_code
14245         in new "builtins.c" section.  Place the build_range_type prototype
14246         with the other prototypes from "tree.c".
14247
14248         * fold-const.c (fold) [ABS_EXPR]: Fold fabs(sqrt(x)) as sqrt(x)
14249         and fabs(exp(x)) as exp(x).  [MULT_EXPR]: Fold sqrt(x)*sqrt(y)
14250         as sqrt(x*y) and exp(x)*exp(y) as exp(x+y). [RDIV_EXPR]: Fold
14251         x/exp(y) as x*exp(-y).
14252
14253 2002-09-03  David Edelsohn  <edelsohn@gnu.org>
14254
14255         * varasm.c (default_section_type_flags): Append _1 to name with
14256         shlib parameter.  Use original name to call new function with
14257         implicit flag_pic.
14258         (decl_readonly_section): Likewise.
14259         (default_elf_select_section): Likewise.
14260         (default_unique_section): Likewise.
14261         (default_bind_local_p): Likewise.
14262         (categorize_decl_for_section): Add shlib parameter to use in place
14263         of implicit flag_pic.
14264         * output.h: Declare new functions with _1 and shlib argument.
14265
14266 2002-09-03  Janis Johnson  <janis187@us.ibm.com>
14267
14268         * doc/install.texi: Fix typos, formatting problems, and obvious
14269         overfull/underfull boxes.
14270
14271         * Makefile.in (TEXI_GCC_FILES): Add compat.texi.
14272         * doc/gcc.texi (Top): Add new chapter, Binary Compatibility, and
14273         include its file, compat.texi.
14274         * doc/compat.texi: New file with new chapter, Binary Compatibility.
14275
14276 2002-09-03  Neil Booth  <neil@daikokuya.co.uk>
14277
14278         Debian BTS Bug #157416
14279         * cpphash.h (FIRST, LAST, CUR, RLIMIT): Fix definitions.
14280         * cpplib.c (destringize_and_run): Kludge around getting
14281         tokens from in-progress macros.
14282         (_cpp_do__Pragma): Simplify.
14283
14284 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14285
14286         * config/ia64/ia64.h (EXTRA_SPECS): Remove cpp_cpu.
14287         (CPP_CPU_SPEC): Remove.
14288         (TARGET_CPU_CPP_BUILTINS): New.
14289         * config/ia64/hpux.h (CPP_PREDEFINES): Remove.
14290         (CPP_SPEC): Remove.
14291         (TARGET_OS_CPP_BUILTINS): New.
14292         * config/ia64/linux.h (CPP_PREDEFINES): Remove.
14293         (TARGET_OS_CPP_BUILTINS): New.
14294         * config/ia64/aix.h (CPP_SPEC): Move some stuff to
14295         TARGET_OS_CPP_BUILTINS.
14296         (CPP_PREDEFINES): Remove.
14297         (CPLUSPLUS_CPP_SPEC): Remove.
14298         (TARGET_OS_CPP_BUILTINS): New.
14299
14300 2002-09-03  Richard Henderson  <rth@redhat.com>
14301
14302         * Makefile.in (USER_H): Add ginclude/float.h.
14303         (FLOAT_H): Remove.
14304         (stmp-int-hdrs, install-mkheaders): Don't handle FLOAT_H.
14305         (mostlyclean): Don't remove float.h intermediate files.
14306         (distclean): Don't remove float.h.
14307         * config.gcc: Remove all float_format references.
14308         * configure.in (float_format, float_h_file): Remove.
14309
14310         * c-common.c: Include tree-inline.h.
14311         (builtin_define_with_int_value): New.
14312         (builtin_define_type_precision): Use it.
14313         (builtin_define_float_constants): New.
14314         (cb_register_builtins): Use it.  Define __FLT_RADIX__ and
14315         __FLT_EVAL_METHOD__.
14316         * defaults.h (TARGET_FLT_EVAL_METHOD): New.
14317         * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): New.
14318         * config/m68k/m68k.h (TARGET_FLT_EVAL_METHOD): New.
14319         * doc/tm.texi (INTEL_EXTENDED_IEEE_FORMAT): Mention moto 96-bit format.
14320         (TARGET_FLT_EVAL_METHOD): New.
14321
14322         * config/float-c4x.h, config/float-i128.h, config/float-i32.h,
14323         config/float-i386.h, config/float-i64.h, config/float-m68k.h,
14324         config/float-sh.h, config/float-sparc.h, config/float-vax.h: Remove.
14325         * ginclude/float.h: New.
14326
14327 2002-09-03  Stan Shebs  <shebs@apple.com>
14328
14329         * config/darwin.h (WARN_FOUR_CHAR_CONSTANTS): Remove, never used.
14330         (DWARF2_DEBUGGING_INFO): Remove until assembler accepts Dwarf-2.
14331         (PREFERRED_DEBUGGING_TYPE): Ditto.
14332         (ASM_OUTPUT_IDENT): Remove empty definition.
14333
14334 2002-09-03  Steve Ellcey  <sje@cup.hp.com>
14335
14336         * config.gcc (ia64*-*-hpux*): Add ia64-c.o to c_target and
14337         cxx_target.
14338         * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Register pragma
14339         handling routine for builtin pragma.
14340         * config/ia64/ia64-protos.h (ia64_hpux_handle_builtin_pragma):
14341         Registered pragma handling routine.
14342         * ia64-c.c (ia64_hpux_handle_builtin_pragma): Ditto.
14343         (ia64_hpux_add_pragma_builtin) New subroutine used by above.
14344         If builtin pragma seen for math routine and C89 conformance is
14345         requested use different math function in order to set errno.
14346         * t-ia64 (ia64-c.o): Add new rule for new file.
14347
14348 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14349
14350         * config/s390/s390.md ("movti"): Add Q->Q alternative.
14351         ("*movdi_64", "*movdi_31", "*movsi", "movhi", "movqi_64",
14352         "movqi", "*movdf_64", "*movdf_31", "*movsf"): Likewise.
14353
14354         ("*movti_ss", "*movdi_ss", "*movsi_ss", "*movdf_ss",
14355         "*movsf_ss"): Remove.
14356
14357 2002-09-03  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14358
14359         * pa32-regs.h (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P):
14360         Delete macros.
14361
14362 2002-09-03   Arati Dikey  <aratid@kpit.com>
14363
14364         * h8300.c (asm_file_start): Corrected optimization comment.
14365
14366 2002-09-03  Stan Shebs  <shebs@apple.com>
14367
14368         * c-lang.c (recognize_objc_keyword): Remove, no longer used.
14369         * c-tree.h (recognize_objc_keyword): Remove decl.
14370         * c-typeck.c (comp_target_types): Update a comment.
14371
14372 2002-09-03  Ulrich Weigand  <uweigand@de.ibm.com>
14373
14374         * config/s390/s390.c (s390_decompose_address): Remove STRICT parameter
14375         and register validity checks.
14376         (general_s_operand): Adapt to s390_decompose_address interface change.
14377         (q_constraint): Likewise.
14378         (s390_expand_plus_operand): Likewise.
14379         (legitimiate_address_p): Likewise.
14380         (legitimate_la_operand_p): Likewise.
14381         (legitimize_la_operand): Likewise.
14382         (print_operand_address): Likewise.
14383         (print_operand): Likewise.
14384
14385 Tue Sep  3 11:32:14 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14386
14387         PR objc/5956:
14388         * objc/objc-act.c (build_typed_selector_reference): Fix typo which
14389         was causing the new selector never to match the existing ones
14390         (Patch by Alexander Malmberg <alexander@malmberg.org>).
14391
14392 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14393
14394         * config/i386/i386.md ("femms"): Add "memory" attr "none".
14395
14396 2002-09-03  Graham Stott  <graham.stott@btinternet.com>
14397
14398         * expr.c (expand_expr): Remove extraneous comment and code.
14399
14400 2002-09-02  Nathan Sidwell  <nathan@codesourcery.com>
14401
14402         * stor-layout (finish_builtin_struct): Renamed and moved from c++
14403         frontend. Take chain of fields. Allow NULL alignment type.
14404         * tree.h (finish_builtin_struct): Declare.
14405
14406 2002-09-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14407
14408         * config/alpha/alpha.c config/alpha/alpha.h config/alpha/alpha.md
14409         config/alpha/elf.h config/alpha/unicosmk.h config/alpha/vms.h
14410         config/arc/arc.c config/arc/arc.h config/arm/aout.h
14411         config/arm/arm.c config/arm/arm.h config/arm/arm.md
14412         config/avr/avr.h config/d30v/d30v.h config/dbxcoff.h
14413         config/dbxelf.h config/elfos.h config/fr30/fr30.h config/frv/frv.h
14414         config/i386/i386.c config/i386/i386.md config/i386/sco5.h
14415         config/ia64/ia64.h config/ip2k/ip2k.h config/m68hc11/m68hc11.md
14416         config/m68k/hp320.h config/m68k/m68k.c config/m68k/m68k.md
14417         config/m68k/mot3300.h config/m68k/sgs.h config/m68k/tower-as.h
14418         config/m88k/m88k.c config/m88k/m88k.h config/mcore/mcore-pe.h
14419         config/mcore/mcore.c config/mips/mips.c config/mips/mips.h
14420         config/ns32k/ns32k.md config/pa/pa-linux.h config/pa/pa.c
14421         config/pa/pa.h config/pa/pa.md config/romp/romp.h
14422         config/rs6000/linux64.h config/rs6000/lynx.h
14423         config/rs6000/rs6000.c config/rs6000/sysv4.h config/rs6000/xcoff.h
14424         config/s390/s390.c config/s390/s390.md config/sh/sh.c
14425         config/sparc/sparc.c config/sparc/sysv4.h
14426         config/stormy16/stormy16.h dbxout.c defaults.h dwarf2out.c
14427         dwarfout.c except.c final.c varasm.c vmsdbgout.c: Replace
14428         ASM_OUTPUT_INTERNAL_LABEL macro with a call to the target hook.
14429
14430         * doc/tm.texi: Update docs.
14431         * default.h (ASM_OUTPUT_INTERNAL_LABEL): Don't define.
14432         * system.h (ASM_OUTPUT_INTERNAL_LABEL): Poison.
14433
14434 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14435
14436         * Makefile.in (sdbout.o, insn-output.o): Depend on $(TARGET_H).
14437         * arc.c (arc_internal_label): New function.
14438         (TARGET_ASM_INTERNAL_LABEL): Set.
14439         * arc.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14440         * arm.c (arm_internal_label): New function.
14441         (TARGET_ASM_INTERNAL_LABEL): Set.
14442         * arm.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14443         * arm/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14444         * i370.c (i370_internal_label): New function.
14445         (TARGET_ASM_INTERNAL_LABEL): Set.
14446         * i370.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14447         * m68k/hp320.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14448         * m68k.c (m68k_hp320_internal_label): New function.
14449         (TARGET_ASM_INTERNAL_LABEL): Set.
14450         * m88k.c (m88k_internal_label): New function.
14451         (TARGET_ASM_INTERNAL_LABEL): Set.
14452         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14453         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Set to target hook.
14454         * genoutput.c (output_prologue): Include target.h in output file.
14455         * output.h (default_internal_label): Declare.
14456         * sdbout.c: Include target.h.
14457         * target-def.h (TARGET_ASM_INTERNAL_LABEL): Set and add to
14458         TARGET_ASM_OUT.
14459         * target.h (internal_label): Add to struct gcc_target.
14460         * varasm.c (default_internal_label): New function.
14461
14462 2002-08-31  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
14463
14464         * alpha.h (ASM_OUTPUT_INTERNAL_LABEL): Delete.
14465         * avr.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14466         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14467         * cris.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14468         * d30v.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14469         * darwin.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14470         * dsp16xx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14471         * elfos.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14472         * h8300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14473         * i386/att.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14474         * i386/bsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14475         * i386/i386-coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14476         * i386/lynx-ng.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14477         * i386/lynx.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14478         * i386/sco5.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14479         * i960/i960.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14480         * m68k/3b1.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14481         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14482         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14483         * m68k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14484         * m68k/mot3300.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14485         * m68k/tower-as.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14486         * m88k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14487         * mcore.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14488         * mips.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14489         * mmix-protos.h (mmix_asm_output_internal_label): Likewise.
14490         * mmix.c (mmix_asm_output_internal_label): Likewise.
14491         * mmix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14492         * ns32k.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14493         * pa.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14494         * pdp11.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14495         * romp.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14496         * rs6000/xcoff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14497         * sh/coff.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14498         * sh/elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14499         * sparc/freebsd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14500         * sparc/linux.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14501         * sparc/linux64.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14502         * sparc/netbsd-elf.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14503         * sparc/pbd.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14504         * sparc/sol2.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14505         * sparc.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14506         * sparc/vxsim.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14507         * stormy16.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14508         * svr3.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14509         * vax.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
14510
14511         * defaults.h (ASM_OUTPUT_INTERNAL_LABEL): Define.
14512
14513 2002-08-31  Richard Henderson  <rth@redhat.com>
14514
14515         * expr.c (block_move_libcall_safe_for_call_parm): Fix thinko.
14516
14517 2002-08-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14518
14519         * pa.c (pa_globalize_label): Add ATTRIBUTE_UNUSED to prototype.
14520
14521 2002-08-30  Richard Henderson  <rth@redhat.com>
14522
14523         PR opt/7515
14524         * c-objc-common.c: Include target.h.
14525         (c_cannot_inline_tree_fn): Don't auto-inline functions that
14526         don't bind locally.  Factor setting DECL_UNINLINABLE.
14527         * Makefile.in (c-objc-common.o): Update.
14528
14529 2002-08-30  Janis Johnson  <janis187@us.ibm.com>
14530
14531         * doc/install.texi (Configuration, Building): Fix a typo and
14532         some formatting directives.
14533
14534 2002-08-30  Paul Koning <pkoning@equallogic.com>
14535
14536         * doc/c-tree.texi (RDIV_EXPR): Fix typo.
14537         * doc/rtl.texi (post_modify): Remove misplaced text, remove "not
14538         implemented" note.
14539         * doc/md.texi (IP2K): Move machine-specific constraints before MIPS
14540         for alphabetic order.
14541         * doc/tm.texi (TARGET_FLOAT_FORMAT): Update description for
14542         VAX_FLOAT_FORMAT.  Remove reference to HOST_FLOAT_FORMAT.
14543         (VAX_HALFWORD_ORDER): Document.
14544         (LARGEST_EXPONENT_IS_NORMAL): Remove note about being only for
14545         IEEE float format.
14546         (TARGET_SCHED_ISSUE_RATE): Reword reference to MAX_DFA_ISSUE_RATE.
14547         (ASM_OUTPUT_LABEL_REF): Fix font.
14548         (CASE_VECTOR_SHORTEN_MODE): Ditto.
14549
14550 2002-08-30  Denis Chertykov  <denisc@overta.ru>
14551
14552         * config/ip2k/ip2k.c (ip2k_set_compare): Remove all const_double
14553         stuff.
14554         (ip2k_gen_unsigned_comp_branch): Handle CONST_INT and
14555         CONST_DOUBLE constants.
14556
14557 2002-08-30  Jason Thorpe  <thorpej@wasabisystems.com>
14558
14559         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Move language-
14560         related defines to...
14561         (SUBTARGET_LANGUAGE_CPP_BUILTINS): ...here.
14562         * config/alpha/netbsd.h (SUBTARGET_LANGUAGE_CPP_BUILTINS): Redefine
14563         as a no-op.
14564
14565 2002-08-30  Krister Walfridsson  <cato@df.lth.se>
14566
14567         * config/arm/arm.c (arm_asm_output_labelref): New function.
14568         * config/arm/arm.h (ASM_OUTPUT_LABELREF): Call arm_asm_output_labelref.
14569         * config/arm/arm-protos.h: Add prototype for arm_asm_output_labelref.
14570
14571 2002-08-29  Rodney Brown  <rbrown64@csc.com.au>
14572
14573         * doc/install.texi (Specific, alpha*-dec-osf*): Add "virtual
14574         memory exhausted" workarounds.
14575
14576 2002-08-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14577
14578         * diagnostic.c (fancy_abort): Don't repeat "internal error".
14579         * toplev.c (crash_signal): Likewise.
14580
14581 Fri Aug 30 00:33:37 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14582
14583         * doc/cpp.texi (__NEXT_RUNTIME__): Extended documentation.
14584         * doc/invoke.texi (-fnext-runtime, -Wno-protocol, -Wselector):
14585         Extended, updated documentation.
14586         (-Wundeclared-selector): Documented.
14587
14588 2002-08-29  Jason Thorpe  <thorpej@wasabisystems.com>
14589
14590         * config/chorus.h: Consistently define *_DEBUGGING_INFO with
14591         the value 1.  Do not undef before defining.
14592         * config/darwin.h: Likewise.
14593         * config/dbx.h: Likewise.
14594         * config/dbxcoff.h: Likewise.
14595         * config/dbxelf.h: Likewise.
14596         * config/elfos.h: Likewise.
14597         * config/interix.h: Likewise.
14598         * config/lynx-ng.h: Likewise.
14599         * config/lynx.h: Likewise.
14600         * config/netware.h: Likewise.
14601         * config/psos.h: Likewise.
14602         * config/svr3.h: Likewise.
14603         * config/alpha/alpha.h: Likewise.
14604         * config/alpha/elf.h: Likewise.
14605         * config/alpha/vms.h: Likewise.
14606         * config/arc/arc.h: Likewise.
14607         * config/arm/aout.h: Likewise.
14608         * config/arm/coff.h: Likewise.
14609         * config/c4x/c4x.h: Likewise.
14610         * config/h8300/h8300.h: Likewise.
14611         * config/i386/cygwin.h: Likewise.
14612         * config/i386/djgpp.h: Likewise.
14613         * config/i386/gas.h: Likewise.
14614         * config/i386/gstabs.h: Likewise.
14615         * config/i386/i386-coff.h: Likewise.
14616         * config/i386/i386-interix.h: Likewise.
14617         * config/i386/sco5.h: Likewise.
14618         * config/i386/svr3dbx.h: Likewise.
14619         * config/i386/sysv3.h: Likewise.
14620         * config/i386/win32.h: Likewise.
14621         * config/i386/x86-64.h: Likewise.
14622         * config/i960/i960.h: Likewise.
14623         * config/ia64/ia64.h: Likewise.
14624         * config/ip2k/ip2k.h: Likewise.
14625         * config/m32r/m32r.h: Likewise.
14626         * config/m68k/3b1.h: Likewise.
14627         * config/m68k/3b1g.h: Likewise.
14628         * config/m68k/ccur-GAS.h: Likewise.
14629         * config/m68k/coff.h: Likewise.
14630         * config/m68k/hp2bsd.h: Likewise.
14631         * config/m68k/hp310g.h: Likewise.
14632         * config/m68k/hp320g.h: Likewise.
14633         * config/m68k/hp3bsd.h: Likewise.
14634         * config/m68k/hp3bsd44.h: Likewise.
14635         * config/m68k/linux-aout.h: Likewise.
14636         * config/m68k/m68k-aout.h: Likewise.
14637         * config/m68k/mot3300.h: Likewise.
14638         * config/m68k/netbsd.h: Likewise.
14639         * config/m68k/openbsd.h: Likewise.
14640         * config/m68k/pbb.h: Likewise.
14641         * config/m68k/plexus.h: Likewise.
14642         * config/m68k/sun2.h: Likewise.
14643         * config/m68k/sun3.h: Likewise.
14644         * config/m68k/tower-as.h: Likewise.
14645         * config/m68k/vxm68k.h: Likewise.
14646         * config/m88k/aout-dbx.h: Likewise.
14647         * config/m88k/m88k-aout.h: Likewise.
14648         * config/mcore/mcore-elf.h: Likewise.
14649         * config/mcore/mcore-pe.h: Likewise.
14650         * config/mips/elf.h: Likewise.
14651         * config/mips/elf64.h: Likewise.
14652         * config/mips/iris5gas.h: Likewise.
14653         * config/mips/iris6.h: Likewise.
14654         * config/mips/mips.h: Likewise.
14655         * config/mips/sni-gas.h: Likewise.
14656         * config/mmix/mmix.h: Likewise.
14657         * config/ns32k/netbsd.h: Likewise.
14658         * config/pa/pa64-hpux.h: Likewise.
14659         * config/romp/romp.h: Likewise.
14660         * config/rs6000/sysv4.h: Likewise.
14661         * config/rs6000/xcoff.h: Likewise.
14662         * config/sh/coff.h: Likewise.
14663         * config/sh/elf.h: Likewise.
14664         * config/sparc/linux64.h: Likewise.
14665         * config/sparc/liteelf.h: Likewise.
14666         * config/sparc/netbsd.h: Likewise.
14667         * config/sparc/openbsd.h: Likewise.
14668         * config/sparc/pbd.h: Likewise.
14669         * config/sparc/sp64-elf.h: Likewise.
14670         * config/sparc/sp86x-elf.h: Likewise.
14671         * config/sparc/sparc.h: Likewise.
14672         * config/vax/vax.h: Likewise.
14673         * config/vax/vaxv.h: Likewise.
14674
14675 2002-08-29  "Dhananjay R. Deshpande" <dhananjayd@kpit.com>
14676
14677         * h8300.c (shift_alg_hi): Various tweaks to improve performance
14678         of HImode shifts.
14679         (get_shift_alg): Corresponding changes.
14680
14681 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14682
14683         * som.h (ALWAYS_STRIP_DOTDOT): Define to 1.
14684
14685 2002-08-29  Richard Henderson  <rth@redhat.com>
14686
14687         * expr.h (enum block_op_methods): New.
14688         (emit_block_move): Update prototype.
14689         * expr.c (block_move_libcall_safe_for_call_parm): New.
14690         (emit_block_move_via_loop): New.
14691         (emit_block_move): Use them.  New argument METHOD.
14692         (emit_push_insn): Always respect the given alignment.
14693         (expand_assignment): Update call to emit_block_move.
14694         (store_expr, store_field, expand_expr): Likewise.
14695         * builtins.c (expand_builtin_apply): Likewise.
14696         (expand_builtin_memcpy, expand_builtin_va_copy): Likewise.
14697         * function.c (expand_function_end): Likewise.
14698         * config/sh/sh.c (sh_initialize_trampoline): Likewise.
14699         * config/sparc/sparc.c (sparc_va_arg): Likewise.
14700         * calls.c (expand_call, emit_library_call_value_1): Likewise.
14701         (save_fixed_argument_area): Use emit_block_move with
14702         BLOCK_OP_CALL_PARM instead of move_by_pieces.
14703         (restore_fixed_argument_area): Likewise.
14704         (store_one_arg): Fix alignment parameter to emit_push_insn.
14705
14706 2002-08-29  John David Anglin  <dave@hiauly1.hia.nrc.ca>
14707
14708         * install.texi (hppa64-hp-hpux11*): Document installation procedure.
14709
14710 2002-08-29  Catherine Moore  <clm@redhat.com>
14711
14712         * config/v850/v850.h (MULDI3_LIBCALL, UCMPDI2_LIBCALL, CMPDI2_LIBCALL,
14713         NEGDI2_LIBCALL, INIT_TARGET_OPTABS, MASK_STRICT_ALIGN): Define.
14714         (PREDICATE_CODES): Include new predicates.
14715         (RTX_COSTS): Handle UMOD and UDIV.  Tune MULT for v850e.
14716         (TARGET_SWITCHES):  Add strict-align.
14717         (TARGET_STRICT_ALIGN): New.
14718         (MASK_DEFAULT, STRICT_ALIGNMENT):  Redefine.
14719         * config/v850/t-v850 (MULTILIB_OPTIONS, MULTILIB_DIRNAMES):
14720         Define.
14721         (LIB1ASMFUNCS): Add v850_negdi2, v850_cmpdi2, v850_ucmpdi2,
14722         v850_muldi3.
14723         * config/v850/lib1funcs.asm (L_callt_save_r2_r29, L_return_r2_r29,
14724         L_callt_save_r2_r31, L_return_r2_r31,
14725         L_save_all_interrupt): Change addi to add.
14726         (L_save_interrupt, L_return_interrupt): Rework.
14727         (__return_r31):  Correct .size directive.
14728         (mulsi3, divsi3, udivsi3, umodsi3, modsi3): Tune for v850e.
14729         (v850_negdi2, v850_cmpdi2, v850_ucmpdi2, v850_muldi3):
14730         New routines.
14731         * config/v850/v850.c (expand_prologue): Call
14732         gen_callt_save_interrupt, gen_callt_restore_all_interrupt,
14733         gen_callt_return_interrupt and gen_callt_save_all_interrupt.
14734         (reg_or_int9_operand): New predicate.
14735         (reg_or_const_operand): New routine.
14736         * config/v850/v850.md (return_interrupt): Changed from
14737         restore_interrupt.
14738         (callt_save_all_interrupt): Changed from save_all_interrupt_v850e.
14739         (callt_save_interrupt): Change save sequence.
14740         (callt_return_interrupt): New.
14741         (save_interrupt): Don't use runtime function for LONG_CALLS
14742         and TARGET_PROLOG_FUNCTION.
14743         (save_all_interrupt): Likewise.
14744         (mulsi3): Use new predicate.
14745         (moviscc): Disallow some combination of constants.
14746         Fix define_split for sasf insns, so that it will not generate bad
14747         code if operand0 and operand5 are the same.
14748         * config/v850/v850-protos.h: Prototype new predicates.
14749
14750 2002-08-29  Zack Weinberg  <zack@codesourcery.com>
14751
14752         * config/rs6000/rs6000.c (processor_target_table): Add 405f.
14753         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Likewise.
14754
14755 2002-08-28  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14756
14757         * c-common.c (builtin_define_type_precision): New function.
14758         (cb_register_builtins): Use it.  Define __WCHAR_UNSIGNED__ is
14759         wchar_t is unsigned in C++.
14760         * doc/cpp.texi (Common Predefined Macros): Document
14761         __WCHAR_UNSIGNED__, __CHAR_BIT__, __WCHAR_BIT__, __SHRT_BIT__,
14762         __INT_BIT__, __LONG_BIT__, __LONG_LONG_BIT__, __FLOAT_BIT__,
14763         __DOUBLE_BIT__, __LONG_DOUBLE_BIT__.
14764
14765 2002-08-28  Sylvain Pion <pion@cs.nyu.edu>
14766
14767         * doc/invoke.texi (-Wreorder): Remove remaining pieces from the generic
14768         section.  Mention that it is enabled by -Wall.
14769         (-Wall): Mention that there can be language-specific warnings as well.
14770         (-Wctor-dtor-privacy): Mention that it is enabled by default.
14771         (-Wnon-virtual-dtor): Mention that it is enabled by -Wall.
14772
14773 Wed Aug 28 15:35:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
14774
14775         * sh.c (calc_live_regs): Save FPSCR_REG in an interrupt handler
14776         if it is ever live.
14777
14778         * sh.c (sh_handle_interrupt_handler_attribute): Reject interrupt_handler
14779         attribute for SHCOMPACT.
14780
14781         * sh.h (OVERRIDE_OPTIONS): If align_function isn't set, set it
14782         appropriately.
14783         (FUNCTION_BOUNDARY): Specify only the minimum alignment required
14784         by the ABI.
14785
14786         * sh.h (SH5_WOULD_BE_PARTIAL_NREGS): Also handle TImode case.
14787
14788 2002-08-28  Jason Thorpe  <thorpej@wasabisystems.com>
14789
14790         * config.gcc (mips*-*-netbsd*): Set target_cpu_default to
14791         "MASK_GAS|MASK_ABICALLS".
14792         * config/mips/netbsd.h (TARGET_ENDIAN_DEFAULT)
14793         (TARGET_DEFAULT): Remove.
14794         (MACHINE_TYPE): Undefine before defining.
14795         (DBX_DEBUGGING_INFO, PREFERRED_DEBUGGING_TYPE): Remove.
14796
14797 2002-08-27  Mark Mitchell  <mark@codesourcery.com>
14798
14799         * c-common.c (warn_abi): New variable.
14800         * c-common.h (warn_abi): Likewise.
14801         * c-opts.c (COMMAND_LINE_OPTIONS): Add -Wabi.
14802         (c_common_decode_option): Handle it.
14803         * doc/invoke.texi: Document -Wabi.
14804
14805 Tue Aug 27 23:03:52 2002  Nicola Pero  <n.pero@mi.flashnet.it>
14806
14807         * c-common.c (warn_undeclared_selector): New variable.
14808         * c-common.h (warn_undeclared_selector): Idem.
14809         * c-opts.c (c_common_decode_option): Set warn_undeclared_selector
14810         to on when -Wundeclared-selector is found.
14811         (COMMAND_LINE_OPTIONS): Added -Wundeclared-selector.
14812         * objc/objc-act.c (build_selector_expr): If
14813         warn_undeclared_selector is set, check that the selector has
14814         already been defined, and emit a warning if not.
14815
14816 2002-08-27  Nick Clifton  <nickc@redhat.com>
14817             Catherine Moore  <clm@redhat.com>
14818             Jim Wilson  <wilson@cygnus.com>
14819
14820         * config.gcc: Add v850e-*-* target.
14821         Add --with-cpu= support for v850.
14822         * config/v850/lib1funcs.asm: Add v850e callt functions.
14823         * config/v850/v850.h: Add support for v850e target.
14824         * config/v850/v850.c: Add functions to support v850e target.
14825         * config/v850/v850-protos.h: Add prototypes for new functions in v850.c.
14826         * config/v850/v850.md: Add patterns for v850e instructions.
14827         * doc/invoke.texi: Document new v850e command line switches.
14828
14829 Tue Aug 27 18:30:47 2002  J"orn Rennecke <joern.rennecke@superh.com>
14830                           Aldy Hernandez <aldyh at redhat dot com>
14831
14832         * doc/tm.texi: Applied numerous fixes to the automaton based
14833         scheduler descrition.
14834
14835 Tue Aug 27 19:51:05 CEST 2002  Jan Hubicka  <jh@suse.cz>
14836
14837         * i386.c (classify_argument): Handle variable sized objects.
14838
14839 Tue Aug 27 19:18:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
14840
14841         * i386.c (ix86_expand_int_movcc): Fix RTL sharing problem
14842
14843 Tue Aug 27 18:01:45 CEST 2002  Jan Hubicka  <jh@suse.cz>
14844
14845         * libgcc2.c (__bb_exit_func): Properly write the summarized statistics.
14846
14847 Tue Aug 27 18:00:11 CEST 2002  Jan Hubicka  <jh@suse.cz>
14848
14849         * i386.c (classify_argument): Properly compute word size of the analyzed object.
14850
14851 Tue Aug 27 14:39:09 2002  J"orn Rennecke <joern.rennecke@superh.com>
14852
14853         * sh.md (attribute type): Add types mt_group, fload, pcfload, fpul_gp,
14854         mac_gp ftrc_s and cwb.  Add / Adjust definitions in individual insn
14855         accordingly.
14856         (attribute insn_class): Provide default definitions based on type.
14857         Remove all insn-specific settings.
14858         (various function units): Remove old SH4 scheduling.
14859         (branch_zero, dfp_comp, late_fp_use, any_fp_comp, any_int_load):
14860         New attributes.  Set them where appropriate.
14861         (cpu unit FS): Don't define / use.
14862         (F3, load_store): New cpu units.
14863         (F01): New reservation.
14864         (all insn_reservations): Make dependent on sh4 pipeline model.
14865         Fix latencies.
14866         (nil, reg_mov, freg_mov, sh4_fpul_gp, sh4_call): New insn_reservations.
14867         (sh4_mac_gp, fp_arith_ftrc, arith3, arith3b): Likewise.
14868         (mt insn_reservation): Use type mt_group.
14869         (insn_reservation load_store): Split into sh4_load, sh4_load_si,
14870         sh4_fload and sh4_store.
14871         (insn_reservation branch_zero and branch): Replace with sh4_branch.
14872         (insn_reservation branch_far): Replace with sh4_return.
14873         (insn_reservation return_from_exp): Rename to:
14874         (sh4_return_from_exp).  Change to be just d_lock*5.
14875         (insn_reservation lds_to_pr): Rename to:
14876         (sh4_lds_to_pr).  Change to be just d_lock*2.
14877         (insn_reservation ldsmem_to_pr, sts_from_pr): Change to be just
14878         d_lock*2.
14879         (insn_reservation prload_mem): Rename to:
14880         (sh4_prstore_mem).  Change to d_lock*2,nothing,memory.
14881         (insn_reservation fpscr_store): Rename to:
14882         (fpscr_load).  Change to d_lock,nothing,F1*3.
14883         (insn_reservation fpscr_store_mem): Rename to:
14884         (fpscr_load_mem).  Change to d_lock,nothing,(F1+memory),F1*2.
14885         (insn_reservation multi): Change to
14886         d_lock,(d_lock+f1_1),(f1_1|f1_2)*3,F2.
14887         (insn_reservation fp_arith): Change to issue,F01,F2.
14888         (insn_reservation fp_div: Change to issue,F01+F3,F2+F3,F3*7,F1+F3,F2.
14889         (insn_reservation dp_float): Change to issue,F01,F1+F2,F2.
14890         (insn_reservation fp_double_arith): Change to issue,F01,F1+F2,fpu*4,F2.
14891         (insn_reservation fp_double_cmp): Change to
14892         d_lock,(d_lock+F01),F1+F2,F2.
14893         (insn_reservation dp_div): Change to
14894         issue,F01+F3,F1+F2+F3,F2+F3,F3*16,F1+F3,(fpu+F3)*2,F2.
14895         * sh.c (flow_dependent_p, flow_dependent_p_1): New functions.
14896         (sh_adjust_cost, SHcompact): Differentiate between different
14897         kinds of dependencies.  Drop factor of ten for superscalar.
14898         Use new instruction types.  Add new exception rules.
14899
14900         * sh.md (mulhisi3, umulhisi3: Add a REG_EQUAL note.
14901
14902         * sh.md (mperm_w): Add DONE.
14903
14904 2002-08-27  David Edelsohn  <edelsohn@gnu.org>
14905
14906         * longlong.h: Import current PowerPC defintion from GMP-4.1.
14907
14908         * config/rs6000/rs6000.h (MIN_UNITS_PER_WORD): Add IN_LIBGCC2 case.
14909
14910         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Undef before define.
14911
14912 Tue Aug 27 13:53:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
14913
14914         * sh.h (MAX_FIXED_MODE_SIZE): Define.
14915
14916 2002-08-27  Gabriel Dos Reis  <gdr@soliton.integrable-solutions.net>
14917
14918         * doc/cpp.texi (Common Predefined Macros): Don't mess with table
14919         delimiter.
14920
14921 2002-08-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>
14922
14923         * c-common.c (cpp_define_data_format): New function.
14924         (cb_register_builtins): Call it.
14925
14926         * doc/cpp.texi (Common Predefined Macros): Document
14927         __TARGET_BITS_ORDER__, __TARGET_BYTES_ORDER__,
14928         __TARGET_INT_WORDS_ORDER__, __TARGET_FLOAT_WORDS_ORDER__,
14929         __TARGET_FLOAT_FORMAT__, __TARGET_USES_VAX_F_FLOAT__,
14930         __TARGET_USES_VAX_D_FLOAT__, __TARGET_USES_VAX_G_FLOAT__,
14931         __TARGET_USES_VAX_H_FLOAT__.
14932
14933 2002-08-26  Ziemowit Laski <zlaski@apple.com>
14934
14935         * objc/objc-act.c (get_super_receiver): If inside a class method
14936         of a category, cast the receiver to 'id' before accessing the 'isa'
14937         field so that <objc/objc-class.h> is not needed.  For NeXT runtime.
14938
14939 2002-08-26  Ulrich Weigand  <uweigand@de.ibm.com>
14940
14941         * config/s390/s390-protos.h (s390_function_prologue,
14942         s390_function_epilogue): Remove.
14943         config/s390/s390.c (s390_function_prologue, s390_function_epilogue,
14944         TARGET_ASM_FUNCTION_PROLOGUE, TARGET_ASM_FUNCTION_EPILOGUE): Remove.
14945
14946         config/s390/s390.c (s390_machine_dependent_recorg): New function.
14947         config/s390/s390-protos.h (s390_machine_dependent_reorg): Declare it.
14948         config/s390/s390.h (MACHINE_DEPENDENT_REORG): Call it.
14949         config/s390/s390.c (s390_split_branches, s390_chunkify_pool): Adapt
14950         to being called from MACHINE_DEPENDENT_REORG.  Update regs_ever_live.
14951
14952         config/s390/s390.c (s390_frame_info): Inline save_fprs_p.  Always
14953         assume BASE_REGISTER and RETURN_REGNUM need to be saved.
14954         (s390_emit_prologue): Assume RETURN_REGNUM to be saved iff
14955         function is not a leaf function.  Use save_gprs and restore_gprs.
14956         (s390_emit_epilogue): Likewise.
14957         (save_gprs, restore_gprs): New functions.
14958         (struct s390_frame): Remove return_reg_saved_p member.
14959         (save_fprs_p): Remove.
14960         (s390_optimize_prolog): New function.
14961         (s390_legitimate_reload_constant): Remove now unnecessary check.
14962
14963         (s390_function_count): Remove.
14964         (s390_output_symbolic_const): Replace s390_function_count by
14965         current_function_funcdef_no.
14966         (s390_output_constant_pool): Likewise.
14967
14968         (legitimize_pic_address): Use regs_ever_live to track PIC register
14969         instead of current_function_uses_pic_offset_table.
14970         (s390_emit_prologue): Likewise.
14971         config/s390/s390.md ("call", "call_value"): Likewise.
14972
14973 2002-08-26  Neil Booth  <neil@daikokuya.co.uk>
14974
14975         * c-opts.c (find_opt): Don't complain about wrong languages
14976         here.  Return exact matches even for wrong language.
14977         (c_common_decode_option): Complain about wrong languages
14978         here.
14979
14980 2002-08-24  Stuart Hastings  <stuart@apple.com>
14981
14982         * function.h (struct function): Add flag
14983         all_throwers_are_sibcalls.
14984         * except.c (set_nothrow_function_flags): Replaces
14985         nothrow_function_p. Set new flag.
14986         * except.h (set_nothrow_function_flags): Replaces
14987         nothrow_function_p.
14988         * dwarf2out.c (struct dw_fde_struct): Add flag
14989         all_throwers_are_sibcalls.
14990         (output_call_frame_info): Test it.
14991         (dwarf2out_begin_prologue) Propagate it from cfun to
14992         dw_fde_struct.
14993         * toplev.c (rest_of_compilation): Update calls to
14994         nothrow_function_p.
14995
14996 2002-08-23  Zack Weinberg  <zack@codesourcery.com>
14997
14998         * ggc-page.c (compute_inverse): Short circuit calculation for
14999         object sizes larger than half a page.
15000
15001 2002-08-23  David Edelsohn  <edelsohn@gnu.org>
15002
15003         * config/rs6000/rs6000.c (rs6000_elf_select_section): Treat
15004         DEFAULT_ABI == ABI_AIX like PIC.  Test PIC & reloc for readonly
15005         default.
15006         (rs6000_elf_unique_section): Likewise.
15007
15008 2002-08-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15009
15010         * ns32k.c (ns32k_globalize_label): Delete.
15011         * ns32k.h (ASM_OUTPUT_LABEL, TARGET_ASM_GLOBALIZE_LABEL): Delete.
15012
15013 2002-08-23  Alan Modra  <amodra@bigpond.net.au>
15014
15015         * config/rs6000/rs6000.c (output_mi_thunk): Don't determine insns
15016         for loading delta with num_insns_constant_wide.  Calculate
15017         delta_low, delta_high without using a conditional.
15018
15019 2002-08-22  Jason Merrill  <jason@redhat.com>
15020
15021         * c-common.h (RETURN_STMT_EXPR): Rename from RETURN_EXPR.
15022         * c-common.def: Adjust.
15023         * c-dump.c (c_dump_tree): Adjust.
15024         * c-semantics.c (genrtl_return_stmt): Adjust.
15025         * c-pretty-print.c (pp_c_statement): Adjust.
15026         * tree-inline.c (copy_body_r): Adjust.
15027
15028 2002-08-22  Zack Weinberg  <zack@codesourcery.com>
15029
15030         * ggc-page.c: Avoid division in ggc_set_mark.
15031         (DIV_MULT, DIV_SHIFT, OFFSET_TO_BIT, inverse_table,
15032         compute_inverse): New.
15033         (ggc_set_mark, ggc_marked_p): Use OFFSET_TO_BIT.
15034         (init_ggc): Initialize inverse_table.
15035
15036 2002-08-22  Tom Tromey  <tromey@redhat.com>
15037
15038         * doc/install.texi (Configuration): Document --datadir.
15039
15040 2002-08-22  Alexandre Oliva  <aoliva@redhat.com>
15041
15042         * Makefile.in ($(BUILD_PREFIX_1)varray.o): Depend on $(GGC_H).
15043
15044 2002-08-22  Hans-Peter Nilsson  <hp@bitrange.com>
15045
15046         * gengtype-lex.l (ID): Allow underscore as first character.
15047
15048 2002-08-21  David Edelsohn  <edelsohn@gnu.org>
15049
15050         * config/rs6000/rs6000.c (rs6000_xcoff_asm_globalize_label): New
15051         function.
15052         (rs6000_xcoff_asm_named_section): Rename.
15053         * config/rs6000/xcoff.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15054
15055 2002-08-21  Tom Tromey  <tromey@redhat.com>
15056
15057         For PR java/6005 and PR java/7611:
15058         * fold-const.c (fold_truthop): Use can_use_bit_fields_p.
15059         (fold): Likewise.
15060         * langhooks.c (lhd_can_use_bit_fields_p): New function.
15061         * langhooks-def.h (lhd_can_use_bit_fields_p): Declare.
15062         (LANG_HOOKS_CAN_USE_BIT_FIELDS_P): New define.
15063         (LANG_HOOKS_INITIALIZER): Use it.
15064         * langhooks.h (struct lang_hooks) [can_use_bit_fields_p]: New
15065         field.
15066
15067 2002-08-21  Stan Shebs  <shebs@apple.com>
15068
15069         * tree.c (finish_vector_type): Fix a typo in a comment.
15070         * Makefile.in: Fix "the the" stutters in comments.
15071         * genautomata.c: Ditto.
15072         * ifcvt.c: Ditto.
15073         * regrename.c: Ditto.
15074         * config/alpha/alpha.c: Ditto.
15075         * config/alpha/vms-crt0-64.c: Ditto.
15076         * config/alpha/vms-crt0.c: Ditto.
15077         * config/alpha/vms-psxcrt0-64.c: Ditto.
15078         * config/alpha/vms-psxcrt0.c: Ditto.
15079         * config/d30v/d30v.h: Ditto.
15080         * config/fr30/fr30.h: Ditto.
15081         * config/rs6000/rs6000.c: Ditto.
15082         * config/stormy16/stormy16.h: Ditto.
15083         * doc/md.texi: Ditto.
15084
15085 2002-08-21  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15086
15087         * cppinit.c (remove_dup_nonsys_dirs): Fix warning and return value.
15088
15089 2002-08-21  Joseph S. Myers  <jsm@polyomino.org.uk>
15090
15091         * c-decl.c (grokdeclarator): Make invalid combinations with long,
15092         short, signed or unsigned into hard errors.  Fixes PR c/4319.
15093         Also make duplicate modifiers such as "short short" into hard
15094         errors.
15095
15096 2002-08-21  Andrew Pinski <pinskia@physics.uc.edu>
15097             Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15098
15099         * doc/tm.texi (TARGET_ASM_GLOBALIZE_LABEL): Move '@end deftypefn'
15100         to the actual end.  Add '@end table' and '@table @code'.
15101
15102 2002-08-20  Geoffrey Keating  <geoffk@redhat.com>
15103
15104         * doc/tm.texi (Label Output): Add missing '@end deftypefn'.
15105
15106         * unroll.c (biv_total_increment): Don't try to compute the total
15107         increment for FP BIVs.
15108
15109 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15110
15111         * alpha.c (TARGET_ASM_GLOBALIZE_LABEL): Define for unicosmk.
15112         * alpha/elf.h (ASM_OUTPUT_EXTERNAL_LIBCALL,
15113         ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15114         * alpha/osf.h (ASM_OUTPUT_WEAK_ALIAS): Likewise.
15115         * alpha/unicosmk.h (ASM_GLOBALIZE_LABEL): Delete.
15116         * arm/aof.h (ASM_GLOBALIZE_LABEL): Likewise.
15117         (GLOBAL_ASM_OP): Define.
15118         * arm.c (aof_globalize_label): New function.
15119         (TARGET_ASM_GLOBALIZE_LABEL): Define for AOF.
15120         * arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15121         * c4x.c (c4x_globalize_label): New function.
15122         (TARGET_ASM_GLOBALIZE_LABEL): Define for c4x.
15123         * c4x.h (ASM_GLOBALIZE_LABEL): Delete.
15124         (GLOBAL_ASM_OP): Define.
15125         * cris/aout.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15126         * darwin-protos.h (darwin_globalize_label): Declare.
15127         * darwin.c (darwin_globalize_label): New function.
15128         * darwin.h (ASM_DECLARE_CLASS_REFERENCE): Use target hook.
15129         (ASM_GLOBALIZE_LABEL): Delete.
15130         (GLOBAL_ASM_OP, TARGET_ASM_GLOBALIZE_LABEL): Define.
15131         * dsp16xx.c (asm_output_common): Use target hook.
15132         * elfos.h (ASM_OUTPUT_EXTERNAL_LIBCALL): Likewise.
15133         * frv.h (ASM_GLOBALIZE_LABEL): Delete.
15134         (GLOBAL_ASM_OP): Define.
15135         * i370.c (i370_globalize_label): New function.
15136         (TARGET_ASM_GLOBALIZE_LABEL): Define for i370.
15137         * i370.h (ASM_GLOBALIZE_LABEL): Delete.
15138         * i386.c (ix86_asm_file_end): Use target hook.
15139         * i386/sco5.h (ASM_GLOBALIZE_LABEL): Don't undef.
15140         (ASM_OUTPUT_EXTERNAL_LIBCALL): Use target hook.
15141         * ia64.c (ia64_asm_output_external): Likewise.
15142         * ia64/sysv4.h: Update comment.
15143         * m32r.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15144         * mips/elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15145         * mips/iris5.h (ASM_OUTPUT_WEAK_ALIAS): Use target hook.
15146         * mips/linux.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
15147         * mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use target hook.
15148         * mmix-protos.h (mmix_asm_globalize_label): Delete.
15149         * mmix.c (mmix_asm_globalize_label): Likewise.
15150         * mmix.h (ASM_GLOBALIZE_LABEL): Likewise.
15151         (GLOBAL_ASM_OP): Define.
15152         * ns32k.c (ns32k_globalize_label): New function.
15153         * ns32k.h (TARGET_ASM_GLOBALIZE_LABEL): Define for ns32k.
15154         (ASM_GLOBALIZE_LABEL): Delete.
15155         * pa/pa-linux.h (ASM_GLOBALIZE_LABEL): Don't undef.
15156         (TARGET_ASM_GLOBALIZE_LABEL): Undefine.
15157         * pa.c (pa_globalize_label): New function.
15158         * pa.h (ASM_GLOBALIZE_LABEL): Delete.
15159         (TARGET_ASM_GLOBALIZE_LABEL): Define for pa.
15160         * rs6000/darwin.h (ASM_GLOBALIZE_LABEL): Delete.
15161         (GLOBAL_ASM_OP): Define.
15162         (TARGET_ASM_GLOBALIZE_LABEL): Undef.
15163         * rs6000/sysv4.h (ASM_OUTPUT_ALIGNED_BSS): Use target hook.
15164         * rs6000/xcoff.h (ASM_GLOBALIZE_LABEL): Delete.
15165         (GLOBAL_ASM_OP): Define.
15166         * v850.c (v850_output_aligned_bss): Use target hook.
15167         * vax.c (vms_globalize_label): New function.
15168         (TARGET_ASM_GLOBALIZE_LABEL): Define for vms.
15169         * vax/vms.h (ASM_GLOBALIZE_LABEL): Delete.
15170         (GLOBAL_ASM_OP): Define.
15171         * defaults.h (ASM_GLOBALIZE_LABEL): Delete.
15172         * doc/tm.texi: Update docs.
15173         * dwarf2out.c (default_eh_frame_section, output_die_symbol): Use
15174         target hook.
15175         * final.c (output_alternate_entry_point): Likewise.
15176         * hooks.c (hook_FILEptr_constcharptr_void): New function.
15177         * hooks.h (hook_FILEptr_constcharptr_void): Declare.
15178         * output.h (assemble_global): Delete.
15179         (default_globalize_label): Declare.
15180         * system.h (ASM_GLOBALIZE_LABEL): Poison.
15181         * target-def.h (TARGET_ASM_GLOBALIZE_LABEL): Define.
15182         (TARGET_ASM_OUT): Add TARGET_ASM_GLOBALIZE_LABEL.
15183         * target.h (gcc_target): Add globalize_label member.
15184         * varasm.c (asm_output_bss, asm_output_aligned_bss,
15185         globalize_decl): Use target hook.
15186         (assemble_global): Delete.
15187         (default_globalize_label): New function.
15188
15189 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15190
15191         * dsp16xx.h (dsp16xx_umulhi3_libcall): Delete.
15192
15193 2002-08-20  Devang Patel  <dpatel@apple.com>
15194         * tree.c (get_qualified_type): Add TYPE_CONTEXT check.
15195
15196 2002-08-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15197
15198         * arc.c (output_shift): Use stdio instead of asm_fprintf.
15199         * arm.c (thumb_output_function_prologue): Likewise.
15200         * avr.c (print_operand): Likewise.
15201         * c4x.c (c4x_print_operand): Likewise.
15202         * c4x.h (ASM_OUTPUT_INTERNAL_LABEL, TRAMPOLINE_TEMPLATE,
15203         ASM_OUTPUT_REG_PUSH, ASM_OUTPUT_REG_POP): Likewise.
15204         * cris.c (cris_target_asm_function_prologue,
15205         cris_asm_output_mi_thunk): Likewise.
15206         * h8300.c (print_operand): Likewise.
15207         * h8300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15208         * ip2k.c (print_operand): Likewise.  Fix format specifier.
15209         * m68hc11.c (asm_print_register, print_operand,
15210         print_operand_address): Use stdio instead of asm_fprintf.
15211         (print_operand_address): Fix format specifier.
15212         * m68hc11.h (FUNCTION_PROFILER, ASM_OUTPUT_ADDR_DIFF_ELT,
15213         ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ALIGN): Use stdio instead of
15214         asm_fprintf.
15215         * m68k/amix.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15216         * m68k/atari.h (ASM_OUTPUT_INTERNAL_LABEL): Likewise.
15217         * m68k.c (m68k_output_function_prologue,
15218         m68k_output_function_epilogue, print_operand): Likewise.
15219         * mmix.c (mmix_asm_output_mi_thunk, mmix_asm_weaken_label):
15220         Likewise.  Fix format specifier.
15221         * mn10200.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15222         * mn10300.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15223         * v850.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
15224
15225 2002-08-15  Eric Christopher  <echristo@redhat.com>
15226             Jeff Knaggs  <jknaggs@redhat.com>
15227
15228         * config.gcc (mipsisa64sr71k-elf): New target.
15229         * config/mips/sr71k.md: New file.
15230         * config/mips/mips.md: Use it.
15231         (rot*): Add sr71k specifics.
15232         * config/mips/t-sr71k: New file.
15233         * config/mips/mips.h (sr71k): New cpu.
15234         (TARGET_SR71K): Use it.
15235         (TUNE_SR71K): Ditto.
15236         (GENERATE_BRANCHLIKELY): Ditto.
15237         (ISA_HAS_MULHI, ISA_HAS_MULS, ISA_HAS_MSAC, ISA_HAS_MACC,
15238         ISA_HAS_ROTR_SIISA_HAS_ROTR_DI): Ditto.
15239         * config/mips/mips.c (sr71k): New cpu.
15240         (mips_use_dfa_pipeline_interface): Use.
15241
15242 2002-08-15  Eric Christopher  <echristo@redhat.com>
15243             Richard Sandiford <rsandifo@redhat.com>
15244             Aldy Hernandez  <aldyh@redhat.com>
15245             Graham Stott    <grahams@redhat.com>
15246             Michael Meissner  <meissner@redhat.com>
15247             Gavin Romig-Koch  <gavin@redhat.com>
15248             Ken Raeburn  <raeburn@cygnus.com>
15249             Alexandre Oliva <aoliva@redhat.com>
15250
15251         * config.gcc (mips64vr-elf): New target.
15252         * config/mips/5400.md: New file.
15253         * config/mips/5500.md: Ditto.
15254         * config/mips/mips.md: Use them.
15255         (frsqrt): New.
15256         * config/mips/mips.c (vr4111, vr4121, vr4320, vr5400, vr5500): New
15257         cpus.
15258         (mips_issue_rate): Use them.
15259         (mips_use_dfa_pipeline_interface): New function. Use for 5400 and 5500.
15260         (TARGET_SCHEDUSE_DFA_PIPELINE_INTERFACE): Define. Use above.
15261         * config/mips/mips.h (vr4111, vr4121, vr4320, vr5400, vr5500): New
15262         cpus.
15263         (TARGET_MIPSx): Use them.
15264         (TUNE_MIPSx): Ditto.
15265         (GETNATE_MULT3_SI): Ditto.
15266         (ISA_HAS_BRANCHLIKELY): Ditto.
15267         (ISA_HAS_CONDMOVE): Ditto.
15268         (ISA_HAS_NMADD_NMSUB): Ditto.
15269         (ISA_HAS_MULHI): New. Ditto.
15270         (ISA_HAS_MULS): Ditto.
15271         (ISA_HAS_MSAC): Ditto.
15272         (ISA_HAS_MACC): Ditto.
15273         (ISA_HAS_ROTR_SI): Ditto.
15274         (ISA_HAS_ROTR_DI): Ditto.
15275         (RTX_COSTS): Use.
15276
15277 2002-08-20  John David Anglin  <dave@hiauly1.hia.nrc.ca>
15278
15279         * cppinit.c (remove_dup_dir): Add head_ptr argument to handle removal
15280         at head.
15281         (remove_dup_nonsys_dirs): New function.
15282         (remove_dup_dirs): Change argument head to head_ptr.  Remove warnings.
15283         (merge_include_chains): Remove non-system include directories from
15284         quote and bracket include chains when they duplicate equivalent system
15285         directories.
15286         * doc/cpp.texi (-I): Update.
15287         * doc/cppopts.texi (-I): Update.
15288         * doc/install.texi (--with-local-prefix): Further document usage of
15289         this option.
15290         * doc/invoke.texi (-I): Update.
15291
15292 2002-08-20  Richard Henderson  <rth@redhat.com>
15293
15294         * expr.c (TARGET_MEM_FUNCTIONS): Transform to boolean.
15295         (emit_block_move): Split out subroutines.
15296         (emit_block_move_via_movstr): New.
15297         (emit_block_move_via_libcall): New.  Emit bcopy via normal call also.
15298         (emit_block_move_libcall_fn): New.  Construct function prototype for
15299         bcopy as well.
15300         (clear_storage): Split out subroutines.
15301         (clear_storage_via_clrstr): New.
15302         (clear_storage_via_libcall): New. Emit bzero as a normal call also.
15303         (clear_storage_libcall_fn): New.  Construct function prototype for
15304         bzero as well.
15305         (emit_push_insn): Use emit_block_move.
15306         (expand_assignment): Booleanize TARGET_MEM_FUNCTIONS.
15307         (store_constructor): Likewise.
15308
15309 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15310
15311         * objc/objc-act.c (building_objc_message_expr): Rename to
15312         current_objc_message_selector.
15313
15314 2002-08-19  Ziemowit Laski  <zlaski@apple.com>
15315
15316         * objc/objc-act.c (build_ivar_chain): Remove.
15317         (objc_copy_list): Likewise.
15318         (get_class_ivars): Inline call to removed build_ivar_chain
15319         function.  Save off a clean copy of ivars in the CLASS_OWN_IVARS
15320         slot; use that slot (rather than CLASS_IVARS) when accessing
15321         ivars for base classes.  Call copy_list and chainon instead of
15322         objc_copy_list.
15323         (build_private_template): Call get_class_ivars instead of
15324         build_ivar_chain.
15325         (start_class): Allocate room for the CLASS_OWN_IVARS slot.
15326         (continue_class): Call get_class_ivars instead of
15327         build_ivar_chain.
15328         (encode_field_decl): Check for DECL_BIT_FIELD_TYPE instead
15329         of DECL_BIT_FIELD (which may have been cleared).
15330         * objc/objc-act.h (CLASS_OWN_IVARS): New accessor macro.
15331
15332 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15333
15334         * genautomata.c (output_translate_vect, output_state_ainsn_table,
15335         output_min_issue_delay_table): Mark variable with ATTRIBUTE_UNUSED
15336         in output file.
15337         (output_internal_min_issue_delay_func): Initialize variable in
15338         output file.
15339
15340 2002-08-19  Alexandre Oliva  <aoliva@redhat.com>
15341
15342         * Makefile.in (GCC_FOR_TARGET): Prepend STAGE_CC_WRAPPER.
15343         (stage2_build, stage3_build, stage4_build): Likewise, to CC.
15344
15345 2002-08-19  Geoffrey Keating  <geoffk@redhat.com>
15346             Steve Ellcey  <sje@cup.hp.com>
15347
15348         * machmode.h (SCALAR_INT_MODE_P): New macro to test for
15349         scaler integer mode (MODE_INT or MODE_PARTIAL_INT).
15350         * explow.c (trunc_int_for_mode): Abort when the mode is not
15351         a scaler integer mode.
15352         * combine.c (expand_compound_operation): Don't expand Vector
15353         or Complex modes into shifts.
15354         (expand_field_assignment): Don't do bitwise arithmatic and
15355         shifts on Vector or Complex modes.
15356         (simplify_comparison): Don't call trunc_int_for_mode
15357         for VOIDmode.
15358         * recog.c (general_operand): Likewise.
15359         (immediate_operand): Likewise.
15360         (nonmemory_operand): Likewise.
15361
15362 2002-08-19  David Edelsohn  <edelsohn@gnu.org>
15363
15364         * config/rs6000/rs6000.c (rs6000_emit_set_const): Inline
15365         multi-instruction SImode constant.  Add REG_EQUAL note.
15366         * config/rs6000/rs6000.md (movsi splitter): Use
15367         rs6000_emit_set_const.
15368
15369 2002-08-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15370
15371         * tree-inline.c (initialize_inlined_parameters): Wrap variable in
15372         the macro test controlling its use.
15373
15374 2002-08-18  H.J. Lu  (hjl@gnu.org)
15375
15376         * config.gcc (*-*-linux*): Set extra_parts="crtbegin.o
15377         crtbeginS.o crtbeginT.o crtend.o crtendS.o", gas=yes and
15378         gnu_ld=yes.
15379         (alpha*-*-linux*, cris-*-linux*, i370-*-linux*,
15380         i[34567]86-*-linux*, x86_64-*-linux*, mips*-*-linux*,
15381         s390-*-linux*, s390x-*-linux*, sparc-*-linux*, sparc64-*-linux*,
15382         xtensa-*-linux*): Remove setting extra_parts, gas, and gnu_ld
15383         here.
15384         (cris-*-linux*): Remove setting thread_file here.
15385
15386 2002-08-18  Neil Booth  <neil@daikokuya.co.uk>
15387
15388         PR preprocessor/7602
15389         * cppinit.c (path_include): Treat the system environment
15390         variables as being cxx_aware.
15391
15392 2002-08-17  Joseph S. Myers  <jsm@polyomino.org.uk>
15393
15394         * c-decl.c (flexible_array_type_p): New function.
15395         (grokdeclarator, finish_struct): Use it.
15396         * doc/extend.texi: Document constraints on use of structures with
15397         flexible array members.
15398
15399 2002-08-17  Richard Sandiford  <rsandifo@redhat.com>
15400
15401         * config/mips/t-coff, config/mips/t-elf, config/mips/t-isa3264,
15402         config/mips/t-r3900 (MULTILIB_MATCHES): Define.
15403         * config/mips/mips.h (ASM_SPEC): Use %(endian_spec).
15404
15405 2002-08-16  Stan Shebs  <shebs@apple.com>
15406
15407         * c-common.c (cb_register_builds): Define __NEXT_RUNTIME__
15408         for ObjC with -fnext-runtime.
15409         * doc/cpp.texi: Document it.
15410
15411 2002-08-16  Janis Johnson  <janis187@us.ibm.com>
15412
15413         * doc/install.texi (Final installation): Replace links to individual
15414         build status pages with a link to a common page that lists them all.
15415
15416 2002-08-16  Sylvain Pion <pion@cs.nyu.edu>
15417
15418         * doc/invoke.texi: Fix typo.
15419
15420 2002-08-16  David Edelsohn  <edelsohn@gnu.org>
15421
15422         * doc/install.texi (*-ibm-aix*): Explain AIX shared object versioning.
15423
15424 2002-08-16  Andrew Haley  <aph@redhat.com>
15425
15426         * tree-inline.c: Add includes for Java inliner.
15427         (remap_decl): Don't handle anonymous types for Java.
15428         (remap_block): Add handling for Java trees.
15429         (copy_scope_stmt): Conditionalize for non-Java use only.
15430         (copy_body_r): Handle Java trees.  Add handling for
15431         LABELED_BLOCK_EXPR, EXIT_BLOCK_EXPR, Java blocks.
15432         (initialize_inlined_parameters):  Handle Java trees.
15433         (declare_return_variable): Likewise.
15434         (expand_call_inline): Handle Java trees.
15435         (walk_tree): Likewise.
15436         (copy_tree_r): Don't handle SCOPE_STMTs for Java.
15437         (add_stmt_to_compound): New function.
15438
15439 2002-08-15  Richard Henderson  <rth@redhat.com>
15440
15441         * Makefile.in (LOOSE_WARN): Remove -fno-common.
15442         (NOCOMMON_FLAG): New substitution point.
15443         (GCC_WARN_CFLAGS): Include it.
15444         * configure.in (ac_checking): Set nocommon_flag.
15445         (nocommon_flag): New substitution point.
15446
15447 2002-08-15  Alexandre Oliva  <aoliva@redhat.com>
15448
15449         * c-tree.h (skip_evaluation): Move declaration...
15450         * c-common.h: ... here.
15451         * c-typeck.c (build_external_ref): Don't assemble_external nor
15452         mark a tree as used if skip_evaluation is set.
15453         * c-parse.in (typeof): New non-terminal to set skip_evaluation
15454         around TYPEOF.
15455         (typespec_nonreserved_nonattr): Use it.
15456
15457 2002-08-15  Douglas B Rupp  <rupp@gnat.com>
15458
15459         * dbxout.c (dbx_debug_hooks): Update end_prologue, end_epilogue.
15460         (xcoff_debug_hooks): Update end_prologue.
15461         * debug.c (do_nothing_debug_hooks): Update end_prologue, end_epilogue.
15462         * debug.h (end_prologue): Add file arg.
15463         (end_epilogue): Add line and file args.
15464         (dwarf2out_end_epilogue): Add line and file args.
15465         (vmsdbgout_after_prologue): Remove.
15466         * dwarf2out.c (dwarf2out_end_epilogue): Add line and file args.
15467         (dwarf2_debug_hooks): Update end_prologue.
15468         * dwarfout.c (dwarfout_end_epilogue): Add line and file args.
15469         (dwarfout_end_prologue): Add file arg.
15470         * final.c (vmsdbgout_after_prologue): Remove
15471         (final_end_function): Update end_epilogue call.
15472         (final_scan_insn): Update end_prologue call.
15473         * sdbout.c (sdbout_end_epilogue): Add line and file args.
15474         (sdbout_end_prologue): Add file arg.
15475         (sdb_debug_hooks): Update end_prologue.
15476         (sdb_begin_prologue): Update sdbout_end_prologue call.
15477         * vmsdbgout.c (vmsdbg_debug_hooks): Add vmsdbgout_end_prologue,
15478         vmsdbgout_end_function.
15479         (vmsdbgout_end_prologue): New function renamed from
15480         vmsdbgout_after_prologue. Call vmsdbgout_source_line.
15481         (vmsdbgout_end_function): New function.
15482         (vmsdbgout_end_epilogue): Add line and file args. Call
15483         vmsdbgout_source_line.
15484         (write_pclines): Write only valid line numbers.
15485         (write_srccorr): Don't write source correlation records if 0 lines.
15486         * xcoffout.c (xcoffout_end_epilogue): Add line and file args.
15487
15488 2002-08-15  Steve Ellcey  <sje@cup.hp.com>
15489
15490         * gcc/unwind.h (_Unwind_Ptr): Make 64 bits on IA64 HP-UX.
15491         (_Unwind_Internal_Ptr): 32 bit version for use in
15492         read_encoded_value_with_base.
15493         * gcc/unwind-pe.h (read_encoded_value_with_base): Use
15494         _Unwind_Internal_Ptr instead of _Unwind_Ptr in order to get the
15495         right size.
15496
15497 2002-08-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15498
15499         * loop.c (scan_loop, move_movables, count_one_set): Cast to avoid
15500         signed/unsigned warnings.
15501
15502         * regclass.c (init_reg_sets_1, choose_hard_reg_mode,
15503         record_reg_classes): Likewise.
15504
15505         * reload.c (reload_inner_reg_of_subreg, push_reload,
15506         find_reloads_address_1): Likewise.
15507
15508 2002-08-15  David Edelsohn  <edelsohn@gnu.org>
15509
15510         * rs6000.c (output_mi_thunk): Return to function section on
15511         TARGET_ELF.
15512
15513         * rs6000-c.c (rs6000_cpu_cpp_builtins): Define __PPC405__ if PPC405.
15514
15515 2002-08-15  Ulrich Weigand  <uweigand@de.ibm.com>
15516
15517         * config/s390/s390.c (legitimize_address): Optimize loading
15518         of large displacements.
15519
15520 2002-08-14  Douglas B Rupp  <rupp@gnat.com>
15521
15522         * config/alpha/alpha-protos.h: Update.
15523
15524         * config/alpha/alpha.c: (LINKAGE_SYMBOL_REF_P): New macro.
15525         (alpha_legitimate_address_p): Test LINKAGE_SYMBOL_REF_P.
15526         (alpha_linkage_symbol_p): New static function.
15527         (print_operand_address): Print linkage operand.
15528
15529         (alpha_funcs_num, alpha_funcs_tree, alpha_links_tree): New static
15530         variables.
15531         (reloc_kind): New enum.
15532         (struct alpha_funcs): New struct.
15533         (struct alpha_links): Add reloc_kind field. Rename links_kind field.
15534
15535         (alpha_need_linkage): Rewrite.
15536         (alpha_use_linkage): New global function.
15537         (alpha_write_linkage): Rewrite and make static.
15538         (alpha_write_one_linkage): Rewrite
15539
15540         (alpha_start_function): Remove procedure descriptor output.
15541         (alpha_end_function): Write linkages at end of each function.
15542
15543         * config/alpha/alpha.md (call_vms, call_value_vms): Rewrite.
15544         (call_vms_1, call_value_vms_1): Rewrite.
15545
15546         * config/alpha/vms.h (ASM_FILE_END): Remove.
15547
15548 2002-08-14  Richard Henderson  <rth@redhat.com>
15549
15550         * ggc-page.c (RTL_SIZE): New.
15551         (extra_order_size_table): Add specializations for 2 and 10 rtl slots.
15552         * rtl.def (BARRIER, NOTE): Pad to 9 slots.
15553
15554 2002-08-14  Richard Henderson  <rth@redhat.com>
15555
15556         * calls.c: Include target.h.
15557         * Makefile.in (calls.o): Update.
15558
15559         * config/alpha/alpha.c (alpha_end_function): Use targetm.binds_local_p.
15560         * config/alpha/alpha.h (FUNCTION_OK_FOR_SIBCALL): Likewise.
15561
15562 2002-08-14  Richard Henderson  <rth@redhat.com>
15563
15564         * Makefile.in (LOOSE_WARN): Add -fno-common.
15565         * c-common.h (constant_string_class_name): Add missing extern.
15566
15567 2002-08-15  Neil Booth  <neil@daikokuya.co.uk>
15568
15569         PR preprocessor/7358
15570         * c-opts.c (check_deps_environment_vars): Ignore main file
15571         for SUNPRO_DEPENDENCIES.
15572         * cppfiles.c (stack_include_file): Ignore main file if
15573         appropriate.
15574         * cpplib.h (struct cpp_options): New member in deps.
15575         * doc/cppenv.texi: Update.
15576
15577 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15578
15579         PR preprocessor/7526
15580         * cpplib.c (run_directive): Kludge so _Pragma dependency works.
15581
15582 2002-08-14  Nathan Sidwell  <nathan@codesourcery.com>
15583
15584         * doc/invoke.texi (-a): Remove documentation.
15585         (-fprofile-arcs): Remove reference to -a, -ax options.
15586         * doc/gcov.texi (Gcov Data Files): Data might be merged.
15587
15588 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15589
15590         Fix PR/7566
15591         * c-semantics.c (genrtl_case_label): Don't (mis)use
15592         warning_with_decl.
15593
15594 2002-08-14  Dale Johannesen  <dalej@apple.com>
15595
15596         * explow.c (emit_stack_restore):  Emit memory clobbers
15597         preceding the stack pop, to prevent the scheduler from
15598         moving refs to variable arrays below this pop.
15599         * reload1.c (reload):  Preserve these clobbers for sched2.
15600         * doc/rtl.texi:  Document clobber (mem:BLK (scratch)).
15601
15602 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15603
15604         * c-opts.c (c_common_post_options): Correct test.
15605
15606 2002-08-14  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15607
15608         * m88k.h (ASM_OUTPUT_SOURCE_FILENAME): Fix incorrect argument
15609         order in call to fprintf.
15610
15611 2002-08-14  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
15612
15613         * config/sparc/sol2.h (SUBTARGET_EXTRA_SPECS): Define.
15614
15615 2002-08-14  Ulrich Weigand  <uweigand@de.ibm.com>
15616
15617         * reload.c (find_reloads): Handle constraint letters marked by
15618         EXTRA_ADDRESS_CONSTRAINT and EXTRA_MEMORY_CONSTRAINT.
15619         (alternative_allows_memconst): Likewise.
15620         * reload1.c (maybe_fix_stack_asms): Likewise.
15621         * recog.c (asm_operand_ok, preprocess_constraints,
15622         constrain_operands): Likewise.
15623         * regclass.c (record_operand_costs, record_reg_classes): Likewise.
15624         * local-alloc.c (block_alloc, requires_inout): Likewise.
15625         * stmt.c (parse_output_constraint, parse_input_constraint): Likewise.
15626
15627         * defaults.h (EXTRA_MEMORY_CONSTRAINT): Provide a default.
15628         (EXTRA_ADDRESS_CONSTRAINT): Likewise.
15629         * doc/tm.texi: Document these two new target macros.
15630
15631         * config/s390/s390.c (s390_expand_plus_operand): Accept already
15632         valid operands.
15633         (q_constraint): New function.
15634         config/s390/s390-protos.h (q_constraint): Declare it.
15635         config/s390/s390.h (EXTRA_CONSTRAINT): Use it.
15636         (EXTRA_MEMORY_CONSTRAINT): New macro.
15637
15638         * config/s390/s390.md: Throughout the machine description,
15639         replace all instances of the constraint combinations 'Qo'
15640         or 'oQ' with simply 'Q'.
15641
15642 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15643
15644         * config/m68hc11/m68hc11.h (LINK_SPEC): Support -mrelax.
15645         * config/m68hc11/t-m68hc11-gas (LIBGCC2_DEBUG_CFLAGS): Can use -g now.
15646         (LIBGCC2_CFLAGS): Compile with -mrelax.
15647
15648 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15649
15650         * doc/invoke.texi: Document -minmax for 68HC12.
15651
15652         * config/m68hc11/m68hc11.md ("umaxqi3"): Use TARGET_MIN_MAX.
15653         ("uminqi3"): Likewise.
15654         ("uminhi3", "umaxhi3"): Likewise.
15655
15656         * config/m68hc11/m68hc11.h (MASK_MIN_MAX): Define.
15657         (TARGET_MIN_MAX): Define.
15658         (TARGET_SWITCHES): New option -minmax/-mnominmax.
15659
15660 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15661
15662         * config/m68hc11/t-m68hc11-gas (LIB1ASMFUNCS): Build __far_trampoline.
15663         (MULTILIB_OPTIONS): Must also generate for -mlong-calls.
15664
15665         * config/m68hc11/larith.asm: Put a mode for ELF ABI flags.
15666         (ret, declare, farsym): New gas macros.
15667         (__premain, exit, abort, _cleanup, memcpy, memset, ___adddi3,
15668         ___subdi3, ___notdi2, __mulhi32, __mulsi3): Use them to use 'rtc'
15669         and declare the symbol far when compiled with -mlong-calls.
15670         (__far_trampoline): New for 68HC12 trampoline code to invoke a
15671         far handler using jsr/bsr.
15672
15673         * config/m68hc11/m68hc11-crt0.S: Put a mode for ELF ABI flags.
15674         (jsr): New macro to transform a 'jsr' into a 'call'.
15675
15676 2002-08-14  Stephane Carrez  <stcarrez@nerim.fr>
15677
15678         * doc/invoke.texi: Document -mlong-calls for 68HC12.
15679
15680         * config/m68hc11/m68hc11.h (CPP_SPEC): Pass -D__USE_RTC__ when
15681         -mlong-calls is specified.
15682         (ASM_DECLARE_FUNCTION_NAME): Define to generate .far and .interrupt
15683         assembler directives.
15684         (TARGET_LONG_CALL, MASK_LONG_CALL): Declare.
15685         (TARGET_SWITCHES): Add -mlong-calls options.
15686         (current_function_far): Declare.
15687
15688         * config/m68hc11/m68hc11.c (m68hc11_initial_elimination_offset): Take
15689         into account the page register saved on the stack.
15690         (m68hc11_override_options): Take into account -mlong-calls option.
15691         (m68hc11_asm_file_start): Put a mode for the ELF flags ABI.
15692
15693         * config/m68hc11/m68hc11.md ("*return_32bit"): Return rtc
15694         if the function is going to be in 68HC12 banked memory (-mlong-calls).
15695         ("*return_16bit"): Likewise.
15696         ("*return_void"): Likewise.
15697         ("call", "call_value"): Use call for a far function call.
15698
15699 2002-08-14  Neil Booth  <neil@daikokuya.co.uk>
15700
15701         * toplev.c (parse_options_and_default_flags): Don't call
15702         post_options here.
15703         (general_init): Initialize GC, pools and tree hash here,
15704         instead of lang_independent_init.
15705         (lang_independent_init): Rename backend_init.
15706         (do_compile): Call post_options hook; exit early if there
15707         have been errors after switch processing.
15708         (toplev_main): Update.
15709
15710 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15711
15712         * c-pretty-print.h: Guard against multiple inclusion.
15713         Robustify macros.
15714         (pp_c_attributes): Declare.
15715         * c-pretty-print.c (pp_c_attributes): New function.
15716
15717 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15718
15719         * m68k.c (m68k_output_function_prologue,
15720         m68k_output_function_epilogue): Delete versions for DPX2/MOTOROLA
15721         and NEWS/MOTOROLA.
15722         * genattrtab.c: Remove dpx2 comment.
15723         * libgcc2.c (__enable_execute_stack): Delete versions for
15724         NeXT/__MACH__, __convex__, __sysV88__, __pyr__ and
15725         sony_news/SYSTYPE_BSD.
15726         * longlong.h: Delete code for __a29k__, _AM29K, __clipper__,
15727         __gmicro__, __i860__, __NeXT__ and __pyr__.
15728         * rtl.h: Remove convex comment.
15729         * varasm.c: Likewise.
15730
15731 2002-08-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15732
15733         * c-opts.c (lang_flags): Const-ify.
15734         * ra-build.c (undef_table): Likewise.
15735         * ra.c (eliminables): Likewise.
15736
15737 2002-08-14  Gabriel Dos Reis  <gdr@nerim.net>
15738
15739         * tree.h: Guard against multiple inclusion.
15740
15741 2002-08-14  Hans-Peter Nilsson  <hp@bitrange.com>
15742
15743         * reload1.c (reload_cse_simplify): Before checking
15744         REG_FUNCTION_VALUE_P, check REG_P.
15745
15746 2002-08-13  Geoffrey Keating  <geoffk@redhat.com>
15747
15748         * Makefile.in (attribs.o): Remove $(OBSTACK_H) dependency.
15749
15750 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15751
15752         * c-opts.c (c_common_init_options): Extra braces needed.
15753
15754 Tue Aug 13 17:40:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
15755
15756         * sh.c (sh_init_builtins): Add PARAMS to declaration.
15757         (sh_media_init_builtins, sh_expand_builtin): Likewise.
15758         (sh_expand_unop_v2sf): Use PARAMS for variable declaration.
15759         (sh_expand_binop_v2sf): Likewise.
15760         * sh-protos.h (sh_expand_unop_v2sf): Add PARAMS to declaration.
15761         (sh_expand_binop_v2sf, sh_cfun_interrupt_handler_p): Likewise.
15762         (sh_initialize_trampoline): Likewise.
15763
15764 2002-08-13  Ulrich Weigand  <uweigand@de.ibm.com>
15765
15766         * s390-modes.def [CCL1, CCL2, CCT1, CCT2, CCT3, CCUR, CCSR]: Declare
15767         new condition code modes.
15768         s390.c (s390_match_ccmode_set): Handle those new CC modes.
15769         (s390_select_ccmode): Likewise.
15770         (s390_branch_condition_mask): Likewise.
15771
15772         * s390-protos.h (s390_tm_ccmode): Declare.
15773         s390.c (s390_tm_ccmode): New function.
15774         (s390_match_ccmode): Allow VOIDmode as REQ_MODE.
15775
15776         * s390.md ("*cmpdi_tm2"): Rename to "*tmdi_ext".
15777         ("*cmpsi_tm2"): Rename to "*tmsi_ext".
15778         ("*cmpqi_tm2"): Rename to "*tmqi_ext".
15779
15780         ("*cmpdi_tm_reg", "*cmpdi_tm_mem", "*cmpsi_tm_reg", "*cmpsi_tm_mem",
15781         "*cmphi_tm_sub","*cmphi_cct_0",  "*cmpqi_tm", "*cmpqi_tm_sub",
15782         "*cmpqi_cct_0", "*tm_0"): Remove, replace by ...
15783         ("*tmdi_reg", "*tmsi_reg", "*tmdi_mem", "*tmsi_mem", "*tmhi_mem",
15784         "*tmqi_mem", "*tmhi_full", "*tmqi_full"): ... these new patterns.
15785
15786         ("*ltgr", "*cmpdi_ccs_0_64", "*cmpdi_ccs_0_31", "*ltr", "*icm15",
15787         "*icm15_cconly", "*cmpsi_ccs_0", "*icm3", "*cmphi_ccs_0", "*icm1",
15788         "*cmpqi_ccs_0"): Remove, replace by ...
15789         ("*tstdi_sign", "*tstdi", "*tstdi_cconly", "*tstdi_cconly_31",
15790         "*tstsi", "*tstsi_cconly", "*tstsi_cconly2", "*tsthi", "*tsthi_cconly",
15791         "*tstqi", "*tstqi_cconly"): ... these new patterns.
15792
15793         ("*cmpsidi_ccs"): Remove, replace by ...
15794         ("*cmpsi_ccs_sign"): ... this new pattern.
15795         ("*cmpdi_ccs_sign", "*cmpdi_ccu_zero"): New patterns.
15796
15797         ("*cmpqi_ccu_0", "*cmpqi_ccu_immed"): Remove, replace by ...
15798         ("*cli"): ... this new pattern.
15799
15800         ("*adddi3_sign", "*adddi3_zero_cc", "*adddi3_zero_cconly",
15801         "*adddi3_zero", "*adddi3_cc", "*adddi3_cconly", "*adddi3_cconly2"):
15802         New patterns.
15803         ("adddi3_64"): Rename to "*adddi3_64".
15804         ("adddi3_31"): Replace by insn and splitter "*adddi3_31".
15805         ("adddi3"): Adapt expander.
15806
15807         ("*addsi3_cc"): Allow "general_operand" for operand 2.
15808         ("*addsi3_carry1_cc", "*addsi3_carry1_cconly",
15809         "*addsi3_carry2_cc", "*addsi3_carry2_cconly"): New patterns.
15810
15811         ("addhi3", "addqi3"): Remove, replace by ...
15812         ("*addsi3_sign", "*addsi3_sub"): ... these new patterns.
15813
15814         ("*subdi3_sign", "*subdi3_zero_cc", "*subdi3_zero_cconly",
15815         "*subdi3_zero", "*subdi3_cc", "*subdi3_cconly"): New patterns.
15816         ("subdi3"): Replace by insn and splitter "*subdi3_31".
15817         ("subdi3"): New expander.
15818
15819         ("*subsi3_borrow_cc", "*subsi3_borrow_cconly"): New patterns.
15820
15821         ("subhi3", "subqi3"): Remove, replace by ...
15822         ("*subsi3_sign", "*subsi3_sub"): ... these new patterns.
15823
15824         ("*muldi3_sign"): New pattern.
15825         ("muldi3"): Do not clobber CC.
15826         ("mulsi3"): Likewise.
15827         ("mulsi_6432"): Likewise.
15828
15829 2002-08-13  Denis Chertykov  <denisc@overta.ru>
15830
15831         * config/avr/avr.md: Call CC_STATUS_INIT in all peepnoles
15832         which can change CC0.
15833
15834 Tue Aug 13 14:49:20 2002  J"orn Rennecke <joern.rennecke@superh.com>
15835
15836         * gcse.c (adjust_libcall_notes): New function.
15837         (do_local_cprop): Use it.  Add fourth parameter.  Changed caller.
15838
15839 2002-08-13  Nathan Sidwell  <nathan@codesourcery.com>
15840
15841         * libgcc2.c (L_bb): Remove unneeded #includes.
15842         (__global_counters, __gthreads_active): Remove unused globals.
15843         (__bb_exit_func): Merge counts into files rather than appending.
15844         * Makefile.in (INTERNAL_CFLAGS): Move COVERAGE_FLAGS from here ...
15845         (ALL_CFLAGS): ... to here.
15846
15847 2002-08-13  Denis Chertykov  <denisc@overta.ru>
15848
15849         * config/ip2k/ip2k.c (commands_in_file): Variable removed.
15850         (function_epilogue): Don't calculate function size.
15851         (ip2k_set_compare): Don't use lookup_const_double.
15852         (asm_file_start): Initialization of commands_in_file removed.
15853         (asm_file_end): Output of commands_in_file removed.
15854
15855         * config/ip2k/ip2k.c (CPP_PREDEFINES): Remove definition of
15856         __INT_MAX__.
15857
15858 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15859
15860         * c-opts.c (c_common_init_options): Check option array is
15861         sorted if checking enabled.
15862
15863 2002-08-13  Gabriel Dos Reis  <gdr@nerim.net>
15864
15865         * c-pretty-print.c: #include "c-tree.h".
15866         (pp_c_simple_type_specifier): Tweak.
15867         (pp_c_storage_class_specifier): New.
15868         (pp_c_function_specifier): Likewise.
15869         (pp_c_declaration_specifiers): Likewise.
15870         (pp_c_init_declarator): Likewise.
15871         (pp_c_declaration): Likewise.
15872         (pp_c_direct_declarator): Stub.
15873         (pp_c_declarator): Likewise.
15874         (pp_c_parameter_declaration): Likewise.
15875
15876 2002-08-13  Neil Booth  <neil@daikokuya.co.uk>
15877
15878         * c-opts.c (deps_seen, deps_file, deferred_count, deferred_size,
15879         handle_deferred_opts, sanitize_cpp_opts, defer_opt,
15880         struct deferred_opt): New.
15881         (COMMAND_LINE_OPTIONS): Add -M*.
15882         (missing_arg): Update.
15883         (c_common_decode_option): Handle -M*.
15884         (c_common_post_options): Handle -M*.  Use sanitize_cpp_opts;
15885         don't call cpp_post_options.
15886         (c_common_finish, check_deps_environment_vars): Update.
15887         * cppfiles.c (stack_include_file, handle_missing_header): Update.
15888         * cpphash.h (CPP_PRINT_DEPS): Remove.
15889         * cppinit.c: Don't include version.h.
15890         (cpp_create_reader): Don't call deps_init.  Initialize
15891         warn_long_long.
15892         (cpp_read_main_file): Init deps if necessary.
15893         (cpp_destroy): Conditionally free deps.
15894         (cpp_finish): Update.
15895         (no_tgt): Remove.
15896         (COMMAND_LINE_OPTIONS, cpp_handle_option): Remove -M*.
15897         (cpp_post_options): Rename post_options.
15898         * cpplib.h (struct cpp_options): Remove some dependency options;
15899         move others to a new structure.
15900         (cpp_post_options): Remove.
15901         (cpp_finish): Comment.
15902         * fix-header.c (read_scan_file): Don't call cpp_post_options.
15903
15904 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
15905
15906         * config/mmix/mmix.md (define_constants): Add MMIX_rR_REGNUM.
15907         ("divdi3", "*divdi3_nonknuth", "moddi3", "*moddi3_nonknuth"): Mark
15908         MMIX_rR_REGNUM as clobbered.
15909         * config/mmix/mmix.h (MMIX_REMAINDER_REGNUM): Use MMIX_rR_REGNUM.
15910
15911 2002-08-12  Gabriel Dos Reis  <gdr@nerim.net>
15912
15913         * diagnostic.h (output_formatted_scalar): Rename from
15914         output_formatted_integer.
15915         * diagnostic.def: Add DK_DEBUG.
15916         * diagnostic.c (output_decimal): Adjust.
15917         (output_long_decimal): Likewise.
15918         (output_unsigned_decimal): Likewise.
15919         (output_octal): Likewise.
15920         (output_long_octal): Likewise.
15921         (output_hexadecimal): Likewise.
15922         (output_long_hexadecimal): Likewise.
15923         * c-pretty-print.c (pp_c_type_specifier): New function.
15924         (pp_c_specifier_qualifier_list): Likewise.
15925         (pp_c_abstract_declarator): Likewise.
15926         (pp_c_char): Replace pp_format_integer with pp_format_scalar.
15927
15928 2002-08-12  David Edelsohn  <edelsohn@gnu.org>
15929
15930         * doc/trouble.texi (Disappointments): Add static constructor and
15931         destructor dependency information for AIX.
15932
15933 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
15934
15935         * cpphash.h (struct printer): New from cppmain.c.
15936         (cpp_reader): New member.
15937         * cppmain.c (struct printer): Move to cpphash.h.
15938         (options, print): Remove.
15939         (account_for_newlines, print_line, maybe_print_line,
15940         cpp_preprocess_file, setup_callbacks, scan_translation_unit,
15941         scan_translation_unit_trad, cb_line_change, cb_ident,
15942         cb_define, cb_undef, cb_include, cb_file_change, dump_macro,
15943         cb_def_pragma): Make reentrant.
15944
15945 2002-08-12  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15946
15947         * real.c (ieee_64): Always define.
15948         (ieee_113): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15949         (dec_h): Not used yet, hide it.
15950         (emdnorm): Mark parameter in ATTRIBUTE_UNUSED.  Guard label with
15951         macro controlling use.
15952         (TFbignan, TFlittlenan): Guard with INTEL_EXTENDED_IEEE_FORMAT == 0.
15953
15954 Mon Aug 12 12:48:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
15955
15956         * i386.md (tablejump): Sign extend the operand.
15957         * i386.c (classify_argument): Fix missed case from previous patch.
15958
15959 2002-08-12  Neil Booth  <neil@daikokuya.co.uk>
15960
15961         * c-common.c (STDC_0_IN_SYSTEM_HEADERS, c_common_init): Move
15962         to c-copts.c.
15963         (warn_multichar): Die.
15964         (cb_register_builtins): Export.
15965         * c-common.h (warn_multichar, preprocess_file): Remove.
15966         (cb_register_builtins): New.
15967         * c-lang.c (c_init): Remove.
15968         (LANG_HOOKS_INIT): Use c_objc_common_init.
15969         * c-lex.c (init_c_lex): Don't canonicalize filename.
15970         * c-opts.c (in_fname, STDC_0_IN_SYSTEM_HEADERS): New.
15971         (preprocess_file): Make static.  Update for cpplib.
15972         (c_common_decode_option): Remove warn_multichar.  Use in_fname.
15973         (c_common_post_options): Set some cpp options here.
15974         (c_common_init): Move from c-common.c.
15975         * cppinit.c (cpp_post_options): Don't canonicalize in_fname.
15976         * cpplib.h (struct cpp_options): Remove in_fname.
15977         (cpp_preprocess_file): Update.
15978         * cppmain.c (cpp_preprocess_file): Update for new prototypes.
15979
15980 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15981
15982         * config.gcc (mips*-*-netbsd*): Include ${tm_file}.
15983
15984 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
15985
15986         * i370.h (TARGET_CPU_CPP_BUILTINS): Remove spurious trailing
15987         backslash in comment preceeding macro definition.
15988         * i370/linux.h (TARGET_OS_CPP_BUILTINS): Likewise.
15989         * i370/mvs.h (TARGET_OS_CPP_BUILTINS): Likewise.
15990         * i370/oe.h (TARGET_OS_CPP_BUILTINS): Likewise.
15991
15992 2002-08-12  Hans-Peter Nilsson  <hp@bitrange.com>
15993
15994         * expr.c (store_expr): In condition for checking if value is
15995         generated in TARGET, move call to expr_size last.
15996
15997 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
15998
15999         * c-common.c (c_common_init): Call preprocess_file instead.
16000         (c_common_finish): Move to c-opts.c.
16001         * c-common.h (preprocess_file): new.
16002         * c-opts.c (out_fname, out_stream, deps_append, preprocess_file,
16003         check_deps_environment_vars, c_common_finish): New.
16004         (c_common_decode_option): Update for out_fname and dependencies.
16005         * cppinit.c (init_dependency_output, output_deps): Remove.
16006         (cpp_destroy): Update prototype.
16007         (cpp_add_dependency_target): New.
16008         (cpp_read_main_file): Don't overlay a buffer.
16009         (cpp_finish): Take a deps output stream and write deps to it.
16010         Return the error count.
16011         (cpp_post_options): Don't canonicalize out_fname, or do anything
16012         with dependencies.
16013         * cpplib.h (struct cpp_options): Remove out_fname and
16014         preprocess_only.
16015         (cpp_add_dependency_target): New.
16016         (cpp_destroy, cpp_finish, cpp_preprocess_file): Update.
16017         * cppmain.c (cpp_preprocess_file): Update prototype.  Don't
16018         set preprocess_only.  Don't handle the output stream directly.
16019
16020 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16021
16022         * dsp16xx.c (print_operand): Fix format specifier.
16023         * dsp16xx.md: Avoid automatic aggregate initialization.
16024         * frv.h (REG_CLASS_FROM_LETTER): Avoid char as array index.
16025         * h8300.c (emit_a_rotate, h8300_adjust_insn_length): Avoid U
16026         integer constant modifier.
16027         * ip2k.c (ip2k_set_compare): Avoid signed/unsigned warning.
16028         * mmix-protos.h (mmix_use_simple_return): Move outside TREE_CODE
16029         guards.
16030         * sh/netbsd-elf.h (FUNCTION_PROFILER): Fix format specifier.
16031         * v850.c (v850_select_section): Mark parameter with
16032         ATTRIBUTE_UNUSED.
16033         * global.c (global_alloc): Const-ify.
16034         * ra-colorize.c (hardregset_to_string): Fix format specifier.
16035
16036 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16037
16038         * darwin-c.c (darwin_pragma_options): Const-ify.
16039         * darwin.c (machopic_non_lazy_ptr_name,
16040         machopic_validate_stub_or_non_lazy_ptr): Likewise.
16041         (machopic_indirect_data_reference): Wrap variables in macros
16042         controlling their use.
16043         (machopic_finish, update_non_lazy_ptrs, update_stubs): Const-ify.
16044         (machopic_select_section): Use parentheses around && within ||.
16045         * i386/darwin.h (ASM_OUTPUT_ALIGN): Avoid ambiguous-else.
16046
16047 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16048
16049         * ip2k.c (mdr_resequence_xy_yx, mdr_propagate_reg_equivs,
16050         mdr_try_move_dp_reload, ip2k_check_can_adjust_stack_ref,
16051         ip2k_adjust_stack_ref, mdr_try_move_pushes, mdr_try_propagate_clr,
16052         ip2k_xexp_not_uses_reg_for_mem, mdr_try_propagate_move,
16053         mdr_try_remove_redundant_insns, track_w_reload,
16054         mdr_try_wreg_elim): Make function static to match prototype.
16055         * mmix.c (mmix_target_asm_function_epilogue): Likewise.  Mark
16056         parameter with ATTRIBUTE_UNUSED.
16057
16058 2002-08-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16059
16060         * arc.c (arc_init): Don't use ISO C style function definitions.
16061         * arm.c (count_insns_for_constant, thumb_far_jump_used_p,
16062         arm_get_strip_length, arm_strip_name_encoding): Likewise.
16063         * avr.h (progmem_section): Likewise.
16064         * h8300.c h8300_asm_insn_count): Likewise.
16065         * m32r.c (init_idents): Likewise.
16066         * s390.c (s390_split_branches, s390_chunkify_pool): Likewise.
16067         * sh.c (sh_cfun_interrupt_handler_p): Likewise.
16068         * xtensa.c (xtensa_build_va_list): Likewise.
16069
16070 2002-08-11  Neil Booth  <neil@daikokuya.co.uk>
16071
16072         * c-common.h (enum c_language_kind): Emphasize that clk_c is 0.
16073         * c-opts.c (parse_option): Rename find_opt.
16074         (set_std_c99): New function.
16075         (COMMAND_LINE_OPTIONS): Handle -remap and -o.  Remove OPT_std_bad.
16076         (missing_arg): Remove OPT_std_bad.  Handle -o.
16077         (c_common_decode_option): Handle input and output file names,
16078         -o and -remap.  Clean up -std= handling.
16079         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_o and OPT_remap.
16080         (cpp_handle_option): Similarly.  Don't handle filenames.
16081
16082 Sun Aug 11 14:43:17 CEST 2002  Jan Hubicka  <jh@suse.cz>
16083
16084         * i386.c (classify_argument): Fix computing of field's offsets.
16085
16086 2002-08-11  Andreas Jaeger  <aj@suse.de>
16087
16088         PR target/7531:
16089         * doc/invoke.texi (i386 and x86-64 Options): Document -mcmodel.
16090
16091 2002-08-10  Ziemowit Laski  <zlaski@apple.com>
16092
16093         * config/alpha/alpha.h (TARGET_CPU_CPP_BUILTINS): Replace
16094         reference to clk_objective_c with flag_objc.
16095         * config/i386/i386-interix.h (TARGET_OS_CPP_BUILTINS):
16096         Likewise.
16097         * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Likewise.
16098
16099 2002-08-10  Neil Booth  <neil@daikokuya.co.uk>
16100
16101         * c-opts.c (set_std_cxx98, set_std_c89): New.
16102         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16103         (c_common_decode_option): Handle new switches from cppinit.c.
16104         Add -std=gnu++98.
16105         * cppinit.c (set_lang): Rename cpp_set_lang.  Export.
16106         (no_arg, no_num): Remove.
16107         (COMMAND_LINE_OPTIONS): Move more to c-opts.c.  Drop all lang-
16108         switches apart from -lang-objc and lang-asm.
16109         (cpp_handle_option): Similarly.
16110         * cpplib.h (cpp_set_lang): New.
16111         * doc/cppopts.texi, doc/invoke.texi: Document -std=c++98,
16112         -std=gnu++98.
16113         * objc/lang-specs.h: Remove -ansi.
16114
16115 Sat Aug 10 19:59:43 CEST 2002  Jan Hubicka  <jh@suse.cz>
16116                                Graham Stott
16117
16118         * cfg.c (redirect_edge_succ_nodup): Avoid overflows due to roundoff
16119         errors.
16120
16121 2002-08-10  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16122
16123         * emit-rtl.c (emit_jump_insn_before, emit_call_insn_before,
16124         emit_jump_insn): Fix uninitialized variable.
16125         * gcov.c (init_line_info): Likewise.
16126         * genautomata.c (transform_3): Add braces around ambiguous
16127         else.
16128         * ifcvt.c (cond_exec_process_insns): Mark parameter with
16129         ATTRIBUTE_UNUSED.
16130         * ra-build.c (parts_to_webs_1): Fix uninitialized variable.
16131         * regrename.c (copyprop_hardreg_forward): Fix uninitialized
16132         variable.
16133
16134         * gengtype.c (write_gc_structure_fields): Avoid signed/unsigned
16135         warnings in output files.
16136
16137 2002-08-09  Ziemowit Laski  <zlaski@apple.com>
16138
16139         * c-common.c (flag_objc): New.
16140         * c-common.h (c_language_kind): Get rid of clk_objective_c
16141         enum value.
16142         (flag_objc): New extern declaration.
16143         * c-decl.c (implicitly_declare): Call objc_check_decl
16144         instead of maybe_objc_check_decl.
16145         (finish_decl): Likewise.
16146         (grokfield): Likewise.
16147         (finish_struct): Likewise.
16148         * c-lang.c (maybe_objc_check_decl): Rename to objc_check_decl.
16149         (maybe_objc_comptypes): Rename to objc_comptypes.
16150         (maybe_building_objc_message_expr): Rename to
16151         objc_message_selector.
16152         * c-lex.c (lex_charconst): Remove uses of clk_objective_c,
16153         replace with flag_objc as needed.
16154         * c-opts.c (c_common_init_options): Likewise.
16155         (c_common_decode_option): Likewise.
16156         * c-parse.in (init_reswords): Likewise.
16157         * c-tree.h (maybe_objc_check_decl): Rename to objc_check_decl.
16158         (maybe_objc_comptypes): Rename to objc_comptypes.
16159         (maybe_building_objc_message_expr): Rename to
16160         objc_message_selector.
16161         * c-typeck.c (comptypes): Call objc_comptypes instead of
16162         maybe_objc_comptypes, and/or objc_message_selector instead of
16163         maybe_building_objc_message_expr.
16164         (comp_target_types): Likewise.
16165         (convert_for_assignment): Likewise.
16166         (warn_for_assignment): Likewise.
16167         * cppinit.c (init_builtins): Set __OBJC__ manifest constant
16168         independently of those for other languages.
16169         * objc/objc-act.c (maybe_objc_comptypes): Delete.
16170         (maybe_objc_check_decl): Delete.
16171         (maybe_building_objc_message_expr): Rename to
16172         objc_message_selector.
16173         * objc/objc-lang.c (objc_init_options): Use clk_c instead of
16174         clk_objective_c; set flag_objc flag.
16175
16176 2002-08-09  Toshiyasu Morita  <toshiyasu.morita@hsa.hitachi.com>
16177
16178         * ifcvt.c (find_if_case_2): Test correct basic block for size.
16179
16180 2002-08-09  Dale Johannesen  <dalej@apple.com>
16181
16182         * config/rs6000/rs6000.md: Add sibcall patterns.
16183         * config/rs6000/rs6000.h (FUNCTION_OK_FOR_SIBCALL):  Define.
16184         * config/rs6000/rs6000.c (rs6000_ra_ever_killed):
16185         Rewritten to handle sibcalls.
16186         * config/rs6000/rs6000.c (function_ok_for_sibcall):  New.
16187         * config/rs6000/rs6000-protos.h (function_ok_for_sibcall):  New.
16188
16189 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16190
16191         * profile.c (da_file_name): New static var.
16192         (init_branch_prob): Initialize it.
16193         (end_branch_prob): Remove da file.
16194
16195         * Makefile.in (stage1_build): Pass empty COVERAGE_FLAGS.
16196         * configure.in (coverage_flags): Default to nothing.
16197         * configure: Rebuilt.
16198
16199 2002-08-09  Neil Booth  <neil@daikokuya.co.uk>
16200
16201         * Makefile.in (c-opts.o): Update
16202         * c-opts.c: Include intl.h.
16203         (print_help): Move from cppinit.c.  Remove unused options.
16204         (COMMAND_LINE_OPTIONS): Move more from cppinit.c.
16205         (missing_arg): Complain for switches without an argument.
16206         (c_common_decode_option): Reject missing joined arguments.
16207         Handle new switches from cppinit.c.
16208         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16209         (cpp_handle_option): Similarly.
16210         (print_help): Moved to c-opts.c.
16211         * cpplib.h (struct cpp_options): Remove help_only.
16212         * gcc.c (cpp_unique_options): Remove -$.
16213         * doc/cppopts.texi: Undocument -h.
16214
16215 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16216
16217         * config/i386/i386.c (legitimate_constant_p): UNSPEC_TP is not
16218         legitimate constant.
16219         (legitimate_pic_operand_p): Neither pic operand.
16220         (legitimate_address_p): But legitimate address.
16221         (get_thread_pointer): Generate MEM/u instead of CONST around
16222         UNSPEC_TP.
16223         (print_operand): Remove printing of UNSPEC_TP.
16224         (print_operand_address): And print it here.
16225
16226 2002-08-08  Devang Patel  <dpatel@apple.com>
16227
16228         * objc/objc-act.c (build_selector_translation_table): Issue warning,
16229         when  -Wselector is used,if method for which selector is being
16230         created does not exist.
16231
16232 2002-08-08  Stephen Clarke <stephen.clarke@superh.com>
16233
16234         * config/sh/sh.c (prepare_move_operands): Only call
16235         target_reg_operand if TARGET_SHMEDIA.
16236
16237 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16238
16239         * config/rs6000/rs6000.h, config/rs6000/aix.h,
16240         config/rs6000/darwin.h, config/rs6000/linux64.h: Revert last
16241         two patches.
16242         * config/rs6000/sysv4.h: Likewise, remove #undef ADJUST_FIELD_ALIGN.
16243
16244 2002-08-08  Lars Brinkhoff  <lars@nocrew.org>
16245             Richard Henderson  <rth@redhat.com>
16246
16247         * emit-rtl.c (gen_rtx_REG): After reload, only return
16248         frame_pointer_rtx or hard_frame_pointer_rtx if frame_pointer_needed.
16249
16250 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16251
16252         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): Remove.
16253         * config/rs6000/rs6000.c (rs6000_field_alignment): Move...
16254         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): ...inline into the
16255         macro.
16256
16257 2002-08-08  Adam Nemet  <anemet@lnxw.com>
16258
16259         * config/arm/arm.c (thumb_unexpanded_epilogue): Stack the PIC
16260         register.
16261         (thumb_expand_prologue): Likewise.
16262         (thumb_output_function_prologue): Likewise.
16263         * config/arm/arm.h (THUMB_INITIAL_ELIMINATION_OFFSET): Account for
16264         the additional push of the PIC register.
16265
16266 2002-08-08  Nathan Sidwell  <nathan@codesourcery.com>
16267
16268         * configure.in (enable_coverage): New enable switch.
16269         * configure: Rebuilt.
16270         * Makefile.in (COVERAGE_FLAGS, coverageexts): New variables.
16271         (INTERNAL_CFLAGS): Append COVERAGE_FLAGS.
16272         (ALL_FLAGS): Reorder so INTERNAL_CFLAGS comes after CFLAGS.
16273         (mostlyclean): Remove coverage files.
16274         * doc/install.texi: Document enable_coverage.
16275
16276         * cp/Make-lang.in (c++.mostlyclean): Remove coverage files.
16277         * ada/Make-lang.in (ada.mostlyclean): Remove coverage files.
16278         * f/Make-lang.in (f.mostlyclean): Remove coverage files.
16279         * java/Make-lang.in (java.mostlyclean): Remove coverage files.
16280         * objc/Make-lang.in (objc.mostlyclean): Remove coverage files.
16281         * treelang/Make-lang.in (treelang.mostlyclean): Remove coverage
16282         files.
16283
16284 2002-08-08  Neil Booth  <neil@daikokuya.co.uk>
16285
16286         * c-opts.c (cpp_opts): New.
16287         (COMMAND_LINE_OPTIONS): Add switches from cppinit.c.
16288         (c_common_decode_options): Handle cpplib switches.
16289         (c_common_init_options): Set cpp_opts.
16290         * cppinit.c (COMMAND_LINE_OPTIONS): Move some switches to c-opts.c.
16291         (cpp_handle_option): Similarly.
16292
16293 2002-08-08  David Edelsohn  <edelsohn@gnu.org>
16294
16295         * config/rs6000/aix.h (TARGET_ALTIVEC): Define to 0.
16296         (TARGET_ALTIVEC_ABI): Same.
16297         (TARGET_ALTIVEC_VRSAVE): Same.
16298
16299         * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Check
16300         icode not CODE_FOR_nothing.  Change switch to if.
16301
16302 2002-08-08  Alan Modra  <amodra@bigpond.net.au>
16303
16304         * config/rs6000/rs6000.h (ASM_CPU_SPEC): Pass -mpower4 when cpu=power4.
16305
16306 2002-08-08  Jakub Jelinek  <jakub@redhat.com>
16307
16308         * stor-layout.c (place_union_field): For bitfields if
16309         PCC_BITFIELD_TYPE_MATTERS and TYPE_USER_ALIGN, set record's
16310         TYPE_USER_ALIGN.
16311
16312 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16313
16314         * pa.c (struct deferred_plabel): Constify name field.
16315
16316 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16317
16318         * cppmacro.c (_cpp_builtin_macro_text): Remove unused variable.
16319
16320 2002-08-07  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16321
16322         * configure.in (PREFIX_INCLUDE_DIR): Don't define if prefix and
16323         local_prefix are the same.
16324         * configure: Rebuilt.
16325
16326 2002-08-07  Jakub Jelinek  <jakub@redhat.com>
16327             Richard Henderson  <rth@redhat.com>
16328
16329         * stor-layout.c (place_union_field): Apply ADJUST_FIELD_ALIGN
16330         to type_align when PCC_BITFIELD_TYPE_MATTERS.  Only apply
16331         ADJUST_FIELD_ALIGN if not DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
16332         (place_field): Likewise.
16333         * config/i386/i386.c (x86_field_alignment): Don't check
16334         DECL_USER_ALIGN here.
16335         * config/rs6000/rs6000.c (rs6000_field_alignment): New.
16336         * config/rs6000/rs6000-protos.h (rs6000_field_alignment): New
16337         prototype.
16338         * config/rs6000/rs6000.h (ADJUST_FIELD_ALIGN): Define.
16339         * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Remove.
16340         * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Remove.
16341         * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Remove.
16342         * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Remove.
16343         * doc/tm.texi (ADJUST_FIELD_ALIGN): Update description.
16344
16345 2002-08-07  Neil Booth  <neil@daikokuya.co.uk>
16346
16347         * Makefile.in (c-opts.o, c-common.o, C_AND_OBJC_OBJS): Update.
16348         * c-common.c: Don't include tree-inline.h.
16349         (c_common_init_options, c_common_post_options): Move to c-opts.c.
16350         * c-common.h (c_common_decode_option): New.
16351         * c-decl.c (c_decode_option): Remove.
16352         * c-lang.c (LANG_HOOKS_DECODE_OPTION): Use c_common_decode_option.
16353         * c-opts.c: New file.
16354         * c-tree.h (c_decode_option): Remove.
16355         * doc/passes.texi: Update.
16356         * objc/objc-act.c (objc_decode_option): Remove.
16357         * objc/objc-act.h (objc_decode_option): Remove.
16358         * objc/ojbc-lang.c (LANG_HOOKS_DECODE_OPTION): Use
16359         c_common_decode_option.
16360
16361 2002-08-07  Chris Demetriou  <cgd@broadcom.com>
16362
16363         * config/mips/mips.md (sunlt_sf, suneq_sf, sunle_sf): Remove
16364         dependency on TARGET_DOUBLE_FLOAT.
16365
16366 2002-08-07  Stephen Clarke <stephen.clarke@superh.com>
16367
16368         * config/sh/lib1funcs.asm (GCC_shcompact_incoming_args): Don't
16369         overwrite callee-save registers.  Fix comment.
16370
16371 2002-08-06  Chris Demetriou  <cgd@broadcom.com>
16372
16373         * config/mips/mips.c (override_options): Set MASK_BRANCHLIKELY
16374         in target_flags based on ISA, if it was not set on the command
16375         line.  Warn if MASK_BRANCHLIKLEY is set but the ISA does not
16376         support Branch Likely instructions.
16377         * config/mips/mips.h (MASK_BRANCHLIKLEY): New macro.
16378         (TARGET_BRANCHLIKELY): Likewise.
16379         (TARGET_SWITCHES): Add -mbranch-likely and -mno-branch-likely.
16380         (GENERATE_BRANCHLIKELY): Use TARGET_BRANCHLIKELY rather than
16381         ISA_HAS_BRANCHLIKELY.
16382         (ISA_HAS_BRANCHLIKELY): Do not include MIPS16 check.
16383         * doc/invoke.texi: Document new MIPS -mbranch-likely and
16384         -mno-branch-likely options.
16385
16386 2002-08-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16387
16388         * ip2k.c (ip2k_set_compare): Add missing iteration variable.
16389
16390         * Makefile.in (dummy-conditions.o): Depend on $(HCONFIG_H) not
16391         $(GCONFIG_H).
16392
16393 2002-08-06  Aldy Hernandez  <aldyh@redhat.com>
16394
16395         * c-decl.c (duplicate_decls): Error out for incompatible TLS
16396         declarations.
16397
16398         * testsuite/gcc.dg/tls/diag-3.c: New.
16399
16400 2002-08-06  Dale Johannesen  <dalej@apple.com>
16401
16402         * c-common.c (fname_decl): Use line number 0 for
16403         __func__, to avoid confusing debuggers.
16404
16405 2002-08-06  Nathan Sidwell  <nathan@codesourcery.com>
16406
16407         * gcov.c: Tidy.
16408         (struct line_info, struct coverage): New structures.
16409         (gcov_file_name, gcov_file): Remove globals.
16410         (output_data): Take source file parameter. Fix memory leak. Break
16411         up into ...
16412         (init_line_info, output_line_info, make_gcov_file_name,
16413         accumulate_branch_counts): ... here.
16414         (calculate_branch_probs, function_summary): Adjust.
16415         (main): Adjust.
16416         (function_*): Remove global variables.
16417
16418 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16419
16420         * dwarf2out.c: Remove unused macros.
16421
16422 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16423
16424         * function.c (TRAMPOLINE_ALIGNMENT): Always defined.
16425
16426 2002-08-06  Neil Booth  <neil@daikokuya.co.uk>
16427
16428         * cppinit.c (struct lang_flags): Rename trigraphs std.
16429         (set_lang): Update.
16430         * cpplib.h (struct cpp_options): New member std.
16431         * cppmacro.c (_cpp_builtin_macro_text): Use std.
16432         (collect_args): Flag whether to swallow a possible future
16433         comma pasted with varargs.
16434         (replace_args): Use this flag.
16435         * doc/cpp.texi: Update varargs extension documentation.
16436
16437 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16438
16439         * config/i386/mmintrin.h (__m64): Make the type 64-bit aligned.
16440
16441 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16442
16443         * config/i386/i386.c (x86_field_alignment): Apply min for all MODE_INT
16444         and MODE_CLASS_INT modes.
16445
16446 2002-08-06  Jakub Jelinek  <jakub@redhat.com>
16447
16448         * config.gcc (*-*-linux*): Default to --enable-threads=posix if no
16449         --{enable,disable}-threads is given to configure.
16450         (alpha*-*-linux*, hppa*-*-linux*, i[34567]86-*-linux*,
16451         x86_64-*-linux*, ia64*-*-linux*, m68k-*-linux*, mips*-*-linux*,
16452         powerpc-*-linux-gnualtivec*, powerpc-*-linux*, s390-*-linux*,
16453         s390x-*-linux*, sh-*-linux*, sparc-*-linux*, sparc64-*-linux*):
16454         Remove thread_file setting here.
16455
16456 2002-08-06  David Edelsohn  <edelsohn@gnu.org>
16457
16458         * doc/install.texi (Binaries): Update Bull Freeware URL.
16459
16460 2002-08-06  Gerald Pfeifer  <pfeifer@dbai.tuwien.ac.at>
16461
16462         * doc/gcc.texi (Top): Rename Index to Keyword Index.
16463
16464 2002-08-05  Nathan Sidwell  <nathan@codesourcery.com>
16465
16466         * gcov.c (output_data): Round to % to nearest, tweak formatting.
16467
16468 2002-08-05  Jakub Jelinek  <jakub@redhat.com>
16469
16470         * fold-const.c (associate_trees): Only optimize NEGATE_EXPR in one
16471         of the operands into MINUS_EXPR if code is PLUS_EXPR.
16472
16473 2002-08-05  Douglas B Rupp  <rupp@gnat.com>
16474
16475         * config.gcc (i[34567]86-*-interix*): Replace interix.o with winnt.o
16476         * config/i386/i386-interix.h (TARGET_NOP_FUN_DLLIMPORT,
16477         drectve_section): Define.
16478         * config/i386/t-interix: Replace interix.o rule with winnt.o.
16479         * config/i386/interix.c: Remove.
16480
16481 2002-08-05  Geoffrey Keating  <geoffk@redhat.com>
16482
16483         * attribs.c: Don't include obstack.h.
16484         * builtins.c: Likewise.
16485         * cfganal.c: Likewise.
16486         * cfgbuild.c: Likewise.
16487         * cfgcleanup.c: Likewise.
16488         * emit-rtl.c: Likewise.
16489         * loop.c: Likewise.
16490         * stmt.c: Likewise.
16491
16492         * Makefile.in (s-gtype): Re-add dependency on $(GTFILES).
16493
16494 2002-08-05  Gabriel Dos Reis  <gdr@nerim.net>
16495
16496         * doc/c-tree.texi (Expression trees): Document VA_ARG_EXPR
16497
16498 2002-08-04  Chris Demetriou  <cgd@broadcom.com>
16499
16500         * doc/invoke.texi: Remove duplicated paragraph describing
16501         TARGET_SWITCHES.
16502
16503 2002-08-04  Geoffrey Keating  <geoffk@redhat.com>
16504
16505         * Makefile.in (sdbout.o): Doesn't need $(OBSTACK_H).
16506         * collect2.h (permanent_obstack): Delete declaration.
16507         * collect2.c (permanent_obstack): Delete definition.
16508         (main): Don't initialize permanent_obstack.  Use xstrdup instead.
16509         * expr.c: Don't include obstack.h.
16510         (permanent_obstack): Delete declaration.
16511         * function.c: Don't include obstack.h.
16512         (permanent_obstack): Delete declaration.
16513         * integrate.c: Don't include obstack.h.
16514         (function_maybepermanent_obstack): Delete declaration.
16515         * print-tree.c (debug_tree): Use x*alloc not permalloc.
16516         * sdbout.c (gen_fake_label): Use x*alloc not permalloc.
16517         * tlink.c (pfgets): Use xstrdup not permanent_obstack.
16518         * toplev.c (lang_independent_init): Rename init_obstacks to init_ttree.
16519         * tree.h: Rename init_obstacks to init_ttree.  Remove declarations
16520         of permalloc, expralloc, perm_calloc.
16521         * tree.c (permanent_obstack): Delete definition.
16522         (init_ttree): Rename from init_obstacks.
16523         (permalloc): Delete.
16524         (perm_calloc): Delete.
16525         (dump_tree_statistics): Don't print information about
16526         permanent_obstack.
16527         * varasm.c (assemble_start_function): Use xstrdup instead of
16528         permalloc/strcpy.
16529         (assemble_variable): Likewise.
16530         * config/alpha/alpha.c (unicosmk_need_dex): Use xmalloc instead of
16531         permalloc.
16532         (unicosmk_add_extern): Likewise.
16533         * config/c4x/c4x.c (c4x_external_ref): Likewise.
16534         (c4x_global_label): Likewise.
16535         * config/frv/frv.c (frv_encode_section_info): Likewise.
16536         * config/i386/winnt.c (i386_pe_record_external_function): Likewise.
16537         (i386_pe_record_exported_symbol): Likewise.
16538         * config/mips/mips.c (mips_output_external): Likewise.
16539         (mips_output_external_libcall): Likewise.
16540         * config/pa/pa.c: (permanent_obstack): Delete declaration.
16541         (output_call): Use ggc_strdup instead of allocating on
16542         permanent_obstack.
16543         * config/romp/romp.c: Include ggc.h.
16544         (get_symref): Don't declare permanent_obstack, use ggc_strdup
16545         intead of permanent_obstack.
16546         * config/rs6000/aix31.h (ASM_OUTPUT_EXTERNAL): Use concat
16547         instead of permalloc.
16548         * config/rs6000/rs6000.c (rs6000_gen_section_name): Use xmalloc
16549         instead of permalloc
16550         * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Use concat
16551         instead of permalloc.
16552         * config/vax/vax.c (vms_check_external): Use xmalloc instead of
16553         permalloc.
16554
16555 2002-08-04  Bernd Schmidt  <bernds@redhat.com>
16556
16557         Contribute a port developed primarily by Michael Meissner,
16558         Catherine Moore, and Richard Sandiford <rsandifo@redhat.com>.
16559         * config.gcc: Add frv-elf target.
16560         * config/frv/cmovd.c: New file.
16561         * config/frv/cmovh.c: New file.
16562         * config/frv/cmovw.c: New file.
16563         * config/frv/frv-abi.h: New file.
16564         * config/frv/frv-asm.h: New file.
16565         * config/frv/frv-modes.def: New file.
16566         * config/frv/frv-protos.h: New file.
16567         * config/frv/frv.c: New file.
16568         * config/frv/frv.h: New file.
16569         * config/frv/frv.md: New file.
16570         * config/frv/frvbegin.c: New file.
16571         * config/frv/frvend.c: New file.
16572         * config/frv/lib1funcs.asm: New file.
16573         * config/frv/media.h: New file.
16574         * config/frv/modi.c: New file.
16575         * config/frv/t-frv: New file.
16576         * config/frv/uitod.c: New file.
16577         * config/frv/uitof.c: New file.
16578         * config/frv/ulltod.c: New file.
16579         * config/frv/ulltof.c: New file.
16580         * config/frv/umodi.c: New file.
16581         * config/frv/xm-frv.h: New file.
16582
16583         * config/frv/media.h: Removed again.
16584
16585 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16586
16587         * gcov.c (bb_file_time): New static variable.
16588         (object_directory): May also be object file.
16589         (preserve_paths): New static variable.
16590         (print_usage): Adjust.
16591         (options): Adjust.
16592         (process_args): Adjust.
16593         (open_files): Simplify. Cope when OBJECT_DIRECTORY is an object
16594         file. Find modification date on bb file.
16595         (read_profile): Don't rewind a NULL file.
16596         (format_hwint): New static function.
16597         (function_summary): Use format_hwint.
16598         (output_data): SOURCE_FILE_NAME is never relative to
16599         OBJECT_DIRECTORY. Use format_hwint. Adjust gcov file name
16600         mangling. Adjust output format to make it more machine readable.
16601         * doc/gcov.texi: Document & clarify semantics.
16602
16603 2002-08-04  Joseph S. Myers  <jsm@polyomino.org.uk>
16604
16605         * doc/include/gcc-common.texi (version-GCC): Increase to 3.3.
16606
16607 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16608
16609         * gcc.c (cc1_options): Pass output file as auxbase when
16610         appropriate.
16611         * profile.c (init_branch_prob): FILENAME has already had ending
16612         stripped.
16613         * final.c (end_final): Likewise.
16614         * toplev.c (aux_base_name): New global.
16615         (compile_file): Pass aux_base_name to init init_branch_prob and
16616         end_final.
16617         (independent_decode_option, case 'a'): New auxinfo options.
16618         (case 'd'): Protect against mising basename.
16619         (do_compile): Initialize aux_base_name.
16620         * toplev.h (aux_base_name): New global.
16621         * doc/invoke.texi: Adjust documentation.
16622
16623 2002-08-04  Nathan Sidwell  <nathan@codesourcery.com>
16624
16625         * config/i386/i386.c (x86_field_alignment): Remove duplicate test
16626         of TARGET_ALIGN_DOUBLE.
16627
16628 2002-08-04  Gabriel Dos Reis  <gdr@nerim.net>
16629
16630         * diagnostic.c (inform): New function.
16631         * diagnostic.h (inform): Declare.
16632
16633 2002-08-03  David Edelsohn  <edelsohn@gnu.org>
16634
16635         * config/rs6000/rs6000.md (movsi_internal1): Add nop mnemonic.
16636         (movhi_internal): Same.
16637         (movqi_internal): Same.
16638         (movdi_internal64): Same.
16639
16640         * config/rs6000/t-ppccomm (MULTILIB_MATCHES_FLOAT): Add mcpu=405.
16641
16642         * config/rs6000/xcoff.h (SKIP_ASM_OP): Define.
16643         (ASM_OUTPUT_SKIP): Use it.  SIZE unsigned.
16644         (COMMON_ASM_OP): Define.
16645         (ASM_OUTPUT_ALIGNED_COMMON): Use it.  SIZE unsigned.
16646         Use ALIGN parameter.
16647         (LOCAL_COMMON_ASM_OP): Define.
16648         (ASM_OUTPUT_LOCAL): Use it.  SIZE unsigned.
16649
16650 2002-08-03  Roger Sayle  <roger@eyesopen.com>
16651
16652         * builtins.def: Define new builtin functions exp, expf, expl,
16653         log, logf and logl (and their __builtin_* variants).
16654         * optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
16655         Define exp_optab and log_optab.
16656         * optabs.c (init_optans): Initialize exp_optab and log_optab.
16657         * genopinit.c (optabs): Implement exp_optab and log_optab
16658         using exp?f2 and log?f2 patterns.
16659         * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
16660         and BUILT_IN_LOG* using exp_optab and log_optab respectively.
16661         (expand_builtin): Ignore the new builtins (and all cos and
16662         sin variants) when not optimizing.  Expand new builtins via
16663         expand_builtin_mathfn when flag_unsafe_math_optimizations.
16664
16665         * doc/extend.texi: Document new exp and log builtins.
16666         * doc/md.texi: Document new exp?f2 and log?f2 patterns
16667         (and previously undocumented cos?f2 and sin?f2 patterns).
16668
16669 2002-08-03  Jason Merrill  <jason@redhat.com>
16670
16671         * explow.c (int_expr_size): New fn.
16672         * expr.c (expand_expr) [CONSTRUCTOR]: Use it.
16673         * expr.h: Declare it.
16674
16675 2002-08-02  Krister Walfridsson  <cato@df.lth.se>
16676
16677         * Makefile.in (gengtype-lex.o, gengtype-yacc.o): Add path to
16678         gengtype-* dependencies.
16679
16680 2002-08-02  Eric Christopher  <echristo@redhat.com>
16681
16682         * config.gcc (mips*-*-linux*): Fix ordering of tm_file.
16683         * config/mips/mips.h (READONLY_DATA_SECTION_ASM_OP): Change
16684         #ifndef to #undef.
16685         (TARGET_MEM_FUNCTIONS): Define instead of define to 1.
16686
16687 2002-08-02  David Edelsohn  <edelsohn@gnu.org>
16688
16689         PR optimize/7067
16690         * config/rs6000/rs6000.h (RTX_COSTS): Artificially make MULT
16691         small if optimizing for size.
16692
16693 2002-08-02  Daniel Jacobowitz  <drow@mvista.com>
16694
16695         * configure.in (FORBUILD): Use $build_alias.
16696         * configure: Regenerated.
16697
16698 2002-08-02  Richard Sandiford  <rsandifo@redhat.com>
16699
16700         * config.gcc: Don't include mips/abi64.h in $tm_file.
16701         * hard-reg-set.h (call_really_used_regs): Declare.
16702         * config/mips/abi64.h: Remove file.
16703         * config/mips/linux.h,
16704         * config/mips/iris6.h: Don't include it.
16705         * config/mips/mips-protos.h (mips_conditional_register_usage): Declare.
16706         * config/mips/mips.h (CONDITIONAL_REGISTER_USAGE): Use it.
16707         (REG_PARM_STACK_SPACE, STACK_BOUNDARY, STRICT_ARGUMENT_NAMING,
16708         FUNCTION_ARG_PASS_BY_REFERENCE, FUNCTION_ARG_PADDING,
16709         FUNCTION_ARG_CALLEE_COPIES, MUST_PASS_IN_STACK, MIPS_STACK_ALIGN):
16710         Bring across definitions from abi64.h.
16711         (GP_ARG_LAST, FP_ARG_LAST): Use MAX_ARGS_IN_REGISTERS.
16712         (BIGGEST_MAX_ARGS_IN_REGISTERS): New.
16713         (struct mips_args): Use it.
16714         * config/mips/mips.c (mips_conditional_register_usage): Define.
16715
16716 2002-08-02  Jason Merrill  <jason@redhat.com>
16717
16718         * langhooks-def.h (LANG_HOOKS_EXPR_SIZE): New macro.
16719         * langhooks.c (lhd_expr_size): Define default.
16720         * langhooks.h (struct lang_hooks): Add expr_size.
16721         * explow.c (expr_size): Call it.
16722         * expr.c (store_expr): Don't copy an expression of size zero.
16723         (expand_expr) [CONSTRUCTOR]: Use expr_size to calculate how much
16724         to store.
16725         * Makefile.in (builtins.o): Depend on langhooks.h.
16726
16727 2002-08-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16728
16729         * Makefile.in (ra-debug.o): Depend on $(TM_P_H).
16730         * ra-debug.c: Include "tm_p.h".
16731         * ra-rewrite.c (is_partly_live_1): Change return type to bool.
16732
16733 2002-08-02  Toon Moene  <toon@moene.indiv.nluug.nl>
16734
16735         * simplify-rtx.c (simplify_binary_operation): x * 1 is allowed
16736         when not honoring signalling NaNs.
16737         (simplify_ternary_operation): a == b has a definite value
16738         when not honoring NaNs.
16739
16740 2002-08-02  Jason Merrill  <jason@redhat.com>
16741
16742         * gdbinit.in (pct): New macro.
16743
16744 2002-08-01  Stan Shebs  <shebs@apple.com>
16745             Andreas Tobler  <toa@pop.agri.ch>
16746
16747         * ginclude/stddef.h (_BSD_SIZE_T_DEFINED_): Define if not defined,
16748         plays nice with Darwin headers.
16749         (_BSD_RUNE_T_DEFINED_): Likewise.
16750
16751 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
16752
16753         * c-common.c (c_common_init): -Wtraditional also implies -Wlong-long.
16754         * cppinit.c (cpp_post_options): Likewise.
16755
16756         * cppexp.c (cpp_classify_number): Suppress -Wtraditional
16757         warning about 'LL' suffix (but not 'ULL' etc) when
16758         -Wno-long-long is in effect.
16759
16760         * cppmacro.c (_cpp_builtin_macro_text) [BT_TIME, BT_DATE]:
16761         Check for failing time()/localtime(), issue a warning, and
16762         make __TIME__ and __DATE__ expand to fallback strings.
16763
16764         * doc/cpp.texi, doc/extend.texi: Document behavior of __DATE__
16765         and __TIME__ when the date and time cannot be determined.
16766
16767 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
16768
16769         * config/rs6000/rs6000.c (output_cbranch): Hint differently for power4.
16770
16771 2002-08-01  Daniel Jacobowitz  <drow@mvista.com>
16772
16773         * Makefile.in ($(BUILD_PREFIX_1)ggc-none.o): Use $(GGC_H).
16774
16775 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
16776
16777         * config.gcc (mipsisa64sb1-*-elf*): New configuration.
16778         (mipsisa64sb1el-*-elf*): Likewise.
16779         * config/mips/mips.c (mips_cpu_info_table): Add sb1.
16780         * config/mips/mips.h (processor_type): Add PROCESSOR_SB1.
16781         (TARGET_SB1, TUNE_SB1): New macros.
16782         * doc/invoke.texi: Add sb1 to documentation for MIPS -march and
16783         -mtune flags.
16784
16785 2002-08-01  David Edelsohn  <edelsohn@gnu.org>
16786
16787         * varasm.c (asm_emit_uninitialized): Return false if global BSS
16788         and ASM_EMIT_BSS not supported by target.
16789         (assemble_variable): Do not duplicate uninitialized logic.
16790         Fall through if asm_emit_uninitialized failed.
16791
16792 2002-08-01  Chris Demetriou  <cgd@broadcom.com>
16793
16794         * config/mips/mips.h (BRANCH_LIKELY_P): Remove unused macro.
16795
16796 2002-08-02  Alan Modra  <amodra@bigpond.net.au>
16797
16798         * config/rs6000/linux64.h (DBX_OUTPUT_BRAC): Define.
16799         (DBX_OUTPUT_LBRAC, DBX_OUTPUT_RBRAC): Define.
16800
16801         * config/rs6000/rs6000.c (output_toc): Don't use lshift_double when
16802         HOST_BITS_PER_WIDE_INT == 64.
16803
16804 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16805
16806         * df.c (df_insn_table_realloc): Change parameter to unsigned.
16807         * optabs.c (expand_binop): Make variable unsigned.
16808         * simplify-rtx.c (simplify_subreg): Likewise.
16809         * unroll.c (unroll_loop): Cast to avoid signed/unsigned warnings.
16810
16811 2002-08-01  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
16812
16813         * c-common.c (cb_register_builtins): Always define __GXX_ABI_VERSION.
16814
16815 2002-08-01  Richard Henderson  <rth@redhat.com>
16816
16817         * toplev.c (parse_options_and_default_flags): Don't set
16818         flag_reorder_blocks for -Os.
16819
16820         * config/avr/avr.c (avr_optimization_options): Remove.
16821         * config/avr/avr.h (OPTIMIZATION_OPTIONS): Remove.
16822         * config/m68hc11/m68hc11.c (m68hc11_optimization_options): Remove.
16823         * config/m68hc11/m68hc11.h (OPTIMIZATION_OPTIONS): Remove.
16824
16825 2002-08-01  H.J. Lu <hjl@gnu.org>
16826             Richard Henderson  <rth@redhat.com>
16827
16828         * output.h (DECL_READONLY_SECTION): Remove.
16829         (decl_readonly_section): Declare.
16830         * varasm.c (decl_readonly_section): New.
16831         (default_section_type_flags, default_select_section): Use it.
16832         * config/arm/pe.c (arm_pe_unique_section): Likewise.
16833         * config/i386/interix.c (i386_pe_unique_section): Likewise.
16834         * config/i386/winnt.c (i386_pe_unique_section): Likewise.
16835         * config/mcore/mcore.c (mcore_unique_section): Likewise.
16836         * config/mips/mips.c (mips_unique_section): Likewise.
16837
16838 2002-08-01  Richard Henderson  <rth@redhat.com>
16839
16840         * integrate.c (copy_rtx_and_substitute): Squash MEM_EXPR when it
16841         refers to a subroutine parameter.
16842
16843 2002-08-01  Jakub Jelinek  <jakub@redhat.com>
16844
16845         * varasm.c (assemble_visibility): Strip name encoding.
16846
16847 2002-08-01  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
16848
16849         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE): Correct earlier patch.
16850         (RETURN_ADDR_RTX): Cannot determine return address for FRAME > 0
16851         when there is no frame pointer.
16852         (INITIAL_FRAME_POINTER_OFFSET): Count stack space for saved fp
16853         registers properly.
16854         * config/ns32k/__unorddf2.c: New file.
16855         * config/ns32k/__unordsf2.c: New file.
16856         * config/ns32k/t-ns32k: New file.
16857         * config.gcc (ns32k-*-netbsd*): Use it.
16858
16859 2002-08-01  Aldy Hernandez  <aldyh@redhat.com>
16860
16861         * config/rs6000/rs6000.h (SPU_CONST_OFFSET_OK): Change to 0xff.
16862
16863 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16864
16865         * c-common.c (__GXX_ABI_VERSION): Correct spelling.
16866
16867 2002-08-01  Benjamin Kosnik  <bkoz@redhat.com>
16868
16869         * c-common.c (cb_register_builtins): Set __GXX_ABI_VERSION__ to 102.
16870
16871 2002-08-01  Richard Sandiford  <rsandifo@redhat.com>
16872
16873         * config/mips/mips.md: Add [!]TARGET_MIPS16 to sgtu conditions.
16874
16875 2002-08-01  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
16876
16877         * gcse.c (expr_hash_table_size, n_exprs, set_hash_table_size,
16878         n_sets): Removed.
16879         (expr_hash_table, set_hash_table): Type changed to ...
16880         (struct hash_table): New type.
16881         (hash_scan_insn, hash_scan_set, hash_scan_clobber, hash_scan_call,
16882         insert_expr_in_table, insert_set_in_table, compute_hash_table,
16883         dump_hash_table, lookup_expr, lookup_set, compute_local_properties,
16884         compute_ae_gen, compute_ae_kill): Modified to pass the table explicitly.
16885         (alloc_set_hash_table, alloc_expr_hash_table): Merged to ...
16886         (alloc_hash_table): New.
16887         (free_set_hash_table, free_expr_hash_table): Merged to ...
16888         (free_hash_table): New.
16889         (compute_set_hash_table, compute_expr_hash_table): Merged to ...
16890         (compute_hash_table_work): New.
16891         (classic_gcse, one_classic_gcse_pass, compute_cprop_data,
16892         find_avail_set, one_cprop_pass, find_bypass_set, compute_pre_data,
16893         pre_edge_insert, pre_insert_copies, pre_delete, pre_gcse,
16894         one_pre_gcse_pass, compute_transpout, compute_code_hoist_vbeinout,
16895         hoist_code, one_code_hoisting_pass,
16896         trim_ld_motion_mems): Altered due to changed type of hash tables.
16897
16898 2002-08-01  Zack Weinberg  <zack@codesourcery.com>
16899
16900         * final.c (output_alternate_entry_point):
16901         If ASM_OUTPUT_TYPE_DIRECTIVE is defined, use it.
16902
16903 2002-08-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
16904
16905         * objc/objc-act.c (encode_complete_bitfield): Add prototype and
16906         avoid ISO C style function definition.
16907
16908         * expr.c (expand_assignment): Delete unused variable.
16909
16910 2002-08-01  Toon Moene  <toon@moene.indiv.nluug.nl>
16911
16912         * c-common.c (cb_register_builtins): Set
16913         __FINITE_MATH_ONLY__ to 1 if -ffinite-math-only
16914         is given, and to 0 otherwise.
16915         * combine.c (simplify_if_then_else): HONOR_NANS
16916         implies FLOAT_MODE_P.
16917
16918 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16919
16920         * cppinit.c (COMMAND_LINE_OPTIONS): Remove OPT_dollar.
16921         (cpp_handle_option): Don't handle it.
16922         (print_help): Update.
16923         * doc/cppopts.texi: Update.
16924
16925 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16926
16927         * c-common.c (cb_register_builtins): If C++, define
16928         __EXCEPTIONS, __DEPRECATED and __GXX_ABI_VERSION as appropriate.
16929         * gcc.c (cpp_unique_options): Remove __GXX_ABI_VERSION.
16930 cp:
16931         * lang-specs.h: Simplify in accordance with new code in
16932         c-common.c.
16933
16934 2002-08-01  Neil Booth  <neil@daikokuya.co.uk>
16935
16936         * c-common.c: Define all C/ObjC/C++ warning and flag variables.
16937         * c-common.h: Declare all C/ObjC/C++ warning and flag variables.
16938         * c-decl.c: Move all warning and flag variables to c-common.c.
16939         * c-format.c: Move all warning variables to c-common.c.
16940         * c-tree.h: Move all warning and flag declarations to c-common.h.
16941         * objc/objc-act.c: Move all warning variables to c-common.c.
16942         (flag_warn_protocol): Rename warn_protocol.
16943
16944 2002-07-31  John David Anglin  <dave@hiauly1.hia.nrc.ca>
16945
16946         * pa-linux.h (GLOBAL_ASM_OP): Fix typo.
16947
16948 2002-07-31  Graham Stott  <graham.stott@btinternet.com>
16949
16950         * config/stormy16/stormy16.h (BSS_SECTION_ASM_OP): Add missing
16951         .section prefix.
16952
16953 2002-07-31  Stan Shebs  <shebs@apple.com>
16954
16955         * config.gcc (i[34567]86-*-darwin*): New configuration.
16956         * config/darwin.h (TARGET_ENCODE_SECTION_INFO): Undefine before
16957         defining.
16958         (TARGET_ENCODE_SECTION_INFO): Ditto.
16959         (ASM_PREFERRED_EH_DATA_FORMAT): Ditto.
16960         * config/darwin.c (machopic_indirect_data_reference): Remove
16961         setting of RTX_UNCHANGING_P.
16962         (machopic_legitimize_pic_address): Move RTX_UNCHANGING_P up so as
16963         not to be applied to sums.
16964         * config/i386/t-darwin: New file.
16965         * config/i386/darwin.h: New file.
16966         * config/i386/i386.h (TARGET_MACHO): Add default definition.
16967         * config/i386/i386.md (tablejump): Add TARGET_MACHO case.
16968         * config/i386/i386.c (output_set_got): For Mach-O, output Mach-O
16969         label and not the GOT add.
16970         (constant_address_p): For Mach-O, seeing a CONST is enough.
16971         (legitimate_pic_address_disp_p): Add a Mach-O case.
16972         (legitimate_address_p): Also test machopic_operand_p if Mach-O.
16973         (legitimize_pic_address): Use generic Mach-O code to legitimize.
16974         (output_pic_addr_const): Suppress @PLT if Mach-O, and parens
16975         if outputting a difference.
16976         (ix86_output_addr_diff_elt): Add Mach-O case.
16977         (ix86_expand_move): Similarly.
16978         (ix86_expand_call): Similarly.
16979         (current_machopic_label_num): New global.
16980         (machopic_output_stub): New function.
16981         (ix86_value_regno): New function.
16982         (ix86_function_value): Use it instead of VALUE_REGNO.
16983         (ix86_libcall_value): Ditto.
16984         * config/i386/unix.h (VALUE_REGNO): Remove.
16985
16986 2002-07-31  Graham Stott  <grahas@btinternet.com>
16987
16988         * config/rs6000/rs6000.c(rs6000_hash_constant): Fix
16989         hash for LABEL_REF's.
16990
16991 2002-07-31  Graham Stott  <grahams@btinternet.com>
16992
16993         * config/rs6000/rs6000.c (spe_init_builtins,
16994         altivec_init_builtins, rs6000_common_init_builtins):
16995         Replace ANSI with K&R function def.
16996
16997 2002-07-31  David Edelsohn  <edelsohn@gnu.org>
16998
16999         * rs6000.c (validate_condition_mode): Test flag_finite_math_only
17000         for CCFPmode.
17001
17002 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17003
17004         * config/mips/crtn.asm: Don't use __mips16 to determine the
17005         return-address offset.  Define RA to a suitable temporary
17006         register for the return address.
17007
17008 2002-07-31  Richard Sandiford  <rsandifo@redhat.com>
17009
17010         * config/mips/mips.md (eh_set_lr_si, eh_set_lr_di): Change
17011         constraints to 'd'.
17012
17013 2002-07-30  Chris Demetriou  <cgd@broadcom.com>
17014
17015         * config/mips/elf.h (STARTFILE_SPEC): Define differently if
17016         default ABI is MEABI.  (Undoes incorrect change in Eric Christopher's
17017         patch on 2002-07-29.)
17018         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17019
17020 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17021
17022         * alpha.h, arc.h, arm/aout.h, avr.h, cris.h, d30v.h, dsp16xx.h,
17023         fr30.h, h8300.h, i370.h, i386/sco5.h, i386/unix.h, i960.h, ia64.h,
17024         ip2k.h, m32r.h, mcore.h, mips.h, mn10200.h, mn10300.h, ns32k.h,
17025         openbsd.h, pa/pa-linux.h, pdp11.h, romp.h, rs6000/sysv4.h,
17026         s390/linux.h, sh.h, sparc.h, stormy16.h, v850.h, vax.h, xtensa.h:
17027         (ASM_GLOBALIZE_LABEL): Delete.
17028         (GLOBAL_ASM_OP): Define.
17029
17030         * m68hc11.h, m68k.h, m88k.h (ASM_GLOBALIZE_LABEL): Delete.
17031
17032         * defaults.h (ASM_GLOBALIZE_LABEL): Provide a default.
17033         * doc/tm.texi (ASM_GLOBALIZE_LABEL): Update docs.
17034
17035 2002-07-30  Geoffrey Keating  <geoffk@redhat.com>
17036
17037         * doc/extend.texi (Hints implementation): Document that GCC
17038         mostly ignores `register'.
17039
17040 2002-07-30  Toon Moene  <toon@moene.indiv.nluug.nl>
17041
17042         * flags.h: Declare flag_finite_math_only.
17043         Use it in definition of HONOR_NANS and
17044         HONOR_INFINITIES.
17045         * c-common.c (cb_register_builtins): Emit
17046         __FINITE_MATH_ONLY__ when flag_finite_math_only
17047         is set.
17048         * combine.c (simplify_if_then_else): If
17049         flag_finite_math_only is set, a == b has a
17050         definite value.
17051         * toplev.c: Initialize flag_finite_math_only.
17052         (set_flags_fast_math): Set it on -ffast-math.
17053         (flag_fast_math_set_p): Test it.
17054         * doc/invoke.texi: Document -ffinite-math-only.
17055
17056 2002-07-30  Richard Henderson  <rth@redhat.com>
17057
17058         * ifcvt.c (noce_get_alt_condition): Use reg_overlap_mentioned_p.
17059         (noce_process_if_block): Likewise.
17060
17061 2002-07-30  Bernd Schmidt  <bernds@redhat.com>
17062
17063         * ifcvt.c (cond_exec_process_if_block): Fix a merging error.
17064         Bail out early if false_expr is NULL and we'd crash due to this.
17065         * genemit.c (gen_expand): Recognize return insns even if the return
17066         appears in a parallel.
17067         * libgcc2.c: Expand macro DECLARE_LIBRARY_RENAMES if it is defined.
17068         * config/fp-bit.c: Likewise.
17069         * doc/tm.texi: Document it.
17070
17071 2002-07-30  David Edelsohn  <edelsohn@gnu.org>
17072             Zack Weinberg  <zack@codesourcery.com>
17073
17074         * rs6000.c (rs6000_expand_unop_builtin): Check icode not
17075         CODE_FOR_nothing.  Change switch to if.
17076         (rs6000_expand_binop_builtin): Same.
17077         (rs6000_expand_builtin): Expand builtin if target support enabled.
17078         (rs6000_init_builtins): Init builtin if target support enabled.
17079         (rs6000_common_init_builtins): Check icode not CODE_FOR_nothing.
17080
17081 2002-07-30  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
17082
17083         * gcc.c (cpp_unique_options): Define __GXX_ABI_VERSION, bump it to 101.
17084
17085 2002-07-30  Richard Sandiford  <rsandifo@redhat.com>
17086
17087         * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Fix typo.
17088
17089 Tue Jul 30 18:31:31 2002  J"orn Rennecke <joern.rennecke@superh.com>
17090
17091         * sh.md (cond_delay_slot): New attribute.
17092         (cbranch delay): Use it for anulled-true case.
17093         (stuff_delay_slot): New pattern.
17094         * sh.c (print_operand, case '.'): Don't print .s / /s fore zero-length
17095         delay slot insn.
17096         (gen_far_branch): Emit stuff_delay_slot pattern.
17097
17098 Tue Jul 30 11:21:44 2002  J"orn Rennecke <joern.rennecke@superh.com>
17099
17100         * unroll.c (copy_loop_body): Don't copy NOTE_INSN_LOOP_CONT.
17101
17102 2002-07-30  Kazu Hirata  <kazu@cs.umass.edu>
17103
17104         * fold-const.c: Fix comment typos.
17105         * gcse.c: Likewise.
17106         * reload1.c: Likewise.
17107
17108 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17109
17110         * config/rs6000/rs6000.md: Disallow CCEQ compare with crnor/crnot
17111         for TARGET_SPE.
17112
17113 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17114
17115         * c-pretty-print.h (pp_c_statement): Declare.
17116         * c-pretty-print.c (pp_c_postfix_expression): #if 0 support for SRCLOC.
17117         (pp_c_statement): Define.
17118
17119 2002-07-30  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17120
17121         * alpha.h, arc.h, arm/aout.h, avr.h, c4x.h, cris.h, d30v.h,
17122         darwin.h, dsp16xx.h, fr30.h, h8300.h, i370.h, i386.h, i960.h,
17123         ip2k.h, m32r.h, m68hc11.h, m68k.h, m88k.h, mcore.h, mips.h,
17124         mn10200.h, mn10300.h, ns32k.h, pa/pa-linux.h, pdp11.h, romp.h,
17125         rs6000/sysv4.h, s390/linux.h, sh.h, sparc.h, stormy16.h,
17126         v850.h, vax.h, xtensa.h (ASM_OUTPUT_LABEL): Delete definition.
17127
17128         * defaults.h (ASM_OUTPUT_LABEL): Provide a default.
17129         * doc/tm.texi (ASM_OUTPUT_LABEL): Update docs.
17130
17131 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17132
17133         * c-pretty-print.c (pp_c_primary_expression): Handle STMT_EXPR.
17134         (pp_c_postfix_expression): Handle ARROW_EXPR, FFS_EXPR,
17135         COMPOUND_LITERAL_EXPR, VA_ARG_EXPR.
17136         (pp_c_expression): Update.
17137
17138 2002-07-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17139
17140         * alpha/vms-cc.c (preprocess_args, main): Use xstrdup and/or
17141         concat in lieu of xmalloc/strcpy/memcpy/sprintf.
17142         * alpha/vms-ld.c (main): Likewise.
17143         * dsp16xx.c (double_reg_to_memory): Likewise.
17144         * mcore.c (mcore_expand_prolog): Likewise.
17145         * cppfiles.c (read_name_map): Likewise.
17146         * gensupport.c (process_rtx, identify_predicable_attribute,
17147         alter_test_for_insn): Likewise.
17148         * vmsdbgout.c (write_rtnbeg, vmsdbgout_init): Likewise.
17149
17150 2002-07-29  Roger Sayle  <roger@eyesopen.com>
17151
17152         * builtins.c (expand_builtin):  Change the default behavior to
17153         only issue an error if the builtin function doesn't have a
17154         fallback library call.  Remove several cases handled by the
17155         new default.
17156
17157 2002-07-29  John David Anglin  <dave@hiauly1.hia.nrc>
17158
17159         * real.c (ieee_24, ieee_53, ieee_64, ieee_113): Define only if the
17160         floating point format of the target is IEEE.
17161         * (dec_f, dec_d, dec_g, dec_h): Define only if the floating point
17162         format of the target is DEC.
17163
17164 2002-07-29  Richard Henderson  <rth@redhat.com>
17165
17166         * unroll.c (verify_addresses): Remove.
17167         (find_splittable_givs): Never split DEST_ADDR givs.
17168
17169 2002-07-29  Geoffrey Keating  <geoffk@redhat.com>
17170
17171         * doc/gty.texi (GGC Roots): Clarify that the list of syntaxes
17172         is exhaustive.
17173         (Files): Improve documentation on generated source files.
17174
17175         * doc/extend.texi (Translation implementation): Document what
17176         diagnostics look like.
17177         (Identifiers implementation): Document that there's normally no
17178         limit on identifier names.
17179         (Integers implementation): Document two's complement.
17180         (Hints implementation): Document that GCC honors 'inline', mostly.
17181         (Preprocessing directives implementation): Document that GCC
17182         requires the current time.
17183
17184 2002-07-30  Gabriel Dos Reis  <gdr@nerim.net>
17185
17186         * c-pretty-print.h (struct c_pretty_print_info): Add new member.
17187         (pp_initializer): New macro.
17188         (pp_c_initializer): Declare.
17189         * c-pretty-print.c (pp_c_primary_expression): HAndle TARGET_EXPR.
17190         (pp_c_initializer): Define.
17191         (pp_c_initializer_list): New function.
17192         (pp_c_postfix_expression): Handle ABS_EXPR, COMPLEX_CST,
17193         VECTOR_CST, CONSTRUCTOR.
17194         (pp_c_unary_expression): Handle CONJ_EXPR, REALPART_EXPR,
17195         IMAGPART_EXPR.
17196         (pp_c_cast_expression): Handle FLOAT_EXPR.
17197         (pp_c_assignment_expression): Handle INIT_EXPR.
17198         (pp_c_expression): Update.
17199
17200 2002-07-30  Neil Booth  <neil@daikokuya.co.uk>
17201
17202         * objc/objc-act.c (objc_init): Return immediately if filename
17203         is NULL.
17204
17205 2002-07-29  Eric Christopher  <echristo@redhat.com>
17206
17207         * config/mips/elf.h: Remove ecoff.h and gofast includes.
17208         (DWARF2_DEBUGGING_INFO, DBX_DEBUGGING_INFO): Define unconditionally.
17209         (SDB_DEBUGGING_INFO): Undefine.
17210         (PREFERRED_DEBUGGING_TYPE): Set to DWARF2_DEBUG.
17211         (PUT_SDB_SIZE): Remove.
17212         (SUBTARGET_ASM_DEBUGGING_SPEC): Redefine.
17213         (STARTFILE_SPEC): Add isa3264 define.
17214         * config/mips/elf64.h: Ditto.  Move TARGET_MEM_FUNCTIONS from here...
17215         * config/mips/ecoff.h: Remove. and here...
17216         * config/mips/iris3.h: and here...
17217         * config/mips/sni-svr4.h: and here...
17218         * config/mips/mips.h: To here. Remove OBJECT_FORMAT_ROSE ifdefs.
17219         Add assembler -mmdebug options for non-dwarf debugging.
17220         * config/mips/r3900.h: Remove debug info defines.
17221         * config/mips/isa32-linux.h: Remove, move functionality to config.gcc.
17222         * config/mips/isa3264.h: Ditto.
17223         * config/mips/t-isa3264: Fix up for file removal and gofast configure
17224         change.
17225         * config/mips/t-elf: Ditto.
17226         * config/mips/t-ecoff: Ditto.
17227         * config/mips/t-r3900: Ditto.
17228         * config/mips/t-iris5-6: Ditto.
17229         * config/mips/t-isa3264: Ditto.
17230         * config/mips/t-linux: Remove.
17231         * config/mips/t-netbsd: Remove.
17232         * config/mips/t-mips: New file.
17233         * config/mips/t-gofast: Ditto.
17234         * config/mips/netbsd.h: Remove unnecessary undefines.
17235         * config/mips/linux.h: Remove #include of mips.h.
17236         * config.gcc: Add mips.h include for elf targets. Remove tm_file
17237         for ecoff. Add gofast configure option for mips.
17238
17239 2002-07-29  Chris Demetriou  <cgd@broadcom.com>
17240
17241         * configure.in (mips*-*-*): Add a test to see if MIPS libgloss
17242         linker scripts use STARTUP directives consistently.
17243         * configure: Regenerate.
17244         * config.in: Regenerate.
17245         * config/mips/elf.h (STARTFILE_SPEC): Define conditionally, based
17246         on whether HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is defined.
17247         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17248         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine if
17249         HAVE_MIPS_LIBGLOSS_STARTUP_DIRECTIVES is set; the result
17250         will be the same.
17251
17252 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17253
17254         * config/rs6000/rs6000.md ("cpu"): Add ppc8540 to attribute.
17255
17256 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17257
17258         * config/rs6000/rs6000.h (RTX_COSTS): Add MULT case for 8540.
17259
17260 2002-07-29  Aldy Hernandez  <aldy@quesejoda.com>
17261
17262         * config/rs6000/rs6000.md: Move altivec patterns from here...
17263
17264         * config/rs6000/altivec.md: ...to here.
17265
17266 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17267
17268         * config/rs6000/spe.md ("spe_evmra"): Change to unspec.
17269
17270 2002-07-29  Richard Henderson  <rth@redhat.com>
17271
17272         * emit-rtl.c (set_mem_attributes_minus_bitpos): Rename from
17273         set_mem_attributes and add BITPOS argument.  Subtract it from
17274         OFFSET when same is adjusted.
17275         (set_mem_attributes): New wrapper function.
17276         * expr.c (expand_assignment): Use set_mem_attributes_minus_bitpos;
17277         remove offset adjustment hack.
17278         * expr.h (set_mem_attributes_minus_bitpos): Declare.
17279
17280 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17281
17282         * Makefile.in (C_OBJS): Include c-pretty-print.o
17283         (c-pretty-print.o): Add depency rule.
17284         * pretty-print.h: Add more macros.
17285         * c-pretty-print.c: New file.
17286         * c-pretty-print.h: Likewise.
17287
17288 2002-07-29  Aldy Hernandez  <aldyh@redhat.com>
17289
17290         * config/rs6000/spe.h (__internal_ev_mwhgumian): Cast vector
17291         constants to __ev64_s32__.
17292         (__internal_ev_mwhgsmian): Same.
17293         (__internal_ev_mwhgsmfan): Same.
17294         (__internal_ev_mwhgssfan): Same.
17295         (__internal_ev_mwhgumiaa): Same.
17296         (__internal_ev_mwhgsmiaa): Same.
17297         (__internal_ev_mwhgsmfaa): Same.
17298         (__internal_ev_mwhgssfaa): Same.
17299
17300 2002-07-29  David Edelsohn  <edelsohn@gnu.org>
17301
17302         * varasm.c (assemble_variable): Narrow test for uninitialized
17303         without BSS target support.
17304
17305 2002-07-29  Nathan Sidwell  <nathan@codesourcery.com>
17306
17307         * profile.c: Add file comment describing the overall algorithm and
17308         structures.
17309         (struct edge_info): Add comments.
17310         (struct bb_info): Add comments.
17311         * basic-block.h (EDGE_*): Add comments.
17312         * doc/gcov.texi (Gcov Data Files): Document bit flags.
17313
17314 2002-07-29  Bob Wilson  <bob.wilson@acm.org>
17315
17316         * config/xtensa/elf.h, config/xtensa/linux.h
17317         (TARGET_OS_CPP_BUILTINS): Define.
17318         (CPP_PREDEFINES): Remove.
17319         * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define.
17320         (CPP_SPEC): Remove.
17321
17322 2002-07-29  Zack Weinberg  <zack@codesourcery.com>
17323
17324         * gensupport.c: Include hashtab.h.
17325         (insn_elision, condition_table, hash_c_test, cmp_c_test,
17326         maybe_eval_c_test): New routines and data structures to
17327         support insn elision.
17328         (init_md_reader): Read and initialize the condition_table.
17329         (read_md_rtx): Discard insn patterns whose C test is provably
17330         always false.
17331         * gensupport.h: Declare new functions and data structures.
17332
17333         * genconditions.c, dummy-conditions.c: New files.
17334         * Makefile.in: Build genconditions; run it to construct
17335         insn-conditions.c; build that and link it into most gen*
17336         programs.
17337         (HOST_SUPPORT, HOST_EARLY_SUPPORT): New variables.
17338         (GEN): Delete, unused.
17339         (STAGESTUFF): Update.
17340
17341         * gencodes.c: (gen_insn): #define CODE_FOR_xxx equal to
17342         CODE_FOR_nothing for all elided patterns.
17343         (main): Tweaked to support this.
17344         * genflags.c (gen_proto): Emit a static inline generator
17345         function here for all elided patterns, which simply returns
17346         NULL_RTX.
17347         (gen_insn): Do not define HAVE_xxx for elided patterns.
17348         (main): Tweaked to support this.  No need to forward-declare
17349         struct rtx_def.
17350         * genrecog.c: Do not bother emitting the C test if it's known
17351         to be true at compile time.
17352
17353 2002-07-29  Mike Stump  <mrs@apple.com>
17354
17355         * config.gcc (target_gtfiles): Initialize, as otherwise cross
17356         compilers hosted on powerpc-apple-darwin6.0 won't even build.
17357
17358 2002-07-29  Richard Earnshaw  <rearnsha@arm.com>
17359
17360         * arm.md (sibcall, sibcall_value): Add RETURN as part of the pattern,
17361         remove clobber of LR.
17362         (sibcall_insn, sibcall_value_insn): Update accordingly.
17363         (sibcall_epilogue): Remove debugging comment from assembler stream.
17364
17365 2002-07-29  Gabriel Dos Reis  <gdr@nerim.net>
17366
17367         * pretty-print.h: Define more macros.
17368         * diagnostic.h (output_formatted_integer): Moved from...
17369         * diagnostic.c: ... here.
17370
17371 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17372
17373         * stormy16.h (ASM_OUTPUT_SYMBOL_REF): Use ASM_OUTPUT_LABEL_REF.
17374
17375 2002-07-28  Zack Weinberg  <zack@codesourcery.com>
17376
17377         * defaults.h (ASM_OUTPUT_MEASURED_SIZE): Take only two
17378         arguments.  Always use ".-symbol" as expression argument.
17379         * doc/tm.texi: Update to match.  Document requirement for
17380         ".size symbol, .-symbol" to be acceptable to assembler.
17381
17382         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17383         config/arm/elf.h, config/avr/avr.h, config/cris/aout.h,
17384         config/i386/freebsd-aout.h, config/i386/sco5.h,
17385         config/ip2k/ip2k.h, config/m88k/m88k.h, config/xtensa/elf.h,
17386         config/xtensa/linux.h:  Update uses of ASM_OUTPUT_MEASURED_SIZE.
17387
17388 2002-07-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17389
17390         * Makefile.in (gengtype-lex.c): Fix error in last change.
17391
17392         * alpha/freebsd.h (TARGET_OS_CPP_BUILTINS): Add missing
17393         backslash.
17394
17395         * Makefile.in (vmsdbgout.o): Depend on function.h.
17396
17397         * vmsdbgout.c: Include function.h.
17398
17399 2002-07-28  Alan Modra  <amodra@bigpond.net.au>
17400
17401         * prefix.c (update_path): Don't strip single `.' path components
17402         unless stripping a later `..' component.  Exit loop as soon as
17403         a valid path is found.
17404
17405 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17406
17407         * builtins.def [DEF_GCC_BUILTIN]: Require an explicit ATTRS
17408         argument.  Mark BUILT_IN_RETURN, BUILT_IN_EH_RETURN,
17409         BUILT_IN_LONGJMP and BUILT_IN_TRAP as noreturn, the ISO C99
17410         floating point unordered comparisons (e.g. __builtin_isgreater)
17411         as const, and leave the remaining GCC_BUILTINs unchanged.
17412
17413         * c-decl.c (builtin_function): No need to explicitly mark
17414         BUILT_IN_RETURN and BUILT_IN_EH_RETURN as noreturn.
17415
17416 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17417
17418         * Makefile.in: rtlanal.o now depends upon real.h.
17419
17420         * flags.h [flag_signaling_nans]: New flag.
17421         [HONOR_SNANS]: New macro.
17422
17423         * toplev.c [flag_signaling_nans]: Initialize to false.
17424         (f_options): Add processing for "-fsignaling-nans".
17425         (set_fast_math_flags): Clear flag_signaling_nans with -ffast-math.
17426         (process_options): flag_signaling_nans implies flag_trapping_math.
17427
17428         * c-common.c (cb_register_builtins): Define __SUPPORT_SNAN__
17429         when -fsignaling-nans.  First step to implementing WG14's N965.
17430
17431         * fold-const.c (fold) [MULT_EXPR]: Conditionalize transforming
17432         1.0 * x into x, and -1.0 * x into -x on !HONOR_SNANS.
17433         [RDIV_EXPR]: Conditionalize x/1.0 into x on !HONOR_SNANS.
17434
17435         * simplify-rtx.c (simplify_relational_operation): Conditionalize
17436         transforming abs(x) < 0.0 into false on !HONOR_SNANS.
17437
17438         * rtlanal.c: #include real.c for TARGET_FLOAT_FORMAT definitions
17439         required by HONOR_SNANS.  (may_trap_p): Floating point DIV, MOD,
17440         UDIV, UMOD, GE, GT, LE, LT and COMPARE may always trap with
17441         -fsignaling_nans.  EQ and NE only trap for flag_signaling_nans
17442         not flag_trapping_math (i.e. HONOR_SNANS but not HONOR_NANS).
17443
17444         * doc/invoke.texi: Document new -fsignaling-nans compiler option.
17445
17446 2002-07-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
17447
17448         * Makefile.in (gengtype-lex.c): Work around a bug in flex.
17449         * gengtype-lex.l (YY_USE_PROTOS): Undef.
17450         (YY_DECL): Define.
17451
17452 2002-07-27  Roger Sayle  <roger@eyesopen.com>
17453
17454         * doc/invoke.texi: Document that both -fno-builtin-foo and
17455         -fno-builtin are supported by the g++ front-end.
17456
17457 2002-07-27  Stan Shebs  <shebs@apple.com>
17458
17459         * configure.in: Rename config_gtfiles to target_gtfiles.
17460         * configure: Regenerate.
17461         * doc/gty.texi: Update reference.
17462         * config.gcc (powerpc-*-darwin*): Set target_gtfiles
17463         instead of appending to it.
17464
17465 2002-07-25  Aldy Hernandez  <aldyh@redhat.com>
17466
17467         * config/rs6000/rs6000.c (function_arg_advance): SPE vararg
17468         vectors are split into two registers.
17469         (function_arg): Same.
17470
17471 Thu Jul 26 23:00:13 2002  J"orn Rennecke <joern.rennecke@superh.com>
17472
17473         * pa.md (extv): Check predicates before emitting extv_32.
17474
17475 2002-07-27  Alan Modra  <amodra@bigpond.net.au>
17476
17477         * config/rs6000/rs6000.c (rs6000_traceback_name): New var.
17478         (rs6000_traceback): New var.
17479         (rs6000_override_options): Set rs6000_traceback.
17480         (rs6000_output_function_epilogue): Implement traceback options.
17481         * config/rs6000/rs6000.h (TARGET_OPTIONS): Add "traceback=".
17482         (rs6000_traceback_name): Declare.
17483
17484         * config/rs6000/rs6000.c (output_profile_hook): Don't generate profile
17485         label reference when NO_PROFILE_COUNTERS.
17486
17487 2002-07-26  Jason Merrill  <jason@redhat.com>
17488
17489         * function.c (assign_parms): Handle frontend-directed pass by
17490         invisible reference.
17491
17492 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17493
17494         * doc/cppopts.texi: Update.
17495
17496 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17497
17498         * cppmacro.c (_cpp_create_definition): Don't attempt redefinition
17499         warnings on assertions.
17500
17501 2002-07-26  Neil Booth  <neil@daikokuya.co.uk>
17502
17503         * c-common.h (RID_AND, RID_AND_EQ, RID_NOT, RID_NOT_EQ,
17504         RID_OR, RID_OR_EQ, RID_XOR, RID_XOR_EQ, RID_BITAND, RID_BITOR,
17505         RID_COMPL): Remove.
17506         * c-parse.in (rid_to_yy): Similarly.
17507
17508 2002-07-26  Jason Merrill  <jason@redhat.com>
17509
17510         * c-dump.c: Resurrect.
17511         * tree-dump.c: Move C-specific stuff to c-dump.c.
17512         * c-common.h: Declare c_dump_tree.
17513         * c-lang.c (LANG_HOOKS_TREE_DUMP_DUMP_TREE_FN): Define.
17514         * Makefile.in (C_AND_OBJC_OBJS): Add c-dump.o.
17515         (c-dump.o): New rule.
17516
17517 2002-07-26  Alan Modra  <amodra@bigpond.net.au>
17518
17519         * config/rs6000/rs6000.md: Enable patterns using rlwinm for
17520         PowerPC64.  Replace "T" and "S" constraints with "n" when the
17521         predicate will do.  Formatting fixes.
17522         (extzvsi_internal2): Use "andi.", "andis." and attr type of "compare"
17523         as for extzvsi_internal1.
17524
17525 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17526
17527         * dwarfout.c (VERSION_ASM_OP, DERIV_BEGIN_LABEL_FMT,
17528         DERIV_END_LABEL_FMT): Remove.
17529         (SL_BEGIN_LABEL_FMT, SL_END_LABEL_FMT): Move.
17530
17531 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17532
17533         * objc/objc-act.c (UTAG_STATICS, UTAG_PROTOCOL_LIST, USERTYPE):
17534         Remove.
17535
17536 2002-07-25  Stan Shebs  <shebs@apple.com>
17537
17538         * config/rs6000/rs6000.c (rs6000_emit_prologue): Remove unused
17539         local var dwarfp.
17540         (output_compiler_stub): Remove unused locals.
17541         (output_call): Always initialize line number.
17542
17543 Thu Jul 25 20:34:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17544
17545         * sh.h (LOAD_EXTEND_OP): QImode zero-extends on SHmedia.
17546         * sh.md (truncdiqi2, movqi_media): Likewise.
17547
17548 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17549
17550         * gcse.c (obstack_chunk_alloc): Remove.
17551         (gcse_alloc): Fix to count allocated bytes.
17552         * collect2.c (SYMBOL__MAIN): Remove.
17553
17554 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17555
17556         * gcc.c (TARGET_EXECUTABLE_SUFFIX): Only used if
17557         HAVE_TARGET_EXECUTABLE_SUFFIX.
17558
17559 Thu Jul 25 18:57:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
17560
17561         * rtl.h (mem_attrs): Spell out more clearly the roles of ALIGN,
17562         SIZE, EXPR and OFFSET.
17563
17564 2002-07-25  Richard Henderson  <rth@redhat.com>
17565
17566         * emit-rtl.c (set_mem_attributes): Fix size and alignment thinkos
17567         in ARRAY_REF of DECL_P case.
17568
17569 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
17570
17571         * doc/invoke.texi: Document -mabi=meabi, and expand on the EABI
17572         description.  Document -mips32, -mips64, and the associated -march
17573         values.  Describe the "mipsN" arguments to -march.  Say that the
17574         -mipsN options are equivalent to -march.  Reword the description
17575         of default type sizes.
17576         * toplev.h (target_flags_explicit): Declare.
17577         * toplev.c (target_flags_explicit): New var.
17578         (set_target_switch): Update target_flags_explicit.
17579         * config/mips/abi64.h (SUBTARGET_TARGET_OPTIONS): Undefine.
17580         * config/mips/elf64.h (MIPS_ISA_DEFAULT): Undefine.
17581         * config/mips/iris6.h (SUBTARGET_ASM_SPEC): -mabi=64 implies -mips3.
17582         * config/mips/isa3264.h (MIPS_ENABLE_EMBEDDED_O32): Undefine.
17583         * config/mips/mips.h (mips_cpu_info): New struct.
17584         (mips_cpu_string, mips_explicit_type_size_string): Remove.
17585         (mips_cpu_info_table, mips_arch_info, mips_tune_info): Declare.
17586         (MIPS_CPP_SET_PROCESSOR): New macro.
17587         (TARGET_CPP_BUILTINS): Declare a macro for each supported processor.
17588         Define _MIPS_ARCH and _MIPS_TUNE.
17589         (MIPS_ISA_DEFAULT): Don't provide a default value.  Instead...
17590         (MIPS_CPU_STRING_DEFAULT): Set to "from-abi" if neither it nor
17591         MIPS_ISA_DEFAULT were already defined.
17592         (MULTILIB_DEFAULTS): Add MULTILIB_ABI_DEFAULT.
17593         (TARGET_OPTIONS): Remove -mcpu and -mexplicit-type-size.
17594         (ABI_NEEDS_32BIT_REGS, ABI_NEEDS_64BIT_REGS): New.
17595         (GAS_ASM_SPEC): Remove -march, -mcpu, -mgp* and -mabi rules.
17596         (ABI_GAS_ASM_SPEC): Remove.
17597         (MULTILIB_ABI_DEFAULT, ASM_ABI_DEFAULT_SPEC): New macros.
17598         (ASM_SPEC): Add -mgp32, -mgp64, -march, -mabi=eabi and -mabi=o64.
17599         Invoke %(asm_abi_default_spec) if no ABI was specified.
17600         (CC1_SPEC): Remove ISA -> register-size rules.
17601         (EXTRA_SPECS): Remove abi_gas_asm_spec.  Add asm_abi_default_spec.
17602         * config/mips/mips.c (mips_arch_info, mips_tune_info): New vars.
17603         (mips_cpu_string, mips_explicit_type_size_string): Remove.
17604         (mips_cpu_info_table): New array.
17605         (mips_set_architecture, mips_set_tune): New fns.
17606         (override_options): Rework to make -mipsN equivalent to -march.
17607         Detect more erroneous cases, including those removed from CC1_SPEC.
17608         Don't change the ABI based on architecture, or vice versa.
17609         Unify logic with GAS.
17610         (mips_asm_file_start): Get architecture name from mips_arch_info.
17611         (mips_strict_matching_cpu_name_p, mips_matching_cpu_name_p): New fns.
17612         (mips_parse_cpu): Take the name of the option as argument.  Handle
17613         'from-abi'.  Raise an error if the option is wrong.
17614         (mips_cpu_info_from_isa): New fn.
17615
17616 2002-07-25  Richard Sandiford  <rsandifo@redhat.com>
17617
17618         * config/mips/mips.md (tablejump_mips161): Use gen_rtx_LABEL_REF.
17619         (tablejump_mips162): Likewise.
17620
17621 Thu Jul 25 10:23:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
17622
17623         * simpify-rtx.c (simplify_subreg): Don't pass MODE_CC mode to
17624         int_mode_for_mode.
17625
17626 2002-07-25  Gabriel Dos Reis  <gdr@nerim.net>
17627
17628         * c-common.c (c_sizeof_or_alignof_type): Take a third argument for
17629         complaining.
17630         * c-common.h (c_sizeof): Adjust definition.
17631         (c_alignof): Likewise.
17632         * c-tree.h (c_sizeof_nowarn): Now macro.
17633         * c-typeck.c (c_sizeof_nowarn): Remove definition.
17634
17635 2002-07-25  Neil Booth  <neil@daikokuya.co.uk>
17636
17637         * c-decl.c (c_decode_option): No need to handle switches
17638         cpplib handles.
17639
17640 2002-07-24  Zack Weinberg  <zack@codesourcery.com>
17641
17642         * defaults.h (ASM_OUTPUT_TYPE_DIRECTIVE, ASM_OUTPUT_SIZE_DIRECTIVE,
17643         ASM_OUTPUT_MEASURED_SIZE): New default definitions of new macros.
17644         * doc/tm.texi: Document them.  Also document SIZE_ASM_OP,
17645         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17646
17647         * config/elfos.h, config/netbsd-aout.h, config/openbsd.h,
17648         config/alpha/elf.h, config/arm/elf.h, config/avr/avr.h,
17649         config/cris/aout.h, config/i386/freebsd-aout.h,
17650         config/i386/sco5.h, config/ia64/ia64.c, config/ip2k/ip2k.h,
17651         config/m68k/m68kelf.h, config/m68k/m68kv4.h, config/m88k/m88k.h,
17652         config/mcore/mcore-elf.h, config/mips/elf.h, config/mips/elf64.h,
17653         config/mips/iris6.h, config/mips/linux.h, config/pa/pa-linux.h,
17654         config/pa/pa64-hpux.h, config/rs6000/sysv4.h,
17655         config/xtensa/elf.h, config/xtensa/linux.h:
17656         Use the new macros.
17657         Where possible, remove redundant definitions of SIZE_ASM_OP,
17658         TYPE_ASM_OP, and TYPE_OPERAND_FMT.
17659
17660 2002-07-24  Aldy Hernandez  <aldyh@redhat.com>
17661
17662         * config/rs6000/eabi.h: Define TARGET_SPE_ABI, TARGET_SPE,
17663         TARGET_ISEL, and TARGET_FPRS.
17664
17665         * doc/invoke.texi (RS/6000 and PowerPC Options): Document
17666         -mabi=spe, -mabi=no-spe, and -misel=.
17667
17668         * config/rs6000/rs6000-protos.h: Add output_isel.
17669         Move vrsave_operation prototype here.
17670
17671         * config/rs6000/rs6000.md (sminsi3): Allow pattern for TARGET_ISEL.
17672         (smaxsi3): Same.
17673         (uminsi3): Same.
17674         (umaxsi3): Same.
17675         (abssi2_nopower): Disallow when TARGET_ISEL.
17676         (*ne0): Same.
17677         (negsf2): Change to expand and rename old pattern to *negsf2.
17678         (abssf2): Change to expand and rename old pattern to *abssf2.
17679
17680         New expanders: fix_truncsfsi2, floatunssisf2, floatsisf2,
17681         fixunssfsi2.
17682
17683         Change patterns that check for TARGET_HARD_FLOAT or
17684         TARGET_SOFT_FLOAT to also check TARGET_FPRS.
17685
17686         * config/rs6000/rs6000.c: New globals: rs6000_spe_abi,
17687         rs6000_isel, rs6000_fprs, rs6000_isel_string.
17688         (rs6000_override_options): Add 8540 case to
17689         processor_target_table.
17690         Set rs6000_isel for the 8540.
17691         Call rs6000_parse_isel_option.
17692         (enable_mask_for_builtins): New.
17693         (rs6000_parse_isel_option): New.
17694         (rs6000_parse_abi_options): Add spe and no-spe.
17695         (easy_fp_constant): Treat !TARGET_FPRS as soft-float.
17696         (rs6000_legitimize_address): Check for TARGET_FPRS when checking
17697         for TARGET_HARD_FLOAT.
17698         Add case for SPE_VECTOR_MODE.
17699         (rs6000_legitimize_reload_address): Handle SPE vector modes.
17700         (rs6000_legitimate_address): Disallow PRE_INC/PRE_DEC for SPE
17701         vector modes.
17702         Check for TARGET_FPRS when checking for TARGET_HARD_FLOAT.
17703         (rs6000_emit_move): Check for TARGET_FPRS.
17704         Add cases for SPE vector modes.
17705         (function_arg_boundary): Return 64 for SPE vector modes.
17706         (function_arg_advance): Check for TARGET_FPRS and
17707         Handle SPE vectors.
17708         (function_arg): Same.
17709         (setup_incoming_varargs): Check for TARGET_FPRS.
17710         (rs6000_va_arg): Same.
17711         (struct builtin_description): Un-constify mask field.  Move up in
17712         file.
17713         (bdesc_2arg): Un-constify and add SPE builtins.
17714         (bdesc_1arg): Same.
17715         (bdesc_spe_predicates): New.
17716         (bdesc_spe_evsel): New.
17717         (rs6000_expand_unop_builtin): Add SPE 5-bit literal builtins.
17718         (rs6000_expand_binop_builtin): Same.
17719         (bdesc_2arg_spe): New.
17720         (spe_expand_builtin): New.
17721         (spe_expand_predicate_builtin): New.
17722         (spe_expand_evsel_builtin): New.
17723         (rs6000_expand_builtin): Call spe_expand_builtin for SPE.
17724         (rs6000_init_builtins): Initialize SPE builtins.  Call
17725         rs6000_common_init_builtins.
17726         (altivec_init_builtins): Move all non-altivec builtin code to...
17727         (rs6000_common_init_builtins): ...here.  New function.
17728         (branch_positive_comparison_operator): Allow NE code for SPE.
17729         (ccr_bit): Return correct ccr bit for SPE fp.
17730         (print_operand): Emit crnor in 'D' case for SPE.
17731         New case 't'.
17732         Add SPE code for 'y' case.
17733         (rs6000_generate_compare): Generate rtl for SPE fp.
17734         (output_cbranch): Handle SPE hard floats.
17735         (rs6000_emit_cmove): Handle isel.
17736         (rs6000_emit_int_cmove): New.
17737         (output_isel): New.
17738         (rs6000_stack_info): Adjust stack frame so GPRs are saved in
17739         64-bits for SPE.
17740         (debug_stack_info): Add SPE info.
17741         (gen_frame_mem_offset): New.
17742         (rs6000_emit_prologue): Save GPRs in 64-bits for SPE abi.
17743         Change mode of frame pointer, when saving it, to Pmode.
17744         (rs6000_emit_epilogue): Restore GPRs in 64-bits for SPE abi.
17745         Misc cleanups and use gen_frame_mem_offset when appropriate.
17746
17747         * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_PPC8540.
17748         (TARGET_SPE_ABI): New.
17749         (TARGET_SPE): New.
17750         (TARGET_ISEL): New.
17751         (TARGET_FPRS): New.
17752         (FIXED_SCRATCH): New.
17753         (RTX_COSTS): Add PROCESSOR_PPC8540.
17754         (ASM_CPU_SPEC): Add case for 8540.
17755         (TARGET_OPTIONS): Add isel= case.
17756         (rs6000_spe_abi): New.
17757         (rs6000_isel): New.
17758         (rs6000_fprs): New.
17759         (rs6000_isel_string): New.
17760         (UNITS_PER_SPE_WORD): New.
17761         (LOCAL_ALIGNMENT): Adjust for SPE.
17762         (HARD_REGNO_MODE_OK): Same.
17763         (DATA_ALIGNMENT): Same.
17764         (MEMBER_TYPE_FORCES_BLK): New.
17765         (FIRST_PSEUDO_REGISTER): Set to 113.
17766         (FIXED_REGISTERS): Add SPE registers.
17767         (reg_class): Same.
17768         (REG_CLASS_NAMES): Same.
17769         (REG_CLASS_CONTENTS): Same.
17770         (REGNO_REG_CLASS): Same.
17771         (REGISTER_NAMES): Same.
17772         (DEBUG_REGISTER_NAMES): Same.
17773         (ADDITIONAL_REGISTER_NAMES): Same.
17774         (CALL_USED_REGISTERS): Same.
17775         (CALL_REALLY_USED_REGISTERS): Same.
17776         (SPE_ACC_REGNO): New.
17777         (SPEFSCR_REGNO): New.
17778         (SPE_SIMD_REGNO_P): New.
17779         (HARD_REGNO_NREGS): Adjust for SPE.
17780         (VECTOR_MODE_SUPPORTED_P): Same.
17781         (REGNO_REG_CLASS): Same.
17782         (FUNCTION_VALUE): Same.
17783         (LIBCALL_VALUE): Same.
17784         (LEGITIMATE_OFFSET_ADDRESS_P): Same.
17785         (SPE_VECTOR_MODE): New.
17786         (CONDITIONAL_REGISTER_USAGE): Disable FPRs when target does FP on
17787         the GPRs.  Set FIXED_SCRATCH fixed in SPE case.
17788         (rs6000_stack): Add spe_gp_size, spe_padding_size,
17789         spe_gp_save_offset.
17790         (USE_FP_FOR_ARG_P): Check for TARGET_FPRS.
17791         (LEGITIMATE_LO_SUM_ADDRESS_P): Same.
17792         (SPE_CONST_OFFSET_OK): New.
17793         (rs6000_builtins): Add SPE builtins.
17794
17795         * testsuite/gcc.dg/ppc-spe.c: New.
17796
17797         * config/rs6000/eabispe.h: New.
17798
17799         * config/rs6000/spe.h: New.
17800
17801         * config/rs600/spe.md: New.
17802
17803         * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
17804         __SIMD__ for TARGET_SPE.
17805
17806         * config.gcc: Add powerpc-*-eabispe* case.
17807         Add spe.h to user headers for powerpc.
17808
17809 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
17810
17811         * config/mips/elf.h (STARTFILE_SPEC): Undo previous change.
17812         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17813         * config/mips/isa3264.h (STARTFILE_SPEC): Likewise.
17814
17815 2002-07-24  Richard Henderson  <rth@redhat.com>
17816
17817         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Use GOTO_SUBROUTINE_EXPR
17818         form when not optimizing.
17819
17820 2002-07-24  David Mosberger  <davidm@hpl.hp.com>
17821
17822         * config/ia64/ia64.c (gen_thread_pointer): Fix typo in marking
17823         thread_pointer_rtx as unchanging.
17824
17825 2002-07-24  Michael Matz  <matz@suse.de>
17826
17827         * ra-colorize.c (INV_REG_ALLOC_ORDER): New macro.
17828         (free_reg): Use it.
17829
17830 2002-07-24  Richard Earnshaw  <rearnsha@arm.com>
17831
17832         * arm.md (arm_buneq, arm_bltgt): put '\' before ';' in output
17833         pattern.
17834         (arm_buneq_reversed, arm_bltgt_reversed): Likewise.
17835         (movsicc, movsfcc, movdfcc): FAIL if UNEQ or LTGT.
17836
17837 2002-07-24  Chris Demetriou  <cgd@broadcom.com>
17838
17839         * config/mips/elf.h (STARTFILE_SPEC): Never include crt0.o.
17840         * config/mips/elf64.h (STARTFILE_SPEC): Likewise.
17841         * config/mips/isa3264.h (STARTFILE_SPEC): Do not redefine.
17842
17843 Wed Jul 24 17:59:12 CEST 2002  Jan Hubicka  <jh@suse.cz>
17844
17845         * toplev.c (rest_of_compilation): Dump loops before clobbering
17846         the structure.
17847
17848 Wed Jul 24 17:23:16 CEST 2002  Jan Hubicka  <jh@suse.cz>
17849
17850         * rtlanal.c (keep_with_call_p): Avoid overflow in fixed_regs.
17851
17852 2002-07-24  Frank van der Linden  <fvdl@wasabisystems.com>
17853
17854         PR optimization/7291
17855         * config/i386/i386.c (ix86_expand_clrstr): Fix bzero alignment
17856         problem on x86_64.
17857
17858 2002-07-24  Gabriel Dos Reis  <gdr@nerim.net>
17859
17860         * pretty-print.h: Add macros from cp/error.c
17861
17862 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
17863
17864         * config/rs6000/rs6000-protos.h (mask_operand_wrap): Declare.
17865         (mask64_2_operand): Declare.
17866         (build_mask64_2_operands): Declare.
17867         (and64_2_operand): Declare.
17868         (extract_MB): Declare.
17869         (extract_ME): Declare.
17870         * config/rs6000/rs6000.c (mask64_operand): Allow all ones.  Remove
17871         CONST_DOUBLE code.
17872         (mask_operand_wrap): New insn predicate.
17873         (mask64_2_operand): Likewise.
17874         (and64_2_operand): Likewise.
17875         (build_mask64_2_operands): New function.
17876         (extract_MB): New function.
17877         (extract_ME): New function.
17878         (print_operand <case m,M>): Use extract_MB and extract_ME.
17879         (print_operand <case S>): Allow all ones.  Remove CONST_DOUBLE support.
17880         * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 't'.
17881         (PREDICATE_CODES): Add and64_2_operand, mask_operand_wrap and
17882         mask64_2_operand.  Remove CONST_DOUBLE from mask64_operand.
17883         * config/rs6000/rs6000.md (andsi3_internal3): New
17884         (andsi3_internal3+1): Enable split for powerpc64.
17885         (andsi3_internal3+2): New split.
17886         (andsi3_internal4): Renamed old andsi3_internal3.
17887         (andsi3_internal5): New.
17888         (andsi3_internal5+1): Enable split for powerpc64.
17889         (andsi3_internal5+2): New split.
17890         (andsi3_internal6, andsi3_internal7, andsi3_internal8): New.
17891         (anddi3): Handle 't' constraint.
17892         (anddi3+1): New split.
17893         (anddi3_internal2): Handle 't' constraint.
17894         (anddi3_internal2+1): New split.
17895         (anddi3_internal3): Handle 't' constraint.
17896         (anddi3_internal3+1): New split.
17897
17898 2002-07-24  Alan Modra  <amodra@bigpond.net.au>
17899
17900         * config/rs6000/rs6000.md: Remove scratch reg on insns using
17901         addze and similar (plus (comparison r1 r2) r3) insns.  Add
17902         missing scratch reg in one case.  Formatting fixes.
17903
17904 2002-07-24  Neil Booth  <neil@daikokuya.co.uk>
17905
17906         * cppexp.c (parse_defined): Mark macro used.
17907         * cpphash.h (struct cpp_macro): New member "used".
17908         (_cpp_mark_macro_used, _cpp_warn_if_unused_macro): New.
17909         (struct cpp_reader): New member.
17910         * cppinit.c (cpp_finish_options): Set first_unused_line.
17911         (cpp_finish): Warn of unused macros if requested.
17912         (OPT_TABLE): New switches.
17913         (cpp_handle_option): Handle them.
17914         * cpplib.c (do_undef): Warn if macro unused.
17915         (do_ifdef, do_ifndef): Mark macro used.
17916         * cpplib.h (struct cpp_options): New member.
17917         * cppmacro.c (_cpp_warn_if_unused_macro): New.
17918         (enter_macro_context): Mark macro used.
17919         (_cpp_create_definition): Mark macro unused; warn if unused
17920         when redefined.
17921         * cpptrad.c (scan_out_logcial_line, push_replacement_text):
17922         Mark macros used.
17923         * doc/cppopts.texi: Update.
17924
17925 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17926
17927         * dwarf2out.c (SECTION_ASM_OP,
17928         ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17929         * system.h (SECTION_ASM_OP): Poison.
17930         * tree.c (FILE_FUNCTION_PREFIX_LEN): Remove.
17931         * config/alpha/alpha-interix.h, config/mips/linux.h
17932         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17933         * config/mmix/mmix-protos.h, config/mmix/mmix.c
17934         (mmix_asm_output_define_label_difference_symbol): Remove.
17935         * config/mmix/mmix.h
17936         (ASM_OUTPUT_DEFINE_LABEL_DIFFERENCE_SYMBOL): Remove.
17937         * doc/tm.texi: Remove documentation.
17938
17939 Tue Jul 23 21:49:24 2002  J"orn Rennecke <joern.rennecke@superh.com>
17940
17941         * recog.c (asm_operand_ok): Allow float CONST_VECTORs for 'F'.
17942         (constrain_operands): Likewise.
17943         * regclass.c (record_reg_classes): Likewise.
17944         * reload.c (find_reloads): Likewise.
17945         * doc/md.texi: Likewise.
17946
17947         * reload.c (find_reloads_toplev): Use simplify_gen_subreg.
17948         * simplify-rtx.c (simplify_subreg): When converting to a non-int
17949         mode, try to convert to an integer mode of matching size first.
17950
17951         * simplify-rtx.x (simplify_subreg): When constructing a CONST_VECTOR
17952         from individual subregs, check that each subreg has been generated
17953         sucessfully.
17954
17955 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
17956
17957         * genautomata.c (VLA_HWINT_SHORTEN, VLA_HWINT_LAST): Remove.
17958         * df.c (HANDLE_SUBREG, FOR_EACH_BB_IN_BITMAP_REV,
17959         FOR_EACH_BB_IN_SBITMAP): Remove.
17960         * gcse.c (NEVER_SET, FOLLOW_BACK_EDGES): Remove.
17961         * haifa-sched.c (DONE_PRIORITY, MAX_PRIORITY, TAIL_PRIORITY,
17962         LAUNCH_PRIORITY, DONE_PRIORITY_P, LOW_PRIORITY_P): Remove.
17963         * loop.c (PREFETCH_BLOACK_IN_LOOP_MIN,
17964         PREFETCH_LIMIT_TO_SIMULTANEOUS): Remove.
17965         * regrename.c (REGNO_MODE_OK_FOR_BASE_P): Remove.
17966
17967 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17968
17969         * pretty-print.h: New file.
17970
17971 2002-07-23      Paul Koning     <pkoning@equallogic.com>
17972
17973         * real.c (REAL_WORDS_BIG_ENDIAN): Make 1 for DEC.
17974         (LARGEST_EXPONENT_IS_NORMAL): Ditto.
17975         (VAX_HALFWORD_ORDER): Define (1 for DEC VAX, 0 otherwise).
17976         (TARGET_G_FLOAT): Default to 0 if not defined.
17977         (ieeetoe): New, common routine to convert target format floats
17978         to internal form.
17979         (e24toe, e53toe): Change to use ieeetoe, distinguish DEC
17980         vs. others.
17981         (e113toe): Change to use ieeetoe.
17982
17983 2002-07-23  Roman Lechtchinsky  <rl@cs.tu-berlin.de>
17984
17985         * real.c (REAL_WORDS_BIG_ENDIAN): Make sure it is 0 for DEC and 1 for
17986         IBM.
17987         (e53toe): Assume IEEE if non of DEC, IBM and C4X is defined.
17988         (e64toe): Remove special cases for DEC and IBM. Remove support for
17989         ARM_EXTENDED_IEEE_FORMAT.
17990         (e24toe): Remove special cases for DEC.
17991         (significand_size): Simplify. Indent.
17992         (ieee_format, ieee_24, ieee_53, ieee_64, ieee_113): New.
17993         (etoieee, toieee): New.
17994         (etoe113, toe113, etoe64, toe64, etoe53, toe53, etoe24, toe24): Use
17995         etoieee and toieee for IEEE arithmetic.
17996
17997 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
17998
17999         * doc/extend.texi: Say ISO C90, not ISO C89.
18000         * doc/invoke.texi: Likewise.
18001         * doc/standards.texi: Likewise.
18002
18003 2002-07-23  Steve Ellcey  <sje@cup.hp.com>
18004
18005         * gcc/explow.c (convert_memory_address): Fix conversion of CONSTs.
18006         Fix permutation of conversion and plus/mult.
18007         * gcc/builtins.c (expand_builtin_memcpy) Ensure return pointer is
18008         ptr_mode and not Pmode when POINTERS_EXTEND_UNSIGNED is defined.
18009         (expand_builtin_strncpy) Ditto.
18010         (expand_builtin_memset) Ditto.
18011
18012 2002-07-23  Gabriel Dos Reis  <gdr@nerim.net>
18013
18014         Fix PR/7363:
18015         * c-common.c (c_sizeof_or_alignof_type): New function.
18016         (c_alignof): Remove definition.
18017         * c-common.h (c_sizeof, c_alignof): Define as macros.
18018         (c_sizeof_or_alignof_type): Declare.
18019         (my_friendly_assert): Moved from cp/cp-tree.h
18020         * c-typeck.c (c_sizeof): Remove definition.
18021
18022 2002-07-23  Jan Hubicka  <jh@suse.cz>
18023
18024         * gcse.c (try_replace_reg): Use num_changes_pending.
18025         * recog.c (num_changes_pending): New function.
18026         (validate_replace_src): Use validate_repalce_src_group.
18027         (validate_replace_src_group): New.
18028         * recog.h (validate_repalce_src_group): New.
18029         (num_changes_pending): Likewise.
18030
18031 Tue Jul 23 12:16:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18032
18033         * calls.c (emit_library_call_value_1): If
18034         FUNCTION_ARG_PASS_BY_REFERENCE is true, pretend this is neither
18035         libcall, const call nor pure call.
18036
18037 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18038
18039         * config/m88k/m88k.h (SECTION_ASM_OP): Remove.
18040
18041 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18042
18043         * vmsdbgout.c (SECTION_ASM_OP): Remove.
18044
18045 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18046
18047         * config/i386/i386.c (AT_BP): Remove.
18048
18049 2002-07-23  Neil Booth  <neil@daikokuya.co.uk>
18050
18051         * defaults.h (obstack_chunk_alloc, obstack_chunk_free):
18052         Default definition.
18053         * gcse.c: Don't define obstack_chunk_free.
18054         * collect2.c, conflict.c, df.c, diagnostic.c, fix-header.c,
18055         flow.c, gcc.c, genattrtab.c, genautomata.c, genflags.c, gensupport.c,
18056         integrate.c, loop.c, ra.c, read-rtl.c, regrename.c, reload1.c,
18057         reorg.c, tlink.c, tree.c, config/arm/arm.c, objc/objc-act.c:
18058         Don't define obstack macros.
18059
18060 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18061
18062         PR target/6744
18063         * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Also replace
18064         ASM_OPERANDS instructions.
18065
18066 2002-07-22  Stephane Carrez  <stcarrez@nerim.fr>
18067
18068         PR target/7361
18069         * config/m68hc11/m68hc11.c (go_if_legitimate_address_internal): Accept
18070         constant addresses only on 68HC12.
18071
18072 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18073
18074         * cppfiles.c (stack_include_file): Correct test of whether
18075         a dependency should be output.
18076
18077 2002-07-22  David Edelsohn  <edelsohn@gnu.org>
18078
18079         * collect2.c (is_ctor_dtor): Add other possible JOINER values.
18080
18081 2002-07-22  Richard Earnshaw  <rearnsha@arm.com>
18082
18083         * arm.md (movqi): If optimizing and we can create pseudos, use
18084         a ZERO_EXTEND to load from memory, then copy the result into the
18085         target.
18086         (movhi): Likewise, but only for ARMv4.
18087
18088 2002-07-22  Neil Booth  <neil@daikokuya.co.uk>
18089
18090         * ssa-ccp.c (PHI_PARMS): Remove.
18091
18092 2002-07-22  Richard Sandiford  <rsandifo@redhat.com>
18093
18094         * config/mips/mips.h (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS
18095         on big-endian targets.
18096
18097 2002-07-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18098
18099         * hwint.h (HOST_WIDE_INT_PRINT_DEC_SPACE,
18100         HOST_WIDE_INT_PRINT_UNSIGNED_SPACE,
18101         HOST_WIDEST_INT_PRINT_DEC_SPACE, HOST_WIDEST_INT_PRINT_DEC_SPACE):
18102         New formatting macros.
18103
18104         * ra-debug.c (dump_static_insn_cost): Avoid string concatenation.
18105
18106 Mon Jul 22 15:27:25 2002  J"orn Rennecke <joern.rennecke@superh.com>
18107
18108         * rtlanal.c (subreg_regno_offset): Return correct offset for
18109         big endian paradoxical subregs.
18110
18111         * optabs.c (expand_vector_unop): Don't expand using sub_optab
18112         if we got the wrong mode.
18113
18114         * hwint.c (define HOST_WIDE_INT_PRINT_DEC_C): New define.
18115         * genrecog.c (write_switch, write_cond): Use it.
18116         * genemit.c (gen_exp): Likewise.
18117
18118 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18119
18120         * c-decl.c (build_compound_literal): Set decl TREE_READONLY from TYPE.
18121
18122 2002-07-22  Jakub Jelinek  <jakub@redhat.com>
18123
18124         * c-decl.c (build_compound_literal): Defer compound literal decls
18125         until until file end to emit them only if they are actually used.
18126
18127 2002-07-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
18128
18129         * ra-build.c (check_conflict_numbers): Hide unused function.
18130         (livethrough_conflicts_bb): Avoid automatic aggregate
18131         initialization.
18132         (parts_to_webs_1): Avoid `U' integer constant modifier.
18133         (conflicts_between_webs): Wrap a variable in the macro controlling
18134         its usage.
18135         * ra-debug.c (ra_debug_msg): Use VA_OPEN/VA_CLOSE.
18136         (dump_igraph, dump_graph_cost): Avoid string concatenation
18137         (dump_static_insn_cost): Avoid automatic aggregate
18138         initialization.
18139         * ra-rewrite.c (insert_stores): Avoid automatic aggregate
18140         initialization.
18141         (dump_cost): Avoid string concatenation
18142
18143 2002-07-21  Richard Henderson  <rth@redhat.com>
18144
18145         * expr.c (expand_expr) [TRY_FINALLY_EXPR]: Don't use
18146         GOTO_SUBROUTINE_EXPR when finally_block can be re-expanded.
18147
18148 2002-07-21  Richard Henderson  <rth@redhat.com>
18149
18150         * unroll.c (find_splittable_givs): Do not split DEST_ADDR givs
18151         that are not unrolled completely.
18152
18153 2002-07-21  Richard Henderson  <rth@redhat.com>
18154
18155         * loop.h (LOOP_AUTO_UNROLL): Rename from LOOP_FIRST_PASS.
18156         * loop.c (strength_reduce): Update.
18157         * toplev.c (rest_of_compilation): Do unrolling in the first
18158         loop pass, not the second.
18159
18160 2002-07-21  Richard Henderson  <rth@redhat.com>
18161
18162         * emit-rtl.c (set_mem_attributes): Preserve indirection of PARM_DECL
18163         when flag_argument_noalias == 2.
18164         * alias.c (nonoverlapping_memrefs_p): Handle that.
18165         * print-rtl.c (print_mem_expr): Likewise.
18166
18167 2002-07-21  Hartmut Schirmer  <hartmut.schirmer@arcor.de>
18168
18169         * libgcc2.c (__divdi3, __moddi3): Use unary minus operator
18170         instead of __negdi2 directly.
18171
18172 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18173
18174         * gengenrtl.c (gencode): Don't define obstack_alloc_rtx.
18175         * function.c (SYMBOL__MAIN): Remove definition.
18176         * global.c (SET_CONFLICT, REGBITP, ALLOCNO_LIVE_P): Remove.
18177         * predict.c (PROB_NEVER, PROB_LIKELY, PROB_UNLIKELY): Remove.
18178         * profile.c (GCOV_INDEX_TO_BB): Remove.
18179         * sched-rgn.c (ABS_VALUE, MIN_DIFF_PRIORITY, MIN_PROB_DIFF): Remove.
18180         * simplify-rtx.c (FIXED_BASE_PLUS_P): Remove.
18181
18182 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18183
18184         * c-lex.c (GET_ENVIRONMENT): Remove.
18185         * collect2.c (GET_ENV_PATH_LIST): Remove.
18186         (prefix_from_env): Use GET_ENVIRONMENT.
18187         * cppinit.c (GET_ENV_PATH_LIST): Remove.
18188         (init_standard_includes): Use GET_ENVIRONMENT.
18189         * defaults.h (GET_ENVIRONMENT): Define here if not already.
18190         * gcc.c (GET_ENV_PATH_LIST): Remove.
18191         (make_relative_prefix, process_command): Update.
18192         * protoize.c (GET_ENV_PATH_LIST): Remove.
18193         (do_processing): Update.
18194
18195 2002-07-21  Gabriel Dos Reis  <gdr@nerim.net>
18196
18197         * c-decl.c (build_array_declarator): Say 'ISO C90', not 'ISO C89'.
18198         (grokdeclarator): Likewise.
18199         * c-format.c (C_STD_NAME): Likewise.
18200         * c-lex.c (interpret_integer): Likewise.
18201         * c-typeck.c (build_array_ref): Likewise.
18202         * cpplex.c (_cpp_lex_direct): Likewise.
18203         * toplev.c (documented_lang_options): Likewise.
18204
18205 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18206
18207         * c-format.c (T99_I, T99_UI): Remove.
18208
18209 2002-07-21  Neil Booth  <neil@daikokuya.co.uk>
18210
18211         * c-typeck.c (SAVE_SPELLING_DEPTH): Remove.
18212
18213 Sun Jul 21 21:36:41 CEST 2002  Jan Hubicka  <jh@suse.cz>
18214
18215         * gcse.c (do_local_cprop): Do not extend lifetimes of registers set by
18216         do_local_cprop.
18217
18218 2002-07-21  Andreas Jaeger  <aj@suse.de>
18219
18220         * reload1.c (fixup_abnormal_edges): Remove unused variable.
18221
18222 2002-07-21  Bernd Schmidt  <bernds@redhat.com>
18223
18224         Improvements for the ifcvt pass from Michael Meissner, with patches
18225         by Richard Sandiford <rsandifo@redhat.com>
18226         * basic-block.h (struct ce_if_block, ce_if_block_t): New types.
18227         * ifcvt.c (cond_exec_changed_p): New static variable.
18228         (last_active_insn): New function, renamed from last_active_insn_p
18229         and changed to return the last active insn in a basic block. All
18230         callers updated.
18231         (block_fallthru): New function.
18232         (cond_exec_process_insns): New argument CE_INFO.  Pass it to
18233         IFCVT_MODIFY_INSN.  All callers updated.
18234         Return false if START or END are NULL.
18235         Handle case where we're processing an insn that is already
18236         conditional.
18237
18238         (noce_process_if_block): CE_INFO argument rather than
18239         multiple args containing the involved basic blocks.  All callers
18240         changed.
18241         (process_if_block, merge_if_block, find_if_block,
18242         cond_exec_process_if_block): Likewise.
18243
18244         (cond_exec_process_if_block): New arg DO_MULTIPLE_P.  All callers
18245         changed.
18246         Use new function last_active_insn to simplify some code.
18247         New code to handle multiple tests.
18248         Call IFCVT_MODIFY_CANCEL in all failure cases, otherwise set
18249         cond_exec_changed_p to TRUE.
18250
18251         (process_if_block): New code to handle multiple tests.
18252         (merge_if_block): Likewise.
18253         (find_if_header): New arg PASS.  Changed to return the currently
18254         processed basic block or NULL instead of true/false. All callers
18255         changed.
18256         Call IFCVT_INIT_EXTRA_FIELDS.
18257         (block_jumps_and_fallthru_p): New function.
18258         (find_if_block): Discover opportunities to convert multiple tests.
18259         Add additional debugging output.
18260         Update the ce_info structure before returning.
18261
18262         (if_convert): Run multiple passes of if-conversion.
18263         * doc/tm.texi (IFCVT_MODIFY_TESTS, IFCVT_MODIFY_INSN,
18264         IFCVT_MODIFY_FINAL, IFCVT_MODIFY_CANCEL, IFCVT_MODIFY_MULTIPLE_TESTS,
18265         IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS): Update documentation for
18266         these macros.
18267
18268 Sun Jul 21 00:54:54 CEST 2002  Jan Hubicka  <jh@suse.cz>
18269
18270         * gcse.c: Include cselib.h
18271         (constptop_register): Break out from ...
18272         (cprop_insn): ... here; kill basic_block argument.
18273         (do_local_cprop, local_cprop_pass): New functions.
18274         (one_cprop_pass): Call local_cprop_pass.
18275
18276 2002-07-20  Roger Sayle  <roger@eyesopen.com>
18277
18278         * simplify-rtx.c (simplify_relational_operation): Optimize
18279         abs(x) < 0.0 (and abs(x) >= 0.0 when using -ffast-math).
18280
18281 2002-07-20  Michae Matz  <matz@suse.de>
18282
18283         * ra-build.c: (remember_web_was_spilled): Use GENERAL_REGS.
18284
18285 2002-07-20  Neil Booth  <neil@daikokuya.co.uk>
18286
18287         * cppexp.c (struct op): Add token pointer.
18288         (check_promotion, CHECK_PROMOTION): New.
18289         (optab): Update.
18290         (_cpp_parse_expr): Update, use token pointer of struct op.
18291         (reduce): Warn about change of sign owing to promotion.
18292         * cppinit.c (cpp_handle_option): New warning if -Wall.
18293         * cpplib.h (struct cpp_options): New member.
18294
18295 2002-07-19  David Edelsohn  <edelsohn@gnu.org>
18296
18297         * config/rs6000/rs6000.md: Remove ppc630 fpcompare from single
18298         fpu list.  Separate Power4 compare and delayed_compare.  Correct
18299         Power4 fpcompare.
18300         (fix_truncdfsi2_internal): Restore FPR preference.
18301         * config/rs6000/t-aix43 (MULTILIB_MATCHES): Add mcpu?power3,
18302         mcpu?power4, mcpu?604e.  Remove mpower, mpower2, mpowerpc.
18303
18304 2002-07-19  Momchil Velikov <velco@fadata.bg>
18305
18306         * reload1.c (reload_as_needed): Duplicate oldpat.
18307
18308 2002-07-20  Alan Modra  <amodra@bigpond.net.au>
18309
18310         PR optimization/7130
18311         * loop.h (struct loop_info): Add "preconditioned".
18312         * unroll.c (unroll_loop): Set it.
18313         * doloop.c (doloop_modify_runtime): Correct count for unrolled loops.
18314
18315 2002-07-19  Zack Weinberg  <zack@codesourcery.com>
18316
18317         * rtl.def (CODE_LABEL): Remove slot 8.
18318         * rtl.h (struct rtx_def): Document new uses of jump and call fields.
18319         (LABEL_ALTERNATE_NAME): Delete.
18320         (LABEL_KIND, SET_LABEL_KIND, LABEL_ALT_ENTRY_P): New.
18321         * defaults.h: Remove default for ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18322
18323         * final.c (output_alternate_entry_point): New.
18324         (final_scan_insn): Use it instead of
18325         ASM_OUTPUT_ALTERNATE_LABEL_NAME.  Do not consider possibility
18326         of a case label being an alternate entry point.
18327
18328         * cfgbuild.c (make_edges, find_bb_boundaries): Use LABEL_ALT_ENTRY_P.
18329         * emit-rtl.c (gen_label_rtx): Adjust call to gen_rtx_CODE_LABEL.
18330         Do not clear LABEL_NUSES (unnecessary) or LABEL_ALTERNATE_NAME
18331         (field deleted).
18332         * print-rtl.c, ra-debug.c: Update code to output CODE_LABELs.
18333
18334         * doc/rtl.texi: Document LABEL_KIND, SET_LABEL_KIND, and
18335         LABEL_ALT_ENTRY_P; not LABEL_ALTERNATE_NAME.
18336         * doc/tm.texi: Delete documentation of
18337         ASM_OUTPUT_ALTERNATE_LABEL_NAME.
18338
18339 2002-07-19  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
18340
18341         * config/mips/iris5gas.h (DWARF2_DEBUGGING_INFO): Define.
18342         (PREFERRED_DEBUGGING_TYPE): Use DWARF2_DEBUG.
18343         (LINK_SPEC): Define.
18344         (STARTFILE_SPEC): Define.
18345         (ENDFILE_SPEC): Define.
18346
18347         * config/mips/iris6-o32.h (LINK_SPEC): Move ...
18348         * config/mips/iris6-o32-as.h (LINK_SPEC): ... here.
18349
18350         * config/mips/iris6-o32-gas.h: New file.
18351         * config.gcc (mips-sgi-irix6*o32): Use it.
18352
18353         * config/mips/t-iris5-gas: New file.
18354         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
18355
18356 2002-07-19  Neil Booth  <neil@daikokuya.co.uk>
18357
18358         * cppexp.c (ALWAYS_EVAL): Remove.
18359         (optab, reduce): Always evaluate.
18360         (num_unary_op, num_binary_op, num_div_op): Issue diagnostics
18361         only if not skipping evaluation.
18362
18363 2002-07-19  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18364
18365         * config/avr/avr.c (debug_hard_reg_set): Remove.
18366
18367 2002-07-19  Chris Demetriou  <cgd@broadcom.com>
18368
18369         * gcc.c (cpp_options): Include "%1" (cc1_spec).
18370
18371 2002-07-19  Richard Henderson  <rth@redhat.com>
18372
18373         * loop.c (loop_givs_rescan): Delete the REG_EQUAL note, not the insn.
18374
18375 2002-07-19  Alan Modra  <amodra@bigpond.net.au>
18376
18377         * prefix.c (update_path): Don't zap single `.' path components
18378         unless followed by another `.' and fix typo last patch.
18379
18380 2002-07-18  Neil Booth  <neil@daikokuya.co.uk>
18381
18382         * cppexp.c (cpp_num_mul): Remove unused parameter.
18383         (UNARY, BINARY, OTHER, binary_handler): Remove.
18384         (ALWAYS_EVAL): New.
18385         (optab): Update.
18386         (reduce): Refactor to a large switch, don't use a function
18387         pointer.
18388
18389 2002-07-18  Bo Thorsen  <bo@berlioz.suse.de>
18390
18391         * config/i386/linux64.h (STARTFILE_PREFIX_SPEC): Define this always.
18392
18393 Thu Jul 18 19:39:18 2002  J"orn Rennecke <joern.rennecke@superh.com>
18394
18395         * sh-protos.h (sh_expand_unop_v2sf): Move inside #ifdef RTX_CODE guard.
18396         (sh_expand_binop_v2sf): Likewise.
18397         * sh.c (machine_dependent_reorg): Add move for UNSPEC_MOVA.
18398         (int_gpr_dest, trunc_hi_operand): New functions.
18399         * sh.h (PREDICATE_CODES): Add any_register_operand, int_gpr_dest and
18400         trunc_hi_operand.
18401         (SPECIAL_MODE_PREDICATES, any_register_operand): Define.
18402         * sh.md (cmpeqdi_t+1): Remove comments that genrecog warns about.
18403         (adddi3_compact+1, subdi3_compact+1, ashlsi3_n+1, ashlhi3+1): Likewise.
18404         (ashrsi2_16+1, ashrsi2_31+1, lshrsi3_n+1, ashrdi3+[12]): Likewise.
18405         (and_shl_scratch+[12], zero_extendhidi2+1): Likewise.
18406         (zero_extendhisi2_media+1, extendhidi2+1, extendqidi2+1): Likewise.
18407         (extendhisi2_media+1, extendqisi2_media+1): Likewise.
18408         (movsi_media_nofpu+[12], movhi_media+1, movdi_media_nofpu+1): Likewise.
18409         (movdi_const_16bit+[12], movdf_i4+[123], reload_outdf+[2-5]): Likewise.
18410         (movsf_ie+1): Likewise.
18411         (loaddi_trunc): Use int_gpr_dest predicate.
18412         (use_sfunc_addr, indirect_jump_scratch, sibcall_compact): Add mode(s).
18413         (mova, mova_const, GOTaddr2picreg, ptrel, casesi_worker_0): Likewise.
18414         (casesi_worker_0+[12], casesi_worker): Likewise.
18415         (shcompact_preserve_incoming_args): Likewise.
18416         (mov_nop): Use any_register_operand predicate.
18417         (mperm_w0): Use trunc_hi_operand predicate.
18418
18419 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18420
18421         * pa-linux.h (DWARF2_UNWIND_INFO): Delete define.
18422         * pa.h (EH_RETURN_DATA_REGNO): Revise TARGET_64BIT and correct
18423         numbering.
18424
18425 2002-07-18  John David Anglin  <dave@hiauly1.hia.nrc.ca>
18426
18427         * pa.c (output_deferred_plabels): Remove unused millicode enum mulU.
18428
18429 2002-07-18  Richard Henderson  <rth@redhat.com>
18430
18431         PR optimization/7147
18432         * ifcvt.c (noce_get_condition): Make certain that the condition
18433         is valid at JUMP.
18434
18435 Thu Jul 18 13:44:51 2002  J"orn Rennecke <joern.rennecke@superh.com>
18436
18437         * sh.c (barrier_align, push): Shut up compiler warnings.
18438         (initial_elimination_offset,sh_media_init_builtins): Likewise.
18439         (reg_no_subreg_operand): Delete.
18440
18441 2002-07-17  Bo Thorsen  <bo@suse.de>
18442
18443         * config/i386/linux64.h (LINK_SPEC): Remove bogus -Y option.
18444         (STARTFILE_PREFIX_SPEC): Define for NATIVE_CROSS compilations.
18445         (STARTFILE_SPEC): Remove hardcoded library paths.
18446         (ENDFILE_SPEC): Likewise.
18447
18448 Thu Jul 18 09:38:59 CEST 2002  Jan Hubicka  <jh@suse.cz>
18449
18450         * gcse.c (hoist_expr_reaches_here_p):  Stop once expr_bb is reached.
18451
18452         * gcse.c (try_replace_reg): Do not return false positives.
18453
18454 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18455
18456         * prefix.c: (update_path): Strip ".." components when prior dir
18457         doesn't exist.  Pass correct var to UPDATE_PATH_HOST_CANONICALIZE.
18458
18459         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Remove 64-bit support.
18460         (ASM_OUTPUT_REG_POP): Likewise.
18461
18462 2002-07-18  Alan Modra  <amodra@bigpond.net.au>
18463
18464         * config/rs6000/rs6000.c (first_reg_to_save): Remove bogus
18465         adjustments to first_reg for profiling case.
18466         (output_function_profiler): Correct lr save slot for ABI_AIX_NODESC.
18467         Disable profiling for 64 bit code on both ABI_V4 and ABI_AIX_NODESC.
18468         Save static chain reg to sp + 12 on ABI_AIX_NODESC.
18469         * config/rs6000/sysv4.h (ASM_OUTPUT_REG_PUSH): Define.
18470         (ASM_OUTPUT_REG_POP): Define.
18471         * config/rs6000/linux64.h (ASM_OUTPUT_REG_PUSH): Undef.
18472         (ASM_OUTPUT_REG_POP): Undef.
18473
18474 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18475
18476         * cpplib.c (do_sccs): Handle #sccs on all systems.
18477         * system.h (SCCS_DIRECTIVE): Poison.
18478         * config/darwin.h, config/freebsd.h, config/netbsd.h,
18479         config/ptx4.h, config/svr3.h, config/svr4.h, config/alpha/elf.h,
18480         config/arm/linux-elf.h, config/c4x/c4x.h, config/d30v/d30v.h,
18481         config/i370/i370.h, config/i386/gas.h, config/i386/sco5.h,
18482         config/i960/i960.h, config/m68hc11/m68hc11.h, config/m68k/3b1.h,
18483         config/m68k/3b1g.h, config/m68k/crds.h, config/m68k/mot3300.h,
18484         config/m68k/pbb.h, config/m88k/m88k.h, config/mips/mips.h,
18485         config/sparc/pbd.h, config/stormy16/stormy16.h, config/vax/vaxv.h:
18486         Remove all references to SCCS_DIRECTIVE.
18487         * doc/cpp.texi, doc/tm.texi: Update.
18488
18489 Wed Jul 17 19:23:32 2002  J"orn Rennecke <joern.rennecke@superh.com>
18490
18491         * regrename.c (maybe_mode_change): New function.
18492         (find_oldest_value_reg, copyprop_hardreg_forward_1): Use it.
18493
18494 2002-07-17  Rodney Brown  <rbrown64@csc.com.au>
18495
18496         * config/i386/i386.c (ix86_expand_int_movcc): In the general case
18497         suppress addition when either ct or cf are zero.
18498
18499 2002-07-17  Eric Botcazou <ebotcazou@multimania.com>
18500             Glen Nakamura <glen@imodulo.com>
18501
18502         PR optimization/6713
18503         * loop.c (loop_givs_rescan): Explicitly delete the insn that
18504         sets a non-replaceable giv after issuing the new one.
18505
18506 2002-07-17  Neil Booth  <neil@daikokuya.co.uk>
18507
18508         * cppexp.c (cpp_interpret_integer, append_digit, parse_defined,
18509         eval_token): Clarify and correct use of "bool" variables.
18510         * cpplib.h (struct cpp_options): Similarly.
18511         * cppmacro.c (parse_params, _cpp_save_parameter): Ditto.
18512         * cpptrad.c (recursive_macro): Similarly.
18513
18514 Wed Jul 17 17:08:06 2002  J"orn Rennecke <joern.rennecke@superh.com>
18515
18516         * config/sh/lib1funcs.asm (udivsi3_i4): Implement SHcompact version in
18517         SHmedia code.
18518
18519         * sh.md (cmpgtudi_media): Remove spurious @.
18520
18521         * config/sh/lib1funcs.asm (FMOVD_WORKS): Don't define for little endian.
18522         * sh.h (OVERRIDE_OPTIONS): Don't set FMOVD_BIT for little endian.
18523
18524         * config/sh/lib1funcs.asm (init_trampoline): New entry point.
18525         * sh-protos.h (sh_initialize_trampoline): Declare.
18526         * sh.c (sh_initialize_trampoline): New function.
18527         * sh.h (TRAMPOLINE_SIZE): Only 24 for TARGET_SHMEDIA32.
18528         (TRAMPOLINE_ALIGNMENT): Need cache-line alignment for TARGET_SHMEDIA.
18529         (INITIALIZE_TRAMPOLINE): Call sh_initialize_trampoline.
18530         (TRAMPOLINE_ADJUST_ADDRESS): Not needed for SHcompact.
18531         * sh.md (initialize_trampoline, double_shori): New patterns.
18532         (initialize_trampoline_compact): Likewise.
18533         (shmedia32_initialize_trampoline_big): Remove.
18534         (shmedia32_initialize_trampoline_little): Likewise.
18535
18536         * sh-protos.h (binary_float_operator): Remove declaration.
18537         (sh_expand_unop_v2sf, sh_expand_binop_v2sf): Declare.
18538         * sh.c (print_operand, case 'N'): Check against CONST0_RTX.
18539         (unary_float_operator, sh_expand_unop_v2sf): New functions.
18540         (sh_expand_binop_v2sf): Likewise.
18541         (zero_vec_operand): Delete.
18542         (SH_BLTIN_UDI): New builtin shared signature define.  Renumbered
18543         all non-shared ones.
18544         (bdesc): Change all the mextr builtins to use SH_BLTIN_UDI.
18545         Enable nsb and byterev.
18546         * sh.h (CONDITIONAL_REGISTER_USAGE): Initialize DF_HI_REGS.
18547         (HARD_REGNO_MODE_OK): Allow TImode in fp regs.  Allow V2SFmode
18548         in general regs.
18549         (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS): Add DF_HI_REGS.
18550         (SECONDARY_OUTPUT_RELOAD_CLASS): Likewise.  Remove clause for
18551         immediate operands.
18552         (SECONDARY_INPUT_RELOAD_CLASS): Add clause for immediate operands.
18553         Add DF_HI_REGS.
18554         (CLASS_CANNOT_CHANGE_MODE, CLASS_CANNOT_CHANGE_MODE_P): Allow
18555         lowpart fp regs - only for big endian for now.
18556         (LEGITIMATE_CONSTANT_P): Don't allow nonzero float vectors
18557         when FPU is in use.
18558         (EXTRA_CONTRAINT_U): Check against CONST0_RTX.
18559         (LOAD_EXTEND_OP): NIL for SImode.
18560         (REGISTER_MOVE_COST): Add DF_HI_REGS.  Const for moves between
18561         general and fp registers is 4.
18562         PREDICATE_CODES: Amend binary_float_operator entry.
18563         Remove zero_vec_operand.  Add unary_float_operator.
18564         * sh.md (udivsi3_i4_media): Use truncate instead of paradoxical
18565         subreg SET_DEST.
18566         (truncdisi2, truncdihi2, movv2sf): Allow memory destinations.
18567         (truncdiqi2): Do sign extension.
18568         (movsi_media, movdi_media): Allow to use r63 to an fp register.
18569         (movdf_media, movsf_media): Likewise.
18570         (movv2sf_i, movv2sf_i+1): Don't use f{ld,st}.p or SUBREGS.
18571         Collapse to one define_insn_and_split.  Allow immediate sources.
18572         (addv2sf3, subv2sf3, mulv2sf3, divv2sf3): New patterns.
18573         (movv4sf_i): Allow immediate sources.  Use simplify_gen_subreg.
18574         (movv4sf): Allow immediate sources.
18575         (movsf_media_nofpu+1): Don't split moves to FP registers.
18576         (unary_sf_op, binary_sf_op, mshflo_w_x, concat_v2sf): New patterns.
18577         (movv8qi_i+3): Check against CONST0_RTX.
18578         (mextr1, mextr2. mextr3. mextr4, mextr5, mextr6, mextr7): Use DImode
18579         for input and output operands.  Fix argument 3 to gen_mextr_rl.
18580         (mmul23_wl, mmul01_wl, mmulsum_wq_i): s/const_vector/parallel/
18581         (msad_ubq_i, mshf4_b, mshf0_b, mshf4_l, mshf0_l, mshf4_w): Likewise.
18582         (mshf0_w, fipr, ftrv): Likewise.
18583         (mshfhi_l_di): Now insn_and_split.  Can handle FP regs.
18584
18585 2002-07-17  Jeroen Dobbelaere  <jeroen.dobbelaere@acunia.com>
18586
18587         * arm.h (ARM_NUM_INTS, ARM_NUM_REGS, ARM_NUM_REGS2): Renamed from
18588         NUM_INTS, NUM_REGS and ARM_NUM_REGS2 respectively.  All uses changed.
18589         * arm.c: Similarly.
18590
18591 2002-07-17  Richard Sandiford  <rsandifo@redhat.com>
18592
18593         * config/mips/mips-protos.h (mips_sign_extend): Declare.
18594         * config/mips/mips.h (MASK_DEBUG_H, TARGET_DEBUG_H_MODE): Remove.
18595         (TARGET_SWITCHES): Remove debugh.
18596         (ISA_HAS_TRUNC_W): New macro.
18597         (CLASS_CANNOT_CHANGE_MODE): Include FP_REGS if TARGET_FLOAT64.
18598         (PREDICATE_CODES): Remove se_nonimmediate_operand.
18599         * config/mips/mips.c (movdi_operand): Allow sign-extensions of
18600         any SImode move_operand.
18601         (se_nonimmediate_operand): Remove.
18602         (mips_sign_extend): New.
18603         (mips_move_2words): Use it for sign-extended source operands.
18604         (override_options): Allow integers to be put into single FPRs.
18605         (mips_secondary_reload_class): Handle integers in float registers.
18606         * config/mips/mips.md (extendsidi2): Turn into a define_expand.
18607         (fix_truncsfsi2, fix_truncdfsi2): Likewise.
18608         (fix_truncdfsi2_insn, fix_truncdfsi2_macro): New.
18609         (fix_truncsfsi2_insn, fix_truncsfsi2_macro): New.
18610         (fix_truncdfdi2): Provide only a single alternative, in which the
18611         integer is in a float register.  Depend on TARGET_FLOAT64 rather
18612         than TARGET_64BIT.
18613         (fix_truncsfdi2, floatdidf2, floatdisf2): Likewise.
18614         (floatsidf2, floatsisf2): Likewise, but no TARGET_FLOAT64 dependency.
18615         (movdi_internal2): Don't allow the source operand to be sign-extended.
18616         Add alternatives for float registers.
18617         (*movdi_internal2_extend): New.  Version of movdi_internal2 that
18618         allows sign-extension.
18619         (*movdi_internal2_mips16): Name the existing mips16 movdi pattern.
18620         (movsi_internal2): Rename to movsi_internal.  Add alternatives for
18621         float registers.  Remove TARGET_DEBUG_H_MODE test.
18622         (movhi_internal1): Rename to movhi_internal.  Don't check
18623         TARGET_DEBUG_H_MODE.  Fix transposed *d and *f source constraints.
18624         (movqi_internal1): Rename to movqi_internal and remove
18625         TARGET_DEBUG_H_MODE dependency.
18626         (movsi_internal1, movhi_internal2, movqi_internal2): Remove.
18627
18628 2002-07-16  Jim Wilson  <wilson@redhat.com>
18629
18630         * toplev.c (lang_dependent_init): Create function context for
18631         init_expr_once.
18632
18633 2002-07-16  Hans-Peter Nilsson  <hp@axis.com>
18634
18635         * config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Don't
18636         --gc-sections if -r.
18637         * config/cris/cris.h: Ditto.
18638
18639 2002-07-16  Rodney Brown  <rbrown64@csc.com.au>
18640
18641         * config/i386/i386.c (ix86_expand_int_movcc): In the case where
18642         the comparison directly gives a mask suppress addition when cf is
18643         zero by complementing the mask.
18644
18645 2002-07-16  Nathanael Nerode  <neroden@gcc.gnu.org>
18646
18647         * Makefile.in: Delete references to enquire.
18648         * enquire.c: Move to contrib.
18649
18650 2002-07-16  Stan Shebs  <shebs@apple.com>
18651
18652         * config/darwin.h (ASM_OUTPUT_LABEL): Move to here from
18653         config/rs6000/darwin.h.
18654         (ASM_OUTPUT_SKIP): Ditto.
18655         (TEXT_SECTION_ASM_OP): Ditto.
18656         (DATA_SECTION_ASM_OP): Ditto.
18657         (ASM_APP_ON): Define.
18658         (ASM_APP_OFF): Define.
18659         * config/rs6000/darwin.h (ASM_OUTPUT_LABEL, ASM_OUTPUT_SKIP,
18660         TEXT_SECTION_ASM_OP, DATA_SECTION_ASM_OP): Remove.
18661
18662         * config/darwin.c (func_name_maybe_scoped): Remove unused decl.
18663         (machopic_function_base_name): Declare result to be const.
18664         (machopic_non_lazy_ptr_name): Ditto.
18665         (machopic_stub_name): Ditto.
18666         * config/darwin-protos.h: Ditto for the prototypes.
18667
18668 Wed Jul 17 00:22:39 CEST 2002  Jan Hubicka  <jh@suse.cz>
18669
18670         * m68hc11.c (m68hc11_reorg): Do not rebuild CFG.
18671
18672 Wed Jul 17 00:20:48 CEST 2002  Jan Hubicka  <jh@suse.cz>
18673
18674         * i386.md (prefetch): Fix for 64bit mode.
18675         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18676
18677 Wed Jul 17 00:19:20 CEST 2002  Jan Hubicka  <jh@suse.cz>
18678
18679         * i386.h (MACHINE_DEPENDENT_REORG): New macro.
18680         * i386.c (x86_machine_dependent_reorg): New function.
18681         * i386-protos.h (x86_machine_dependent_reorg): Declare.
18682
18683 2002-07-16  Zack Weinberg  <zack@codesourcery.com>
18684
18685         * builtins.c (std_expand_builtin_va_start): Remove unused
18686         first argument.
18687         (expand_builtin_va_start): Call EXPAND_BUILTIN_VA_START and
18688         std_expand_builtin_va_start with just two arguments.
18689         * expr.h: Update prototypes.
18690
18691         * alpha-protos.h, alpha.h, alpha.c, arc-protos.h, arc.h,
18692         arc.c, d30v-protos.h, d30v.h, d30v.c, i386-protos.h, i386.h,
18693         i386.c, i960-protos.h, i960.h, i960.c, m88k-protos.h, m88k.h,
18694         m88k.c, mips-protos.h, mips.h, mips.c, mn10300-protos.h,
18695         mn10300.h, mn10300.c, pa-protos.h, pa.h, pa.c,
18696         rs6000-protos.h, rs6000.h, rs6000.c, s390-protos.h, s390.h,
18697         s390.c, sh-protos.h, sh.h, sh.c, sparc-protos.h, sparc.h,
18698         sparc.c, stormy16-protos.h, stormy16.h, stormy16.c,
18699         xtensa-protos.h, xtensa.h, xtensa.c:  Remove unused first
18700         argument from all implementations of EXPAND_BUILTIN_VA_START
18701         and all uses of std_expand_builtin_va_start.
18702
18703 Tue Jul 16 19:32:58 2002  J"orn Rennecke <joern.rennecke@superh.com>
18704
18705         * regrename.c (copy_value): Don't record high part copies.
18706
18707 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
18708
18709         * gcc/config/pa/long_double.h (FIXUNS_TRUNCTFDI2_LIBCALL): New define.
18710         (fixunstfdi_libfunc): Change to use FIXUNS_TRUNCTFDI2_LIBCALL.
18711         * gcc/config/pa/quadlib.c (_U_Qfcnvfxt_quad_to_udbl): New function.
18712
18713 2002-07-16  Ian Dall  <ian@sibyl.beware.dropbear.id.au>
18714
18715         * doc/invoke.texi (NS32K Options): Document -mieee-compare option
18716
18717         * config/ns32k/ns32k.md (addsi3, *frame_addr, *stack_addr): merge
18718         into addsi3 using register class "x" and "y".
18719
18720         * config/ns32k/ns32k.md (*madddf, *maddsf, *msubdf, *msubsf):
18721         "earlyclobber" constraint modifier for some alternative.
18722
18723         * config/ns32k/ns32k.md (tstdf, tstsf, cmpdf, cmpsf, blt, ble)
18724         (*ble, *blt): Flag to indicate bCOND and sCOND should check for
18725         unordered.
18726         config/ns32k/ns32k.h (CC_UNORD): define corresponding mask.
18727
18728         * config/ns32k/ns32k.h (TARGET_IEEE_COMPARE, MASK_IEEE_COMPARE)
18729         (TARGET_SWITCHES): Add -mieee-compare option.
18730         (OVERRIDE_OPTIONS): 32332 is a subset of
18731         32532. Don't use IEEE_COMPARE -funsafe-math-optimizations.
18732         (TARGET_SWITCHES): Fix description of bitfield option.
18733         * config/ns32k/netbsd.h (TARGET_DEFAULT): Add
18734         -mieee-compare option. Remove 32332 flag.
18735
18736 2002-07-16  Steve Ellcey  <sje@cup.hp.com>
18737
18738         * explow.c (convert_memory_address): Remove special handling
18739         when POINTERS_EXTEND_UNSIGNED < 0.
18740         * config/ia64.md (movsi_symbolic): New instruction for ILP32 mode.
18741         (movedi_symbolic): Fix typo.
18742         (load_fptr): Remove mode restriction so it works for SI and DI.
18743         (load_fptr_internal1): Ditto.
18744         (load_gprel): Ditto.
18745         (load_symptr_internal1): Ditto.
18746         (call_pic): Ditto.
18747         * config/ia64.c (call_operand): Modify mode check.
18748         (ia64_expand_load_address): Handle DI and SI addresses and symbols.
18749         (ia64_expand_move): Ditto.
18750         (ia64_assemble_integer): Handle SImode function pointers.
18751         (ia64_expand_fetch_and_op): Handle SImode mem addresses.
18752         (ia64_expand_op_and_fetch): Ditto.
18753         (ia64_expand_compare_and_swap): Ditto.
18754         (ia64_expand_lock_test_and_set): Ditto.
18755         (ia64_expand_lock_release): Ditto.
18756
18757 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18758
18759         * arm.c (emit_sfm): Don't set RTX_FRAME_RELATED_P on DWARF.
18760
18761 2002-07-16  Jeroen Dobbelaere <jeroen.dobbelaere@acunia.com>
18762             Richard Earnshaw  <rearnsha@arm.com>
18763
18764         * arm.h (LEGITIMATE_PIC_OPERAND_P): Only test
18765         CONSTANT_POOL_ADDRESS_P if a SYMBOL_REF.  Simplify logic.
18766
18767 2002-07-16  Richard Earnshaw  <rearnsha@arm.com>
18768
18769         * arm.md (stack_tie): New insn.  Use an idiom that the alias code
18770         understands to be a memory clobber.
18771         * arm.c (arm_expand_prologue): Use it.
18772
18773 2002-07-16  Daniel Berlin  <dberlin@dberlin.org>
18774
18775         * ra-rewrite.c: #include reload.h, insn-config.h
18776         * ra-build.c: #include reload.h
18777         * Makefile.in: Update ra-rewrite.o, ra-build.o dependencies to
18778         depend on reload.h, insn-config.h.
18779
18780 Tue Jul 16 11:57:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
18781
18782         * expr.c (emit_move_insn_1): Handle arbitrary moves that are
18783         the same size as a word.
18784
18785         * regrename.c (find_oldest_value_reg): Take WORDS_BIG_ENDIAN /
18786         BYTES_BIG_ENDIAN into account.
18787
18788 Tue Jul 16 12:22:44 CEST 2002  Jan Hubicka  <jh@suse.cz>
18789
18790         * i386.md (prefetch): Fix for 64bit mode.
18791         (prefetch_sse_rex, prefetch_3dnow_rex): New patterns.
18792
18793         * i386.md (movss, movsd): Use xorps/xorpd for Athlon.
18794
18795 2002-07-16  Marek Michalkiewicz  <marekm@amelek.gda.pl>
18796
18797         * hard-reg-set.h (TEST_HARD_REG_BIT): Return 1 if the bit is set.
18798
18799 2002-07-15  Zack Weinberg  <zack@codesourcery.com>
18800
18801         * ginclude/varargs.h: Replace with stub which issues #error.
18802         * ginclude/stdarg.h: __builtin_stdarg_start is renamed
18803         __builtin_va_start.
18804
18805         * builtins.def (BUILT_IN_VARARGS_START): Delete.
18806         (BUILT_IN_VA_START): New.
18807         * builtins.c (expand_builtin_va_start): Eliminate first
18808         argument and code to implement pre-ISO varargs.
18809         (std_expand_builtin_va_start): Ignore first argument; it is
18810         always 1.
18811         (expand_builtin): Handle BUILT_IN_VA_START and
18812         BUILT_IN_STDARG_START identically.  Delete
18813         BUILT_IN_VARARGS_START case.
18814
18815         * function.c (assign_parms): Delete hide_last_arg and all
18816         its uses.
18817         (mark_varargs): Delete function.
18818         * function.h (struct function): Delete 'varargs' bit.
18819         (current_function_varargs): Delete macro.
18820         * tree.h: Don't declare mark_varargs.
18821
18822         * c-decl.c (c_function_varargs, c_mark_varargs): Delete.
18823         (c_expand_body): Don't call mark_varargs.
18824         * c-objc-common.c: Handle BUILT_IN_VA_START and
18825         BUILT_IN_STDARG_START identically.  Delete
18826         BUILT_IN_VARARGS_START case.
18827         * c-tree.h: Don't declare c_mark_varargs.
18828         * c-parse.in: Remove grammar rules for '&...' (which has been
18829         commented out since before 2.7.2) and for '...' in K+R
18830         argument declarations.
18831
18832         * builtins.c, function.c, integrate.c, sibcall.c,
18833         config/alpha/unicosmk.h, config/arc/arc.c, config/arc/arc.h,
18834         config/avr/avr.c, config/cris/cris.c, config/fr30/fr30.c,
18835         config/i960/i960.c, config/i960/i960.md, config/m32r/m32r.c,
18836         config/m32r/m32r.h, config/m88k/m88k.c, config/m88k/m88k.h,
18837         config/mips/mips.c, config/mmix/mmix.c, config/mmix/mmix.h,
18838         config/mn10300/mn10300.c, config/pa/som.h, config/s390/s390.c,
18839         config/sh/sh.c, config/sh/sh.h, config/sparc/sparc.h,
18840         config/stormy16/stormy16.c: Delete all references to
18841         current_function_varargs, and code predicated on that flag.
18842
18843         * config/alpha/alpha.c (alpha_va_start),
18844         config/arc/arc.c (arc_va_start),
18845         config/i386/i386.c (ix86_va_start),
18846         config/mips/mips.c (mips_va_start),
18847         config/mn10300/mn10300.c (mn10300_va_start),
18848         config/rs6000/rs6000.c (rs6000_va_start),
18849         config/s390/s390.c (s390_va_start),
18850         config/sh/sh.c (sh_va_start),
18851         Ignore first argument; it is always 1.
18852
18853         * config/c4x/c4x-protos.h, config/c4x/c4x.c: Delete c4x_va_start.
18854         * config/ia64/ia64-protos.h, config/ia64/ia64.c: Delete ia64_va_start.
18855         * config/m68hc11/m68hc11-protos.h, config/m68hc11/m68hc11.c:
18856         Delete m68hc11_va_start.
18857         * config/c4x/c4x.h, config/ia64/ia64.h, config/m68hc11/m68hc11.h:
18858         No need to define EXPAND_BUILTIN_VA_START.
18859
18860         * doc/invoke.texi, doc/sourcebuild.texi, doc/tm.texi,
18861         doc/trouble.texi: Remove references to GCC-provided <varargs.h>.
18862
18863 2002-07-15  Eric Botcazou  <ebotcazou@multimania.com>
18864
18865         PR optimization/7153
18866         * regmove.c (optimize_reg_copy_3): Don't optimize if the register
18867         dies in more than one insn.
18868
18869 2002-07-15  Jason Thorpe  <thorpej@wasabisystems.com>
18870
18871         * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Remove.
18872
18873 2002-07-15  Michael Matz  <matz@suse.de>,
18874             Daniel Berlin  <dberlin@dberlin.org>,
18875             Denis Chertykov  <denisc@overta.ru>
18876
18877         Add a new register allocator.
18878
18879         * ra.c: New file.
18880         * ra.h: New file.
18881         * ra-build.c: New file.
18882         * ra-colorize.c: New file.
18883         * ra-debug.c: New file.
18884         * ra-rewrite.c: New file.
18885
18886         * Makefile.in (ra.o, ra-build.o, ra-colorize.o, ra-debug.o,
18887         (ra-rewrite.o): New .o files for libbackend.a.
18888         (GTFILES): Add basic-block.h.
18889
18890         * toplev.c (flag_new_regalloc): New.
18891         (f_options): New option "new-ra".
18892         (rest_of_compilation): Call initialize_uninitialized_subregs()
18893         only for the old allocator.  If flag_new_regalloc is set, call
18894         new allocator, instead of local_alloc(), global_alloc() and
18895         friends.
18896
18897         * doc/invoke.texi: Document -fnew-ra.
18898         * basic-block.h (FOR_ALL_BB): New.
18899         * config/rs6000/rs6000.c (print_operand): Write small constants
18900         as @l+80.
18901
18902         * df.c (read_modify_subreg_p): Narrow down cases for a rmw subreg.
18903         (df_reg_table_realloc): Make size at least as large as max_reg_num().
18904         (df_insn_table_realloc): Size argument now is absolute, not relative.
18905         Changed all callers.
18906
18907         * gengtype.c (main): Add the pseudo-type "HARD_REG_SET".
18908         * regclass.c (reg_scan_mark_refs): Ignore NULL rtx's.
18909
18910         2002-06-20  Michael Matz  <matz@suse.de>
18911
18912         * df.h (struct ref.id): Make unsigned.
18913         * df.c (df_bb_reg_def_chain_create): Remove unsigned cast.
18914
18915         2002-06-13  Michael Matz  <matz@suse.de>
18916
18917         * df.h (DF_REF_MODE_CHANGE): New flag.
18918         * df.c (df_def_record_1, df_uses_record): Set this flag for refs
18919         involving subregs with invalid mode changes, when
18920         CLASS_CANNOT_CHANGE_MODE is defined.
18921
18922         2002-05-07  Michael Matz  <matz@suse.de>
18923
18924         * reload1.c (fixup_abnormal_edges): Don't insert on NULL edge.
18925
18926         2002-05-03  Michael Matz  <matz@suse.de>
18927
18928         * sbitmap.c (sbitmap_difference): Accept sbitmaps of different size.
18929
18930         Sat Feb  2 18:58:07 2002  Denis Chertykov  <denisc@overta.ru>
18931
18932         * regclass.c (regclass): Work with all regs which have sets or
18933         refs.
18934         (reg_scan_mark_refs): Count regs inside (clobber ...).
18935
18936         2002-01-04  Michael Matz  <matzmich@cs.tu-berlin.de>
18937
18938         * df.c (df_ref_record): Correctly calculate SUBREGs of hardregs.
18939         (df_bb_reg_def_chain_create, df_bb_reg_use_chain_create): Only
18940         add new refs.
18941         (df_bb_refs_update): Don't clear insns_modified here, ...
18942         (df_analyse): ... but here.
18943
18944         * sbitmap.c (dump_sbitmap_file): New.
18945         (debug_sbitmap): Use it.
18946
18947         * sbitmap.h (dump_sbitmap_file): Add prototype.
18948
18949         2001-08-07  Daniel Berlin  <dan@cgsoftware.com>
18950
18951         * df.c (df_insn_modify): Grow the UID table if necessary, rather
18952         than assume all emits go through df_insns_modify.
18953
18954         2001-07-26  Daniel Berlin  <dan@cgsoftware.com>
18955
18956         * regclass.c (reg_scan_mark_refs): When we increase REG_N_SETS,
18957         increase REG_N_REFS (like flow does), so that regclass doesn't
18958         think a reg is useless, and thus, not calculate a class, when it
18959         really should have.
18960
18961         2001-01-28  Daniel Berlin  <dberlin@redhat.com>
18962
18963         * sbitmap.h (EXECUTE_IF_SET_IN_SBITMAP_REV): New macro, needed for
18964         dataflow analysis.
18965
18966 2002-07-15  Jakub Jelinek  <jakub@redhat.com>
18967
18968         PR middle-end/7245
18969         * config/i386/i386.c (const_int_1_31_operand): New.
18970         * config/i386/i386.h (PREDICATE_CODES): Add it.
18971         * config/i386/i386.md (ashlsi3_cmp, ashlsi3_cmp_zext, ashlhi3_cmp,
18972         ashlqi3_cmp, ashrsi3_cmp, ashrsi3_cmp_zext, ashrhi3_cmp, ashrqi3_cmp,
18973         lshrsi3_cmp, lshrsi3_cmp_zext, lshrhi3_cmp, lshrqi3_cmp): Use it.
18974
18975 2002-07-14  Alan Modra  <amodra@bigpond.net.au>
18976
18977         PR target/7282
18978         * config/rs6000/rs6000.md (floatsidf2): Enable for POWERPC64.
18979         (floatunssidf2): Likewise.
18980         (floatsidf_ppc64): New insn_and_split.
18981         (floatunssidf_ppc64): Likewise.
18982
18983 2002-07-14  Andreas Jaeger  <aj@suse.de>
18984
18985         * config.gcc (sh64): Remove unused
18986         target_requires_64bit_host_wide_int.
18987
18988 2002-07-12  Roger Sayle  <roger@eyesopen.com>
18989
18990         * expr.c [CLEAR_RATIO]: New macro defining the maximum number
18991         of move instructions to use when clearing memory, c.f. MOVE_RATIO.
18992         [CLEAR_BY_PIECES]: New macro, using CLEAR_RATIO, to determine
18993         whether clear_by_pieces should be used to clear storage.
18994         (clear_storage): Use CLEAR_BY_PIECES instead of MOVE_BY_PIECES.
18995
18996         * doc/tm.texi: Document these two new target macros.
18997
18998 2002-07-12  Stephane Carrez  <stcarrez@nerim.fr>
18999
19000         * config/m68hc11/m68hc11.md ("zero_extendsidi2"): Use D_REG only for
19001         the scratch register.
19002         ("*movhi2_push"): Accept Z_REG because a split pattern can make use
19003         of it, forbid reload to use it.
19004
19005 2002-07-12  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19006
19007         * config/avr/avr.c (test_hard_reg_class): Fix TEST_HARD_REG_BIT
19008         usage on 64-bit hosts, return value was truncated to 32 bits.
19009
19010 Fri Jul 12 00:49:36 2002  J"orn Rennecke <joern.rennecke@superh.com>
19011
19012         * simplify-rtx.c (simplify_subreg): Handle floating point
19013         CONST_DOUBLEs.  When an integer subreg of a smaller mode than
19014         the element mode is requested, compute a subreg with an
19015         integer mode of the same size as the element mode first.
19016
19017 Thu Jul 11 22:02:57 2002  J"orn Rennecke <joern.rennecke@superh.com>
19018
19019         * combine.c (try_combine): When converting a paradoxical subreg
19020         to an extension, take LOAD_EXTEND_OP into account.
19021
19022 2002-07-11  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19023
19024         * config.gcc (mips-sgi-irix6*o32): New configuration.
19025
19026         * configure.in (libgcc_visibility): Disable for mips-sgi-irix6*o32
19027         configurations.
19028         * configure: Regenerate.
19029
19030         * config/mips/iris6-o32-as.h: New file.
19031         * config/mips/iris6-o32.h: New file.
19032
19033         * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Define.
19034         (NM_FLAGS): Define.
19035         (HAVE_AS_SHF_MERGE): Undefine.
19036
19037         * config/mips/t-iris5-as: New file.
19038         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix5*): Use it.
19039
19040         * config/mips/t-iris6 (SHLIB_EXT, SHLIB_SOLINK, SHLIB_SONAME,
19041         SHLIB_NAME, SHLIB_MAP, SHLIB_OBJS, SHLIB_SLIBDIR_QUAL, SHLIB_LINK,
19042         SHLIB_INSTALL, SHLIB_MKMAP, SHLIB_MAPFILES, FPBIT, DPBIT,
19043         dp-bit.c, fp-bit.c): Move ...
19044         * config/mips/t-iris5-6: ... here.
19045         New file, shared by IRIX 5 and IRIX 6.
19046         * config.gcc (mips-sgi-irix6*o32, mips-sgi-irix6*,
19047         mips-sgi-irix5*): Use it.
19048
19049         * config/mips/iris6.h: Remove duplicate comment.
19050
19051         * config/mips/mips.c (TARGET_ASM_UNALIGNED_DI_OP) [TARGET_IRIX5 &&
19052         !TARGET_IRIX6]: Define.
19053         (mips_asm_file_start): Don't emit mdebug.<ABI> sections on IRIX 5/6.
19054
19055         * config/mips/mips.h (ASM_DECLARE_FUNCTION_NAME): Fix comment.
19056
19057 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19058
19059         * pa.md (adddi3): Change predicate of operand 2 to adddi3_operand
19060         and delete code to force constant to register.
19061         * pa-protos.h (adddi3_operand): Add prototype.
19062         * pa.c (adddi3_operand): New function.
19063
19064 2002-07-11  Roger Sayle  <roger@eyesopen.com>
19065
19066         * c-decl.c (duplicate_decls): Preserve the noreturn attribute on
19067         non-ANSI builtin functions.
19068
19069 Thu Jul 11 11:31:12 2002  J"orn Rennecke <joern.rennecke@superh.com>
19070
19071         * rtl.h (gen_rtx_CONST_VECTOR): Declare.
19072         * gengenrtl.c (special_rtx): Check for CONST_VECTOR.
19073         * emit-rtl.c (gen_rtx_CONST_VECTOR): New function.
19074         (gen_const_vector_0): Use it.
19075
19076 2002-07-11  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19077
19078         * pa.md (adddi3): For 32-bit targets, force constants to a register
19079         if they don't fit in an 11-bit immediate.  Change insn predicate to
19080         arith11_operand.  Remove comment.
19081         * pa.c (cint_ok_for_move): Fix comment.
19082         (emit_move_sequence):  Don't directly split DImode constants on 32-bit
19083         targets.
19084
19085 2002-07-11  Tim Josling  <tej@melbpc.org.au>
19086
19087         Remove front end hard coding from gengtype.c.
19088
19089         * Makefile.in
19090         (STAGESTUFF): add gtyp-gen.h
19091         (GTFILES): Remove front end specific files.
19092         (GTFILES_FILES_LANGS): New, from configure..
19093         (GTFILES_FILES_FILES): Likewise.
19094         (GTFILES_LANG_DIR_NAMES): Likewise.
19095         (GTFILES_SRCDIR): Likewise.
19096         (gtyp-gen.h): Build from configure information.
19097         (s-gtype): Remove command line parameters from gengtype.
19098         (gengtype.o): Remove dependency on GTFILES. Depend on gtyp-gen.h.
19099         (mostlyclean): Delete files generated by and for gengtype.
19100
19101         * c-config-lang.in: New file.
19102
19103         * configure.in (all_gtfiles_files_langs): New. Accumulate files
19104         for each language.
19105         (all_gtfiles_files_files): New. Accumulate language for each file
19106         accumulated.
19107         (gtfiles): Pick up value for C.
19108         (srcdir): AC-SUBST this variable.
19109         (all_gtfiles_files_langs): AC-SUBST this variable.
19110         (all_gtfiles_files_files): AC-SUBST this variable.
19111
19112         * configure: Regenerate.
19113
19114         * gengtype-lex.l (parse_file): Make parameter const.
19115
19116         * gengtype.c (toplevel): include gtyp-gen.h.
19117         (BASE_FILE_<language> unnamed enum): Delete.
19118         (lang_names): Delete (replaced by gtyp-gen.h)
19119         (lang_dir_names): From gtyp-gen.h, replaces lang_names; changed
19120         all references.
19121         (NUM_GT_FILES): New.
19122         (NUM_LANG_FILES): New.
19123         (srcdir_len): New.
19124         (NUM_BASE_FILES): Change calculation.
19125         (open_base_files): Change prototype to avoid warning.
19126         (startswith): Delete.
19127         (get_file_basename): Iterate through generated language list not
19128         hard coded list.
19129         (get_base_file_bitmap): Use generated list of files and languages.
19130         (close_output_files): Add prototype to rmove warning.
19131         (main): Iterate through list of generated files from gtyp-gen.h
19132         rather than command line paramaters.  Ignore duplicated file
19133         names.
19134
19135         * gengtype.h (parse_file): Amend prototype for const parameter.
19136
19137         * doc/sourcebuild.texi: Document gtfiles variable.
19138
19139         * doc/gty.texi: Document changes to gtfiles variable for front
19140         ends.
19141
19142         * objc/config-lang.in (gtfiles): Add files needed for objc front
19143         end.
19144
19145 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19146
19147         PR c/2454
19148         * combine.c (nonzero_bits): LOAD_EXTEND_OP should only apply
19149         to SUBREGs of MEMs.  (num_sign_bit_copies): Likewise.
19150
19151 2002-07-10  Roger Sayle  <roger@eyesopen.com>
19152             Zack Weinberg <zack@codesourcery.com>
19153
19154         * builtins.def: Make the argument types of abort and exit
19155         independent of the front-end.
19156
19157 2002-07-11  Alan Modra  <amodra@bigpond.net.au>
19158
19159         * config/rs6000/linux64.h (ASM_SPEC): Define.
19160
19161 2002-07-10  Aldy Hernandez  <aldyh@redhat.com>
19162
19163         * config/rs6000/rs6000.c (emit_frame_save): New.
19164         (rs6000_frame_related): Replace reg2 before reg.
19165         (rs6000_emit_prologue): Use emit_frame_save for saving gprs, fprs,
19166         and eh_return registers.
19167
19168 2002-07-10  Toon Moene  <toon@moene.indiv.nluug.nl>
19169
19170         Revert all patches for optimization of Complex .op. Real.
19171         * complex_part_zero_p: Remove
19172         * expand_cmplxdiv_straight: Replace complex_part_zero_p(x)
19173         with x.
19174         * expand_cmplxdiv_wide: Ditto.
19175         * expand_binop: Ditto.
19176
19177 2002-07-10  Marek Michalkiewicz  <marekm@amelek.gda.pl>
19178
19179         * config/avr/avr.md: Fix two 0x80000000 constants to make them
19180         negative also on 64-bit hosts.
19181
19182         Default to -fno-reorder-blocks when optimizing for size.
19183         * config/avr/avr-protos.h (avr_optimization_options): Declare.
19184         * config/avr/avr.c (avr_optimization_options): New function.
19185         * config/avr/avr.h (OPTIMIZATION_OPTIONS): New.
19186
19187         Optimize returning from simple functions.
19188         * config/avr/avr-protos.h (avr_simple_epilogue): Declare.
19189         * config/avr/avr.c (avr_simple_epilogue): New function.
19190         * config/avr/avr.md (return): New insn.
19191
19192 2002-07-10  Douglas B Rupp  <rupp@gnat.com>
19193
19194         * config/i386/i386.c  (ix86_svr3_asm_out_constructor): Add
19195         HAS_INIT_SECTION to protection.
19196
19197 2002-07-10  Mark Mitchell  <mark@codesourcery.com>
19198
19199         * doc/invoke.texi (Debugging Options): Mention that -gdwarf is
19200         deprecated.
19201
19202 Wed Jul 10 19:50:03 2002  J"orn Rennecke <joern.rennecke@superh.com>
19203
19204         * combine.c (gen_lowpart_for_combine): Handle vector modes.
19205         Supply non-VOID mode to simplify_gen_subreg.
19206
19207 Wed Jul 10 18:48:55 CEST 2002  Jan Hubicka  <jh@suse.cz>
19208
19209         * i386.c (ix86_init_mmx_sse_builtins): Fix thinko.
19210
19211 2002-07-10  Jeffrey A Law  <law@redhat.com>
19212
19213         * mn10200.c (expand_prologue): Create REG_MAYBE_DEAD notes
19214         as appropriate.
19215
19216         * mn10200.c (expand_epilogue): Fix test to determine which scratch
19217         register to use.
19218
19219 Wed Jul 10 16:06:00 2002  J"orn Rennecke <joern.rennecke@superh.com>
19220
19221         * cse.c (cse_insn): Supply proper SUBREG_BYTE to simplify_gen_subreg.
19222         Get mode from dest.
19223         If simplify_gen_subreg fails, try next equivalent.
19224
19225 2002-07-09  Gabriel Dos Reis  <gdr@codesourcery.com>
19226
19227         * diagnostic.h: #include location.h
19228         (location_t): Move definition to..
19229         * location.h: ... here.  New file.
19230         * tree.h: #include location.h
19231         (DECL_SOURCE_LOCATION): New macro.
19232         (DECL_SOURCE_FILE): Use.
19233         (DECL_SOURCE_LINE): Likewise.
19234         (struct tree_decl): REplace filename and linenum with locus.
19235         * Makefile.in (TREE_H): add location.h
19236         (diagnostic.o): Depends on gt-location.h
19237         (gt-location.h): Depends on s-gtype
19238
19239 2002-07-09  Matt Kraai  <kraai@alumni.cmu.edu>
19240
19241         * config/rs6000/aix.h: Convert CPP_PREDEFINES to
19242         TARGET_OS_CPP_BUILTINS.
19243         * config/rs6000/aix31.h: Likewise.
19244         * config/rs6000/aix41.h: Likewise.
19245         * config/rs6000/aix43.h: Likewise.
19246         * config/rs6000/aix51.h: Likewise.
19247         * config/rs6000/beos.h: Likewise.
19248         * config/rs6000/darwin.h: Likewise.
19249         * config/rs6000/eabi.h: Likewise.
19250         * config/rs6000/eabisim.h: Likewise.
19251         * config/rs6000/linux.h: Likewise.
19252         * config/rs6000/linux64.h: Likewise.
19253         * config/rs6000/lynx.h: Likewise.
19254         * config/rs6000/mach.h: Likewise.
19255         * config/rs6000/rtems.h: Likewise.
19256         * config/rs6000/sysv4.h: Likewise.
19257         * config/rs6000/vxppc.h: Likewise.
19258
19259 2002-07-09 Devang Patel <dpatel@apple.com>
19260         * objc/objc-act.c (adjust_type_for_id_default): Fix my previous patch.
19261         Do not allow ObjC objects as a parameter type for Objective-C methods.
19262         My previous patch restricted  'struct' also.
19263
19264 2002-07-09  Neil Booth  <neil@daikokuya.co.uk>
19265
19266         * cpperror.c (cpp_error): Default to directive_line within
19267         directives here.
19268         * cppexp.c (cpp_interpret_integer): Only use traditional
19269         number semantics in directives.
19270         * cpplib.c (prepare_directive_trad): Don't reset pfile->line.
19271         (do_include_common): Similarly.
19272         * cpptrad.c (scan_out_logical_line): Implement accurate
19273         quoting of <> in #include.
19274         * doc/cpp.texi: Update.
19275
19276 Tue Jul  9 22:37:44 2002  Stephen Clarke <stephen.clarke@superh.com>
19277                           J"orn Rennecke <joern.rennecke@superh.com>
19278
19279         * sh.c (sh_adjust_cost): Special handling of SHMEDIA code.
19280         * sh.md (attribute issues): Replace with:
19281         (attribute pipe_model).  All users changed.
19282         (attribute type): Change pt / ptabs to pt_media / ptabs_media.
19283         All users changed.
19284         (function units sh5issue, sh5fds): New.
19285         (attribute is_mac_media): New.
19286         (adddi3_media, subdi3_media, divsi3_i1_media, anddi3): Add type.
19287         (andcdi3, iordi3, xordi3, ashldi3_media, lshrdi3_media): Likewise.
19288         (ashrdi3_media, negdi_media, extendsidi2, movqi_media): Likewise.
19289         (movhi_media, shori_media, movv2sf_i, jump_media): Likewise.
19290         (call_media, call_value_media, sibcall_media): Likewise.
19291         (casesi_jump_media, casesi_shift_media, casesi_load_media): Likewise.
19292         (return_media_i, addsf3_media, subsf3_media, mulsf3_media): Likewise.
19293         (mac_media, divsf3_media, floatdisf2, floatsisf2_media): Likewise.
19294         (fix_truncsfdi2, fix_truncsfsi2_media, cmpeqsf_media): Likewise.
19295         (cmpgtsf_media, cmpgesf_media, cmpunsf_media, negsf2_media): Likewise.
19296         (sqrtsf2_media, abssf2_media, adddf3_media, subdf3_media): Likewise.
19297         (muldf3_media, divdf3_media, floatdidf2, floatsidf2_media): Likewise.
19298         (fix_truncdfdi2, fix_truncdfsi2_media, cmpeqdf_media): Likewise.
19299         (cmpgtdf_media, cmpgedf_media,cmpundf_media, negdf2_media): Likewise.
19300         (sqrtdf2_media, absdf2_media, extendsfdf2_media): Likewise.
19301         (truncdfsf2_media): Likewise.
19302         (movsi_media, movsi_media_nofpu, movdi_media): Use new types.
19303         (movdi_media_nofpui, movdf_media, movdf_media_nofpu): Likewise.
19304
19305 Tue Jul  9 21:39:50 2002  J"orn Rennecke <joern.rennecke@superh.com>
19306
19307         * sh.h (PREDICATE_CODES): Add general_extend_operand and inqhi_operand.
19308         * sh.c (general_extend_operand, inqhi_operand): New functions.
19309         * sh.md (cmpeqdi_media, cmpgtdi_media, cmpgtudi_media): Collapse
19310         alternatives using 'N' modifier.  Add type.
19311         (adddi3z_media): Likewise.  Enable generator function generation.
19312         (movdicc_false, movdicc_true, addsi3_media, subsi3_media): Use more
19313         exact predicates / constraints.  Add type.
19314         (subsi3): Allow 0 for SHMEDIA.
19315         (udivsi3_i4_media): Use match_operand for input values
19316         rather than hard registers.
19317         (udivsi3 - TARGET_SHMEDIA_FPU case): Don't ferry values
19318         unnecessarily through hard registers.  Keep copies of pseudo
19319         registers outside of the libcall sequence.
19320         (mulsidi3_media, umulsidi3_media): Use more exact predicates.  Add type.
19321         (ashlsi3_media, ashrsi3_media, lshrsi3_media): Likewise.
19322         (zero_extendsidi2, zero_extendhidi2, zero_extendqidi2): Likewise.
19323         (extendhidi2, extendqidi2): Likewise.
19324         (andsi3_compact): Name.
19325         (andcdi3): Enable generator function generation.
19326         (zero_extendhisi2, zero_extendqisi2): Rename to
19327         (zero_extendhisi2_compact, zero_extendqisi2_compact).
19328         (extendhisi2, extendqisi2): Rename to
19329         (extendhisi2_compact, extendqisi2_compact).
19330         (rotldi3, rotldi3_mextr, rotrdi3, rotrdi3_mextr): New patterns.
19331         (loaddi_trunc, zero_extendhisi2, zero_extendhisi2_media): Likewise.
19332         (zero_extendhisi2_media+1, zero_extendqisi2): Likewise.
19333         (zero_extendqisi2_media, extendhisi2, extendhisi2_media): Likewise.
19334         (extendhisi2_media, extendhisi2_media+1, extendqisi2): Likewise.
19335         (extendqisi2_media, extendqisi2_media+1, truncdisi2): Likewise.
19336         (truncdihi2, truncdiqi2, reload_inqi, reload_inhi): Likewise.
19337         (shmedia32_initialize_trampoline_big): Likewise.
19338         (shmedia32_initialize_trampoline_little): Likewise.
19339         (nsb, nsbsi, nsbdi, ffsdi2, ffssi2, byterev): Likewise.
19340         (negdi2): Remove spurious T clobber.
19341         (zero_extendhidi2+1, extendhidi2+1, extendqidi2+1): Handle TRUNCATE.
19342         (movsi_media, movsi_media_nofpu): Remove spurious *k after b.
19343         (movdi_media, movdi_media_nofpu, pt, ptb): Likewise.
19344         (movsi_media_nofpu+2, movhi_media+1): Only do split after reload.
19345         (ic_invalidate_line_media): Write back data cache before invalidating
19346         instruction cache.  Add type.
19347         (movsf_media): Sign-extend when the destination is a general
19348         purpose register.  Add type.
19349         (bgt_media, bge_media, bgtu_media, bgeu_media, blt_media_i): Allow 0.
19350         (casesi_worker_0+1): Only increment ref count for proper label.
19351         (casesi_worker_0+2): Likewise.
19352
19353 2002-07-09  Mark Mitchell  <mark@codesourcery.com>
19354
19355         * dwarfout.c (dwarfout_init): Warn that DWARF1 is deprecated.
19356
19357 2002-07-09  Steve Ellcey  <sje@cup.hp.com>
19358
19359         * gcc/except.c (expand_eh_region_end_cleanup): Change exception pointer
19360         from Pmode to ptr_mode.
19361         (get_exception_pointer): Ditto.
19362         (connect_post_landing_pads): Ditto.
19363         (dw2_build_landing_pads): Ditto.
19364
19365 2002-07-08  Steve Ellcey  <sje@cup.hp.com>
19366         * gcc/c-pragma.h (add_to_renaming_pragma_list): New function.
19367         * gcc/c-pragma.c (add_to_renaming_pragma_list): New function.
19368         (handle_pragma_redefine_extname): Change to use new function.
19369
19370 2002-07-08  Roger Sayle  <roger@eyesopen.com>
19371
19372         * combine.c (combine_simplify_rtx): Add an explicit cast
19373         to avoid signed/unsigned comparison warning.
19374         (simplify_if_then_else): Likewise.
19375         (extended_count): Likewise.
19376         (simplify_shift_const): Likewise.
19377         (simplify_comparison): Likewise.
19378
19379 2002-07-08  Richard Sandiford  <rsandifo@redhat.com>
19380
19381         * config/mips/mips.md: Add imadd type.  Update scheduler description
19382         to use imadd as well as imul.
19383         (*mul_acc_si, *madsi): Change imul alternatives to imadd.
19384         (*mul_acc_di, *mul_acc_64bit_di): Likewise.
19385         (*mul_sub_si): Likewise for first alternative.  Change second
19386         alternative from imul to multi.
19387
19388 2002-07-07  Neil Booth  <neil@daikokuya.co.uk>
19389
19390         * c-common.c (c_common_post_options): Update prototype;
19391         don't init backends if preprocessing only.
19392         * langhooks-def.h (LANG_HOOKS_POST_OPTIONS): Update.
19393         * langhooks.h (struct lang_hooks): Update post_options to
19394         return a boolean.
19395         * toplev.c (parse_options_and_default_flags, do_compile,
19396         lang_independent_init): Update prototypes.  Allow the
19397         front end to specify that there is no need to initialize
19398         the back end.
19399         (general_init): Move call to hex_init here...
19400         (toplev_main): ...from here.  Pass flag for back end init
19401         suppression.
19402
19403 Sun Jul  7 20:38:38 2002  J"orn Rennecke <joern.rennecke@superh.com>
19404
19405         * sh.h (PRINT_OPERAND_PUNCT_VALID_P): Allow '\''.
19406         (PREDICATE_CODES): Add entries for equality_comparison_operator,
19407         greater_comparison_operator and less_comparison_operator.
19408         * sh.c (print_operand): Add '\'' code.  Make 'o' handle
19409         more operators.
19410         (equality_comparison_operator): New function.
19411         (greater_comparison_operator, less_comparison_operator): Likewise.
19412         * sh.md (beq_media_i): Disable generator function generation.
19413         Use match_operator to handle a whole class of comparisons.  Add
19414         modifier in output template to provide branch prediction.  Add type.
19415         (bgt_media_i, ble_media_i): Likewise.  Allow zero operands.
19416         (bne_media_i, bge_media_i, bgtu_media_i, bgeu_media_i): Delete.
19417         (blt_media_i, bleu_media_i, bltu_media_i): Likewise.
19418         (bgt, blt, ble, bge, bgtu, bltu, bgeu, bleu): Allow zero operands.
19419
19420 2002-07-07  Hans-Peter Nilsson  <hp@bitrange.com>
19421
19422         Emit MMIX function prologue and epilogue as rtl.
19423         * config/mmix/mmix.md ("call"): Use mmix_get_hard_reg_initial_val,
19424         not unprototyped get_hard_reg_initial_val.
19425         ("call_value", "nonlocal_goto_receiver"): Ditto.
19426         ("return"): Make define_expand.  Move real insn to...
19427         ("*expanded_return"): New pattern.
19428         ("prologue", "epilogue"): New define_expands.
19429         * config/mmix/mmix.h (MMIX_rO_REGNUM): New macro.
19430         (struct machine_function): New member in_prologue.
19431         (FIRST_PSEUDO_REGISTER): Adjust for including rO as register.
19432         (FIXED_REGISTERS, CALL_USED_REGISTERS): Ditto.
19433         (MMIX_MMIXWARE_ABI_REG_ALLOC_ORDER): Ditto.
19434         (MMIX_GNU_ABI_REG_ALLOC_ORDER, REG_CLASS_CONTENTS): Ditto.
19435         (REGISTER_NAMES, ADDITIONAL_REGISTER_NAMES): Ditto.
19436         (LOCAL_REGNO): Define.  Adjust comment.
19437         * config/mmix/mmix.c (MMIX_CFUN_NEEDS_SAVED_EH_RETURN_ADDRESS):
19438         Consider regs_ever_live[MMIX_rJ_REGNUM], not just
19439         leaf_function_p.
19440         (MMIX_OUTPUT_REGNO): Don't translate registers while outputting
19441         the prologue.
19442         (mmix_target_asm_function_prologue): Make static.  Just mark that
19443         the prologue is being emitted.  Move guts to...
19444         (mmix_expand_prologue): New function.  Adjust for emitting
19445         prologue as rtl.  For sizes, use HOST_WIDE_INT only.
19446         (mmix_target_asm_function_epilogue): Make static.  Simply emit a
19447         \n.  Move guts to...
19448         (mmix_expand_epilogue): New function.  Adjust for emitting
19449         epilogue as rtl.  For sizes, use HOST_WIDE_INT only.
19450         (mmix_target_asm_function_end_prologue): Mark that the prologue
19451         has ended.
19452         (TARGET_ASM_FUNCTION_END_PROLOGUE): Define.
19453         (mmix_conditional_register_usage): Improve comments.
19454         (mmix_local_regno): New function.
19455         (mmix_emit_sp_add, mmix_get_hard_reg_initial_val): Ditto.
19456         * config/mmix/mmix-protos.h (mmix_local_regno): Prototype.
19457         (mmix_expand_prologue, mmix_expand_epilogue): Ditto.
19458         (mmix_get_hard_reg_initial_val): Ditto.
19459
19460 2002-07-06  Andreas Jaeger  <aj@suse.de>
19461
19462         * toplev.c (set_fast_math_flags): Don't use ISO C style function
19463         definitions.
19464         * gengtype.c (open_base_files): Likewise.
19465         (close_output_files): Likewise.
19466         * tracer.c (find_best_predecessor): Likewise.
19467         (find_best_successor): Likewise.
19468         (ignore_bb_p): Likewise.
19469
19470 2002-07-05  Roger Sayle  <roger@eyesopen.com>
19471
19472         PR c++/7099
19473         * builtin-attrs.def: Define new attribute lists for use in
19474         builtins.def.
19475         * builtins.def [DEF_BUILTIN]: Modify to take an additional
19476         ATTRS argument, an enumerated value defined in builtin-attrs.def
19477         that represents the attribute list for the builtins.  Modify
19478         all builtin functions to pass an appropriate attribute list.
19479         Specify "abort", "exit", "_exit" and "_Exit" builtins here with
19480         their required noreturn attributes.
19481         * tree.h (enum_builtin_function): Ignore the additional parameter
19482         to DEF_BUILTIN.
19483         * builtins.c (built_in_names): Likewise.
19484         * c-common.c: (builtin_function_2): Replace the "int noreturn_p"
19485         argument with a tree representing the functions attribute list.
19486         Pass this "attrs" argument to builtin_function.  No longer handle
19487         the noreturn_p processing manually.
19488         (built_in_attributes): Move the definitions from builtin-attrs.def
19489         before c_common_nodes_and_builtins.
19490         (c_common_nodes_and_builtins): Handle the new ATTRS parameter in
19491         DEF_BUILTIN, passing it to both builtin_function and the changed
19492         builtin_function_2.
19493
19494         * doc/extend.texi: Document __builtin_abort, __builtin_exit,
19495         __builtin__exit and __builtin__Exit.
19496
19497 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19498
19499         * config/m68hc11/m68hc11.md ("*movqi_68hc12"): Avoid allocating
19500         QI mode registers in soft registers.
19501         ("zero_extendqihi2"): Do not take into account soft registers
19502         for register allocation (use '*' constraint).
19503
19504 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19505
19506         * config/m68hc11/m68hc11.md ("*ashlsi3"): Avoid saving y if we know
19507         it is dead.
19508         ("*ashrsi3"): Likewise.
19509         ("*lshrsi3"): Likewise.
19510
19511 2002-07-05  Vladimir Makarov  <vmakarov@redhat.com>
19512
19513         * genautomata.c (output_max_insn_queue_index_def): Take latencies
19514         into account.
19515
19516 2002-07-05  Stephane Carrez  <stcarrez@nerim.fr>
19517
19518         * config/m68hc11/m68hc11.md (peephole2): New peephole2 to optimize
19519         address computation and memory moves.
19520
19521 2002-07-03  Mark Mitchell  <mark@codesourcery.com>
19522
19523         PR c++/6706
19524         * dwarfout.c (output_reg_number): Fix warning message.
19525         (output_bound_representation): Check SAVE_EXPR_RTL is not NULL
19526         before using it.
19527
19528 2002-07-05  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
19529
19530         * gcc/gcc.c (asm_debug): Move initialization ...
19531         (init_spec): ... here.
19532
19533 2002-07-05  Nathan Sidwell  <nathan@codesourcery.com>
19534
19535         * c-parse.in (extdef): Append ';'.
19536         (old_style_parm_decls): Append ';'.
19537
19538 2002-07-04  Daniel Jacobowitz  <drow@mvista.com>
19539
19540         * configure.in: Correct typos: gcc_cv_as_gdwarf2_debug_flag to
19541         gcc_cv_as_gdwarf2_flag and gcc_cv_as_gstabs_debug_flag
19542         to gcc_cv_as_gstabs_flag.
19543         * configure: Rebuilt.
19544
19545 2002-07-04  Geoffrey Keating  <geoffk@redhat.com>
19546
19547         * ggc.h (ggc_add_root): Document as obsolete.
19548
19549 Thu Jul  4 07:58:01 2002  J"orn Rennecke <joern.rennecke@superh.com>
19550
19551         * sh.md (mshfhi_b, mshflo_b, mshfhi_l, mshflo_l, mshfhi_w): Add DONE.
19552         (mshflo_w): Likewise.
19553
19554 Thu Jul  4 07:36:29 2002  J"orn Rennecke <joern.rennecke@superh.com>
19555
19556         * simplify-rtx.c (simplify_subreg): Reduce problem of finding
19557         vector mode subregs of constants to finding integer mode
19558         subregs of constants.
19559         * cse.c (cse_insn): Use simplify_gen_subreg.
19560         * convert.c (convert_to_integer): Don't strip a NOP_EXPR
19561         From a vector mode expression of different size than the
19562         target mode.
19563
19564 2002-07-03  Eric Christopher  <echristo@redhat.com>
19565
19566         * config/mips/linux.h: Add #undef for SUBTARGET_CPP_SPEC.
19567         * config/mips/mips.h: Remove deprecated -m<processor> options
19568         and cc1_cpu_spec associated.
19569         (CONSTANT_ADDRESS_P): Fix last patch.
19570         (ASM_DECLARE_FUNCTION_NAME): Declare. Fix comment.
19571         * config/mips/mips.md (bungt, bunge, sungt_df, sungt_sf, sunge_df,
19572         sunge_sf): Remove.
19573
19574 2002-07-03  Stan Shebs  <shebs@apple.com>
19575
19576         * config/darwin.h (APPLE_CC): Remove, not meaningful in FSF GCC.
19577         (STRINGIFY_THIS, REALLY_STRINGIFY): Remove.
19578         (CPP_SPEC): Remove insertion of APPLE_CC definition.
19579
19580 2002-07-03  Roger Sayle  <roger@eyesopen.com>
19581
19582         * combine.c (struct_undo): Change types of recorded substitutions
19583         to be either "int" or "rtx", instead of "unsigned int" and "rtx".
19584         (do_SUBST_INT): Change types of the substitution from unsigned int
19585         to int, to avoid compilation warning from SUBST_INT's only caller.
19586
19587         (make_extraction): Add cast to avoid compilation warning.
19588         (force_to_mode): Remove cast to avoid compilation warning.
19589
19590 2002-07-03  Eric Botcazou  <ebotcazou@multimania.com>
19591             Jeff Law  <law@redhat.com>
19592
19593         * i386.md (length_immediate attribute): Fix typo.
19594         (length_address attribute): Likewise.
19595         (modrm attribute): Set it to 0 for immediate call instructions.
19596         (jcc_1 pattern): Set modrm attribute to 0.
19597         (jcc_2 pattern ): Likewise.
19598         (jump pattern): Likewise.
19599         (doloop_end_internal pattern): Explicitly set length.
19600         (leave pattern): Fix typo.
19601         (leave_rex64 pattern): Likewise.
19602
19603 2002-07-03  David Edelsohn  <edelsohn@gnu.org>
19604
19605         * config/rs6000/rs6000.md (fix_truncdfsi2_internal): Ignore DImode
19606         in FPR as preference.
19607         (fctiwz): Same.
19608         (floatdidf2, fix_truncdfdi2): Same.
19609         (floatdisf2, floatditf2, fix_trunctfdi2): Same.
19610         (floatditf2): Same.
19611         (floatsitf2, fix_trunctfsi2): SImode in GPR.
19612         (ctrdi): Remove FPR alternative and splitter.
19613
19614 2002-07-03  Will Cohen  <wcohen@redhat.com>
19615
19616         * config/i386/i386.c (x86_integer_DFmode_moves): Disable for PPro.
19617
19618 Wed Jul  3 10:24:16 2002  J"orn Rennecke <joern.rennecke@superh.com>
19619
19620         * optabs.c (expand_vector_binop): Don't store using a SUBREG smaller
19621         than UNITS_PER_WORD, unless this is little endian and the first unit
19622         in this word.  Let extract_bit_field decide how to load an element.
19623         Force arguments to matching mode.
19624         (expand_vector_unop): Likewise.
19625
19626         * simplify-rtx.c (simplify_subreg): Don't assume that all vectors
19627         consist of word_mode elements.
19628         * c-typeck.c (build_binary_op): Allow vector types for BIT_AND_EXPR,
19629         BIT_ANDTC_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR.
19630         (build_unary_op): Allow vector types for BIT_NOT_EPR.
19631         * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for
19632         CONST_VECTOR.
19633         * optabs.c (expand_vector_binop): Try to perform operation in
19634         smaller vector modes with same inner size.  Add handling of AND, IOR
19635         and XOR.  Reject expansion to inner-mode sized scalars when using
19636         OPTAB_DIRECT.  Use simplify_gen_subreg on constants.
19637         (expand_vector_unop): Try to perform operation in smaller vector
19638         modes with same inner size.  Add handling of one's complement.
19639         When there is no vector negate operation, try a vector subtract
19640         operation.  Use simplify_gen_subreg on constants.
19641         * simplify-rtx.c (simplify_subreg): Add capability to convert vector
19642         constants into smaller vectors with same inner mode, and to
19643         integer CONST_DOUBLEs.
19644
19645 2002-07-02  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19646
19647         * c-parse.in (parsing_iso_function_signature): New variable.
19648         (extdef_1): New, copied from...
19649         (extdef): ... here.  Reset parsing_iso_function_signature.
19650         (old_style_parm_decls):  Reset parsing_iso_function_signature.
19651         (old_style_parm_decls_1): New, copied from old_style_parm_decls.
19652         Warn about ISO C style function definitions.
19653         (nested_function, notype_nested_function): Reset
19654         parsing_iso_function_signature.
19655         (parmlist_2): Set parsing_iso_function_signature.
19656
19657         * doc/invoke.texi (-Wtraditional): Document new behavior.
19658
19659 2002-07-02  Chris Demetriou  <cgd@broadcom.com>
19660
19661         * config.gcc (mips*el-*-*): Use tm_defines to set
19662         TARGET_ENDIAN_DEFAULT, rather than including mips/little.h.
19663         * config/mips/little.h: Remove.
19664
19665 2002-07-02 Devang Patel <dpatel@apple.com>
19666
19667         * objc/objc-act.c (adjust_type_for_id_default): Do not allow an
19668         object as parameter. Prevent something like 'NSObject' to be
19669         used as the type for a method argument.
19670
19671 2002-07-03  Neil Booth  <neil@daikokuya.co.uk>
19672
19673         * cpptrad.c: Update comment.
19674
19675 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
19676
19677         * doc/cpp.texi: Update for traditional preprocessing changes.
19678         * goc/cppopts.texi: Similarly.
19679
19680 2002-07-02  Ziemowit Laski  <zlaski@apple.com>
19681
19682         * c-parse.in (designator): Enable designated initializers if ObjC.
19683         (objcmessageexpr): Remove references to objc_receiver_context.
19684         * objc/objc-act.h (objc_receiver_context): Remove decl.
19685         * objc/objc-act.c (objc_receiver_context): Remove.
19686         (lookup_objc_ivar): Test objc_method_context instead of
19687         objc_receiver_context.
19688
19689 Tue Jul  2 18:45:45 2002  J"orn Rennecke <joern.rennecke@superh.com>
19690
19691         * sh.c (print_operand, case 'N'): Allow zero vector.
19692         (arith_reg_or_0_operand): Likewise.
19693         (zero_vec_operand): Check for CONST_VECTOR, not PARALLEL.
19694         * sh.h (CONST_COSTS): 0 has 0 cost.  Check OUTER_CODE for
19695         IOR, XOR, PLUS and SET and take their respective constant
19696         ranges into account.
19697         (PREDICATE_CODES, arith_reg_or_0_operand): Can be CONST_VECTOR.
19698         * sh.md (subdi3, subdi3_media): Allow zero operand.
19699         (movv8qi_i+3): Only vector that is not split is the zero vector.
19700         Fix operand 3 to simplify_subreg.
19701         (movv2si_i): Split alternative 1.
19702         (mshfhi_l_di_rev+1): New splitter.
19703
19704 2002-07-02  Neil Booth  <neil@daikokuya.co.uk>
19705
19706         PR preprocessor/7029
19707         * cppinit.c (cpp_handle_option):  Suppress warnings with an
19708         implicit "-w" for "-M" and "-MM".
19709         * doc/cppopts.texi: Update.
19710
19711 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19712
19713         * config/sh/sh.c (sh_media_init_builtins): Change use of poisoned
19714         identifier "bzero" to "memset".  Pass extra NULL_TREE argument to
19715         builtin_function.
19716
19717 2002-07-02  Alan Modra  <amodra@bigpond.net.au>
19718
19719         * README.Portability: Fix typos.
19720
19721 2002-07-01  Hans-Peter Nilsson  <hp@axis.com>
19722
19723         PR target/7177
19724         * config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Correct number
19725         of indirections for register inside sign-extended mem part.
19726
19727 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19728
19729         * tree.h:  Modify builtin_function interface to take an extra
19730         argument ATTRS, which is a tree representing an attribute list.
19731
19732         * c-decl.c (builtin_function): Accept additional parameter.
19733         * objc/objc-act.c (builtin_function): Likewise.
19734         * f/com.c (builtin_function): Likewise.
19735         * java/decl.c (builtin_function): Likewise.
19736         * ada/utils.c (builtin_function): Likewise.
19737         * cp/decl.c (builtin_function): Likewise.
19738         (builtin_function_1): Likewise.
19739
19740         * c-common.c (c_common_nodes_and_builtins): Pass an additional
19741         NULL_TREE argument to builtin_function.  (builtin_function_2):
19742         Likewise.
19743         * cp/call.c (build_java_interface_fn_ref): Likewise.
19744         * objc/objc-act.c (synth_module_prologue): Likewise.
19745         * java/decl.c (java_init_decl_processing): Likewise.
19746         * f/com.c (ffe_com_init_0): Likewise.
19747
19748         * config/alpha/alpha.c (alpha_init_builtins): Pass an additional
19749         NULL_TREE argument to builtin_function.
19750         * config/arm/arm.c (def_builtin): Likewise.
19751         * config/c4x/c4x.c (c4x_init_builtins): Likewise.
19752         * config/i386/i386.c (def_builtin): Likewise.
19753         * config/ia64/ia64.c (def_builtin): Likewise.
19754         * config/rs6000/rs6000.c (def_builtin): Likewise.
19755
19756 2002-07-01  Zack Weinberg  <zack@codesourcery.com>
19757
19758         * config/ip2k/t-ip2k: Remove LIBGCC1, CROSS_LIBGCC1, and LIBGCC1_TEST.
19759         * config/mips/t-isa3264: Likewise.
19760         * config/mmix/t-mmix: Likewise.
19761
19762 2002-07-01  John David Anglin  <dave@hiauly1.hia.nrc.ca>
19763
19764         * emit-rtl.c (init_emit_once): Add missing cast to HOST_WIDE_INT.
19765
19766 2002-07-01  Roger Sayle  <roger@eyesopen.com>
19767
19768         PR opt/4046
19769         * fold-const.c (fold) [COND_EXPR]: Simplify A ? 0 : 1 to !A,
19770         A ? B : 0 to A && B and A ? B : 1 into !A || B if both A and
19771         B are truth values.
19772
19773 2002-07-01  Nathanael Nerode  <neroden@gcc.gnu.org>
19774
19775         * config/mmix/t-mmix: Eliminate last reference to LIBGCC1_TEST.
19776
19777 2002-07-01  Matt Kraai  <kraai@alumni.cmu.edu>
19778
19779         * README.Portability (Function prototypes): Give an example of
19780         declaring and defining a function with no arguments.
19781
19782         * README.Portability (Function prototypes): Document new
19783         variable-argument function macros.
19784
19785 Mon Jul  1 19:55:17 2002  J"orn Rennecke <joern.rennecke@superh.com>
19786
19787         * sh.c (langhooks.h): Include.
19788         (sh_init_builtins, sh_media_init_builtins): New functions.
19789         (sh_expand_builtin, arith_reg_dest,and_operand): Likewise.
19790         (mextr_bit_offset, extend_reg_operand, zero_vec_operand): Likewise.
19791         (sh_rep_vec, sh_1el_vec, sh_const_vec): Likewise.
19792         (builtin_description): New struct tag.
19793         (signature_args, bdesc): New arrays.
19794         (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Undef / define.
19795         (print_operand): Add 'N' modifier.
19796         * sh.h (VECTOR_MODE_SUPPORTED_P): Add SHmedia vector modes.
19797         (EXTRA_CONSTRAINT_U, EXTRA_CONSTRAINT_W): New macros.
19798         (EXTRA_CONSTRAINT): Add 'U' and 'W' cases.
19799         (CONST_COSTS): Add special case for SHmedia AND.
19800         (PREDICATE_CODES): Add and_operand, arith_reg_dest,
19801         extend_reg_operand, extend_reg_or_0_operand, mextr_bit_offset,
19802         sh_const_vec, sh_1el_vec, sh_rep_vec, zero_vec_operand.
19803         target_operand can also be const or unspec.
19804         * sh.md (UNSPEC_INIT_TRAMP, UNSPEC_FCOSA UNSPEC_FSRRA): New constants.
19805         (UNSPEC_FSINA, UNSPEC_NSB, UNSPEC_ALLOCO): Likewise.
19806         (attribute type): Add new types.
19807         (anddi3): Add splitter.
19808         (movdi_const_16bit+1): Add code to handle vector constants and
19809         bitmasks efficiently.
19810         (shori_media): Have generator function made.
19811         (movv8qi, movv8qi_i, movv8qi_i+1, movv8qi_i+2): New patterns.
19812         (movv8qi_i+3, movv2hi, movv2hi_i, movv4hi, movv4hi_i): Likewise.
19813         (movv2si, movv2si_i, absv2si2, absv4hi2, addv2si3, addv4hi3): Likewise.
19814         (ssaddv2si3, usaddv8qi3, ssaddv4hi3, negcmpeqv8qi): Likewise.
19815         (negcmpeqv2si, negcmpeqv4hi, negcmpgtuv8qi, negcmpgtv2si): Likewise.
19816         (negcmpgtv4hi, mcmv, mcnvs_lw, mcnvs_wb, mcnvs_wub): Likewise.
19817         (mextr_rl, mextr_lr, mextr1, mextr2, mextr3, mextr4, mextr5): Likewise.
19818         (mextr6, mextr7, mmacfx_wl, mmacfx_wl_i, mmacnfx_wl): Likewise.
19819         (mmacnfx_wl_i, mulv2si3, mulv4hi3, mmulfx_l, mmulfx_w): Likewise.
19820         (mmulfxrp_w, mmulhi_wl, mmullo_wl, mmul23_wl, mmul01_wl): Likewise.
19821         (mmulsum_wq, mmulsum_wq_i, mperm_w, mperm_w_little): LIkewise.
19822         (mperm_w_big, mperm_w0, msad_ubq, msad_ubq_i, mshalds_l): Likewise.
19823         (mshalds_w, ashrv2si3, ashrv4hi3, mshards_q, mshfhi_b): Likewise.
19824         (mshflo_b,  mshf4_b, mshf0_b, mshfhi_l, mshflo_l, mshf4_l): Likewsie.
19825         (mshf0_l, mshfhi_w, mshflo_w, mshf4_w, mshf0_w, mshfhi_l_di): Likewise.
19826         (mshfhi_l_di_rev, mshflo_l_di, mshflo_l_di_rev): Likewise.
19827         (mshflo_l_di_x, mshflo_l_di_x_rev, ashlv2si3, ashlv4hi3): Likewise.
19828         (lshrv2si3, lshrv4hi3, subv2si3, subv4hi3, sssubv2si3): Likewise.
19829         (ussubv8qi3, sssubv4hi3, fcosa_s, fsina_s, fipr, fsrra_s): Likewise.
19830         (ftrv): Likewise.
19831
19832         (fpu_switch+1, fpu_switch+2): Remove constraint.
19833
19834 2002-07-01  Aldy Hernandez  <aldyh@redhat.com>
19835
19836         * tree.c (build_function_type_list): Update function comment.
19837         Rename first argument to return_type.
19838
19839 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
19840
19841         * Makefile.in: Remove all trace of tradcpp.c, tradcpp.h,
19842         tradcif.y and related files.
19843
19844 2002-07-01  Neil Booth  <neil@daikokuya.co.uk>
19845
19846         * cpptrad.c (skip_whitespace): Pass pointer to prior char.
19847
19848 2002-07-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
19849
19850         * mips.h (FUNCTION_ARG_REGNO_P): Fix parentheses.
19851
19852 See ChangeLog.7 for earlier changes.