]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/ChangeLog
gcc:
[thirdparty/gcc.git] / gcc / ChangeLog
CommitLineData
80e909c6 12003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
2
3 * Makefile.in (extraclean): Delete.
4 * configure.in (target_list): Remove extraclean.
5 * configure: Regenerate.
6 * doc/makefile.texi, doc/sourcebuild.texi: Update.
7 * objc/Make-lang.in (objc.extraclean): Delete.
8
71a3866b 92003-11-20 Joseph S. Myers <jsm@polyomino.org.uk>
10
11 * Makefile.in (lang_checks): Add.
12 (check-c++, check-f77, check-java, check-g++, check-g77,
13 check-objc): Remove hardcoded targets.
14 * doc/sourcebuild.texi: Document testsuite hooks.
15 * objc/Make-lang.in (check-objc, lang_checks): Add.
16
8c50ec6a 172003-11-19 Scott Snyder <snyder@fnal.gov>
18
19 PR target/13131
20 * dwarf2out.c (gen_array_type_die): DW_AT_declaration should be a
21 flag, not a constant.
22
84d95b4a 232003-11-19 Kelley Cook <kcook@gcc.gnu.org>
24
25 * config/arc/arc-protos.h: Update to C90 prototypes.
26 * config/arc/arc.c: Likewise.
27 * config/arc/initfini.c: Likewise.
28
46390118 292003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
30
31 * stmt.c (expand_goto): Memory clobbers added.
32
7d6492e3 332003-11-19 Andreas Krebbel <krebbel1@de.ibm.com>
34
35 * reload.c (find_reloads): Added missing type casts.
36
3da2d259 372003-11-19 James E Wilson <wilson@specifixinc.com>
38
39 * combine.c (sets_function_arg_p): Delete unused function.
40
3abcbf62 412003-11-19 Eric Christopher <echristo@redhat.com>
42
43 * reload1.c (reload): Revert 2 previous checkins.
44
6be1fecf 452003-11-19 Nathanael Nerode <neroden@gcc.gnu.org>
46
47 * cpptrad.c (_cpp_scan_out_logical_line): Improve test for
48 whether directive begins at the beginning of a line.
49
f804ebf1 502003-11-19 Richard Sandiford <rsandifo@redhat.com>
51
52 * config/frv/frv.c (frv_init_libfuncs): Correct ufix_optab entries.
53
8bb7f9c7 542003-11-19 Gerald Pfeifer <gp@suse.de>
55
56 * doc/install.texi (Specific): Remove information on old versions
57 of glibc versus old versions of GCC.
58
ca80cbc1 592003-11-19 Richard SAndiford <rsandifo@redhat.com>
60
61 * emit-rtl.c (gen_lowpart): Don't force MEMs into a register unless
62 the register lowpart is a TRULY_NOOP_TRUNCATION.
63
3afd5430 642003-11-19 Richard Henderson <rth@redhat.com>
65
66 * config/i386/i386.c (print_reg): Handle QI and HI modes for
67 non Q regs.
68
a27aa522 692003-11-19 Andreas Tobler <a.tobler@schweiz.ch>
70
71 * config/config.gcc (powerpc-*-darwin*): Add libgcc build
72 specification file.
73 * config/t-slibgcc-darwin: New file, libgcc build specification.
74 * config/t-darwin: Add libgcc2 flag -fPIC.
75 * config/rs6000/t-darwin: Multilib matches float.
76 * libgcc-darwin.ver: New file, contains libgcc symbols.
77
7c13af68 782003-11-18 Nathanael Nerode <neroden@gcc.gnu.org>
79
80 * config/ns32k/ns32k.h: Remove obsolete comment.
81
6b784824 822003-11-18 Roger Sayle <roger@eyesopen.com>
83
84 PR middle-end/11821
85 * config/arm/arm.c (arm_rtx_costs_1): Improve estimate of the code
86 size for calls to libgcc's div & mod subroutines when using -Os.
87
4aa80500 882003-11-18 Jan Hubicka <jh@suse.cz>
89
90 * cgraph.c (change_decl_assembler_name): Avoid bogus warnings.
91
63cd2c39 922003-11-18 Marc Espie <espie@openbsd.org>
93
94 * config/rs6000/sysv4.h: OpenBSD hooks.
95
3a855a53 962003-11-18 Richard Henderson <rth@redhat.com>
97
98 * expr.c (expand_expr): Don't look through constant arrays if
99 they don't bind locally.
100
d8cb6ce8 1012003-11-17 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
102
103 * expr.c (convert_move): Use GET_MODE_PRECISION instead of bitsize
104 when seeing if truncation or extension.
105
cab8604f 1062003-11-17 Eric Christopher <echristo@redhat.com>
107
108 * reload1.c (reload): Fix previous change.
109
023dc493 1102003-11-17 Scott Snyder <snyder@fnal.gov>
111
112 PR debug/11325
113 * dwarf2out.c (struct die_struct): Add die_definition field.
114 (add_AT_specification): New.
115 (gen_subprogram_die, gen_variable_die,
116 gen_struct_or_union_type_die): Use it.
117 (prune_unused_types_mark): If we're marking a forward declaration,
118 also mark the full definition, if it exists.
119
89176bdb 1202003-11-16 Nick Clifton <nickc@redhat.com>
121
122 * config/stormy16/stormy16.h (BUILD_VA_LIST_TYPE): Delete.
123 * config/stormy16/stormy16-protos.h (xstormy16_build_va_list):
124 Remove prototype.
125 * config/stormy16/stormy16.c (xstormy16_build_va_list): Rename
126 to xstormy16_build_builtin_va_list and make static.
63cd2c39 127 (TARGET_BUILD_BUILTIN_VA_LIST): Define.
89176bdb 128
5b9da921 1292003-11-16 Kazu Hirata <kazu@cs.umass.edu>
130
131 * config/h8300/h8300-protos.h: Add the prototype for
132 same_cmp_following_p.
133 * config/h8300/h8300.c (same_cmp_following_p): New.
134 * config/h8300/h8300.md (peephole2): Use it.
135
28dca3fe 1362003-11-16 Kazu Hirata <kazu@cs.umass.edu>
137
138 * config/h8300/h8300.md: Don't use REGNO when its operand is
139 not guaranteed to be a REG.
140
2c8ff1ed 1412003-11-16 Richard Sandiford <rsandifo@redhat.com>
142
143 * Makefile.in (expr.o): Depend on $(TARGET_H).
144 * target.h (return_in_msb): New target hook.
145 * target-def.h (TARGET_RETURN_IN_MSB): New macro.
146 (TARGET_CALLS): Include it.
147 * calls.c (shift_returned_value): New function.
148 (expand_call): Use it.
149 * expr.c: Include target.h.
150 (copy_blkmode_from_reg): Check targetm.calls.return_in_msb when
151 deciding what padding is needed. Change the name of the local
152 padding variable from big_endian_correction to padding_correction.
153 * stmt.c (shift_return_value): New function.
154 (expand_return): Use it. Adjust memory->register copy in the same
155 way as copy_blkmode_from_reg. Only change the return register's
156 mode if it was originally BLKmode.
157 * doc/tm.texi (TARGET_RETURN_IN_MSB): Document.
158 * config/mips/mips.c (TARGET_RETURN_IN_MSB): Define.
159 (mips_fpr_return_fields): New, split out from mips_function_value.
160 (mips_return_in_msb, mips_return_fpr_pair): New functions.
161 (mips_function_value): Rework to use the functions above.
162 * config/mips/irix6-libc-compat.c: Delete.
163 * config/mips/t-iris6 (LIB2FUNCS_STATIC_EXTRA): Undefine.
164
07a40807 1652003-11-16 Kazu Hirata <kazu@cs.umass.edu>
166
167 * doc/install.texi (--enable-checking): Update valgrind's URL.
168
0972fba8 1692003-11-16 Kazu Hirata <kazu@cs.umass.edu>
170
171 * config/h8300/h8300.md: Fix warnings by replacing -2147483648
172 with -2147483647 - 1.
173
d02b1ce3 1742003-11-16 Gerald Pfeifer <gerald@pfeifer.com>
175
176 Fix links in online manuals.
177 * doc/invoke.texi (H8/300 Options): @xref to ld, not ld.info.
178 (Precompiled Headers): @pxref to cpp, not cpp.info.
179
39aebbc3 1802003-11-16 Jason Merrill <jason@redhat.com>
181
182 * Makefile.in, objc/Make-lang.in (objc.tags): Create TAGS.sub
183 files in each directory and TAGS files that include them for each
184 front end.
185
1f8c293b 1862003-11-15 Kazu Hirata <kazu@cs.umass.edu>
187
188 * config/h8300/lib1funcs.asm (divnorm): Store the sign in bit
189 3 of S2L.
190 (modnorm): Likewise.
191 (exitdiv): Look at bit 3 of S2L only.
192
cec97c18 1932003-11-15 Kazu Hirata <kazu@cs.umass.edu>
194
195 * config/h8300/h8300.h (DO_GLOBAL_CTORS_BODY): Fix warnings.
196 (DO_GLOBAL_DTORS_BODY): Likewise.
197
6380840b 1982003-11-15 Joseph S. Myers <jsm@polyomino.org.uk>
199
200 * doc/install.texi (Prerequisites): Refine documentation of
201 autoconf, automake and perl requirements. Document required
202 gettext version.
203
cab8604f 204<2003-11-14 Jason Merrill <jason@redhat.com>
0d6df611 205
206 * function.c (assign_parms): Use TREE_TYPE to determine the real
207 type of the argument object.
208
75e81d82 2092003-11-14 Kazu Hirata <kazu@cs.umass.edu>
210
211 * config/h8300/lib1funcs.asm (___udivsi3): Peel off the first
212 iteration.
213
5ddc0793 2142003-11-14 Fariborz Jahanian <fjahanian@apple.com>
215
216 * config/rs6000/rs6000.c (rs6000_move_block_from_reg):
217 New routine to save vararg registers on stack. Support for
218 -mpowerpc64 in mixed mode.
219
9cbcee62 2202003-11-14 Bernardo Innocenti <bernie@develer.com>
221
222 * config/m68k/m68k.c: Use C statements instead of #ifdef's when testing
223 for MOTOROLA versus MIT syntax. Improves readability and provides
224 better compile-time error checking for both code paths.
225
ab2e8833 2262003-11-14 Kelley Cook <kcook@gcc.gnu.org>
227
228 * config/frv/frv-protos.h: Update for C90.
229 * config/frv/frv.h: Likewise.
230 * config/frv/frvbegin.c: Likewise.
cab8604f 231 * config/frv/frv.c: Likewise.
ab2e8833 232 (frv_adjust_field_align): Delete unused variable.
233
a1497e24 2342003-11-14 Geoffrey Keating <geoffk@apple.com>
235
bae1b63d 236 * config/rs6000/rs6000.md: Add 'DEFAULT_ABI == ABI_DARWIN'
237 to each place where TARGET_LONG_DOUBLE_128 is used with
238 DEFAULT_ABI == ABI_AIX.
239
a1497e24 240 * cppfiles.c (_cpp_find_file): Make 'one or more PCH files were found'
241 message comply with GNU standards.
242
3fb924d2 2432003-11-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
244
245 PR/6552
246 * function.c (struct epi_info): New field const_equiv.
247 (update_epilogue_consts): New function.
248 (keep_stack_depressed): Clear new field and verify scratch register
249 doesn't have it set.
250 Call new function via note_stores.
251 (handle_epilogue_set): Allow setting SP equiv reg in different mode.
252 Allow PLUS where second operand is register known set to constant.
253 (emit_equiv_load): Write load using proper mode if source different.
254 * config/mips/mips.md (return_internal): Put (return) first.
255
e0c43d95 2562003-11-14 Kazu Hirata <kazu@cs.umass.edu>
257
258 * config/h8300/lib1funcs.asm (___udivsi3): Add a comment.
259
c9dddb78 2602003-11-14 Kazu Hirata <kazu@cs.umass.edu>
261
262 * config/h8300/lib1funcs.asm (modsi3): Don't save unused
263 registers.
264 (divsi3): Likewise.
265 (reti): Don't restore unused registers.
266
34ea6ee1 2672003-11-14 Nick Clifton <nickc@redhat.com>
268
269 * config/fr30/fr30.c: Include toplev.h
270
134c13b5 2712003-11-14 Richard Earnshaw <rearnsha@arm.com>
272
273 * except.c (sjlj_emit_function_enter): Mark internal label as LOCAL.
274
068c4bec 2752003-11-14 Richard Earnshaw <rearnsha@arm.com>
276
cab8604f 277 * arm.c (arm_emit_vector_const, arm_output_load_gr): Use ISO C
068c4bec 278 function definition syntax.
279
100d52d8 2802003-11-14 Eric Christopher <echristo@redhat.com>
281
282 * reload1.c (reload): Revert previous patch. Make
283 check for assignment into reg_equiv_address stricter.
284
f008c4c8 2852003-11-14 Arnaud Charlet <charlet@act-europe.fr>
286
287 * Makefile.in (POSTSTAGE1_FLAGS_TO_PASS): Pass ADAFLAGS.
288
93569f0a 2892003-11-14 Richard Sandiford <rsandifo@redhat.com>
290
291 * config/frv/frv.c (frv_in_small_data_p): Return false for unknown
292 section names.
293
886a914d 2942003-11-14 Jason Merrill <jason@redhat.com>
295
296 PR middle-end/12526
297 * tree.c (build): A CALL_EXPR has side-effects if its arguments do.
298 * calls.c (call_expr_flags): New fn.
299 * tree.h: Declare it.
300
bc41310c 3012003-11-13 Kazu Hirata <kazu@cs.umass.edu>
302
303 * config/h8300/lib1funcs.asm (__udivsi3): Remove.
304 (divmodsi3): Change the name to ___udivsi3.
305 Update all callers.
306
ec7f942b 3072003-11-13 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
308
309 * libgcc2.c (__negdi2, __addvsi3, __addvdi3, __subvsi3, __subvdi3,
310 __mulvsi3, __negvsi2, __negvdi2, __mulvdi3, __lshrdi3, __ashldi3,
311 __ashrdi3, __ffsDI2, __muldi3, __clzDI2, __ctzDI2, __parityDI2,
312 __udivmoddi4, __divdi3, __moddi3, __cmpdi2, __ucmpdi2,
313 __fixunstfDI, __fixunsxfDI, __fixunsdfDI, __fixunssfDI,
314 __floatdixf, __floatditf, __floatdidf, __floatdisf, __gcc_bcmp):
315 Const-ify and/or initialize automatic variables at declaration.
316
c9b7cb67 3172003-11-13 Kazu Hirata <kazu@cs.umass.edu>
318
319 * config/h8300/lib1funcs.asm (divmodsi4): Replace all the uses
320 of er4 with er3. Adjust all callers.
321
a98c90fb 3222003-11-13 Andrew Pinski <apinski@apple.com>
323
100d52d8 324 * config/darwin.c (machopic_output_possible_stub_label):
325 Allow stub symbol be not defined when outputting possible
a98c90fb 326 stub label.
327
698fe526 3282003-11-13 Kazu Hirata <kazu@cs.umass.edu>
329
330 * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
331 instead of exitdiv.
332 (___umodsi3): Likewise.
333 (exitdiv): Do not restore any register.
334 (reti): Restore registers.
335
02679eed 3362003-11-13 Steven Bosscher <stevenb@suse.de>
337
338 * tree-inline.c (walk_tree): Handle PLACEHOLDER_EXPR.
339
95d5bbec 3402003-11-13 Kazu Hirata <kazu@cs.umass.edu>
341
342 * config/h8300/lib1funcs.asm: Fix comment typos.
343
8c98a03c 3442003-11-13 Kazu Hirata <kazu@cs.umass.edu>
345
346 * config/h8300/lib1funcs.asm (udivsi3): Don't save/restore
347 unused registers. Don't jump to exitdiv.
348 (umodsi3): Likewise.
349
86ffcd1e 3502003-11-13 Mark Mitchell <mark@codesourcery.com>
351 Kean Johnston <jkj@sco.com>
352
353 PR c/13029
354 * toplev.c (check_global_declarations): Do not warn about unused
355 static consts.
356
4158f73b 3572003-11-13 Pavel Pisa <pisa@cmp.felk.cvut.cz>
358 Kazu Hirata <kazu@cs.umass.edu>
359
360 * config/h8300/lib1funcs.asm (DenHighNonZero): Optimize using
361 the approximate quotient method.
362
7b842133 3632003-11-13 Richard Earnshaw <rearnsha@arm.com>
364
365 * combine.c (distribute_notes): When re-distributing the notes from
366 an insn we are about to delete, ensure we can't end up with a cyclic
367 list of notes.
368
9836f32e 3692003-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
370
371 PR optimization/12926
372 * expr.c (expand_assignment) [COMPONENT_REF]: Don't put
373 the UNCHANGING_RTX_P flag on memory references to read-only
374 components that are not addressable.
375
9eaf0a03 3762003-11-12 Kazu Hirata <kazu@cs.umass.edu>
377
378 * config/h8300/lib1funcs.asm (divmodsi4): Clear S0P in
379 DenHighNonZero.
380
681a883f 3812003-11-13 Jan Hubicka <jh@suse.cz>
382
383 PR opt/12275
384 * c-decl.c (finish_decl): Use change_decl_assembler_name.
385 * c-pragma.c (handle_pragma_redefine_extname): Likewise.
386 * varasm.c (make_decl_rtl): Likewise.
387 * cgraph.c (change_decl_assembler_name): New function.
388 * tree.h (set_decl_assembler_name): Kill dead declaration.
389 (change_decl_assembler_name): Declare.
390
391 * decl.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
392 * decl2.c (make_rtl_for_nonlocal_decl): Use change_decl_assembler_name.
393
71b80ea2 3942003-11-12 Kazu Hirata <kazu@cs.umass.edu>
395
396 * config/h8300/lib1funcs.asm (___mulsi3): Don't save/restore
397 an unused register.
398
1939a3a1 3992003-11-12 Richard Sandiford <rsandifo@redhat.com>
400
401 PR bootstrap/12752
402 * config/mips/t-iris6 (MULTILIB_OPTIONS): Put -mabi=n32 first.
403 (MULTILIB_OSDIRNAMES): Reorder accordingly.
404
549fb3f0 4052003-11-12 Janis Johnson <janis187@us.ibm.com>
406
407 * rs6000-protos.h (rs6000_initial_elimination_offset): Add.
408 (rs6000_stack_info): Remove. (debug_stack_info): Remove.
409 (rs6000_emit_eh_reg_restore): Add
410 * rs6000.c (rs6000_stack_t): Move from rs6000.h, change data type
411 of vars_size and total_size to HOST_WIDE_INT.
412 (emit_frame_save): Change parameter size to HOST_WIDE_INT.
413 (rs6000_stack_info): Make static; change data size to HOST_WIDE_INT.
414 (debug_stack_info): Make static; change output format of HOST_WIDE_INT
415 values.
416 (rs6000_emit_eh_reg_restore): New, with code formerly in rs6000.md.
417 (rs6000_initial_elimination_offset): New, with code formerly in
418 INITIAL_ELIMINATION_OFFSET.
419 * rs6000.h (rs6000_stack_t): Remove.
420 (INITIAL_ELIMINATION_OFFSET): Replace code with call to function
421 rs6000_initial_elimination_offset.
422 * rs6000.md (UNSPECV_EH_RR split): Replace code with call to
423 rs6000_emit_eh_reg_restore.
424
f0c467da 4252003-11-12 Mike Stump <mrs@apple.com>
426
427 * c-typeck.c (c_convert_parm_for_inlining): Add argnum, which
428 is the argumnt we are processing so that warnings and errors
429 will have that information.
430 * c-tree.h (c_convert_parm_for_inlining): Add argnum.
431 * lang-hooks-def.h
432 (lhd_tree_inlining_convert_parm_for_inlining): Likewse.
433 * langhooks.c (lhd_tree_inlining_convert_parm_for_inlining): Likewise.
434 * langhooks.h (convert_parm_for_inlining): Likewise.
435 * tree-inline.c (initialize_inlined_parameters): Compute and
436 pass argnum down.
437
1f2706b2 4382003-11-12 Alexey Starovoytov <alexey.starovoytov@sun.com>
439 Roger Sayle <roger@eyesopen.com>
440
441 PR optimization/12953
442 * tree-inline.c (inline_forbidden_p_1): Added check for BUILT_IN
443 before switch by FUNCTION_CODE.
444
787f8210 4452003-11-12 Richard Earnshaw <rearnsha@arm.com>
446
447 * arm.md (storehi): Avoid use of explicit subreg.
448 (storehi_bigend, storeinthi, movhi_bigend): Likewise.
449
17ce2b54 4502003-11-12 J"orn Rennecke <joern.rennecke@superh.com>
451
452 * config/sh/sh.md (prefetch): New pattern.
453
488b20dd 4542003-11-11 Eric Christopher <echristo@redhat.com>
455
456 * reload1.c (reload): Verify that addresses for
457 reg_equiv_* are valid for the architecture.
458
e134f42f 4592003-11-11 Eric Christopher <echristo@redhat.com>
460
461 * function.c (purge_addressof_1): Add libcall check.
462 Remove test for cached replacements on fallback case.
463 Simplify mode comparisons. Add libcall test for
464 paradoxical subregs.
465
d45cca86 4662003-11-11 Kazu Hirata <kazu@cs.umass.edu>
467
468 * config/h8300/t-h8300: Fix an obsolete comment.
469
bc9d42da 4702003-11-11 James E Wilson <wilson@specifixinc.com>
471
472 * expmed.c (store_bit_field, extract_bit_field): Revert last two
473 changes.
474
f3761b5e 4752003-11-11 Kazu Hirata <kazu@cs.umass.edu>
476
477 * config/h8300/lib1funcs.asm: Replace DenHighZero with
478 DenHighNonZero.
479
56f9dcaf 4802003-11-11 Jan Hubicka <jh@suse.cz>
481
482 * cgraphunit.c (cgraph_function_possibly_inlined_p): Use
483 really_no_inline.
484
81635367 4852003-11-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
486
487 * pa.h (TRAMPOLINE_TEMPLATE): Fix flushing of cache lines when
488 generating 64-bit code.
489
786c6f57 4902003-11-10 David Edelsohn <edelsohn@gnu.org>
491
492 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): Remove
493 accidental commit in previous change.
494
a396a14f 4952003-11-10 Fariborz Jahanian <fjahanian@apple.com>
a396a14f 496
786c6f57 497 * config/rs6000/rs6000.h (STACK_SIZE_MODE): Add definition.
a396a14f 498 * config/rs6000/rs6000.c (reg_or_mem_operand): Add macho-style
499 address recognition.
500 (macho_lo_sum_memory_operand): Routine to recognize macho-style
501 address recognition.
502
c9f0a9eb 5032003-11-10 Richard Henderson <rth@redhat.com>
504
505 * dwarf2out.c (gen_label_die): Cope with DECL_RTL not set.
506
2c5b6111 5072003-11-10 Matt Austern <austern@apple.com>
508
509 * config/darwin-protos.h (darwin_assemble_visibility): Declare.
510 * config/darwin.c (darwin_assemble_visibility): Define. Warn for
511 anything other than VISIBILITY_DEFAULT and VISIBILITY_HIDDEN.
512 * config/darwin.h (TARGET_ASM_ASSEMBLE_VISIBILITY): Use
513 darwin_assemble_visibility instead of default.
e134f42f 514
f299cc9c 5152003-11-10 Waldek Hebisch <hebisch@math.uni.wroc.pl>
516
517 PR target/12865
518 * config/sparc/sparc.c (sparc_initialize_trampoline): Call
519 __enable_execute_stack only after writing onto the stack.
520 (sparc64_initialize_trampoline): Likewise.
521
e0156fe8 5222003-11-09 Roger Sayle <roger@eyesopen.com>
523
524 * loop.c (check_dbra_loop): Try swapping the comparison operands
525 of the loop condition to identify a suitable induction variable.
526 * unroll.c (loop_iterations): Likewise.
527
438f54ba 5282003-11-09 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
529
530 * config/sparc/sparc.h (TARGET_CPU_CPP_BUILTINS): Fix sparc vs
531 sparc64 #cpu and #machine assertions.
532
20fa07c8 5332003-11-09 Richard Henderson <rth@redhat.com>
534
535 * Makefile.in (rtlanal.o): Depend on BASIC_BLOCK_H.
536
d0e81fea 5372003-11-09 Jan Hubicka <jh@suse.cz>
538
20e108fe 539 * tree-optimize.c (tree_rest_of_compilation): Fix warning.
540
d0e81fea 541 * cgraphunit.c (cgraph_expand_function): Use
542 cgraph_possibly_inlined_p.
543 * tree-optimize.c (tree_rest_of_compilation): Do not kill saved tree.
544
545 * opts.c (common_handle_option): Do not set max-inline-insns.
546 * params.def: Update comments.
547 (PARAM_MAX_INLINE_INSNS): Kill.
548 * invoke.texi (max-inline-insns): Kill.
549
af35025e 5502003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
551
552 PR c/3190
553 PR c/8714
554 * c-format.c (set_Wformat): Do not enable -Wformat-y2k by default.
555 * invoke.texi: Update.
556
a7e1bb24 5572003-11-08 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
558
559 PR optimization/12630
560 * pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
561 Handle length computation 64-bit moves.
562 (compute_clrstr_length, output_block_clear): Implement block clear.
563 (output_block_move): Handle 64-bit moves.
564 (pa_adjust_insn_length): Use compute_movstr_length and
565 compute_clrstr_length.
566 * pa.md (movstrsi): Revise operand order and comments. Don't use
567 match_scratch.
568 (movstrsi_internal): Delete.
569 (movstrsi_prereload, movstrsi_postreload): New insns. Define splitter
570 and peephole2 patterns to transform prereload to postreload form.
571 (movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
572 clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
573 clrstrdi_postreload): New patterns for 64-bit block move, and block
574 clear.
575 * pa-protos.h (output_block_clear): New prototype.
576
7bff8f28 5772003-11-08 Andreas Schwab <schwab@suse.de>
578
579 * dbxout.c (current_file): Also wrap inside DBX_DEBUGGING_INFO ||
580 XCOFF_DEBUGGING_INFO.
581
14f1f66f 5822003-11-08 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
583
584 * dbxout.c (current_file): Wrap declaration in DBX_USE_BINCL.
585
efc0d52b 5862003-11-07 Geoffrey Keating <geoffk@apple.com>
587
62c5a858 588 * config/rs6000/rs6000.c (rs6000_legitimize_address): Remove
589 redundant parens.
590
efc0d52b 591 * cppfiles.c (pch_open_file): New parameter 'invalid_pch', set it.
592 (find_file_in_dir): Likewise.
593 (_cpp_find_file): Print message if no header file is found
594 but an invalid PCH file was.
595
804925cd 5962003-11-08 Joseph S. Myers <jsm@polyomino.org.uk>
597
598 * c-typeck.c (pedantic_lvalue_warning): Deprecate compound
599 expressions as lvalues.
600 (internal_build_compound_expr): Remove special handling for
601 non-pedantic case.
602 * doc/extend.texi: Document that all extended lvalues are now
603 deprecated.
604
65f52f4e 6052003-11-07 Geoffrey Keating <geoffk@apple.com>
606
607 PR 11654
608 * dbxout.c (struct dbx_file): Do not save for PCH.
609 (current_file): Likewise.
610 (dbxout_init): Don't allocate struct dbx_file using GC.
611 (dbxout_start_source_file): Likewise.
612
b3190e8f 6132003-11-07 Falk Hueffner <falk@debian.org>
614
615 * config/alpha/elf.h, config/alpha/unicosmk.h,
616 config/alpha/vms.h: Convert to ISO C90.
617
3c094ced 6182003-11-07 Nathanael Nerode <neroden@gcc.gnu.org>
619
620 * config/arm/pe.h: Convert to ISO C90.
621
133479bd 6222003-11-07 J"orn Rennecke <joern.rennecke@superh.com>
623
624 * sh-protos.h (sh_pch_valid_p): Declare.
625 * sh.c ("intl.h"): Include.
626 (TARGET_PCH_VALID_P): Override.
627 (sh_target_switches): New variable.
628 (target_switches): Define.
629 (sh_pch_valid_p): New function.
630
631 * sh.h (MODE_AFTER): Don't change mode unless TARGET_HITACHI.
632
0b9fdffb 6332003-11-07 Jan Hubicka <jh@suse.cz>
634
635 * i386.c (x86_64_sign_extended_value): Return false from tls variables.
636 (x86_64_zero_extended_value): likewise.
637
b5d812b8 6382003-11-07 Richard Sandiford <rsandifo@redhat.com>
639
640 * config/mips/mips.md (loadgp): Take $25 as a second operand.
641 * config/mips/mips.c (mips_expand_prologue): Modify accordingly.
642
9c40570a 6432003-11-06 Matt Austern <austern@apple.com>
644
645 * c-common.c (handle_visibility_attribute): Set DECL_VISIBILITY
646 field instead of hanging an attribute object off the decl.
647 * tree.h (DECL_VISIBLITY): New accessor macro for
648 symbol_visibility field in struct tree_decl.
649 (enum symbol_visibility): Move definition to before tree_decl.
650 (struct tree_decl): Define new two-bit field, symbol_visibility.
651 (decl_visibility): Remove declaration.
652 * varasm.c (maybe_assemble_visibility): Use DECL_VISIBILITY
653 instead of decl_visibility.
e134f42f 654 (default_binds_local_p_1): Use DECL_VISIBILITY instead of
9c40570a 655 decl_visibility.
656 (decl_visibility): Remove.
e134f42f 657
5772d010 6582003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
659
660 * config/s390/s390.c (s390_emit_epilogue): Recognize more cases
661 where register 14 will be saved.
662
3b4d020c 6632003-11-06 Geoffrey Keating <geoffk@apple.com>
664
665 * config/rs6000/rs6000.h (USE_FP_FOR_ARG_P): Move to rs6000.c.
666 (USE_ALTIVEC_FOR_ARG_P): Likewise.
667 * config/rs6000/rs6000.c (USE_FP_FOR_ARG_P): Move from rs6000.h.
668 Take a pointer as the CUM parameter. Update callers.
669 (USE_ALTIVEC_FOR_ARG_P): Likewise. Also correct for Darwin/AIX
670 32-bit ABIs.
671 (function_arg_advance): Use USE_ALTIVEC_FOR_ARG_P. Correct case
672 of vector parameters as named arguments of stdarg function.
673 (function_arg): Likewise.
674
675 * config/rs6000/darwin.h (ASM_SPEC): Use -force_cpusubtype_ALL when
676 -maltivec is specified, not the non-existent -faltivec.
677
201e502c 6782003-11-06 Ulrich Weigand <uweigand@de.ibm.com>
679
680 * config/s390/s390-protos.h (s390_function_value): Declare.
681 * config/s390/s390.c (TARGET_RETURN_IN_MEMORY): Define.
682 (s390_return_in_memory): New function.
683 (s390_function_value): New function.
684 (s390_function_arg_float): Return false for all arguments larger
685 than 8 bytes.
686 (s390_function_arg_pass_by_reference): Likewise. Return true for
687 all vector arguments.
688 (s390_function_arg_integer): New function.
689 (s390_function_arg_advance): Call it. Add sanity checks.
690 (s390_function_arg): Likewise.
691 * config/s390/s390.h (FUNCTION_VALUE): Call s390_function_value.
692 (LIBCALL_VALUE): Likewise.
693 (RET_REG): Remove.
694 (RETURN_IN_MEMORY): Remove.
695
a1d0a190 6962003-11-06 Richard Sandiford <rsandifo@redhat.com>
697
698 * config/mips/mips-protos.h (mips_initial_elimination_offset): Change
699 return type to HOST_WIDE_INT.
700 * config/mips/mips.c (mips_frame_info): Give sizes type HOST_WIDE_INT.
701 Make initialized a bool. Make register masks unsigned ints.
702 (compute_frame_size): Make same mask change here. Use HOST_WIDE_INT
703 where appropriate.
704 (mips_initial_elimination_offset): Return a HOST_WIDE_INT.
705 (mips_output_function_prologue): Print sizes as HOST_WIDE_INTs.
706
57ce992d 7072003-11-06 Richard Sandiford <rsandifo@redhat.com>
708
709 * config/frv/frv.c (frv_initial_elimination_offset): Remove bogus
710 negation.
711
37a44937 7122003-11-06 Richard Sandiford <rsandifo@redhat.com>
713
714 * config/frv/frv.h (ASM_OUTPUT_ALIGN_WITH_NOP): Define.
715
ad95aaf7 7162003-11-06 Momchil Velikov <velco@fadata.bg>
717
08a2aab3 718 * config/mips/mips.c (override_options): Set MASK_SOFT_FLOAT
719 for VR4111 too.
ad95aaf7 720
442547e5 7212003-11-06 Jan Hubicka <jh@suse.cz>
722
723 * builtins.c (simplify_builtin_strrchr, simplify_builtin_strpbrk): Add
724 missing casts.
725
7c0390e7 7262003-11-06 Zack Weinberg <zack@codesourcery.com>
727
728 * genmodes.c: Change the word "bitsize" to "precision" throughout.
729 * machmode.def: Likewise.
730 * machmode.h (GET_MODE_SIZE): Cast value to unsigned short.
731 (GET_MODE_BITSIZE): Define as GET_MODE_SIZE * BITS_PER_UNIT.
732 (GET_MODE_PRECISION): New macro.
733 (mode_bitsize): Renamed mode_precision.
734 * stor-layout.c (mode_for_size, smallest_mode_for_size):
735 Use GET_MODE_PRECISION; clarify comments.
736
1da1824d 7372003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
738
739 * doc/install-old.texi: Remove old documentation of building
740 cross-compilers.
741 * doc/install.texi: Move some of it to here.
742
5980b792 7432003-11-05 Per Bothner <pbothner@apple.com>
744
bc718176 745 PR preprocessor/12891
5980b792 746 * c-opts.c (finish_options): Set include_cursor to disable premature
747 calls to push_command_line_include from cpp_scan_nooutput.
748 Fixes bug reported by DJ Delorie.
749
9496777f 7502003-11-05 Geoffrey Keating <geoffk@apple.com>
751
998d01c2 752 * config/rs6000/rs6000.c (setup_incoming_varargs): Remove
753 code supporting old-style varargs.
754
9496777f 755 * config/rs6000/rs6000.c (rs6000_machopic_legitimize_pic_address): Use
756 an intermediate register for better optimisation.
757
debeee98 7582003-11-05 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
759
603f64da 760 PR optimization/10080
debeee98 761 * cfgloopanal.c (variable_initial_value, variable_initial_values,
762 simple_loop_exit_p): Record the fact that initial value is extended
763 from inner mode.
764 (count_strange_loop_iterations, count_loop_iterations): Handle
765 ivs that iterate in a narrower mode. Fix handling of overflows.
766 Improve handling of NE conditions.
767 (inverse, fits_in_mode_p): New static functions.
768 (simple_increment): Detect variables that iterate in a narrower mode.
769 * cfgloop.h (struct loop_desc): Fields inner_mode and extend added.
770
eda0b260 7712003-11-05 Geoffrey Keating <geoffk@apple.com>
772
0fda250c 773 * config/rs6000/rs6000.c (compute_vrsave_mask): Correct off-by-one
774 error.
775
eda0b260 776 * config/rs6000/darwin.h (SUBTARGET_OVERRIDE_OPTIONS): Darwin
777 needs VRSAVE.
778
f6fb23c5 7792003-11-05 Joseph S. Myers <jsm@polyomino.org.uk>
780
781 * c-typeck.c (pedantic_lvalue_warning): Deprecate use of
782 conditional expressions as lvalues.
783
f4576729 7842003-11-05 Kazu Hirata <kazu@cs.umass.edu>
785
786 * tsystem.h: Add the prototype of strlen.
787 * unwind-pe.h (read_encoded_value_with_base): Add an
788 appropriate cast to handle a case where the pointer size is
789 smaller than sizeof (int).
790
da484573 7912003-11-04 Richard Sandiford <rsandifo@redhat.com>
792
793 * config/mips/mips-protos.h (mips_global_pic_constant_p): Delete.
794 (mips_delegitimize_address): Delete.
795 (mips_gotoff_global, mips_load_got_page): Declare.
796 (mips_load_got_global, mips_rewrite_small_data): Declare.
797
798 * config/mips/mips.h (FIND_BASE_TERM): Remove definition.
799 (DANGEROUS_FOR_LA25_P): Use global_got_operand.
800 (PREDICATE_CODES): Add global_got_operand, local_got_operand and
801 small_data_pattern. Remove CONST from const_arith_operand's entry.
802
803 * config/mips/mips.c (UNSPEC_ADDRESS_P, CONST_GP_P): New macros.
804 (UNSPEC_ADDRESS, UNSPEC_ADDRESS_TYPE): Likewise.
805 (mips_constant_type): Delete.
806 (mips_symbol_type): Add SYMBOL_GOTOFF_PAGE, SYMBOL_GOTOFF_GLOBAL,
807 SYMBOL_GOTOFF_CALL and SYMBOL_GOTOFF_LOADGP.
808 (NUM_SYMBOL_TYPES): New macro.
809 (mips_address_type): Remove ADDRESS_INVALID.
810 (machine_function): Add has_gp_insn_p.
811 (mips_constant_info): Delete.
812 (mips_address_info): Add the address type as an extra field. Replace
813 the c field with symbol_type.
814 (mips_split_p, mips_lo_relocs, mips_hi_relocs): New arrays.
815 (TARGET_DELEGITIMIZE_ADDRESS): Remove definition.
816 (mips_reloc_offset_ok_p, mips_classify_constant): Delete.
817 (mips_split_const, mips_symbolic_constant_p): New functions.
818 (mips_symbolic_address_p): Take the symbol type and mode as arguments.
819 (mips_classify_address): Return true if the address is valid, storing
820 its type in INFO. Use mips_symbolic_constant_p. Use mips_lo_relocs[]
821 to test whether a LO_SUM address is allowed.
822 (mips_symbol_insns): Return 0 for general mips16 symbols.
823 Reorder SYMBOL_GOT_GLOBAL case to match mips_symbol_type definition.
824 Handle the new SYMBOL_GOTOFF_*s.
825 (mips_address_insns): Update call to mips_classify_address.
826 (mips_const_insns): Be more fussy about HIGH constants. Remove use
827 of mips_classify_constant. Be more accurate about CONSTs.
828 (mips_global_pic_constant_p): Delete.
829 (const_arith_operand): Only accept CONST_INTs.
830 (call_insn_operand): Remove call to mips_classify_constant.
831 Let mips_symbolic_constant_p check for invalid offsets.
832 (move_operand): Check for general_operands first. Only accept symbolic
833 constants if they satisfy mips_symbolic_constant_p and cannot be split.
834 (symbolic_constant): Use mips_symbolic_constant_p.
835 (global_got_operand, local_got_operand): New predicates.
836 (stack_operand): Update call to mips_classify_address.
837 (mips_legitimate_address_p): Likewise.
838 (mips_reloc, mips_lui_reloc): Delete.
839 (mips_force_temporary): Only use the given temporary if no_new_pseudos.
840 Use emit_move_insn.
841 (mips_split_symbol, mips_unspec_address): New functions.
842 (mips_unspec_offset_high): New function.
843 (mips_load_got): Replace reloc argument with a symbol_type.
844 Use mips_unspec_address to create the address and put it in a
845 LO_SUM with the base register.
846 (mips_load_got16, mips_load_got32): Delete.
847 (mips_emit_high, mips_legitimize_symbol): Delete.
848 (mips_gotoff_global): New function.
849 (mips_load_got_page, mips_load_got_global): New functions.
850 (mips_legitimize_symbol): Inline handling of LO_SUM splits.
851 (mips_legitimize_const_move): Likewise. Remove HIGH handling.
852 Inline code to handle constants plus invalid offsets. Use
853 mips_split_symbol to legitimize constant pool addresses.
854 (mips_delegitimize_address): Delete.
855 (mips_rtx_costs): Give legitimate symbolic constants and CONST_DOUBLEs
856 a cost of 1 insn. Give the rest a cost of CONSTANT_POOL_ADDRESS.
857 (mips_subword): Pass memrefs through mips_rewrite_small_data.
858 (mips_output_move): Remove use of mips_classify_constant.
859 (mips_expand_call): Use mips_unspec_offset_high to calculate the
860 high part of the GOT address for calls to global functions.
861 (override_options): Initialize mips_split_p[], mips_lo_relocs[]
862 and mips_hi_relocs[].
863 (print_operand): Use print_operand_reloc to handle '%h' and '%R'.
864 Remove use of mips_classify_constant.
865 (mips_reloc_string): Delete.
866 (print_operand_reloc): New function.
867 (print_operand_address): Update call to mips_classify_address.
868 (mips_rewrite_small_data_p, small_data_pattern_1): New functions.
869 (small_data_pattern): New predicate.
870 (mips_rewrite_small_data_1, mips_rewrite_small_data): New functions.
871 (mips_function_has_gp_insn): New function.
872 (mips_global_pointer): Use it.
873 (mips_gp_insn): Delete.
874 (mips_expand_prologue): When compiling for n32/n64 abicalls, use a
875 single loadgp pattern to initialize $gp. Pass it the offset of _gp
876 from the start of the current function.
877 (mips16_gp_pseudo_reg): Revert last patch.
878
879 * config/mips/mips.md (RELOC_*): Delete.
880 (UNSPEC_LOADGP, UNSPEC_FIRST_ADDRESS): New constants.
881 (got): New insn attribute.
882 (type): Set to "load" if got == load.
883 (length): Set to 4 if got == load, 8 if got == xgot_high.
884 (lui[sd]i): Delete.
885 (*xgot_hi[sd]i, *xgot_lo[sd]i): New patterns.
886 (*got_disp[sd]i, *got_page[sd]i): Likewise.
887 (*low[sd]i): Change constraints to "d". Add a new define_split to
888 rewrite small data constants into LO_SUMs.
889 (loadgp): New insns.
890
c1da024a 8912003-11-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
892
893 * config/mips/_tilib.c: Use _ABI* in _MIPS_SIM tests.
894
fbe30bb9 8952003-11-04 DJ Delorie <dj@redhat.com>
896
897 * config/v850/v850.md (mulhisi3): Expand the const_int case
898 separately to avoid trying to sign extend the const.
899
3f26eaa9 9002003-11-04 Richard Sandiford <rsandifo@redhat.com>
901
902 * emit-rtl.c (copy_rtx_if_shared): Don't allow MEMs with constant
903 addresses to be shared.
904 (force_const_mem): Return a copy of the pool entry.
905
63176599 9062003-11-03 Andreas Jaeger <aj@suse.de>
907
908 * Makefile.in (GCC_CFLAGS): Remove @WERROR@ again.
909
1e94fc11 9102003-11-03 Kelley Cook <kcook@gcc.gnu.org>
911
912 * Makefile.in (cpp.dvi): New target split from cpp.info.
913 (gcc.dvi): New target split from gcc.info.
914 (gccint.dvi): New target split from gccint.info.
915 (cppinternals.dvi): New target split from cppinternals.info
916 (gccinstall.info): New specific rule.
917 (gccinstall.dvi): Likewise.
918 (dvi): Move targets to $(docobjdir).
919 ($(docobjdir)/%.dvi): New implicit rule.
920
de315068 9212003-11-03 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
922
923 * doc/gty.texi (tag, desc): Say more about role of desc values in
924 selecting between tags.
925
1676fbf4 9262003-11-03 Alexander Kabaev <ak03@gte.com>
927
928 * real.c (encode_ieee_single): Ensure proper promotion.
929
8e04d211 9302003-11-03 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
931
932 * doc/contrib.texi: Add Giovanni Bajo, Dara Hazeghi, Falk Hueffner,
933 and Andrew Pinski.
934
2cbae4d7 9352003-11-03 Syd Polk <spolk@apple.com>
936
937 * config/rs6000/rs6000.c (rs6000_override_options): Add G3, G4, and G5
938 marketing names to the list of supported processors.
939 * config/rs6000/rs6000.h: Ditto.
940 * doc/invoke.texi: Ditto.
941 * config.gcc: Ditto.
942
2a024ef8 9432003-11-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
944
945 * fixinc/inclhack.def (stdio_va_list): Allow tab before va_list.
946 Merge two substitutions.
947 * fixinc/fixincl.x: Regenerate.
948 Fixes PR bootstrap/12666.
949
45100280 9502003-11-03 Joseph S. Myers <jsm@polyomino.org.uk>
951
952 * doc/install-old.texi: Remove VMS documentation.
953
bbb42405 9542003-11-03 Jan Hubicka <jh@suse.cz>
955
956 * i386.c (override_options): Remove hack enabling 128bit long double
957 commited by accident.
958
407f6844 9592003-11-02 Per Bothner <per@bothner.com>
960
961 * c-opts.c (needValue): Do cpp_find_main_file before processing
962 any imacros flags, so pfile->main_file is set for the latter.
963
dca5287f 9642003-11-03 Andreas Jaeger <aj@suse.de>
965 Zack Weinberg <zack@codesourcery.com>
966
967 * Makefile.in (GCC_CFLAGS): Allow blacklisting of warnings.
968 (SYSCALLS.c.X-warn): Suppress warnings.
969
22699a7e 9702003-11-02 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
971
972 PR optimization/12845
973 * pa.c (output_cbranch): Use cmpb for DImode comparisons with 0.
974
db64490b 9752003-11-02 Zack Weinberg <zack@codesourcery.com>
976
977 * print-rtl.c (print_rtx): Call PRINT_REG with second argument -1.
978 * config/i386/i386.c (print_reg): Abort on a virtual register
979 if code != -1; not if file == asm_out_file.
980 * config/i386/i386.h (PRINT_REG): Document meaning of CODE == -1.
981 (DEBUG_PRINT_REG): Delete, unused.
982
793bb647 9832003-11-02 Andreas Schwab <schwab@suse.de>
984
985 * config/ia64/fde-glibc.c (_GNU_SOURCE): Define to 1 instead of
986 empty to avoid conflict with the definition from configure.
987
357b5a1f 9882003-11-02 Roger Sayle <roger@eyesopen.com>
989
990 PR optimization/10817
991 * ifcvt.c (noce_emit_move_insn): Improve documentation comment.
992 (noce_try_move): New function to optimize an if-the-else into an
993 unconditional move, i.e. "if (a!=b) x=a; else x=b" into "x=a".
994 (noce_process_if_block): Attempt simplification with noce_try_move.
995
996 * simplify-rtx.c (simplify_ternary_operation): Some minor fixes
997 and improvements to the optimizations of IF_THEN_ELSE expressions.
998 (simplify_subreg): Silence signed/unsigned comparison warning.
999
b6ea32c3 10002003-11-02 Richard Sandiford <rsandifo@redhat.com>
1001
1002 * Makefile.in (targhooks.o, reload.o): Update dependencies.
1003 (GTFILES): Add targhooks.c.
1004 (gt-targhooks.h): New rule; depend on s-gtype.
1005 * target.h (direct_pool_load_p): New hook.
1006 * target-def.h (TARGET_DIRECT_POOL_LOAD_P): New macro.
1007 (TARGET_INITIALIZER): Include it.
1008 * targhooks.h (default_direct_pool_load_p): Declare.
1009 (hook_bool_machine_mode_true): Declare.
1010 * targhooks.c: Include insn-config.h, recog.h, ggc.h and
1011 gt-targhooks.h.
1012 (pool_symbol): New variable.
1013 (default_direct_pool_load_p): New function.
1014 (hook_bool_machine_mode_true): New function.
1015 * reload.c: Include target.h.
1016 (find_reloads): If an alternative will force a constant into memory,
1017 count an extra reload if constant pool symbols are not valid
1018 addresses. If an alternative uses memory to move values between
1019 registers, count the move as two reloads rather than one.
1020 * config/s390/s390.c (TARGET_DIRECT_POOL_LOAD_P): Define.
1021 * doc/tm.texi (TARGET_DIRECT_POOL_LOAD_P): Document.
1022
df41fe2e 10232003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1024
1025 PR optimization/12799
1026 * postreload.c (reload_cse_move2add): Generate the add2
1027 patterns manually.
1028
cc7530fd 10292003-11-02 Eric Botcazou <ebotcazou@libertysurf.fr>
1030
1031 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1032 Return 0 for all complex modes whose size is lesser or equal to
1033 a word. Add a ??? comment for the condition used with 16-byte
1034 aligned modes.
1035
2aef7547 10362003-11-01 Kelley Cook <kcook@gcc.gnu.org>
1037
1038 * .cvsignore: Remove c-parse* and tradcif.c.
1039 * objc/.cvsignore: Delete.
1040
c8e18460 10412003-11-01 Roger Sayle <roger@eyesopen.com>
1042
1043 * unwind-sjlj.c (_Unwind_GetCFA): Return (_Unwind_Word)0 instead
1044 of NULL.
1045
d80d2074 10462003-11-01 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1047
d56ff2ea 1048 * som.h (DO_GLOBAL_DTORS_BODY): Change to C90 declaration.
1049
f2dc410e 1050 * libgcc2.c (SYMBOL__MAIN): Provide C90 declaration.
1051
5b6b3be8 1052 * collect2.c (scan_libraries): Fix typos.
1053
d80d2074 1054 PR preprocessor/12847
1055 * cppfiles.c, cppexp.c, cpperror.c, cpplib.h, cpplib.c, cpplex.c,
1056 cppinit.c, cpptrad.c, cppmacro.c, fix-header.c, cpppch.c, c-pch.c,
1057 c-incpath.c, cppcharset.c (DL_WARNING, DL_WARNING_SYSHDR, DL_PEDWARN,
1058 DL_ERROR, DL_ICE, DL_EXTRACT, DL_WARNING_P): Prefix macro names with
1059 "CPP_".
1060
500be7b1 10612003-11-01 Fariborz Jahanian <fjahanian@apple.com>
1062
1063 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Correct
1064 no_units calculation.
1065
35261e5e 10662003-11-01 Andreas Jaeger <aj@suse.de>
1067
1068 * unwind-dw2.c (_Unwind_FrameState): Remove commas at end of
1069 enumeration list.
1070
aad01c2b 10712003-11-01 Andreas Schwab <schwab@suse.de>
1072
1073 * config/ia64/sysv4.h (SDATA_SECTION_FUNCTION): Update to C90
1074 prototypes.
1075 (SBSS_SECTION_FUNCTION): Likewise.
1076
63176599 10772003-11-01 Andreas Jaeger <aj@suse.de>
c4cad003 1078
1079 * Makefile.in (GCC_CFLAGS): Add @WERROR@ for target files.
1080
39b952d4 10812003-11-01 Andreas Tobler <a.tobler@schweiz.ch>
1082
1083 * config/rs6000/sysv4.h (EXTRA_SECTION_FUNCTIONS): Update to C90
1084 prototypes.
1085
358738f4 10862003-11-01 Andreas Jaeger <aj@suse.de>
1087
1088 * unwind-dw2.c (_Unwind_FindEnclosingFunction): Constify variable.
1089 (uw_frame_state_for): Constify variables.
1090 (extract_cie_info): Constify first argument.
1091
1092 * unwind-dw2-fde-darwin.c: Adjust prototype of
1093 _Unwind_Find_registered_FDE for recent changes.
1094 (examine_objects): Constify return value and local variable result.
1095 (_Unwind_Find_FDE): Constify return value and local variable ret.
1096
3d719176 10972003-10-31 Per Bothner <pbothner@apple.com>
1098
1099 * c-opts.c (finish_options): Change to returns boolean - false iff
1100 the call to cpp_find_main_file fails.
1101 (c_common_init): Skip preprocess_file if finish_options failed.
1102 (c_common_parse_file): Break if finish_options failed.
4044e7e8 1103 Fixes PR preprocessor/12545.
3d719176 1104
2acf2acb 11052003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1106
c535f36c 1107 * aclocal.m4: Blacklist ultrix* for mmap file.
1108 * configure: Rebuilt.
1109
c1920a92 1110 * function.c (assign_parms): Add ATTRIBUTE_UNUSED to variable
1111 reg_parm_stack_space.
1112 * toplev.c (default_get_pch_validity): Fix warning.
1113
2acf2acb 1114 * vax.c: Include toplev.h.
1115 (vax_init_libfuncs): Fix typo (umod).
1116 * vax.h (ASM_COMMENT_START): Define.
1117 (PRINT_OPERAND): Fix warning when HOST_WIDE_INT is a long long.
1118
f5c47dd7 11192003-10-31 Roger Sayle <roger@eyesopen.com>
1120
1121 PR middle-end/11968
1122 * expr.c (expand_expr <MULT_EXPR>): Remove inappropriate and
1123 confusing comment; distributivity isn't handled in expand_expr.
1124 * fold-const.c (extract_muldiv_1 <PLUS_EXPR>): Allow overflow
1125 in distributivity, if wrap-around semantics are specified with
1126 -fwrapv.
1127
da9f6210 11282003-11-01 Alan Modra <amodra@bigpond.net.au>
1129
1130 PR 12315
1131 * final.c (profile_function): Allow for NULL svrtx.
1132
b572d1a5 11332003-10-31 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1134
1135 * pa.c (pa_select_section): Use new style declaration.
1136 * som.h (readonly_data): Likewise.
1137
702538e1 11382003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1139
1140 * config/rs6000/rs6000.c: Update to C90 prototypes.
1141
a928b158 11422003-10-31 Richard Earnshaw <rearnsha@arm.com>
1143
92ab6cf1 1144 PR target/7513
a928b158 1145 * arm.h (CONDITIONAL_REGISTER_USAGE): Disable use of LR in Thumb
1146 code.
1147
c4cad003 11482003-10-31 Andreas Jaeger <aj@suse.de>,
db64490b 1149 Zack Weinberg <zack@codesourcery.com>
1150
1151
1152 * crtstuff.c (__register_frame_info, __register_frame_info_bases)
1153 (__deregister_frame_info, __deregister_frame_info_bases):
1154 Constify void * argument.
1155 * unwind-dw2-fde.h (struct fde_vector):
1156 Constify 'orig_data' and 'array' fields.
1157 (__register_frame_info, __register_frame_info_bases)
1158 (__deregister_frame_info, __deregister_frame_info_bases):
1159 Constify void * argument.
1160 (get_cie, next_fde, _Unwind_Find_FDE): Constify arguments,
1161 return values, and casts of type fde *, struct dwarf_fde *,
1162 and struct dwarf_cie *.
1163 * unwind-dw2-fde.c (__register_frame_info, __register_frame_info_bases)
1164 (__deregister_frame_info, __deregister_frame_info_bases):
1165 Constify void * argument.
1166 (get_cie_encoding, ): Constify struct dwarf_cie * argument.
1167 (get_fde_encoding, fde_unencoded_compare, fde_single_encoding_compare)
1168 (fde_mixed_encoding_compare, fde_compare_t, start_fde_sort, fde_insert)
1169 fde_split, SWAP, frame_downheap, frame_heapsort)
1170 (classify_object_over_fdes, add_fdes, linear_search_fdes,
1171 binary_search_unencoded_fdes, binary_search_single_encoding_fdes,
1172 binary_search_mixed_encoding_fdes, search_object, _Unwind_Find_FDE):
1173 Constify arguments, local variables, return values, and casts
1174 of type fde *, fde **, struct dwarf_fde *, and struct dwarf_cie *.
1175 Use const pointer types in sizeof expressions, for clarity.
1176 * unwind-dw2-fde-glibc.c
1177 (_Unwind_find_registered_FDE, _Unwind_find_FDE): Constify return value.
1178 (struct unw_eh_callback_data): Constify 'ret' field.
49856054 1179
4cccb4b2 11802003-10-31 Fariborz Jahanian <fjahanian@apple.com>
1181 David Edelsohn <edelsohn@gnu.org>
1182
1183 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): New.
1184 (function_arg): Call it.
1185 (rs6000_function_value): Widen integral return value to mode based
1186 on TARGET_32BIT, not word_mode.
1187 * config/rs6000/rs6000.h (PROMOTE_MODE): Likewise.
db9d2b0e 1188 (UNITS_PER_ARG): New.
1189 (RS6000_ARG_SIZE): Use it.
4cccb4b2 1190
f8fd8690 11912003-10-31 Gerald Pfeifer <gerald@pfeifer.com>
1192
1193 * .cvsignore: No longer ignore gengtype-lex.c, gengtype-yacc.c,
1194 and gengtype-yacc.h.
1195
6b687974 11962003-10-31 Richard Earnshaw <rearnsha@arm.com>
1197
48d5a503 1198 PR optimization/8896
6b687974 1199 * postreload.c (reload_combine): Check that REGY doesn't die in an
1200 insn of the form (set (regx) (plus (regx) (regy))), ie REGX != REGY.
1201
242dafee 12022003-10-31 Josef Zlomek <zlomekj@suse.cz>
1203
1204 PR/10239
1205 * cfgrtl.c (delete_insn): Decrease LABEL_NUSES for all REG_LABEL notes.
1206
1824678b 12072003-10-31 Josef Zlomek <zlomekj@suse.cz>
1208
1209 PR/11640
1210 * cfgrtl.c (try_redirect_by_replacing_jump): Move jump
1211 immediatelly before BARRIER.
1212
5e0e3525 12132003-10-31 Kelley Cook <kcook@gcc.gnu.org>
1214
1215 * Makefile.in (STRICT2_WARN): Add -Wold-style-definition.
1216
100b3e6e 12172003-10-31 Richard Earnshaw <rearnsha@arm.com>
1218
1219 PR target/11271
1220 * reload.c (find_reloads_address): Handle any register in
1221 (PLUS (PLUS (REG) (REG)) (CONST_INT).
1222
32bbbaac 12232003-10-31 Richard Earnshaw <rearnsha@arm.com>
1224
c4cad003 1225 * ggc-page.c (ggc_pch_read): Wrap call to poison_pages in
32bbbaac 1226 ENABLE_GC_CHECKING not in GGC_POISON.
1227
84d6ffe2 12282003-10-31 Nathanael Nerode <neroden@gcc.gnu.org>
1229
b007b385 1230 PR bootstrap/9863
1231 * configure.in: Bail out if awk is missing.
1232 * configure: Regenerate.
1233
84d6ffe2 1234 PR ada/12761
1235 * Makefile.in: Move default definitions of X_ADA_CFLAGS,
1236 T_ADA_CFLAGS, X_ADAFLAGS, T_ADAFLAGS from ada/Make-lang.in to here.
1237
e14083e0 12382003-10-30 Richard Henderson <rth@redhat.com>
1239
1240 * c-objc-common.c (c_tree_printer): Handle types correctly.
1241 Factor code a bit.
1242
6f2c2693 12432003-10-30 Kelley Cook <kcook@gcc.gnu.org>
1244
1245 * value-prof.c, web.c: Update to C90.
1246
edefc462 12472003-10-30 Eric Christopher <echristo@redhat.com>
c9602bef 1248
1249 * function.c (purge_addressof_1): Add case for REG_RETVAL
db64490b 1250 notes when modes are unequal.
c9602bef 1251
8db73584 12522003-10-31 Jan Hubicka <jh@suse.cz>
1253
1254 * i386-modes.def: Add XFmode format adjustment.
1255
0c87e873 12562003-10-30 Jan Hubicka <jh@suse.cz>
1257
1258 * real.c (encode_ieee_extended): Back out previous patch.
1259
e07e720e 12602003-10-30 Jan Hubicka <jh@suse.cz>
1261
1262 * real.c (encode_ieee_extended): Initialize whole array.
1263 * reg-stack.c (move_for_stack_reg0: Use always XFmode.
1264 * i386-modes.def: Change definitions of TFmode and XFmode.
6f2c2693 1265 * i386.c (classify_argument): Rename TFmodes to XFmodes; add new TFmode
1266 code.
e07e720e 1267 (construct_container): Allow constructing of TFmode integer containers.
1268 (ix86_return_in_memory): XFmode is not returned in memory.
1269 (init_ext_80387_constants): Always use XFmode.
1270 (print_operand): Likewise.
1271 (ix86_prepare_fp_compare_regs): Likewise.
1272 (split_to_parts): Deal with TFmode.
1273 (split_long_move): Simplify.
1274 (ix86_init_mmx_sse_builtins): Add __float80, __float128.
1275 (ix86_memory_move_cost): Do not confuse TFmode.
1276 * i386.h (LONG_DOUBLE_TYPE_SIZE): Set to 96.
1277 (IS_STACK_MODE): TFmode is not stack mode.
1278 (HARD_REGNO_NREGS, CLASS_MAX_NREGS): Deal nicely with XFmode.
1279 (VALID_SSE_REG_MODE): Allow TFmode.
1280 (VALID_FP_MODE_P): Disallow TFmode.
1281 (VALID_INT_MODE_P): Allow TFmode in 64bit mode.
1282 * i386.md (TFmode patterns): Kill.
1283 (movtf, motf_rex64): New patterns.
1284
9011734a 12852003-10-30 Richard Sandiford <rsandifo@redhat.com>
1286
1287 * config/mips/mips.md (adddi3): Fix typo in mips16 stack pointer code.
1288
d4d08ac0 12892003-10-30 Richard Sandiford <rsandifo@redhat.com>
1290
1291 * config/mips/mips.md (mov_lwl): Use memory_operand where appropriate.
1292 (mov_lwr, mov_swl, mov_swr): Likewise.
1293 (mov_ldl, mov_ldr, mov_sdl, mov_sdr): Likewise.
1294
bb5c405e 12952003-10-30 Richard Sandiford <rsandifo@redhat.com>
1296
1297 * config/mips/mips.c (mips_global_pointer): Don't try to use $25.
1298
2e555bbe 12992003-10-30 Richard Henderson <rth@redhat.com>
1300
1301 * config/mips/mips.c (mips_build_builtin_va_list): Use runtime
1302 test for irix6 rather than preprocessor test.
1303
9208ebc3 13042003-10-30 Richard Henderson <rth@redhat.com>
1305
1306 * cppcharset.c (one_utf8_to_utf16): Initialize 's' to silence warning.
1307
5fe74ca1 13082003-10-30 Ulrich Weigand <uweigand@de.ibm.com>
1309
1310 * config/s390/s390.c (struct machine_function): Use save_return_addr_p
1311 as a general flag that the return address register needs to be saved,
1312 not necessarily because of __builtin_return_addr (0).
1313 (s390_split_branches): Remove TEMP_REG and TEMP_USED arguments,
1314 remove special handling of zSeries machines.
c9602bef 1315 (s390_optimize_prolog): Remove TEMP_USED argument, treat the return
5fe74ca1 1316 register as a regular register on zSeries machines.
c9602bef 1317 (s390_reorg): Adjust calls to s390_split_branches and
5fe74ca1 1318 s390_optimize_prolog.
1319 (s390_frame_info): On zSeries machines, do not assume the return
1320 register is always used. Update regs_ever_live with current data
1321 for the special registers.
1322 (s390_emit_epilogue): Use save_return_addr_p to determine whether
1323 the return register was saved.
1324 * config/s390/s390.h (CONDITIONAL_REGISTER_USAGE): Do not mark
1325 RETURN_REGNUM fixed on zSeries machines.
1326 (REG_ALLOC_ORDER): Use RETURN_REGNUM last.
1327 * config/s390/s390.md ("*doloop_si"): Handle branch overflow
1328 via ahi-jgne pair on zSeries machines.
1329 ("*doloop_di"): Likewise.
1330 ("*doloop_di_long"): Remove.
1331
7e28d849 13322003-10-30 Richard Earnshaw <rearnsha@arm.com>
1333
1334 * arm.c (arm_override_options): Revert change of arm_constant_limit
1335 when optimizing for size.
1336
654d0fed 13372003-10-29 Richard Henderson <rth@redhat.com>
1338
1339 * fold-const.c (fold_single_bit_test): Convert the input to the
1340 operational intermediate type.
1341
2e15d750 13422003-10-29 Richard Henderson <rth@redhat.com>
1343
1344 * builtins.c (std_build_builtin_va_list): New.
1345 * expr.h (std_build_builtin_va_list): Declare.
1346 * defaults.h (BUILD_VA_LIST_TYPE): New.
1347 * system.h (BUILD_VA_LIST_TYPE): Poison.
1348 * target-def.h (TARGET_BUILD_BUILTIN_VA_LIST): New.
1349 * target.h (struct gcc_target): Add build_builtin_va_list.
1350 * tree.c (build_common_tree_nodes_2): Use it.
1351
c9602bef 1352 * config/alpha/alpha-protos.h, config/alpha/alpha.c,
2e15d750 1353 config/alpha/alpha.h, config/alpha/unicosmk.h,
1354 config/d30v/d30v-protos.h, config/d30v/d30v.c, config/d30v/d30v.h,
1355 config/i386/i386-protos.h, config/i386/i386.c, config/i386/i386.h,
1356 config/i860/i860-protos.h, config/i860/i860.c, config/i860/i860.h,
1357 config/i960/i960-protos.h, config/i960/i960.c, config/i960/i960.h,
1358 config/mips/iris6.h, config/mips/mips-protos.h, config/mips/mips.c,
c9602bef 1359 config/mips/mips.h, config/rs6000/rs6000-protos.h,
2e15d750 1360 config/rs6000/rs6000.c, config/rs6000/rs6000.h,
1361 config/s390/s390-protos.h, config/s390/s390.c, config/s390/s390.h,
1362 config/sh/sh-protos.h, config/sh/sh.c, config/sh/sh.h,
1363 config/xtensa/xtensa-protos.h, config/xtensa/xtensa.c,
1364 config/xtensa/xtensa.h: Rename foo_build_va_list to
1365 foo_build_builtin_va_list; make it static. Define
1366 TARGET_BUILD_BUILTIN_VA_LIST. Remove BUILD_VA_LIST_TYPE.
1367 Update protos.
1368
1369 * config/i386/i386.c (ix86_expand_carry_flag_compare): Make static.
1370 * config/iq2000/iq2000.h (BUILD_VA_LIST_TYPE): Remove.
1371
76cfd4f9 13722003-10-29 James E Wilson <wilson@specifixinc.com>
1373
1374 * recog.c (asm_operand_ok): Add missing break after case 'X'.
1375 Change if statements to else if statements in default case.
1376 (extract_constrain_insn_cached): Fix misspelling of constrain_operands
1377 in comment.
1378 (constrain_operands_cached): Likewise.
1379 (constrain_operands): Change if statements to else if statements in
1380 default case.
1381 * reload.c (find_reloads): Likewise.
1382
64b70d26 13832003-10-29 Richard Henderson <rth@redhat.com>
1384
1385 * config/m68k/m68k.c (notice_update_cc): Clear cc status for
1386 shifts and rotates.
1387
c1b14e66 13882003-10-30 Alan Modra <amodra@bigpond.net.au>
1389
1390 * config/rs6000/rs6000.md: Remove duplicate pattern.
1391
a519c4d3 13922003-10-29 Hans-Peter Nilsson <hp@axis.com>
1393
50a7e636 1394 * real.c (do_divide): Initialize result with a 0.
1395
a519c4d3 1396 * configure.in <enable-checking for valgrind>: Look for
1397 <valgrind/memcheck.h> first. AC_DEFINE HAVE_VALGRIND_MEMCHECK_H
1398 if it exists.
1399 * configure, config.in: Regenerate.
1400 * ggc-common.c [ENABLE_VALGRIND_CHECKING &&
1401 HAVE_VALGRIND_MEMCHECK_H]: Include <valgrind/memcheck.h>. Use
1402 #elif for other alternatives.
1403 * ggc-page.c: Ditto.
1404 * ggc-zone.c: Don't assume <valgrind/memcheck.h>; instead copy
1405 include structure from ggc-common.c.
1406
b932f66c 14072003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1408
1409 * pa-linux.h (ASM_OUTPUT_ADDR_VEC_ELT): Use label in big switch ELTs.
1410 (ASM_OUTPUT_ADDR_DIFF_ELT): Use label difference in big switch ELTs.
1411 * pa.c (pa_adjust_insn_length): Check for btable branches using
1412 attribute TYPE_BTABLE_BRANCH.
1413 (pa_reorg): Simplify.
1414 * pa.h (CASE_VECTOR_MODE): Change big switch mode to SImode.
1415 (ASM_OUTPUT_ADDR_VEC_ELT): As above.
1416 (ASM_OUTPUT_ADDR_DIFF_ELT): As above.
1417 * pa.md (btable_branch): New instruction type.
1418 (in_branch_delay, in_nullified_branch_delay, in_call_delay): Disallow
1419 btable branches.
1420 (define_delay): Add btable branches to insn types that may have an
1421 insn in the delay position.
1422 (Z2, Z3): Add btable branch to list.
1423 Simplify unamed pattern set copy pic_label_operand to register. Add
1424 PA 2.0 variant.
1425 (short_jump): New jump for use in branch tables.
1426 (casesi, casesi0): Revise for new branch table formats.
1427 (casesi32, casesi32p, casesi64p): New casesi patterns.
1428 (indirect_jump): Move.
1429
05ee0562 14302003-10-29 David Edelsohn <edelsohn@gnu.org>
1431
1432 * config/rs6000/rs6000.h (UNITS_PER_WORD): Revert to
1433 !TARGET_POWERPC64.
1434 (UNITS_PER_GPR_WORD): Delete.
1435 (HARD_REGNO_NREGS): Revert to UNITS_PER_WORD.
1436 (HARD_REGNO_MODE_OK): Same.
1437 (CLASS_MAX_NREGS): Same.
1438
8c05c4bc 14392003-10-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1440
1441 * pa.h (ASM_COMMENT_START): Define.
1442
24b7dafb 14432003-10-29 Zack Weinberg <zack@codesourcery.com>
1444
1445 * genmodes.c (complete_mode): Record MODE_CC, MODE_INT,
1446 MODE_FLOAT, and MODE_PARTIAL_INT modes as having one
1447 component, not zero.
1448
a24e7049 14492003-10-29 Andreas Schwab <schwab@suse.de>
1450
1451 * config/ia64/t-ia64 (LIB2ADDEH): Add $(srcdir)/gthr-gnat.c.
1452
b69bc1b0 14532003-10-29 Eric Botcazou <ebotcazou@libertysurf.fr>
1454
1455 * config/sparc/sparc.c (function_arg_partial_nregs) [TARGET_ARCH64]:
1456 Never return 1 for complex integral modes whose size is lesser or
1457 equal to a word.
1458 (function_arg_pass_by_reference) [TARGET_ARCH64]: Mention CTImode
1459 in the comment.
1460 (function_arg_advance) [TARGET_ARCH64]: Don't special-case complex
1461 modes.
f6bca36d 1462 (sparc_va_arg) [TARGET_ARCH64]: Handle any types whose size is
1463 greater than 16 bytes by reference.
b69bc1b0 1464
f7d1f9d4 14652003-10-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
1466
1467 * config/ia64/ia64.c (ia64_assemble_integer): Test POINTER_SIZE,
1468 not TARGET_ILP32.
1469 (ia64_initialize_trampoline): Use globalize_label target call.
1470
dbdb7b34 14712003-10-29 Andreas Schwab <schwab@suse.de>
1472
1473 * doc/install.texi (Building): Add a sentence about building Ada
1474 for a canadian cross.
1475
9abe3ad4 14762003-10-28 Zack Weinberg <zack@codesourcery.com>
1477
1478 * config/ia64/ia64.c (cmptf_libfunc): New static.
1479 (ia64_expand_compare): Add logic to open-code calls to
1480 _U_Qfcmp for TFmode comparisons.
1481 (ia64_hpux_init_libfuncs): Initialize cmptf_libfunc.
1482 Set libfuncs for TFmode eq/ne/gt/ge/lt/gt to 0; these should
1483 never be generated anymore.
1484 * config/ia64/ia64.md (cmptf): New expander.
1485
da4ab0bd 14862003-10-28 Zack Weinberg <zack@codesourcery.com>
1487
1488 * ia64.md (UNSPEC_SETF_EXP,UNSPEC_FR_SQRT_RECIP_APPROX): New constants.
1489 (*sqrt_approx): New instruction pattern for approximate square roots.
1490 (*setf_exp_xf): New instruction pattern for exponentiation.
1491 (*maddxf4_alts_truncsf): New instruction pattern for truncation.
1492 (sqrtsf2_internal_thr): New define_and_split implementing
1493 throughput-optimized inline calculation of SFmode square root.
1494 (sqrtdf2_internal_thr): Likewise for DFmode.
1495 (sqrtxf2_internal_thr): Likewise for XFmode.
1496 (sqrtsf2, sqrtdf2, sqrtxf2): New expanders to choose between
1497 latency- and throughput-optimized square root algorithms.
1498 * ia64.h (MASK_INLINE_SQRT_LAT, MASK_INLINE_SQRT_THR,
1499 TARGET_INLINE_SQRT_LAT, TARGET_INLINE_SQRT_THR, TARGET_INLINE_SQRT):
1500 New macros.
1501 (TARGET_SWITCHES): Add -minline-sqrt-min-latency and
1502 -minline-sqrt-max-throughput.
1503 * ia64.c (ia64_override_options): If both -minline-sqrt-min-latency
1504 and -minline-sqrt-max-throughput are given, notify the user
1505 that both options cannot be used simultaneously.
1506 If -minline-sqrt-min-latency is given, notify the user that
1507 this mode is not yet implemented.
1508 (rtx_needs_barrier): Reformat initial comment to obey
1509 72-character width limit. Support UNSPEC_SETF_EXP and
1510 UNSPEC_FR_SQRT_RECIP_APPROX.
1511
3e4d5644 15122003-10-29 Alan Modra <amodra@bigpond.net.au>
1513
1514 * config/rs6000/rs6000.md (movdf_softfloat64): Allow dummy ctr,ctr
1515 moves.
1516
21aedaaf 15172003-10-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
1518
1519 PR target/11598
1520 PR libgcj/10610
1521 * config/rs6000/sysv4.h (PREFERRED_STACK_BOUNDARY): New macro.
1522
8d69f2ad 15232003-10-28 Richard Earnshaw <rearnsha@arm.com>
1524
1525 * arm.c (arm_output_epilogue): When using a frame pointer, don't emit
da4ab0bd 1526 an extra stack adjustment insn if the stack pointer is already
8d69f2ad 1527 pointing at the right place.
1528 (use_return_insn): Allow a return insn to be used when we have a
1529 frame pointer if the stack pointer is in the right place.
1530 (output_return_instruction): Handle it.
1531
b0d65d7c 15322003-10-28 Andreas Jaeger <aj@suse.de>
1533
1534 * ggc-zone.c (check_cookies): Add missing variable.
1535 Add void to prototypes.
1536
db0f4f32 15372003-10-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1538
1539 * config/mips/irix6-libc-compat.c (inet_makeaddr): Prototype.
1540 * crtstuff.c (__do_global_ctors_1): Move prototype.
1541 * unwind-dw2.c (NO_SIZE_OF_ENCODED_VALUE): Define when
1542 appropriate.
1543 * unwind-sjlj.c (_Unwind_GetCFA, _Unwind_FindEnclosingFunction):
1544 Mark parameter with __attribute__((unused)).
1545
d3612643 15462003-10-27 Zack Weinberg <zack@codesourcery.com>
1547
1548 * c-decl.c (pushdecl): Clarify comment.
1549
48469bdd 15502003-10-27 Arnaud Charlet <charlet@act-europe.fr>
1551
a30cf0c6 1552 * doc/install.texi: Update instructions for Ada cross builds
1553
48469bdd 1554 PR ada/5909:
1555 * doc/sourcebuild.texi: Document Ada test suite.
1556
af276731 15572003-10-27 Stephane Carrez <stcarrez@nerim.fr>
1558
1559 * config/m68hc11/m68hc11.c: Convert to ISO C90.
1560 * config/m68hc11/m68hc11-protos.h: Likewise.
1561
fe43745e 15622003-10-27 Jan Hubicka <jh@suse.cz>
3b764d5d 1563 Eric Botcazou <ebotcazou@libertysurf.fr>
fe43745e 1564
3b764d5d 1565 * toplev.c (enum dump_file_index, dump_file): Fix ordering of
fe43745e 1566 webizer pass dump.
1567
ec96de93 15682003-10-27 Jakub Jelinek <jakub@redhat.com>
1569 Jan Hubicka <jh@suse.cz>
1570
1571 * reload1.c (struct elim_table): Change offset, initial_offset and
1572 previous_offset fields to HOST_WIDE_INT.
1573 (offsets_at): Change from int to HOST_WIDE_INT.
1574 (reload): Adjust offsets_at initialization.
1575 (eliminate_regs_in_insn): Change type of offset to HOST_WIDE_INT.
1576 (verify_initial_elim_offsets): Change type of t to HOST_WIDE_INT.
1577 * config/i386/i386.c (ix86_compute_frame_layout): Change offset type
1578 to HOST_WIDE_INT. Don't save regs using mov for huge frame sizes
1579 if TARGET_64BIT.
1580 (pro_epilogue_adjust_stack): New function.
1581 (ix86_expand_prologue, ix86_expand_epilogue): Use it.
1582 * config/i386/i386.md (pro_epilogue_adjust_stack): Remove.
1583 (pro_epilogue_adjust_stack_1): Remove * in front of name.
1584 (pro_epilogue_adjust_stack_rex64): Handle -2147483648 properly.
1585 (pro_epilogue_adjust_stack_rex64_2): New insn.
1586
1587 * config/i386/i386.c (ix86_expand_epilogue): Fix comment typo.
1588
1589 * config/i386/i386.c (ix86_expand_call): Replace 40 with
1590 FIRST_REX_INT_REG + 3 /* R11 */.
1591
b55f2ed8 15922003-10-26 Richard Henderson <rth@redhat.com>
1593
1594 * config/alpha/alpha.md (attr cannot_copy): New.
1595 (call_osf_2_er, call_value_osf_2_er, ldgp_er_1, ldgp_er_2,
1596 prologue_ldgp_er_2, prologue_ldgp_1): Set it.
1597 * config/alpha/alpha.c (alpha_cannot_copy_insn_p): Test it.
1598
7d60cc60 15992003-10-26 Daniel Berlin <dberlin@dberlin.org>
1600
1601 * ggc-zone.c: New file, zone allocating collector.
1602 * configure: Accept zone option for --with-gc
1603 * configure.in: Ditto.
1604 * ggc.h (ggc_pch_count_object): Pass bool indicating
1605 stringiness. Update all callers.
1606 (ggc_pch_alloc_object): Ditto.
1607 (ggc_pch_write_object): Ditto.
1608 (ggc_alloc_rtx): Use typed allocation, since all RTX's are of a single
1609 type.
1610 (ggc_alloc_rtvec): Ditto.
1611 (ggc_alloc_tree): Use zone allocation, since some things using this macro
1612 aren't a single typecode.
1613 * ggc-none.c (ggc_alloc_typed): New function.
1614 (ggc_alloc_zone): Ditto.
1615 * ggc-page.c: Ditto on both functions.
1616
7a3ffbb5 16172003-10-26 Gunther Nikl <gni@gecko.de>
1618
1619 * config/m68k/m68k.c (m68k_compute_frame_layout): Ensure FPU related
1620 frame information is always valid.
1621 (m68k_output_function_prologue): Remove superfluous TARGET_68881
1622 test; fix formatting.
1623
7dcec20a 16242003-10-26 Gunther Nikl <gni@gecko.de>
1625
1626 * config/m68k/m68k.c (m68k_compute_frame_layout): Swap reg_mask and
1627 reg_rev_mask computation.
1628 (m68k_output_function_prologue): Fix usage of current_frame (one typo
1629 and one missing); use reg_rev_mask not reg_mask.
1630 (m68k_output_function_epilogue): Fix usage of current_frame;
1631 use fpu_rev_mask not fpu_mask.
1632
09445e53 16332003-10-26 Bernardo Innocenti <bernie@develer.com>
1634
1635 * config/m68k/m68k.c (m68k_output_function_prologue): Eliminate
d3612643 1636 num_saved_regs, use current_frame.reg_no instead.
09445e53 1637
eea3d6e1 16382003-10-26 Bernardo Innocenti <bernie@develer.com>
1639 Paul Dale <pauli@snapgear.com>
1640
1641 * doc/extend.texi (interrupt_handler): Add m68k to the
1642 list of processors implementing it.
1643 * doc/invoke.texi (-msep-data): Document new m68k option.
1644 (-mno-sep-data): Likewise.
1645 (-mid-shared-library): Likewise.
1646 (-mno-id-shared-library): Likewise.
1647 (-mshared-library-id): Likewise.
1648
fbcd176b 16492003-10-26 Andreas Jaeger <aj@suse.de>
1650
1651 * unwind-dw2.c (_Unwind_GetGR): Avoid warning about unsigned
1652 comparison.
1653 (_Unwind_SetGR): Likewise.
1654
086c3de3 16552003-10-26 Ottavio Campana <ottavio@campana.vi.it>
1656
c1a0fc0d 1657 PR target/12690
086c3de3 1658 * config/i386/mmintrin.h (_mm_set1_pi8): Fix comment.
1659
16602003-10-26 Gunther Nikl <gni@gecko.de>
274d52cf 1661
1662 * config/m68k/m68k.c (m68k_output_function_prologue): Move front
1663 comment from here to...
1664 (m68k_save_reg): ...here. Fix comment formatting.
1665 (m68k_output_function_prologue): Fix comment formatting.
1666 (m68k_output_function_epilogue): Likewise.
1667 (const_method): Likewise.
1668
2e41efb0 16692003-10-26 Kazu Hirata <kazu@cs.umass.edu>
1670
1671 * toplev.c (default_get_pch_validity): Guard the use of
1672 target_options with #ifdef TARGET_OPTIONS.
1673 (default_pch_valid_p): Likewise.
1674
3201d6f1 16752003-10-26 Andreas Jaeger <aj@suse.de>
1676 Zack Weinberg <zack@codesourcery.com>
1677 Andreas Tobler <toa@pop.agri.ch>
1678
1679 * dwarf2out.c (output_cfi): Use HOST_WIDE_INT_PRINT.
1680 (output_die): Likewise.
1681 (print_die): Likewise.
1682
b658c822 16832003-10-26 Andreas Jaeger <aj@suse.de>
1684
c043c821 1685 * tree.h (dwarf2out_def_cfa, dwarf2out_args_size,
1686 dwarf2out_reg_save, new_loc_descr): Update prototypes for recent
1687 dwarf2out.c change.
1688
b658c822 1689 * toplev.c (default_pch_valid_p): Fix warning.
1690
93124003 16912003-10-25 Roger Sayle <roger@eyesopen.com>
1692
1693 * simplify-rtx.c (simplify_replace_rtx): Avoid allocating duplicate
1694 RTL nodes. If an operator's operands are unchanged, return the
1695 original argument unchanged.
1696
f0bc7411 16972003-10-26 Graham Stott <graham.stott@btinternet.com>
1698
1699 Fix bootstrap failure.
1700 * expmed.c (store_bit_field): Don't compare bitsize against
1701 modes with zero bit-size.
1702
1703 (extract_bit_field): Likewise
1704
3d867824 17052003-10-25 Jan Hubicka <jh@suse.cz>
1706
1707 * dwarf2out.c (dw_cfi_oprnd_struct): Offset is HOST_WIDE_INT.
1708 (cfa_loc): Likewise.
1709 (reg_save, stack_adjust_offset, queue_reg_save): Replace long by
1710 HOST_WIDE_INT.
1711 (args_size, old_args_size): change type to HOST_WIDE_INT.
1712 (dwarf2out_def_cfa, dwarf2out_args_size,
1713 dwarf2out_reg_save, new_loc_descr): offset is HOST_WIDE_INT.
1714 (dw_val_struct): integers, unsigneds and offsets are HOST_WIDE_INT.
1715 (add_AT_int, add_AT_unsigned, att_AT_offset, AT_int, AT_unsigned,
1716 AT_offset): Use HOST_WIDE_INT.
1717 (based_loc_descr): offset is HOST_WIDE_INT.
1718 (add_data_member): Likewise.
1719 (add_const_value_attribute): Simplify.
1720
47f29cbf 17212003-10-25 Richard Henderson <rth@redhat.com>
1722
d3612643 1723 * config/i386/i386.c (ix86_eax_live_at_start_p): New.
1724 (ix86_expand_prologue): Save and restore eax around stack probe
1725 if it's live.
47f29cbf 1726
76be8cce 17272003-10-25 Jan Hubicka <jh@suse.cz>
1728
1729 * cppcharset.c (one_utf8_to_utf32): Initialize 's' to silence warning.
1730
054e1120 17312003-10-25 Eric Botcazou <ebotcazou@libertysurf.fr>
1732
1733 PR target/12712
1734 * reg-stack.c (convert_regs_1): Create an arbitrary input stack
1735 if the block has no predecessors.
1736 (convert_regs_2): Document the problem with successors whose
1737 only predecessor is the block to be processed.
1738 (convert_regs): Don't create the arbitrary input stack here.
1739
b8bc42e9 17402003-10-24 Zack Weinberg <zack@codesourcery.com>
1741
1742 * genmodes.c (struct mode_data): Add contained and next_cont
1743 fields.
1744 (complete_mode): Maintain linked list of modes that have a
1745 given component.
1746 (emit_mode_unit_size): Delete.
1747 (emit_mode_nunits): New.
1748 (emit_insn_modes_c): Update to match.
1749 (emit_mode_adjustments): Propagate size and alignment
1750 adjustments from component modes to their containers.
1751 * machmode.h (mode_unit_size): Delete.
1752 (mode_nunits): New.
1753 (GET_MODE_NUNITS): Just return the value in the table.
1754 (GET_MODE_UNIT_SIZE): Compute using GET_MODE_INNER and
1755 GET_MODE_SIZE.
1756 * expmed.c (store_bit_field, extract_bit_field): Can use a
1757 plain move instruction if bitsize >= GET_MODE_BITSIZE of
1758 destination/source mode, respectively.
1759 * varasm.c (assemble_real): Write out the full size of the
1760 constant, not just its bitsize.
1761 (output_constant): Honor TYPE_MODE of TREE_REAL_CSTs.
1762
1763 * config/ia64/ia64-modes.def: Define XFmode as well as TFmode.
1764 Use ADJUST_BYTESIZE and ADJUST_ALIGNMENT to set size and
1765 alignment of XF and TF modes in compliance with ia64 ABIs.
1766 Can now hardwire the format of both modes.
1767 * config/ia64/ia64.c: Change TFmode to XFmode wherever appropriate.
1768 (general_tfmode_operand, destination_tfmode_operand)
1769 (tfreg_or_fp01_operand, spill_tfmode_operand): Rename to
1770 general_xfmode_operand, destination_xfmode_operand,
1771 xfreg_or_fp01_operand, spill_xfmode_operand respectively.
1772 (ia64_init_builtins): Make TYPE_PRECISION of fpreg_type
1773 and float80_type be 96 so they get XFmode. Use !TARGET_HPUX,
1774 not INTEL_EXTENDED_IEEE_FORMAT, to decide how to define
1775 __float128.
1776 * config/ia64/ia64.h: Default TARGET_HPUX to 0.
1777 Change TFmode to XFmode wherever appropriate. Remove all
1778 references to INTEL_EXTENDED_IEEE_FORMAT.
1779 (LONG_DOUBLE_TYPE_SIZE): Varies with TARGET_HPUX.
1780 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Define (always 96).
1781 (PREDICATE_CODES): Update to match function renames.
1782 * config/ia64/ia64.md: Change TF to XF throughout; rename all
1783 patterns to match. Remove all references to
1784 INTEL_EXTENDED_IEEE_FORMAT. Update predicate calls to match
1785 function renames.
1786 * config/ia64/ia64-protos.c: Update all prototypes to match
1787 renamed functions.
1788 * config/ia64/hpux.h: Redefine TARGET_HPUX to 1.
1789 Remove all references to INTEL_EXTENDED_IEEE_FORMAT.
1790 * config/ia64/lib1funcs.asm: Add __divxf3 as new name for
1791 __divtf3; keep old name for backward compatibility.
1792 (L__compat): New section providing forwarding stubs for
1793 __fixtfti, __fixunstfti, __floattitf.
1794 * config/ia64/t-ia64: Add __compat to LIB1ASMFUNCS.
1795
7988d6e2 17962003-10-24 Geoffrey Keating <geoffk@apple.com>
1797
1798 PR 10757
1799 * c-pch.c: Include target.h. Improve comments.
1800 (struct c_pch_validity): Add target_data_length.
1801 (pch_init): Add target's validity data.
1802 (c_common_valid_pch): Check target's validity data.
1803 * target-def.h (TARGET_GET_PCH_VALIDITY): New.
1804 (TARGET_PCH_VALID_P): New.
1805 (TARGET_INITIALIZER): Add new fields.
1806 * target.h: Include tm.h.
1807 (struct gcc_target): Add get_pch_validity, pch_valid_p.
1808 * toplev.h (default_get_pch_validity): New prototype.
1809 (default_pch_valid_p): New prototype.
1810 * toplev.c (default_get_pch_validity): New routine.
1811 (default_pch_valid_p): New routine.
1812 * Makefile.in (TARGET_H): Add TM_H. Replace all users of
1813 target.h with $(TARGET_H).
1814 (c-pch.o): Add TARGET_H.
1815 * doc/tm.texi (PCH Target): New node.
1816 (TARGET_GET_PCH_VALIDITY): Document.
1817 (TARGET_PCH_VALID_P): Document.
1818
089f59b9 18192003-10-24 Kelley Cook <kcook@gcc.gnu.org>
1820
1821 * Makefile.in: Define a vpath for %.texi. Remove explicit $(docdir)
1822 and $(docdir)/include from any *.texi dependencies.
1823 ($(docobjdir)/%.dvi): Depend on stmp-docobjdir.
1824 ($(docobjdir)/%.1): Depend on .pod instead of .texi.
1825 ($(docobjdir)/%.7): Likewise.
1826 (%.pod): New implicit rule.
b8bc42e9 1827 (cpp.pod): New dependency only rule.
089f59b9 1828 (gcc.pod): New intermediate rule with dependencies and commands.
1829 (gfdl.pod): Likewise.
1830 (fsf-funding.pod): Likewise.
1831
33373990 18322003-10-24 Nathanael Nerode <neroden@gcc.gnu.org>
1833
1834 * fixinc/mkfixinc.sh: Remove special cases for svr4 and ptx, and
1835 related code.
1836 * fixinc/fixinc.ptx: Remove.
1837 * fixinc/fixinc.svr4: Remove.
1838
9eabd191 18392003-10-24 Ulrich Weigand <uweigand@de.ibm.com>
1840
1841 * config/s390/s390.c (load_multiple_operation): Allow both SImode
1842 and DImode if word_mode is DImode.
1843 (store_multiple_operation): Likewise.
1844 * config/s390/s390.md ("load_multiple", "store_multiple"): Likewise.
1845 ("*load_multiple_di"): Allow only if word_mode == DImode.
1846 ("movqi"): Use LLGC whenever TARGET_ZARCH.
1847 ("fix_truncdfsi2"): Fix incorrect temporary size.
1848 ("fix_truncsfsi2"): Likewise.
1849 ("*bras_r", "*brasl_r", "*basr_r"): Remove predicate and constraint
1850 string for function return value operand.
1851 ("*bras_tls", "*brasl_tls", "*basr_tls"): Likewise.
1852
3a47b66b 18532003-10-24 Joseph S. Myers <jsm@polyomino.org.uk>
1854
1855 * c-parse.in (array_declarator): Use expr_no_commas.
1856 Fixes PR c/11943.
1857
065aeb19 18582003-10-24 Richard Sandiford <rsandifo@redhat.com>
1859
1860 * config/mips/linux.h: Wrap MD_FALLBACK_FRAME_STATE_FOR and
1861 associated includes in #ifndef inhibit_libc.
1862
ef7722f0 18632003-10-24 Roger Sayle <roger@eyesopen.com>
1864
1865 * doc/libgcc.texi: Document some more of the libgcc API.
1866
aeac46d4 18672003-10-24 Richard Earnshaw <rearnsha@arm.com>
1868
1869 * arm.c (arm_rtx_costs_1, case TARGET_THUMB): Adjust costs for
1870 comparing a constant with small negative numbers and add costing
1871 for constants in conjunction with AND.
1872 (note_invalid_constants): Tidy previous change.
1873 (thumb_cmp_operand): Tidy.
1874 (thumb_cmpneg_operand): New function.
1875 * arm.h (CONDITIONAL_REGISTER_USAGE): Don't use HI regs if optimizing
1876 for size.
1877 (FIRST_LO_REGNUM, FIRST_HI_REGNUM, LAST_HI_REGNUM): Define.
1878 (PREDICATE_CODES): Add thumb_cmpneg_operand.
1879 * arm.md (cbranchsi4): Convert to define_expand. Handle comparison
1880 with a negative constant.
1881 (cbranchsi4_insn): Matcher for cbranchsi4.
1882 (cbranchsi4_scratch): Similar, but a scratch is available for
1883 handling negative constants.
1884 (movsi_cbranchsi4): New pattern.
1885 (tstsi3_cbranch): Renamed from andsi3_cbranch_scratch, remove scratch
1886 and use the TST instruction.
1887 (andsi3_cbranch, orrsi3_cbranch, xorsi3_cbranch, cbranchne_decr1)
1888 (addsi3_cbranch, subsi3_cbranch): Ensure that register preferencing
1889 cannot see high regs or memory alternatives.
1890 (bicsi3_cbranch_scratch, bicsi3_cbranch): New patterns.
1891
28fe824a 18922003-10-24 Richard Earnshaw <rearnsha@arm.com>
1893
1894 * arm.c (note_invalid_constants): Try to extract the constant
1895 pool value using avoid_constant_pool_reference; only use
1896 get_pool_constant if that returns the original reference.
1897
21108847 18982003-10-24 Jan Hubicka <jh@suse.cz>
1899
1900 PR c++/12624
1901 * varasm.c (notice_global_symbol): Disqualify global registers.
1902
0a537053 19032003-10-23 Roger Sayle <roger@eyesopen.com>
1904
1905 PR middle-end/11414
1906 * loop.c (load_mems): Use redirect_jump to forward jumps from
1907 the original loop end label to the new "loop sink" block's label.
1908
828fe13b 19092003-10-23 Roger Sayle <roger@eyesopen.com>
1910
1911 PR middle-end/12705
1912 * optabs.c (expand_binop): When expanding complex operations
1913 inline, always calculate result into a new temporary register.
1914 Minor code clean-ups.
1915
5148359d 19162003-10-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
1917
1918 * objc/lang-specs.h: Handle -print-objc-runtime-info.
1919 * doc/invoke.texi (Objective-C Dialect Options): Document it.
1920
049906d9 19212003-10-24 Danny Smith <dannysmith@users.sourceforge.net>
1922
1923 * config/i386/cygwin.asm. Add copyright notice. Add comment
1924 on why this code is needed.
1925
83407f1b 19262003-10-23 Kazu Hirata <kazu@cs.umass.edu>
8a69169e 1927
1928 * config/h8300/clzhi2.c: Fix warnings.
1929 * config/h8300/ctzhi2.c: Likewise.
1930 * config/h8300/fixunssfsi.c: Likewise.
1931 * config/h8300/parityhi2.c: Likewise.
1932 * config/h8300/popcounthi2.c: Likewise.
1933
0ca23bcb 19342003-10-23 James E Wilson <wilson@specifixinc.com>
1935
1936 * gcc.c (option_map): Delete --target and --use-version.
1937
e4707539 19382003-10-23 Fariborz Jahanian <fjahanian@apple.com>
1939 David Edelsohn <edelsohn@gnu.org>
1940
1941 * config/rs6000/rs6000.h (UNITS_PER_WORD): Use TARGET_32BIT, not
1942 TARGET_POWREPC64.
1943 (UNITS_PER_GPR_WORD): Define.
1944 (HARD_REGNO_NREGS): Use UNITS_PER_GPR_WORD.
1945 (HARD_REGNO_CALL_PART_CLOBBERED): Define.
1946 (HARD_REGNO_MODE_OK): Use UNITS_PER_GPR_WORD.
1947 (CLASS_MAX_NREGS): Use UNITS_PER_GPR_WORD.
1948 * config/rs6000/rs6000.c (function_arg): Generate PARALLEL for
1949 DFmode and DImode in 32-bit ABI / 64-bit computation mode.
1950 (rs6000_emit_prologue): Select reg_mode and reg_size using
1951 TARGET_32BIT, not TARGET_POWERPC64.
1952 (rs6000_function_value): Generate PARALLEL for DImode in 32-bit
1953 ABI / 64-bit computation mode
1954
df89076c 19552003-10-22 Andrew Haley <aph@redhat.com>
1956
1957 * toplev.c (output_file_directive): Allow for null input_name.
1958
3ce7ab5f 19592003-10-22 Waldek Hebisch <hebisch@math.uni.wroc.pl>
1960
1961 * config/i386/i386.c (classify_argument): Handle SET_TYPE.
1962
15ebc76e 19632003-10-22 Chris Demetriou <cgd@broadcom.com>
1964
1965 * configure.in: In --enable-generated-files-in-srcdir option
1966 handling, fix default case handling.
1967 * configure: Regenerate.
1968
d9799238 19692003-10-22 Phil Edwards <phil@codesourcery.com>
1970
1971 * config.gcc: Update *-*-vxworks* generic hook and comments.
1972 (arm-wrs-vxworks, i[4567]86-wrs-vxworks, mips-wrs-vxworks,
1973 mips-wrs-windiss, sh-wrs-vxworks): New stanzas.
1974 * genmultilib: Allow the MULTILIB_OSDIRNAMES to be mapped directly.
1975 * config/svr4.h (SWITCH_TAKES_ARG): Undefine it before redefining it.
1976 * config/windiss.h: New file.
1977 * config/arm/t-vxworks: New file.
1978 * config/arm/vxworks.h: New file.
1979 * config/i386/t-vxworks: New file.
1980 * config/i386/vxworks.h: New file.
1981 * config/mips/t-vxworks: New file.
1982 * config/mips/vxworks.h: New file.
1983 * config/mips/windiss.h: New file.
1984 * config/sh/t-vxworks: New file.
1985 * config/sh/vxworks.h: New file.
1986
5344805f 19872003-10-22 Kazu Hirata <kazu@cs.umass.edu>
1988
1989 * config/h8300/h8300.c (h8300_output_function_epilogue): Remove.
1990 (h8300_saveall_function_p): New.
1991 (h8300_insert_attributes): Insert the saveall attribute if
1992 #pragma saveall is specified.
1993 (h8300_attribute_table): Add saveall.
1994 (TARGET_ASM_FUNCTION_EPILOGUE): Remove.
1995 * doc/extend.texi: Mention the saveall attribute.
1996
129b92e3 19972003-10-22 Joseph S. Myers <jsm@polyomino.org.uk>
1998
1999 * c-typeck.c (pedantic_lvalue_warning): Unconditionally warn of
2000 deprecation of casts as lvalues.
2001 * fixinc/inclhack.def (obstack_lvalue_cast): New fix.
2002 * fixinc/fixincl.x: Regenerate.
2003 * fixinc/tests/base/obstack.h: New test.
2004
5a6901d6 20052003-10-22 Andreas Schwab <schwab@suse.de>
2006
2007 PR target/12676
2008 * config/m68k/m68k.c (output_addsi3): Fix range check to work on
2009 LP64 platforms.
2010
2e14ce2e 20112003-10-22 Jan Hubicka <jh@suse.cz>
2012
aeac46d4 2013 * dwarf2out.c (dwarf2out_abstract_function): Use DW_AT to check
2014 presence of DW_AT_inline.
2015 (gen_subprogram_die): Likewise; do not abort instead of emitting
2016 DW_AT_not_inline.
2e14ce2e 2017
b60cef59 20182003-10-22 Jan Hubicka <jh@suse.cz>
2019
2020 * cgraph.c (cgraph_function_possibly_inlined_p): Be conservative when
2021 global info is not ready.
2022
11a83f51 20232003-10-22 Kazu Hirata <kazu@cs.umass.edu>
2024
2025 * doc/extend.texi: Mention H8S wherever H8/300H is mentioned.
2026
31838f66 20272003-10-22 Ulrich Weigand <uweigand@de.ibm.com>
2028
2029 * config/s390/s390.md ("movstr_short_64", "movstr_short_31"): Merge ...
2030 ("*movstr_short"): ... into this insn pattern.
2031 ("movstr_short"): New expander.
2032 ("*movstr_long_64"): Rename from "movstr_long_64", simplify.
2033 ("*movstr_long_31"): Rename from "movstr_long_31", simplify.
2034 ("movstr_long"): New expander.
2035 ("clrstr_short_64", "clrstr_short_31"): Merge ...
2036 ("*clrstr_short"): ... into this insn pattern.
2037 ("clrstr_short"): New expander.
2038 ("*clrstr_long_64"): Rename from "clrstr_long_64", simplify.
2039 ("*clrstr_long_31"): Rename from "clrstr_long_31", simplify.
2040 ("clrstr_long"): New expander.
2041 ("cmpmem_short_64", "cmpmem_short_31"): Merge ...
2042 ("*cmpmem_short"): ... into this insn pattern.
2043 ("cmpmem_short"): New expander.
2044 ("*cmpmem_long_64"): Rename from "cmpmem_long_64".
2045 ("*cmpmem_long_31"): Rename from "cmpmem_long_31".
2046 ("cmpmem_long"): New expander.
2047 * config/s390/s390.c (s390_expand_movstr): Use new expanders.
2048 (s390_expand_clrstr): Likewise.
2049 (s390_expand_cmpmem): Likewise.
2050
16c8d9c8 20512003-10-22 Mark Mitchell <mark@codesourcery.com>
2052
2053 * c-pch.c (struct c_pch_validity): Add pch_init field.
2054 (pch_init): Set it.
2055 (c_common_valid_pch): Check it.
16c8d9c8 2056
14ce540d 20572003-10-22 David Taylor <dtaylor@emc.com>
2058
2059 PR debug/12500
2060 * dbxout.c (dbxout_typedefs): Use COMPLETE_OR_VOID_TYPE_P.
2061
aaca40a8 20622003-10-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
2063
2064 * config/alpha/alpha.c (function_value [ENABLE_CHECKING]): Don't call
2065 alpha_return_in_memory if no VALTYPE specified.
2066
5bd74231 20672003-10-22 Jan Hubicka <jh@suse.cz>
2068
2069 PR debug/12389
2070 * Makefile.in (dwarf2out.o): Depend on cgraph.h.
2071 * cgraph.c (cgraph_function_possibly_inlined_p): New function.
2072 * cgraph.h (cgraph_function_possibly_inlined_p): Declare.
2073 (cgraph_global_info): Add flag inlined
2074 * dwarf2out.c (gen_subprogram_die, gen_decl_die): Use
2075 cgraph_function_possibly_inded_p
2076 * cgraphunit.c (mark_inline): Set inlined flag.
2077 * toplev.c (rest_of_decl_compilation): Call outlining_inline_function
2078 only for possibly inlined functions.
2079 * c-decl.c (duplicate_decls): Never output abstract DIE representing old
2080 body of function.
2081
5b0b91f5 20822003-10-22 Andrew Haley <aph@redhat.com>
2083
2084 * varasm.c (output_constructor): Make constructor annotation
2085 conditional on ASM_COMMENT_START.
2086
6a22ca24 20872003-10-21 Jason Merrill <jason@redhat.com>
2088
c5510925 2089 * tree.c (get_unwidened): Check TREE_UNSIGNED on the field's type.
2090 (get_narrower): Likewise.
2091
6a22ca24 2092 * stor-layout.c (layout_decl): Do packed field alignment for
2093 bit-fields, too.
2094
1d5ca076 20952003-10-21 Eric Christopher <echristo@redhat.com>
2096
2097 * expr.c (convert_move): Use FLOAT_EXTEND for extensions.
2098
451b3797 20992003-10-21 Geoffrey Keating <geoffk@apple.com>
2100
2101 * c-pch.c: Add comments in various places.
2102 (struct c_pch_validity): Add the lengths of various strings.
2103 (host_machine): New static.
2104 (target_machine): New static.
2105 (get_ident): Bump version number.
2106 (pch_init): Write out version, host, target validity data.
2107 (c_common_valid_pch): Check version, host, target.
2108 * Makefile.in (c-pch.o): Add version.h; define HOST_MACHINE and
2109 TARGET_MACHINE.
2110
b5e4e1dc 21112003-10-21 Jason Merrill <jason@redhat.com>
2112
2113 * tree.h (IS_EXPR_CODE_CLASS): Use strchr.
2114 (EXPR_P): New macro.
2115
2cd2efae 21162003-10-21 Zack Weinberg <zack@codesourcery.com>
2117
2118 * config/ia64/ia64.md (cmpxchg_acq_si): Mark operand 3 as DImode.
2119 * config/ia64/ia64.c (ia64_expand_fetch_and_op,
2120 ia64_expand_op_and_fetch): Make sure the REG for ar.ccv is
2121 DImode. Use convert_move to load ar.ccv.
2122 (ia64_expand_compare_and_swap): Likewise.
2123 If expand_expr doesn't put 'old' and 'new' in the proper
2124 modes, run them through convert_to_mode.
2125
c7167c73 21262003-10-21 Eric Christopher <echristo@redhat.com>
2127
2128 * config/frv/frv.c (frv_adjust_field_align): Check DECL_ARTIFICIAL
2129 for too large bitfields.
2130
87b29289 21312003-10-21 Mark Mitchell <mark@codesourcery.com>
2132
2133 * Makefile.in ($(docobjdir)/%.info): Honor BUILD_INFO.
2134
1cfa4bdd 21352003-10-21 Andrew Haley <aph@redhat.com>
2136
2137 * varasm.c (output_constructor): Annotate constructor.
2138
47743619 21392003-10-21 Mark Mitchell <mark@codesourcery.com>
2140
2141 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Conditionalize chmod
2142 on existence of destination file.
2143
3cf95722 21442003-10-21 Jan Hubicka <jh@suse.cz>
2145
2146 * haifa-sched.c (choose_ready): Initialize index.
2147
c04e6607 21482003-10-21 Jason Merrill <jason@redhat.com>
2149
2150 * tree.c (build1): Fix off-by-one error.
2151
3ce7ab5f 21522003-10-21 Robert Millan <robertmh@gnu.org>
bcfbb573 2153
2154 * config/i386/kfreebsdgnu.h: New. i386-*-kfreebsd-gnu definitions.
2155 * config/kfreebsdgnu.h: New. *-*-kfreebsd-gnu definitions.
2156 * config/t-kfreebsd-gnu: New. *-*-kfreebsd-gnu tmake_file.
2157 * config.gcc: Add *-*-kfreebsd*-gnu and i[34567]86-*-kfreebsd*-gnu.
2158
8b5b1013 21592003-10-21 Eric Botcazou <ebotcazou@libertysurf.fr>
2160
2161 * web.c: Fix various comments.
2162
dde5cb68 21632003-10-20 Nicolas Pitre <nico@cam.org>
2164
2165 * config/arm/arm.c (arm_override_options): Set arm_constant_limit
2166 to 2 instead of 1 when optimize_size is true. Gather code based on
2167 optimize_size together. Add comment about XScale load latency.
2168
b40953a3 21692003-10-21 Gunther Nikl <gni@gecko.de>
2170
2171 * config/m68k/m68k.c (m68k_output_function_prologue): Remove
2172 obsolete comments.
2173
37c96b91 21742003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2175
2176 * Makefile.in: Get parsedir and docobjdir from configure.
2177 * configure.in: Recogonize --enable-generated-files-in-srcdir.
2178 Pass along parsedir and docobjdir.
2179 * configure: Regenerate.
2180 * doc/install.texi: Document --enable-generated-files-in-srcdir.
2181
4075a119 21822003-10-20 Kelley Cook <kcook@gcc.gnu.org>
2183
2184 * Makefile.in: Define $(docdir) before the Make-lang.in fragments are
2185 included.
2186
46d8d16b 21872003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2188
2189 * c-common.c (expand_tree_builtin): Ensure creal and cimag
2190 functions do not return lvalues.
2191
a708df98 21922003-10-20 Jason Merrill <jason@redhat.com>
2193
2194 PR c/12553
2195 * tree.c (build1) <ADDR_EXPR>: Set TREE_SIDE_EFFECTS
2196 appropriately.
2197
2198 PR c/11446
2199 * stor-layout.c (layout_decl): Fix alignment handling.
2200
1c4e4d9a 22012003-10-20 Joseph S. Myers <jsm@polyomino.org.uk>
2202
2203 * doc/extend.texi: Deprecate casts as lvalues.
2204
19489abd 22052003-10-20 Jan Hubicka <jh@suse.cz>
2206
2207 * toplev.c (rest_of_compilation): Fix webizer pass ordering.
2208
2209 * cgraphunit.c (decide_is_function_needed): Fix test dealing
2210 with functions implicitly made inline.
2211
2212 * cgraphunit.c (cgraph_decide_inlining_incrementally): New function.
2213 (cgraph_finalize_function): Use it.
2214 (cgraph_mark_inline): Allow incrmental decisions
2215 * invoke.texi (max-inline-slope, min-inline-insns): Kill.
2216 * params.def (PARAM_MAX_INLINE_SLOPE, PARAM_MIN_INLINE_INSNS): Kill.
2217 * tree-inline.c (limits_allow_inlining): Kill.
2218 (expand_call_inline): Always use unit-at-a-time path.
2219
3d516950 22202003-10-20 Zack Weinberg <zack@codesourcery.com>
2221
2222 * fixinc/inclhack.def (hpux11_snprintf): New edit.
2223 * fixinc/fixincl.x: Regenerate.
2224 * fixinc/tests/base/stdio.h: Add test for hpux11_snprintf.
2225
e9d2d60f 22262003-10-20 Mark Mitchell <mark@codesourcery.com>
2227
2228 * Makefile.in (install-info): Simplify.
2229 ($(DESTDIR)$(infodir)/%.info): New rule.
2230 * configure.in (target_list): Remove install-info.
2231 * doc/.cvsignore (gcc.info*): Remove.
2232 (gccint.info*): Likewise.
2233 (gccinstall.info*): Likewise.
2234 (cpp.info*): Likewise.
2235 (cppinternals.info*): Likewise.
2236 (*.info*): Add it.
2237 * doc/sourcebuild.texi: Update description of install-info.
2238 * objc/Make-lang.in (objc.install-info): Remove.
2239
2a5f9ffc 22402003-10-20 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2241
2242 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Define _ABIO32.
2243 Use it in _MIPS_SIM definition.
2244 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Likewise.
2245
d535f7e3 22462003-10-20 Zack Weinberg <zack@codesourcery.com>
2247
2248 * config/i386/i386.c (print_reg): Abort if REGNO (x) is a
2249 virtual register, but only if file == asm_out_file.
2250 * config/i386/i386.h (HI_REGISTER_NAMES): Use "argp", not "",
2251 for ARG_POINTER_REGNUM.
2252
5b247e9f 22532003-10-20 Zack Weinberg <zack@codesourcery.com>
2254
2255 * c-common.c (registered_builtin_types): New static.
2256 (c_common_type_for_mode): Consult registered_builtin_types.
2257 (c_register_builtin_type): Add type to registered_builtin_types.
2258 * optabs.c (init_floating_libfuncs): Initialize libfuncs for
2259 all MODE_FLOAT modes, not just the ones corresponding to
2260 float_type_node, double_type_node, and long_double_type_node.
2261
42a316f5 22622003-10-20 Richard Henderson <rth@redhat.com>
2263
2264 * config/alpha/alpha.h (PREDICATE_CODES): Add normal_memory_operand.
2265 * config/alpha/alpha-protos.h: Remove PREDICATE_CODES prototypes.
2266
c018b0c8 22672003-10-20 Dorit Naishlos <dorit@il.ibm.com>
2268
5b247e9f 2269 * config/rs6000/rs6000.h: (rs6000_sched_insert_nops):
c018b0c8 2270 support new flag -minsert-sched-nops.
2271 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Define.
5b247e9f 2272 * config/rs6000/rs6000.c: (rs6000_sched_insert_nops):
2273 support new flag -minsert-sched-nops.
c018b0c8 2274 (is_cracked_insn, is_microcoded_insn): New functions.
2275 (rs6000_sched_finish): New function.
2276 (rs6000_issue_rate): Return 5 for power4.
5b247e9f 2277 (get_next_active_insn, insn_terminates_group_p): New
c018b0c8 2278 functions.
2279 (is_costly_group, force_new_group): New functions.
2280 (redefine_groups, pad_groups): New functions.
2281 (rs6000_variable_issue): Use new functions.
2282 * doc/invoke.texi (-minsert-sched-nops): Document new
2283 option.
2284
451bc59d 22852003-10-20 David S. Miller <davem@redhat.com>
2286
2287 * config/sparc/sparc.md (type attribute): Add new insn types
2288 fpa, fpm_pack, fgm_mul, fgm_pdist, and fgm_cmp for VIS.
2289 (patterns emitting VIS insns): Use them.
2290 * config/sparc/ultra1_2.md: Add VIS scheduling rules.
2291 * config/sparc/ultra3.md: Likewise.
2292
3a2f3420 22932003-10-20 Falk Hueffner <falk@debian.org>
2294
2295 PR target/12654
2296 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't do
2297 comparison against constant by adjusting the argument except for
2298 EQ and NE.
2299
2515f61d 23002003-10-19 Mark Mitchell <mark@codesourcery.com>
2301
2302 * config.gcc: Add support for arm926ejs, arm1026ejs, arm1136js,
2303 arm1136jfs, and armv6j.
2304 * config/arm/arm.c (FL_ARCH6J): New macro.
2305 (FL_VFPV2): Likewise.
2306 (all_cores): Add entries for arm926ejs, arm1026ejs, arm1136js,
2307 and arm1136jfs.
2308 (all_architectures): Add entry for armv6j.
2309 (arm_override_options): Add entries for arm926ejs, arm1026ejs,
2310 arm1136js, and arm1136jfs.
2311 * config/arm/arm.h (TARGET_CPU_arm926ej_s): New macro.
2312 (TARGET_CPU_arm1026ej_s): Likewise.
2313 (TARGET_CPU_arm1136j_s): Likewise.
2314 (TARGET_CPU_arm1136jf_s): Likewise.
2315 * doc/invoke.texi: Document new ARM cores and architecture
2316 variants.
5b247e9f 2317
1c6a7b8c 23182003-10-19 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
2319
2320 * Makefile.in (toplev.o): Add value-prof.h dependency.
2321 (value-prof.o): Add REGS_H dependency.
2322 * common.opt (fprofile-values, fvpt): New.
2323 * flags.h (flag_value_profile_transformations): Declare.
2324 * opts.c (common_handle_option): Handle -fprofile_values and
2325 -fvpt.
2326 * profile.c (branch_prob): Don't remove death notes here.
2327 * timevar.def (TV_VPT): New.
2328 * value-prof.c: Include regs.h.
2329 (insn_divmod_values_to_profile, gen_divmod_fixed_value, gen_mod_pow2,
2330 gen_mod_subtract, divmod_fixed_value_transform,mod_pow2_value_transform,
2331 mod_subtract_transform, value_profile_transformations): New.
2332 (insn_values_to_profile): Call insn_divmod_values_to_profile.
2333 (find_values_to_profile): Add dumps.
2334 * value-prof.h (value_profile_transformations): Declare.
2335 * toplev.c: Include value-prof.h.
2336 (rest_of_handle_value_profile_transformations): New.
2337 (enum dump_file_index): Add DFI_vpt.
2338 (dump_file): Add vpt dump.
2339 (flag_value_profile_transformations): New.
2340 (lang_independent_options): Add flag_profile_values and
2341 flag_value_profile_transformations.
2342 (rest_of_compilation): Call
2343 rest_of_handle_value_profile_transformations.
2344 (process_options): Let -fvpt imply -fprofile-values.
2345 * doc/invoke.texi (-fvpt): Document.
2346
0834f16c 23472003-10-19 Jan Hubicka <jh@suse.cz>
2348
2349 * i386.c (print_reg): Do not abort on certain registers.
2350
2351 PR optimization/12612
2352 * reg-stack.c (subst_stack_regs_pat): Use st(1) for clobbers.
2353 * i386.md (fpatan, fyl2x, fscale patterns and expanders): Use
2354 match_scratch; avoid bogus paralles.
2355
2356 PR target/12674
2357 * i386.c (ix86_function_regparm): Disable implicit register passing
2358 conventions when profiling.
2359
1c2cfd64 23602003-10-19 Eric Botcazou <ebotcazou@libertysurf.fr>
5b247e9f 2361 Richard Henderson <rth@redhat.com>
1c2cfd64 2362
2363 PR optimization/8178
2364 * config/i386/i386.md (*movsi_zero): Delete.
2365 (*ffs_no_cmove): Use ix86_expand_clear to zero the third operand.
2366
caf6f044 23672003-10-19 Richard Henderson <rth@redhat.com>
2368
2369 * config/alpha/alpha.c (fix_operator): New.
2370 (divmod_operator): Tidy.
2371 (alpha_emit_xfloating_cvt): Handle UNSIGNED_FIX.
2372 * config/alpha/alpha.h (FIXUNS_TRUNC_LIKE_FIX_TRUNC): Remove.
2373 (PREDICATE_CODES): Update.
2374 * config/alpha/alpha.md (fix_truncdfsi_ieee): Use match_operator.
2375 (fix_truncdfsi_internal, fix_truncdfdi_ieee): Likewise.
2376 (fix_truncsfsi_ieee, fix_truncsfsi_internal): Likewise.
2377 (fix_truncsfdi_ieee): Likewise.
2378 (fix_truncdfdi2, fix_truncsfdi2): Turn into define_expand.
2379 (fixuns_truncdfdi2, fixuns_truncsfdi2, fixuns_trunctfdi2): New.
2380 * config/alpha/alpha-protos.h: Update.
2381
3e8012a9 23822003-10-19 Richard Sandiford <rsandifo@redhat.com>
2383
2384 * config/mips/mips.h (INITIALIZE_TRAMPOLINE): Simplify.
2385 * config/mips/mips.c (mips_load_got): Assume Pmode == ptr_mode.
2386 * config/mips/mips.md (extendsidi2, *extendsidi2): Merge. Don't accept
45eaa8a1 2387 constant operands.
3e8012a9 2388
4e2c65ad 23892003-10-18 Kazu Hirata <kazu@cs.umass.edu>
2390
2391 * doc/extend.texi: Fix typos.
2392 * doc/invoke.texi: Likewise.
2393
d35462eb 23942003-10-18 Nicolas Pitre <nico@cam.org>
2395
2396 * config/arm/arm.c (arm_override_options): Use arm_tune_xscale for
2397 XScale optimizations not arm_arch_xscale.
2398 * config/arm/arm.h (CONSTANT_ALIGNMENT_FACTOR, MOVE_RATIO): Likewise.
2399
63ebd742 24002003-10-18 Ulrich Weigand <uweigand@de.ibm.com>
2401
2402 * config/s390/s390-protos.h (shift_count_operand): Add prototype.
2403 * config/s390/s390.c (shift_count_operand): New function.
2404 (s390_extra_constraint): Use it to implement 'Y' constraint.
2405 (print_shift_count_operand): New function.
2406 (print_operand): Use it to implement '%Y'.
2407 * config/s390/s390.h (EXTRA_ADDRESS_CONSTRAINT): Add 'Y' constraint.
2408 (PREDICATE_CODES): Add shift_count_operand.
5b247e9f 2409 * config/s390/s390.md ("rotldi3"): Merge alternatives,
63ebd742 2410 using "shift_count_operand" predicate and "Y" constraint,
2411 and "%Y" to output the combined shift count.
2412 ("rotlsi3"): Likewise.
2413 ("ashldi3", "*ashldi3_31", "*ashldi3_64"): Likewise.
5b247e9f 2414 ("ashrdi3", "*ashrdi3_31", "*ashrdi3_64", "*ashrdi3_cc_31",
63ebd742 2415 "*ashrdi3_cc_64", "*ashrdi3_cconly_31", "*ashrdi3_cconly_64"): Likewise.
2416 ("ashlsi3", "ashrsi3", "*ashrsi3_cc", "*ashrsi3_cconly"): Likewise.
2417 ("lshrdi3", "*lshrdi3_31", "*lshrdi3_64"): Likewise.
2418 ("lshrsi3"): Likewise.
2419
d02e1a1c 24202003-10-18 Gunther Nikl <gni@gecko.de>
2421
2422 * config/m68k/m68k.c (m68k_output_function_epilogue): Add missing
2423 argument to asm_fprintf statement.
2424
11f4589c 24252003-10-18 Fariborz Jahanian <fjahanian@apple.com>
2426
5b247e9f 2427 * rs6000.md: Separate TARGET_POWERPC64 patterns for TARGET_64BIT or TARGET_32BIT.
2428 (ashrdisi3_noppc64) Generate more efficient code for 32-bit right-shift of
2429 a "long long" argument.
11f4589c 2430
561c9236 24312003-10-18 Alexandre Oliva <aoliva@redhat.com>
2432
2433 * final.c (final_scan_insn): Run FINAL_PRESCAN_INSNS on asm insns
2434 as well.
2435
bf6b5685 24362003-10-18 Richard Sandiford <rsandifo@redhat.com>
2437
2438 * rtl.h (rtl_size): Declare.
2439 (rtunion): Remove rtwint.
2440 (rtx_def): Replace 'fld' with a union of an rtunion or a HOST_WIDE_INT.
2441 (RTX_HDR_SIZE, RTX_SIZE): New macros.
2442 (RTL_CHECK1): Adjust for new rtx_def layout.
2443 (RTL_CHECK2, RTL_CHECKC1, RTL_CHECKC2): Likewise.
2444 (XWINT, XCWINT): Likewise. Access the rtx structure directly.
2445 (X0WINT): Remove.
2446 (X0ANY): New macro.
2447 * rtl.def: Adjust comments for new rtx_def layout.
2448 * ggc.h (ggc_alloc_rtx): Take the rtx code as argument, not the
2449 number of slots.
2450 * rtl.c (rtx_size): New array.
2451 (rtx_alloc): Adjust call to ggc_alloc_rtx. Use RTX_HDR_SIZE.
2452 (copy_rtx): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2453 (shallow_copy_rtx): Adjust call to ggc_alloc_rtx. Use RTX_SIZE.
2454 * integrate.c (copy_rtx_and_substitute): Use X0ANY to copy '0' fields.
2455 * emit-rtl.c (copy_most_rtx): Likewise.
2456 (copy_rtx_if_shared): Use RTX_SIZE.
2457 (copy_insn_1): Use RTX_HDR_SIZE. Adjust for new rtx_def layout.
2458 * gengenrtl.c (gendef): Adjust ggc_alloc_rtx call. Use RTX_HDR_SIZE.
2459 * gengtype.c (write_rtx_next): Use RTX_HDR_SIZE.
2460 (adjust_field_rtx_def): Expect "rtx_def" to be a union rather than
2461 an array. Adjust output for new rtx_def layout.
2462 * ggc-page.c (RTL_SIZE): Use RTX_HDR_SIZE.
2463 * reload1.c (eliminate_regs): Use RTX_SIZE.
2464 * rtlanal.c (loc_mentioned_in_p): Adjust for new rtx_def layout.
2465 * gdbinit.in (pi): Likewise.
2466
3bb4cd82 24672003-10-18 Jan Hubicka <jh@suse.cz>
2468
2469 * integrate.c (copy_decl_for_inlining): Revert previous patch.
2470
d6955add 24712003-10-18 Jan Hubicka <jh@suse.cz>
2472
2473 * integrate.c (copy_decl_for_inlining): Fix copying of copies.
2474
5c654ee0 24752003-10-18 Roger Sayle <roger@eyesopen.com>
2476
2477 * libgcc.texi: Group multi-word types, such as "long double" and
2478 "unsigned int", using braces in @deftypefn and @deftypefnx nodes.
2479 Document __unord?f2 as returning a non-zero value, not just one.
2480
62ba9650 24812003-10-18 Hans-Peter Nilsson <hp@bitrange.com>
2482
2483 * config/mmix/t-mmix (CRTSTUFF_T_CFLAGS): Define.
2484 ($(T)crti.o, $(T)crtn.o): Pass CRTSTUFF_T_CFLAGS here too.
2485
dc16bc38 24862003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2487
2488 * config/i386/k6.md (k6_alux): Use the 'mode' attribute instead of
2489 match_operand.
2490
a0eb9d79 24912003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2492
2493 * config/sparc/sparc.c (function_arg_record_value_1): New fourth
2494 parameter packed_p. Search for a DECL_PACKED field only if
2495 packed_p is false. Pass packed_p recursively.
2496 (function_arg_record_value_2): Likewise.
2497 (function_arg_record_value): Update calls to
2498 function_arg_record_value_1 and function_arg_record_value_2.
2499
d4a75790 25002003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2501
2502 * cse.c (cse_insn) [src_folded]: Check that the tentative replacement
2503 was successfully forced to memory before using the result.
2504
5e2ee112 25052003-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
2506
2507 PR optimization/8178
2508 * config/i386/i386.md (*movsi_zero): New insn to set
2509 a register to zero on TARGET_USE_MOV0 targets.
2510
f3156f06 25112003-10-18 Kelley Cook <kcook@gcc.gnu.org>
2512
2513 * Makefile.in (Makefile): Depend on the all Make-lang.in fragments.
2514 (POSTSTAGE1_FLAGS_TO_PASS): Pass down MAKEINFO and MAKEINFOFLAGS.
2515
09b65aa6 25162003-10-17 David Edelsohn <edelsohn@gnu.org>
2517
2518 * doc/invoke.texi (gcse-las): Fix typo.
2519
8e860a09 25202003-10-17 Andrew Pinski <pinskia@physics.uc.edu>
2521
b7718d12 2522 * doc/install.texi: Remove first part of the sentence for
2523 zsh not working. Change gcc to GCC.
2524
8e860a09 2525 PR bootstrap/12546
5b247e9f 2526 * doc/install.texi: Document that zsh does not work when
8e860a09 2527 configuring gcc.
2528
764e3b9d 25292003-10-17 Nathanael Nerode <neroden@gcc.gnu.org>
2530
2531 * config/ptx4.h: Switch to DWARF 2; update comments.
2532
70a347e9 25332003-10-17 Segher Boessenkool <boessen@de.ibm.com>
2534 Hartmut Penner <hpenner@de.ibm.com>
2535
edaff1ee 2536 PR 10404, partial 11591, partial 11601
70a347e9 2537 * config/rs6000/altivec.md ("altivec_dst", "altivec_dstt",
2538 "altivec_dstst", "altivec_dststt", "altivec_lvsl", "altivec_lvsr",
2539 "altivec_lvebx", "altivec_lvehx", "altivec_lvewx", "altivec_lvxl",
2540 "altivec_lvx", "altivec_stvx", "altivec_stvxl", "altivec_stvebx",
2541 "altivec_stvehx", "altivec_stvewx"): Use a memory_operand.
2542 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): New function.
2543 (altivec_expand_stv_builtin): Adjust for the memory_operand.
2544 (altivec_expand_builtin): Call altivec_expand_lv_builtin.
2545 (altivec_init_builtins): Use `long int' for memory offsets.
2546
0c749523 25472003-10-17 Jan Hubicka <jh@suse.cz>
2548
2549 * opts.c (common_handle_option): Handle OPT_fweb
2550 * invoke.texi (-fweb): Add missing parts of documentation.
2551
07607929 25522003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2553
2554 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Undef
2555 before redefinition.
2556
5c47e414 25572003-10-17 Mostafa Hagog <mustafa@il.ibm.com>
2558
2559 * common.opt: Add description of the new -fgcse-las flag.
2560 * flags.h (flag_gcse_las): Declaration of global flag_gcse_las.
2561 * gcse.c (hash_scan_set): Handle the case of store expression and
2562 insert the memory expression to the hash table, this way we make it
2563 possible to discover redundant loads after stores and remove them.
2564 (pre_insert_copy_insn): moved the call to update_ld_motion_stores,
2565 to pre_insert_copies, it is not the correct place to call it after
2566 adding stores to be in the available expression hash table.
2567 (pre_insert_copies): Added the call to update_ld_motion_stores when
2568 one or more copies were inserted.
2569 * opts.c (common_handle_option): Handle the -fgcse-las flag.
2570 * toplev.c (flag_gcse_las): Initialization of flag_gcse_las.
2571
2572 * doc/invoke.tex: Document new -fgcse-las flag.
2573
5f94d4c9 25742003-10-18 Alan Modra <amodra@bigpond.net.au>
2575
84a81d89 2576 * config/rs6000/crtsavres.asm: Correct alignment of powerpc64 code
2577 for posterity, then remove it.
5f94d4c9 2578
01c5c234 25792003-10-17 Richard Earnshaw <rearnsha@arm.com>
2580 Nathan Sidwell <nathan@codesourcery.com>
2581
2582 * config/arm/arm.c (use_return_insn): Not a single instruction, if
2583 there's a frame pointer.
2584 (arm_output_epilogue): Protect stack pointer from being corrupted
2585 on interrupt.
2586
9b9797f8 25872003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2588
2589 * ifcvt.c (noce_try_addcc): Handle ifs with 'else' case.
2590
ae1b4595 25912003-10-17 Ulrich Weigand <uweigand@de.ibm.com>
2592
2593 * combine.c (simplify_set): Do not clear out undobuf.other_insn
2594 already set elsewhere.
2595
04b6f6e9 25962003-10-17 Kelley Cook <kcook@gcc.gnu.org>
2597
2598 * config/i386/i386.c (ix86_expand_prologue): Use
2599 gen_allocate_stack_worker.
2600
cdce9708 26012003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2602
2603 * config.gcc (mips-sgi-irix6*o32): Only enable use_collect2
2604 without gas.
2605 (mips-sgi-irix6*): Likewise.
2606
2607 * config/mips/iris6gas.h: New file.
2608 * gcc/config.gcc (mips-sgi-irix6*): Use it.
2609
2610 * config/mips/mips.h (TARGET_IRIX): Provide default.
2611 (TARGET_IRIX5): Likewise.
2612 (TARGET_SGI_O32_AS): Likewise.
2613 * config/mips/iris5.h (TARGET_IRIX): Redefine as 1.
2614 (TARGET_IRIX5): Likewise.
2615 * config/mips/iris6.h (TARGET_IRIX6): Remove.
2616 (TARGET_IRIX5): Redefine as 0.
2617
2618 * config/mips/mips.c (mips_output_external): Test for IRIX 6 O32
2619 linker workaround with TARGET_IRIX and mips_abi instead of
2620 ASM_OUTPUT_UNDEF_FUNCTION.
2621 (mips_file_end): Inline old ASM_OUTPUT_UNDEF_FUNCTION definition,
2622 testing TARGET_IRIX and mips_abi explicitly.
2623 * config/mips/iris5.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove.
2624 * config/mips/iris6.h (ASM_OUTPUT_UNDEF_FUNCTION): Remove undef.
2625
2626 * config/mips/mips.c (irix_output_external_libcall): Renamed from
2627 mips_output_external_libcall.
2628 Use new TARGET_IRIX in guard.
2629 * config/mips/mips-protos.h (irix_output_external_libcall): Match
2630 this.
2631 * config/mips/iris5.h (TARGET_ASM_EXTERNAL_LIBCALL): Likewise.
2632
2633 * config/mips/iris5gas.h (HAVE_GAS_SHF_MERGE): Update comment.
2634 Define as 0.
2635
2636 * config/mips/iris6.h (FUNCTION_NAME_ALREADY_DECLARED): Define
5b247e9f 2637 depending on mips_abi.
cdce9708 2638 * config/mips/linux.h (FUNCTION_NAME_ALREADY_DECLARED): Define as 1.
2639 * config/mips/mips.c (mips_output_function_prologue): Test
2640 FUNCTION_NAME_ALREADY_DECLARED at runtime.
2641 (mips_output_function_epilogue): Likewise.
2642 (build_mips16_function_stub): Likewise.
2643 (build_mips16_call_stub): Likewise.
2644 * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Provide
2645 default.
5b247e9f 2646
cdce9708 2647 * config/mips/iris6.h (DWARF2_UNWIND_INFO): Don't define for native
2648 IRIX 6 O32 assembler.
2649 (SUBTARGET_CC1_SPEC): Enforce mips2 ISA with O32 ABI.
2650 (TARGET_OS_CPP_BUILTINS): Define _ABIO32, use it to define
2651 _MIPS_SIM for O32 ABI.
2652 (DWARF2_FRAME_INFO): Don't define for native IRIX 6 O32 assembler.
2653 (ASM_DECLARE_FUNCTION_NAME): Integrate mips.h version.
2654 (ASM_DECLARE_FUNCTION_SIZE): Move undef before redefinition.
2655 Integrate O32 version.
2656 (SUBTARGET_ASM_SPEC): Handle -mabi=32.
2657 (SUBTARGET_ASM_DEBUGGING_SPEC): Add mdebug_asm_spec for gas with
2658 O32 ABI.
2659 (BSS_SECTION_ASM_OP_32): Define.
2660 (BSS_SECTION_ASM_OP_64): Likewise.
2661 (BSS_SECTION_ASM_OP): Define differently for O32 and N32/N64 ABIs
2662 using them.
2663 (TARGET_ASM_NAMED_SECTION): Reflect renaming.
2664 Move up to allow override for O32 ABI without GNU as.
2665 (EH_FRAME_SECTION_NAME): Define explicitly.
2666 (MUST_USE_SJLJ_EXCEPTIONS): Define.
2667 [_MIPS_SIM == _ABIO32 && !GAS] (CTORS_SECTION_ASM_OP,
2668 DTORS_SECTION_ASM_OP): Dummy definitions.
5b247e9f 2669 (TARGET_ASM_NAMED_SECTION): Undef statically.
cdce9708 2670 (EH_FRAME_SECTION_NAME): Likewise.
2671 (ASM_OUTPUT_FILENAME): Integrate mips.h version.
2672 (LINK_SPEC): Only use default options -call_shared -no_unresolved
2673 without -r.
2674 Don't pass -init, -fini with -mabi=32.
2675 (COLLECT_PARSE_FLAG): Define.
2676
2677 * config/mips/mips.c (iris6_asm_named_section_1): Changed guard to
2678 TARGET_IRIX.
2679 Renamed to use irix_ prefix.
2680 (iris6_asm_named_section): Likewise.
2681 (iris_section_align_entry_eq): Likewise.
2682 (iris_section_align_entry_hash): Likewise.
2683 (iris6_file_start): Likewise.
2684 (iris6_section_align_1): Likewise.
2685 (iris6_file_end): Likewise.
2686 (iris6_section_type_flags): Likewise.
2687 (iris_section_align_htab): Likewise.
2688 (iris_orig_asm_out_file): Likewise.
2689 [TARGET_IRIX] (TARGET_ASM_FILE_START): Reflect rename.
2690 (TARGET_ASM_FILE_END): Likewise.
2691 (TARGET_SECTION_TYPE_FLAGS): Likewise.
2692
2693 * config/mips/mips.c [TARGET_IRIX5 && !TARGET_IRIX6]
2694 (TARGET_ASM_UNALIGNED_HI_OP): Use runtime initialization in
2695 override_options instead.
2696 (TARGET_ASM_UNALIGNED_SI_OP): Likewise.
2697 (TARGET_ASM_UNALIGNED_DI_OP): Likewise.
2698 * config/mips/mips.c (override_options) [USE_COLLECT2]: Restore
2699 flag_gnu_linker to defaults without USE_COLLECT2 for non-IRIX O32
2700 assemblers.
2701 Likewise for constructor/destructor handling.
2702 (override_options): Handle IRIX O32 assembler quirks.
2703 [TARGET_IRIX] (irix_asm_named_section): Handle O32 ABI with and
2704 without gas.
2705 (mips_file_start): Use new TARGET_IRIX.
2706 (mips_declare_object_name): No special processing for IRIX O32
2707 assembler.
2708 (mips_finish_declare_object): Likewise.
2709 (irix_asm_output_align): Renamed from iris6_asm_output_align.
2710 Don't record alignment for O32 ABI.
2711 (irix_file_start): Renamed from iris6_file_start.
2712 Return early for O32 ABI.
2713 (irix_file_end): Renamed from iris6_file_end.
2714 Don't emit .section directives for O32 ABI.
2715 * config/mips/iris6.h (ASM_OUTPUT_ALIGN): Reflect renaming.
2716 * config/mips/mips-protos.h (irix_asm_output_align): Likewise.
2717
2718 * config/mips/t-iris6 (MULTILIB_OPTIONS): Add mabi=32.
2719 (MULTILIB_OSDIRNAMES): Likewise.
2720
ff2185fb 27212003-10-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
2722
2723 * collect2.c (COLLECT_PARSE_FLAG): Provide default.
2724 (main): Use it.
2725 * doc/tm.texi (COLLECT_PARSE_FLAG): Document it.
2726
58d6528b 27272003-10-17 Richard Earnshaw <rearnsha@arm.com>
2728
2729 * arm-modes.def (CC_Nmode): New condition code mode.
2730 * arm.c (thumb_condition_code): Delete.
2731 (arm_select_cc_mode): Handle single-bit test for Thumb.
5b247e9f 2732 (arm_print_operand, cases 'd' and 'D'): Don't special case the
58d6528b 2733 condition code logic for Thumb.
2734 (get_arm_condition_code): Handle CC_Nmode.
2735 (thumb_cbrch_target_operand): New function.
2736 * arm.h (PREDICATE_CODES): Add thumb_cbrch_target_operand.
2737 * arm-protos.h (thumb_cbrch_target_operand): Add prototype.
2738 * arm.md: Add Thumb split patterns for zero_extract and
2739 sign_extract.
2740 (tbit_cbranch, andsi3_cbranch_scratch, andsi3_cbranch)
2741 (orrsi3_cbranch_scratch, orrsi3_cbranch, xorsi3_cbranch_scratch)
2742 (xorsi3_cbranch, addsi3_cbranch, addsi3_cbranch_scratch)
2743 (subsi3_cbranch, subsi3_cbranch_scratch): New Thumb patterns.
2744 (cbranchne_decr1): Re-work to use CC_Nmode.
2745
5b247e9f 2746 * arm.c (thumb_expand_epilogue): Add clobbers of registers restored
58d6528b 2747 by the return instruction. Add a use of the link register if it
2748 wasn't stored.
2749
c927e760 27502003-10-17 Richard Earnshaw <rearnsha@arm.com>
2751
2752 * flow.c (init_propagate_block_info): Don't abort if a conditional
2753 jump is not a comparison of a register. Instead, just don't record
2754 conditional life information.
2755
3de2754a 27562003-10-16 Jan Hubicka <jh@suse.cz>
2757
2758 PR optimization/12630
2759 * pa.md (movstrsi, movstrsi_internal): Use match_scratch in clobbers
2760 for operands 7 and 8.
2761
487df8fd 27622003-10-16 Kelley Cook <kcook@gcc.gnu.org>
2763
2764 * objc/Make-lang.in (objc-parse.o): Honor $(parsedir) for objc-parse.c.
2765
86e2c4f3 27662003-10-16 Danny Smith <dannysmith@users.sourceforge.net>
2767
2768 * config/i386/cygming.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2769
2770 * config/i386/winnt.c (gen_stdcall_suffix): Make static
2771 (gen_fastcall_suffix): Likewise.
2772 (i386_pe_dllexport_p): Likewise.
2773 (i386_pe_dllimport_p): Likewise.
2774 (i386_pe_mark_dllexport): Likewise.
2775 (i386_pe_mark_dllimport): Likewise.
2776 (i386_pe_asm_named_section): Fix formatting.
2777
56deebec 27782003-10-16 Zack Weinberg <zack@codesourcery.com>
2779
2780 * configure.in: Add snprintf to gcc_AC_CHECK_DECLS list.
2781 * system.h: Declare snprintf if necessary.
2782 * configure, config.in: Regenerate.
2783
35f8a46a 27842003-10-15 David Edelsohn <edelsohn@gnu.org>
2785
2786 * config/rs6000/rs6000.c (rs6000_va_arg): Only align vector
4b7eff6b 2787 arguments if TARGET_ALTIVEC_ABI.
35f8a46a 2788
9c8a1629 27892003-10-15 Roger Sayle <roger@eyesopen.com>
2790
2791 * builtins.c (fold_builtin_memcpy, fold_builtin_mempcpy,
2792 fold_builtin_memmove, fold_builtin_strcpy, fold_builtin_strncpy,
2793 fold_builtin_memcmp, fold_builtin_strcmp, fold_builtin_strncmp):
2794 New functions.
2795 (expand_builtin_memcpy): Use integer_zerop instead of testing
2796 host_integerp and tree_low_cst directly. Move misapplied hunk
2797 for optimization wher SRC and DEST point to the same location.
2798 (expand_builtin_mempcpy): From here.
2799 (expand_builtin_memmove): Use integer_zerop instead of testing
2800 host_integerp and tree_low_cst_directly.
2801 (expand_builtin_memset): Likewise.
2802 (expand_builtin_memcmp): Likewise (and for integer_onep).
2803 (expand_builtin_strncmp): Likewise.
2804 (fold_builtin): Call the appropriate fold_builtin_foo functions
2805 to optimize memcpy, mempcpy, memmove, strcpy, strncpy, memcmp,
2806 strcmp and strncmp.
2807
37ec5024 28082003-10-15 Geoffrey Keating <geoffk@apple.com>
2809
2810 * config/darwin-protos.h (machopic_non_lazy_ptr_name): Delete
2811 prototype. Clean up some whitespace.
56deebec 2812 * config/darwin.c: Use gen_rtx_FOO (...) rather than
2813 gen_rtx (FOO, ...).
37ec5024 2814 (machopic_non_lazy_ptr_name): Make static.
2815 (name_needs_quotes): Allow '.' and '$' unquoted.
2816 (machopic_legitimize_pic_address): Improve codegen in dynamic-no-pic
2817 case.
56deebec 2818
f9464d30 2819