OSDN Git Service

As per David's request.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
1 2003-12-01  James Lemke <jim@wasabisystems.com>
2  
3         * config/arm/arm.c (arm_rtx_costs): Improve for xscale multiply.
4
5 2003-12-01  Roger Sayle  <roger@eyesopen.com>
6
7         PR optimization/11634
8         * recog.c (split_insn): Factor test of INSN_P and handling of
9         set_noop_p out of here into the two callers.
10         (split_all_insns): Add INSN_P test and set_noop_p handling here.
11         If deleting a no-op set after reload that has a REG_UNUSED note,
12         mark the basic block as changed and recalculate life information.
13         (split_all_insns_noflow): Add INSN_P test and set_noop_p handling
14         here.
15
16 2003-12-01  Roger Sayle  <roger@eyesopen.com>
17
18         PR optimization/12322
19         * gcse.c (struct ls_expr): Change type of hash_index from int to
20         unsigned int.
21         (hash_expr): Document hash_table_size parameter and wrap long line.
22         (ldst_entry): Calculate expression's hash_index and record in ptr.
23         (trim_ld_motion_mems): Use hash_index to search a single bucket
24         instead of scanning the entire hash_table.  Remove the "del" local
25         variable and use the equivalent "expr == 0" instead.  Change last
26         to be a pointer to the pointer to the current element, to simplify
27         and speed-up deleting from a linked list.
28
29 2003-12-01  James E Wilson  <wilson@specifixinc.com>
30
31         * doc/contrib.texi: Update David Mosberger.
32
33         * doc/c-tree.texi (CONSTRUCTOR): Clarify element order and handling
34         of missing fields.
35
36         PR target/8407
37         * config/ia64/ia64.c (ia64_function_arg): For single-reg HFA, call
38         gen_rtx_REG to create new reg with argument mode.
39
40 2003-12-01  Steven Bosscher  <stevenb@suse.de>
41
42         * ggc.h (struct alloc_zone): Move forward declaration up.
43         (new_ggc_zone): New function prototype.
44         (destroy_ggc_zone): Ditto.
45         * ggc-simple.c (new_ggc_zone): New function, does nothing.
46         (destroy_ggc_zone): Ditto.
47         * ggc-page.c (new_ggc_zone): New function, does nothing.
48         (destroy_ggc_zone): Ditto.
49         * ggc-zone.c (struct page_entry): Fix comment.
50         (ggc_alloc_typed): Use a switch statement instead of ifs.
51         (new_ggc_zone): New function to set up a new GC zone.
52         (destroy_ggc_zone): New function to remove a GC zone.
53         init_ggc): Use new_ggc_zone to set up the default zones.
54         (ggc_collect): Walk a list of zones, instead of just the
55         default zones.  Report statistics using the zone name.
56
57 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
58
59         * unroll.c (find_splittable_givs): Add missing extend_value_for_giv.
60
61 2003-12-01  Roger Sayle  <roger@eyesopen.com>
62
63         PR optimization/12628
64         * toplev.c (rest_of_handle_jump_bypass): Call reg_scan.
65         * regclass.c (reg_scan): Include allocate_reg_info time in
66         TV_REG_SCAN.  Minor clean-ups.
67         (reg_scan_update): Minor clean-ups.
68
69 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
70
71         * config.gcc (s390x-ibm-tpf*): Add extra_parts.
72
73 2003-12-01  James E Wilson  <wilson@specifixinc.com>
74
75         * config/ia64/ia64.h (FUNCTION_ARG_REGNO_P): Use AR_REG_FIRST not
76         GR_ARG_FIRST.
77
78 2003-12-01  Zack Weinberg  <zack@codesourcery.com>
79
80         * common.opt: Remove -fgnu-linker.
81         * flags.h: Remove flag_gnu_linker.
82         * opts.c: Don't handle OPT_fgnu_linker.
83         * toplev.c: Don't initialize flag_gnu_linker.
84         Remove gnu-linker entry from f_options.
85         * config/dsp16xx/dsp16xx.h (OPTIMIZATION_OPTIONS):
86         Don't reset flag_gnu_linker.
87         * config/mips/mips.c (override_options): Likewise.
88         * doc/invoke.texi: Remove all mention of -fgnu-linker.
89
90 2003-12-01  Daniel Berlin  <dberlin@dberlin.org>
91
92         * ggc-zone.c (ggc_pch_write_object): Calculate object size using
93         ggc_get_size (which accounts for large objects properly).
94
95 2003-12-01  Jeff Sturm  <jsturm@one-point.com>
96
97         PR optimization/13024
98         * toplev.c (rest_of_handle_new_regalloc): Remove rebuild_notes
99         parameter.
100         (rest_of_handle_old_regalloc): Likewise.  Add rebuild_notes
101         declaration.  Rebuild jump labels following local_alloc if necessary.
102         (rest_of_compilation): Remove rebuild_label_notes_after_reload
103         declaration.  Don't pass rebuild_notes parameter to
104         rest_of_handle_new_regalloc and rest_of_handle_old_regalloc.
105         Don't rebuild jump labels.
106
107 2003-12-01  Jeff Law  <law@redhat.com>
108
109         * flow.c (count_or_remove_death_notes_bb): New.  Extracted from
110         count_or_remove_death_notes.
111         (count_or_remove_death_notes): Use EXECUTE_IF_SET_IN_SBITMAP.
112
113 2003-12-01  Andreas Krebbel  <krebbel1@de.ibm.com>
114
115         * builtins.c (expand_builtin_longjmp): Added two memory clobbers.
116
117 2003-12-01  Ulrich Weigand  <uweigand@de.ibm.com>
118
119         * reload.c (find_reloads_address): Split addresses of type
120         (plus (plus (reg) (reg)) (const_int)) only if one register
121         is either a valid base register or else one of the stack
122         frame related registers (sp/fp/ap).
123
124 2003-12-01  Steven Bosscher  <stevenb@suse.de>
125
126         * function.c (update_epilogue_consts): Don't use PARAMS.
127         * rtl.h (web_main): Ditto.
128         * target.h (is_costly_dependence): Ditto
129
130 2003-12-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
131
132         PR middle-end/7847
133         * expr.c (expand_expr) [normal_inner_ref]: When 'offset' is non-zero,
134         do not recheck that 'op0' is a MEM.  Move comment.  When testing for
135         unaligned objects, take also into account the alignment of 'op0' and
136         'mode1' if 'op0' is a MEM.
137
138 2003-12-01 Gabriel Dos Reis <gdr@integrable-solutions.net>
139
140         * doc/c-tree.texi (Function Bodies): Update HANDLER documentation.
141
142 2003-12-01  Kelley Cook  <kcook@gcc.gnu.org>
143
144         * doc/install.texi: Note that fastjar is built with automake 1.7.x
145         and autoconf 2.57.
146
147 2003-12-01  Alan Modra  <amodra@bigpond.net.au>
148
149         * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
150         target_flags directly rather than using TARGET_* defines.
151
152 2003-11-30  Ben Elliston  <bje@wasabisystems.com>
153
154         * doschk.c: Remove.
155
156 2003-11-30  Richard Sandiford  <rsandifo@redhat.com>
157
158         PR target/12727
159         * config/mips/mips.c (mips_save_reg): Fix frame information for sdc1
160         on 32-bit big-endian targets.
161
162 2003-11-30  Kazu Hirata  <kazu@cs.umass.edu>
163
164         * genemit.c (register_constraints): Remove.
165
166 2003-11-30  Andreas Krebbel  <krebbel1@de.ibm.com>
167
168         * config/s390/s390.md ("tmdi_reg", "tmsi_reg", "*movdi_64", "*movdi_31",
169         "iordi3"): Insns now use multiple letter constraints.
170         ("*movdi_lhi", "*movdi_lli", "*movdi_lay"): Insns deleted. They are now
171         covered by "*movdi_64".
172         ("*movsi_lhi", "*movsi_lli", "*movsi_lay"): Insns deleted. They are now
173         covered by "*movsi_zarch" and "*movsi_esa".
174         ("*movsi_zarch", "*movsi_!zarch"): New insns.
175         ("*llgt_sisi_split", "*llgt_didi_split"): Insns deleted. Now covered
176         by "*andsi3_zarch" and "anddi3".
177         ("*anddi3_ni"): Insn merged with "anddi3".
178         ("*andsi3_ni"): Insn merged with "*andsi3_zarch".
179         ("*andsi3_zarch", "*andsi3_esa"): New insns.
180         ("*iordi3_oi"): Insn merged with "iordi3".
181         ("*iorsi3_oi"): Insn merged with "*iorsi3_zarch".
182         ("*iorsi3_zarch", "*iorsi3_esa"): New insns.
183
184         * config/s390/s390.c (s390_single_qi, s390_single_hi): Functions
185         merged to s390_single_part.
186         (s390_single_part): New function.
187         NOTE: Semantics have changed a bit. Now the value of the part must
188         be different from the others to get a non-negative return value.
189         (s390_extract_qi, s390_extract_hi): Functions merged to
190         s390_extract_part.
191         (s390_extract_part, s390_extra_constraint_str,
192         s390_const_ok_for_constraint_p): New functions. The L constraint got a
193         new meaning and the N constraint was added as a multiple letter
194         constraint.
195         (s390_extra_constraint): Function deleted.
196         (print_operand): New output modifier 'i' and 'j' added.
197         All uses of CONST_OK_FOR_LETTER_P were replaced by
198         CONST_OK_FOR_CONSTRAINT_P.
199
200         * config/s390/s390-protos.h: Function prototypes adapted.
201         * doc/md.texi: Documentation for new constraint letters added.
202
203 2003-11-30  Andreas Schwab  <schwab@suse.de>
204
205         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Fix missing semicolon.
206
207 2003-11-29  James E Wilson  <wilson@specifixinc.com>
208
209         * gcc.c (init_spec): Pass -lunwind to init_gcc_specs in eh_name
210         instead of in shared_name.
211
212         * final.c (final_start_function): Delete code for NON_SAVING_SETJMP.
213         * reload1.c (reload): Re-add it here.
214
215 2003-11-30  Alan Modra  <amodra@bigpond.net.au>
216
217         * config/rs6000/rs6000.c (rs6000_elf_section_type_flags): Don't
218         set SECTION_WRITE on TARGET_RELOCATABLE.
219
220 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
221
222         * config/h8300/h8300.h (LIBCALL_VALUE): Use R0_REG.
223
224 2003-11-28  Gunther Nikl  <gni@gecko.de>
225
226         * config/m68k/m68k.c (MOTOROLA): Move from here...
227         * config/m68k/m68k.h (MOTOROLA): ... to here.
228         (OUTPUT_JUMP): Use do {...} while (0).
229         * config/m68k/m68k.md: Replace #ifdef MOTOROLA with C statements.
230
231 2003-11-28  Gunther Nikl  <gni@gecko.de>
232
233         * config.gcc (m68020-*-elf*, m68k-*-elf*, m68010-*-netbsdelf*,
234         m68k*-*-netbsdelf*, m68k-*-rtems*): Add tm_defines containing
235         MOTOROLA and USE_GAS.
236         * config/m68k/rtemself.h (MOTOROLA): Delete.
237         * config/m68k/netbsd-elf.h (MOTOROLA, USE_GAS): Delete.
238         * config/m68k/m68kelf.h (MOTOROLA, USE_GAS, SGS_CMP_ORDER): Delete.
239
240 2003-11-29  Kazu Hirata  <kazu@cs.umass.edu>
241
242         * config/h8300/h8300.h (WORDS_BIG_ENDIAN): Update the comment.
243
244 2003-11-29  Kelley Cook  <kcook@gcc.gnu.org>
245
246         * Makefile.in (install-info): Install gccinstall.info too.
247
248 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
249
250         * config/s390/s390.md ("cmpint_di"): Fix incorrect instruction lengths.
251
252 2003-11-29  Ulrich Weigand  <uweigand@de.ibm.com>
253
254         * config/s390/s390.md ("movhi"): Do not emit extender pattern
255         when loading from a (MEM (ADDRESSOF ...)).
256         ("movqi"): Likewise.
257
258 2003-11-29  Joseph S. Myers  <jsm@polyomino.org.uk>
259
260         PR c/10333
261         * c-parse.in (typespec_reserved_nonattr): Reject typeof on
262         bit-fields.
263
264 2003-11-29  Richard Sandiford  <rsandifo@redhat.com>
265
266         * stmt.c (expand_asm_operands): Check whether force_const_mem
267         succeeded.
268
269 2003-11-28  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
270
271         * config/gnu.h (HURD_TARGET_OS_CPP_BUILTINS): New.
272         * config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): New.
273
274         * config/alpha/gnu.h, config/alpha/linux.h,
275         config/arm/linux-elf.h, config/cris/cris.h, config/cris/linux.h,
276         config/i370/linux.h, config/i386/gnu.h, config/i386/i386.h,
277         config/i386/linux-aout.h, config/i386/linux.h,
278         config/i386/linux64.h, config/ia64/linux.h, config/m68k/linux.h,
279         config/m68k/uclinux.h, config/mips/linux.h,
280         config/mn10300/linux.h, config/pa/pa-linux.h,
281         config/rs6000/sysv4.h, config/s390/linux.h, config/sh/linux.h,
282         config/sparc/linux.h, config/sparc/linux64.h,
283         config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Use
284         HURD_TARGET_OS_CPP_BUILTINS/LINUX_TARGET_OS_CPP_BUILTINS or ensure
285         all necessary assertions are included.
286
287 2003-11-28  Jan Hubicka  <jh@suse.cz>
288
289         * emit-rtl.c (set_used_flags): New.
290         (verify_rtx_sharing, verify_rtl_sharing): New.
291         (unshare_all_rtl_1): Rename to....
292         (unshare_all_rtl_in_chain): ... this one; make static.
293         (copy_rtx_if_shared): LABEL_REF chan be shared.
294         * ifcvt.c (unshare_ifcvt_sequence): New.
295         (noce_try_move, noce_try_store_flag, noce_try_store_flag_constants,
296         noce_try_addcc, noce_try_addcc, noce_try_store_flag_mask,
297         noce_try_cmove, noce_try_store_flag_mask, noce_try_minmax,
298         noce_try_abs, noce_process_if_block, find_cond_trap
299         * rtl.h (verify_rtl_sharing, set_used_flags, unshare_all_rtl_in_chain):
300         Declare.
301
302 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
303
304         * config/h8300/h8300.md: Fix a comment typo.
305
306 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
307
308         * config/h8300/h8300.md (*movsf_h8300h): Change to
309         *movsf_h8300hs.
310         (addsi_h8300): Change to *addsi_h8300.
311         (addsi_h8300h): Change to *addsi_h8300hs.
312         (subsi3_h8300): Change to *subsi3_h8300.
313         (subsi3_h8300h): Change to *subsi3_h8300hs.
314         (neghi2_h8300h): Change to *neghi2_h8300hs.
315         (negsi2_h8300h): Change to *negsi2_h8300hs.
316
317 2003-11-28  Kazu Hirata  <kazu@cs.umass.edu>
318
319         * config/h8300/h8300.md (*subhi3_h8300): Remove '&' from the
320         constraint.
321         (*subhi3_h8300hs): Likewise.
322
323 2003-11-28  David Edelsohn  <edelsohn@gnu.org>
324
325         * config/rs6000/rs6000.h (MASK_MFCRF): New.
326         (TARGET_MFCRF): Test target_flags, not processor type.
327         (TARGET_SWITCHES): Add mfcrf and no-mfcrf.
328         Change Don't to Do not.
329         * config/rs6000/rs6000.c (processors_target_table): Add MASK_MFCRF
330         to power4, 970, G5.
331
332 2003-11-27  J"orn Rennecke <joern.rennecke@superh.com>
333
334         * cse.c (cse_set_around_loop): When changing a constant load
335         to a register -register copy, add a REG_EQUAL note.
336
337 2003-11-27  Randolph Chung  <tausq@debian.org>
338             John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
339
340         * pa.c (hppa_profile_hook): Split gen_call_profiler into separate
341         insns.  Use the regular call expander for the call to the profiler.
342         * pa.md (call_profiler): Delete.
343         (load_offset_label_address): New insn to load the address of the
344         current function for the profiler.
345         (lcla1, lcla2): New insns to output a code label and load its address.
346
347 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
348
349         * final.c (final_scan_insn): Remove commented-out code.
350
351 2003-11-27  Nathanael Nerode  <neroden@gcc.gnu.org>
352
353         * doc/install.texi: Remove ADAC reference and make accurate.
354
355 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
356
357         * config/h8300/h8300.h (FUNCTION_VALUE): Use R0_REG.
358         (FUNCTION_VALUE_REGNO_P): Likewise.
359         * config/h8300/h8300.md: Define R0_REG.
360
361 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
362
363         * config/h8300/h8300.c: Fix formatting.
364         * config/h8300/h8300.md: Likewise.
365
366 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
367
368         * config/h8300/h8300.h (ELIMINABLE_REGS): Update a comment.
369
370 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
371
372         * config/h8300/h8300.md: Give names to anonymous insns.
373
374 2003-11-27  Kazu Hirata  <kazu@cs.umass.edu>
375
376         * config/h8300/h8300.md (extendqisi2): Remove constraints.
377
378 2003-11-27  Gunther Nikl  <gni@gecko.de>
379
380         * doc/tm.texi (SYSROOT_HEADERS_SUFFIX_SPEC): Fix typo.
381
382 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
383
384         PR optimization/13041
385         * final.c (frame_pointer_needed): Fix comment.
386         * reload1.c (reload): Decrease alignment of the frame
387         pointer if it was used for register allocation.
388
389 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
390
391         PR target/12900
392         * reg-stack (move_for_stack_reg): New prototype.  Return
393         whether a control flow insn was deleted.
394         (subst_stack_regs_pat): Likewise, using the information provided
395         by move_for_stack_reg.
396         (subst_stack_regs): Likewise, using the information provided
397         by subst_stack_regs_pat.
398         (convert_regs_1): Record whether a control flow insn was deleted,
399         using the information provided by subst_stack_regs.  Purge dead
400         edges only if a control flow insn was deleted.
401
402 2003-11-27  Eric Botcazou  <ebotcazou@libertysurf.fr>
403
404         PR middle-end/8028
405         PR middle-end/9890
406         PR middle-end/11151
407         PR middle-end/12210
408         PR middle-end/12503
409         PR middle-end/12692
410         * builtins.c (expand_builtin_apply): Use virtual_outgoing_args_rtx
411         as the base address to copy the memory arguments to.
412
413 2003-11-26  Danny Smith  <dannysmith@users.sourceforge.net>
414
415         * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Declare
416         function aliases as functions.
417
418 2003-11-26  Nathanael Nerode  <neroden@gcc.gnu.org>
419
420         * aclocal.m4 (gcc_AC_PROG_GNAT): Rewrite to account for removal
421         of ADAC.
422         * configure: Regenerate.
423
424         * Makefile.in: Remove references to ADAC.
425
426         * configure.in: Remove check for whether ${ADAC} accepts -Wno-long-long.
427         * configure: Regenerate.
428
429 2003-11-26  Eric Botcazou  <ebotcazou@libertysurf.fr>
430             Olivier Hainque  <hainque@act-europe.fr>
431
432         PR target/6466
433         * config/sparc/sparc-protos.h (compute_frame_size): New prototype.
434         (sparc_flat_compute_frame_size): Likewise.
435         (sparc_flat_save_restore): Move prototype...
436         * config/sparc/sparc.c (sparc_flat_save_restore): ...here.
437         (save_regs): New prototype.
438         (build_big_number): Likewise.
439         (apparent_fsize): Change type to HOST_WIDE_INT.
440         (actual_fsize): Likewise.
441         (frame_base_offset): Likewise.
442         (build_big_number): Add support for HOST_BITS_PER_WIDE_INT == 64.
443         Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
444         [TARGET_ARCH64]: Use the sequence of sparc_emit_set_const64_longway
445         to load a 64-bit constant.
446         (sparc_nonflat_function_prologue): Change string descriptor to
447         HOST_WIDE_INT_PRINT_DEC.  Change offset type to HOST_WIDE_INT.
448         (output_restore_regs): Change offset type to HOST_WIDE_INT.
449         (sparc_nonflat_function_epilogue): Change string descriptor to
450         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.
451         (output_sibcall): Change size type to HOST_WIDE_INT.  Use
452         build_big_number.  Change string descriptor to HOST_WIDE_INT_PRINT_DEC.
453         (sparc_frame_info): Change types for several components.
454         (sparc_flat_compute_frame_size): Update types according to previous
455         change.
456         (sparc_flat_function_prologue): Change string descriptor to
457         HOST_WIDE_INT_PRINT_DEC.  Change offset type to int.  Use
458         build_big_number.
459         (sparc_flat_function_epilogue): Change offset type to int.
460         Rename 'size1' into 'reg_offset1'.  Change string descriptor to
461         HOST_WIDE_INT_PRINT_DEC.  Use build_big_number.  Change big number
462         limit to 4096 instead of 4095.
463
464         * config/sparc/sparc.c (mems_ok_for_ldd_peep): Change offset type to
465         HOST_WIDE_INT.
466
467 2003-11-24  Waldek Hebisch <hebisch@math.uni.wroc.pl>
468
469         * function.c: Make outer_function-chain external.
470         * function.h: Likewise.
471
472 2003-11-24  Richard Sandiford  <rsandifo@redhat.com>
473
474         * config.gcc (mips-sgi-irix6*): Add t-iris6gld to tmake_file when
475         using GNU ld.
476         * config/mips/iris6.h (IRIX6_STARTFILE_SPEC): New, taking the
477         whole of the previous STARTFILE_SPEC except crtbegin.o%s.
478         (IRIX6_ENDFILE_SPEC): Likewise ENDFILE_SPEC and crtend.o%s.
479         (STARTFILE_SPEC, ENDFILE_SPEC): Define in terms of the above.
480         (SUBTARGET_EXTRA_SPECS): Define.
481         * config/mips/iris6gld.h (LINK_SPEC): Change -init function
482         to __gcc_init and -fini function to __gcc_fini.
483         (STARTFILE_SPEC): Redefine, including irix6-crti.o before crtbegin.o.
484         (ENDFILE_SPEC): Likewise, including irix6-crtn.o after crtend.o.
485         (INIT_SECTION_ASM_OP, FINI_SECTION_ASM_OP): Define.
486         * config/mips/t-iris6gld,
487         * config/mips/irix6-crti.asm,
488         * config/mips/irix6-crtn.asm: New files.
489
490 2003-11-24  Eric Christopher  <echristo@redhat.com>
491
492         PR C/13014
493         * c-decl.c (c_in_iteration_stmt, c_in_case_stmt): New.
494         (start_function): Use.
495         (c_push_function_context): Ditto.
496         (c-pop_function_context): Ditto.
497         (language_function): Move...
498         * c-tree.h: ... here. Add x_in_iteration_stmt, and
499         x_in_case_stmt.
500         * c-parse.in (do_stmt_start, select_or_iter_stmt, stmt): Use
501         c_in_iteration_stmt, c_in_case_stmt for parser state. Move
502         check for valid break or continue statment here...
503         * c-semantics.c (genrtl_break_stmt, genrtl_continue_stmt): From
504         here. Change original errors to abort.
505
506 2003-11-24  Jan Hubicka  <jh@suse.cz>
507
508         * fold-const.c (fold):  Do not return early when optimizing
509         COMPONENT_REF and constant.
510
511 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
512
513         * config/h8300/h8300.md (tablejump_h8300): Change to
514         *tablejump_h8300.
515         (tablejump_h8300h): Change to *tablejump_h8300hs_advanced.
516         (tablejump_normal_mode): Change to *tablejump_h8300hs_normal.
517         (indirect_jump_h8300): Change to *indirect_jump_h8300.
518         (indirect_jump_h8300h): Change to
519         *indirect_jump_h8300hs_advanced.
520         (indirect_jump_normal_mode): Change to
521         *indirect_jump_h8300hs_normal.
522
523 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
524
525         * config/h8300/h8300.md: Remove constraints from expanders.
526
527 2003-11-24  Kazu Hirata  <kazu@cs.umass.edu>
528
529         * config/h8300/h8300.md: (stm_h8300s_2): Change the name to
530         stm_h8300s_2_advanced.
531         (stm_h8300s_2_normal): New.
532         (stm_h8300s_2): Likewise.
533         (stm_h8300s_3): Change the name to stm_h8300s_3_advanced.
534         (stm_h8300s_3_normal): New.
535         (stm_h8300s_3): Likewise.
536         (stm_h8300s_4): Change the name to stm_h8300s_4_advanced.
537         (stm_h8300s_4_normal): New.
538         (stm_h8300s_4): Likewise.
539         (ldm_h8300s_2): Change the name to ldm_h8300s_2_advanced.
540         (ldm_h8300s_2_normal): New.
541         (ldm_h8300s_2): Likewise.
542         (ldm_h8300s_3): Change the name to ldm_h8300s_3_advanced.
543         (ldm_h8300s_3_normal): New.
544         (ldm_h8300s_3): Likewise.
545         (ldm_h8300s_4): Change the name to ldm_h8300s_4_advanced.
546         (ldm_h8300s_4_normal): New.
547         (ldm_h8300s_4): Likewise.
548         (two peephole2's): Enable only with !TARGET_NORMAL_MODE.
549         (two peephole2's): New.
550
551 2003-11-24  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
552
553         * genattrtab.c (simplify_cond): Update indices correctly.
554         (attr_alt_subset_p, attr_alt_subset_of_compl_p, attr_alt_intersection,
555         attr_alt_union, attr_alt_complement, attr_alt_bit_p, mk_attr_alt): New.
556         (check_attr_test, encode_units_mask, compute_alternative_mask,
557         make_alternative_compare, simplify_and_tree,
558         attr_rtx_cost, simplify_test_exp, gen_attr,
559         write_test_expr, walk_attr_value): Handle EQ_ATTR_ALT.
560         * rtl.def (EQ_ATTR_ALT): New.
561
562 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
563
564         * genattrtab.c (strcmp_check, DEF_ATTR_STRING): New macros.
565         (length_str, delay_type_str, delay_1_0_str, num_delay_slots_str):
566         New variables.
567         (main): Initialize them.
568         (find_attr): Canonicalize the attribute name string.
569         (attr_rtx_1, copy_boolean, expand_delays, gen_unit): Always canonicalize
570         string arguments.
571         (attr_printf, attr_eq): Use DEF_ATTR_STRING.
572         (check_attr_test, check_attr_value, make_length_attrs,
573         write_length_unit_log, simplify_by_exploding, gen_attr,
574         write_test_expr, write_attr_value, write_eligible_delay,
575         write_complex_function, make_internal_attr,
576         write_const_num_delay_slots): Changed due to change of type of
577         find_attr.
578         (fill_attr, evaluate_eq_attr, simplify_and_tree,
579         attr_rtx_cost, simplify_by_exploding, walk_attr_value): Use
580         strcmp_check.
581
582 2003-11-23  Kazu Hirata  <kazu@cs.umass.edu>
583
584         PR target/13122
585         * config/h8300/h8300.c (push): Call push_h8300hs_normal in
586         normal mode.
587         (pop): Call pop_h8300hs_normal in normal mode.
588         * config/h8300/h8300.md: Likewise.
589         (pushqi1_h8300hs_normal): New.
590         (pushqi1): Call pushqi1_h8300hs_normal in normal mode.
591         (pushhi1_h8300hs_normal): New.
592         (pushhi1): Call pushhi1_h8300hs_normal in normal mode.
593         (push_h8300hs_normal): New.
594         (pop_h8300hs_normal): Likewise.
595
596 2003-11-23  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
597
598         * genattrtab.c (count_sub_rtxs): Removed.
599
600 2003-11-23  Richard Earnshaw  <rearnsha@arm.com>
601
602         * recog.c (preprocess_constraints): Only zero those elements of
603         recog_op_alt that are needed for this insn.
604         * arm.c (note_invalid_constants): A function can't contain invalid
605         constants if it has no constraints.
606
607 2003-11-22  Jan Hubicka  <jh@suse.cz>
608
609         * i386.c (classify_argument): Pass __float128 in memory.
610         (ix86_return_in_memory): Likewise.
611         (ix86_libcall_value): Likewsie.
612
613 2003-11-22  Kazu Hirata  <kazu@cs.umass.edu>
614
615         * config/h8300/h8300.c (dosize): Convert to ISO-C.
616
617 2003-11-22  J"orn Rennecke <joern.rennecke@superh.com>
618
619         * flow.c (update_life_info): Amend comment about when a register
620         can become dead.
621
622 2003-11-21  Kelley Cook  <kcook@gcc.gnu.org>
623
624         * doc/.cvsignore: Delete.
625
626 2003-11-21  Daniel Berlin  <dberlin@dberlin.org>
627             David Edelsohn  <edelsohn@gnu.org>
628
629         * dwarf2out.c (add_location_or_const_value_attribute): Add support
630         for PARALLEL.
631
632 2003-11-21  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
633
634         * config/mips/t-iris6 (CRTSTUFF_T_CFLAGS): Add -Wno-error.
635         (TARGET_LIBGCC2_CFLAGS): Define.
636
637         * crtstuff.c [HAS_INIT_SECTION] (__do_global_dtors): Declare.
638         (__do_global_ctors): Likewise.
639
640 2003-11-21  Mark Wielaard  <mark@klomp.org>
641
642         * doc/invoke.texi (-O2): Doesn't enable -fweb.
643
644 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
645
646         * doc/invoke.texi: Mention dV and dZ.
647
648 2003-11-21  Kazu Hirata  <kazu@cs.umass.edu>
649
650         * doc/invoke.texi: Update dump file names.
651         Remove de, dW, and dX.
652
653 2003-11-20  James E Wilson  <wilson@specifixinc.com>
654
655         PR c/13133
656         * reload1.c (reload): Delete special handling for setjmp.
657
658 2003-11-21  Andreas Tobler  <a.tobler@schweiz.ch>
659
660         * mklibgcc.in: Evaluate shlib_slibdir_qual during link
661         step too.
662         * config/t-slibgcc-darwin: Adjust install path.
663         * config/rs6000/t-darwin: Revert multilib matches since
664         it is not used on darwin.
665
666 2003-11-20  Richard Henderson  <rth@redhat.com>
667
668         * ssa.c, ssa-dce.c, ssa-ccp.c: Remove files.
669         * Makefile.in (OBJS-common, GTFILES): Don't reference them.
670         (gtype-desc.o, toplev.o, flow.o): Remove ssa.h.
671         (ssa.o, ssa-dce.o, ssa-ccp.o): Remove.
672         * flow.c: Don't include ssa.h.
673         (set_phi_alternative_reg): Remove.
674         (calculate_global_regs_live): Don't call it.
675         (mark_used_regs): Don't handle PHI.
676         * gengtype.c (open_base_files): Don't reference ssa.h.
677         * rtl.def (PHI): Remove.
678         * timevar.def (TV_TO_SSA, TV_SSA_CCP, TV_SSA_DCE, TV_FROM_SSA): Kill.
679         * common.opt: Remove -fssa, -fssa-ccp, -fssa-dce.
680         * opts.c (common_handle_option): Likewise.
681         * toplev.c (f_options): Likewise.
682         (DFI_ssa, DFI_ssa_ccp, DFI_ssa_dce, DFI_ussa): Remove.
683         (dump_file): Update to match.
684         (flag_ssa, flag_ssa_ccp, flag_ssa_dce): Remove.
685         (rest_of_handle_ssa): Remove.
686         (rest_of_compilation): Don't call it.
687         * toplev.h (flag_ssa, flag_ssa_dce, flag_ssa_ccp): Remove.
688         * doc/invoke.texi: Remove -fssa, -fssa-ccp, -fssa-dce.
689         * doc/passes.texi (SSA optimizations): Remove.
690
691 2003-11-20  Bob Wilson  <bob.wilson@acm.org>
692
693         * configure.in: Add xtensa-*-* targets to test for dwarf2 debug_line.
694         * configure: Regenerate.
695
696 2003-11-20  Kelley Cook  <kcook@gcc.gnu.org>
697
698         * Makefile.in (Makefile): Pass along CONFIG_SHELL.
699
700 2003-11-20 David Mosberger  <davidm@hpl.hp.com>
701
702         * config/t-libunwind (LIB2ADDEH): Add unwind-c.c.
703         (SHLIB_LC): Define.
704         * unwind-libunwind.c (_Unwind_GetCFA): Implement.
705         (_Unwind_GetBSP) [UNW_TARGET_IA64]: New function.
706
707 2003-11-20  Fariborz Jahanian  <fjahanian@apple.com>
708             David Edelsohn  <edelsohn@gnu.org>
709
710         * calls.c (expand_call): Allocate new temp in pass1.
711         (store_one_arg): If PARALLEL, calculate excess using mode size of
712         rtvec elt.
713         * expr.c (emit_push_insn): If PARALLEL, calculate offset using
714         mode size of rtvec elt.
715         * function.c (assign_parms): Use parm in register, if available.
716
717 2003-11-20  Kazu Hirata  <kazu@cs.umass.edu>
718
719         * config/h8300/lib1funcs.asm (MOVP): Remove.
720         (ADDP): Likewise.
721         (CMPP): Likewise.
722
723 2003-11-20  Richard Earnshaw  <rearnsha@arm.com>
724
725         * arm.c (use_return_insn): New argument, SIBLING.  Support returning
726         with a single instruction if the stack has been decremented by 4
727         and we have a frame pointer.  Update all callers.
728         (output_return_instruction): Likewise.
729         (arm_output_epilogue): Change argument to SIBLING.  Calculate
730         really_return from the new argument.  Update all callers.
731         * arm.h (USE_RETURN_INSN): Pass NULL for the sibling.
732         * arm.md (sibcall_epilogue): Call use_return_insn directly, and
733         pass the sibling call.
734         * arm-protos.h (use_return_insn, arm_output_epilogue): Update
735         prototypes.
736
737 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
738
739         * Makefile.in (extraclean): Delete.
740         * configure.in (target_list): Remove extraclean.
741         * configure: Regenerate.
742         * doc/makefile.texi, doc/sourcebuild.texi: Update.
743         * objc/Make-lang.in (objc.extraclean): Delete.
744
745 2003-11-20  Joseph S. Myers  <jsm@polyomino.org.uk>
746
747         * Makefile.in (lang_checks): Add.
748         (check-c++, check-f77, check-java, check-g++, check-g77,
749         check-objc): Remove hardcoded targets.
750         * doc/sourcebuild.texi: Document testsuite hooks.
751         * objc/Make-lang.in (check-objc, lang_checks): Add.
752
753 2003-11-19  Scott Snyder  <snyder@fnal.gov>
754
755         PR target/13131
756         * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
757         flag, not a constant.
758
759 2003-11-19  Kelley Cook  <kcook@gcc.gnu.org>
760
761         * config/arc/arc-protos.h: Update to C90 prototypes.
762         * config/arc/arc.c: Likewise.
763         * config/arc/initfini.c: Likewise.
764
765 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
766
767         * stmt.c (expand_goto): Memory clobbers added.
768
769 2003-11-19  Andreas Krebbel  <krebbel1@de.ibm.com>
770
771         * reload.c (find_reloads): Added missing type casts.
772
773 2003-11-19  James E Wilson  <wilson@specifixinc.com>
774
775         * combine.c (sets_function_arg_p): Delete unused function.
776
777 2003-11-19  Eric Christopher  <echristo@redhat.com>
778
779         * reload1.c (reload): Revert 2 previous checkins.
780
781 2003-11-19  Nathanael Nerode  <neroden@gcc.gnu.org>
782
783         * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
784         whether directive begins at the beginning of a line.
785
786 2003-11-19  Richard Sandiford  <rsandifo@redhat.com>
787
788         * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
789
790 2003-11-19  Gerald Pfeifer  <gp@suse.de>
791
792         * doc/install.texi (Specific): Remove information on old versions
793         of glibc versus old versions of GCC.
794
795 2003-11-19  Richard SAndiford  <rsandifo@redhat.com>
796
797         * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
798         the register lowpart is a TRULY_NOOP_TRUNCATION.
799
800 2003-11-19  Richard Henderson  <rth@redhat.com>
801
802         * config/i386/i386.c (print_reg): Handle QI and HI modes for
803         non Q regs.
804
805 2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>
806
807         * config/config.gcc (powerpc-*-darwin*): Add libgcc build
808         specification file.
809         * config/t-slibgcc-darwin: New file, libgcc build specification.
810         * config/t-darwin: Add libgcc2 flag -fPIC.
811         * config/rs6000/t-darwin: Multilib matches float.
812         * libgcc-darwin.ver: New file, contains libgcc symbols.
813
814 2003-11-18  Nathanael Nerode  <neroden@gcc.gnu.org>
815
816         * config/ns32k/ns32k.h: Remove obsolete comment.
817
818 2003-11-18  Roger Sayle  <roger@eyesopen.com>
819
820         PR middle-end/11821
821         * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
822         size for calls to libgcc's div & mod subroutines when using -Os.
823
824 2003-11-18  Jan Hubicka  <jh@suse.cz>
825
826         * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
827
828 2003-11-18  Marc Espie  <espie@openbsd.org>
829
830         * config/rs6000/sysv4.h: OpenBSD hooks.
831
832 2003-11-18  Richard Henderson  <rth@redhat.com>
833
834         * expr.c (expand_expr): Don't look through constant arrays if
835         they don't bind locally.
836
837 2003-11-17  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
838
839         * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
840         when seeing if truncation or extension.
841
842 2003-11-17  Eric Christopher  <echristo@redhat.com>
843
844         * reload1.c (reload): Fix previous change.
845
846 2003-11-17  Scott Snyder  <snyder@fnal.gov>
847
848         PR debug/11325
849         * dwarf2out.c (struct die_struct): Add die_definition field.
850         (add_AT_specification): New.
851         (gen_subprogram_die, gen_variable_die,
852         gen_struct_or_union_type_die): Use it.
853         (prune_unused_types_mark): If we're marking a forward declaration,
854         also mark the full definition, if it exists.
855
856 2003-11-16  Nick Clifton  <nickc@redhat.com>
857
858         * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
859         * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
860         Remove prototype.
861         * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
862         to xstormy16_build_builtin_va_list and make static.
863         (TARGET_BUILD_BUILTIN_VA_LIST): Define.
864
865 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
866
867         * config/h8300/h8300-protos.h: Add the prototype for
868         same_cmp_following_p.
869         * config/h8300/h8300.c (same_cmp_following_p): New.
870         * config/h8300/h8300.md (peephole2): Use it.
871
872 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
873
874         * config/h8300/h8300.md: Don't use REGNO when its operand is
875         not guaranteed to be a REG.
876
877 2003-11-16  Richard Sandiford  <rsandifo@redhat.com>
878
879         * Makefile.in (expr.o): Depend on $(TARGET_H).
880         * target.h (return_in_msb): New target hook.
881         * target-def.h (TARGET_RETURN_IN_MSB): New macro.
882         (TARGET_CALLS): Include it.
883         * calls.c (shift_returned_value): New function.
884         (expand_call): Use it.
885         * expr.c: Include target.h.
886         (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
887         deciding what padding is needed.  Change the name of the local
888         padding variable from big_endian_correction to padding_correction.
889         * stmt.c (shift_return_value): New function.
890         (expand_return): Use it.  Adjust memory->register copy in the same
891         way as copy_blkmode_from_reg.  Only change the return register's
892         mode if it was originally BLKmode.
893         * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
894         * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
895         (mips_fpr_return_fields): New, split out from mips_function_value.
896         (mips_return_in_msb, mips_return_fpr_pair): New functions.
897         (mips_function_value): Rework to use the functions above.
898         * config/mips/irix6-libc-compat.c: Delete.
899         * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
900
901 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
902
903         * doc/install.texi (--enable-checking): Update valgrind's URL.
904
905 2003-11-16  Kazu Hirata  <kazu@cs.umass.edu>
906
907         * config/h8300/h8300.md: Fix warnings by replacing -2147483648
908         with -2147483647 - 1.
909
910 2003-11-16  Gerald Pfeifer  <gerald@pfeifer.com>
911
912         Fix links in online manuals.
913         * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
914         (Precompiled Headers): @pxref to cpp, not cpp.info.
915
916 2003-11-16  Jason Merrill  <jason@redhat.com>
917
918         * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
919         files in each directory and TAGS files that include them for each
920         front end.
921
922 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
923
924         * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
925         3 of S2L.
926         (modnorm): Likewise.
927         (exitdiv): Look at bit 3 of S2L only.
928
929 2003-11-15  Kazu Hirata  <kazu@cs.umass.edu>
930
931         * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
932         (DO_GLOBAL_DTORS_BODY): Likewise.
933
934 2003-11-15  Joseph S. Myers  <jsm@polyomino.org.uk>
935
936         * doc/install.texi (Prerequisites): Refine documentation of
937         autoconf, automake and perl requirements.  Document required
938         gettext version.
939
940 <2003-11-14  Jason Merrill  <jason@redhat.com>
941
942         * function.c (assign_parms): Use TREE_TYPE to determine the real
943         type of the argument object.
944
945 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
946
947         * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
948         iteration.
949
950 2003-11-14  Fariborz Jahanian <fjahanian@apple.com>
951
952         * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
953           New routine to save vararg registers on stack. Support for
954           -mpowerpc64 in mixed mode.
955
956 2003-11-14  Bernardo Innocenti  <bernie@develer.com>
957
958         * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
959         for MOTOROLA versus MIT syntax.  Improves readability and provides
960         better compile-time error checking for both code paths.
961
962 2003-11-14  Kelley Cook  <kcook@gcc.gnu.org>
963
964         * config/frv/frv-protos.h: Update for C90.
965         * config/frv/frv.h: Likewise.
966         * config/frv/frvbegin.c: Likewise.
967         * config/frv/frv.c: Likewise.
968         (frv_adjust_field_align): Delete unused variable.
969
970 2003-11-14  Geoffrey Keating  <geoffk@apple.com>
971
972         * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
973         to each place where TARGET_LONG_DOUBLE_128 is used with
974         DEFAULT_ABI == ABI_AIX.
975
976         * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
977         message comply with GNU standards.
978
979 2003-11-14  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
980
981         PR/6552
982         * function.c (struct epi_info): New field const_equiv.
983         (update_epilogue_consts): New function.
984         (keep_stack_depressed): Clear new field and verify scratch register
985         doesn't have it set.
986         Call new function via note_stores.
987         (handle_epilogue_set): Allow setting SP equiv reg in different mode.
988         Allow PLUS where second operand is register known set to constant.
989         (emit_equiv_load): Write load using proper mode if source different.
990         * config/mips/mips.md (return_internal): Put (return) first.
991
992 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
993
994         * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
995
996 2003-11-14  Kazu Hirata  <kazu@cs.umass.edu>
997
998         * config/h8300/lib1funcs.asm (modsi3): Don't save unused
999         registers.
1000         (divsi3): Likewise.
1001         (reti): Don't restore unused registers.
1002
1003 2003-11-14  Nick Clifton  <nickc@redhat.com>
1004
1005         * config/fr30/fr30.c: Include toplev.h
1006
1007 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1008
1009         * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
1010
1011 2003-11-14  Richard Earnshaw  <rearnsha@arm.com>
1012
1013         * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
1014         function definition syntax.
1015
1016 2003-11-14  Eric Christopher  <echristo@redhat.com>
1017
1018         * reload1.c (reload): Revert previous patch. Make
1019         check for assignment into reg_equiv_address stricter.
1020
1021 2003-11-14  Arnaud Charlet  <charlet@act-europe.fr>
1022
1023         * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
1024
1025 2003-11-14  Richard Sandiford  <rsandifo@redhat.com>
1026
1027         * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
1028         section names.
1029
1030 2003-11-14  Jason Merrill  <jason@redhat.com>
1031
1032         PR middle-end/12526
1033         * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
1034         * calls.c (call_expr_flags): New fn.
1035         * tree.h: Declare it.
1036
1037 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1038
1039         * config/h8300/lib1funcs.asm (__udivsi3): Remove.
1040         (divmodsi3): Change the name to ___udivsi3.
1041         Update all callers.
1042
1043 2003-11-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1044
1045         * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
1046         __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
1047         __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
1048         __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
1049         __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
1050         __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
1051         Const-ify and/or initialize automatic variables at declaration.
1052
1053 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1054
1055         * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
1056         of er4 with er3.  Adjust all callers.
1057
1058 2003-11-13  Andrew Pinski <apinski@apple.com>
1059
1060         * config/darwin.c (machopic_output_possible_stub_label):
1061         Allow stub symbol be not defined when outputting possible
1062         stub label.
1063
1064 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1065
1066         * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
1067         instead of exitdiv.
1068         (___umodsi3): Likewise.
1069         (exitdiv): Do not restore any register.
1070         (reti): Restore registers.
1071
1072 2003-11-13  Steven Bosscher  <stevenb@suse.de>
1073
1074         * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
1075
1076 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1077
1078         * config/h8300/lib1funcs.asm: Fix comment typos.
1079
1080 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
1081
1082         * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
1083         unused registers.  Don't jump to exitdiv.
1084         (umodsi3): Likewise.
1085
1086 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
1087             Kean Johnston <jkj@sco.com>
1088
1089         PR c/13029
1090         * toplev.c (check_global_declarations): Do not warn about unused
1091         static consts.
1092
1093 2003-11-13  Pavel Pisa  <pisa@cmp.felk.cvut.cz>
1094             Kazu Hirata  <kazu@cs.umass.edu>
1095
1096         * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
1097         the approximate quotient method.
1098
1099 2003-11-13  Richard Earnshaw  <rearnsha@arm.com>
1100
1101         * combine.c (distribute_notes): When re-distributing the notes from
1102         an insn we are about to delete, ensure we can't end up with a cyclic
1103         list of notes.
1104
1105 2003-11-13  Eric Botcazou  <ebotcazou@libertysurf.fr>
1106
1107         PR optimization/12926
1108         * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
1109         the UNCHANGING_RTX_P flag on memory references to read-only
1110         components that are not addressable.
1111
1112 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1113
1114         * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
1115         DenHighNonZero.
1116
1117 2003-11-13  Jan Hubicka  <jh@suse.cz>
1118
1119         PR opt/12275
1120         * c-decl.c (finish_decl): Use change_decl_assembler_name.
1121         * c-pragma.c (handle_pragma_redefine_extname): Likewise.
1122         * varasm.c (make_decl_rtl): Likewise.
1123         * cgraph.c (change_decl_assembler_name): New function.
1124         * tree.h (set_decl_assembler_name): Kill dead declaration.
1125         (change_decl_assembler_name): Declare.
1126
1127         * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1128         * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
1129
1130 2003-11-12  Kazu Hirata  <kazu@cs.umass.edu>
1131
1132         * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
1133         an unused register.
1134
1135 2003-11-12  Richard Sandiford  <rsandifo@redhat.com>
1136
1137         PR bootstrap/12752
1138         * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
1139         (MULTILIB_OSDIRNAMES): Reorder accordingly.
1140
1141 2003-11-12  Janis Johnson  <janis187@us.ibm.com>
1142
1143         * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
1144         (rs6000_stack_info): Remove.  (debug_stack_info): Remove.
1145         (rs6000_emit_eh_reg_restore): Add
1146         * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
1147         of vars_size and total_size to HOST_WIDE_INT.
1148         (emit_frame_save): Change parameter size to HOST_WIDE_INT.
1149         (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
1150         (debug_stack_info): Make static; change output format of HOST_WIDE_INT
1151         values.
1152         (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
1153         (rs6000_initial_elimination_offset): New, with code formerly in
1154         INITIAL_ELIMINATION_OFFSET.
1155         * rs6000.h (rs6000_stack_t): Remove.
1156         (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
1157         rs6000_initial_elimination_offset.
1158         * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
1159         rs6000_emit_eh_reg_restore.
1160
1161 2003-11-12  Mike Stump  <mrs@apple.com>
1162
1163         * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
1164         is the argumnt we are processing so that warnings and errors
1165         will have that information.
1166         * c-tree.h (c_convert_parm_for_inlining): Add argnum.
1167         * lang-hooks-def.h
1168         (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
1169         * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
1170         * langhooks.h (convert_parm_for_inlining): Likewise.
1171         * tree-inline.c (initialize_inlined_parameters): Compute and
1172         pass argnum down.
1173
1174 2003-11-12  Alexey Starovoytov  <alexey.starovoytov@sun.com>
1175             Roger Sayle  <roger@eyesopen.com>
1176
1177         PR optimization/12953
1178         * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
1179         before switch by FUNCTION_CODE.
1180
1181 2003-11-12  Richard Earnshaw  <rearnsha@arm.com>
1182
1183         * arm.md (storehi): Avoid use of explicit subreg.
1184         (storehi_bigend, storeinthi, movhi_bigend): Likewise.
1185
1186 2003-11-12  J"orn Rennecke <joern.rennecke@superh.com>
1187
1188         * config/sh/sh.md (prefetch): New pattern.
1189
1190 2003-11-11  Eric Christopher  <echristo@redhat.com>
1191
1192         * reload1.c (reload): Verify that addresses for
1193         reg_equiv_* are valid for the architecture.
1194
1195 2003-11-11  Eric Christopher  <echristo@redhat.com>
1196
1197         * function.c (purge_addressof_1): Add libcall check.
1198         Remove test for cached replacements on fallback case.
1199         Simplify mode comparisons. Add libcall test for
1200         paradoxical subregs.
1201
1202 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1203
1204         * config/h8300/t-h8300: Fix an obsolete comment.
1205
1206 2003-11-11  James E Wilson  <wilson@specifixinc.com>
1207
1208         * expmed.c (store_bit_field, extract_bit_field): Revert last two
1209         changes.
1210
1211 2003-11-11  Kazu Hirata  <kazu@cs.umass.edu>
1212
1213         * config/h8300/lib1funcs.asm: Replace DenHighZero with
1214         DenHighNonZero.
1215
1216 2003-11-11  Jan Hubicka  <jh@suse.cz>
1217
1218         * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
1219         really_no_inline.
1220
1221 2003-11-11  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1222
1223         * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
1224         generating 64-bit code.
1225
1226 2003-11-10  David Edelsohn  <edelsohn@gnu.org>
1227
1228         * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
1229         accidental commit in previous change.
1230
1231 2003-11-10  Fariborz Jahanian <fjahanian@apple.com>
1232
1233         * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
1234         * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
1235         address recognition.
1236         (macho_lo_sum_memory_operand): Routine to recognize macho-style
1237         address recognition.
1238
1239 2003-11-10  Richard Henderson  <rth@redhat.com>
1240
1241         * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
1242
1243 2003-11-10  Matt Austern  <austern@apple.com>
1244
1245         * config/darwin-protos.h (darwin_assemble_visibility): Declare.
1246         * config/darwin.c (darwin_assemble_visibility): Define.  Warn for
1247         anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
1248         * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
1249         darwin_assemble_visibility instead of default.
1250
1251 2003-11-10  Waldek Hebisch  <hebisch@math.uni.wroc.pl>
1252
1253         PR target/12865
1254         * config/sparc/sparc.c (sparc_initialize_trampoline): Call
1255         __enable_execute_stack only after writing onto the stack.
1256         (sparc64_initialize_trampoline): Likewise.
1257
1258 2003-11-09  Roger Sayle  <roger@eyesopen.com>
1259
1260         * loop.c (check_dbra_loop): Try swapping the comparison operands
1261         of the loop condition to identify a suitable induction variable.
1262         * unroll.c (loop_iterations): Likewise.
1263
1264 2003-11-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1265
1266         * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
1267         sparc64 #cpu and #machine assertions.
1268
1269 2003-11-09  Richard Henderson  <rth@redhat.com>
1270
1271         * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
1272
1273 2003-11-09  Jan Hubicka  <jh@suse.cz>
1274
1275         * tree-optimize.c (tree_rest_of_compilation): Fix warning.
1276
1277         * cgraphunit.c (cgraph_expand_function): Use
1278         cgraph_possibly_inlined_p.
1279         * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
1280
1281         * opts.c (common_handle_option): Do not set max-inline-insns.
1282         * params.def: Update comments.
1283         (PARAM_MAX_INLINE_INSNS): Kill.
1284         * invoke.texi (max-inline-insns): Kill.
1285
1286 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1287
1288         PR c/3190
1289         PR c/8714
1290         * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
1291         * invoke.texi: Update.
1292
1293 2003-11-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1294
1295         PR optimization/12630
1296         * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
1297         Handle length computation 64-bit moves.
1298         (compute_clrstr_length, output_block_clear): Implement block clear.
1299         (output_block_move): Handle 64-bit moves.
1300         (pa_adjust_insn_length): Use compute_movstr_length and
1301         compute_clrstr_length.
1302         * pa.md (movstrsi): Revise operand order and comments.  Don't use
1303         match_scratch.
1304         (movstrsi_internal): Delete.
1305         (movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
1306         and peephole2 patterns to transform prereload to postreload form.
1307         (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
1308         clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
1309         clrstrdi_postreload): New patterns for 64-bit block move, and block
1310         clear.
1311         * pa-protos.h (output_block_clear): New prototype.
1312
1313 2003-11-08  Andreas Schwab  <schwab@suse.de>
1314
1315         * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
1316         XCOFF_DEBUGGING_INFO.
1317
1318 2003-11-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
1319
1320         * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
1321
1322 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1323
1324         * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
1325         redundant parens.
1326
1327         * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
1328         (find_file_in_dir): Likewise.
1329         (_cpp_find_file): Print message if no header file is found
1330         but an invalid PCH file was.
1331
1332 2003-11-08  Joseph S. Myers  <jsm@polyomino.org.uk>
1333
1334         * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
1335         expressions as lvalues.
1336         (internal_build_compound_expr): Remove special handling for
1337         non-pedantic case.
1338         * doc/extend.texi: Document that all extended lvalues are now
1339         deprecated.
1340
1341 2003-11-07  Geoffrey Keating  <geoffk@apple.com>
1342
1343         PR 11654
1344         * dbxout.c (struct dbx_file): Do not save for PCH.
1345         (current_file): Likewise.
1346         (dbxout_init): Don't allocate struct dbx_file using GC.
1347         (dbxout_start_source_file): Likewise.
1348
1349 2003-11-07  Falk Hueffner  <falk@debian.org>
1350
1351         * config/alpha/elf.h, config/alpha/unicosmk.h,
1352         config/alpha/vms.h: Convert to ISO C90.
1353
1354 2003-11-07  Nathanael Nerode  <neroden@gcc.gnu.org>
1355
1356         * config/arm/pe.h: Convert to ISO C90.
1357
1358 2003-11-07  J"orn Rennecke <joern.rennecke@superh.com>
1359
1360         * sh-protos.h (sh_pch_valid_p): Declare.
1361         * sh.c ("intl.h"): Include.
1362         (TARGET_PCH_VALID_P): Override.
1363         (sh_target_switches): New variable.
1364         (target_switches): Define.
1365         (sh_pch_valid_p): New function.
1366
1367         * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
1368
1369 2003-11-07  Jan Hubicka  <jh@suse.cz>
1370
1371         * i386.c (x86_64_sign_extended_value):  Return false from tls variables.
1372         (x86_64_zero_extended_value):  likewise.
1373
1374 2003-11-07  Richard Sandiford  <rsandifo@redhat.com>
1375
1376         * config/mips/mips.md (loadgp): Take $25 as a second operand.
1377         * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
1378
1379 2003-11-06  Matt Austern <austern@apple.com>
1380
1381         * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
1382         field instead of hanging an attribute object off the decl.
1383         * tree.h (DECL_VISIBLITY): New accessor macro for
1384         symbol_visibility field in struct tree_decl.
1385         (enum symbol_visibility): Move definition to before tree_decl.
1386         (struct tree_decl): Define new two-bit field, symbol_visibility.
1387         (decl_visibility): Remove declaration.
1388         * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
1389         instead of decl_visibility.
1390         (default_binds_local_p_1):  Use DECL_VISIBILITY instead of
1391         decl_visibility.
1392         (decl_visibility): Remove.
1393
1394 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1395
1396         * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
1397         where register 14 will be saved.
1398
1399 2003-11-06  Geoffrey Keating  <geoffk@apple.com>
1400
1401         * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
1402         (USE_ALTIVEC_FOR_ARG_P): Likewise.
1403         * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
1404         Take a pointer as the CUM parameter.  Update callers.
1405         (USE_ALTIVEC_FOR_ARG_P): Likewise.  Also correct for Darwin/AIX
1406         32-bit ABIs.
1407         (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P.  Correct case
1408         of vector parameters as named arguments of stdarg function.
1409         (function_arg): Likewise.
1410
1411         * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
1412         -maltivec is specified, not the non-existent -faltivec.
1413
1414 2003-11-06  Ulrich Weigand  <uweigand@de.ibm.com>
1415
1416         * config/s390/s390-protos.h (s390_function_value): Declare.
1417         * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
1418         (s390_return_in_memory): New function.
1419         (s390_function_value): New function.
1420         (s390_function_arg_float): Return false for all arguments larger
1421         than 8 bytes.
1422         (s390_function_arg_pass_by_reference): Likewise.  Return true for
1423         all vector arguments.
1424         (s390_function_arg_integer): New function.
1425         (s390_function_arg_advance): Call it.  Add sanity checks.
1426         (s390_function_arg): Likewise.
1427         * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
1428         (LIBCALL_VALUE): Likewise.
1429         (RET_REG): Remove.
1430         (RETURN_IN_MEMORY): Remove.
1431
1432 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1433
1434         * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
1435         return type to HOST_WIDE_INT.
1436         * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
1437         Make initialized a bool.  Make register masks unsigned ints.
1438         (compute_frame_size): Make same mask change here.  Use HOST_WIDE_INT
1439         where appropriate.
1440         (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
1441         (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
1442
1443 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1444
1445         * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
1446         negation.
1447
1448 2003-11-06  Richard Sandiford  <rsandifo@redhat.com>
1449
1450         * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
1451
1452 2003-11-06  Momchil Velikov  <velco@fadata.bg>
1453
1454         * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
1455         for VR4111 too.
1456
1457 2003-11-06  Jan Hubicka  <jh@suse.cz>
1458
1459         * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
1460         missing casts.
1461
1462 2003-11-06  Zack Weinberg  <zack@codesourcery.com>
1463
1464         * genmodes.c: Change the word "bitsize" to "precision" throughout.
1465         * machmode.def: Likewise.
1466         * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
1467         (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
1468         (GET_MODE_PRECISION): New macro.
1469         (mode_bitsize): Renamed mode_precision.
1470         * stor-layout.c (mode_for_size, smallest_mode_for_size):
1471         Use GET_MODE_PRECISION; clarify comments.
1472
1473 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1474
1475         * doc/install-old.texi: Remove old documentation of building
1476         cross-compilers.
1477         * doc/install.texi: Move some of it to here.
1478
1479 2003-11-05  Per Bothner  <pbothner@apple.com>
1480
1481         PR preprocessor/12891
1482         * c-opts.c (finish_options):  Set include_cursor to disable premature
1483         calls to push_command_line_include from cpp_scan_nooutput.
1484         Fixes bug reported by DJ Delorie.
1485
1486 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
1487
1488         * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
1489         code supporting old-style varargs.
1490
1491         * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
1492         an intermediate register for better optimisation.
1493
1494 2003-11-05  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
1495
1496         PR optimization/10080
1497         * cfgloopanal.c (variable_initial_value, variable_initial_values,
1498         simple_loop_exit_p): Record the fact that initial value is extended
1499         from inner mode.
1500         (count_strange_loop_iterations, count_loop_iterations): Handle
1501         ivs that iterate in a narrower mode. Fix handling of overflows.
1502         Improve handling of NE conditions.
1503         (inverse, fits_in_mode_p): New static functions.
1504         (simple_increment): Detect variables that iterate in a narrower mode.
1505         * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
1506
1507 2003-11-05  Geoffrey Keating  <geoffk@apple.com>
1508
1509         * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
1510         error.
1511
1512         * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
1513         needs VRSAVE.
1514
1515 2003-11-05  Joseph S. Myers  <jsm@polyomino.org.uk>
1516
1517         * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
1518         conditional expressions as lvalues.
1519
1520 2003-11-05  Kazu Hirata  <kazu@cs.umass.edu>
1521
1522         * tsystem.h: Add the prototype of strlen.
1523         * unwind-pe.h (read_encoded_value_with_base): Add an
1524         appropriate cast to handle a case where the pointer size is
1525         smaller than sizeof (int).
1526
1527 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1528
1529         * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
1530         (mips_delegitimize_address): Delete.
1531         (mips_gotoff_global, mips_load_got_page): Declare.
1532         (mips_load_got_global, mips_rewrite_small_data): Declare.
1533
1534         * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
1535         (DANGEROUS_FOR_LA25_P): Use global_got_operand.
1536         (PREDICATE_CODES): Add global_got_operand, local_got_operand and
1537         small_data_pattern.  Remove CONST from const_arith_operand's entry.
1538
1539         * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
1540         (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
1541         (mips_constant_type): Delete.
1542         (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
1543         SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
1544         (NUM_SYMBOL_TYPES): New macro.
1545         (mips_address_type): Remove ADDRESS_INVALID.
1546         (machine_function): Add has_gp_insn_p.
1547         (mips_constant_info): Delete.
1548         (mips_address_info): Add the address type as an extra field.  Replace
1549         the c field with symbol_type.
1550         (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
1551         (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
1552         (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
1553         (mips_split_const, mips_symbolic_constant_p): New functions.
1554         (mips_symbolic_address_p): Take the symbol type and mode as arguments.
1555         (mips_classify_address): Return true if the address is valid, storing
1556         its type in INFO.  Use mips_symbolic_constant_p.  Use mips_lo_relocs[]
1557         to test whether a LO_SUM address is allowed.
1558         (mips_symbol_insns): Return 0 for general mips16 symbols.
1559         Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
1560         Handle the new SYMBOL_GOTOFF_*s.
1561         (mips_address_insns): Update call to mips_classify_address.
1562         (mips_const_insns): Be more fussy about HIGH constants.  Remove use
1563         of mips_classify_constant.  Be more accurate about CONSTs.
1564         (mips_global_pic_constant_p): Delete.
1565         (const_arith_operand): Only accept CONST_INTs.
1566         (call_insn_operand): Remove call to mips_classify_constant.
1567         Let mips_symbolic_constant_p check for invalid offsets.
1568         (move_operand): Check for general_operands first.  Only accept symbolic
1569         constants if they satisfy mips_symbolic_constant_p and cannot be split.
1570         (symbolic_constant): Use mips_symbolic_constant_p.
1571         (global_got_operand, local_got_operand): New predicates.
1572         (stack_operand): Update call to mips_classify_address.
1573         (mips_legitimate_address_p): Likewise.
1574         (mips_reloc, mips_lui_reloc): Delete.
1575         (mips_force_temporary): Only use the given temporary if no_new_pseudos.
1576         Use emit_move_insn.
1577         (mips_split_symbol, mips_unspec_address): New functions.
1578         (mips_unspec_offset_high): New function.
1579         (mips_load_got): Replace reloc argument with a symbol_type.
1580         Use mips_unspec_address to create the address and put it in a
1581         LO_SUM with the base register.
1582         (mips_load_got16, mips_load_got32): Delete.
1583         (mips_emit_high, mips_legitimize_symbol): Delete.
1584         (mips_gotoff_global): New function.
1585         (mips_load_got_page, mips_load_got_global): New functions.
1586         (mips_legitimize_symbol): Inline handling of LO_SUM splits.
1587         (mips_legitimize_const_move): Likewise.  Remove HIGH handling.
1588         Inline code to handle constants plus invalid offsets.  Use
1589         mips_split_symbol to legitimize constant pool addresses.
1590         (mips_delegitimize_address): Delete.
1591         (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
1592         a cost of 1 insn.  Give the rest a cost of CONSTANT_POOL_ADDRESS.
1593         (mips_subword): Pass memrefs through mips_rewrite_small_data.
1594         (mips_output_move): Remove use of mips_classify_constant.
1595         (mips_expand_call): Use mips_unspec_offset_high to calculate the
1596         high part of the GOT address for calls to global functions.
1597         (override_options): Initialize mips_split_p[], mips_lo_relocs[]
1598         and mips_hi_relocs[].
1599         (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
1600         Remove use of mips_classify_constant.
1601         (mips_reloc_string): Delete.
1602         (print_operand_reloc): New function.
1603         (print_operand_address): Update call to mips_classify_address.
1604         (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
1605         (small_data_pattern): New predicate.
1606         (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
1607         (mips_function_has_gp_insn): New function.
1608         (mips_global_pointer): Use it.
1609         (mips_gp_insn): Delete.
1610         (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
1611         single loadgp pattern to initialize $gp.  Pass it the offset of _gp
1612         from the start of the current function.
1613         (mips16_gp_pseudo_reg): Revert last patch.
1614
1615         * config/mips/mips.md (RELOC_*): Delete.
1616         (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
1617         (got): New insn attribute.
1618         (type): Set to "load" if got == load.
1619         (length): Set to 4 if got == load, 8 if got == xgot_high.
1620         (lui[sd]i): Delete.
1621         (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
1622         (*got_disp[sd]i, *got_page[sd]i): Likewise.
1623         (*low[sd]i): Change constraints to "d".  Add a new define_split to
1624         rewrite small data constants into LO_SUMs.
1625         (loadgp): New insns.
1626
1627 2003-11-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1628
1629         * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
1630
1631 2003-11-04  DJ Delorie  <dj@redhat.com>
1632
1633         * config/v850/v850.md (mulhisi3): Expand the const_int case
1634         separately to avoid trying to sign extend the const.
1635
1636 2003-11-04  Richard Sandiford  <rsandifo@redhat.com>
1637
1638         * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
1639         addresses to be shared.
1640         (force_const_mem): Return a copy of the pool entry.
1641
1642 2003-11-03  Andreas Jaeger  <aj@suse.de>
1643
1644         * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
1645
1646 2003-11-03  Kelley Cook  <kcook@gcc.gnu.org>
1647
1648         * Makefile.in (cpp.dvi): New target split from cpp.info.
1649         (gcc.dvi):  New target split from gcc.info.
1650         (gccint.dvi): New target split from gccint.info.
1651         (cppinternals.dvi): New target split from cppinternals.info
1652         (gccinstall.info): New specific rule.
1653         (gccinstall.dvi): Likewise.
1654         (dvi): Move targets to $(docobjdir).
1655         ($(docobjdir)/%.dvi): New implicit rule.
1656
1657 2003-11-03  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
1658
1659         * doc/gty.texi (tag, desc): Say more about role of desc values in
1660         selecting between tags.
1661
1662 2003-11-03  Alexander Kabaev  <ak03@gte.com>
1663
1664         * real.c (encode_ieee_single): Ensure proper promotion.
1665
1666 2003-11-03  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
1667
1668         * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
1669         and Andrew Pinski.
1670
1671 2003-11-03  Syd Polk  <spolk@apple.com>
1672
1673         * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
1674         marketing names to the list of supported processors.
1675         * config/rs6000/rs6000.h: Ditto.
1676         * doc/invoke.texi: Ditto.
1677         * config.gcc: Ditto.
1678
1679 2003-11-03  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
1680
1681         * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
1682         Merge two substitutions.
1683         * fixinc/fixincl.x: Regenerate.
1684         Fixes PR bootstrap/12666.
1685
1686 2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
1687
1688         * doc/install-old.texi: Remove VMS documentation.
1689
1690 2003-11-03  Jan Hubicka  <jh@suse.cz>
1691
1692         * i386.c (override_options):  Remove hack enabling 128bit long double
1693         commited by accident.
1694
1695 2003-11-02  Per Bothner  <per@bothner.com>
1696
1697         * c-opts.c (needValue):  Do cpp_find_main_file before processing
1698         any imacros flags, so pfile->main_file is set for the latter.
1699
1700 2003-11-03  Andreas Jaeger  <aj@suse.de>
1701             Zack Weinberg  <zack@codesourcery.com>
1702
1703         * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
1704         (SYSCALLS.c.X-warn): Suppress warnings.
1705
1706 2003-11-02  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1707
1708         PR optimization/12845
1709         * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
1710
1711 2003-11-02  Zack Weinberg  <zack@codesourcery.com>
1712
1713         * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
1714         * config/i386/i386.c (print_reg): Abort on a virtual register
1715         if code != -1; not if file == asm_out_file.
1716         * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
1717         (DEBUG_PRINT_REG): Delete, unused.
1718
1719 2003-11-02  Andreas Schwab  <schwab@suse.de>
1720
1721         * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
1722         empty to avoid conflict with the definition from configure.
1723
1724 2003-11-02  Roger Sayle  <roger@eyesopen.com>
1725
1726         PR optimization/10817
1727         * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
1728         (noce_try_move): New function to optimize an if-the-else into an
1729         unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
1730         (noce_process_if_block): Attempt simplification with noce_try_move.
1731
1732         * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
1733         and improvements to the optimizations of IF_THEN_ELSE expressions.
1734         (simplify_subreg): Silence signed/unsigned comparison warning.
1735
1736 2003-11-02  Richard Sandiford  <rsandifo@redhat.com>
1737
1738         * Makefile.in (targhooks.o, reload.o): Update dependencies.
1739         (GTFILES): Add targhooks.c.
1740         (gt-targhooks.h): New rule; depend on s-gtype.
1741         * target.h (direct_pool_load_p): New hook.
1742         * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1743         (TARGET_INITIALIZER): Include it.
1744         * targhooks.h (default_direct_pool_load_p): Declare.
1745         (hook_bool_machine_mode_true): Declare.
1746         * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1747         gt-targhooks.h.
1748         (pool_symbol): New variable.
1749         (default_direct_pool_load_p): New function.
1750         (hook_bool_machine_mode_true): New function.
1751         * reload.c: Include target.h.
1752         (find_reloads): If an alternative will force a constant into memory,
1753         count an extra reload if constant pool symbols are not valid
1754         addresses.  If an alternative uses memory to move values between
1755         registers, count the move as two reloads rather than one.
1756         * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1757         * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1758
1759 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1760
1761         PR optimization/12799
1762         * postreload.c (reload_cse_move2add): Generate the add2
1763         patterns manually.
1764
1765 2003-11-02  Eric Botcazou  <ebotcazou@libertysurf.fr>
1766
1767         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1768         Return 0 for all complex modes whose size is lesser or equal to
1769         a word.  Add a ??? comment for the condition used with 16-byte
1770         aligned modes.
1771
1772 2003-11-01  Kelley Cook  <kcook@gcc.gnu.org>
1773
1774         * .cvsignore: Remove c-parse* and tradcif.c.
1775         * objc/.cvsignore: Delete.
1776
1777 2003-11-01  Roger Sayle  <roger@eyesopen.com>
1778
1779         * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1780         of NULL.
1781
1782 2003-11-01  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1783
1784         * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1785
1786         * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1787
1788         * collect2.c (scan_libraries): Fix typos.
1789
1790         PR preprocessor/12847
1791         * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1792         cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1793         c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1794         DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1795         "CPP_".
1796
1797 2003-11-01  Fariborz Jahanian  <fjahanian@apple.com>
1798
1799         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1800         no_units calculation.
1801
1802 2003-11-01  Andreas Jaeger  <aj@suse.de>
1803
1804         * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1805         enumeration list.
1806
1807 2003-11-01  Andreas Schwab  <schwab@suse.de>
1808
1809         * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1810         prototypes.
1811         (SBSS_SECTION_FUNCTION): Likewise.
1812
1813 2003-11-01  Andreas Jaeger  <aj@suse.de>
1814
1815         * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1816
1817 2003-11-01  Andreas Tobler  <a.tobler@schweiz.ch>
1818
1819         * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1820         prototypes.
1821
1822 2003-11-01  Andreas Jaeger  <aj@suse.de>
1823
1824         * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1825         (uw_frame_state_for): Constify variables.
1826         (extract_cie_info): Constify first argument.
1827
1828         * unwind-dw2-fde-darwin.c: Adjust prototype of
1829         _Unwind_Find_registered_FDE for recent changes.
1830         (examine_objects): Constify return value and local variable result.
1831         (_Unwind_Find_FDE): Constify return value and local variable ret.
1832
1833 2003-10-31  Per Bothner  <pbothner@apple.com>
1834
1835         * c-opts.c (finish_options):  Change to returns boolean - false iff
1836         the call to cpp_find_main_file fails.
1837         (c_common_init):  Skip preprocess_file if finish_options failed.
1838         (c_common_parse_file):  Break if finish_options failed.
1839         Fixes PR preprocessor/12545.
1840
1841 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1842
1843         * aclocal.m4: Blacklist ultrix* for mmap file.
1844         * configure: Rebuilt.
1845
1846         * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1847         reg_parm_stack_space.
1848         * toplev.c (default_get_pch_validity): Fix warning.
1849
1850         * vax.c: Include toplev.h.
1851         (vax_init_libfuncs): Fix typo (umod).
1852         * vax.h (ASM_COMMENT_START): Define.
1853         (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1854
1855 2003-10-31  Roger Sayle  <roger@eyesopen.com>
1856
1857         PR middle-end/11968
1858         * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1859         confusing comment; distributivity isn't handled in expand_expr.
1860         * fold-const.c (extract_muldiv_1 <PLUS_EXPR>):  Allow overflow
1861         in distributivity, if wrap-around semantics are specified with
1862         -fwrapv.
1863
1864 2003-11-01  Alan Modra  <amodra@bigpond.net.au>
1865
1866         PR 12315
1867         * final.c (profile_function): Allow for NULL svrtx.
1868
1869 2003-10-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
1870
1871         * pa.c (pa_select_section): Use new style declaration.
1872         * som.h (readonly_data): Likewise.
1873
1874 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1875
1876         * config/rs6000/rs6000.c: Update to C90 prototypes.
1877
1878 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1879
1880         PR target/7513
1881         * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1882         code.
1883
1884 2003-10-31  Andreas Jaeger  <aj@suse.de>,
1885             Zack Weinberg  <zack@codesourcery.com>
1886
1887
1888         * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1889         (__deregister_frame_info, __deregister_frame_info_bases):
1890         Constify void * argument.
1891         * unwind-dw2-fde.h (struct fde_vector):
1892         Constify 'orig_data' and 'array' fields.
1893         (__register_frame_info, __register_frame_info_bases)
1894         (__deregister_frame_info, __deregister_frame_info_bases):
1895         Constify void * argument.
1896         (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1897         return values, and casts of type fde *, struct dwarf_fde *,
1898         and struct dwarf_cie *.
1899         * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1900         (__deregister_frame_info, __deregister_frame_info_bases):
1901         Constify void * argument.
1902         (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1903         (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1904         (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1905         fde_split, SWAP, frame_downheap, frame_heapsort)
1906         (classify_object_over_fdes, add_fdes, linear_search_fdes,
1907         binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1908         binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1909         Constify arguments, local variables, return values, and casts
1910         of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1911         Use const pointer types in sizeof expressions, for clarity.
1912         * unwind-dw2-fde-glibc.c
1913         (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1914         (struct unw_eh_callback_data): Constify 'ret' field.
1915
1916 2003-10-31  Fariborz Jahanian  <fjahanian@apple.com>
1917             David Edelsohn  <edelsohn@gnu.org>
1918
1919         * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1920         (function_arg): Call it.
1921         (rs6000_function_value): Widen integral return value to mode based
1922         on TARGET_32BIT, not word_mode.
1923         * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
1924         (UNITS_PER_ARG): New.
1925         (RS6000_ARG_SIZE): Use it.
1926
1927 2003-10-31  Gerald Pfeifer  <gerald@pfeifer.com>
1928
1929         * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1930         and gengtype-yacc.h.
1931
1932 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1933
1934         PR optimization/8896
1935         * postreload.c (reload_combine): Check that REGY doesn't die in an
1936         insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1937
1938 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1939
1940         PR/10239
1941         * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1942
1943 2003-10-31  Josef Zlomek  <zlomekj@suse.cz>
1944
1945         PR/11640
1946         * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1947         immediatelly before BARRIER.
1948
1949 2003-10-31  Kelley Cook  <kcook@gcc.gnu.org>
1950
1951         * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1952
1953 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1954
1955         PR target/11271
1956         * reload.c (find_reloads_address): Handle any register in
1957         (PLUS (PLUS (REG) (REG)) (CONST_INT).
1958
1959 2003-10-31  Richard Earnshaw  <rearnsha@arm.com>
1960
1961         * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
1962         ENABLE_GC_CHECKING not in GGC_POISON.
1963
1964 2003-10-31  Nathanael Nerode  <neroden@gcc.gnu.org>
1965
1966         PR bootstrap/9863
1967         * configure.in: Bail out if awk is missing.
1968         * configure: Regenerate.
1969
1970         PR ada/12761
1971         * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1972         T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1973
1974 2003-10-30  Richard Henderson  <rth@redhat.com>
1975
1976         * c-objc-common.c (c_tree_printer): Handle types correctly.
1977         Factor code a bit.
1978
1979 2003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1980
1981         * value-prof.c, web.c: Update to C90.
1982
1983 2003-10-30  Eric Christopher  <echristo@redhat.com>
1984
1985         * function.c (purge_addressof_1): Add case for REG_RETVAL
1986         notes when modes are unequal.
1987
1988 2003-10-31  Jan Hubicka  <jh@suse.cz>
1989
1990         * i386-modes.def: Add XFmode format adjustment.
1991
1992 2003-10-30  Jan Hubicka  <jh@suse.cz>
1993
1994         * real.c (encode_ieee_extended): Back out previous patch.
1995
1996 2003-10-30  Jan Hubicka  <jh@suse.cz>
1997
1998         * real.c (encode_ieee_extended): Initialize whole array.
1999         * reg-stack.c (move_for_stack_reg0: Use always XFmode.
2000         * i386-modes.def: Change definitions of TFmode and XFmode.
2001         * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
2002         code.
2003         (construct_container): Allow constructing of TFmode integer containers.
2004         (ix86_return_in_memory):  XFmode is not returned in memory.
2005         (init_ext_80387_constants): Always use XFmode.
2006         (print_operand): Likewise.
2007         (ix86_prepare_fp_compare_regs): Likewise.
2008         (split_to_parts): Deal with TFmode.
2009         (split_long_move): Simplify.
2010         (ix86_init_mmx_sse_builtins): Add __float80, __float128.
2011         (ix86_memory_move_cost): Do not confuse TFmode.
2012         * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
2013         (IS_STACK_MODE): TFmode is not stack mode.
2014         (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
2015         (VALID_SSE_REG_MODE): Allow TFmode.
2016         (VALID_FP_MODE_P): Disallow TFmode.
2017         (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
2018         * i386.md (TFmode patterns): Kill.
2019         (movtf, motf_rex64): New patterns.
2020
2021 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2022
2023         * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
2024
2025 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2026
2027         * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
2028         (mov_lwr, mov_swl, mov_swr): Likewise.
2029         (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
2030
2031 2003-10-30  Richard Sandiford  <rsandifo@redhat.com>
2032
2033         * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
2034
2035 2003-10-30  Richard Henderson  <rth@redhat.com>
2036
2037         * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
2038         test for irix6 rather than preprocessor test.
2039
2040 2003-10-30  Richard Henderson  <rth@redhat.com>
2041
2042         * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
2043
2044 2003-10-30  Ulrich Weigand  <uweigand@de.ibm.com>
2045
2046         * config/s390/s390.c (struct machine_function): Use save_return_addr_p
2047         as a general flag that the return address register needs to be saved,
2048         not necessarily because of __builtin_return_addr (0).
2049         (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
2050         remove special handling of zSeries machines.
2051         (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
2052         register as a regular register on zSeries machines.
2053         (s390_reorg): Adjust calls to s390_split_branches and
2054         s390_optimize_prolog.
2055         (s390_frame_info): On zSeries machines, do not assume the return
2056         register is always used.  Update regs_ever_live with current data
2057         for the special registers.
2058         (s390_emit_epilogue): Use save_return_addr_p to determine whether
2059         the return register was saved.
2060         * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
2061         RETURN_REGNUM fixed on zSeries machines.
2062         (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
2063         * config/s390/s390.md ("*doloop_si"): Handle branch overflow
2064         via ahi-jgne pair on zSeries machines.
2065         ("*doloop_di"): Likewise.
2066         ("*doloop_di_long"): Remove.
2067
2068 2003-10-30  Richard Earnshaw  <rearnsha@arm.com>
2069
2070         * arm.c (arm_override_options): Revert change of arm_constant_limit
2071         when optimizing for size.
2072
2073 2003-10-29  Richard Henderson  <rth@redhat.com>
2074
2075         * fold-const.c (fold_single_bit_test): Convert the input to the
2076         operational intermediate type.
2077
2078 2003-10-29  Richard Henderson  <rth@redhat.com>
2079
2080         * builtins.c (std_build_builtin_va_list): New.
2081         * expr.h (std_build_builtin_va_list): Declare.
2082         * defaults.h (BUILD_VA_LIST_TYPE): New.
2083         * system.h (BUILD_VA_LIST_TYPE): Poison.
2084         * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
2085         * target.h (struct gcc_target): Add build_builtin_va_list.
2086         * tree.c (build_common_tree_nodes_2): Use it.
2087
2088         * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2089         config/alpha/alpha.h, config/alpha/unicosmk.h,
2090         config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
2091         config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
2092         config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
2093         config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
2094         config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
2095         config/mips/mips.h, config/rs6000/rs6000-protos.h,
2096         config/rs6000/rs6000.c, config/rs6000/rs6000.h,
2097         config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
2098         config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
2099         config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
2100         config/xtensa/xtensa.h: Rename foo_build_va_list to
2101         foo_build_builtin_va_list; make it static.  Define
2102         TARGET_BUILD_BUILTIN_VA_LIST.  Remove BUILD_VA_LIST_TYPE.
2103         Update protos.
2104
2105         * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
2106         * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
2107
2108 2003-10-29  James E Wilson  <wilson@specifixinc.com>
2109
2110         * recog.c (asm_operand_ok): Add missing break after case 'X'.
2111         Change if statements to else if statements in default case.
2112         (extract_constrain_insn_cached): Fix misspelling of constrain_operands
2113         in comment.
2114         (constrain_operands_cached): Likewise.
2115         (constrain_operands): Change if statements to else if statements in
2116         default case.
2117         * reload.c (find_reloads): Likewise.
2118
2119 2003-10-29  Richard Henderson  <rth@redhat.com>
2120
2121         * config/m68k/m68k.c (notice_update_cc): Clear cc status for
2122         shifts and rotates.
2123
2124 2003-10-30  Alan Modra  <amodra@bigpond.net.au>
2125
2126         * config/rs6000/rs6000.md: Remove duplicate pattern.
2127
2128 2003-10-29  Hans-Peter Nilsson  <hp@axis.com>
2129
2130         * real.c (do_divide): Initialize result with a 0.
2131
2132         * configure.in <enable-checking for valgrind>: Look for
2133         <valgrind/memcheck.h> first.  AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
2134         if it exists.
2135         * configure, config.in: Regenerate.
2136         * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
2137         HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>.  Use
2138         #elif for other alternatives.
2139         * ggc-page.c: Ditto.
2140         * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
2141         include structure from ggc-common.c.
2142
2143 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2144
2145         * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
2146         (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
2147         * pa.c (pa_adjust_insn_length): Check for btable branches using
2148         attribute TYPE_BTABLE_BRANCH.
2149         (pa_reorg): Simplify.
2150         * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
2151         (ASM_OUTPUT_ADDR_VEC_ELT): As above.
2152         (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
2153         * pa.md (btable_branch): New instruction type.
2154         (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
2155         btable branches.
2156         (define_delay): Add btable branches to insn types that may have an
2157         insn in the delay position.
2158         (Z2, Z3): Add btable branch to list.
2159         Simplify unamed pattern set copy pic_label_operand to register.  Add
2160         PA 2.0 variant.
2161         (short_jump): New jump for use in branch tables.
2162         (casesi, casesi0): Revise for new branch table formats.
2163         (casesi32, casesi32p, casesi64p): New casesi patterns.
2164         (indirect_jump): Move.
2165
2166 2003-10-29  David Edelsohn  <edelsohn@gnu.org>
2167
2168         * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
2169         !TARGET_POWERPC64.
2170         (UNITS_PER_GPR_WORD): Delete.
2171         (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
2172         (HARD_REGNO_MODE_OK): Same.
2173         (CLASS_MAX_NREGS): Same.
2174
2175 2003-10-29  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
2176
2177         * pa.h (ASM_COMMENT_START): Define.
2178
2179 2003-10-29  Zack Weinberg  <zack@codesourcery.com>
2180
2181         * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
2182         MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
2183         component, not zero.
2184
2185 2003-10-29  Andreas Schwab  <schwab@suse.de>
2186
2187         * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
2188
2189 2003-10-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
2190
2191         * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
2192         Never return 1 for complex integral modes whose size is lesser or
2193         equal to a word.
2194         (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
2195         in the comment.
2196         (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
2197         modes.
2198         (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
2199         greater than 16 bytes by reference.
2200
2201 2003-10-29  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2202
2203         * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
2204         not TARGET_ILP32.
2205         (ia64_initialize_trampoline): Use globalize_label target call.
2206
2207 2003-10-29  Andreas Schwab  <schwab@suse.de>
2208
2209         * doc/install.texi (Building): Add a sentence about building Ada
2210         for a canadian cross.
2211
2212 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2213
2214         * config/ia64/ia64.c (cmptf_libfunc): New static.
2215         (ia64_expand_compare): Add logic to open-code calls to
2216         _U_Qfcmp for TFmode comparisons.
2217         (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
2218         Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
2219         never be generated anymore.
2220         * config/ia64/ia64.md (cmptf): New expander.
2221
2222 2003-10-28  Zack Weinberg  <zack@codesourcery.com>
2223
2224         * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
2225         (*sqrt_approx): New instruction pattern for approximate square roots.
2226         (*setf_exp_xf): New instruction pattern for exponentiation.
2227         (*maddxf4_alts_truncsf): New instruction pattern for truncation.
2228         (sqrtsf2_internal_thr): New define_and_split implementing
2229         throughput-optimized inline calculation of SFmode square root.
2230         (sqrtdf2_internal_thr): Likewise for DFmode.
2231         (sqrtxf2_internal_thr): Likewise for XFmode.
2232         (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
2233         latency- and throughput-optimized square root algorithms.
2234         * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
2235         TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
2236         New macros.
2237         (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
2238         -minline-sqrt-max-throughput.
2239         * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
2240         and -minline-sqrt-max-throughput are given, notify the user
2241         that both options cannot be used simultaneously.
2242         If -minline-sqrt-min-latency is given, notify the user that
2243         this mode is not yet implemented.
2244         (rtx_needs_barrier): Reformat initial comment to obey
2245         72-character width limit.  Support UNSPEC_SETF_EXP and
2246         UNSPEC_FR_SQRT_RECIP_APPROX.
2247
2248 2003-10-29  Alan Modra  <amodra@bigpond.net.au>
2249
2250         * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
2251         moves.
2252
2253 2003-10-28  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>
2254
2255         PR target/11598
2256         PR libgcj/10610
2257         * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
2258
2259 2003-10-28  Richard Earnshaw  <rearnsha@arm.com>
2260
2261         * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
2262         an extra stack adjustment insn if the stack pointer is already
2263         pointing at the right place.
2264         (use_return_insn): Allow a return insn to be used when we have a
2265         frame pointer if the stack pointer is in the right place.
2266         (output_return_instruction): Handle it.
2267
2268 2003-10-28  Andreas Jaeger  <aj@suse.de>
2269
2270         * ggc-zone.c (check_cookies): Add missing variable.
2271         Add void to prototypes.
2272
2273 2003-10-27  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
2274
2275         * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
2276         * crtstuff.c (__do_global_ctors_1): Move prototype.
2277         * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
2278         appropriate.
2279         * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
2280         Mark parameter with __attribute__((unused)).
2281
2282 2003-10-27  Zack Weinberg  <zack@codesourcery.com>
2283
2284         * c-decl.c (pushdecl): Clarify comment.
2285
2286 2003-10-27  Arnaud Charlet  <charlet@act-europe.fr>
2287
2288         * doc/install.texi: Update instructions for Ada cross builds
2289
2290         PR ada/5909:
2291         * doc/sourcebuild.texi: Document Ada test suite.
2292
2293 2003-10-27  Stephane Carrez  <stcarrez@nerim.fr>
2294
2295         * config/m68hc11/m68hc11.c: Convert to ISO C90.
2296         * config/m68hc11/m68hc11-protos.h: Likewise.
2297
2298 2003-10-27  Jan Hubicka  <jh@suse.cz>
2299             Eric Botcazou  <ebotcazou@libertysurf.fr>
2300
2301         * toplev.c (enum dump_file_index, dump_file): Fix ordering of
2302         webizer pass dump.
2303
2304 2003-10-27  Jakub Jelinek  <jakub@redhat.com>
2305             Jan Hubicka  <jh@suse.cz>
2306
2307         * reload1.c (struct elim_table): Change offset, initial_offset and
2308         previous_offset fields to HOST_WIDE_INT.
2309         (offsets_at): Change from int to HOST_WIDE_INT.
2310         (reload): Adjust offsets_at initialization.
2311         (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
2312         (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
2313         * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
2314         to HOST_WIDE_INT.  Don't save regs using mov for huge frame sizes
2315         if TARGET_64BIT.
2316         (pro_epilogue_adjust_stack): New function.
2317         (ix86_expand_prologue, ix86_expand_epilogue): Use it.
2318         * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
2319         (pro_epilogue_adjust_stack_1): Remove * in front of name.
2320         (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
2321         (pro_epilogue_adjust_stack_rex64_2): New insn.
2322
2323         * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
2324
2325         * config/i386/i386.c (ix86_expand_call): Replace 40 with
2326         FIRST_REX_INT_REG + 3 /* R11 */.
2327
2328 2003-10-26  Richard Henderson  <rth@redhat.com>
2329
2330         * config/alpha/alpha.md (attr cannot_copy): New.
2331         (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
2332         prologue_ldgp_er_2, prologue_ldgp_1): Set it.
2333         * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
2334
2335 2003-10-26  Daniel Berlin  <dberlin@dberlin.org>
2336
2337         * ggc-zone.c:  New file, zone allocating collector.
2338         * configure: Accept zone option for --with-gc
2339         * configure.in: Ditto.
2340         * ggc.h (ggc_pch_count_object): Pass bool indicating
2341         stringiness. Update all callers.
2342         (ggc_pch_alloc_object): Ditto.
2343         (ggc_pch_write_object): Ditto.
2344         (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
2345         type.
2346         (ggc_alloc_rtvec): Ditto.
2347         (ggc_alloc_tree): Use zone allocation, since some things using this macro
2348         aren't a single typecode.
2349         * ggc-none.c (ggc_alloc_typed): New function.
2350         (ggc_alloc_zone): Ditto.
2351         * ggc-page.c: Ditto on both functions.
2352
2353 2003-10-26  Gunther Nikl  <gni@gecko.de>
2354
2355         * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
2356         frame information is always valid.
2357         (m68k_output_function_prologue): Remove superfluous TARGET_68881
2358         test; fix formatting.
2359
2360 2003-10-26  Gunther Nikl  <gni@gecko.de>
2361
2362         * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
2363         reg_rev_mask computation.
2364         (m68k_output_function_prologue): Fix usage of current_frame (one typo
2365         and one missing); use reg_rev_mask not reg_mask.
2366         (m68k_output_function_epilogue): Fix usage of current_frame;
2367         use fpu_rev_mask not fpu_mask.
2368
2369 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2370
2371         * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
2372         num_saved_regs, use current_frame.reg_no instead.
2373
2374 2003-10-26  Bernardo Innocenti  <bernie@develer.com>
2375             Paul Dale  <pauli@snapgear.com>
2376
2377         * doc/extend.texi (interrupt_handler): Add m68k to the
2378         list of processors implementing it.
2379         * doc/invoke.texi (-msep-data): Document new m68k option.
2380         (-mno-sep-data): Likewise.
2381         (-mid-shared-library): Likewise.
2382         (-mno-id-shared-library): Likewise.
2383         (-mshared-library-id): Likewise.
2384
2385 2003-10-26  Andreas Jaeger  <aj@suse.de>
2386
2387         * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
2388         comparison.
2389         (_Unwind_SetGR): Likewise.
2390
2391 2003-10-26  Ottavio Campana <ottavio@campana.vi.it>
2392
2393         PR target/12690
2394         * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
2395
2396 2003-10-26  Gunther Nikl  <gni@gecko.de>
2397
2398         * config/m68k/m68k.c (m68k_output_function_prologue): Move front
2399         comment from here to...
2400         (m68k_save_reg): ...here. Fix comment formatting.
2401         (m68k_output_function_prologue): Fix comment formatting.
2402         (m68k_output_function_epilogue): Likewise.
2403         (const_method): Likewise.
2404
2405 2003-10-26  Kazu Hirata  <kazu@cs.umass.edu>
2406
2407         * toplev.c (default_get_pch_validity): Guard the use of
2408         target_options with #ifdef TARGET_OPTIONS.
2409         (default_pch_valid_p): Likewise.
2410
2411 2003-10-26  Andreas Jaeger  <aj@suse.de>
2412             Zack Weinberg  <zack@codesourcery.com>
2413             Andreas Tobler <toa@pop.agri.ch>
2414
2415         * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
2416         (output_die): Likewise.
2417         (print_die): Likewise.
2418
2419 2003-10-26  Andreas Jaeger  <aj@suse.de>
2420
2421         * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
2422         dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
2423         dwarf2out.c change.
2424
2425         * toplev.c (default_pch_valid_p): Fix warning.
2426
2427 2003-10-25  Roger Sayle  <roger@eyesopen.com>
2428
2429         * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
2430         RTL nodes.  If an operator's operands are unchanged, return the
2431         original argument unchanged.
2432
2433 2003-10-26  Graham Stott  <graham.stott@btinternet.com>
2434
2435         Fix bootstrap failure.
2436         * expmed.c (store_bit_field): Don't compare bitsize against
2437         modes with zero bit-size.
2438
2439         (extract_bit_field): Likewise
2440
2441 2003-10-25  Jan Hubicka  <jh@suse.cz>
2442
2443         * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
2444         (cfa_loc): Likewise.
2445         (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
2446         HOST_WIDE_INT.
2447         (args_size, old_args_size): change type to HOST_WIDE_INT.
2448         (dwarf2out_def_cfa, dwarf2out_args_size,
2449         dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
2450         (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
2451         (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
2452         AT_offset): Use HOST_WIDE_INT.
2453         (based_loc_descr): offset is HOST_WIDE_INT.
2454         (add_data_member): Likewise.
2455         (add_const_value_attribute): Simplify.
2456
2457 2003-10-25  Richard Henderson  <rth@redhat.com>
2458
2459         * config/i386/i386.c (ix86_eax_live_at_start_p): New.
2460         (ix86_expand_prologue): Save and restore eax around stack probe
2461         if it's live.
2462
2463 2003-10-25  Jan Hubicka  <jh@suse.cz>
2464
2465         * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
2466
2467 2003-10-25  Eric Botcazou  <ebotcazou@libertysurf.fr>
2468
2469         PR target/12712
2470         * reg-stack.c (convert_regs_1): Create an arbitrary input stack
2471         if the block has no predecessors.
2472         (convert_regs_2): Document the problem with successors whose
2473         only predecessor is the block to be processed.
2474         (convert_regs): Don't create the arbitrary input stack here.
2475
2476 2003-10-24  Zack Weinberg  <zack@codesourcery.com>
2477
2478         * genmodes.c (struct mode_data): Add contained and next_cont
2479         fields.
2480         (complete_mode): Maintain linked list of modes that have a
2481         given component.
2482         (emit_mode_unit_size): Delete.
2483         (emit_mode_nunits): New.
2484         (emit_insn_modes_c): Update to match.
2485         (emit_mode_adjustments): Propagate size and alignment
2486         adjustments from component modes to their containers.
2487         * machmode.h (mode_unit_size): Delete.
2488         (mode_nunits): New.
2489         (GET_MODE_NUNITS): Just return the value in the table.
2490         (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
2491         GET_MODE_SIZE.
2492         * expmed.c (store_bit_field, extract_bit_field): Can use a
2493         plain move instruction if bitsize >= GET_MODE_BITSIZE of
2494         destination/source mode, respectively.
2495         * varasm.c (assemble_real): Write out the full size of the
2496         constant, not just its bitsize.
2497         (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
2498
2499         * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
2500         Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
2501         alignment of XF and TF modes in compliance with ia64 ABIs.
2502         Can now hardwire the format of both modes.
2503         * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
2504         (general_tfmode_operand, destination_tfmode_operand)
2505         (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
2506         general_xfmode_operand, destination_xfmode_operand,
2507         xfreg_or_fp01_operand, spill_xfmode_operand respectively.
2508         (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
2509         and float80_type be 96 so they get XFmode.  Use !TARGET_HPUX,
2510         not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
2511         __float128.
2512         * config/ia64/ia64.h: Default TARGET_HPUX to 0.
2513         Change TFmode to XFmode wherever appropriate.  Remove all
2514         references to INTEL_EXTENDED_IEEE_FORMAT.
2515         (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
2516         (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
2517         (PREDICATE_CODES): Update to match function renames.
2518         * config/ia64/ia64.md: Change TF to XF throughout; rename all
2519         patterns to match.  Remove all references to
2520         INTEL_EXTENDED_IEEE_FORMAT.  Update predicate calls to match
2521         function renames.
2522         * config/ia64/ia64-protos.c: Update all prototypes to match
2523         renamed functions.
2524         * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
2525         Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
2526         * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
2527         __divtf3; keep old name for backward compatibility.
2528         (L__compat): New section providing forwarding stubs for
2529         __fixtfti, __fixunstfti, __floattitf.
2530         * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
2531
2532 2003-10-24  Geoffrey Keating  <geoffk@apple.com>
2533
2534         PR 10757
2535         * c-pch.c: Include target.h.  Improve comments.
2536         (struct c_pch_validity): Add target_data_length.
2537         (pch_init): Add target's validity data.
2538         (c_common_valid_pch): Check target's validity data.
2539         * target-def.h (TARGET_GET_PCH_VALIDITY): New.
2540         (TARGET_PCH_VALID_P): New.
2541         (TARGET_INITIALIZER): Add new fields.
2542         * target.h: Include tm.h.
2543         (struct gcc_target): Add get_pch_validity, pch_valid_p.
2544         * toplev.h (default_get_pch_validity): New prototype.
2545         (default_pch_valid_p): New prototype.
2546         * toplev.c (default_get_pch_validity): New routine.
2547         (default_pch_valid_p): New routine.
2548         * Makefile.in (TARGET_H): Add TM_H.  Replace all users of
2549         target.h with $(TARGET_H).
2550         (c-pch.o): Add TARGET_H.
2551         * doc/tm.texi (PCH Target): New node.
2552         (TARGET_GET_PCH_VALIDITY): Document.
2553         (TARGET_PCH_VALID_P): Document.
2554
2555 2003-10-24  Kelley Cook  <kcook@gcc.gnu.org>
2556
2557         * Makefile.in: Define a vpath for %.texi.  Remove explicit $(docdir)
2558         and $(docdir)/include from any *.texi dependencies.
2559         ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
2560         ($(docobjdir)/%.1): Depend on .pod instead of .texi.
2561         ($(docobjdir)/%.7): Likewise.
2562         (%.pod): New implicit rule.
2563         (cpp.pod): New dependency only rule.
2564         (gcc.pod): New intermediate rule with dependencies and commands.
2565         (gfdl.pod): Likewise.
2566         (fsf-funding.pod): Likewise.
2567
2568 2003-10-24  Nathanael Nerode  <neroden@gcc.gnu.org>
2569
2570         * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
2571         related code.
2572         * fixinc/fixinc.ptx: Remove.
2573         * fixinc/fixinc.svr4: Remove.
2574
2575 2003-10-24  Ulrich Weigand  <uweigand@de.ibm.com>
2576
2577         * config/s390/s390.c (load_multiple_operation): Allow both SImode
2578         and DImode if word_mode is DImode.
2579         (store_multiple_operation): Likewise.
2580         * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
2581         ("*load_multiple_di"): Allow only if word_mode == DImode.
2582         ("movqi"): Use LLGC whenever TARGET_ZARCH.
2583         ("fix_truncdfsi2"): Fix incorrect temporary size.
2584         ("fix_truncsfsi2"): Likewise.
2585         ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
2586         string for function return value operand.
2587         ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
2588
2589 2003-10-24  Joseph S. Myers  <jsm@polyomino.org.uk>
2590
2591         * c-parse.in (array_declarator): Use expr_no_commas.
2592         Fixes PR c/11943.
2593
2594 2003-10-24  Richard Sandiford  <rsandifo@redhat.com>
2595
2596         * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
2597         associated includes in #ifndef inhibit_libc.
2598
2599 2003-10-24  Roger Sayle  <roger@eyesopen.com>
2600
2601         * doc/libgcc.texi: Document some more of the libgcc API.
2602
2603 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2604
2605         * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
2606         comparing a constant with small negative numbers and add costing
2607         for constants in conjunction with AND.
2608         (note_invalid_constants): Tidy previous change.
2609         (thumb_cmp_operand): Tidy.
2610         (thumb_cmpneg_operand): New function.
2611         * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
2612         for size.
2613         (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
2614         (PREDICATE_CODES): Add thumb_cmpneg_operand.
2615         * arm.md (cbranchsi4): Convert to define_expand.  Handle comparison
2616         with a negative constant.
2617         (cbranchsi4_insn): Matcher for cbranchsi4.
2618         (cbranchsi4_scratch): Similar, but a scratch is available for
2619         handling negative constants.
2620         (movsi_cbranchsi4): New pattern.
2621         (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
2622         and use the TST instruction.
2623         (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
2624         (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
2625         cannot see high regs or memory alternatives.
2626         (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
2627
2628 2003-10-24  Richard Earnshaw  <rearnsha@arm.com>
2629
2630         * arm.c (note_invalid_constants): Try to extract the constant
2631         pool value using avoid_constant_pool_reference; only use
2632         get_pool_constant if that returns the original reference.
2633
2634 2003-10-24  Jan Hubicka  <jh@suse.cz>
2635
2636         PR c++/12624
2637         * varasm.c (notice_global_symbol): Disqualify global registers.
2638
2639 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2640
2641         PR middle-end/11414
2642         * loop.c (load_mems): Use redirect_jump to forward jumps from
2643         the original loop end label to the new "loop sink" block's label.
2644
2645 2003-10-23  Roger Sayle  <roger@eyesopen.com>
2646
2647         PR middle-end/12705
2648         * optabs.c (expand_binop): When expanding complex operations
2649         inline, always calculate result into a new temporary register.
2650         Minor code clean-ups.
2651
2652 2003-10-24  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2653
2654         * objc/lang-specs.h: Handle -print-objc-runtime-info.
2655         * doc/invoke.texi (Objective-C Dialect Options): Document it.
2656
2657 2003-10-24  Danny Smith  <dannysmith@users.sourceforge.net>
2658
2659         * config/i386/cygwin.asm: Add copyright notice. Add comment
2660         on why this code is needed.
2661
2662 2003-10-23  Kazu Hirata  <kazu@cs.umass.edu>
2663
2664         * config/h8300/clzhi2.c: Fix warnings.
2665         * config/h8300/ctzhi2.c: Likewise.
2666         * config/h8300/fixunssfsi.c: Likewise.
2667         * config/h8300/parityhi2.c: Likewise.
2668         * config/h8300/popcounthi2.c: Likewise.
2669
2670 2003-10-23  James E Wilson  <wilson@specifixinc.com>
2671
2672         * gcc.c (option_map): Delete --target and --use-version.
2673
2674 2003-10-23  Fariborz Jahanian  <fjahanian@apple.com>
2675             David Edelsohn  <edelsohn@gnu.org>
2676
2677         * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
2678         TARGET_POWREPC64.
2679         (UNITS_PER_GPR_WORD): Define.
2680         (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
2681         (HARD_REGNO_CALL_PART_CLOBBERED): Define.
2682         (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
2683         (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
2684         * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
2685         DFmode and DImode in 32-bit ABI / 64-bit computation mode.
2686         (rs6000_emit_prologue): Select reg_mode and reg_size using
2687         TARGET_32BIT, not TARGET_POWERPC64.
2688         (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
2689         ABI / 64-bit computation mode
2690
2691 2003-10-22  Andrew Haley  <aph@redhat.com>
2692
2693         * toplev.c (output_file_directive): Allow for null input_name.
2694
2695 2003-10-22  Waldek Hebisch <hebisch@math.uni.wroc.pl>
2696
2697         * config/i386/i386.c (classify_argument): Handle SET_TYPE.
2698
2699 2003-10-22  Chris Demetriou  <cgd@broadcom.com>
2700
2701         * configure.in: In --enable-generated-files-in-srcdir option
2702         handling, fix default case handling.
2703         * configure: Regenerate.
2704
2705 2003-10-22  Phil Edwards  <phil@codesourcery.com>
2706
2707         * config.gcc:  Update *-*-vxworks* generic hook and comments.
2708         (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
2709         mips-wrs-windiss, sh-wrs-vxworks):  New stanzas.
2710         * genmultilib:  Allow the MULTILIB_OSDIRNAMES to be mapped directly.
2711         * config/svr4.h (SWITCH_TAKES_ARG):  Undefine it before redefining it.
2712         * config/windiss.h:  New file.
2713         * config/arm/t-vxworks:  New file.
2714         * config/arm/vxworks.h:  New file.
2715         * config/i386/t-vxworks:  New file.
2716         * config/i386/vxworks.h:  New file.
2717         * config/mips/t-vxworks:  New file.
2718         * config/mips/vxworks.h:  New file.
2719         * config/mips/windiss.h:  New file.
2720         * config/sh/t-vxworks:  New file.
2721         * config/sh/vxworks.h:  New file.
2722
2723 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2724
2725         * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
2726         (h8300_saveall_function_p): New.
2727         (h8300_insert_attributes): Insert the saveall attribute if
2728         #pragma saveall is specified.
2729         (h8300_attribute_table): Add saveall.
2730         (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
2731         * doc/extend.texi: Mention the saveall attribute.
2732
2733 2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
2734
2735         * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2736         deprecation of casts as lvalues.
2737         * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2738         * fixinc/fixincl.x: Regenerate.
2739         * fixinc/tests/base/obstack.h: New test.
2740
2741 2003-10-22  Andreas Schwab  <schwab@suse.de>
2742
2743         PR target/12676
2744         * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2745         LP64 platforms.
2746
2747 2003-10-22  Jan Hubicka  <jh@suse.cz>
2748
2749         * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2750         presence of DW_AT_inline.
2751         (gen_subprogram_die): Likewise; do not abort instead of emitting
2752         DW_AT_not_inline.
2753
2754 2003-10-22  Jan Hubicka  <jh@suse.cz>
2755
2756         * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2757         global info is not ready.
2758
2759 2003-10-22  Kazu Hirata  <kazu@cs.umass.edu>
2760
2761         * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2762
2763 2003-10-22  Ulrich Weigand  <uweigand@de.ibm.com>
2764
2765         * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2766         ("*movstr_short"): ... into this insn pattern.
2767         ("movstr_short"): New expander.
2768         ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2769         ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2770         ("movstr_long"): New expander.
2771         ("clrstr_short_64", "clrstr_short_31"): Merge ...
2772         ("*clrstr_short"): ... into this insn pattern.
2773         ("clrstr_short"): New expander.
2774         ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2775         ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2776         ("clrstr_long"): New expander.
2777         ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2778         ("*cmpmem_short"): ... into this insn pattern.
2779         ("cmpmem_short"): New expander.
2780         ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2781         ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2782         ("cmpmem_long"): New expander.
2783         * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2784         (s390_expand_clrstr): Likewise.
2785         (s390_expand_cmpmem): Likewise.
2786
2787 2003-10-22  Mark Mitchell  <mark@codesourcery.com>
2788
2789         * c-pch.c (struct c_pch_validity): Add pch_init field.
2790         (pch_init): Set it.
2791         (c_common_valid_pch): Check it.
2792
2793 2003-10-22  David Taylor <dtaylor@emc.com>
2794
2795         PR debug/12500
2796         * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2797
2798 2003-10-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
2799
2800         * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2801         alpha_return_in_memory if no VALTYPE specified.
2802
2803 2003-10-22  Jan Hubicka  <jh@suse.cz>
2804
2805         PR debug/12389
2806         * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2807         * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2808         * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2809         (cgraph_global_info): Add flag inlined
2810         * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2811         cgraph_function_possibly_inded_p
2812         * cgraphunit.c (mark_inline): Set inlined flag.
2813         * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2814         only for possibly inlined functions.
2815         * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2816         body of function.
2817
2818 2003-10-22  Andrew Haley  <aph@redhat.com>
2819
2820         * varasm.c (output_constructor): Make constructor annotation
2821         conditional on ASM_COMMENT_START.
2822
2823 2003-10-21  Jason Merrill  <jason@redhat.com>
2824
2825         * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2826         (get_narrower): Likewise.
2827
2828         * stor-layout.c (layout_decl): Do packed field alignment for
2829         bit-fields, too.
2830
2831 2003-10-21  Eric Christopher  <echristo@redhat.com>
2832
2833         * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2834
2835 2003-10-21  Geoffrey Keating  <geoffk@apple.com>
2836
2837         * c-pch.c: Add comments in various places.
2838         (struct c_pch_validity): Add the lengths of various strings.
2839         (host_machine): New static.
2840         (target_machine): New static.
2841         (get_ident): Bump version number.
2842         (pch_init): Write out version, host, target validity data.
2843         (c_common_valid_pch): Check version, host, target.
2844         * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2845         TARGET_MACHINE.
2846
2847 2003-10-21  Jason Merrill  <jason@redhat.com>
2848
2849         * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2850         (EXPR_P): New macro.
2851
2852 2003-10-21  Zack Weinberg  <zack@codesourcery.com>
2853
2854         * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2855         * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2856         ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2857         DImode.   Use convert_move to load ar.ccv.
2858         (ia64_expand_compare_and_swap): Likewise.
2859         If expand_expr doesn't put 'old' and 'new' in the proper
2860         modes, run them through convert_to_mode.
2861
2862 2003-10-21  Eric Christopher  <echristo@redhat.com>
2863
2864         * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2865         for too large bitfields.
2866
2867 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2868
2869         * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2870
2871 2003-10-21  Andrew Haley  <aph@redhat.com>
2872
2873         * varasm.c (output_constructor): Annotate constructor.
2874
2875 2003-10-21  Mark Mitchell  <mark@codesourcery.com>
2876
2877         * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2878         on existence of destination file.
2879
2880 2003-10-21  Jan Hubicka  <jh@suse.cz>
2881
2882         * haifa-sched.c (choose_ready): Initialize index.
2883
2884 2003-10-21  Jason Merrill  <jason@redhat.com>
2885
2886         * tree.c (build1): Fix off-by-one error.
2887
2888 2003-10-21  Robert Millan  <robertmh@gnu.org>
2889
2890         * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2891         * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2892         * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2893         * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2894
2895 2003-10-21  Eric Botcazou  <ebotcazou@libertysurf.fr>
2896
2897         * web.c: Fix various comments.
2898
2899 2003-10-20  Nicolas Pitre <nico@cam.org>
2900
2901         * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2902         to 2 instead of 1 when optimize_size is true.  Gather code based on
2903         optimize_size together.  Add comment about XScale load latency.
2904
2905 2003-10-21  Gunther Nikl  <gni@gecko.de>
2906
2907         * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2908         obsolete comments.
2909
2910 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2911
2912         * Makefile.in: Get parsedir and docobjdir from configure.
2913         * configure.in: Recogonize --enable-generated-files-in-srcdir.
2914         Pass along parsedir and docobjdir.
2915         * configure: Regenerate.
2916         * doc/install.texi: Document --enable-generated-files-in-srcdir.
2917
2918 2003-10-20  Kelley Cook  <kcook@gcc.gnu.org>
2919
2920         * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2921         included.
2922
2923 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2924
2925         * c-common.c (expand_tree_builtin): Ensure creal and cimag
2926         functions do not return lvalues.
2927
2928 2003-10-20  Jason Merrill  <jason@redhat.com>
2929
2930         PR c/12553
2931         * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2932         appropriately.
2933
2934         PR c/11446
2935         * stor-layout.c (layout_decl): Fix alignment handling.
2936
2937 2003-10-20  Joseph S. Myers  <jsm@polyomino.org.uk>
2938
2939         * doc/extend.texi: Deprecate casts as lvalues.
2940
2941 2003-10-20  Jan Hubicka  <jh@suse.cz>
2942
2943         * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2944
2945         * cgraphunit.c (decide_is_function_needed):  Fix test dealing
2946         with functions implicitly made inline.
2947
2948         * cgraphunit.c (cgraph_decide_inlining_incrementally):  New function.
2949         (cgraph_finalize_function): Use it.
2950         (cgraph_mark_inline): Allow incrmental decisions
2951         * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2952         * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2953         * tree-inline.c (limits_allow_inlining): Kill.
2954         (expand_call_inline): Always use unit-at-a-time path.
2955
2956 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2957
2958         * fixinc/inclhack.def (hpux11_snprintf): New edit.
2959         * fixinc/fixincl.x: Regenerate.
2960         * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2961
2962 2003-10-20  Mark Mitchell  <mark@codesourcery.com>
2963
2964         * Makefile.in (install-info): Simplify.
2965         ($(DESTDIR)$(infodir)/%.info): New rule.
2966         * configure.in (target_list): Remove install-info.
2967         * doc/.cvsignore (gcc.info*): Remove.
2968         (gccint.info*): Likewise.
2969         (gccinstall.info*): Likewise.
2970         (cpp.info*): Likewise.
2971         (cppinternals.info*): Likewise.
2972         (*.info*): Add it.
2973         * doc/sourcebuild.texi: Update description of install-info.
2974         * objc/Make-lang.in (objc.install-info): Remove.
2975
2976 2003-10-20  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
2977
2978         * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2979         Use it in _MIPS_SIM definition.
2980         * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2981
2982 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2983
2984         * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2985         virtual register, but only if file == asm_out_file.
2986         * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2987         for ARG_POINTER_REGNUM.
2988
2989 2003-10-20  Zack Weinberg  <zack@codesourcery.com>
2990
2991         * c-common.c (registered_builtin_types): New static.
2992         (c_common_type_for_mode): Consult registered_builtin_types.
2993         (c_register_builtin_type): Add type to registered_builtin_types.
2994         * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2995         all MODE_FLOAT modes, not just the ones corresponding to
2996         float_type_node, double_type_node, and long_double_type_node.
2997
2998 2003-10-20  Richard Henderson  <rth@redhat.com>
2999
3000         * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
3001         * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
3002
3003 2003-10-20  Dorit Naishlos  <dorit@il.ibm.com>
3004
3005         * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
3006         support new flag -minsert-sched-nops.
3007         (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
3008         * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
3009         support new flag -minsert-sched-nops.
3010         (is_cracked_insn, is_microcoded_insn): New functions.
3011         (rs6000_sched_finish): New function.
3012         (rs6000_issue_rate): Return 5 for power4.
3013         (get_next_active_insn, insn_terminates_group_p): New
3014         functions.
3015         (is_costly_group, force_new_group): New functions.
3016         (redefine_groups, pad_groups): New functions.
3017         (rs6000_variable_issue): Use new functions.
3018         * doc/invoke.texi (-minsert-sched-nops): Document new
3019         option.
3020
3021 2003-10-20  David S. Miller  <davem@redhat.com>
3022
3023         * config/sparc/sparc.md (type attribute): Add new insn types
3024         fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
3025         (patterns emitting VIS insns): Use them.
3026         * config/sparc/ultra1_2.md: Add VIS scheduling rules.
3027         * config/sparc/ultra3.md: Likewise.
3028
3029 2003-10-20  Falk Hueffner  <falk@debian.org>
3030
3031         PR target/12654
3032         * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
3033         comparison against constant by adjusting the argument except for
3034         EQ and NE.
3035
3036 2003-10-19  Mark Mitchell  <mark@codesourcery.com>
3037
3038         * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
3039         arm1136jfs, and armv6j.
3040         * config/arm/arm.c (FL_ARCH6J): New macro.
3041         (FL_VFPV2): Likewise.
3042         (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
3043         and arm1136jfs.
3044         (all_architectures): Add entry for armv6j.
3045         (arm_override_options): Add entries for arm926ejs, arm1026ejs,
3046         arm1136js, and arm1136jfs.
3047         * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
3048         (TARGET_CPU_arm1026ej_s): Likewise.
3049         (TARGET_CPU_arm1136j_s): Likewise.
3050         (TARGET_CPU_arm1136jf_s): Likewise.
3051         * doc/invoke.texi: Document new ARM cores and architecture
3052         variants.
3053
3054 2003-10-19  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
3055
3056         * Makefile.in (toplev.o): Add value-prof.h dependency.
3057         (value-prof.o): Add REGS_H dependency.
3058         * common.opt (fprofile-values, fvpt): New.
3059         * flags.h (flag_value_profile_transformations): Declare.
3060         * opts.c (common_handle_option): Handle -fprofile_values and
3061         -fvpt.
3062         * profile.c (branch_prob): Don't remove death notes here.
3063         * timevar.def (TV_VPT): New.
3064         * value-prof.c: Include regs.h.
3065         (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
3066         gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
3067         mod_subtract_transform, value_profile_transformations): New.
3068         (insn_values_to_profile): Call insn_divmod_values_to_profile.
3069         (find_values_to_profile): Add dumps.
3070         * value-prof.h (value_profile_transformations): Declare.
3071         * toplev.c: Include value-prof.h.
3072         (rest_of_handle_value_profile_transformations): New.
3073         (enum dump_file_index): Add DFI_vpt.
3074         (dump_file): Add vpt dump.
3075         (flag_value_profile_transformations): New.
3076         (lang_independent_options): Add flag_profile_values and
3077         flag_value_profile_transformations.
3078         (rest_of_compilation): Call
3079         rest_of_handle_value_profile_transformations.
3080         (process_options): Let -fvpt imply -fprofile-values.
3081         * doc/invoke.texi (-fvpt): Document.
3082
3083 2003-10-19  Jan Hubicka  <jh@suse.cz>
3084
3085         * i386.c (print_reg): Do not abort on certain registers.
3086
3087         PR optimization/12612
3088         * reg-stack.c (subst_stack_regs_pat):  Use st(1) for clobbers.
3089         * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
3090         match_scratch; avoid bogus paralles.
3091
3092         PR target/12674
3093         * i386.c (ix86_function_regparm): Disable implicit register passing
3094         conventions when profiling.
3095
3096 2003-10-19  Eric Botcazou  <ebotcazou@libertysurf.fr>
3097             Richard Henderson  <rth@redhat.com>
3098
3099         PR optimization/8178
3100         * config/i386/i386.md (*movsi_zero): Delete.
3101         (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
3102
3103 2003-10-19  Richard Henderson  <rth@redhat.com>
3104
3105         * config/alpha/alpha.c (fix_operator): New.
3106         (divmod_operator): Tidy.
3107         (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
3108         * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
3109         (PREDICATE_CODES): Update.
3110         * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
3111         (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
3112         (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
3113         (fix_truncsfdi_ieee): Likewise.
3114         (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
3115         (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
3116         * config/alpha/alpha-protos.h: Update.
3117
3118 2003-10-19  Richard Sandiford  <rsandifo@redhat.com>
3119
3120         * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
3121         * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
3122         * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
3123         constant operands.
3124
3125 2003-10-18  Kazu Hirata  <kazu@cs.umass.edu>
3126
3127         * doc/extend.texi: Fix typos.
3128         * doc/invoke.texi: Likewise.
3129
3130 2003-10-18  Nicolas Pitre <nico@cam.org>
3131
3132         * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
3133         XScale optimizations not arm_arch_xscale.
3134         * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
3135
3136 2003-10-18  Ulrich Weigand  <uweigand@de.ibm.com>
3137
3138         * config/s390/s390-protos.h (shift_count_operand): Add prototype.
3139         * config/s390/s390.c (shift_count_operand): New function.
3140         (s390_extra_constraint): Use it to implement 'Y' constraint.
3141         (print_shift_count_operand): New function.
3142         (print_operand): Use it to implement '%Y'.
3143         * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
3144         (PREDICATE_CODES): Add shift_count_operand.
3145         * config/s390/s390.md ("rotldi3"): Merge alternatives,
3146         using "shift_count_operand" predicate and "Y" constraint,
3147         and "%Y" to output the combined shift count.
3148         ("rotlsi3"): Likewise.
3149         ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
3150         ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
3151         "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
3152         ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
3153         ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
3154         ("lshrsi3"): Likewise.
3155
3156 2003-10-18  Gunther Nikl  <gni@gecko.de>
3157
3158         * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
3159         argument to asm_fprintf statement.
3160
3161 2003-10-18  Fariborz Jahanian  <fjahanian@apple.com>
3162
3163         * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
3164         (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
3165         a "long long" argument.
3166
3167 2003-10-18  Alexandre Oliva  <aoliva@redhat.com>
3168
3169         * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
3170         as well.
3171
3172 2003-10-18  Richard Sandiford  <rsandifo@redhat.com>
3173
3174         * rtl.h (rtl_size): Declare.
3175         (rtunion): Remove rtwint.
3176         (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
3177         (RTX_HDR_SIZE, RTX_SIZE): New macros.
3178         (RTL_CHECK1): Adjust for new rtx_def layout.
3179         (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
3180         (XWINT, XCWINT): Likewise.  Access the rtx structure directly.
3181         (X0WINT): Remove.
3182         (X0ANY): New macro.
3183         * rtl.def: Adjust comments for new rtx_def layout.
3184         * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
3185         number of slots.
3186         * rtl.c (rtx_size): New array.
3187         (rtx_alloc): Adjust call to ggc_alloc_rtx.  Use RTX_HDR_SIZE.
3188         (copy_rtx): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
3189         (shallow_copy_rtx): Adjust call to ggc_alloc_rtx.  Use RTX_SIZE.
3190         * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
3191         * emit-rtl.c (copy_most_rtx): Likewise.
3192         (copy_rtx_if_shared): Use RTX_SIZE.
3193         (copy_insn_1): Use RTX_HDR_SIZE.  Adjust for new rtx_def layout.
3194         * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call.  Use RTX_HDR_SIZE.
3195         * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
3196         (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
3197         an array.  Adjust output for new rtx_def layout.
3198         * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
3199         * reload1.c (eliminate_regs): Use RTX_SIZE.
3200         * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
3201         * gdbinit.in (pi): Likewise.
3202
3203 2003-10-18  Jan Hubicka  <jh@suse.cz>
3204
3205         * integrate.c (copy_decl_for_inlining): Revert previous patch.
3206
3207 2003-10-18  Jan Hubicka  <jh@suse.cz>
3208
3209         * integrate.c (copy_decl_for_inlining): Fix copying of copies.
3210
3211 2003-10-18  Roger Sayle  <roger@eyesopen.com>
3212
3213         * libgcc.texi: Group multi-word types, such as "long double" and
3214         "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
3215         Document __unord?f2 as returning a non-zero value, not just one.
3216
3217 2003-10-18  Hans-Peter Nilsson  <hp@bitrange.com>
3218
3219         * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
3220         ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
3221
3222 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3223
3224         * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
3225         match_operand.
3226
3227 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3228
3229         * config/sparc/sparc.c (function_arg_record_value_1): New fourth
3230         parameter packed_p.  Search for a DECL_PACKED field only if
3231         packed_p is false.  Pass packed_p recursively.
3232         (function_arg_record_value_2): Likewise.
3233         (function_arg_record_value): Update calls to
3234         function_arg_record_value_1 and function_arg_record_value_2.
3235
3236 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3237
3238         * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
3239         was successfully forced to memory before using the result.
3240
3241 2003-10-18  Eric Botcazou  <ebotcazou@libertysurf.fr>
3242
3243         PR optimization/8178
3244         * config/i386/i386.md (*movsi_zero): New insn to set
3245         a register to zero on TARGET_USE_MOV0 targets.
3246
3247 2003-10-18  Kelley Cook  <kcook@gcc.gnu.org>
3248
3249         * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
3250         (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
3251
3252 2003-10-17  David Edelsohn  <edelsohn@gnu.org>
3253
3254         * doc/invoke.texi (gcse-las): Fix typo.
3255
3256 2003-10-17  Andrew Pinski  <pinskia@physics.uc.edu>
3257
3258         * doc/install.texi: Remove first part of the sentence for
3259         zsh not working.  Change gcc to GCC.
3260
3261         PR bootstrap/12546
3262         * doc/install.texi: Document that zsh does not work when
3263         configuring gcc.
3264
3265 2003-10-17  Nathanael Nerode  <neroden@gcc.gnu.org>
3266
3267         * config/ptx4.h: Switch to DWARF 2; update comments.
3268
3269 2003-10-17  Segher Boessenkool  <boessen@de.ibm.com>
3270             Hartmut Penner  <hpenner@de.ibm.com>
3271
3272         PR 10404, partial 11591, partial 11601
3273         * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
3274         "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
3275         "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
3276         "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
3277         "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
3278         * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
3279         (altivec_expand_stv_builtin): Adjust for the memory_operand.
3280         (altivec_expand_builtin): Call altivec_expand_lv_builtin.
3281         (altivec_init_builtins): Use `long int' for memory offsets.
3282
3283 2003-10-17  Jan Hubicka  <jh@suse.cz>
3284
3285         * opts.c  (common_handle_option): Handle OPT_fweb
3286         * invoke.texi (-fweb): Add missing parts of documentation.
3287
3288 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3289
3290         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
3291         before redefinition.
3292
3293 2003-10-17  Mostafa Hagog  <mustafa@il.ibm.com>
3294
3295         * common.opt: Add description of the new -fgcse-las flag.
3296         * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
3297         * gcse.c (hash_scan_set): Handle the case of store expression and
3298         insert the memory expression to the hash table, this way we make it
3299         possible to discover redundant loads after stores and remove them.
3300         (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
3301         to pre_insert_copies, it is not the correct place to call it after
3302         adding stores to be in the available expression hash table.
3303         (pre_insert_copies): Added the call to update_ld_motion_stores when
3304         one or more copies were inserted.
3305         * opts.c (common_handle_option): Handle the -fgcse-las flag.
3306         * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
3307
3308         * doc/invoke.tex: Document new -fgcse-las flag.
3309
3310 2003-10-18  Alan Modra  <amodra@bigpond.net.au>
3311
3312         * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
3313         for posterity, then remove it.
3314
3315 2003-10-17  Richard Earnshaw <rearnsha@arm.com>
3316             Nathan Sidwell  <nathan@codesourcery.com>
3317
3318         * config/arm/arm.c (use_return_insn): Not a single instruction, if
3319         there's a frame pointer.
3320         (arm_output_epilogue): Protect stack pointer from being corrupted
3321         on interrupt.
3322
3323 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
3324
3325         * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
3326
3327 2003-10-17  Ulrich Weigand  <uweigand@de.ibm.com>
3328
3329         * combine.c (simplify_set): Do not clear out undobuf.other_insn
3330         already set elsewhere.
3331
3332 2003-10-17  Kelley Cook  <kcook@gcc.gnu.org>
3333
3334         * config/i386/i386.c (ix86_expand_prologue):  Use
3335         gen_allocate_stack_worker.
3336
3337 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3338
3339         * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
3340         without gas.
3341         (mips-sgi-irix6*): Likewise.
3342
3343         * config/mips/iris6gas.h: New file.
3344         * gcc/config.gcc (mips-sgi-irix6*): Use it.
3345
3346         * config/mips/mips.h (TARGET_IRIX): Provide default.
3347         (TARGET_IRIX5): Likewise.
3348         (TARGET_SGI_O32_AS): Likewise.
3349         * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
3350         (TARGET_IRIX5): Likewise.
3351         * config/mips/iris6.h (TARGET_IRIX6): Remove.
3352         (TARGET_IRIX5): Redefine as 0.
3353
3354         * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
3355         linker workaround with TARGET_IRIX and mips_abi instead of
3356         ASM_OUTPUT_UNDEF_FUNCTION.
3357         (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
3358         testing TARGET_IRIX and mips_abi explicitly.
3359         * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
3360         * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
3361
3362         * config/mips/mips.c (irix_output_external_libcall): Renamed from
3363         mips_output_external_libcall.
3364         Use new TARGET_IRIX in guard.
3365         * config/mips/mips-protos.h (irix_output_external_libcall): Match
3366         this.
3367         * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
3368
3369         * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
3370         Define as 0.
3371
3372         * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
3373         depending on mips_abi.
3374         * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
3375         * config/mips/mips.c (mips_output_function_prologue): Test
3376         FUNCTION_NAME_ALREADY_DECLARED at runtime.
3377         (mips_output_function_epilogue): Likewise.
3378         (build_mips16_function_stub): Likewise.
3379         (build_mips16_call_stub): Likewise.
3380         * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
3381         default.
3382
3383         * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
3384         IRIX 6 O32 assembler.
3385         (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
3386         (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
3387         _MIPS_SIM for O32 ABI.
3388         (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
3389         (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
3390         (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
3391         Integrate O32 version.
3392         (SUBTARGET_ASM_SPEC): Handle -mabi=32.
3393         (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
3394         O32 ABI.
3395         (BSS_SECTION_ASM_OP_32): Define.
3396         (BSS_SECTION_ASM_OP_64): Likewise.
3397         (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
3398         using them.
3399         (TARGET_ASM_NAMED_SECTION): Reflect renaming.
3400         Move up to allow override for O32 ABI without GNU as.
3401         (EH_FRAME_SECTION_NAME): Define explicitly.
3402         (MUST_USE_SJLJ_EXCEPTIONS): Define.
3403         [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
3404         DTORS_SECTION_ASM_OP): Dummy definitions.
3405         (TARGET_ASM_NAMED_SECTION): Undef statically.
3406         (EH_FRAME_SECTION_NAME): Likewise.
3407         (ASM_OUTPUT_FILENAME): Integrate mips.h version.
3408         (LINK_SPEC): Only use default options -call_shared -no_unresolved
3409         without -r.
3410         Don't pass -init, -fini with -mabi=32.
3411         (COLLECT_PARSE_FLAG): Define.
3412
3413         * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
3414         TARGET_IRIX.
3415         Renamed to use irix_ prefix.
3416         (iris6_asm_named_section): Likewise.
3417         (iris_section_align_entry_eq): Likewise.
3418         (iris_section_align_entry_hash): Likewise.
3419         (iris6_file_start): Likewise.
3420         (iris6_section_align_1): Likewise.
3421         (iris6_file_end): Likewise.
3422         (iris6_section_type_flags): Likewise.
3423         (iris_section_align_htab): Likewise.
3424         (iris_orig_asm_out_file): Likewise.
3425         [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
3426         (TARGET_ASM_FILE_END): Likewise.
3427         (TARGET_SECTION_TYPE_FLAGS): Likewise.
3428
3429         * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
3430         (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
3431         override_options instead.
3432         (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
3433         (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
3434         * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
3435         flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
3436         assemblers.
3437         Likewise for constructor/destructor handling.
3438         (override_options): Handle IRIX O32 assembler quirks.
3439         [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
3440         without gas.
3441         (mips_file_start): Use new TARGET_IRIX.
3442         (mips_declare_object_name): No special processing for IRIX O32
3443         assembler.
3444         (mips_finish_declare_object): Likewise.
3445         (irix_asm_output_align): Renamed from iris6_asm_output_align.
3446         Don't record alignment for O32 ABI.
3447         (irix_file_start): Renamed from iris6_file_start.
3448         Return early for O32 ABI.
3449         (irix_file_end): Renamed from iris6_file_end.
3450         Don't emit .section directives for O32 ABI.
3451         * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
3452         * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
3453
3454         * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
3455         (MULTILIB_OSDIRNAMES): Likewise.
3456
3457 2003-10-17  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
3458
3459         * collect2.c (COLLECT_PARSE_FLAG): Provide default.
3460         (main): Use it.
3461         * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
3462
3463 2003-10-17  Richard Earnshaw  <rearnsha@arm.com>
3464
3465         * arm-modes.def (CC_Nmode): New condition code mode.
3466         * arm.c (thumb_condition_code): Delete.
3467         (arm_select_cc_mode): Handle single-bit test for Thumb.
3468         (arm_print_operand, cases 'd' and 'D'): Don't special case the
3469         condition code logic for Thumb.
3470         (get_arm_condition_code): Handle CC_Nmode.
3471         (thumb_cbrch_target_operand): New function.
3472         * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
3473         * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
3474         * arm.md: Add Thumb split patterns for zero_extract and
3475         sign_extract.
3476         (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
3477         (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
3478         (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
3479         (subsi3_cbranch, subsi3_cbranch_scratch