OSDN Git Service

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