1 2005-05-19 Release Manager
5 2005-05-11 Mark Mitchell <mark@codesourcery.com>
8 2005-05-10 H.J. Lu <hongjiu.lu@intel.com>
10 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
11 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
12 * expr.c (emit_block_move_via_movstr): Save and restore
14 2005-05-09 Grigory Tolstolytkin <gtolstolytkin@ru.mvista.com>
15 Backport from mainline
16 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
17 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
20 2005-05-11 Ben Elliston <bje@au.ibm.com>
22 * dwarf2out.c: Revert my 2005-05-10 patch.
24 2005-05-10 H.J. Lu <hongjiu.lu@intel.com>
26 Backport from mainline
27 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
28 * function.c (fixup_var_refs): Save volatile_ok and set to 1.
29 * expr.c (emit_block_move_via_movstr): Save and restore
32 2005-05-10 Jakub Jelinek <jakub@redhat.com>
34 * config/i386/i386.md (sse_mov?fcc* splitters): Add mode to
35 IF_THEN_ELSE, remove mode from MATCH_OPERATOR. Fix a typo.
37 2005-05-09 Grigory Tolstolytkin <gtolstolytkin@ru.mvista.com>
39 Backport from mainline
40 2004-02-12 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
41 * emit-rtl.c (set_mem_attributes_minus_bitpos): Don't kill previous
44 2005-05-10 Ben Elliston <bje@au.ibm.com>
47 * dwarf2out.c (dwarf2out_decl): Always set context_die to NULL,
48 even when debug_info_level is DINFO_LEVEL_TERSE.
50 2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
52 * config/m68hc11/m68hc11.c (m68hc11_z_replacement): Use emit_insn_after
53 when adding the save Z instruction so that it is part of the good BB.
54 (reg_or_some_mem_operand): Do not allow the 68HC12 address indirect
55 addressing mode as it is not supported by bset and bclr.
56 (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
58 (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
60 * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
62 ("*movhi_68hc12"): Handle movhi_const0.
63 ("*subhi3", "subqi3"): Use general_operand for operand 1.
64 ("*subhi3_zext"): Likewise.
66 2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
69 * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for operand
70 1 and fix constraints.
71 ("mulqihi3"): Use general_operand for operand 2.
73 2005-05-08 Richard Sandiford <rsandifo@redhat.com>
76 * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
78 * config/mips/mips.md (sungt_df, sunge_df, sungt_sf, sunge_sf): New
81 2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
84 * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
85 64-bit constants on 64-bit hosts.
86 (m68hc11_split_logical): Simplify.
87 (m68hc11_split_move): Likewise.
89 2005-05-06 Bruce Korb <bkorb@gnu.org>
90 Joseph S. Myers <joseph@codesourcery.com>
92 * fixinc/inclhack.def: Correct backslashes
93 * fixinc/fixincl.x: regen
95 2005-05-02 Janis Johnson <janis187@us.ibm.com>
98 * gcov-io.h: Declare gcov external functions hidden.
100 2005-05-01 Gerald Pfeifer <gerald@pfeifer.com>
102 * config/freebsd-spec.h (FBSD_CPP_SPEC): Revert last change.
104 2005-05-01 Gerald Pfeifer <gerald@pfeifer.com>
106 Backport from mainline
107 * doc/install.texi (Specific): Avoid using asterisks in @anchor
108 names related to target triplets.
109 Remove i?86-*-esix from platform directory.
110 Remove powerpc-*-eabiaix from platform directory.
112 2005-05-01 Eric Botcazou <ebotcazou@libertysurf.fr>
115 * config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
117 2005-05-01 Gerald Pfeifer <gerald@pfeifer.com>
119 * doc/install.texi (Specific): Omit dots in the @anchors names
120 for i?86-*-sco3.2v5* and sparc-sun-solaris2.7.
121 Omit underscores for x86_64-*-* and the "all ELF targets" entry.
123 2005-05-01 Joseph S. Myers <joseph@codesourcery.com>
126 * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
129 2005-05-01 Joseph S. Myers <joseph@codesourcery.com>
132 * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
133 aborts, if __gcc_host_wide_int__ is not properly defined.
134 (init_dynamic_diag_info): Give errors, not aborts, if location_t,
135 tree or __gcc_host_wide_int__ are not properly defined.
137 2005-05-01 Joseph S. Myers <joseph@codesourcery.com>
141 * gcc.c (cpp_unique_options): Remove %{trigraphs}.
142 (cpp_options, cc1_options): Change %{std*} %{ansi} to
143 %{std*&ansi&trigraphs}.
145 2005-04-29 Alan Modra <amodra@bigpond.net.au>
148 * config/rs6000/rs6000.c (rs6000_elf_end_indicate_exec_stack): New.
149 * config/rs6000/linux64.h (TARGET_ASM_FILE_END): Use the above.
151 2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
153 * config.gcc (avr-*-*): Remove redundant "case".
155 2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
158 * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove.
160 2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
163 * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove.
165 2005-04-22 David Edelsohn <edelsohn@gnu.org>
167 Backport from mainline.
168 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Set TFmode
169 optabs to xlq names if TARGET_XL_COMPAT.
171 2005-04-22 Eric Botcazou <ebotcazou@libertysurf.fr>
173 * doc/invoke.texi (SPARC options): Document that -mapp-regs
174 is turned off by default on Solaris.
176 2005-04-15 Dave Korn <dave.korn@artimi.com>
178 * gcc.c (default_compilers): Clarify obscure error message when
179 reading from standard input.
181 2005-04-15 Eric Botcazou <ebotcazou@libertysurf.fr>
183 * config/sparc/sparc.c (legitimate_address_p): Use TARGET_ARCH32.
185 2005-04-11 David Edelsohn <edelsohn@gnu.org>
187 Backport from mainline:
188 * config/rs6000/aix52.h (atoll): Declare.
190 2005-04-08 Ulrich Weigand <uweigand@de.ibm.com>
192 Backport from mainline:
193 * config/s390/tpf.h (ASM_SPEC): Define.
195 2005-04-06 Dale Johannesen <dalej@apple.com>
198 * calls.c (expand_call): Flush pending deferrals before
201 2005-04-06 Eric Botcazou <ebotcazou@libertysurf.fr>
204 * config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'.
205 Revert 2004-10-08 patch. Reject TFmode LO_SUM in 32-bit mode.
207 2005-04-05 James E. Wilson <wilson@specifixinc.com>
210 * unwind-ia64.c (uw_intall_context): Add missing load of r27.
212 2005-04-04 Eric Botcazou <ebotcazou@libertysurf.fr>
214 * doc/invoke.texi (SPARC options): Document that
215 -mlittle-endian is not supported on Linux either.
217 2005-03-25 Gabriel Dos Reis <gdr@integrable-solutions.net>
220 * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
223 2005-03-31 Alan Modra <amodra@bigpond.net.au>
226 * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
227 label operand. Remove (use (unspec..)). Don't emit a label on
229 * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
230 generate inline label for load_toc_v4_PIC_1b.
231 (rs6000_emit_load_toc_table): Likewise.
233 2005-03-31 Alan Modra <amodra@bigpond.net.au>
235 * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
236 (powerpc64-*-linux*): Use it. Rearrange tm_file assignment.
237 (powerpc-*-linux*): Build a biarch compiler when --enable-targets
238 is given with "powerpc64*" or "all", or when --with-cpu chooses
241 2005-03-30 Alan Modra <amodra@bigpond.net.au>
243 * doc/install.texi: Update binutils requirement for powerpc*-linux.
245 2005-03-25 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
248 * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
249 (vax_rtx_costs): Return false when passed unsupported rtx's. Handle
250 FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE. Fix costs for POST_INC,
251 PRE_DEC, NEG and NOT.
253 2005-03-23 Uros Bizjak <uros@kss-loka.si>
255 * simplify-rtx.c (simplify_unary_operation) <NOT>: Add missing break
256 in code that deals with logicals on floats.
258 2005-03-22 Uros Bizjak <uros@kss-loka.si>
261 Backport from mainline
262 2004-02-18 Jan Hubicka <jh@suse.cz>
263 * simplify-rtx.c (simplify_unary_operation): Deal with logicals on
265 (simplify_binary_operation): Deal with logicals on floats.
266 * i386.md (SSE fabs splitters): Emit new patterns.
267 (SSE cmov splitters): Likewise.
268 (sse_andv4sf3, sse_nandv4sf3, sse_iorv4sf3, sse_xorv4sf3
269 (sse_andv2df3, sse_nandv2df3, sse_iorv2df3, sse_xorv2df3): Do not use
271 (sse_andsf3, sse_nandsf3, sse_xorsf3): Kill.
272 (sse_anddf3, sse_nanddf3, sse_xordf3): Kill.
274 2005-03-20 Marek Michalkiewicz <marekm@amelek.gda.pl>
277 * config/avr/avr.c (avr_output_function_prologue): Do not use
278 current_function_name() in a label, use a local label instead.
280 2005-03-19 Joseph S. Myers <joseph@codesourcery.com>
282 * c.opt (ansi, std=iso9899:1990, std=iso9899:1999,
283 std=iso9899:199x): Correct descriptions.
285 2005-03-19 Andy Hutchinson <HutchinsonAndy@netscape.net>
288 * config/avr/avr.md (movstrhi): Rewrite as RTL loop.
289 (*movstrqi_insn): Delete.
292 2005-03-17 Richard Sandiford <rsandifo@redhat.com>
294 PR rtl-optimization/19683
295 * reload1.c (choose_reload_regs): Pass the number of bits, not the
296 number of bytes, to smallest_int_for_mode. Fix arguments to
297 REG_CANNOT_CHANGE_MODE_P.
299 2005-03-17 Alan Modra <amodra@bigpond.net.au>
301 * config/rs6000/linux-unwind.h: New file backported from gcc-4.0.
302 * config/rs6000/linux.h: #include linux-unwind.h in place of all
303 unwind support in this file.
304 * config/rs6000/linux64.h: Likewise.
306 2005-03-16 Roger Sayle <roger@eyesopen.com>
308 PR rtl-optimization/17825
309 Backport from mainline
310 2004-11-27 Jakub Jelinek <jakub@redhat.com>
311 * combine.c (subst): Ignore STRICT_LOW_PART no matter if REG_P (new)
314 2005-03-16 Roger Sayle <roger@eyesopen.com>
317 Backport from mainline
318 2004-12-19 Steven Bosscher <stevenb@suse.de>
319 * config/i386/i386.c (ix86_split_to_parts): Use an array with
320 four elements for decoding a CONST_DOUBLE on 64 bits targets.
322 2005-03-14 Alan Modra <amodra@bigpond.net.au>
324 * config.gcc: Remove excess indentation.
325 (powerpc*-*-*, rs6000-*-*): Accept --with-cpu/tune power5.
327 2005-03-13 Marek Michalkiewicz <marekm@amelek.gda.pl>
330 * config/avr/avr.c (print_operand): Add 'p' and 'r'.
331 (out_movhi_r_mr): Read low byte of volatile MEM first.
332 (out_movhi_mr_r): Write high byte of volatile MEM first.
334 2005-03-10 Aldy Hernandez <aldyh@redhat.com>
336 * doc/invoke.texi: Add 8540 to list of cpus in rs6000 cpu section.
338 2005-03-08 James E Wilson <wilson@specifixinc.com>
340 Backport from mainline
341 2004-04-13 James E Wilson <wilson@specifixinc.com>
343 * c-opt.c (c_common_post_options): If this_input_filename is NULL,
344 increment errorcount and return false instead of true.
346 Backport from mainline
347 2005-02-21 James E Wilson <wilson@specifixinc.com>
348 * toplev.c (backend_init): Don't call init_adjust_machine_modes here.
349 (do_compile): Do call it here.
351 2005-03-07 David Billinghurst <David.Billinghurst@riotinto.com>
353 * config/i386/cygwin1.c(mingw_scan): Use xstrdup in calls to putenv.
355 2005-03-03 Alan Modra <amodra@bigpond.net.au>
358 * config/rs6000/rs6000.c (rs6000_override_options): Don't allow
359 -mcpu to override any other explicitly given flags.
361 2005-03-02 Mark Mitchell <mark@codesourcery.com>
364 * varasm.c (initializer_constant_valid_p): Allow conversions
365 between OFFSET_TYPEs. Tidy.
367 2005-02-28 John David Anglin <dave.anglin#nrc-cnrc.gc.ca>
370 * pa.h (GO_IF_LEGITIMATE_ADDRESS): Allow allow hard registers during
371 and after reload in REG+REG indexed addresses without REG_POINTER
372 set in the base and not set in the index.
374 2005-02-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
376 PR rtl-optimization/17728
377 * pa.md (mulsi3, divsi3, udivsi3, modsi3): Change predicate for
378 operand 0 from general_operand to move_dest_operand.
380 2005-02-26 Paolo Carlini <pcarlini@suse.de>
382 * doc/extend.texi (Declaring Attributes of Functions)<noreturn>:
383 Clarify that the alternative way doesn't work in GNU C++.
385 2005-02-25 David Edelsohn <edelsohn@gnu.org>
387 Backport from mainline:
388 2005-02-24 David Edelsohn <edelsohn@gnu.org>
390 * reload.c (operands_match_p): Only increment register number for
391 SCALAR_INT_MODE_P modes in multiple hard registers.
392 * config/rs6000/rs6000.md (trunctfdf2): Remove register constraints.
395 2005-02-24 Jakub Jelinek <jakub@redhat.com>
398 * Makefile.in (LIB2FUNCS_SHARED_EXTRA, LIB2ADD_SH): New.
399 (libgcc.mk): Depend on $(LIB2ADD_SH), pass LIB2ADD_SH to mklibgcc.
400 (LIBGCC_DEPS): Add $(LIB2ADD_SH).
401 * mklibgcc.in: Handle LIB2ADD_SH.
402 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Remove darwin-ldouble.c.
403 (LIB2FUNCS_STATIC_EXTRA, LIB2FUNCS_SHARED_EXTRA): Set.
404 * config/rs6000/darwin-ldouble.c: Protect .symver asm also with
405 defined IN_LIBGCC2_S.
406 * config/rs6000/darwin-ldouble-shared.c: New file.
408 2005-02-23 Michael Beach <michaelb@ieee.org>
411 * config/sparc/t-elf (startup files): Assemble with CPP.
413 2005-02-17 Gerald Pfeifer <gerald@pfeifer.com>
415 * doc/install.texi (Specific): Update link for Darwin-specific
418 2005-02-16 David Edelsohn <edelsohn@gnu.org>
421 Backport from mainline:
422 2005-02-16 David Edelsohn <edelsohn@gnu.org>
423 * config/rs6000/t-aix43 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
424 * config/rs6000/t-aix52 (SHLIB_MAPFILES): Same.
425 2005-02-15 David Edelsohn <edelsohn@gnu.org>
426 Alan Modra <amodra@bigpond.net.au>
427 * config/rs6000/darwin-ldouble.c (_xlqadd): Rename to __gcc_qadd.
428 (_xlqsub): Rename to __gcc_qsub.
429 (_xlqmul): Rename to __gcc_qmul.
430 (_xlqdiv): Rename to __gcc_qdiv.
431 Provide versioned symbol aliases with old names.
432 * config/rs6000/libgcc-ppc64.ver: Rename symbols.
433 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Rename symbols.
434 * config/rs6000/t-aix43 (LIB2FUNCS_EXTRA): New.
435 * config/rs6000/t-aix52 (LIB2FUNCS_EXTRA): New.
436 * config/rs6000/t-newas (LIB2FUNCS_EXTRA): New.
437 2005-02-14 David Edelsohn <edelsohn@gnu.org>
438 * config/rs6000/rs6000.md (trunctfdf2): Change to define_expand.
439 (trunctfdf2_internal1): New.
440 (trunctfdf2_internal2): Renamed from trunctfdf2.
441 2005-02-13 David Edelsohn <edelsohn@gnu.org>
442 * config/rs6000/aix.h ({TARGET,MASK}_XL_CALL): Rename to
443 {TARGET,MASK}_XL_COMPAT.
444 (SUBTARGET_SWITCHES): Rename xl-call to xl-compat. Use
446 * config/rs6000/beos.h ({TARGET,MASK}_XL_CALL): Remove.
447 * config/rs6000/rs6000.c (function_arg): Change TARGET_XL_CALL to
449 (rs6000_arg_partial_bytes): Same.
450 (rs6000_generate_compare): Generate PARALLEL for compare if TFmode
451 and XL compatibility enabled.
452 * config/rs6000/rs6000.h (TARGET_XL_CALL): Rename to TARGET_XL_COMPAT.
453 * config/rs6000/rs6000.md (cmptf_internal1): Add !TARGET_XL_COMPAT
454 test to final condition.
455 (cmptf_internal2): New.
456 * doc/invoke.texi (RS/6000 Subtarget Options): Change xl-call to
457 xl-compat. Add TFmode information to description.
459 2005-02-16 Eric Christopher <echristo@redhat.com>
461 PR preprocessor/19077
462 * cppmacro.c (cpp_macro_definition): Move handling of whitespace
463 to PREV_WHITE conditional. Remove overloading of len
466 2005-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
469 * config.gcc (sparc-*-elf*): Include sparc/sol2-gld.h.
470 (sparc-*-rtems*): Likewise.
471 (sparclite-*-elf*): Likewise.
472 (sparc86x-*-elf*): Likewise.
473 (sparc64-*-elf*): Likewise.
475 2005-02-11 John David Anglin <dave.anglin@nrc-crnc.gc.ca>
478 2005-01-30 Roger Sayle <roger@eyesopen.com>
479 * config/pa/pa.md (anddi3, iordi3): On HPPA64, disallow an integer
480 constant as the second operand and a register as the third.
482 2005-02-11 Jakub Jelinek <jakub@redhat.com>
485 2004-06-08 Andrew Pinski <pinskia@physics.uc.edu>
486 * fold-const.c (fold_convert): Treat OFFSET_TYPE like
487 POINTER_TYPE and INTEGER_TYPE.
489 * config/rs6000/sysv4.h (ENDFILE_LINUX_SPEC): Use crtendS.o instead of
490 crtend.o if -pie. Use %{x:a;:b} spec syntax.
492 2005-02-10 Jakub Jelinek <jakub@redhat.com>
494 PR rtl-optimization/19579
495 * ifcvt.c (noce_try_cmove_arith): If emitting instructions to set up
496 both A and B, see if they don't clobber registers the other expr uses.
498 2005-02-08 Alan Modra <amodra@bigpond.net.au>
501 * predict.c (PROB_VERY_UNLIKELY): Use 1% instead of 10%.
503 2005-02-07 Ralf Corsepius <ralf.corsepius@rtems.org>
505 * config/m68k/t-rtems (MULTILIB_MATCHES): Let m528x match m5200.
507 2005-02-03 Richard Guenther <rguenth@gcc.gnu.org>
510 * builtins.c (fold_builtin_sqrt): Transform
511 sqrt(pow(x,y)) to pow(fabs(x),y*0.5), not
514 2005-02-01 Richard Earnshaw <rearnsha@arm.com>
517 * arm.c (arm_eliminable_register): New function.
518 (adjacent_mem_locations): Don't allow eliminable registers. Use
519 HOST_WIDE_INT for address offsets.
520 * arm-protos.h (arm_eliminable_register): Add prototype.
522 2005-01-31 Daniel Jacobowitz <dan@codesourcery.com>
524 2004-09-22 Mark Mitchell <mark@codesourcery.com>
525 * gcc/dwarf2out.c (scope_die_for): If the containing scope is a
526 TRANSLATION_UNIT_DECL, consider it to be a global.
528 2005-01-29 Alan Modra <amodra@bigpond.net.au>
530 * unwind-dw2.c (execute_stack_op): Add missing cases for
531 DW_OP_shl, DW_OP_shr, DW_OP_shra, DW_OP_xor.
533 2005-01-28 Stephane Carrez <stcarrez@nerim.fr>
536 * config/m68hc11/t-m68hc11-gas (dp-bit.c): Fix typo causing a
537 configuration part of dp-bit.c to be lost.
539 2005-01-27 Ulrich Weigand <uweigand@de.ibm.com>
542 Backport from mainline:
543 * config/s390/s390.md ("reload_outti"): Remove predicate for
544 output operand. Abort if operand is not a MEM.
545 ("reload_outdi", "reload_outdf"): Likewise.
547 2005-01-27 Marek Michalkiewicz <marekm@amelek.gda.pl>
551 * config/avr/avr.c (notice_update_cc): Only set condition code for
552 ashrqi3 if shift count > 0.
553 (out_shift_with_cnt): Handle shift count <= 0 as a no-op.
554 (ashlqi3_out, ashlhi3_out, ashlsi3_out, ashrqi3_out, ashrhi3_out,
555 ashrsi3_out, lshrqi3_out, lshrhi3_out, lshrsi3_out): Handle shift
556 count <= 0 as a no-op, and shift count >= width by copying zero
557 or sign bit to all bits of the result.
558 * config/avr/avr.md (all shifts): Add alternatives for zero shift
559 count, with attribute "length" set to 0 and "cc" set to "none".
561 2005-01-27 J"orn Rennecke <joern.rennecke@st.com>
563 * real.c (do_add): Initialize signalling and canonical members.
565 * real.c (real_from_integer): Zero out destination.
567 2005-01-26 Ulrich Weigand <uweigand@de.ibm.com>
569 Backport from mainline:
570 * dbxout.c (dbxout_symbol_location): Resolve constant pool references
571 even for variables with NULL DECL_INITIAL.
573 2005-01-25 Richard Earnshaw <rearnsha@arm.com>
577 2004-03-30 Nick Clifton <nickc@redhat.com>
578 * config/arm/arm.md (thumb_jump): Reduce the backward branch
579 range, and increase the forward branch range, to allow for
580 the fact that the PC will be off by 4.
582 2005-01-24 Richard Henderson <rth@redhat.com>
583 Aldy Hernandez <aldyh@redhat.com>
585 * regrename.c (note_sets): Handle subregs.
587 2005-01-24 Jakub Jelinek <jakub@redhat.com>
589 * flow.c (propagate_one_insn): Formatting.
592 * flow.c (libcall_dead_p): Be more conservative if unsure.
593 If there are any instructions between insn and call, see if they are
594 all dead before saying the libcall is dead.
596 2005-01-22 Ralf Corsepius <ralf.corsepius@rtems.org>
599 * config/rs6000/rtems.h: Resurrect cpp_os_rtems_spec from gcc < 3.4.
600 (CPP_OS_RTEMS_SPEC): New (From gcc-3.3's config/rs6000/sys4.h).
601 (SUBSUBTARGET_EXTRA_SPECS): Use CPP_OS_RTEMS_SPEC.
603 2005-01-19 Jakub Jelinek <jakub@redhat.com>
605 PR rtl-optimization/15139
606 * combine.c: Include params.h.
607 (count_rtxs): New function.
608 (record_value_for_reg): If replace_rtx would replace at least
609 2 occurrences of REG in VALUE and TEM is really large, replace REG with
610 (clobber (const_int 0)) instead of TEM.
611 * params.def (PARAM_MAX_LAST_VALUE_RTL): New.
612 * params.h (MAX_LAST_VALUE_RTL): New.
613 * Makefile.in (combine.o): Depend on $(PARAMS_H).
614 * doc/invoke.texi (--param max-last-value-rtl=N): Document.
617 * c-typeck.c (digest_init): Only call build_vector if all constructor
618 elements are *_CST nodes.
621 * c-typeck.c (digest_init): Only call build_vector if inside_init
624 2005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
627 Backport from mainline:
628 2004-01-27 Devang Patel <dpatel@apple.com>
630 * dwarf2out.c: (remove_child_TAG): New function.
631 (gen_subprogram_die): Do not remove all children dies while reusing
632 declaration die for definition. Instead, selectively remove only
635 2005-01-18 Eric Botcazou <ebotcazou@libertysurf.fr>
637 PR rtl-optimization/19296
638 * combine.c (simplify_comparison): Rewrite the condition under
639 which a non-paradoxical SUBREG of a PLUS can be lifted when
640 compared against a constant.
642 2005-01-17 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
644 * varasm.c (process_pending_assemble_output_defs): Fix previous change.
646 2005-01-16 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
649 * defaults.h (TARGET_DEFERRED_OUTPUT_DEFS): Provide default.
650 * toplev.c (compile_file): Call process_pending_assemble_output_defs
651 just before targetm.asm_out.file_end.
652 * tree.h (process_pending_assemble_output_defs): Declare.
653 * varasm.c (assemble_output_def, process_pending_assemble_output_defs):
655 (assemble_alias): Defer generation of assembly code for defines when
656 TARGET_DEFERRED_OUTPUT_DEFS is true.
657 * config/rs6000/aix41.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
658 * config/rs6000/aix43.h (TARGET_DEFERRED_OUTPUT_DEFS): Define.
659 * doc/tm.texi (TARGET_DEFERRED_OUTPUT_DEFS): document.
661 2005-01-15 Ralf Corsepius <ralf.corsepius@rtems.org>
663 * config/mips/rtems.h (MIPS_DEFAULT_GVALUE): Set to 0.
664 * config/mips/t-rtems (MULTILIBS_DIRNAMES,MULTILIB_OPTIONS):
665 Remove little endian multilib variants.
666 Add mips32 multilib variant.
668 2005-01-14 David Edelsohn <edelsohn@gnu.org>
670 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Revert last change.
672 2005-01-13 David O'Brien <obrien@FreeBSD.org>
674 Backport from mainline:
675 * config/freebsd-spec.h: Make KSE pthread lib logic the default.
677 2005-01-13 David Edelsohn <edelsohn@gnu.org>
679 * config/rs6000/aix52.h (CPLUSPLUS_CPP_SPEC): Change _XOPEN_SOURCE
682 2005-01-13 Ralf Corsepius <ralf.corsepius@rtems.org>
684 * config/i386/t-rtems-i386: Multilib on -mtune instead of -mcpu.
686 2004-01-12 David Mosberger <davidm@hpl.hp.com>
687 James E Wilson <wilson@specifixinc.com>
690 * config/ia64/ia64.c (process_set): For alloc insn, only call
691 process_epilogue is !frame_pointer_needed.
694 * config/ia64/ia64.c (ia64_expand_epilogue): Set RTX_FRAME_RELATED_P on
695 sibcall alloc instruction.
696 (process_set): Handle sibcall alloc instruction.
698 2005-01-10 David Edelsohn <edelsohn@gnu.org>
701 Backport from mainline
702 * collect2.c (main): Set aixrtl_flag for -brtl option.
703 (resolve_lib_name): Search for .so file extension before .a
706 2005-01-08 Jakub Jelinek <jakub@redhat.com>
708 PR rtl-optimization/19012
709 * config/i386/i386.md (addqi_1_slp): Set memory attribute.
711 2005-01-07 Eric Botcazou <ebotcazou@libertysurf.fr>
713 * configure.ac (HAVE_AS_OFFSETABLE_LO10): Fix typo.
714 * configure: Regenerate.
716 2005-01-07 Jakub Jelinek <jakub@redhat.com>
718 * c-common.c (handle_mode_attribute): For ENUMERAL_TYPE, also copy
721 2005-01-06 Richard Sandiford <rsandifo@redhat.com>
724 * loop.c (get_monotonic_increment, biased_biv_fits_mode_p,
725 biv_fits_mode_p, extension_within_bounds_p): New functions.
726 (check_ext_dependent_givs): Use them.
728 2005-01-05 Richard Henderson <rth@redhat.com>
731 * reload1.c (do_input_reload): Restrict the optimization deleteing
732 a previous output reload to RELOAD_FOR_INPUT.
734 2005-01-06 Jakub Jelinek <jakub@redhat.com>
736 Backport from mainline:
737 2004-03-22 Diego Novillo <dnovillo@redhat.com>
739 * c-typeck.c (same_translation_unit_p): Fix pasto.
741 2005-01-02 Roger Sayle <roger@eyesopen.com>
742 Andrew Pinski <pinskia@physics.uc.edu>
743 James E. Wilson <wilson@specifixinc.com>
745 PR rtl-optimization/12092
746 * loop.c (emit_prefetch_instructions): Do nothing if PREFETCH_BLOCK
749 2004-12-30 Roger Sayle <roger@eyesopen.com>
752 * loop-unroll.c (expand_bct): Pass the code_label to the function
753 do_compare_rtx_and_jump, not the label ref. Clean-up style issues.
755 2004-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
757 * vax.c (vax_address_cost, vax_rtx_cost): Correct casts.
758 (vax_rtx_cost): Handle small offsets for both PLUS and MINUS.
760 2004-12-27 Steven Bosscher <stevenb@suse.de>
761 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
763 rtl-optimization/12863
764 * config/vax/vax.h (CASE_DROPS_THROUGH): Don't define.
765 * config/vax/vax.md (casesi): Emit a test-and-branch to make sure
766 that the case is in range, to make sure the casesi insn is always
767 in range and never falls through.
768 (casesi1): Add comment to explain why casesi never falls through.
769 Remove the unnamed special case casesi pattern.
771 2004-12-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
774 Backported from main.
775 * configure.ac (HAVE_GAS_NSUBSPA_COMDAT): Add check for .NSUBSPA
777 * configure. config.in: Rebuilt.
778 * config/pa/pa-protos.h (som_text_section_asm_op,
779 som_readonly_data_section, som_one_only_readonly_data_section,
780 som_one_only_data_section, forget_section): Declare.
781 * pa.c (override_options): Set init_machine_status to
782 pa_init_machine_status.
783 (pa_init_machine_status): New function.
784 (pa_output_function_epilogue): Call forget_section if TARGET_SOM and
786 (pa_asm_output_mi_thunk): Likewise.
787 (som_text_section_asm_op): New function.
788 (pa_select_section): Call som_one_only_readonly_data_section and
789 som_one_only_data_section when appropriate.
790 * pa.h (struct machine_function): Define.
791 (EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS,
792 SOM_READONLY_DATA_SECTION_FUNCTION,
793 SOM_ONE_ONLY_READONLY_DATA_SECTION_FUNCTION
794 SOM_ONE_ONLY_DATA_SECTION_FUNCTION, FORGET_SECTION_FUNCTION): New
796 * som.h (ASM_OUTPUT_FUNCTION_PREFIX): Delete.
797 (TEXT_SECTION_ASM_OP): Call som_text_section_asm_op.
798 (READONLY_DATA_ASM_OP, EXTRA_SECTIONS, EXTRA_SECTION_FUNCTIONS): Delete.
799 (READONLY_DATA_SECTION): Call som_readonly_data_section when not PIC.
800 (SUPPORTS_SOM_COMDAT): New define.
801 (SUPPORTS_ONE_ONLY): True if SUPPORTS_WEAK or SUPPORTS_SOM_COMDAT.
802 (MAKE_DECL_ONE_ONLY): Rework common support.
804 2004-12-26 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
807 * pa.c (pa_function_ok_for_sibcall): Sibcalls are not ok when
808 generating code for the portable runtime.
810 2004-12-25 Alan Modra <amodra@bigpond.net.au>
813 * config/rs6000/rs6000.md (andsi3_internal7, andsi3_internal8): Delete.
815 2004-12-23 Richard Henderson <rth@redhat.com>
818 * c-decl.c (finish_enum): Retain precision acquired from an attribute.
820 2004-12-23 Alexandre Oliva <aoliva@redhat.com>
823 * calls.c (load_register_parameters): Don't call use_regs when
826 2004-12-22 Richard Henderson <rth@redhat.com>
829 * config/i386/i386.c (x86_inter_unit_moves): Disable.
830 (ix86_hard_regno_mode_ok): Disallow SSE2 and MMX scalar modes
831 in SSE registers when only SSE1 enabled.
833 2004-12-21 David O'Brien <obrien@FreeBSD.org>
835 Backport from mainline:
836 * config/freebsd-spec.h: Use KSE pthread lib for -pthread.
838 2004-12-19 Richard Henderson <rth@redhat.com>
840 * config/i386/i386.c (ix86_hard_regno_mode_ok): Always accept all SSE,
841 MMX, 3DNOW modes in SSE registers; always accept all MMX, 3DNOW modes
843 * config/i386/i386.h (VALID_SSE2_REG_MODE): Don't include
845 * config/i386/i386.md (movv4sf_internal, movv4si_internal,
846 movv2di_internal, movv2si_internal, movv4hi_internal,
847 movv2sf_internal, movv2df_internal, movv8hi_internal,
848 movv16qi_internal, movti_internal): Add leading '*' to name.
849 (movv2di_internal, movv2df_internal, movv8hi_internal,
850 movv16qi_internal, movv2df, movv8hi, movv16qi, movv2di,
851 pushv2di, pushv8hi, pushv16qi): Enable for SSE1.
852 (movv2si_internal, movv4hi_internal): Add SSE alternatives.
853 (movv8qi_internal, movv2sf_internal): Likewise.
854 (movtf): Simplify conditional.
855 (movv2sf, pushv2sf): Enable for MMX.
857 2004-12-19 Roger Sayle <roger@eyesopen.com>
860 * expr.c (expand_expr_real_1) <MAX_EXPR>: Ensure that target, op0
861 and op1 are all registers (or constants) before expanding the RTL
862 comparison sequence [to avoid reg_overlap_mentioned (target, op1)].
864 2004-12-18 Eric Botcazou <ebotcazou@libertysurf.fr>
866 PR rtl-optimization/16968
867 * loop.c (scan_loop): Stop scanning the loop for movable
868 insns as soon as an optimization barrier is encountered.
870 2004-12-16 H.J. Lu <hongjiu.lu@intel.com>
873 * config/alpha/t-osf4 (SHLIB_LINK): Use `.backup' as the suffix
874 to back up the existing shared library.
875 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
876 * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
877 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
878 * config/sh/t-linux (SHLIB_LINK): Likewise.
879 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
880 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
881 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
882 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
884 2004-12-16 Roger Sayle <roger@eyesopen.com>
887 * c-typeck.c (c_finish_case): Rechain statements if we didn't
888 encounter any case labels or a default.
890 2004-12-16 Eric Botcazou <ebotcazou@adacore.com>
893 * function.c (assign_stack_local_1): Use BITS_PER_UNIT alignment
894 when passed -2 as 'align'.
895 (put_var_into_stack): Use 'bool' as the type for the three local
896 predicates. Adjust calls to put_reg_into_stack.
897 When passed a CONCAT, instruct put_reg_into_stack to use
898 a consecutive stack slot for the second part.
899 (put_reg_into_stack): Remove 'promoted_mode' parameter, add
900 'consecutive_p' parameter. Turn the three predicates into 'bool'
901 parameters. Retrieve the register mode from 'reg'.
902 When consecutive_p is true, instruct assign_stack_local_1 to use
903 BITS_PER_UNIT alignment.
904 (put_addressof_into_stack): Use 'bool' as the type for the two
905 local predicates. Adjust call to put_reg_into_stack.
907 2004-12-16 Eric Botcazou <ebotcazou@libertysurf.fr>
910 * function.c (fixup_var_refs_insns_with_hash): Do not invoke
911 fixup_var_refs_insn on insns marked as deleted.
913 2004-12-15 Richard Henderson <rth@redhat.com>
916 * config/i386/i386.md (sse compare splitter): Test for SF and DFmode
917 explicitly instead of using VALID_SSE_REG_MODE.
919 2004-12-15 Richard Henderson <rth@redhat.com>
922 * config/i386/i386.md (swaphi_1): Swap with swaphi_2, allow with
924 (swapqi_1): Rename from swapqi. Enable only for no partial reg
925 stall and optimize_size.
927 (swaphi_1, swaphi_2, swapqi_1): Add athlon_decode.
928 (swapsi, swaphi_1, swaphi_2, swapqi_1, swapdi): Remove modrm override.
930 2004-12-15 H.J. Lu <hongjiu.lu@intel.com>
933 * configure.ac: Define HAVE_LD_STATIC_DYNAMIC if linker supports
934 -Bstatic/-Bdynamic option.
935 * config.in: Regenerated.
936 * configure: Likewise.
938 * gcc.c (init_spec): Pass -Bstatic/-Bdynamic to ld for static
939 -lunwind if possible.
941 2004-12-15 Richard Henderson <rth@redhat.com>
944 * config/i386/i386.c (gen_reg_or_parallel): New.
945 (function_arg): Use it.
946 (ix86_hard_regno_mode_ok): Test SSE1 and SSE2 separately,
947 MMX and 3DNOW separately.
948 (ix86_rtx_costs): Simplify FLOAT_EXTEND case.
949 * config/i386/i386.h (VALID_SSE2_REG_MODE): Move SSE2 cases from ...
950 (VALID_SSE_REG_MODE): ... here.
951 * config/i386/i386.md (movv4sf_internal): Validate one MEM.
952 (movv4si_internal): Likewise.
953 (movv2di_internal): Likewise. Enable for SSE2 only.
954 (movv2di): Enable for SSE2 only.
955 (pushv4si): Enable for SSE1.
957 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
960 * tree-inline.c (expand_call_inline): Set TREE_SIDE_EFFECTS
961 on the STMT_EXPR wrapping up the inlined body.
963 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
965 PR preprocessor/15167
966 * cppfiles.c (destroy_cpp_file): New function.
967 (should_stack_file): Make a new file if the
968 compared file is still stacked.
970 2004-12-15 Eric Botcazou <ebotcazou@libertysurf.fr>
973 * libgcc-std.ver (GCC_3.4.4): Inherit from GCC_3.4.2.
974 Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
975 * libgcc-darwin.ver (GCC_3.4.4): Inherit from GCC_3.4.
976 Export __absvti2, __addvti3, __mulvti3, __negvti2 and __subvti3.
977 * libgcc2.c (__addvsi3): Rename to __addvSI3.
978 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
979 (__addvdi3): Rename to __addvDI3.
980 (__subvsi3): Rename to __subvSI3. Use word type for the result.
981 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
982 (__subvdi3): Rename to __subvDI3.
983 (_mulvsi3): Rename to _mulvSI3.
984 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
985 (_mulvdi3): Rename to _mulvDI3.
986 (__negvsi2): Rename to __negvSI2.
987 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
988 (__negvdi2): Rename to __negvDI2.
989 (__absvsi2): Rename to __absvSI2.
990 New version if COMPAT_SIMODE_TRAPPING_ARITHMETIC.
991 (__absvdi2): Rename to __absvDI2.
992 * libgcc2.h (64-bit targets): Define COMPAT_SIMODE_TRAPPING_ARITHMETIC.
993 (__absvSI2, __addvSI3, __subvSI3, __mulvSI3, __negvSI2, __absvDI2,
994 __addvDI3, __subvDI3, __mulvDI3, __negvDI2): Define to the appropriate
996 (__absvsi2, __addvsi3, __subvsi3, __mulvsi3, __negvsi2): Declare if
997 COMPAT_SIMODE_TRAPPING_ARITHMETIC.
999 2004-12-14 Steve Ellcey <sje@cup.hp.com>
1001 * doc/invoke.texi (IA-64 options): Add existing options that
1002 weren't already listed.
1004 2004-12-14 Jakub Jelinek <jakub@redhat.com>
1007 * builtins.c (expand_builtin_mathfn, expand_builtin_mathfn_2): Avoid
1008 using arguments passed to save_expr after that call.
1010 2004-12-13 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1013 * emit-rtl.c (get_first_nonnote_insn, get_last_nonnote_insn): When
1014 the first/last insn is a sequence, return the first/last insn of the
1017 2004-12-13 Roger Sayle <roger@eyesopen.com>
1021 Backport from mainline
1023 2004-03-20 Richard Sandiford <rsandifo@redhat.com>
1024 * Makefile.in (dojump.o): Depend on $(GGC_H) and dojump.h.
1025 (GTFILES): Add $(srcdir)/dojump.h.
1026 (gt-dojump.h): New dependency.
1027 * dojump.c (and_reg, and_test, shift_test): New static variables.
1028 (prefer_and_bit_test): New function.
1029 (do_jump): Use it to choose between (X & (1 << C)) and (X >> C) & 1.
1031 2004-03-21 Andrew Pinski <pinskia@gcc.gnu.org>
1032 * dojump.c (prefer_and_bit_test): Fix which part of
1033 the and_test is replaced.
1035 2004-12-10 Roger Sayle <roger@eyesopen.com>
1036 * dojump.c (do_jump): When attempting to reverse the effects of
1037 fold_single_bit_test, we need to STRIP_NOPS and narrowing type
1038 conversions, and handle BIT_XOR_EXPR that's used to invert the
1039 sense of the single bit test.
1041 2004-12-13 Richard Henderson <rth@redhat.com>
1044 * config/i386/i386.md (negsf2): Fix condition for using sse.
1045 (negdf2, abssf2, absdf2): Likewise.
1046 (negsf2_if, abssf2_if): Don't disable if sse enabled.
1047 (movv4sf_internal splitter): Postpone til after reload.
1048 (movv2di_internal splitter): Likewise.
1050 2004-12-13 Richard Henderson <rth@redhat.com>
1053 * toplev.c (rest_of_compilation): Fix computation of
1054 preferred_incoming_stack_boundary.
1056 2004-12-12 Richard Henderson <rth@redhat.com>
1059 * reg-stack.c (move_for_stack_reg): Handle source register not
1062 2004-12-12 Richard Henderson <rth@redhat.com>
1065 * config/i386/i386.md (all splits and peepholes): Use flags_reg_operand
1066 and compare_operator to propagate the input CC mode to the output.
1067 * config/i386/i386.c (compare_operator): New.
1068 * config/i386/i386.h (PREDICATE_CODES): Add it.
1069 * config/i386/i386-protos.h: Update.
1071 2004-12-09 Richard Henderson <rth@redhat.com>
1074 * attribs.c (decl_attributes): Clear DECL_ALIGN when relaying out decl.
1075 * c-common.c (handle_mode_attribute): Handle enumeral types.
1077 2004-12-09 Richard Henderson <rth@redhat.com>
1080 * config/i386/i386.md (testqi_1_maybe_si, andqi_2_maybe_si): New.
1081 (test_qi_1, andqi_2): Do not promote to simode.
1083 2004-12-07 David Mosberger <davidm@hpl.hp.com>
1086 * config/ia64/ia64.c (ia64_assemble_integer): Add support for
1087 emitting unaligned pointer-sized integers.
1089 2004-12-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1092 * c-semantics.c (expand_unreachable_if_stmt): Invoke
1093 expand_cond on the condition.
1095 2004-12-06 Aldy Hernandez <aldyh@redhat.com>
1097 * config/rs6000/sysv4.h: Define RELOCATABLE_NEEDS_FIXUP to 1.
1099 2004-12-05 Richard Henderson <rth@redhat.com>
1102 * config/alpha/alpha.md (UNSPECV_SETJMPR_ER): New.
1103 (builtin_setjmp_receiver_er_sl_1): Use it.
1104 (builtin_setjmp_receiver_er_1): Likewise.
1105 (builtin_setjmp_receiver_er, exception_receiver_er): Remove.
1106 (builtin_setjmp_receiver): Don't split for explicit relocs until
1108 (exception_receiver): Likewise.
1110 2004-12-05 Alan Modra <amodra@bigpond.net.au>
1112 * config/rs6000/rs6000.c (rs6000_assemble_integer): Fix typo.
1114 2004-12-04 Richard Henderson <rth@redhat.com>
1116 * emit-rtl.c, expr.c, function.c, integrate.c, optabs.c, rtl.h:
1117 Revert the patches for PR rtl-opt/15289.
1119 2004-12-03 Eric Botcazou <ebotcazou@adacore.com>
1121 * integrate.c (expand_inline_function): Accept non-CONCAT arguments
1122 for CONCAT parameters and invoke read_complex_part on them.
1124 2004-12-02 Richard Henderson <rth@redhat.com>
1126 * expr.c (write_complex_part): Use simplify_gen_subreg when the
1127 submode is at least as large as a word.
1128 (read_complex_part): Likewise.
1130 2004-12-02 Roger Sayle <roger@eyesopen.com>
1133 * config/i386/i386.md (*call_value_1, *sibcall_value_1): Correct
1134 Intel assembler syntax by using %A1 instead of %*%1.
1136 2004-12-02 Richard Henderson <rth@redhat.com>
1139 * emit-rtl.c (gen_complex_constant_part): Remove.
1140 (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1141 * expr.c (write_complex_part, read_complex_part): New.
1142 (emit_move_via_alt_mode, emit_move_via_integer, emit_move_resolve_push,
1143 emit_move_complex_push, emit_move_complex, emit_move_ccmode,
1144 emit_move_multi_word): Split out from ...
1145 (emit_move_insn_1): ... here.
1146 (expand_expr_real) <COMPLEX_EXPR>: Use write_complex_part.
1147 <REALPART_EXPR, IMAGPART_EXPR>: Use read_complex_part.
1148 <CONJ_EXPR>: Likewise.
1149 * function.c (assign_parms): Hard-code transformations
1150 instead of using gen_realpart/gen_imagpart.
1151 * integrate.c (initialize_for_inline): Likewise.
1152 * optabs.c (expand_unop): Use read_complex_part/write_complex_part.
1153 (expand_complex_abs): Likewise.
1154 (expand_binop): Likewise. Rearrange to build a CONCAT at the end,
1155 rather than creating a complex target at the beginning.
1156 * rtl.h (gen_realpart, gen_imagpart, subreg_realpart_p): Remove.
1157 (read_complex_part, write_complex_part): Declare.
1159 2004-12-02 Alan Modra <amodra@bigpond.net.au>
1161 * config/rs6000/rs6000.c (rs6000_assemble_integer): Put back the
1162 #ifdef RELOCATABLE_NEEDS_FIXUP.
1164 2004-12-01 Nathanael Nerode <neroden@gcc.gnu.org>
1166 PR preprocessor/17651
1167 * c-opts.c (sanitize_cpp_opts): Make flag_no_output imply
1168 flag_no_line_commands.
1169 * c-ppoutput.c (pp_file_change): Remove now-redundant check of
1172 PR preprocessor/17610
1173 * directives.c (do_include_common): Error out if an empty filename
1174 is given for #include (or #include_next or #import).
1175 PR preprocessor/17610
1176 * testsuite/gcc.dg/cpp/empty-include.c: New testcase.
1178 2004-12-02 Alan Modra <amodra@bigpond.net.au>
1181 * config/rs6000/rs6000.c (rs6000_assemble_integer): Replace
1182 #ifdef RELOCATABLE_NEEDS_FIXUP with if.
1183 * config/rs6000/linux.h (RELOCATABLE_NEEDS_FIXUP): Define in terms
1184 of target_flags_explicit.
1185 * config/rs6000/linux64.h (RELOCATABLE_NEEDS_FIXUP): Ditto for biarch
1186 case. Define as 0 for non-biarch.
1188 2004-12-01 Richard Henderson <rth@redhat.com>
1190 * expr.c (optimize_bitfield_assignment_op): Split out from ...
1191 (expand_assignment): ... here. Use handled_component_p to gate
1192 get_inner_reference code. Simplify MEM handling. Special case
1193 CONCAT destinations.
1194 (get_inner_reference): Handle REAL/IMAGPART_EXPR.
1195 (handled_component_p): Likewise.
1197 2004-12-01 Alan Modra <amodra@bigpond.net.au>
1200 * config/rs6000/rs6000.c (rs6000_emit_prologue): Use r0 for vrsave.
1202 2004-11-30 Jakub Jelinek <jakub@redhat.com>
1204 * fold-const.c (extract_muldiv_1) <case ABS_EXPR>: If ctype is
1205 unsigned and type signed, build ABS_EXPR with signed_type (ctype)
1206 and only afterwards convert to ctype.
1208 2004-11-29 Richard Henderson <rth@redhat.com>
1211 * config/ia64/ia64.c (sdata_symbolic_operand): Deny offsets
1212 outside the referenced object.
1214 2004-11-28 Andreas Fischer <a_fisch@gmx.de>
1215 Alan Modra <amodra@bigpond.net.au>
1218 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Disallow
1219 functions, strings and thread-local vars.
1221 2004-11-27 Alan Modra <amodra@bigpond.net.au>
1224 * config/rs6000/rs6000.c (init_cumulative_args): Set call_cookie
1225 from rs6000_default_long_calls for libcalls.
1228 * config/rs6000/rs6000-c.c (rs6000_pragma_longcall): Use
1229 integer_zerop and integer_onep instead of comparing against
1232 2004-11-25 Richard Henderson <rth@redhat.com>
1235 * reload1.c (set_initial_eh_label_offset): New.
1236 (set_initial_label_offsets): Use it.
1238 2004-11-26 Alan Modra <amodra@bigpond.net.au>
1240 PR rtl-optimization/16356
1241 * config/rs6000/rs6000.md (floatdisf2_internal2): Rewrite with
1242 separate output register and one less jump. Enable for powerpc64.
1243 (floatdisf2): Adjust for above.
1245 2004-11-25 Ralf Corsepius <ralf.corsepius@rtems.org>
1247 * config.gcc (avr-*-rtems*): Fix typo.
1249 2004-11-24 Uros Bizjak <uros@kss-loka.si>
1251 PR rtl-optimization/18614
1252 * simplify-rtx.c (simplify_binary_operation): Do not
1253 simplify inner elements of constant arguments of
1256 2004-11-23 Eric Botcazou <ebotcazou@libertysurf.fr>
1258 Backport from mainline:
1259 2004-10-18 Eric Botcazou <ebotcazou@libertysurf.fr>
1260 Roger Sayle <roger@eyesopen.com>
1263 * dojump.c (discard_pending_stack_adjust): New function.
1264 (clear_pending_stack_adjust): Call it.
1265 * expr.h (discard_pending_stack_adjust): Declare it.
1266 * explow.c (emit_stack_save): Emit pending stack adjustments
1267 before saving the stack pointer.
1268 (emit_stack_restore): Discard pending stack adjustments before
1269 restoring the stack pointer.
1271 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
1273 * config/c4x/t-rtems: New.
1274 * config.gcc: Reflect having added c4x/t-rtems.
1276 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
1278 * config/arm/t-rtems: New.
1279 * config.gcc: Reflect having added arm/t-rtems.
1281 2004-11-23 Ralf Corsepius <ralf.corsepius@rtems.org>
1283 * config.gcc: Add avr-*-rtems*.
1284 * config/avr/t-rtems: New.
1285 * config/avr/rtems.h: New.
1287 2004-11-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1289 PR rtl-optimization/14838
1290 * emit-rtl.c (get_first_nonnote_insn): Don't assume first insn is a
1292 (get_last_nonnote_insn): Don't assume last insn is a note.
1294 2004-11-21 Roger Sayle <roger@eyesopen.com>
1296 * fixinc/inclhack.def (alpha_pthread_init): Fix technical problems
1297 with the last check-in caused by CVS variable substitution.
1298 * fixinc/fixincl.x: Likewise.
1299 * fixinc/tests/base/pthread.h: Likewise.
1301 2004-11-21 Roger Sayle <roger@eyesopen.com>
1302 Bruce Korb <bkorb@gnu.org>
1304 Synchronize with mainline
1305 * fixinc/inclhack.def (alpha_pthread_init): New fix.
1306 * fixinc/fixincl.x: Regenerate.
1307 * fixinc/tests/base/pthread.h: Update for new test.
1309 2004-11-17 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1312 * config/arc/lib1funcs.asm (___umulsidi3): Change use of cmp to the
1313 equivalent on the A4.
1315 2004-11-16 Joseph S. Myers <joseph@codesourcery.com>
1318 * c-decl.c (grokdeclarator): Call check_bitfield_type_and_width
1319 after processing the declarator.
1321 2004-11-14 Andrew Pinski <pinskia@physics.uc.edu>
1324 * objc/obj-act.c (encode_type): 96bits doubles are encoded the
1325 same way as 64bit and 128bit doubles are.
1327 2004-11-14 Hans-Peter Nilsson <hp@bitrange.com>
1330 * config/mmix/mmix.c (mmix_function_outgoing_value): Handle
1331 TImode. Sorry for other non-complex larger-than-64-bit modes.
1332 * config/mmix/mmix.h (MIN_UNITS_PER_WORD): Do not define.
1333 (INIT_CUMULATIVE_ARGS): Correct unused macro name FNDECL.
1335 2004-11-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1337 * doc/md.texi (constraints) <% modifier>: Mention that it is
1338 useless when the two alternatives are strictly identical.
1340 2004-11-12 Richard Henderson <rth@redhat.com>
1343 * config/i386/i386.h (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1344 * config/i386/freebsd.h (SUBTARGET_OVERRIDE_OPTIONS): Remove.
1345 (TARGET_96_ROUND_53_LONG_DOUBLE): New.
1346 * config/i386/i386-modes.def (XF): Use it.
1348 2004-11-12 Ralf Corsepius <ralf.corsepius@rtems.org>
1350 * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
1351 Remove m505/roe multilib variant.
1353 2004-11-12 Eric Botcazou <ebotcazou@act-europe.fr>
1355 Backport from mainline:
1356 2004-02-25 Richard Henderson <rth@redhat.com>
1358 * config/alpha/alpha.c (alpha_emit_conditional_branch): Don't
1359 use (op0-op1) == 0 if op0 is a pointer.
1361 2004-11-10 Joseph S. Myers <joseph@codesourcery.com>
1364 * c-common.c (fname_decl): Don't use line number of decl in
1367 2004-11-10 Eric Botcazou <ebotcazou@libertysurf.fr>
1369 * config/sparc/sparc.c (function_arg_union_value): New 'slotno'
1370 argument. Return naked register for unions with zero length.
1371 When the union is passed in the 6th slot, build a PARALLEL with
1373 (function_arg): Adjust call to function_arg_union_value.
1374 (function_value): Likewise.
1376 2004-11-09 H.J. Lu <hongjiu.lu@intel.com>
1379 * config/ia64/unwind-ia64.h (_Unwind_FindTableEntry): Mark it
1382 * unwind-dw2.c (_Unwind_FindTableEntry): Removed.
1384 2004-11-10 Alan Modra <amodra@bigpond.net.au>
1387 2004-08-26 Alan Modra <amodra@bigpond.net.au>
1388 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Don't abort
1389 on "(mem (symbol_ref ..))" rtl. Look at LO_SUM base regs as well
1391 2004-08-01 Geoffrey Keating <geoffk@apple.com>
1392 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Just abort
1393 if trying to *store* to a non-offsettable address.
1394 2004-07-30 Geoffrey Keating <geoffk@apple.com>
1395 * config/rs6000/rs6000.c (rs6000_split_multireg_move): Cope with
1396 non-offsettable addresses being moved into multiple GPRs.
1398 2004-11-07 Richard Sandiford <rsandifo@redhat.com>
1400 * config/mips/t-iris6 (tp-bit.c): Fix target filename.
1402 2004-11-07 Mark Mitchell <mark@codesourcery.com>
1404 * version.c (version_string): Set to 3.4.4.
1405 * doc/include/gcc-common.texi (version): Likewise.
1407 2004-11-04 Release Manager
1409 * GCC 3.4.3 released.
1411 2004-10-31 Jakub Jelinek <jakub@redhat.com>
1414 * varasm.c (copy_constant): Don't copy STRING_CSTs if
1415 flag_writable_strings.
1416 (build_constant_desc): Call copy_constant unconditionally.
1418 2004-10-30 Roger Sayle <roger@eyesopen.com>
1420 PR rtl-optimization/17581
1421 * cselib.c (cselib_process_insn): The last instruction of a libcall
1422 block, with the REG_RETVAL note, should be considered in the libcall.
1423 * gcse.c (do_local_cprop): Allow constants to be propagated outside
1425 (adjust_libcall_notes): Use simplify_replace_rtx instead of
1426 replace_rtx to avoid creating invalid RTL in REG_RETVAL notes.
1428 2004-10-27 Andrew Pinski <pinskia@physics.uc.edu>
1431 * common.opt (--param): Fix spelling of parameter.
1433 2004-10-27 Andreas Krebbel <krebbel1@de.ibm.com>
1435 * config/s390/s390.md ("*subdf3_cc"): Replaced plus by minus.
1437 2004-10-26 Richard Sandiford <rsandifo@redhat.com>
1440 * doc/install.texi (mips-sgi-irix5): Document that /bin/sh has been
1441 reported to hang during bootstrap and that CONFIG_SHELL=/bin/ksh
1442 can be used to work around this.
1444 2004-10-26 Roger Sayle <roger@eyesopen.com>
1445 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
1447 Backport 3.4 regression fix from mainline
1448 * cse.c: Change encoding of quantity numbers to avoid undefined
1449 pointer arithmetic on qty_table.
1450 (REGNO_QTY_VALID_P): A quantity is now valid if it isn't negative.
1451 (get_cse_reg_info): Initialize reg_qty to a unique negative value.
1452 (new_basic_block): Assign "real" quantity numbers from zero.
1453 (delete_reg_equiv): Do nothing if quantity is invalid. Reset the
1454 REG_QTY to its unique negative value.
1455 (merge_equiv_classes): Calculate need_rehash if quantity is valid.
1456 (cse_main): Don't include max_reg when determining max_qty.
1457 (cse_basic_block): Avoid subtracting a large offset from qty_table,
1458 which causes undefined C99 behaviour. Only allocate needed memory.
1460 2004-10-25 Jakub Jelinek <jakub@redhat.com>
1462 * dwarf2out.c (rtl_for_decl_location): Avoid segfault if
1463 DECL_INCOMING_RTL is NULL.
1465 2004-10-21 Eric Christopher <echristo@redhat.com>
1467 * config/rs6000/rs6000.c (setup_incoming_varargs): Align DFmode
1470 2004-10-22 Bernardo Innocenti <bernie@develer.com>
1472 Backport from the mainline:
1473 2004-10-22 Peter Barada <peter@the-baradas.com>
1474 * config/m68k/m68k.h (HARD_REGNO_RENAME_OK): New macro.
1475 * config/m68k/m68k.c (m68k_hard regno_rename_ok): Disallow
1476 renaming of non-live registers in interrupt functions.
1477 * config/m68k/m68k-protos.h (m68k_hard_regno_rename_ok): Add prototype.
1479 2004-10-21 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1481 * config/arc/lib1funcs.asm (___umulsidi3): Fix typo.
1483 2004-10-21 Aldy Hernandez <aldyh@redhat.com>
1486 * expmed.c (store_bit_field): Pass original 'value' before
1489 2004-10-21 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1491 * config/arc/lib1funcs.asm (___umulsidi3): Correct usage of flags.
1494 * config/arc/arc.h (REGNO_OK_FOR_BASE_P,REGNO_OK_FOR_INDEX_P,
1495 REG_OK_FOR_BASE, REG_OK_FOR_INDEX): Consider blink(r31) as a valid
1496 base and index register for loads.
1498 * config/arc/t-arc: Fix multilib handling.
1500 2004-10-18 H.J. Lu <hongjiu.lu@intel.com>
1503 * Makefile.in (clean): Remove libgcc_s$(SHLIB_EXT).1.stage?.
1504 (stage1-start): Remove and copy libunwind.a and
1505 libunwind*$(SHLIB_EXT) instead of libunwind*.
1506 (stage2-start): Likewise.
1507 (stage3-start): Likewise.
1508 (stage4-start): Likewise.
1509 (stageprofile-start): Likewise.
1510 (stagefeedback-start): Likewise.
1512 * config/alpha/t-osf4 (SHLIB_LINK): Use a temporary file for
1513 the shared library to be created and don't remove the existing
1515 * config/arm/t-netbsd (SHLIB_LINK): Likewise.
1516 * config/mips/t-iris5-6 (SHLIB_LINK): Likewise.
1517 * config/pa/t-hpux-shlib (SHLIB_LINK): Likewise.
1518 * config/sh/t-linux (SHLIB_LINK): Likewise.
1519 * config/t-libunwind-elf (SHLIBUNWIND_LINK): Likewise.
1520 * config/t-slibgcc-darwin (SHLIB_LINK): Likewise.
1521 * config/t-slibgcc-elf-ver (SHLIB_LINK): Likewise.
1522 * config/t-slibgcc-sld (SHLIB_LINK): Likewise.
1524 * mklibgcc.in (libgcc-stage-start): Also move "*${objext}s"
1527 2004-10-18 Jakub Jelinek <jakub@redhat.com>
1529 * config/i386/i386.md (addqi_1_slp): Test for incdec_operand
1530 operand 1 instead of 2
1532 2004-10-17 David O'Brien <obrien@FreeBSD.org>
1534 * config/rs6000/sysv4.h (LINK_OS_FREEBSD_SPEC): Sync '-p' handling with
1535 other FreeBSD platforms.
1537 2004-10-14 Richard Henderson <rth@redhat.com>
1540 * dwarf2out.c (loc_descriptor_from_tree): Handle FIX_*_EXPR.
1542 2004-10-14 Richard Henderson <rth@redhat.com>
1545 * c-parse.in (compstmt_primary_start): Check last_tree non-null,
1546 not current_function_decl non-null.
1548 2004-10-14 Roger Sayle <roger@eyesopen.com>
1551 * c-opts.c (c_common_init_options): Scan command line options for
1552 "-lang-asm" and if found allow any of the C-family front-end options.
1553 Likewise, scan all command line options for g77's -traditional-cpp.
1555 2004-10-14 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1557 * doc/install.texi (*-*-solaris2*): Update with info about kernel
1558 patches to solve spurious testsuite failures.
1560 2004-10-13 Andrew Pinski <pinskia@physics.uc.edu>
1562 * dwarf2out.c (rtl_for_decl_location): Do not use MEM_P but use
1565 2004-10-13 Richard Henderson <rth@redhat.com>
1568 * dwarf2out.c (rtl_for_decl_location): Apply big-endian correction
1569 for DECL_INCOMING_RTL.
1571 2004-10-13 Richard Henderson <rth@redhat.com>
1574 * c-common.c (handle_mode_attribute): Disallow mode changes that
1575 alter the CODE of the top-level type.
1577 * crtstuff.c (__FRAME_END__): Remove mode attribute. Find 32-bit
1578 integer from internal limits macros.
1579 * config/i386/emmintrin.h (__v2df): Fix base type.
1580 * config/i386/xmmintrin.h (__m128, __v4sf): Likewise.
1582 2004-10-13 Richard Henderson <rth@redhat.com>
1585 * function.c (instantiate_decl): Recurse for CONCAT.
1587 2004-10-13 Eric Botcazou <ebotcazou@libertysurf.fr>
1590 * config/sparc/sparc.c (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Set to
1591 sparc_can_output_mi_thunk.
1592 (sparc_output_mi_thunk): Simplify handling of delta offset. Add
1593 handling of vcall offset.
1594 (sparc_can_output_mi_thunk): New predicate.
1595 * doc/tm.texi (TARGET_ASM_OUTPUT_MI_THUNK): Document VCALL_OFFSET.
1596 (TARGET_ASM_OUTPUT_MI_VCALL_THUNK): Delete.
1597 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): New target hook.
1599 * config/sparc/sparc.md (movdi): Remove redundant test.
1601 2004-10-12 Richard Henderson <rth@redhat.com>
1604 * regclass.c (subregs_of_mode): Turn into an htab. Make static.
1605 (som_hash, som_eq): New.
1606 (init_subregs_of_mode, record_subregs_of_mode): New.
1607 (cannot_change_mode_set_regs): Rewrite for htab implementation.
1608 (invalid_mode_change_p): Likewise.
1609 * combine.c (gen_lowpart_for_combine): Use record_subregs_of_mode.
1610 * flow.c (mark_used_regs): Likewise.
1611 (life_analysis): Use init_subregs_of_mode.
1612 * regs.h (subregs_of_mode): Remove.
1613 * rtl.h (init_subregs_of_mode, record_subregs_of_mode): Declare.
1615 2004-10-10 Roger Sayle <roger@eyesopen.com>
1617 PR rtl-optimization/17853
1618 * combine.c (combine_simplify_rtx): Don't attempt any simplifications
1619 of vector mode comparison operators.
1620 * cse.c (fold_rtx): Likewise.
1621 * simplify-rtx.c (simplify_gen_relational): Avoid calling
1622 simplify_relational_operation with vector mode comparison operators.
1623 (simplify_rtx): Likewise.
1625 2004-10-09 Joseph S. Myers <joseph@codesourcery.com>
1627 * config/rs6000/spe.h (atosfix16, atosfix32, atosfix64, atoufix16,
1628 atoufix32, atoufix64, strtosfix16, strtosfix32, strtosfix64,
1629 strtoufix16, strtoufix32, strtoufix64): Declare.
1631 2004-10-08 Andrew Pinski <pinskia@physics.uc.edu>
1634 * c-ppoutput.c (cb_ident): Don't quote string as it is already
1637 2004-10-08 Eric Botcazou <ebotcazou@libertysurf.fr>
1640 * config/sparc/sparc.c (input_operand): Remove redundant code
1641 for handling LO_SUM.
1642 (legitimate_address_p) <REG+REG>: Do not recheck TARGET_V9.
1643 <LO_SUM>: If LO_SUM is offsettable, accept it for TFmode on V9.
1644 Otherwise only accept it for TFmode if quad move insns are available.
1646 2004-10-07 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1649 * tree-inline.c (expand_call_inline): Do not warn for functions
1650 marked with attribute noinline.
1652 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1654 * doc/install.texi (*-*-solaris2*): Fix marker for URL.
1656 2004-10-07 Richard Sandiford <rsandifo@redhat.com>
1659 * config/mips/mips.md (mov_lwl): Remove hazard=none attribute.
1661 2004-10-07 Eric Botcazou <ebotcazou@libertysurf.fr>
1663 PR rtl-optimization/17027
1664 Backport from mainline:
1665 * cfglayout.c (fixup_fallthru_exit_predecessor): If the first block
1666 falls through to exit, split it.
1667 * cfgrtl.c (rtl_split_block): If no insn is specified, split on the
1668 first insn in the basic block.
1670 2004-10-06 H.J. Lu <hongjiu.lu@intel.com>
1672 * doc/invoke.text (freorder-functions): Add a leading `.' to
1673 "text.hot" and "text.unlikely" sections.
1675 2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
1678 * doc/install.texi (*-*-solaris2*): Mention potential problem
1679 with Sun assembler + GNU linker and C++ programs.
1680 Document status of binutils 2.15 release.
1682 2004-10-06 Alan Modra <amodra@bigpond.net.au>
1685 * doc/tm.texi (LIBGCC_SPEC): Mention modifications.
1686 (USE_LD_AS_NEEDED, LINK_EH_SPEC): Document.
1688 2004-10-03 Alan Modra <amodra@bigpond.net.au>
1690 * config/rs6000/linux.h (TARGET_C99_FUNCTIONS): Define.
1691 (OS_MISSING_POWERPC64): Move, and comment.
1692 * config/rs6000/linux64.h (TARGET_C99_FUNCTIONS): Define.
1693 (OS_MISSING_POWERPC64): Move, and comment.
1695 2004-10-01 Nick Clifton <nickc@redhat.com>
1697 * config/stormy16/stormy16.c (TARGET_BUILD_BUILTIN_VA_LIST_TYPE):
1698 Fix typo in macro name, it should be: TARGET_BUILD_BUILTIN_VA_LIST.
1700 2004-09-30 Richard Henderson <rth@redhat.com>
1702 * config/alpha/qrnnd.asm: Mark for noexecstack.
1704 2004-09-30 Richard Henderson <rth@redhat.com>
1706 * unwind-dw2.c (_Unwind_GetGR): Honor DWARF_ZERO_REG.
1707 * doc/tm.texi (DWARF_ZERO_REG): New.
1709 * config/alpha/alpha.c (alpha_sa_mask, alpha_expand_prologue,
1710 alpha_expand_epilogue): Revert 2003-09-30 change to store zero.
1711 * config/alpha/alpha.h (DWARF_ZERO_REG): New.
1713 2004-09-29 David Edelsohn <edelsohn@gnu.org>
1716 Backport from mainline
1717 2004-07-16 Segher Boessenkool <segher@kernel.crashing.org>
1718 * config/rs6000/eabi.asm (__eabi_convert): Fix typo (cmpi vs. cmpwi).
1720 2004-09-28 Giovanni Bajo <giovannibajo@gcc.gnu.org>
1723 Backport from mainline
1724 2004-09-01 James E Wilson <wilson@specifixinc.com>
1725 * config/avr/avr.c (avr_unique_section): Delete prototype and
1727 (TARGET_ASM_UNIQUE_SECTION): Delete.
1729 2004-09-26 Roger Sayle <roger@eyesopen.com>
1732 Backport from mainline
1733 2004-05-20 Falk Hueffner <falk@debian.org>
1734 * libgcc2.c (__mulvsi3): Fix overflow test.
1736 2004-09-24 Roger Sayle <roger@eyesopen.com>
1738 PR rtl-optimization/9771
1739 * regclass.c (CALL_REALLY_USED_REGNO_P): New macro to eliminate
1740 conditional compilation in init_reg_sets_1.
1741 (init_reg_sets_1): Let global_regs[i] take priority over the frame
1742 (but not stack) pointer exceptions to regs_invalidated_by_call.
1743 (globalize_reg): Globalizing a fixed register may need to update
1744 regs_invalidated_by_call.
1746 2004-09-23 Denis Chertykov <denisc@overta.ru>
1749 * config/avr/avr.md ("movmemhi"): Substitute match_dup to
1751 (*movmemqi_insn): Likewise.
1752 (*movmemhi): Likewise.
1753 (clrmemhi): Likewise.
1754 (*clrmemqi): Likewise.
1755 (*clrmemhi): Likewise.
1757 2004-09-23 H.J. Lu <hongjiu.lu@intel.com>
1760 * Makefile.in (@set_gcc_lib_path@): Added.
1762 * configure.ac: Include ../config/gcc-lib-path.m4. Use
1763 TL_AC_GNU_MAKE_GCC_LIB_PATH.
1764 * configure: Regenerated.
1766 2004-09-23 Joseph S. Myers <jsm@polyomino.org.uk>
1769 * c-typeck.c (build_component_ref): Don't special-case
1772 2004-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
1775 * config/rs6000/rtems.h (TARGET_OS_CPP_BUILTINS): Add
1776 builtin_define ("__USE_INIT_FINI__").
1778 2004-09-20 Richard Sandiford <rsandifo@redhat.com>
1781 * config/mips/mips.md (define_asm_attributes): Set can_delay to no.
1783 2004-09-15 James E Wilson <wilson@specifixinc.com>
1786 * config/ia64/ia64.c (ia64_function_ok_for_sibcall): Return false
1787 if current_function_decl is a sibcall.
1789 2004-09-15 Alan Modra <amodra@bigpond.net.au>
1791 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Save
1793 * config/rs6000/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Ditto.
1795 2004-09-15 Eric Botcazou <ebotcazou@libertysurf.fr>
1797 * doc/install.texi (sparc-sun-solaris2*): Properly format warning.
1799 2004-09-14 Richard Henderson <rth@redhat.com>
1802 * function.c (expand_function_end): Revert last change.
1804 * sibcall.c (call_ends_block_p): Fix thinko finding the
1805 last real insn in a block.
1807 2004-09-14 Joseph S. Myers <jsm@polyomino.org.uk>
1810 * doc/invoke.texi (Environment Variables): Correct example locale.
1812 2004-09-14 Daniel Jacobowitz <dan@debian.org>
1814 * reload.c (find_reloads): Swap operand_loc pointers for
1815 find_dummy_reload if we have swapped two operands.
1817 2004-09-13 Richard Henderson <rth@redhat.com>
1820 * cselib.c (cselib_invalidate_rtx): Export. Remove unused args.
1821 (cselib_invalidate_rtx_note_stores): New.
1822 (cselib_record_sets, cselib_process_insn): Update to match.
1823 * cselib.h (cselib_invalidate_rtx): Declare.
1824 * postreload.c (reload_cse_simplify): Invalidate asm clobbers.
1826 2004-09-11 Ramana Radhakrishnan <ramana.radhakrishnan@codito.com>
1829 * gcc/config/arc/arc.c (arc_va_args): Call build1 instead
1830 of build for unary tree operators.
1832 2004-09-11 Andrew Pinski <apinski@apple.com>
1835 backport from the mainline:
1836 2004-02-28 Andrew Pinski <pinskia@physics.uc.edu>
1837 * config/darwin.h (machopic_finish): Output stub even if
1838 the symbol is already defined.
1839 2004-02-27 Dale Johannesen <dalej@apple.com>
1840 * config/darwin.c (machopic_output_possible_stub_label):
1842 config/darwin-protos.h: Ditto.
1843 config/darwin.h: Remove call to it.
1845 2004-09-11 David Edelsohn <edelsohn@gnu.org>
1848 * config/rs6000/aix.h (MD_FROB_UPDATE_CONTEXT): Use __64BIT__ to
1849 choose 64-bit version.
1851 2004-09-09 Kaz Kojima <kkojima@gcc.gnu.org>
1854 Backport from mainline:
1855 2004-06-11 J"orn Rennecke <joern.rennecke@superh.com>
1857 * sh.h (ALLOCATE_INITIAL_VALUE): Use return_address_pointer_rtx.
1859 2004-09-09 Alan Modra <amodra@bigpond.net.au>
1861 * config/rs6000/rs6000.c (rs6000_stack_info): Correct alignment of
1864 2004-09-08 H.J. Lu <hongjiu.lu@intel.com>
1866 * configure: Regenerated.
1868 2004-09-08 Richard Henderson <rth@redhat.com>
1871 * function.c (expand_function_end): Have fall-off-the-end
1872 return path jump around return register setup.
1874 2004-09-08 H.J. Lu <hongjiu.lu@intel.com>
1877 Makefile.in (LIB2ADDEHSTATIC): New.
1878 (LIB2ADDEHSHARED): New.
1880 (LIBUNWINDDEP): New.
1881 (SHLIBUNWIND_LINK): New.
1882 (SHLIBUNWIND_INSTALL): New.
1883 (libgcc.mk): Pass LIB2ADDEHSTATIC, LIB2ADDEHSHARED, LIBUNWIND,
1884 LIBUNWINDDEP, SHLIBUNWIND_LINK and SHLIBUNWIND_INSTALL.
1885 (clean): Remove libunwind*
1886 (stage1-start): Remove and copy stage1/libunwind*.
1887 (stage2-start): Remove and copy stage2/libunwind*.
1888 (stage3-start): Remove and copy stage3/libunwind*.
1889 (stage4-start): Remove and copy stage4/libunwind*.
1890 (stageprofile-start): Remove and copy stageprofile/libunwind*.
1891 (stagefeedback-start): Remove and copy stagefeedback/libunwind*.
1893 * config.gcc (ia64*-*-linux*): Always add t-libunwind to
1894 tmake_file. Add t-libunwind-elf and ia64/t-glibc-libunwind to
1895 tmake_file if --with-system-libunwind isn't used.
1897 * config/ia64/t-glibc-libunwind: New file.
1898 * config/t-libunwind-elf: Likewise.
1899 * unwind-compat.c: Likewise.
1900 * unwind-compat.h: Likewise.
1901 * unwind-dw2-fde-compat.c: Likewise.
1903 * config/ia64/t-glibc (LIB2ADDEH): Updated.
1904 * config/ia64/t-hpux (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
1906 * config/ia64/unwind-ia64.c: Include "unwind-compat.h". Define
1908 * unwind-dw2-fde-glibc.c: Likewise.
1909 * unwind-dw2.c: Likewise.
1911 * config/t-libunwind (LIB2ADDEH): Updated.
1912 (LIB2ADDEHSTATIC): New.
1913 (T_CFLAGS): Add -DUSE_LIBUNWIND_EXCEPTIONS.
1914 (TARGET_LIBGCC2_CFLAGS): Set to -DUSE_GAS_SYMVER.
1916 * configure.ac: Change --enable-libunwind-exceptions to
1917 --with-system-libunwind. Don't define USE_LIBUNWIND_EXCEPTIONS.
1918 * configure: Regenerated.
1919 * config.in: Updated.
1921 * doc/install.texi (ia64-*-linux): Require libunwind 0.98 or
1922 above and mention --with-system-libunwind.
1923 (ia64-*-hpux*): Mention --enable-libunwind-exceptions is
1924 removed in gcc 3.4.3 and later.
1926 * gcc.c (init_spec): Add -lunwind to -lgcc_s if
1927 USE_LIBUNWIND_EXCEPTIONS is defined.
1929 * mklibgcc.in: Support libunwind.
1931 2004-09-07 Mark Mitchell <mark@codesourcery.com>
1933 * version.c (version_string): Restore pre-release marker.
1934 * doc/include/gcc-common.texi: Set version to 3.4.3.
1936 2004-09-06 Release Manager
1938 * GCC 3.4.2 released.
1940 2004-09-05 Mark Mitchell <mark@codesourcery.com>
1943 Backport from mainline
1944 2004-06-23 Wu Yongwei <adah@sh163.net>
1945 * gthr-win32.h (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
1946 (__gthr_i486_lock_cmp_xchg): New inline assembly function.
1947 (__GTHR_W32_InterlockedCompareExchange): New macro to choose a
1948 suitable function for interlocked compare-and-exchange.
1949 (__gthread_mutex_trylock): Use
1950 __GTHR_W32_InterlockedCompareExchange.
1951 (__gthread_mutex_init_function, __gthread_mutex_lock,
1952 __gthread_mutex_trylock, __gthread_mutex_unlock): Adjust the
1953 initial counter value to work correctly under Windows 95.
1954 * config/i386/gthr-win32.c: Adjust include order.
1955 Define __GTHREAD_I486_INLINE_LOCK_PRIMITIVES before including
1957 (__gthr_win32_mutex_init_function, __gthr_win32_mutex_lock,
1958 __gthr_win32_mutex_trylock, __gthr_win32_mutex_unlock): Adjust
1959 to match inline versions in gthr-win32.h.
1961 2004-04-27 Wu Yongwei <adah@sh163.net>
1962 * gthr-win32.h (__gthread_mutex_t): Change typedef to new structure.
1963 (__GTHREAD_MUTEX_INIT_DEFAULT): Adjust.
1964 (__gthread_mutex_init_function): Replace CreateMutex with
1965 initialization of custom mutex using CreateSemaphore.
1966 (__gthread_mutex_lock): Use InterlockedIncrement.
1967 (__gthread_mutex_trylock): Use InterlockedCompareExchange.
1968 (__gthread_mutex_unlock): Use InterlockedDecrement and
1969 ReleaseSemaphore to unlock
1970 * config/i386/gthr-win32.c (__gthread_mutex_init_function,
1971 __gthread_mutex_lock, __gthread_mutex_trylock,
1972 __gthread_mutex_unlock): Adjust to match inline versions in
1975 2004-09-03 Kaz Kojima <kkojima@gcc.gnu.org>
1978 Backport from mainline:
1979 2004-08-31 Kaz Kojima <kkojima@gcc.gnu.org>
1981 * config/sh/sh.c (output_branch): Check the insn length possibly
1982 in the delayed slot.
1984 2004-09-01 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
1986 PR rtl-optimization/16408
1987 * gcse.c (replace_store_insn): Fix LIBCALL/RETVAL notes.
1989 2004-09-01 Richard Henderson <rth@redhat.com>
1991 * config/ns32k/ns32k.h (TRANSFER_FROM_TRAMPOLINE): Remove.
1992 (TRAMPOLINE_TEMPLATE): Merge code from __trampoline inline.
1994 2004-09-01 Jakub Jelinek <jakub@redhat.com>
1996 * libgcc-std.ver (GCC_3.4.2): Export also __trampoline_setup.
1998 2004-09-01 Jakub Jelinek <jakub@redhat.com>
2000 * fold-const.c (operand_equal_p): Require equal sign also for
2001 FIX_{CEIL,TRUNC,FLOOR,ROUND}_EXPR.
2003 2004-08-31 Jeff Law <law@redhat.com>
2005 * gcse.c (remove_reachable_equiv_notes): Scan loops where
2006 the store expression is killed for REG_EQUAL/REG_EQUIV notes
2007 that need to be removed.
2009 2004-08-30 Mark Mitchell <mark@codesourcery.com>
2012 2004-08-29 Mark Mitchell <mark@codesourcery.com>
2013 PR rtl-optimization/16590
2014 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2016 2004-08-29 Mark Mitchell <mark@codesourcery.com>
2018 PR rtl-optimization/16590
2019 * gcse.c (pre_delete): Do not create invalid REG_EQUAL notes.
2021 2004-08-26 Richard Henderson <rth@redhat.com>
2023 * config/alpha/alpha.h (HARD_REGNO_MODE_OK): Allow complex float
2026 2004-08-26 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2029 * config/m32r.c (gen_compare): Use reg_or_int16_operand when
2030 checking for a valid constant, regardless of sign.
2032 2004-08-25 Richard Henderson <rth@redhat.com>
2035 * config/alpha/alpha.md (adddi_fp_hack): Don't rely on splitting
2036 if the constant satisfies add_operand.
2038 2004-08-25 Richard Henderson <rth@redhat.com>
2041 * config/alpha/alpha.c (emit_frame_store_1, emit_frame_store): New.
2042 (alpha_expand_prologue): Handle >32-bit frames. Generate proper
2043 unwind info for >16-bit frames.
2045 2004-08-25 Richard Henderson <rth@redhat.com>
2047 * config/alpha/alpha.c (alpha_cannot_force_const_mem): New.
2048 (TARGET_CANNOT_FORCE_CONST_MEM): New.
2050 2004-08-25 Richard Earnshaw <rearnsha@arm.com>
2053 * arm.h (THUMB_SECONDARY_OUTPUT_RELOAD_CLASS): Don't need a secondary
2054 reload if CLASS is BASE_REGS.
2056 2004-08-25 Richard Earnshaw <rearnsha@arm.com>
2059 * arm.md (bicsi3_cbranch): Add alternative to handle tying operands
2062 2004-08-24 Richard Henderson <rth@redhat.com>
2065 * config/i386/i386.c (legitimate_constant_p): Rework to not accept
2066 random codes within CONST.
2068 2004-08-24 Paolo Bonzini <bonzini@gnu.org>
2071 * config/i386/i386.md (movv16qi_internal): Fix typo.
2073 2004-08-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2076 * config/m32r/m32r.md (movsi_sda): Add SI mode specification to
2079 2004-08-24 Jonathan Wakely <redi@gcc.gnu.org>
2081 * doc/trouble.texi (C++ misunderstandings): Fix example code.
2083 2004-08-23 Roger Sayle <roger@eyesopen.com>
2085 PR rtl-optimization/17078
2086 * c-semantics.c (expand_unreachable_if_stmt): If the end of the
2087 specified statement list is reachable, always return a non-NULL
2088 pointer. If necessary, return error_mark_node.
2090 2004-08-23 Mark Mitchell <mark@codesourcery.com>
2093 * dwarf2out.c (loc_descriptor_from_tree): Robustify.
2096 * jump.c (duplicate_loop_exit_test): If the location reached by
2097 the unconditional jump at the top of the loop is outside the loop,
2098 then do not treat it as the exit test.
2100 2004-08-23 Janis Johnson <janis187@us.ibm.com>
2102 Backports from mainline:
2104 2004-02-11 Ziemowit Laski <zlaski@apple.com>
2105 2004-02-21 Ziemowit Laski <zlaski@apple.com>
2106 2004-02-27 Ziemowit Laski <zlaski@apple.com>
2107 2004-03-04 Ziemowit Laski <zlaski@apple.com>
2108 2004-03-20 Ziemowit Laski <zlaski@apple.com>
2109 2004-03-24 Ziemowit Laski <zlaski@apple.com>
2110 2004-05-11 Fariborz Jahanian <fjahanian@apple.com>
2111 2004-07-23 Janis Johnson <janis187@us.ibm.com>
2112 2004-08-12 Janis Johnson <janis187@us.ibm.com>
2113 2004-08-12 Ben Elliston <bje@au.ibm.com>
2114 2004-08-16 Janis Johnson <janis187@us.ibm.com>
2116 * c-common.c (vector_size_helper): Remove; call
2117 reconstruct_complex_type() instead.
2118 * hooks.c (hook_constcharptr_tree_null): New hook.
2119 * hooks.h (hook_constcharptr_tree_null): New prototype.
2120 * target-def.h (TARGET_MANGLE_FUNDAMENTAL_TYPE): New target hook.
2121 * target.h (mangle_fundamental_type): New target hook.
2122 * tree.c (reconstruct_complex_type): New function
2123 (formerly vector_size_helper() in c-common.c).
2124 (make_vector): Make externally visible.
2125 * tree.h (reconstruct_complex_type, make_vector): Add prototypes.
2126 * doc/extend.texi (AltiVec builtins): Document additional differences
2127 from the Motorola AltiVec PIM.
2128 * doc/tm.texi (TARGET_MANGLE_FUNDAMENTAL_TYPE): Document.
2129 * config/darwin.h (TARGET_OPTION_TRANSLATE_TABLE): Refer to
2130 SUBTARGET_OPTION_TRANSLATE_TABLE for architecture-specific options.
2131 * config/i386/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): Define it.
2132 * config/rs6000/altivec.h: #error out if '-maltivec' not specified.
2133 (vector, pixel, bool): #define to __vector, __pixel and __bool.
2134 Change vector to __vector (except for the `vector' macro itself).
2135 (__un_args_eq, __bin_args_eq, __tern_args_eq): Move to C-specific
2137 (__altivec_link_error_invalid_argument): Remove prototype; will use
2138 __builtin_altivec_compiletime_error("vec_*") instead.
2139 (vec_*): Fix/complete set of available operation overloads given the
2140 existence of distinct 'vector bool ...' and 'vector pixel' types;
2141 tighten cv-correctness of pointer arguments; in C, always check for
2142 correct argument types before macro expansion.
2143 (vec_splat_s8, vec_splat_s16, vec_splat_s32, vec_splat_u8,
2144 vec_splat_u16, vec_splat_u32): Change C++ definitions to accept a
2145 'const int' argument; the prototypes already do.
2146 (vec_dst, vec_dstst, vec_dststt, vec_dstt, vec_sld, vec_splat): Add
2147 prototypes, marked with always_inline attribute.
2148 * config/rs6000/darwin.h (SUBTARGET_OPTION_TRANSLATE_TABLE): New macro
2149 defining Darwin/PowerPC-specific '-f[no-]altivec' and
2150 '-W[no-]altivec-long-deprecated' switches.
2151 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Pre-define
2152 '__vector', '__pixel' and '__bool' macros using
2153 '__attribute__((altivec(...)))' types.
2154 * config/rs6000/rs6000.c (bool_char_type_node, bool_short_type_node,
2155 bool_int_type_node, pixel_type_node, bool_V16QI_type_node,
2156 bool_V8HI_type_node, bool_V4SI_type_node, pixel_V8HI_type_node):
2158 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): New, for
2159 handling '-W[no-]altivec-long-deprecated'.
2160 (rs6000_override_options): Handle '-W[no-]altivec-long-deprecated'.
2161 (rs6000_expand_binop_builtin, rs6000_expand_ternop_builtin,
2162 altivec_expand_dst_builtin): Remove casts from integer literals.
2163 (altivec_expand_builtin): Likewise; handle expansion of new
2164 '__builtin_altivec_compiletime_error' function.
2165 (rs6000_init_builtins): Initialize 'vector bool ...' and 'vector pixel'
2166 types, and make them distinct from other vector types; register
2167 '__builtin_altivec_compiletime_error' function.
2168 (print_operand): For 'P', print a full target register name instead of
2170 (rs6000_attribute_table): Add "altivec" attribute.
2171 (rs6000_handle_altivec_attribute): New function.
2172 (rs6000_common_init_builtins): Rename v4si_ftype_char, v8hi_ftype_char,
2173 v16qi_ftype_char, v4sf_ftype_v4si_char, v4si_ftype_v4sf_char,
2174 v4si_ftype_v4si_char, v8hi_ftype_v8hi_char, v16qi_ftype_v16qi_char,
2175 v16qi_ftype_v16qi_v16qi_char, v8hi_ftype_v8hi_v8hi_char,
2176 v4si_ftype_v4si_v4si_char and v4sf_ftype_v4sf_v4sf_char to
2177 end in ..._int; change them to accept an int instead of a char
2178 as the last parameter.
2179 (altivec_expand_dst_builtin): Treat expansion as completed even if
2180 literal argument is invalid (so that other expansions are not tried
2182 (TARGET_MANGLE_FUNDAMENTAL_TYPE): Point target hook at
2183 rs6000_mangle_fundamental_type.
2184 (rs6000_mangle_fundamental_type): New function.
2185 * config/rs6000/rs6000.h (TARGET_OPTIONS): Describe
2186 '-m[no-]-warn-altivec-long' (which '-W[no-]altivec-long-deprecated'
2188 (rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch): Forward
2190 (ALTIVEC_BUILTIN_COMPILETIME_ERROR): New built-in enumeration.
2192 2004-08-20 Jakub Jelinek <jakub@redhat.com>
2195 * config/rs6000/rs6000.h (CONDITIONAL_REGISTER_USAGE): Make r30
2196 fixed if TARGET_TOC && TARGET_MINIMAL_TOC.
2197 * config/rs6000/rs6000.c (first_reg_to_save): Pretend
2198 call_used_regs[30] is 0 if TARGET_TOC && TARGET_MINIMAL_TOC.
2199 (rs6000_emit_prologue, rs6000_emit_epilogue): Likewise.
2201 2004-08-17 Joseph S. Myers <jsm@polyomino.org.uk>
2203 * c-decl.c (grokdeclarator): Allow for function definition where
2204 innermost declarator has attributes.
2206 2004-08-17 Daniel Bornstein <danfuzz@milk.com>
2209 * arm.md (addsi3_cbranch_scratch): Correct case labels.
2211 2004-08-14 Roger Sayle <roger@eyesopen.com>
2212 David Billinghurst <David.Billinghurst@riotinto.com>
2214 PR libgfortran/15930
2215 * fixinc/inclhack.def (irix___generic1, irix___generic2): New.
2216 * fixinc/fixincl.x: Regenerate.
2217 * fixinc/tests/base/internal/math_core.h: New file
2219 2004-08-14 Roger Sayle <roger@eyesopen.com>
2220 Bruce Korb <bkorb@gnu.org>
2222 * fixinc/inclhack.def (aix_syswait_2): New fix.
2223 * fixinc/fixincl.x: Regenerate.
2224 * fixinc/tests/base/sys/wait.h: Update for new test.
2226 2004-08-14 Gerald Pfeifer <gerald@pfeifer.com>
2227 Dimitri Papadopoulos-Orfanos <papadopo@shfj.cea.fr>
2228 Dave Korn <dk@artimi.com>
2230 * doc/install.texi (Building): Avoid duplicate reference to GNU
2232 (*-*-solaris2*): Do not recommend GNU make any longer. Simplify.
2234 2004-08-13 J"orn Rennecke <joern.rennecke@superh.com>
2236 * sh.md (cbranch define_delay) Use cond_delay_slot for
2237 non-anulled condition too.
2239 2004-08-11 Mark Mitchell <mark@codesourcery.com>
2242 * ginclude/stddef.h (offsetof): Refine C++ definition.
2244 2004-08-12 Alan Modra <amodra@bigpond.net.au>
2246 Merge from mainline.
2247 2004-07-01 Alan Modra <amodra@bigpond.net.au>
2248 * config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite.
2249 (function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in
2250 calculating gpr size for altivec. Simplify and correct
2251 rs6000_mixed_function_arg calls. Call rs6000_mixed_function_arg
2252 for ABI_V4 gpr case too. Fix off-by-one error in long double
2253 reg test. Generate the correct PARALLEL to handle long double
2254 for ABI_AIX 32-bit. Use this for -m32 -mpowerpc64 fpr case too.
2255 (function_arg_partial_nregs): Align before calculating regs left.
2256 Don't return info on partial fprs when we need info on gprs.
2257 Correct long double fpr off-by-one error.
2259 2004-08-11 James E Wilson <wilson@specifixinc.com>
2261 PR rtl-optimization/16490
2262 * cfgrtl.c (cfg_layout_split_edge): Set global_live_at_start and
2263 global_live_at_end for new basic block if already set for other blocks.
2265 2004-08-07 Roger Sayle <roger@eyesopen.com>
2268 * fold-const.c (expand_muldiv_1) <NOP_EXPR>: Disallow local
2269 truncations, not just global truncations.
2271 2004-08-07 Alan Modra <amodra@bigpond.net.au>
2273 * config/rs6000/rs6000.c (function_arg_padding): Revert 2004-07-28.
2275 2004-08-04 Zack Weinberg <zack@codesourcery.com>
2278 * dbxout.c (dbx_output_lbrac, dbx_output_rbrac): New
2279 functions, broken out of dbxout_block.
2280 (dbxout_block): The block at depth 0 should get LBRAC/RBRAC
2281 stabs too, if it contains symbols. Use the begin_label and
2282 the Lscope label (emitted by dbxout_function_end) for the
2283 range of this block.
2284 (dbxout_function_decl): Always call dbxout_function_end.
2285 (dbxout_function_end): Return after emitting the "Lscope" symbol
2286 under the same conditions that this function formerly wasn't called.
2287 Add explanatory comments.
2289 2004-08-03 Yossi Markovich <yossim@il.ibm.com>
2290 Mostafa Hagog <mustafa@il.ibm.com>
2292 * config/rs6000/altivec.md (altivec_vnmsubfp): Fix wrong pattern.
2294 2004-07-31 Andrew Pinski <apinski@apple.com>
2297 * mkheaders.in (libsubdir): s/gcc-lib/gcc/.
2299 2004-07-28 Aldy Hernandez <aldyh@redhat.com>
2301 * config/rs6000/rs6000.md ("move_from_CR_gt_bit"): Rename to
2302 move_from_CR_eq_bit.
2303 Rename UNSPEC_MV_CR_GT to UNSPEC_MV_CR_EQ.
2306 * config/rs6000/spe.md ("e500_flip_gt_bit"): Rename to
2309 * config/rs6000/rs6000-protos.h: Rename output_e500_flip_gt_bit to
2310 output_e500_flip_eq_bit.
2312 * config/rs6000/rs6000.c (output_e500_flip_gt_bit): Rename to
2313 output_e500_flip_eq_bit.
2314 (rs6000_emit_sCOND): Rename call to output_e500_flip_gt_bit to
2315 output_e500_flip_eq_bit.
2316 Rename gen_move_from_CR_gt_bit to gen_move_from_CR_eq_bit.
2317 (print_operand): case D. Get to EQ bit.
2319 2004-07-28 Alan Modra <amodra@bigpond.net.au>
2321 * config/rs6000/rs6000.c (function_arg_padding): Pad SFmode upwards.
2323 2004-07-24 Alexander Kabaev <kan@freebsd.org>
2325 * config/ia64/ia64.h (SUBTARGET_EXTRA_SPECS): Default to nothing.
2326 (EXTRA_SPECS): Use SUBTARGET_EXTRA_SPECS.
2328 2004-07-26 David Edelsohn <edelsohn@gnu.org>
2331 * config/rs6000/rs6000.md (movdi_internal64): Further disparage
2334 2004-07-26 Richard Sandiford <rsandifo@redhat.com>
2336 PR rtl-optimization/16643
2337 * cfglayout.h (cfg_layout_initialize): Add a flags parameter.
2338 * cfglayout.c (cfg_layout_initialize): Pass it to cleanup_cfg.
2339 * basic-block.h (reorder_basic_blocks): Add a flags parameter.
2340 * cfglayout.c (reorder_basic_blocks): Pass it to cfg_layout_initialize.
2341 * loop-init.c (loop_optimizer_init): Pass 0 to cfg_layout_initialize.
2342 * rtl.h (tracer): Add a flags parameter.
2343 * tracer.c (tracer): Pass it to cfg_layout_initialise.
2344 * toplev.c (rest_of_handle_stack_regs): Pass 0 to reorder_basic_blocks.
2345 (rest_of_handle_reorder_blocks): Update calls to tracer and
2346 reorder_basic_blocks, passing CLEANUP_UPDATE_LIFE if appropriate.
2347 (rest_of_handle_tracer): Pass 0 to tracer.
2349 2004-07-24 Zack Weinberg <zack@codesourcery.com>
2351 * config/ia64/hpux.h: Do not disable TLS.
2353 2004-07-24 Alexander Kabaev <kan@freebsd.org>
2354 Zack Weinberg <zack@codesourcery.com
2357 * c-decl.c (diagnose_mismatched_decls): Don't issue a
2358 redundant-declaration warning the first time a builtin is
2359 declared explicitly.
2361 2004-07-21 Jakub Jelinek <jakub@redhat.com>
2362 Jan Hubicka <jh@suse.cz>
2366 * toplev.c (rest_of_handle_inlining): Set DECL_DEFER_OUTPUT on C
2367 nested functions as well.
2368 * tree-optimize.c (tree_rest_of_compilation): Don't clear decl rtls
2369 for deferred nested inlines.
2371 2004-07-17 Eric Botcazou <ebotcazou@act-europe.fr>
2373 * libgcc2.c (__enable_execute_stack): New symbol.
2374 * libgcc-std.ver (GCC_3.4.2): New version. Inherit from GCC_3.4
2375 and declare __enable_execute_stack.
2376 * mklibgcc.in (lib2funcs): Add _enable_execute_stack.
2377 * config/netbsd.h (NETBSD_ENABLE_EXECUTE_STACK): ANSIfy.
2378 * config/sol2.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2379 ENABLE_EXECUTE_STACK and ANSIfy.
2380 * config/alpha/alpha.c (alpha_initialize_trampoline): Conditionalize
2381 on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2382 * config/alpha/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2383 ENABLE_EXECUTE_STACK.
2384 * config/alpha/osf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2385 * config/i386/i386.c (x86_initialize_trampoline): Conditionalize
2386 on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2387 * config/i386/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Rename into
2388 ENABLE_EXECUTE_STACK.
2389 * config/i386/netbsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2390 * config/i386/netbsd64.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2391 * config/sparc/freebsd.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2392 * config/sparc/netbsd-elf.h (TRANSFER_FROM_TRAMPOLINE): Likewise.
2393 * config/sparc/sparc.c (sparc_initialize_trampoline): Conditionalize
2394 on ENABLE_EXECUTE_STACK instead of TRANSFER_FROM_TRAMPOLINE.
2395 (sparc64_initialize_trampoline): Likewise.
2396 * doc/tm.texi (trampolines): Add ENABLE_EXECUTE_STACK macro.
2398 2004-07-16 Andris Pavenis <pavenis@latnet.lv>
2400 PR preprocessor/16366
2401 * internal.h (struct cpp_reader): New field dir_hash.
2402 * files.c (make_cpp_dir): Use dir_hash, not file_hash.
2403 (_cpp_init_files, _cpp_cleanup_files): Update for new field.
2405 2004-07-15 James E Wilson <wilson@specifixinc.com>
2407 Backport from mainline:
2408 2004-02-19 Steve Ellcey <sje@cup.hp.com>
2409 * config/ia64/ia64.h (HARD_REGNO_CALLER_SAVE_MODE): New macro.
2410 * testsuite/gcc.dg/20040219-1.c: New test.
2412 2004-07-15 Aldy Hernandez <aldyh@redhat.com>
2414 * config/rs6000/rs6000.md ("*cceq_ior_compare"): Allow
2416 * config/rs6000/spe.md ("e500_cceq_ior_compare"): Remove.
2418 2004-07-14 James E Wilson <wilson@specifixinc.com>
2421 * config/mips/mips.h (STARTING_FRAME_OFFSET): When flag_profile_value
2422 and ! TARGET_64BIT, include REG_PARM_STACK_SPACE.
2424 2004-07-14 Eric Botcazou <ebotcazou@libertysurf.fr>
2426 Backport from mainline:
2427 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2430 * config/sparc/sparc-protos.h (output_ubranch): New prototype.
2431 * config/sparc/sparc.c (output_ubranch): New function.
2432 * config/sparc/sparc.md (jump pattern): Use it.
2434 2004-07-13 Richard Sandiford <rsandifo@redhat.com>
2436 PR rtl-optimization/16380
2437 * loop.c (check_dbra_loop): Sink comparison instructions if they
2438 do something other than set cc0.
2440 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2443 * config/sparc/sparc.c (output_cbranch): Properly guard
2444 the code handling far branches with TARGET_V9.
2445 * config/sparc/sparc.md (length attribute): Document the
2446 side-effect of having a length greater or equal to 3.
2448 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2449 Lloyd Parkes <lloyd@must-have-coffee.gen.nz>
2452 * config/sparc/sol2-bi.h (LINK_ARCH64_SPEC_BASE): Pass
2453 /usr/ucblib/sparcv9 as -R path when -compat-bsd is specified.
2455 2004-07-13 Eric Botcazou <ebotcazou@libertysurf.fr>
2456 Martin Sebor <sebor@roguewave.com>
2459 * doc/invoke.texi (SPARC options): Document -threads
2460 and -pthreads on Solaris.
2462 2004-07-13 Anthony Heading <aheading@jpmorgan.com>
2464 * configure.ac (gcc_cv_as_offsetable_lo10): Fix a typo.
2465 * configure: Rebuilt.
2467 2004-07-12 Vladimir Makarov <vmakarov@redhat.com>
2470 * config/ia64/ia64.c (bundling): Don't count ignored insns.
2472 2004-07-10 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2474 * pa.c (output_indirect_call): Only use %r2 as the link register in
2475 indirect calls with the long PA 2.0 pc-relative branch.
2477 2004-07-10 James E Wilson <wilson@specifixinc.com>
2479 * config/gofast.h (gofast_maybe_init_libfuncs): Use SImode for litodp.
2481 2004-07-10 Jakub Jelinek <jakub@redhat.com>
2483 * Backport from mainline:
2484 2004-07-08 Paolo Bonzini <bonzini@gnu.org>
2485 Jakub Jelinek <jakub@redhat.com>
2487 * config/i386/i386.c (override_options): Enable
2488 SSE prefetches with -mtune, as long as we are
2489 compiling for i686 or higher. All i686 processors
2490 accept SSE prefetches as NOPS, some i586's don't.
2492 2004-07-07 Jakub Jelinek <jakub@redhat.com>
2494 * config/i386/i386.c (override_options): Don't set x86_prefetch_sse
2495 from -mtune= option.
2497 2004-07-10 Jakub Jelinek <jakub@redhat.com>
2499 PR tree-optimization/16372
2500 * fold-const.c (build_range_check): Use TYPE_MODE's precision for
2503 2004-07-09 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2506 * pa.c (output_indirect_call): Use %r2 as the link register when
2507 calling $$dyncall with a pc-relative branch.
2509 2004-07-08 Gerald Pfeifer <gerald@pfeifer.com>
2511 * doc/install.texi (Binaries): Mention OpenPKG.
2513 2004-07-09 Eric Botcazou <ebotcazou@libertysurf.fr>
2516 * config/sparc/sol2-bi.h (OPTION_DEFAULT_SPECS): New macro.
2517 Override default settings to account for -m32 and -m64.
2519 2004-07-08 Vladimir Makarov <vmakarov@redhat.com>
2522 * config/ia64/ia64.c (ia64_dfa_new_cycle): Fix typo in comparison
2523 of asm_noperands result.
2525 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2528 * config/sparc/sparc.c (function_value): In 64-bit mode,
2529 return the aggregates larger than 16 bytes like unions.
2531 2004-07-08 Eric Botcazou <ebotcazou@libertysurf.fr>
2534 * config/sparc/sparc.c (sparc_emit_set_symbolic_const64): When
2535 'temp' is zero, generate new pseudos as needed and emit the
2536 sequence of insns in single-assignment form. Resync comments
2538 (sparc_emit_set_const64): Pass zero as 'temp' argument to above
2539 function before reload.
2541 2004-07-07 Richard Sandiford <rsandifo@redhat.com>
2544 * config/mips/mips-protos.h (mips_declare_common_object): Declare.
2545 * config/mips/mips.c (mips_declare_common_object): New function,
2546 mostly split out from...
2547 (mips_output_aligned_decl_common): ...here.
2548 * config/mips/mips.h (ASM_OUTPUT_LOCAL): Remove in favor of...
2549 (ASM_OUTPUT_ALIGNED_LOCAL): ...this new definition.
2550 * config/mips/iris6.h (ASM_OUTPUT_ALIGNED_LOCAL): Undefine this
2551 rather than ASM_OUTPUT_LOCAL. Call mips_declare_common_object.
2553 2004-07-07 Jason Merrill <jason@redhat.com>
2556 * doc/extend.texi (C++ Interface): Correct information and
2559 2004-07-07 Andreas Schwab <schwab@suse.de>
2561 * config/ia64/ia64.md: Define new attribute "empty".
2562 (prologue_use, nop_x, insn_group_barrier): Set it.
2564 * config/ia64/ia64.c (ia64_reorg): When looking for trailing call
2565 skip over "empty" insns.
2567 2004-07-07 Vladimir Makarov <vmakarov@redhat.com>
2572 * config/ia64/ia64.c (ia64_dfa_new_cycle): Reset DFA state for asm
2575 2004-07-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2578 * config/m32r/m32r.c (m32r_function_symbol): New function:
2579 Generate a symbol name RTX with the correct m32r specific flags
2581 (block_move_call): Use new function to generate correct symbol.
2582 * config/m32r/m32r-protos.h: Add prototype for new funcion.
2583 * config/m32r/m32r.h (INITIALIZE_TRAMPOLINE): Use the new
2586 2004-07-07 Richard Sandiford <rsandifo@redhat.com>
2589 * config/mips/mips.c (mips_block_move_straight): Pass BLKmode memrefs
2590 to mips_expand_unaligned_load, mips_expand_unaligned_store, and
2593 2004-07-07 Richard Sandiford <rsandifo@redhat.com>
2596 * config/mips/mips.c (mips_avoid_hazards): Call split_all_insns_noflow.
2598 2004-07-06 Mark Mitchell <mark@codesourcery.com>
2600 * doc/include/gcc-common.texi: Increment version number.
2601 * version.c (version_string): Likewise.
2603 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk>
2605 * doc/sourcebuild.texi: Use semicolons instead of commas in
2608 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk>
2610 * doc/bugreport.texi, doc/configterms.texi, doc/contrib.texi,
2611 doc/contribute.texi, doc/cpp.texi, doc/cppinternals.texi,
2612 doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/md.texi,
2613 doc/portability.texi, doc/trouble.texi: Avoid some first-person
2614 references and patronizing comments. Based on printed manual.
2615 * doc/invoke.texi: Don't reference fortran@gnu.org.
2616 * doc/trouble.texi (Warning when a non-void function value is
2617 ignored): Rewrite. From Russ Allbery and Chris Devers.
2619 2004-07-06 Joseph S. Myers <jsm@polyomino.org.uk>
2621 * doc/cppinternals.texi, doc/install.texi, doc/invoke.texi,
2622 doc/md.texi, doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi:
2623 Use terminology "testsuite" and "enumerated".
2625 2004-07-06 Eric Christopher <echristo@redhat.com>
2627 PR rtl-optimization/14700
2628 Backport from mainline:
2629 2004-06-30 Zack Weinberg <zack@codesourcery.com>
2630 * combine.c (distribute_notes): Don't look at global_regs for
2633 2004-06-24 Eric Christopher <echristo@redhat.com>
2634 * combine.c (distribute_notes): Don't delete sets to
2635 global register variables.
2637 2004-07-04 Gerald Pfeifer <gerald@pfeifer.com>
2639 * doc/contrib.texi (Contributors): Adjust link for GNU Classpath.
2641 2004-07-01 Release Manager
2643 * GCC 3.4.1 released.
2645 2004-06-28 Neil Booth <neil@duron.akihabara.co.uk>
2647 PR preprocessor/16192
2648 PR preprocessor/15913
2649 PR preprocessor/15572
2650 * cppexp.c (_cpp_parse_expr): Handle remaining cases where an
2651 expression is missing.
2652 * cppinit.c (post_options): Traditional cpp doesn't do // comments.
2653 * doc/cpp.texi: Don't document what we do for ill-formed expressions.
2654 * doc/cppopts.texi: Clarify processing of command-line defines.
2656 2004-06-28 Richard Sandiford <rsandifo@redhat.com>
2659 * config/mips/mips.c (mips_expand_unaligned_load): Use a temporary
2660 register for the destination of the lwl or ldl.
2662 2004-06-25 Philip Blundell <philb@gnu.org>
2665 * loop.c (scan_loop): Do not move user-specified register
2668 2004-06-25 Mark Mitchell <mark@codesourcery.com>
2671 * alias.c (get_alias_set): Adjust setting of
2672 DECL_POINTER_ALIAS_SET for pointers to aggregates.
2674 2004-06-25 Richard Sandiford <rsandifo@redhat.com>
2677 * config/mips/mips.md (divsf, divdf): Don't FAIL if the first operand
2678 is 1.0; force it into a register instead.
2680 2004-06-24 Alan Modra <amodra@bigpond.net.au>
2682 * calls.c (expand_call): Call INIT_CUMULATIVE_ARGS earlier, and
2683 pass raw n_named_args to it.
2685 2004-06-22 Richard Henderson <rth@redhat.com>
2688 * function.c (assign_parms): Don't abort for overaligned PARALLEL.
2690 2004-06-21 Kelley Cook <kcook@gcc.gnu.org>
2693 * config/i386/i386.md: Change UNSPEC_STACK_PROBE to UNSPECV_STACK_PROBE.
2694 (allocate_stack_worker): Make unspec_volatile.
2695 (allocate_stack_worker_rex64): Likewise.
2696 (allocate_stack_worker_postreload): Likewise.
2697 (allocate_stack_worker_rex64_postreload): Likewise.
2699 2004-06-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
2701 PR rtl-optimization/14782
2702 * pa.c (emit_move_sequence): Use SFmode for 4-byte modes when doing
2703 the address checks for secondary reloads for loads from and stores
2704 to floating-point registers.
2705 * pa.h (EXTRA_CONSTRAINT, case T): Use SFmode for 4-byte modes
2706 in the address check. Move work around for ELF32 targets to
2707 GO_IF_LEGITIMATE_ADDRESS.
2708 (GO_IF_LEGITIMATE_ADDRESS): Require constant offsets to be
2709 correctly aligned for DImode loads and stores. Don't allow long
2710 SFmode displacements on ELF32.
2712 2004-06-21 Richard Henderson <rth@redhat.com>
2715 * cse.c (merge_equiv_classes): Also rehash in response to
2716 delete_reg_equiv changes.
2717 (rehash_using_reg): Don't exclude REGs from rehashing.
2719 2004-06-21 Richard Sandiford <rsandifo@redhat.com>
2721 PR rtl-optimization/15159
2722 * tree.c (unsafe_for_reeval): Return 2 for TRY_CATCH_EXPRs.
2724 2004-06-19 Richard Henderson <rth@redhat.com>
2727 * function.c (assign_parms): If not padding upward or intentionally
2728 forcing upward padding, take offset_rtx into account when determining
2729 the alignment for stack_parm.
2731 2004-06-19 Richard Henderson <rth@redhat.com>
2734 * ifcvt.c (noce_try_move): Recognize all generated instructions.
2736 2004-06-19 Andrew Pinski <pinskia@physics.uc.edu>
2739 * config/darwin.c (darwin_encode_section_info): When the decl has
2740 a DECL_INITIAL, it is only defined also when it is not a common.
2742 2004-06-17 Zack Weinberg <zack@codesourcery.com>
2745 * Makefile.in (min-insn-modes.o): Correct dependencies.
2746 * real.c (encode_ieee_extended, decode_ieee_extended): Always
2747 produce/consume 12-byte little-endian Intel format.
2748 (encode_ieee_extended_128, decode_ieee_extended_128): Delete.
2749 (encode_ieee_extended_motorola, decode_ieee_extended_motorola)
2750 (encode_ieee_extended_intel_96, decode_ieee_extended_intel_96)
2751 (encode_ieee_extended_intel_128, decode_ieee_extended_intel_128):
2752 New functions which convert between 12-byte little-endian Intel
2753 format and the desired format.
2754 (ieee_extended_motorola_format, ieee_extended_intel_96_round_53_format)
2755 (ieee_extended_intel_96_format, ieee_extended_intel_128_format):
2758 2004-06-16 James E Wilson <wilson@specifixinc.com>
2761 * config/i386/cygwin.h (TARGET_IS_PE_COFF): Delete duplicate macro.
2763 2004-06-16 Bernardo Innocenti <bernie@develer.com>
2765 Backport from mainline:
2766 2004-06-16 Bernardo Innocenti <bernie@develer.com>
2769 * config/m68k/m68k.h (TARGET_SWITCHES): Don't remove MASK_68040_ONLY
2771 (TARGET_FLT_EVAL_METHOD): Don't advertise extended precision for
2772 68040 and soft-float.
2773 * config/m68k/m68k.md (truncdfsf2): Explicitly require TARGET_68881
2774 in the TARGET_68040_ONLY case.
2776 2004-06-16 Vladimir Makarov <vmakarov@redhat.com>
2779 * config/ia64/ia64.c (ia64_dfa_new_cycle): Do not insert nops
2780 after shifts before asm.
2782 2004-06-15 Chris Demetriou <cgd@broadcom.com>
2784 * config/mips/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
2786 * config/mips/linux64.h (ASM_PREFERRED_EH_DATA_FORMAT): Remove
2787 #undef and #if 0'd definition.
2789 2004-06-15 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
2791 * config/m32r/m32r.h (RETURN_ADDR_RTX): Define.
2792 (INCOMING_RETURN_ADDR_RTX): Define.
2793 * config/m32r/m32r-protos.h (m32r_return_addr): Added.
2794 * config/m32r/m32r.c (m32r_exppand_prologue): Changed for
2795 __builtin_return_address(0).
2796 (m32r_return_addr): Added for __builtin_return_address(0).
2797 (m32r_reload_lr): Ditto.
2799 * longlong.h: Fix macros for m32r add_ssaaaa and sub_ddmmss.
2801 2004-06-15 Giovanni Bajo <giovannibajo@gcc.gnu.org>
2803 * gccbug.in: Update optimization -> tree-optimization/rtl-optimization.
2805 2004-06-14 Eric Botcazou <ebotcazou@libertysurf.fr>
2807 * real.c: Fix bit count in head comment.
2809 2004-06-14 Jakub Jelinek <jakub@redhat.com>
2812 * simplify-rtx.c (simplify_binary_operation): Don't optimize out
2813 Inf + -Inf, Inf - Inf, Inf / Inf and 0 * Inf if flag_trapping_math.
2815 2004-06-14 Jakub Jelinek <jakub@redhat.com>
2818 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Define.
2820 2004-06-14 Alan Modra <amodra@bigpond.net.au>
2822 * config/rs6000/rs6000.h (ASM_CPU_SPEC): Handle -mpowerpc64 and -mcpu
2823 for power5 and rs64a. Correct condition for default. Correct power3,
2824 620, 630, 7400, 7450, G4, 970 and G5 -mcpu entries. Add -many.
2826 2004-06-13 Alan Modra <amodra@bigpond.net.au>
2828 Apply mainline 2004-01-27 Alan Modra <amodra@bigpond.net.au>
2829 * config/rs6000/rs6000.h: Correct target_flags free bits comment.
2830 (PREDICATE_CODES): Remove duplicate.
2831 * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define.
2832 (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL.
2833 (MASK_PROFILE_KERNEL): Adjust define.
2835 2004-06-13 Hans-Peter Nilsson <hp@axis.com>
2837 PR rtl-optimization/15296
2838 * reorg.c (fill_simple_delay_slots): Use next_real_insn when
2839 getting last consecutive label at a branch.
2840 (relax_delay_slots): Similar, near top of loop.
2842 2004-06-12 Andreas Jaeger <aj@suse.de>
2844 * libgcc-std.ver: Add __unorddf2 and __unordsf2 with version 3.3.4.
2845 * libgcc-darwin.ver: Likewise.
2847 2004-06-11 Bernardo Innocenti <bernie@develer.com>
2851 Backport from mainline:
2853 2004-05-27 Peter Jakubek <peter@laseranimation.com>
2855 * reload.c (find_reloads): Force reload for pseudo registers on big
2858 2004-06-11 J"orn Rennecke <joern.rennecke@superh.com>
2860 * sh.c (dump_table): New argument start. Changed caller.
2861 (fixup_mova): New function.
2862 (find_barrier): Use it.
2863 (sh_reorg): Likewise. Check for CODE_FOR_casesi_worker_2.
2864 If the label a mova refers to is above the mova itself, change
2865 the mova into a load.
2866 * sh.md (*casesi_worker): Rename to:
2868 (casesi_worker_2): New insn.
2870 2004-06-11 Hartmut Penner <hpenner@de.ibm.com>
2872 Backport from mainline:
2874 * config/rs6000/rs6000.c (output_vec_const_move):
2875 Find all cases of EASY_VECTOR_15_ADD_SELF.
2876 (easy_vector_constant_add_self): Accept
2877 all vector constant loadable by vsplt* and vadd*.
2878 (easy_vector_same): Use easy_vector_splat_const.
2879 (easy_vector_const): Use easy_vector_splat_const.
2880 (easy_vector_splat_const): New function.
2881 (gen_easy_vector_constant_add_self): New function.
2883 * config/rs6000/rs6000-protos.c (gen_easy_vector_constant_add_self):
2886 * config/rs6000/altivec.md (movv4si splitter): Change to
2887 emit move insn with halfed vector constant.
2888 (*movv8hi splitter): Likewise.
2889 (*movv16qi splitter): Likewise.
2891 2004-06-10 Joseph S. Myers <jsm@polyomino.org.uk>
2893 * doc/sourcebuild.texi (Front End): Add details of more
2894 installation documentation required.
2896 2004-06-10 Vladimir Makarov <vmakarov@redhat.com>
2899 * haifa-sched.c (schedule_block): Finish cycle after issuing asm
2902 2004-06-10 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
2905 * doc/install.texi: Remove superfluous linebreak.
2907 2004-06-10 Bernardo Innocenti <bernie@develer.com>
2910 Backport from mainline:
2912 2004-05-05 Peter Barada <peter@the-baradas.com>
2914 * config/m68k/m68k.h(EXTRA_CONSTRAINT): Add 'U' for register offset
2916 * config/m68k/m68k.md: Add 'U,U' alternative to ColdFire variants of
2917 movsi, movhi, movqi insn patterns.
2919 2004-06-10 Alan Modra <amodra@bigpond.net.au>
2921 Apply from mainline:
2922 2004-03-12 Jakub Jelinek <jakub@redhat.com>
2923 * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Add
2925 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): New.
2926 * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Define.
2928 2004-06-10 Jakub Jelinek <jakub@redhat.com>
2930 * config/ia64/unwind-ia64.c (uw_frame_state_for): Don't assume a
2931 leaf function without unwind info at RP 0.
2933 2004-06-10 Alan Modra <amodra@bigpond.net.au>
2936 2004-05-15 Alan Modra <amodra@bigpond.net.au>
2937 * config/rs6000/rs6000.c (rs6000_va_arg <ABI_V4>): Don't use
2938 UNITS_PER_WORD to calculate gpr size. Re-instate code to set reg
2939 count to 8 to handle n_reg > 2.
2940 2004-05-10 Alan Modra <amodra@bigpond.net.au>
2941 * config/rs6000/rs6000.c (function_arg_boundary): Always align
2943 (function_arg_advance): Pass TARGET_32BIT -mabi=no-altivec AltiVec
2944 vectors by refererence. Align the same for TARGET_64BIT to a 16
2945 byte boundary. Remove useless code. Add function comment.
2946 (function_arg): Similarly. Move gpr rs6000_mixed_function_arg
2947 call to where it belongs.
2948 (function_arg_partial_nregs): Return true for all TARGET_32BIT
2949 -mabi=no-altivec AltiVec vectors. Fix debug output.
2950 (rs6000_va_arg): Adjust for AltiVec change.
2951 2004-05-10 Alan Modra <amodra@bigpond.net.au>
2952 * config/rs6000/rs6000.c (function_arg_boundary): Align for ABI_V4
2953 when size is 8 bytes.
2954 (function_arg_advance): Account for stack space used by AltiVec
2955 args when -mabi=altivec. Simplify alignment calculations. For
2956 ABI_V4, pass AltiVec vectors by reference when -mabi=no-altivec.
2957 (function_arg): Similarly.
2958 (function_arg_pass_by_reference): True for ABI_V4 AltiVec when
2960 (rs6000_va_arg): Correct fp arg test. Adjust for AltiVec change.
2961 Correct alignment, and align before testing reg count. Remove
2962 TREE_THIS_VOLATILE from reg. Don't emit unused labels.
2963 (rs6000_complex_function_value): Check TARGET_HARD_FLOAT and
2965 (rs6000_function_value): .. not here before call.
2966 2004-05-07 Alan Modra <amodra@bigpond.net.au>
2967 * config/rs6000/rs6000.h (STACK_BOUNDARY): Use 128 bit for either
2968 TARGET_ALTIVEC or TARGET_ALTIVEC_ABI.
2969 * config/rs6000/sysv4.h (ABI_STACK_BOUNDARY): Likewise.
2970 (STACK_BOUNDARY): Delete.
2972 2004-06-10 Alan Modra <amodra@bigpond.net.au>
2975 2004-04-24 Alan Modra <amodra@bigpond.net.au>
2976 * config/rs6000/rs6000.c (rs6000_stack_info): Rename total_raw_size
2977 to non_fixed_size, and leave out fixed_size from the sum.
2978 (generate_set_vrsave): Correct clobbers.
2979 (rs6000_emit_epilogue): Test TARGET_ALTIVEC with TARGET_ALTIVEC_SAVE.
2980 (rs6000_function_value): Test TARGET_ALTIVEC and TARGET_ALTIVEC_ABI.
2981 (rs6000_libcall_value): Likewise.
2982 * config/rs6000/rs6000.h (FUNCTION_VALUE_REGNO_P): Likewise.
2983 (FUNCTION_ARG_REGNO_P): Likewise.
2985 2004-06-10 Alan Modra <amodra@bigpond.net.au>
2988 2004-03-13 Alan Modra <amodra@bigpond.net.au>
2989 * config/rs6000/rs6000.h (UNITS_PER_ARG, RS6000_ARG_SIZE): Delete.
2990 (HARD_REGNO_MODE_OK): Disallow TFmode for fp31.
2991 * config/rs6000/rs6000.c (rs6000_arg_size): New function.
2992 Update all users of RS6000_ARG_SIZE.
2993 (function_arg_advance): Count fregno using mode size.
2994 (function_arg): Handle long double split over regs and memory.
2995 (function_arg_partial_nregs): Likewise.
2996 (rs6000_va_arg): Repackage complex args.
2997 2004-02-23 Fariborz Jahanian <fjahanian@apple.com>
2998 * config/rs6000/rs6000.c (function_arg): call to
2999 rs6000_mixed_function_arg for DFmode moved to allow
3000 normal DFmode incoming register assignment.
3002 2004-06-09 Mark Mitchell <mark@codesourcery.com>
3006 2004-06-07 Mark Mitchell <mark@codesourcery.com>
3007 * doc/extend.texi: Deprecate #pragma interface and #pragma
3010 2004-06-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3012 PR rtl-optimization/15761
3013 * cfgloopanal.c (count_strange_loop_iterations,
3014 count_loop_iterations): Use gen_int_mode instead
3017 2004-06-08 Roger Sayle <roger@eyesopen.com>
3020 * c-typeck.c (require_constant_value, require_constant_elements):
3021 Move declarations to the top of the file.
3022 (build_function_call): If we require a constant value, fold with
3023 fold_initializer. If the result is a constant, and the function
3024 wasn't called using __builtin_foo, issue a pedantic warning.
3025 (build_unary_op): If we require a constant value, fold tree with
3027 (build_binary_op): Use require_constant_value to determine whether
3028 to call fold or fold_initializer.
3030 2004-06-08 Richard Henderson <rth@redhat.com>
3033 * function.c (assign_parms): Always set_mem_align with the computed
3034 FUNCTION_ARG_BOUNDARY. Don't clear stack_parm if !STRICT_ALIGNMENT.
3036 2004-06-08 Vladimir Makarov <vmakarov@redhat.com>
3039 * config/ia64/ia64.c (bundling): Add missed TYPE_A.
3041 2004-06-08 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
3043 PR rtl-optimization/15717
3044 * config/i386/i386.c (legitimate_constant_p): Do not allow
3047 2004-06-07 James E Wilson <wilson@specifixinc.com>
3050 * config/ia64/ia64.md (call_value_nogp): Add constraints for op0.
3051 (vall_value_gp): Likewise.
3053 2004-06-07 Dan Kegel <dank@kegel.com>
3056 * config/i386/cygwin.h (TARGET_IS_PE_COFF): New.
3057 * config/i386/cygming.h (TARGET_IS_PE_COFF): New.
3059 2004-06-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3062 * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
3063 parameter. Enumerate the registers inside the PARALLEL.
3064 (function_arg): Adjust call to function_arg_union_value.
3065 (function_value): Likewise.
3067 2004-06-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3069 * pa.c (emit_move_sequence): Fix loading of non 14-bit CONST operands
3070 when generating PIC code.
3072 * pa.md: Disable the peephole2 patterns that generate indexed
3073 floating-point stores when indexing is disabled.
3075 2004-06-07 Joseph S. Myers <jsm@polyomino.org.uk>
3078 * c-parse.in (compstmt_primary_start): Set last_expr_type to
3081 2004-06-07 Mark Mitchell <mark@codesourcery.com>
3084 * doc/extend.texi: Deprecate #pragma interface and #pragma
3087 2004-06-07 Richard Henderson <rth@redhat.com>
3090 * expmed.c (extract_bit_field): Fix vector_extract return.
3092 2004-06-07 Mark Mitchell <mark@codesourcery.com>
3095 * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
3098 2004-06-06 Stephane Carrez <stcarrez@nerim.fr>
3101 * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
3102 a live change of a register after peephole replacement.
3104 2004-06-06 Stephane Carrez <stcarrez@nerim.fr>
3107 * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
3108 * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
3109 * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
3110 (inhibit_libc): Must define.
3111 * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
3112 ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
3113 ("xorhi3"): Likewise.
3115 2004-06-05 David S. Miller <davem@nuts.davemloft.net>
3117 * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
3118 * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
3120 2004-06-04 Eric Christopher <echristo@redhat.com>
3122 Backport from mainline:
3123 2004-06-02 Eric Christopher <echristo@redhat.com>
3125 * c-typeck.c (common_type): Don't lose type qualifiers
3126 when creating new variants.
3128 2004-06-03 Bernardo Innocenti <bernie@develer.com>
3131 Backport from mainline:
3133 2004-06-01 Peter Barada <peter@the-baradas.com>
3134 Peter Jakubek <peter@laseranimation.com>
3136 * config/m68k/m68k.c(m68k_output_mi_thunk): For ColdFire, use %d0 as
3137 a scratch to perform an add to memory.
3139 2004-06-01 Paul Eggert <eggert@cs.ucla.edu>
3142 * doc/install.texi (sparc-sun-solaris2*): Document messages issued
3143 by the Sun linker in conjunction with the Sun assembler.
3144 (sparc-sun-solaris2.7): Update revision info for Sun patch 106950.
3146 2004-06-01 Nicola Pero <nicola@brainstorm.co.uk>
3149 * objc-act.c (is_private): Do not emit the 'instance variable %s
3150 is declared private' error.
3151 (is_public): Emit the error after calling is_private.
3152 (lookup_objc_ivar): If the instance variable is private, return 0
3153 - the instance variable is invisible here.
3155 2004-06-01 Eric Botcazou <ebotcazou@libertysurf.fr>
3157 * doc/invoke.texi (-static-libgcc): Explicitly mention
3160 2004-05-31 Kaz Kojima <kkojima@gcc.gnu.org>
3163 Backport from mainline:
3165 2004-05-28 Kaz Kojima <kkojima@gcc.gnu.org>
3166 * config/sh/sh.md (rotlsi3): Use emit_move_insn.
3168 2004-05-31 H.J. Lu <hongjiu.lu@intel.com>
3171 * cgraph.c (cgraph_remove_node): Don't call htab_clear_slot if
3172 we can't find the slot. Abort if we can't find slot and the
3173 node isn't for a builtin function.
3175 2004-05-31 Roger Sayle <roger@eyesopen.com>
3178 * fold-const.c (fold_single_bit_test): Only perform "(X & C) != 0"
3179 into "X < 0" (where C is the signbit) if X's type is a full mode.
3181 2004-05-31 Joseph S. Myers <jsm@polyomino.org.uk>
3184 * c-decl.c (grokdeclarator, finish_struct): Don't pedwarn for
3185 misuses of structures with flexible array members if
3188 2004-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
3191 * config/sparc/sparc.c (compare_operand): New predicate.
3192 * config/sparc/sparc.h (PREDICATE_CODES): Add it.
3193 * config/sparc/sparc.md (cmpsi expander): Use it. If the first
3194 operand is a ZERO_EXTRACT and the second operand is not zero,
3195 force the former to a register.
3196 (cmpdi expander): Likewise.
3198 2004-05-31 Danny Smith <dannysmith@users.sourceforge.net>
3200 * c-incpath.c (add_path): Canonicalize paths to use '/' if
3201 HAVE_DOS_BASED_FILESYSTEM.
3203 2004-05-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3206 * alias.c (init_alias_analysis): Allocate alias_invariant array with
3207 ggc_calloc instead of xrealloc.
3208 (end_alias_analysis): Don't free alias_invariant.
3210 2004-05-28 DJ Delorie <dj@redhat.com>
3212 * stor-layout.c (place_field): Revert erroneous commit.
3214 2004-05-28 Nick Clifton <nickc@redhat.com>
3217 * config/sh/sh-protos.h (sh_promote_prototypes): Declare.
3218 * config/sh/sh.c (sh_promote_prototypes): Remove declaration.
3219 Delete static from definition.
3220 * config/sh/sh.h (FUNCTION_VALUE): Add sh_promote_prototypes call.
3222 2004-05-27 Kaz Kojima <kkojima@gcc.gnu.org>
3224 Backport from mainline:
3226 * config/sh/t-linux (SHLIB_MAPFILES): Use sh specific
3228 * config/sh/libgcc-std.ver: New file.
3230 2004-05-27 Olivier Hainque <hainque@act-europe.fr>
3232 * expr.c (store_constructor): Restore sanity check on
3233 the size of the type before clearing.
3235 2004-05-27 Alan Modra <amodra@bigpond.net.au>
3238 * config/rs6000/rs6000.c (reg_or_neg_short_operand): Don't allow zero.
3240 2004-05-26 Aldy Hernandez <aldyh@redhat.com>
3243 * config/rs6000/rs6000.c (spe_expand_stv_builtin): New.
3245 2004-05-23 Joseph S. Myers <jsm@polyomino.org.uk>
3247 * doc/gcc.texi, doc/gccint.texi, doc/include/gcc-common.texi:
3248 Update based on printed manual. Enable setting of offsets for
3249 FSFPRINT and move it to gcc-common.texi.
3250 * doc/gcc.texi: Update FSF printing details.
3251 * doc/gccint.texi: Remove FSF printing details.
3253 2004-05-21 Jakub Jelinek <jakub@redhat.com>
3255 * config/sparc/linux64.h (OPTION_DEFAULT_SPECS): If SPARC_BI_ARCH,
3256 override sparc.h definition.
3258 2004-05-20 Jakub Jelinek <jakub@redhat.com>
3260 * config/sparc/linux64.h (TARGET_DEFAULT): Make 64-bit by default
3261 also for TARGET_CPU_DEFAULT == TARGET_CPU_ultrasparc3.
3263 2004-05-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3266 * pa.md (movdi, movsi, movhi, movqi): Support move from shift amount
3267 register to general register for DI, SI, HI and QI modes. Remove
3268 move to shift amount register in DF mode.
3270 2004-05-18 Ulrich Weigand <uweigand@de.ibm.com>
3273 * expr.c (expand_expr_real): Do not call preserve_temp_slots
3274 on a TARGET_EXPR temp.
3275 * function.c (assign_stack_temp_for_type): Set 'keep' flag for
3276 TARGET_EXPR temp slots.
3278 2004-05-18 Kaz Kojima <kkojima@gcc.gnu.org>
3280 PR optimization/15100
3281 Backport from mainline:
3283 2004-05-11 Kaz Kojima <kkojima@gcc.gnu.org>
3284 * combine.c (distribute_notes): Don't create a dangling
3285 REG_LIBCALL/REG_RETVAL note.
3287 2004-05-17 H.J. Lu <hongjiu.lu@intel.com>
3289 Backport from mainline
3293 2004-05-17 Jan Hubicka <jh@suse.cz>
3295 * i386.c (construct_container): Do not produce BLKmode registers.
3296 (classify_argument): Properly compute alignment of complex types.
3298 2004-05-15 Joseph S. Myers <jsm@polyomino.org.uk>
3300 * doc/extend.texi: Update WG14 URL.
3302 2004-05-11 Aldy Hernandez <aldyh@redhat.com>
3304 * config/rs6000/spe.md (spe_evneg): Rename to negv2si2.
3306 * config/rs6000/rs6000.c (bdesc_1arg): Change spe_evneg to
3309 2004-05-10 Kaz Kojima <kkojima@gcc.gnu.org>
3312 Backport from mainline:
3314 * config/sh/sh-protos.h (sh_expand_epilogue): Change prototype.
3315 * config/sh/sh.c (output_stack_adjust): Take the sibcall epilogue
3316 into account. Compute the correct number of general registers
3317 for the return value. Generate a special push/pop sequence when
3318 failing to get a temporary register for non SHmedia epilogue.
3319 (sh_expand_epilogue): Add an argument to show whether it's for
3320 sibcall or not. Set the 3rd argument of output_stack_adjust to
3322 (sh_need_epilogue): Call sh_expand_epilogue with 0.
3323 * config/sh/sh.md (sibcall_epilogue): Call sh_expand_epilogue
3325 (epilogue): Call sh_expand_epilogue with 0.
3327 2004-05-09 Aldy Hernandez <aldyh@redhat.com>
3329 * config/rs6000/spe.md ("tstsflt_gpr"): Fix typo in unspec.
3331 2004-05-08 Eric Botcazou <ebotcazou@libertysurf.fr>
3333 * doc/install.texi (sparc-sun-solaris2*): Document bootstrap
3334 problems with earlier versions of the GNU compiler.
3336 2004-05-07 Eric Botcazou <ebotcazou@libertysurf.fr>
3339 * c-pragma.c (handle_pragma_redefine_extname): Only change
3340 the assembler name of FUNCTION_DECLs and VAR_DECLs.
3342 2004-05-07 Loren James Rittle <ljrittle@acm.org>
3344 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Proper redefinition.
3345 * config/arm/freebsd.h: Likewise.
3346 * config/ia64/freebsd.h: Likewise.
3347 * config/sparc/freebsd.h: Likewise.
3349 2004-05-06 Richard Henderson <rth@redhat.com>
3351 * stmt.c (parse_output_constraint): Don't warn for read-write
3354 2004-05-06 Jan Hubicka <jh@suse.cz>
3357 * function.c (do_warn_unused_parameter): Break out form ...
3358 (expand_function_end): ... here; warn only when not using cgraphunit.
3359 * function.h (do_warn_unused_parameter): Declare.
3360 * cgraphunit.c: Include function.h.
3361 (cgraph_finalize_function): Do unused parameter warning.
3362 * Makefile.in (cgraphunit.o): Depend on function.h
3364 2004-05-05 H.J. Lu <hongjiu.lu@intel.com>
3367 * config/i386/i386.c (ix86_split_to_parts): Use real_to_target
3368 instead of REAL_VALUE_TO_TARGET_LONG_DOUBLE.
3370 2004-05-03 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3372 * fixinc/inclhack.def (svr4_profil): Don't apply on IRIX 5/6.
3373 * fixinc/fixincl.x: Regenerate.
3375 2004-05-02 Josef Zlomek <zlomekj@suse.cz>
3377 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Print the debug
3378 message before redirecting the edge.
3380 2004-05-02 Eric Botcazou <ebotcazou@libertysurf.fr>
3382 PR optimization/15112
3383 * reload1.c (reload): Don't record unchanging memory locations.
3385 2004-04-30 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3388 * config/alpha/osf.h (SWITCHES_NEED_SPACES): Define.
3390 2004-04-30 David Edelsohn <edelsohn@gnu.org>
3392 Backport from mainline:
3394 2004-04-19 David Edelsohn <edelsohn@gnu.org>
3396 * doc/install.texi (*-ibm-aix*): Add AIX 5.1 assembler and archiver
3399 2004-04-17 Alan Modra <amodra@bigpond.net.au>
3402 * config/rs6000/rs6000.c (rs6000_stack_info): Make parm_size agree
3403 with STARTING_FRAME_OFFSET.
3405 2004-04-07 David Edelsohn <edelsohn@gnu.org>
3407 * config/rs6000/rs6000.c (processor_target_table): Add MASK_MFCRF
3408 to power4 and power5 entries.
3410 2004-04-05 David Edelsohn
3412 * config/rs6000/rs6000.c (VTABLE_NAME_P): Add _ZTI to special
3415 2004-03-30 Hartmut Penner <hpenner@de.ibm.com>
3418 * config/rs6000/rs6000.c (rs6000_legitimate_address):
3419 Allow any offset to argument pointer in no-strict case.
3421 2004-03-25 David Edelsohn <edelsohn@gnu.org>
3423 * config/rs6000/rs6000.c (rs6000_always_hint): New variable.
3424 (rs6000_sched_groups): New variable.
3425 (processor_target_table): Add power5.
3426 (rs6000_override_options): Set rs6000_sched_insert_nops,
3427 rs6000_sched_costly_dep and rs6000_sched_restricted_insns_priority
3428 from rs6000_sched_groups.
3429 (output_cbranch): Use rs6000_always_hint.
3430 (rs6000_variable_issue): Use rs6000_sched_groups.
3431 (rs6000_adjust_cost): Add CPU_POWER5.
3432 (is_microcoded_insn): Use rs6000_sched_groups.
3433 (is_dispatch_slot_restricted): Use rs6000_sched_groups.
3434 Return 2 for POWER5 cracked instructions.
3435 (is_cracked_insn): Use rs6000_sched_groups.
3436 (is_branch_slot_insn): Use rs6000_sched_groups.
3437 (rs6000_issue_rate): Add CPU_POWER5.
3438 (rs6000_sched_finish): Use rs6000_sched_groups.
3439 (rs6000_rtx_costs): Add PROCESSOR_POWER5.
3440 * config/rs6000/rs6000.h (processor_type): Add PROCESSOR_POWER5.
3441 (DEFAULT_SCHED_COSTLY_DEP): Delete.
3442 (DEFAULT_RESTRICTED_INSNS_PRIORITY): Delete.
3443 (DEFAULT_SCHED_FINISH_NOP_INSERTION_SCHEME): Delete.
3444 * config/rs6000/rs6000.md (define_attr "cpu"): Add power5.
3445 * config/rs6000/power5.md: New file.
3446 * doc/invoke.texi: Add power5 option.
3448 2004-03-17 Fariborz Jahanian <fjahanian@apple.com>
3450 * config/rs6000/rs6000.c (rs6000_stack_info): correct reg_size
3452 (rs6000_emit_prologue): Ditto.
3453 (rs6000_emit_epilogue): Ditto.
3454 * config/rs6000/rs6000.h: Definition of DWARF_CIE_DATA_ALIGNMENT
3455 macro for mixed mode.
3457 2004-03-04 David Edelsohn <edelsohn@gnu.org>
3460 * config/rs6000/rs6000.c (output_function_profiler): Append @plt
3463 2004-04-30 Paolo Bonzini <bonzini@gnu.org>
3465 * config/altivec/altivec.h [__cplusplus] (vec_subsubs): Rename
3467 [__cplusplus] (vec_subsuhs): Rename to vec_subuhs,
3468 eliminating duplicates.
3470 2004-04-29 Richard Sandiford <rsandifo@redhat.com>
3473 * config/mips/mips.md (load_df_low): Use default length.
3474 (load_df_high, store_df_high): Likewise.
3476 2004-04-29 Philip Blundell <philb@gnu.org>
3479 2004-04-20 Paul Brook <paul@codesourcery.com>
3481 * config/arm/arm.c (arm_legitimate_address_p): Use rtx_equal_p.
3483 2004-04-29 Aldy Hernandez <aldyh@redhat.com>
3486 * config/rs6000/rs6000.c (rs6000_emit_cmove): Disable comparisons
3487 of floats on the E500.
3488 (branch_positive_comparison_operator): Do not allow NE even on the
3490 (ccr_bit): Remove E500 specific code.
3491 Remove miscompilation warning for e500.
3492 (print_operand): Add 'c' and 'D'.
3493 (rs6000_generate_compare): Rewrite to generate correct rtl.
3494 (rs6000_emit_sCOND): Handle E500.
3495 (output_cbranch): Adjust for changes in rs6000_generate_compare.
3496 (output_e500_flip_gt_bit): New.
3497 (rs6000_override_options): Error when user wants altivec and e500
3500 * config/rs6000/rs6000.md (UNSPEC_MV_CR_GT): New constant.
3501 (move_from_CR_gt_bit): New.
3502 (cceq_ior_compare): Name previously unnamed pattern. Disable for
3504 (cceq_rev_compare): Name previously unnamed pattern. Allow for
3507 * config/rs6000/spe.md (cmpsfeq_gpr): Rewrite as unspec.
3508 (tstsfeq_gpr): Same.
3509 (cmpsfgt_gpr): Same.
3510 (tstsfgt_gpr): Same.
3511 (cmpsflt_gpr): Same.
3512 (tstsflt_gpr): Same.
3513 (e500_cceq_ior_compare): New.
3514 (e500_flip_gt_bit): New.
3516 * config/rs6000/rs6000-protos.h (output_e500_flip_gt_bit):
3519 2004-04-28 Ben Elliston <bje@au.ibm.com>
3521 * doc/invoke.texi (Objective-C Dialect Options): Don't prefix
3522 options with "-" in the option index.
3523 (SPARC Options): Likewise.
3524 (M32R/D Options): Likewise.
3526 2004-04-28 Joseph S. Myers <jsm@polyomino.org.uk>
3528 * Makefile.in ($(DESTDIR)$(infodir)/%.info): Don't condition
3529 calling install-info on $(DESTDIR)$(infodir)/dir already being
3532 2004-04-28 H.J. Lu <hongjiu.lu@intel.com>
3535 * config/i386/i386.md (*movsi_insv_1_rex64): Changed to DImode
3536 and renamed to movdi_insv_1_rex64.
3537 (insv): Support SImode for 32bit and DImode for 64bit.
3539 2004-04-27 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3542 * dwarf2out.c (reg_number): Rename to dbx_reg_number. Adjust all
3544 (multiple_reg_loc_descriptor, reg_loc_descriptor): Use gcc register
3545 number for indexing hard_regno_nregs array.
3547 2004-04-27 Bob Wilson <bob.wilson@acm.org>
3549 * config/xtensa/xtensa.c (call_insn_operand): Check
3550 SYMBOL_REF_EXTERNAL_P in addition to SYMBOL_REF_LOCAL_P.
3551 * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND): Likewise.
3552 * config/xtensa/xtensa.md (call, call_value): Likewise.
3554 2004-04-26 Zack Weinberg <zack@codesourcery.com>
3556 * config/ia64/hpux.h: Predefine __STDCPP__ when compiling C++.
3557 * config/pa/pa-hpux10.h: Likewise.
3558 * config/pa/pa-hpux11.h: Likewise.
3560 2004-04-23 Eric Botcazou <ebotcazou@libertysurf.fr>
3562 PR optimization/13985
3563 * cfgloopmanip.c (fix_loop_placements): New prototype.
3564 Call fix_bb_placements on the preheader of loops that have
3566 (remove_path): Adjust call to fix_loop_placements.
3568 2004-04-23 Nick Clifton <nickc@redhat.com>
3570 * Import this patch from mainline:
3571 2004-04-16 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
3573 * config/m32r/m32r.h (BIG_ENDIAN_BIT): Deleted to fix endian
3575 (TARGET_LITTLE_ENDIAN, TARGET_BIG_ENDIAN,
3576 TARGET_DEFAULT): Changed. Ditto.
3577 (LITTLE_ENDIAN_BIT, TARGET_CPU_DEFAULT,
3578 TARGET_ENDIAN_DEFAULT): Added. Ditto.
3579 * config/m32r/little.h (TARGET_LITTLE_ENDIAN): Deleted.
3580 (TARGET_ENDIAN_DEFAULT): Added.
3582 2004-04-22 Per Bothner <per@bothner.com>
3584 * cppinit.c (cpp_read_main_file): Return NULL rather than false.
3585 Fixes PR preprocessor/15067.
3587 2004-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3589 * function.c (thread_prologue_and_epilogue): Move
3590 NOTE_INSN_FUNCTION_END and NOTE_INSN_FUNCTION_BEG notes
3591 before the epilogue.
3593 2004-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3595 * dbxout.c (dbxout_symbol_location): Do not output references
3596 to optimized-out constant pool symbols.
3598 2004-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3600 * expr.c (store_constructor): Use gen_int_mode to correctly
3601 sign-extend CONST_INT value.
3603 2004-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3605 * combine.c (if_then_else_cond): Check for NULL return value of
3606 simplify_gen_subreg.
3608 2004-04-22 Ulrich Weigand <uweigand@de.ibm.com>
3610 * reload1.c (emit_reload_insns): Set reg_has_output_reload to one
3611 after setting reg_last_reload_reg for optional output reloads.
3613 2004-04-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3615 * pa64-regs.h (DBX_REGISTER_NUMBER): Simplify and correct mapping of
3616 SAR register. Fix comment.
3617 (ADDITIONAL_REGISTER_NAMES): Correct register number of SAR register
3620 2004-04-21 Kaz Kojima <kkojima@gcc.gnu.org>
3622 Backport from mainline:
3624 2004-04-05 Kaz Kojima <kkojima@gcc.gnu.org>
3625 * config/sh/sh.c (prepare_move_operands): Use emit_call_insn
3626 when the TLS address is generated by a function call.
3627 * config/sh/sh.md (tls_global_dynamic): Use a call expression.
3628 (tls_local_dynamic): Likewise.
3630 2004-04-21 H.J. Lu <hongjiu.lu@intel.com>
3633 Backport from mainline:
3635 * config/ia64/crtend.asm: Move pointer to __do_global_ctors_aux
3636 in .init_array section to ...
3637 * config/ia64/crtbegin.asm: Here.
3639 * config/ia64/crtend.asm: Mark __do_global_ctors_aux global
3640 and hidden if HAVE_INITFINI_ARRAY is defined.
3642 2004-04-21 Richard Henderson <rth@redhat.com>
3645 * alias.c (alias_invariant, alias_invariant_size): Mark GTY.
3646 (reg_known_value, reg_known_value_size): Likewise; make static.
3647 (reg_known_equiv_p): Make static.
3648 (clear_reg_alias_info): Update for new indexing.
3649 (get_reg_known_value, set_reg_known_value): New.
3650 (get_reg_known_equiv_p, set_reg_known_equiv_p): New.
3651 (canon_rtx): Use them.
3652 (init_alias_analysis): Likewise. Allocate reg_known_value with gc.
3653 Don't play queer offsetting games with reg_known_value and
3655 (end_alias_analysis): Don't free reg_known_value.
3656 * rtl.h (get_reg_known_value, get_reg_known_equiv_p): Declare.
3657 * sched-deps.c (reg_known_equiv_p, reg_known_value): Remove.
3658 (deps_may_trap_p, sched_analyze_1, sched_analyze_2): Use the new
3661 2004-04-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3663 * pa64-hpux.h (LIB_SPEC): Fix library specification used with GNU ld.
3665 2004-04-21 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3667 * doc/install.texi (Specific, mips-sgi-irix5): Fix IRIX 5.3 IDO
3670 2004-04-21 H.J. Lu <hongjiu.lu@intel.com>
3673 Backport from mainline:
3675 * config/ia64/ia64.c (ia64_encode_section_info): Don't prod
3676 global register variables.
3678 2004-04-21 H.J. Lu <hongjiu.lu@intel.com>
3681 Backport from mainline:
3682 2004-02-14 Jan Hubicka <jh@suse.cz>
3684 * config.gcc: Add support for nocona/prescott/pentium-m/pentium3m
3686 * i386.c (override_options): Add support for new CPUs.
3687 * i386.h (TARGET_CPU_DEFAULT_NAMES): New names.
3688 (TARGET_CPU_DEFAULT_pentium_m, TARGET_CPU_DEFAULT_pentium4e): New
3690 * invoke.texi: Extend documentation of -mtune/-march for new CPUs.
3692 2004-04-20 Mark Mitchell <mark@codesourcery.com>
3694 * version.c (version_string): Mark as prerelease.
3695 * doc/include/gcc-common.texi: Bump version number.
3697 2004-04-18 Release Manager
3699 * GCC 3.4.0 released.
3701 2004-04-18 Alan Modra <amodra@bigpond.net.au>
3704 * configure.ac: Define HAVE_LD_AS_NEEDED only for linux.
3705 * configure: Regenerate.
3706 * gcc.c (init_gcc_specs): Revert earlier change.
3708 2004-04-18 Mark Mitchell <mark@codesourcery.com>
3711 * doc/invoke.texi (-fprofile-generate): Document requirement to
3712 use -fprofile-generate when linking.
3715 * gcc.c (init_gcc_specs): Only honor HAVE_LD_AS_NEEDED on
3718 * doc/extend.texi (Strong Using): Warn users against using this
3721 2004-04-17 Richard Sandiford <rsandifo@redhat.com>
3723 * configure.ac (gcc_cv_ld_as_needed): Use AC_CACHE_CHECK.
3724 * configure: Regenerate.
3726 2004-04-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3728 * config.gcc (i[34567]86-*-solaris2*): Default to DWARF-2
3729 debugging on Solaris 7 and up.
3731 2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3733 * doc/install.texi (Specific, mips-sgi-irix5): Reflect working
3735 Remove -save-temps workaround, handled automatically.
3736 Require GNU binutils 2.15 for debugging.
3737 Remove SGI make warnings since GNU make is now required.
3738 (Specific, mips-sgi-irix6): Some markup fixes.
3739 Describe MIPSpro C problems and workarounds.
3740 Mention working O32 ABI support.
3741 Recommend GNU as 2.15 for O32 with debugging.
3742 Remove description of fixed structure pass/return bug.
3744 2004-04-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
3746 * aclocal.m4 (gcc_AC_PROG_GNAT): Check if ${CC} produces object
3747 file for Ada compilation.
3748 Fix gcc_cv_cc_supports_ada spelling.
3749 * configure: Regenerate.
3751 2004-04-14 Zack Weinberg <zack@codesourcery.com>
3754 Backport from mainline:
3755 2004-03-12 Matt Austern <austern@apple.com>
3757 * varasm.c (make_decl_one_only): Don't use DECL_COMMON if
3758 we're compiling for a SUPPORTS_ONE_ONLY target.
3760 2004-04-09 Zack Weinberg <zack@codesourcery.com>
3762 * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Look only at
3764 * config/ia64/ia64.c (ia64_hpux_file_end): Check
3765 TREE_SYMBOL_REFERENCED on DECL_ASSEMBLER_NAME, not DECL_NAME.
3767 2004-04-08 Mark Mitchell <mark@codesourcery.com>
3769 * doc/invoke.texi (Precompiled Headers): Warn about known
3772 2004-04-08 Joel Sherrill <joel@oarcorp.com>
3775 * ada/5rosinte.adb: Remove fake mprotect() body.
3776 * ada/5rosinte.ads: Add SA_SIGINFO. Make pthread_key_t a type
3777 which can be set since Finalize_TCB in 7staprop.adb does not
3778 go through the Set_Specific interface.
3779 * ada/5rtpopsp.adb: Rewrite to use new interface.
3780 * ada/init.c: Reorder so the simple single OS conditional __rtems__
3781 is tested before more complex ones which mix UNIX and embedded
3782 systems in the conditional.
3784 2004-04-08 Joel Sherrill <joel@oarcorp.com>
3787 * ada/osint.adb (Find_Program_Name): Rework to properly handle
3788 filenames which end in .exe or have versioning suffixes like VMS.
3790 2004-04-08 Joseph S. Myers <jsm@polyomino.org.uk>
3792 * fixinc/inclhack.def (rpc_xdr_lvalue_cast_a,
3793 rpc_xdr_lvalue_cast_b): New fixes.
3794 * fixinc/fixincl.x: Regenerate.
3795 * fixinc/tests/base/rpc/xdr.h: Add new tests.
3797 2004-04-06 Mark Mitchell <mark@codesourcery.com>
3799 * config/darwin.h (LINK_COMMAND_SPEC): Change c++filt3 to c++filt.
3801 2004-04-05 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3803 * doc/install.texi: Update HP-UX 11 installation procedure.
3805 2004-04-05 Jakub Jelinek <jakuB@redhat.com>
3806 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3808 PR optimization/13424 (hppa), bootstrap/14462, c/14828
3809 * pa.md: Use replace_equiv_address to retain the attributes of the
3810 memory operands used in the split and peephole2 patterns for optimizing
3811 the pre-reload movstrsi, movstrdi, clrstrsi and clrstrdi patterns.
3813 2004-04-05 Alexandre Oliva <aoliva@redhat.com>
3815 * cppinit.c (cpp_read_main_file): Return file name obtained by
3816 read_original_filename. Missed in 2004-02-04's check in to 3.4
3817 branch by Per Bothner.
3819 2004-04-05 Eric Botcazou <ebotcazou@libertysurf.fr>
3821 * config/sparc/sol2-bi.h (PREFERRED_DEBUGGING_TYPE): Set
3822 to DWARF2_DEBUG unconditionally.
3823 (ASM_DEBUG_SPEC): Set the default to --gdwarf2 unconditionally.
3825 2004-04-04 Mark Mitchell <mark@codesourcery.com>
3828 * varasm.c (initializer_constant_valid_p): Allow NOP_EXPRs to
3831 2004-04-02 Jakub Jelinek <jakub@redhat.com>
3832 Eric Botcazou <ebotcazou@libertysurf.fr>
3834 PR optimization/13424, optimization/12419
3835 * explow.c (maybe_set_unchanging): Revert 2003-04-07 patch.
3836 Set RTX_UNCHANGING_P even for read-only DECL_EXTERNAL decls.
3837 * expr.c (store_constructor): When clearing aggregate because
3838 of an incomplete or mostly zero constructor, do the clearing
3839 without /u flag and then emit a blockage.
3841 2004-04-01 Alan Modra <amodra@bigpond.net.au>
3842 Jakub Jelinek <jakub@redhat.com>
3844 * gcc.c (init_gcc_specs): If HAVE_LD_AS_NEEDED, link with
3845 -lgcc --as-needed -lgcc_s --no-as-needed by default.
3846 * configure.ac (HAVE_LD_AS_NEEDED): Check for ld --as-needed.
3847 * configure: Rebuilt.
3848 * config.in: Rebuilt.
3849 * Makefile.in (stage1-start): Copy also libgcc_s*$(SHLIB_EXT).
3850 (stage2-start, stage3-start, stage4-start): Likewise.
3851 (stageprofile-start, stagefeedback-start): Likewise.
3853 2004-04-01 Jakub Jelinek <jakub@redhat.com>
3855 * config/sparc/sparc.h (DITF_CONVERSION_LIBFUNCS): Define to 0.
3856 * config/sparc/linux.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3857 * config/sparc/linux64.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3858 * config/sparc/sol2.h (DITF_CONVERSION_LIBFUNCS): Redefine to 1.
3859 (SOLARIS_CONVERSION_LIBFUNCS): Rename to SUN_CONVERSION_LIBFUNCS.
3860 * config/sparc/sparc.c (sparc_init_libfuncs): Initialize optabs
3861 with _Q_qtoll, _Q_qtoull and _Q_lltoq if DITF_CONVERSION_LIBFUNCS.
3862 * config.gcc (sparc-*-linux*): Revert 2004-03-23 change.
3863 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Likewise.
3864 * config/sparc/t-linux: Removed.
3866 2004-04-01 Jakub Jelinek <jakub@redhat.com>
3869 * fold-const.c (fold) <EQ_EXPR>: Properly compute newconst in
3870 "bitfld++ == const" to "++bitfld == const + incr" transformations.
3872 2004-03-30 Aldy Hernandez <aldyh@redhat.com>
3875 * c-typeck.c (build_binary_op): Do not allow comparisons of
3878 2004-03-26 Ian Lance Taylor <ian@wasabisystems.com>
3881 * doc/install.texi (Specific): Document that exec-shield-randomize
3882 interferes with precompiled headers.
3884 2004-03-26 Richard Henderson <rth@redhat.com>
3887 * c-typeck.c (pop_init_level): Emit pending init elements earlier
3890 2004-03-25 Jakub Jelinek <jakub@redhat.com>
3892 * config.gcc (sparc-*-linux*): Add sparc/t-linux to tmake_file.
3893 * config/sparc/t-linux64 (TARGET_LIBGCC2_CFLAGS): Set.
3894 * config/sparc/t-linux: New file.
3896 2004-03-25 Jan Hubicka <jh@suse.cz>
3899 * cfgrtl.c (try_redirect_by_replacing_jump,
3900 force_nonfallthru_and_redirect, commit_one_edge_insertion,
3901 cfg_layout_merge_blocks): Do not attach any line number information
3902 to newly inserted instructions.
3903 * emit-rtl.c (emit_insn*_before, emit_insn*_after): Rename to
3905 (emit_*insn_before, emit_insn*_after): New.
3906 (emit_*insn_before_setloc, emit_*insn_after_setloc): Do not overwrite
3908 * rtl.h (emit_*insn_before_noloc, emit_*insn_after_noloc): Declare.
3909 (emit_*insn_before_sameloc, emit_*insn_after_sameloc): Kill.
3911 2004-03-24 Steven Bosscher <stevenb@suse.de>
3914 * c-pch.c (struct c_pch_validity): New flags_info field.
3915 (FLAG_UNIT_AT_A_TIME_SET): New definition.
3916 (pch_init): Write out the flags_info field to the PCH. Set the
3917 FLAG_UNIT_AT_A_TIME_SET bit of the field if flag_unit_at_a_time
3919 (c_common_valid_pch): Make sure the flag settings used for compiling
3920 the PCH are the same as those used in the current compilation.
3922 2004-03-24 Alexandre Oliva <aoliva@redhat.com>
3924 PR preprocessor/14438
3925 * cpplib.c (do_pragma): Remove line_change call after pragma
3928 2004-03-23 Ian Lance Taylor <ian@wasabisystems.com>
3930 * doc/extend.texi (ARM Built-in Functions): Replace with correct
3933 2004-03-23 Kazu Hirata <kazu@cs.umass.edu>
3935 PR optimization/14669
3936 * fold-const.c (fold): Only unwiden integer comparisons for equality
3937 and inequality operators, or when the signedness doesn't change.
3939 2004-03-23 Jason Merrill <jason@redhat.com>
3942 * config/i386/winnt.c (associated_type): Look for attributes on
3943 the TYPE_MAIN_VARIANT of *this.
3945 2004-03-21 Mark Mitchell <mark@codesourcery.com>
3948 * c-decl.c (warn_if_shadowing): Don't warn about a new declaration
3949 of a file-scope entity.
3951 2004-03-22 Jakub Jelinek <jakub@redhat.com>
3954 * c-decl.c (finish_struct): Change type of incorrect flexible array
3955 field into error_mark_node.
3957 2004-03-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
3960 * config/rtems.h: Add STD_LIB_SPEC and LIB_SPEC.
3962 2004-03-22 Eric Botcazou <ebotcazou@libertysurf.fr>
3965 * expr.c (mark_queue): New function.
3966 (emit_insns_enqueued_after_mark): New function replacing
3967 emit_queue. Clear the body of emitted queued insns.
3968 (emit_queue): Call emit_insns_enqueued_after_mark.
3969 (store_expr): Mark the increment queue on entry. Emit
3970 only the incrementations queued when expanding the source.
3972 2004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
3974 * gcov-io.h: Update copyright year.
3976 2004-03-22 Danny Smith <dannysmith@users.sourceforge.net>
3979 * gcov-io.h (gcov_truncate): Define ftruncate as _chsize for
3982 2004-03-21 Roger Sayle <roger@eyesopen.com>
3985 * cse.c (fold_rtx): Avoid substituting constants into unary
3986 conversion operations.
3988 2004-03-21 Joseph S. Myers <jsm@polyomino.org.uk>
3990 * frontends.texi: Add missing line.
3992 2004-03-21 Zack Weinberg <zack@codesourcery.com>
3993 Chris Devers <cdevers@pobox.com>
3994 Joseph S. Myers <jsm@polyomino.org.uk>
3996 * doc/frontends.texi: Rewrite.
3997 * doc/gcc.texi: Update last modification date.
3999 2004-03-20 Ian Lance Taylor <ian@wasabisystems.com>
4002 * c-typeck.c (tagged_types_tu_compatible_p): Don't use
4003 DECL_ORIGINAL_TYPE if there isn't one.
4005 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
4008 * doc/install.texi: Add info directory category and entry.
4010 2004-03-20 Joseph S. Myers <jsm@polyomino.org.uk>
4013 * builtins.def (nan, nanf, nanl, nans, nansf, nansl): Change to
4016 2004-03-18 Mark Mitchell <mark@codesourcery.com>
4018 * c-common.c (pointer_int_sum): Do not complain about using
4019 pointers to pointers-to-members.
4021 * c-decl.c (grokdeclarator): Do not complain about redeclaring
4022 visible "static" identifiers "extern" in a local scope.
4023 * dwarf2out.c (loc_descriptor_from_tree): Handle pre- and
4024 post-increments/decrements.
4026 2004-03-17 Jakub Jelinek <jakub@redhat.com>
4028 * config/rs6000/t-linux64 (bispecs): Don't add -mlong-double-128 for
4029 32-bit builds when defaulting to 32-bit.
4031 2004-03-17 Richard Sandiford <rsandifo@redhat.com>
4034 * config/mips/mips.md (UNSPEC_GP): New constant.
4035 * config/mips/mips.c (CONST_GP_P): Expect the CONST to contain
4036 an UNSPEC instead of (reg $gp).
4037 (mips16_gp_pseudo_reg): Change accordingly.
4038 (print_operand): Print $gp directly when handling CONST_GP_P.
4040 2004-03-16 Mark Mitchell <mark@codesourcery.com>
4043 * fold-const.c (fold): Set TREE_NO_UNUSED_WARNING on implicitly
4044 generated COMPOUND_EXPRs.
4046 2004-03-16 Nathanael Nerode <neroden@gcc.gnu.org>
4049 * Makefile.in: Pass $(INCLUDES) down to libgcc.mk explicitly.
4051 2004-03-16 Richard Henderson <rth@redhat.com>
4054 * except.c (collect_one_action_chain): Create action record for
4055 cleanup outer of exception spec.
4057 2004-03-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4060 * config.gcc: Switch sh-*-rtems* to ELF. Add sh-*-rtemscoff.
4062 2004-03-15 Richard Henderson <rth@redhat.com>
4065 * target.h (struct gcc_target): Move calls substructure before
4066 booleans. Add split_complex_arg.
4067 * function.c (assign_parms, split_complex_args): Use it.
4068 * calls.c (expand_call): Likewise.
4069 (split_complex_values): Likewise. Check for splittable types
4070 before allocating memory.
4071 (split_complex_types): Likewise.
4072 * system.h (SPLIT_COMPLEX_ARGS): Poison.
4073 * expr.h (SPLIT_COMPLEX_ARGS): Remove.
4074 * target-def.h (TARGET_SPLIT_COMPLEX_ARG): New.
4075 * config/alpha/alpha.c (alpha_split_complex_arg): New.
4076 (TARGET_SPLIT_COMPLEX_ARG): New.
4077 * config/alpha/alpha.h (SPLIT_COMPLEX_ARGS): Remove.
4078 * config/rs6000/rs6000.c (TARGET_SPLIT_COMPLEX_ARG): New.
4079 (rs6000_override_options): Zap it for non-AIX.
4080 (rs6000_function_value): Use targetm.calls.split_complex_arg.
4081 * config/rs6000/rs6000.h (SPLIT_COMPLEX_ARGS): Remove.
4082 * config/xtensa/xtensa.c (TARGET_SPLIT_COMPLEX_ARG): New.
4083 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Remove.
4084 * doc/tm.texi (TARGET_SPLIT_COMPLEX_ARG): Modify from old
4085 SPLIT_COMPLEX_ARGS entry.
4087 2004-03-15 Eric Botcazou <ebotcazou@act-europe.fr>
4089 * config/sparc/sparc.h: Rework comments about the code model
4090 in 64-bit environment and the mode 'Pmode'.
4091 * doc/invoke.texi (SPARC options): Rework description of the
4092 different code models supported in 64-bit environment.
4094 2004-03-14 Joseph S. Myers <jsm@polyomino.org.uk>
4096 * doc/contrib.texi, doc/extend.texi, doc/gcov.texi,
4097 doc/install.texi, doc/invoke.texi, doc/makefile.texi,
4098 doc/sourcebuild.texi, doc/tm.texi, doc/trouble.texi: Capitalize
4099 "gcc", "g++" and "g77" or mark up with appropriate markup. Adjust
4100 wording and grammar.
4102 2004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
4105 * c-decl.c (merge_decls): Do not copy the C_DECL_INVISIBLE flag
4106 from the new decl to the old decl.
4107 (pushdecl): Use lookup_name to search for a previous decl with the
4110 2004-03-13 Dara Hazeghi <dhazeghi@yahoo.com>
4112 * doc/install.texi: Note status of -fnew-ra.
4114 2004-03-13 Eric Botcazou <ebotcazou@libertysurf.fr>
4117 * expr.c (store_expr): Call emit_queue before generating the move
4118 from the temporary to the original target. Protect the temporary
4121 2004-03-13 Jakub Jelinek <jakub@redhat.com>
4124 * config/s390/s390.c (legitimize_pic_address): Don't abort on UNSPEC
4125 other than UNSPEC_GOTOFF.
4127 2004-03-13 Dean Ferreyra <dferreyra@igc.org>
4130 * config/avr/avr.c (avr_progmem_p): Add "attributes" parameter.
4131 (avr_insert_attributes): Pass "attributes" to avr_progmem_p.
4132 * config/avr/avr-protos.h (avr_progmem_p): Change prototype.
4134 2004-03-12 David Edelsohn <edelsohn@gnu.org>
4136 * doc/install.texi (*-ibm-aix*): Document assembler and achiver
4137 fixes required by libstdc++ and update installation instructions
4138 for libstdc++.a. Document use of Bash to speed up configuration.
4140 2004-03-12 Eric Botcazou <ebotcazou@libertysurf.fr>
4142 * doc/tm.texi (registers) <Values in Registers>: Add
4143 entry for REGMODE_NATURAL_SIZE.
4145 2004-03-11 Richard Henderson <rth@redhat.com>
4148 * config/alpha/alpha.h (STACK_BOUNDARY): Set to 128.
4150 2004-03-12 Alan Modra <amodra@bigpond.net.au>
4152 * real.c (encode_ibm_extended): Do round low word.
4154 2004-03-11 Richard Henderson <rth@redhat.com>
4157 * except.c (remove_unreachable_regions): Look thru CALL_PLACEHOLDER.
4159 2004-03-11 Richard Sandiford <rsandifo@redhat.com>
4162 * config/mips/mips.h (UNITS_PER_FPVALUE): Fix value for
4163 TARGET_SINGLE_FLOAT.
4165 2004-03-11 Kelley Cook <kcook@gcc.gnu.org>
4168 * configure: Regenerated with autoconf 2.57.
4169 * config.in: Regenerated with autoheader 2.57.
4171 2004-03-11 Alan Modra <amodra@bigpond.net.au>
4173 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Don't
4176 2004-03-11 Alan Modra <amodra@bigpond.net.au>
4178 * config/rs6000/t-linux64 (LIB2FUNCS_EXTRA): Add darwin-ldouble.c.
4179 (SHLIB_MAPFILES): Add libgcc-ppc64.ver.
4180 (SHLIB_MKMAP_OPTS): Delete.
4181 (TARGET_LIBGCC2_CFLAGS): Add -specs.
4182 (bispecs): Add rule.
4183 * config/rs6000/libgcc-ppc64.ver: New file.
4184 * config/rs6000/ppc64-fp.c (__fixtfdi, __floatditf): New functions.
4185 (__floatdidf, __floatdisf): Optimize multiply.
4186 (__fixunstfdi): New function.
4187 * config/rs6000/rs6000.c (rs6000_complex_function_value): Allow for
4188 real and imag parts larger than one register.
4189 (function_arg): Correct type of reg used when fp arg split partially
4191 * config/rs6000/darwin-ldouble.c: Protect with #if !_SOFT_FLOAT
4192 and __MACH__ or __powerpc64__.
4194 2004-03-10 Richard Henderson <rth@redhat.com>
4197 * c-decl.c (grokdeclarator): Don't warn for duplicate qualifiers
4198 except for pedantic c90 mode.
4200 2004-03-10 Andrew Haley <aph@redhat.com>
4202 PR optimization/14381
4203 * function.c (expand_function_end): Emit a blockage insn before
4204 the epilogue when -fnon-call-exceptions is used.
4206 2004-03-10 Joel Sherrill <joel@oarcorp.com>
4209 * config.gcc (powerpc*-*-rtems*): Use rs6000/t-rtems.
4211 2004-03-10 Roman Zippel <zippel@linux-m68k.org>
4214 * config/m68k/m68k.h (FIXED_REGISTERS): Add arg pointer.
4215 (CALL_USED_REGISTERS): Likewise.
4216 (REG_CLASS_CONTENTS): Likewise.
4217 (REG_ALLOC_ORDER): New.
4218 (REGNO_REG_CLASS): Use regno_reg_class.
4219 * config/m68k/m68k.c: Add regno_reg_class array.
4221 2004-03-10 Alan Modra <amodra@bigpond.net.au>
4222 Hartmut Penner <hpenner@de.ibm.com>
4224 * config/rs6000/rs6000.c (invalid_gpr_mem): New function.
4225 (base_reg_operand): New function.
4226 (legitimate_offset_address_p): Don't test modes in an attempt to
4227 distinguish gpr vs fpr mem loads/stores. Don't prohibit offsets
4228 invalid for 64-bit gpr loads/stores here.
4229 (secondary_reload_class): Add "inp" parameter. Generate a reload
4230 for 64-bit gpr loads/stores.
4231 * config/rs6000/rs6000.h (SECONDARY_RELOAD_CLASS): Delete.
4232 (SECONDARY_INPUT_RELOAD_CLASS, SECONDARY_OUTPUT_RELOAD_CLASS): Define.
4233 (PREDICATE_CODES): Add invalid_gpr_mem and base_reg_operand.
4234 (DISPARAGE_RELOAD_CLASS): Define.
4235 * config/rs6000/rs6000-protos.h (secondary_reload_class): Update.
4236 * config/rs6000/rs6000.md (movdf_hardfloat64): Correct attrs.
4237 Add m->b alternative and split.
4238 (movdi_internal64): Replace r->m and m->r with r->Y and Y->r.
4239 Add m->b alternative and split.
4240 * reload.c (find_reloads): Invoke DISPARAGE_RELOAD_CLASS.
4242 2004-03-10 Hans-Peter Nilsson <hp@axis.com>
4245 * doc/md.texi (Pattern Ordering, Dependent Patterns)
4246 (Jump Patterns, Looping Patterns): Wrap in separate "@ifset
4249 2004-03-09 Zack Weinberg <zack@codesourcery.com>
4251 * config/ia64/hpux.h (MULTILIB_DEFAULTS): Define.
4252 (LIBGCC_SPEC): Update to match.
4254 2004-03-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
4256 * config/h8300/t-rtems (h8300-*-rtems*): New.
4257 * config.gcc: Use config/h8300/t-rtems.
4259 2004-03-09 Roger Sayle <roger@eyesopen.com>
4262 * c-typeck.c (c_mark_addressable): A register variable should
4263 be considered global if its not automatic, i.e. TREE_PUBLIC,
4264 TREE_STATIC or DECL_EXTERNAL.
4265 * function.c (put_var_into_stack): Call abort when placing a
4266 hard register into the stack, if x_parm_reg_stack_loc is NULL.
4268 2004-03-08 David Edelsohn <edelsohn@gnu.org>
4270 * collect2.c (main): Only export initfunc and finifunc if
4271 LD_INIT_SWITCH not defined.
4272 (scan_prog_file): Only export constructors and destructors if
4273 LD_INIT_SWITCH not defined. Only export symbols not found in
4276 2004-03-09 Alan Modra <amodra@bigpond.net.au>
4278 * doc/tm.texi (INIT_CUMULATIVE_ARGS): Update doco.
4279 * calls.c (expand_call): Pass n_named_args to INIT_CUMULATIVE_ARGS.
4280 (emit_library_call_value_1): Likewise pass nargs.
4281 * expr.c (block_move_libcall_safe_for_call_parm): Pass 3 here.
4282 * function.c (assign_parms): Pass -1 to INIT_CUMULATIVE_ARGS.
4283 * config/rs6000/rs6000.c (init_cumulative_args): Use n_named_args
4284 parameter instead of scanning TYPE_ARGS_TYPES to count args.
4285 * config/rs6000/rs6000-protos.h (init_cumulative_args): Update
4287 * config/rs6000/rs6000.h (INIT_CUMULATIVE_ARGS): Pass extra arg.
4288 (INIT_CUMULATIVE_INCOMING_ARGS): Set extra arg to 1000.
4289 (INIT_CUMULATIVE_LIBCALL_ARGS): Set extra arg to 0.
4290 * config/sh/sh.c (sh_output_mi_thunk): Pass 1 as n_named_args to
4291 INIT_CUMULATIVE_ARGS.
4292 * config/alpha/alpha.h (INIT_CUMULATIVE_ARGS): Update.
4293 * config/alpha/unicosmk.h, config/alpha/vms.h, config/arc/arc.h,
4294 config/arm/arm.h, config/avr/avr.h, config/c4x/c4x.h,
4295 config/cris/cris.h, config/d30v/d30v.h, config/dsp16xx/dsp16xx.h,
4296 config/fr30/fr30.h, config/frv/frv.h, config/h8300/h8300.h,
4297 config/i370/i370.h, config/i386/i386.h, config/i860/i860.h,
4298 config/i960/i960.h, config/ia64/ia64.h, config/ip2k/ip2k.h,
4299 config/iq2000/iq2000.c, config/iq2000/iq2000.h, config/m32r/m32r.h,
4300 config/m68hc11/m68hc11.h, config/m68k/m68k.h, config/mcore/mcore.h,
4301 config/mips/mips.h, config/mmix/mmix.h, config/mn10300/mn10300.h,
4302 config/ns32k/ns32k.h, config/pa/pa.h, config/pdp11/pdp11.h,
4303 config/s390/s390.h, config/sh/sh.h, config/sparc/sparc.h,
4304 config/stormy16/stormy16.h, config/v850/v850.h, config/vax/vax.h,
4305 config/xtensa/xtensa.h: Likewise.
4307 2004-03-09 Alan Modra <amodra@bigpond.net.au>
4310 * dwarf2out.c (enum dw_val_class): Rename dw_val_class_float to
4311 dw_val_class_vec. Replace use throughout file.
4312 (dw_float_const): Delete.
4313 (dw_vec_const): New.
4314 (dw_val_struct_union): Rename val_float to val_vec. Replace use
4316 (add_AT_vec): Rename from add_AT_float. Add elt_size param.
4317 (same_dw_val_p): Adjust vec comparison. Use memcmp.
4318 (size_of_die): Adjust dw_val_class_vec sizing.
4319 (output_die): Output dw_val_class_vec.
4320 (insert_int, extract_int, insert_float): New functions.
4321 (add_const_value_attribute): Use insert_float for CONST_DOUBLE.
4322 Handle CONST_VECTOR.
4323 (add_location_or_const_value_attribute): Handle CONST_VECTOR.
4325 2004-03-08 Joel Sherrill <joel@oarcorp.com>
4328 * config/rs6000/t-rtems: Add missing file on branch.
4330 2004-03-08 Roger Sayle <roger@eyesopen.com>
4332 * fold-const.c (fold) <EQ_EXPR>: Rewrite optimization to transform
4333 "foo++ == const" into "++foo == const+incr".
4335 2004-03-08 Ulrich Weigand <uweigand@de.ibm.com>
4337 * config/s390/s390.md ("*extendqidi2_short_displ"): Add CC clobber.
4338 ("*extendqisi2_short_displ"): Likewise.
4340 2004-03-08 Eric Botcazou <ebotcazou@act-europe.fr>
4342 * expr.c (highest_pow2_factor_for_type): Rename into
4343 highest_pow2_factor_for_target. Use DECL_ALIGN instead of
4344 TYPE_ALIGN when the target is a COMPONENT_REF.
4345 (expand_assignment): Ajust call to highest_pow2_factor_for_type.
4347 2004-03-08 Alan Modra <amodra@bigpond.net.au>
4349 * config/rs6000/rs6000.c: Formatting fix.
4350 (legitimate_offset_address_p): Correct offset range check.
4352 * config/rs6000/rs6000.c (rs6000_override_options): Don't override
4353 -msoft-float by -mcpu. Consolidate similar code for MASK_MULTIPLE
4356 2004-03-07 Aldy Hernandez <aldyh@redhat.com>
4358 * config/rs6000/rs6000.md (ashrdi3): Do not call ashrdi3_no_power
4360 ("ashrdi3_no_power"): Disable for little endian.
4363 2004-03-07 Aldy Hernandez <aldyh@redhat.com>
4365 * config/rs6000/rs6000.c (rs6000_parse_abi_options): SPE and
4366 AltiVec abi cannot co-exist.
4368 * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Same.
4370 2004-03-07 Hans-Peter Nilsson <hp@axis.com>
4373 * configure.ac (Target-specific assembler checks) <cris-*-*>: New
4374 case, checking for -no-mul-bug-abort option.
4375 * configure, config.in: Regenerate.
4376 * doc/invoke.texi (CRIS Options): Document -mmul-bug-workaround
4377 and -mno-mul-bug-workaround.
4378 * config/cris/cris.md ("smulsi3_highpart", "umulsi3_highpart")
4379 ("mulsidi3", "umulsidi3"): Prefix output template with "%!".
4380 ("umulhisi3", "umulqihi3", "mulsi3", "mulqihi3", "mulhisi3"):
4381 Ditto. Make attribute "slottable" dependent on TARGET_MUL_BUG.
4382 * config/cris/mulsi3.asm (__Mul) [__CRIS_arch_version >= 10]: Make
4383 sure mulu.d is not last on cache-line.
4384 * config/cris/cris.h (ASM_SPEC): Translate -mno-mul-bug-workaround
4385 into -no-mul-bug-abort depending on HAVE_AS_MUL_BUG_ABORT_OPTION.
4386 (TARGET_MASK_MUL_BUG, TARGET_MUL_BUG): New macros.
4387 (TARGET_SWITCHES): New options -mmul-bug-workaround and
4388 -mno-mul-bug-workaround.
4389 (TARGET_DEFAULT): Include TARGET_MASK_MUL_BUG.
4390 (PRINT_OPERAND_PUNCT_VALID_P): Include '!'.
4391 * config/cris/cris.c (cris_operand_extend_operator): Clarify
4392 relation to MULT in head comment.
4393 (cris_op_str): Abort for MULT.
4394 (cris_print_operand) <case '!'>: New case.
4396 2004-03-07 Stephane Carrez <stcarrez@nerim.fr>
4398 * config/m68hc11/m68hc11.md ("*lshrsi3_const"): Disable for 68HC12.
4399 ("*lshrsi3"): Also accept an immediate for 68HC12.
4400 ("*ashrsi3_const"): Likewise.
4401 ("*ashrsi3"): Likewise.
4402 ("*ashlsi3_const"): Likewise.
4403 ("*ashlsi3"): Likewise.
4404 ("cmphi_1_hc12"): Compare two hard register by pushing them and
4405 comparing with a pop; don't use a split for that.
4406 ("cmphi split"): Disable compare split for 68HC12.
4408 * config/m68hc11/m68hc11.c (m68hc11_notice_update_cc): Invalidate
4409 the status operands if they have side effects.
4411 2004-03-07 Richard Sandiford <rsandifo@redhat.com>
4413 * config/mips/mips.c (mips_in_small_data_p): Return false if
4416 2004-03-06 Stephane Carrez <stcarrez@nerim.fr>
4418 * config/m68hc11/m68hc11.c (m68hc11_gen_movhi): Use 2,-sp to push
4420 (expand_prologue): Don't make an interrupt or a trap handler a far
4422 (m68hc11_initial_elimination_offset): Likewise.
4424 2004-03-06 Richard Henderson <rth@redhat.com>
4426 * config/alpha/alpha.c (alpha_in_small_data_p): False for functions.
4428 2004-03-06 Richard Henderson <rth@redhat.com>
4430 * config/alpha/alpha.h (MASK_LONG_DOUBLE_128): New.
4431 (TARGET_LONG_DOUBLE_128): New.
4432 (TARGET_SWITCHES): Add long-double-{128,64}.
4433 (TARGET_HAS_XFLOATING_LIBS): Default to TARGET_LONG_DOUBLE_128.
4434 (LONG_DOUBLE_TYPE_SIZE): Honor TARGET_LONG_DOUBLE_128.
4435 (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): New.
4436 (WIDEST_HARDWARE_FP_SIZE): New.
4437 (TARGET_CPU_CPP_BUILTINS): Define __LONG_DOUBLE_128__.
4438 * config/alpha/alpha.c (override_options): Clear MASK_LONG_DOUBLE_128
4439 if TARGET_VAX_FLOAT.
4440 * config/alpha/osf5.h (LONG_DOUBLE_TYPE_SIZE): Remove.
4441 (TARGET_DEFAULT): Set MASK_LONG_DOUBLE_128.
4443 2004-03-06 Ulrich Weigand <uweigand@de.ibm.com>
4445 * config/s390/s390.md ("load_multiple", "*load_multiple_di",
4446 "*load_multiple_si"): Allow only if reload_completed.
4447 ("store_multiple", "*store_multiple_di", "*store_multiple_si"):
4450 2004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4454 * c-decl (pushdecl): Revert previous change.
4456 2004-03-06 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4458 * pa.md (icacheflush): Reorder operands to make match_scratch operand
4460 * pa.h (INITIALIZE_TRAMPOLINE): Remove unnecessary scratch argument
4461 from calls to gen_icacheflush.
4463 2004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4466 * config/i386/i386.md (movv2di_internal): Conditionalize on
4467 TARGET_SSE, not TARGET_SSE2.
4469 2004-03-06 Eric Botcazou <ebotcazou@libertysurf.fr>
4472 * c-decl (pushdecl): Do not record a previous, not-in-scope,
4473 external decl for restoration.
4475 2004-03-05 Waldek Hebisch <hebisch@math.uni.wroc.pl>
4478 * function.c (uninitialized_vars_warning): Use DECL_RTL_SET_P
4479 instead of testing whether DECL_RTL is not NULL.
4481 2004-03-05 Andreas Krebbel <krebbel1@de.ibm.com>
4483 * rtl.h (mem_expr_equal_p): Function prototype added.
4484 * cfgcleanup.c (merge_memattrs): New function.
4485 (flow_find_cross_jump): Call merge_memattrs for matching insns.
4486 * emit-rtl.c (mem_expr_equal_p): New function.
4488 2004-03-05 Bob Wilson <bob.wilson@acm.org>
4490 * config/xtensa/xtensa.c (function_arg): Handle 16-byte aligned args.
4491 (xtensa_va_start): Initialize __va_stk to ($arg_ptr - 32). Adjust
4492 __va_ndx by 2 words when referencing an argument on the stack.
4493 (xtensa_va_arg): Handle 16-byte aligned args. Adjust __va_ndx by 2
4494 words when an arg on the stack is first seen.
4496 2004-03-05 Nathan Sidwell <nathan@codesourcery.com>
4499 * gcc.c (cc1_options): Robustify -auxbase-strip from multiple -o
4502 2004-03-04 Bob Wilson <bob.wilson@acm.org>
4504 * config/xtensa/xtensa.c (xtensa_return_in_msb): New function.
4505 (TARGET_RETURN_IN_MSB): Define to xtensa_return_in_msb.
4507 2004-03-04 Alan Modra <amodra@bigpond.net.au>
4509 * real.c (encode_ibm_extended): Don't bother rounding low double.
4510 * c-cppbuiltin.c (builtin_define_float_constants): Tweak MAX
4511 when fmt->pnan < fmt->p.
4513 2004-03-04 Alan Modra <amodra@bigpond.net.au>
4516 * config/rs6000/rs6000.md (abstf2, abstf2+1): Delete define_insn.
4517 (abstf2, abstf2_internal): New define_expand.
4519 2004-03-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4521 PR optimization/14235
4522 * expr.c (convert_move): Copy the source to a new pseudo
4523 when converting from a sub-word source to a larger-than-word
4524 register which conflicts with the source.
4526 2004-03-03 Zack Weinberg <zack@codesourcery.com>
4529 * c-decl.c (diagnose_mismatched_decls): Issue an error for two
4530 parameters with the same name, unless one is a forward decl.
4531 Do not issue a redundant-redeclaration warning for forward
4532 decls of parameters.
4534 2004-03-03 Stephane Carrez <stcarrez@nerim.fr>
4536 * config/m68hc11/m68hc11.c (m68hc11_override_options): Disable -fweb
4537 because it breaks the 32-bit shift patterns that rely on a match_dup.
4538 (print_operand): Don't print a * before the base address.
4540 2003-03-03 Richard Henderson <rth@redhat.com>
4543 * cselib.c (cselib_record_sets): Don't record multiple sets in
4546 2004-03-03 Nicolas Pitre <nico@cam.org>
4548 * config/arm/ieee754-df.S (muldf3, divdf3): Fix denormalization of
4549 small negative values.
4551 2004-03-02 Kazu Hirata <kazu@cs.umass.edu>
4553 * config/h8300/lib1funcs.asm (___fixunssfsi): Change the
4557 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
4558 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
4560 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
4561 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
4563 2004-03-02 Richard Henderson <rth@redhat.com>
4566 * coverage.c (coverage_counter_ref): Set MEM_NOTRAP_P.
4567 * optabs.c (prepare_cmp_insn): Force trapping memories to registers
4568 before the compare, if flag_non_call_exceptions.
4570 2004-03-02 Richard Henderson <rth@redhat.com>
4573 * stmt.c (expand_computed_goto): Do do_pending_stack_adjust before
4574 emitting the label, not after.
4576 2004-03-02 David O'Brien <obrien@FreeBSD.org>
4578 * config/freebsd-spec.h (FBSD_DYNAMIC_LINKER): Add.
4579 * config/alpha/freebsd.h (SUBTARGET_EXTRA_SPECS): Define
4580 %(fbsd_dynamic_linker),
4581 (LINK_SPEC): Use %(fbsd_dynamic_linker), and sync style with
4582 config/i386/freebsd.h
4583 * config/arm/freebsd.h: Ditto.
4584 * config/i386/freebsd.h: Ditto.
4585 * config/i386/freebsd64.h: Ditto.
4586 * config/ia64/freebsd.h: Ditto.
4587 * config/rs6000/sysv4.h: Ditto.
4588 * config/sparc/freebsd.h: Ditto.
4590 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4592 * config/m68hc11/m68hc11.c (m68hc11_addr_mode): New variable.
4593 (m68hc11_mov_addr_mode): Likewise.
4594 (m68hc11_override_options): Initialize them based on target.
4595 (register_indirect_p): Allow a MEM for indirect addressing modes and
4596 use flags to control what is allowed.
4597 (m68hc11_small_indexed_indirect_p): Use m68hc11_mov_addr_mode for
4598 supported addressing modes.
4599 (m68hc11_register_indirect_p): Use m68hc11_addr_mode.
4600 (go_if_legitimate_address_internal): Likewise.
4601 (m68hc11_indirect_p): Likewise and check the mode.
4602 (print_operand): Allow a (MEM (MEM)) and generate indirect addressing.
4604 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4606 * config/m68hc11/m68hc11.md (move peephole2): New peepholes to optimize
4608 (add peepholes): New peepholes to optimize sequences adding small
4610 (bset peepholes): New peepholes to transform an OR in a bset form
4611 (bclr peepholes): Likewise for bclr form.
4612 (cmp peepholes): New peepholes to avoid register copies when comparing.
4614 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4616 * config/m68hc11/m68hc11.md ("*pushdi_internal"): New insn and split
4617 to separate push from moves.
4618 ("*pushdf_internal"): Likewise.
4619 ("*pushsf_internal"): Likewise.
4620 ("*pushsi_internal"): Likewise.
4621 ("movdi_internal"): Use define_insn_and_split; non push operand.
4622 ("movdf_internal"): Likewise.
4623 ("movsf_internal"): Likewise.
4624 ("movsi_internal"): Likewise.
4625 ("*movhi_68hc12", "*addhi3_68hc12"): Fix and tune constraints
4626 ("*addhi3", "*subhi3", "*andhi3_mem", "*iorhi3_mem"): Likewise.
4627 ("*ashlsi3_const1", "*lshrsi3_const1"): Likewise.
4629 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4631 * config/m68hc11/m68hc11.md ("tstqi_z_used"): Use define_insn_and_split.
4632 ("cmphi_z_used", "cmpqi_z_used"): Likewise.
4633 ("movstrictsi", "movstricthi", "movstrictqi"): Likewise.
4634 ("anddi3", "andsi3", "iordi3", "iorsi3"): Likewise.
4635 ("xordi3", "xorsi3", "*logicalsi3_zexthi"): Likewise.
4636 ("*logicalsi3_zextqi", "*logicalhi3_zexthi_ashift8"): Likewise.
4637 ("logicalhi3_zexthi", "*logicalsi3_silshr16"): Likewise.
4638 ("*logicalsi3_silshl16", "*logicalsi3_silshl16_zext"): Likewise.
4639 ("*ashldi3_const32", "*ashldi3_const1", "addsi_silshr16"): Likewise.
4640 ("addsi_andshr16", "*ashlsi3_const16_zexthi"): Likewise.
4641 ("*lshrdi3_const32", "*lshrdi_const1"): Likewise.
4643 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4645 * config/m68hc11/m68hc11.md (SOFT_TMP_REGNUM): Define.
4646 (SOFT_XY_REGNUM): Define.
4647 (cmp split): Use the above instead of hard coded numbers.
4648 (8-bit op split): No need to check the mode; allow Q_REG.
4649 (ashift split): Adjust the first operand if it uses the SP and we
4650 are pushing the shifted value.
4651 (plus shift split): Fix when a source is in register D+X.
4652 ("doloop_end"): Pass dummy arguments to gen_rtx_NE.
4654 2004-03-02 Stephane Carrez <stcarrez@nerim.fr>
4656 * config/m68hc11/m68hc11.c (m68hc11_check_z_replacement): Fix when
4657 comparing with Z register.
4659 2004-03-02 Loren James Rittle <ljrittle@acm.org>
4661 * gcc/doc/install.texi (*-*-freebsd*): Update target information.
4663 2004-03-01 Mark Mitchell <mark@codesourcery.com>
4666 * gcc.c (process_command): Remove const-qualification from argv.
4669 2004-03-01 Mircea Namolaru <namolaru@il.ibm.com>
4671 * cfgloop.h (get_var_set_from_bct, is_bct_cond): Declaration of
4673 * cfgloopanal.c: Include loop.h.
4674 (get_var_set_from_bct): New function.
4675 (is_bct_cond): New function.
4676 (blocks_single_set_registers): Handle branch and count jumps.
4677 (count_loop_iterations): Likewise.
4678 (simple_increment): Likewise
4679 * doloop.c (doloop_condition_get): Export.
4680 * loop-init.c (fixup_loop_exit_succesor): New function.
4681 (loop_optimizer_finalize): Handle loops ending with branch and
4683 * loop-unroll.c: Include toplev.h
4684 (discard_increment): New function.
4685 (expand_bct): New function.
4686 (peel_loop_completely): Handle the removal of branch and count jumps.
4687 (unroll_loop_constant_iterations): Likewise.
4688 (unroll_loop_runtime_iterations): Likewise
4689 * loop.h (doloop_condition_get): Declare.
4691 2004-02-29 Mark Mitchell <mark@codesourcery.com>
4694 * dwarf2out.c (gen_enumeration_type_die): Output all enumeration
4695 constants as signed values.
4697 2004-02-29 Mark Mitchell <mark@codesourcery.com>
4700 * c-tree.h (readonly_warning): Rename to ...
4701 (readonly_error): ... this.
4702 * c-typeck.c (build_unary_op): Adjust accordingly.
4703 (readonly_warning): Rename to ...
4704 (readonly_error): ... this and issue errors, not warnings.
4705 (build_modify_expr): Call readonly_error, not readonly_warning.
4706 (c_expand_asm_operands): Likewise.
4707 * tree-inline.c (optimize_inline_calls): Do not inline functions
4708 after errors have occurred.
4710 2004-02-29 Kazu Hirata <kazu@cs.umass.edu>
4712 * doc/cppopts.texi: Fix a typo.
4714 2004-02-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4716 * pa64-hpux.h (LIB_SPEC): Fix linking under HP-UX 11.00 with -p and -pg.
4718 2004-02-27 Ian Lance Taylor <ian@wasabisystems.com>
4720 PR optimization/7871
4721 * flow.c (mark_set_1): Don't add LOG_LINKS for global registers
4722 from or to call insns.
4724 2004-02-27 Eric Botcazou <ebotcazou@libertysurf.fr>
4726 PR optimization/7871
4727 * flow.c (propagate_one_insn): Interpret calls as setting global
4728 registers, not merely clobbering them.
4730 2004-02-27 Kazu Hirata <kazu@cs.umass.edu>
4732 * config/h8300/fixunssfsi.c (__fixunssfsi): Enable on H8/300
4734 * config/h8300/lib1funcs.asm (___fixunssfsi): Remove.
4735 * config/h8300/t-h8300 (LIB1ASMFUNCS): Remove _fixunssfsi_asm.
4737 2004-02-27 Daniel Jacobowitz <drow@mvista.com>
4739 * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode
4740 size for minipool references.
4742 2004-02-27 Eric Botcazou <ebotcazou@act-europe.fr>
4743 Roger Sayle <roger@eyesopen.com>
4745 * fold-const.c (fold): Revert 2004-02-25 change. Use the original
4746 operands to build a tree with swapped operands.
4747 * expr.c (expand_expr_real) <MAX_EXPR>: Consistently use the
4748 'unsignedp' predicate to specify the signedness.
4750 2004-02-26 Aldy Hernandez <aldyh@redhat.com>
4752 * config/rs6000/rs6000.md: Add fixuns_truncsfsi2 and
4755 * config/rs6000/spe.md: Delete spe_efsctuiz.
4756 Add spe_fixuns_truncsfsi2.
4757 Add spe_fix_truncsfsi2.
4759 2004-02-26 Bob Wilson <bob.wilson@acm.org>
4761 * config/xtensa/xtensa.h (TARGET_CPU_CPP_BUILTINS): Define __xtensa__.
4763 2004-02-25 James E Wilson <wilson@specifixinc.com>
4765 * gcc-simple.c (rtl_zone, tree_zone, garbage_zone, ggc_alloc_typed,
4766 ggc_alloc_zone): New.
4767 (ggc_pch_count_object, gcc_pch_alloc_object, ggc_pch_write_object):
4768 Add bool is_string parameter.
4770 2004-02-26 Alan Modra <amodra@bigpond.net.au>
4772 * gcse.c (delete_null_pointer_checks_1): Set stop_insn to end, not
4773 beginning of block. Do not delete CC setter unless HAVE_cc0.
4775 2004-02-25 Kelley Cook <kcook@gcc.gnu.org>
4777 * doc/contrib.texi: Add an entry for myself.
4779 2004-02-25 Kelley Cook <kcook@gcc.gnu.org>
4781 * config.gcc: Add comment describing extra_gcc_objs.
4782 i[34567]86-*-cygwin*): Replace host_extra_gcc_objs with extra_gcc_objs.
4783 * configure.ac (extra_gcc_objs): New substitution variable.
4784 (host_extra_gcc_objs): Don't substitute.
4785 * configure: Regenerate.
4786 * Makefile.in: Use extra_gcc_objs.
4788 2004-02-25 Eric Botcazou <ebotcazou@act-europe.fr>
4790 * fold-const.c (fold): Treat MAX_EXPR and MIN_EXPR like
4791 comparisons with regard to signedness.
4793 2004-02-25 Jakub Jelinek <jakub@redhat.com>
4795 * gcov-io.c (gcov_open) [GCOV_LOCKED]: Use open + fdopen instead of
4797 * libgcov.c: Include sys/stat.h.
4798 * config/rs6000/linux.h (TARGET_HAS_F_SETLKW): Define.
4799 * config/rs6000/linux64.h (TARGET_HAS_F_SETLKW): Define.
4800 * config/sparc/linux.h (TARGET_HAS_F_SETLKW): Define.
4801 * config/sparc/linux64.h (TARGET_HAS_F_SETLKW): Define.
4803 2004-02-25 Richard Earnshaw <rearnsha@arm.com>
4805 * arm.c (arm_legitimate_index_p): For QImode the range of an offset
4806 is -4095...+4095 inclusive.
4808 2004-02-25 Eric Botcazou <ebotcazou@libertysurf.fr>
4810 * doc/install.texi (sparc-sun-solaris2* specific notes): Document
4811 the bootstrap failure with Sun CC 5.4 and 5.5.
4813 2004-02-24 Kazu Hirata <kazu@cs.umass.edu>
4815 * cse.c (cse_change_cc_mode_insns): Stop at any instruction
4816 which modifies NEWREG.
4817 (cse_condition_code_reg): Update the mode of CC_REG in
4818 CC_SRC_INSN on our own.
4820 2004-02-24 Michael Matz <matz@suse.de>
4822 * config/i386/i386.c (ix86_comp_type_attributes): Check for
4825 2004-02-24 Aldy Hernandez <aldyh@redhat.com>
4827 * config/rs6000/spe.md (spe_fix_truncsfsi2): Delete.
4828 (spe_fixuns_truncsfsi2): Delete.
4830 * config/rs6000/rs6000.md (fix_truncsfsi2): Delete.
4831 (fixuns_truncsfsi2): Delete.
4833 2004-02-24 Josef Zlomek <zlomekj@suse.cz>
4836 * rtlanal.c (replace_label): Fix replacing labels in constant pool.
4838 2004-02-24 Bob Wilson <bob.wilson@acm.org>
4840 * config/xtensa/xtensa-protos.h (xtensa_copy_incoming_a7): Update.
4841 (init_cumulative_args): Likewise.
4842 (a7_overlap_mentioned_p): Delete prototype.
4843 * config/xtensa/xtensa.c (struct machine_function): Replace
4844 incoming_a7_copied field with need_a7_copy and vararg_a7 flags.
4845 Add set_frame_ptr_insn field.
4846 (xtensa_emit_move_sequence): Update call to xtensa_copy_incoming_a7.
4847 (xtensa_copy_incoming_a7): Rewrite to check need_a7_copy flag and check
4848 if the operand is an argument in a7. If so, copy a7 to a new pseudo
4849 at the function entry and replace the operand with the pseudo.
4850 (init_cumulative_args): Remove unused arguments. Add new "incoming"
4851 argument and record this flag in CUMULATIVE_ARGS.
4852 (function_arg): Remove result_mode and special-case code to handle
4853 arguments in a7. Instead, set need_a7_copy flag when there is an
4854 incoming argument in a7.
4855 (xtensa_expand_prologue): Remove code to search for set_frame_ptr insn
4856 and use the value recorded in cfun->machine->set_frame_ptr_insn.
4857 (xtensa_builtin_saveregs): Check for negative gp_left value. Set
4858 need_a7_copy and vararg_a7 flags. Use move_block_from_reg instead of
4860 (a7_overlap_mentioned_p): Delete.
4861 * config/xtensa/xtensa.h (CUMULATIVE_ARGS): Add "incoming" flag.
4862 (INIT_CUMULATIVE_ARGS, INIT_CUMULATIVE_INCOMING_ARGS): Remove useless
4863 arguments to init_cumulative_args and pass "incoming" flag instead.
4864 (BLOCK_REG_PADDING): Delete.
4865 * config/xtensa/xtensa.md (movdi, movsf, movdf): Remove unnecessary
4866 checks for reload_in_progress and reload_completed. Update calls to
4867 xtensa_copy_incoming_a7.
4868 (ashlsi3): Rename existing insn to ashlsi3_internal. Add expander
4869 to call xtensa_copy_incoming_a7.
4871 2004-02-24 Richard Earnshaw <rearnsha@arm.com>
4873 * invoke.texi (ARM Options): Mark -mapcs-26 and -mno-alignment-traps
4874 as deprecated. Remove already deprecated synonyms.
4875 * arm.c (arm_override_options): Generate an inform message if the
4876 user tries to invoke the compiler in apcs-26 mode.
4877 * arm.h (TARGET_SWITCHES): Remove help comments from deprecated
4878 switches. Delete deprecated synonyms for -malignment-traps.
4879 (TARGET_DEFAULT): Default to alignment traps.
4880 * arm/coff.h (TARGET_DEFAULT): Default to alignment traps.
4881 * arm/elf.h arm/netbsd.h arm/pe.h arm/semi.h arm/semiaof.h: Likewise.
4882 * arm/unknown-elf.h arm/wince-pe.h: Likewise.
4884 2004-02-23 H.J. Lu <hongjiu.lu@intel.com>
4886 * config/i386/i386.h: Deprecate -mpni/-mno-pni.
4888 2004-02-23 Kelley Cook <kcook@gcc.gnu.org>
4890 * config/i386/i386.c: Rename pni to sse3.
4891 * config/i386/i386.h: Likewise.
4892 * config/i386/i386.md: Likewise.
4893 * config/i386/pmmintrin.h: Likewise.
4894 * doc/extend.texi: Likewise.
4895 * doc/invoke.texi: Likewise.
4897 2004-02-23 Andrew Pinski <pinskia@physics.uc.edu>
4899 * config/rs6000/linux.h (OS_MISSING_POWERPC64): Define.
4900 * config/rs6000/linux64.h (OS_MISSING_POWERPC64): Define.
4902 2004-02-23 Eric Botcazou <ebotcazou@libertysurf.fr>
4903 Falk Hueffner <falk@debian.org>
4906 * builtins.c (expand_builtin_va_arg): Emit an informative message
4907 if a trap is generated.
4908 * c-typeck.c (build_function_call): Likewise.
4910 2004-02-22 Christopher Faylor <cgf@redhat.com>
4912 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): *Really* specify
4913 extra host object file when targetting cygwin rather than generic
4916 2004-02-22 Matthias Klose <doko@debian.org>
4918 Taken from mainline:
4920 2004-02-12 Geoffrey Keating <geoffk@apple.com>
4922 * Makefile.in (install-man): Use $(CPP_INSTALL_NAME) and
4923 $(GCOV_INSTALL_NAME) to install manpages. Remove generic rule
4924 for installing .1 manpages. Add rules for installing cpp
4925 and gcov manpages under their installed names.
4927 2004-02-22 Hans-Peter Nilsson <hp@axis.com>
4930 * config/cris/cris.md ("*andsi_movu", "*andhi_movu"): Tweak
4931 constraints to not match postincrement. Adjust the predicate to
4932 exclude a volatile memory reference.
4933 ("*andsi_clear"): Tweak constraints to not match postincrement.
4934 Adjust the predicate to exclude a volatile memory reference.
4935 ("*andhi_clear"): Ditto. Rename from "*andhi_clear_signed".
4936 ("*andhi_clear_unsigned"): Remove, non-matching pattern.
4938 2004-02-21 Christopher Faylor <cgf@redhat.com>
4940 * config.gcc (i[34567]86-*-pe|i[34567]86-*-cygwin*): Specify extra host
4941 object file when targetting cygwin.
4942 * config/i386/t-cygwin (EXTRA_GCC_OBJS): Remove definition since it is
4943 overridden by top-level Makefile.
4945 2004-02-21 Alan Modra <amodra@bigpond.net.au>
4947 * combine.c (can_combine_p): Don't ignore SETs marked with
4948 REG_EH_REGION notes.
4950 2004-02-21 Jan Hubicka <jh@suse.cz>
4952 * params.def (max-peeled-insns, max-completely-peeled-insns,
4953 max-once-peeled-insns): Set to 400.
4955 2004-02-20 Falk Hueffner <falk@debian.org>
4958 * config/alpha/alpha.md (*fix_truncsfsi_ieee): Fix typoed operand
4961 2004-02-20 Mohan Embar <gnustuff@thisiscool.com>
4962 Tom Tromey <tromey@redhat.com>
4964 * doc/install.texi: Moved --disable-libgcj and
4965 --with-system-zlib documentation to new section for
4966 Java-specific options.
4967 Added explicit Cross-Compiler-Specific Options subheading.
4968 Added section for Java-specific options.
4970 2004-02-20 James E Wilson <wilson@specifixinc.com>
4972 * toplev.c (dump_file_index, dump_file): Put ce3 before rnreg.
4974 2004-02-20 Josef Zlomek <zlomekj@suse.cz>
4976 * tree-inline.c (copy_body_r): Do not replace ret_label.
4978 2004-02-20 Kazu Hirata <kazu@cs.umass.edu>
4980 * gcc.c (process_command): Allow translation of the copyright
4981 symbol but not the rest of the copyright message.
4982 * gcov.c (print_version): Likewise. Allow translation of the
4983 message about warranty.
4985 2004-02-19 Aldy Hernandez <aldyh@redhat.com>
4987 * config/rs6000/spe.md (spe_fixunssfsi2): Rename to
4988 spe_fixuns_truncsfsi2.
4990 * config/rs6000/rs6000.md (fixunssfsi2): Rename to
4993 2004-02-19 Richard Sandiford <rsandifo@redhat.com>
4994 Maciej W. Rozycki <macro@ds2.pg.gda.pl>
4996 * config/mips/mips.c (mips_address_insns): Treat BLKmode specially.
4997 * config/mips/mips.md: Expand comment above unaligned loads and stores.
4999 2004-02-20 Alan Modra <amodra@bigpond.net.au>
5001 * function.c (assign_parms): Correct leakage of mainline code
5002 in last commit. Also leakage from INIT_CUMULATIVE_ARGS patch.
5004 2004-02-19 Zack Weinberg <zack@codesourcery.com>
5006 * config/ia64/ia64.c (ia64_function_arg): In big-endian mode,
5007 when passing single SFmode quantities in general registers,
5008 put them in the high half.
5009 (struct extern_func_list, extern_func_head): Mark with GTY(()).
5010 (ia64_hpux_add_extern_decl): Save the decl, not the name string.
5011 Allocate memory with ggc_alloc. No need to copy anything.
5012 (ia64_hpux_file_end): Update to match.
5014 2004-02-19 David Daney <ddaney@avtrex.com>
5016 PR preprocessor/14198
5017 * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Add
5018 builtin_assert ("machine=mips")
5020 2004-02-19 Ulrich Weigand <uweigand@de.ibm.com>
5022 * config/s390/s390.md ("*subdf3_cc", "*subdf3_cconly", "*subsf3_cc",
5023 "*subsf3_cconly"): Subtraction is not commutative.
5025 2004-02-19 Alan Modra <amodra@bigpond.net.au>
5027 * function.c (assign_parms): When building decl_rtl for
5028 SPLIT_COMPLEX_ARGS, ensure inner modes of concat match outer.
5030 2004-02-19 Olivier Hainque <hainque@act-europe.fr>
5032 * expr.c (is_aligning_offset): Check if we are aligning the
5033 expressions's address over BIGGEST_ALIGNMENT in bytes, not
5036 2004-02-19 Jan Hubicka <jh@suse.cz>
5038 * genextract.c (main): Do not output the memset when not checking.
5040 2004-02-18 Jakub Jelinek <jakub@redhat.com>
5042 * config/i386/i386.c (override_options): Don't imply 3DNow! for -m64
5045 2004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5047 * config/s390/s390.md ("divmoddisi3"): Fix incorrect mode.
5049 2004-02-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
5051 * pa.h (PIC_OFFSET_TABLE_REGNUM): Define to INVALID_REGNUM when not
5052 generating PIC code.
5054 2004-02-18 Ulrich Weigand <uweigand@de.ibm.com>
5056 * config/s390/s390.c (s390_mainpool_start): Delete the main pool
5057 placeholder insn when chunkifying the pool.
5059 2004-02-18 Per Bothner <per@bothner.com>
5061 * cpphash.h (struct cpp_buffer): Restore return_at_eof field. This
5062 partly reverts my 2003-10-01 change, because we're back to logically
5063 including <command line> inside the main line.
5064 * cpplex.c (_cpp_get_fresh_line): Check return_at_eof field.
5065 * cppmacro.c (cpp_scan_nooutput): Set return_at_eof of current buffer.
5066 Fixes PR preprocessor/14103.
5068 2004-02-18 Richard Earnshaw <rearnsha@arm.com>
5071 * arm.c (load_multiple_operation): Don't insist that the source reg
5072 of a post-increment component is the same as the destination.
5073 (store_multiple_operation): Likewise.
5075 2004-02-18 Paul Brook <paul@codesourcery.com>
5077 * rtlanal.c (rtx_varies_p): Return 0 for NULL_RTX
5079 2004-02-18 Mark Mitchell <mark@codesourcery.com>
5082 * config/ia64/ia64.c (ia64_struct_value_rtx): Cope with NULL
5085 2004-02-18 Paul Brook <paul@codesourcery.com>
5088 * dwarf2out.c (loc_descriptor_from_tree): Handle
5089 EXPR_WITH_FILE_LOCATION.
5091 2004-02-17 Mark Mitchell <mark@codesourcery.com>
5094 * c-common.c (flag_abi_version): Remove.
5095 * c-common.h (flag_abi_version): Likewise.
5096 * c-opts.c (c_common_handle_option): Remove OPT_fabi_version case.
5097 * c.opt (fabi-version): Remove.
5098 * calls.c (expand_call): Always pass a function type to
5099 struct_value_rtx. Use convert_memory_address.
5100 * common.opt (fabi-version): Add it.
5101 * flags.h (flag_abi_version): Likewise.
5102 (abi_version_at_least): New macro.
5103 * opts.c (common_handle_option): Add OPT_fabi_version.
5104 * toplev.c (flag_abi_version): Define it.
5105 * config/ia64/ia64.h (STRUCT_VALUE_REGNUM): Remove.
5106 * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): Define it.
5107 (ia64_struct_retval_addr_is_first_parm_p):
5109 (ia64_output_mi_thunk): Use it.
5110 (ia64_struct_value_rtx): New function.
5112 2004-02-18 Alan Modra <amodra@bigpond.net.au>
5114 PR optimization/14119
5115 * combine.c (try_combine): When attemting to fix unrecognized insns,
5116 don't delete SETs marked with REG_EH_REGION notes.
5118 2004-02-17 Jan Hubicka <jh@suse.cz>
5121 * cselib.c (remove_useless_values): Do not access released
5124 2004-02-17 Ulrich Weigand <uweigand@de.ibm.com>
5126 * combine.c (simplify_if_then_else): Do not replace
5127 (if_then_else (ne reg 0) (0) (const_int)) by (reg) if the
5130 2004-02-17 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5132 * config/mips/t-iris6gld: Renamed to ...
5133 * config/mips/t-irix-gld: ... this.
5134 * config.gcc (mips-sgi-irix6*): Reflect this
5135 (mips-sgi-irix5*): Use it with GNU ld.
5137 * config/mips/irix6-crti.asm, config/mips/irix6-crtn.asm: Renamed
5139 * config/mips/irix-crti.asm, config/mips/irix-crtn.asm: ... this.
5140 * config/mips/t-irix-gld: Reflect this.
5141 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5143 * config/mips/iris5gld.h: New file.
5144 * config.gcc (mips-sgi-irix5*): Use it with GNU ld.
5145 Only use collect2 without gas.
5147 * config/mips/iris6.h (IRIX6_STARTFILE_SPEC, IRIX6_ENDFILE_SPEC):
5148 Renamed to IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5149 (STARTFILE_SPEC, ENDFILE_SPEC, SUBTARGET_EXTRA_SPECS): Reflect this.
5150 * config/mips/iris6gld.h (STARTFILE_SPEC, ENDFILE_SPEC): Likewise.
5152 * config/mips/iris6.h (SUBTARGET_EXTRA_SPECS): Moved ...
5153 * config/mips/iris5.h: ... here.
5155 * config/mips/iris5.h (STARTFILE_SPEC, ENDFILE_SPEC): Renamed to
5156 IRIX_STARTFILE_SPEC, IRIX_ENDFILE_SPEC.
5157 (STARTFILE_SPEC, ENDFILE_SPEC): Define.
5159 * config/mips/iris5gas.h (STARTFILE_SPEC, ENDFILE_SPEC): Simplify
5160 using irix_startfile_spec, irix_endfile_spec.
5161 * patches.summary (http):
5163 2004-02-17 Andrew Pinski <pinskia@physics.uc.edu>
5166 * doc/invoke.texi (fabi-version): The default is 2 now.
5168 2004-02-17 Jonathan Wakely <redi@gcc.gnu.org>
5170 * doc/install.texi: Update description of --gxx-include-dir to
5171 give correct default value. (merged from mainline)
5173 2004-02-16 Matthias Klose <doko@debian.org>
5175 * config/t-slibgcc-elf-ver: Define SHLIB_NAME and SHLIB_SONAME
5176 in terms of SHLIB_SOVERSION.
5177 * config/m68k/t-slibgcc-elf-ver: New file.
5178 * config/pa/t-slibgcc-elf-ver: New file.
5179 * config.gcc (m68k-linux, parisc-linux): Use them when not
5180 sjlj exceptions are not configured.
5182 2004-02-16 Eric Botcazou <ebotcazou@libertysurf.fr>
5184 * config/sparc/sparc.c (get_pc_symbol_name): Mark with GTY(()).
5186 2004-02-16 Joseph S. Myers <jsm@polyomino.org.uk>
5188 * doc/sourcebuild.texi: Mention backends.html.
5190 2004-02-15 Roger Sayle <roger@eyesopen.com>
5192 Backport from mainline:
5194 2004-02-07 Roger Sayle <roger@eyesopen.com>
5196 * fold-const.c (fold_convert): New function to provide type
5197 conversion to the middle-end without using convert.
5198 (negate_expr, associate_trees, size_diffop, omit_one_operand,
5199 operand_equal_for_comparison_p, pedantic_omit_one_operand,
5200 invert_truthvalue, optimize_bit_field_compare, range_binop,
5201 decode_field_reference, make_range, build_range_check, unextend,
5202 fold_truthop, extract_muldiv_1, fold_mathfn_compare,
5203 fold_binary_op_with_conditional_arg, fold_inf_compare,
5204 fold_single_bit_test, fold, multiple_of_p): Replace all calls to
5205 convert with calls to fold_convert.
5207 2004-02-09 Roger Sayle <roger@eyesopen.com>
5208 * fold-const.c (fold) <NOP_EXPR>: Use the original type conversion
5209 tree code rather than call fold_convert, which doesn't specify a
5210 default floating point to integer conversion.
5212 2004-02-10 Paolo Bonzini <bonzini@gnu.org>
5214 * fold-const.c (fold) <NEGATE_EXPR>: Convert result of
5215 negate_expr back to the original type.
5217 2004-02-15 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
5219 Backport from mainline:
5221 2004-02-05 SUGIOKA Toshinobu <sugioka@itonet.co.jp>
5222 * config/sh/t-linux (SHLIB_INSTALL): Prepend $$(DESTDIR)
5223 to $$(slibdir) in the installation commands.
5225 2004-02-15 Roger Sayle <roger@eyesopen.com>
5227 Backport from mainline:
5229 2004-01-20 Roger Sayle <roger@eyesopen.com>
5230 * fold-const.c (fold_convert): Rename to fold_convert_const.
5231 (fold_convert_const): Change arguments to take a tree_code,
5232 a type and the operand/expression to be converted. Return
5233 NULL_TREE if no simplification is possible.
5234 (fold): Adjust call to fold_convert to match new fold_convert_const.
5235 Avoid modifying the tree passed to fold in-place.
5237 2004-02-15 Jan Hubicka <jh@suse.cz>
5239 * cselib.c (value_pool): New.
5240 (new_cselib_val): Use pool.
5241 (cselib_init): Initialize value_pool
5242 (cselib_finish): Free pool.
5244 * cselib.c: Include alloc-pool.h
5245 (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill.
5246 (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare.
5247 (new_elt_list, new_elt_loc_list, unchain_one_elt_list,
5248 unchain_one_elt_loc_list_pool, unchain_one_value,
5249 new_cselib_val): Simplify using allocpool.
5250 (cselib_init): Initialize allocpools.
5251 (cselib_finish): Finish allocpools.
5253 2004-02-14 Richard Sandiford <rsandifo@redhat.com>
5255 Backport from mainline:
5257 2002-04-08 Richard Sandiford <rsandifo@redhat.com>
5258 * real.c (encode_ibm_extended): Normalize the input value before
5259 converting it to a double. Handle the case where a normal value
5262 2004-02-14 Olivier Hainque <hainque@act-europe.fr>
5264 * loop.c (check_dbra_loop): Use gen_int_mode instead of GEN_INT
5265 for start_value when it is directly moved into reg, and factorize
5266 the retrieval of GET_MODE (reg).
5268 2004-02-13 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5270 * configure.ac: Search for as, ld below libexec/gcc.
5271 * configure: Regenerate.
5273 2004-02-13 Jan Hubicka <jh@suse.cz>
5275 * combine.c (recog_for_combine): Avoid allocating unnecesary RTX.
5277 * genrecog.c (find_operand): add extra argument stop.
5278 (validate_pattern): Verify that mach_dup is duplicating operand
5279 defined lexically earlier.
5281 2004-02-13 Ian Lance Taylor <ian@wasabisystems.com>
5284 * c-opts.c (c_common_post_options): Disable function inlining when
5285 using -finstrument-functions.
5286 * doc/invoke.texi (Code Gen Options): Document this restriction.
5288 2004-02-12 Chris Demetriou <cgd@broadcom.com>
5290 * config/mips/mips.md (casesi_internal, casesi_internal_di):
5291 Use ".set macro" to avoid warnings about multi-instruction
5292 macros, since they're intentional.
5294 2004-02-13 Jan Hubicka <jh@suse.cz>
5296 * alias.c (find_base_term, get_addr): Do not dereference NULL
5297 pointer when all VALUE's locations has been invalidated.
5298 (rtx_equal_for_memref_p): Simplify checking of VALUEs.
5300 * cselib.c (discard_useless_values): Clear out value pointer pointing
5301 to datastructure to be recycled.
5303 * gcse.c (bypass_block): Prevent edges to be unified when we are
5304 about to emit compenstation code.
5306 * gcse.c (bypass_block): Fix a typo in the previous check-in
5309 * alloc-pool.c (align_four): Kill.
5310 (create_alloc_pool): Align size to eight.
5311 (free_alloc_pool, free_pool): Invalidate deallocated data.
5313 2004-02-12 Richard Sandiford <rsandifo@redhat.com>
5316 * config/mips/mips-protos.h (mips_output_aligned_decl_common): Declare.
5317 (mips_declare_object): Make variadic.
5318 * config/mips/mips.h (ASM_OUTPUT_ALIGNED_DECL_COMMON): Use
5319 mips_output_aligned_decl_common.
5320 * config/mips/mips.c (mips_output_aligned_decl_common): New function.
5321 (mips_declare_object): Make variadic.
5323 2004-02-12 Jan Hubicka <jh@suse.cz>
5325 * tree-optimize.c (tree_rest_of_compilation): Do not release DECL_ARGUMENTS
5327 2004-02-12 Ian Lance Taylor <ian@wasabisystems.com>
5330 * reload.c (find_reloads): Only support one pair of commutative
5333 2004-02-12 Ian Lance Taylor <ian@wasabisystems.com>
5336 Backport from mainline:
5338 2004-02-11 Richard Henderson <rth@redhat.com>
5340 * flow.c (insn_dead_p): A clobber of a dead hard register is a
5341 dead insn after reload.
5343 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com>
5345 * cse.c (cse_cc_succs): Change the mode of the source expression
5346 as soon as decide we need a new mode. Don't permit changing modes
5347 if we found a match in a successor block.
5348 (cse_condition_code_reg): Save original mode of source expression
5349 so that we know whether we have to change the mode in other
5352 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch>
5354 * cse.c: (cse_cc_succs) Fix comparison warning.
5356 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
5358 * cse.c (cse_change_cc_mode): New static function.
5359 (cse_change_cc_mode_insns, cse_cc_succs): Likewise.
5360 (cse_condition_code_reg): New function.
5361 * rtl.h (cse_condition_code_reg): Declare.
5362 * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg.
5363 * target.h (struct gcc_target): Add fixed_condition_code_regs and
5364 cc_modes_compatible.
5365 * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5366 (TARGET_CC_MODES_COMPATIBLE): Define.
5367 (TARGET_INITIALIZER): Add new initializers.
5368 * targhooks.c (default_cc_modes_compatible): New function.
5369 * targhooks.c (default_cc_modes_compatible): Declare.
5370 * hooks.c (hook_bool_intp_intp_false): New function.
5371 * hooks.h (hook_bool_intp_intp_false): Declare.
5372 * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define.
5373 (TARGET_CC_MODES_COMPATIBLE): Define.
5374 (ix86_fixed_condition_code_regs): New static function.
5375 (ix86_cc_modes_compatible): Likewise.
5376 * doc/tm.texi (Condition Code): Document new hooks.
5378 2004-02-12 Hartmut Penner <hpenner@de.ibm.com>
5380 * config/rs6000/altivec.md (*movv4si_internal): At least one
5381 operand must be register_operand.
5382 (*movv8hi_internal1): Likewise.
5383 (*movv16qi_internal1): Likewise.
5384 (*movv4sf_internal1): Likewise.
5386 2004-02-12 Eric Botcazou <ebotcazou@libertysurf.fr>
5389 Backport from mainline:
5391 2004-02-03 Eric Botcazou <ebotcazou@libertysurf.fr>
5393 * config/sparc/sparc.md (call followed by jump define_peephole's):
5396 2004-02-12 Hartmut Penner <hpenner@de.ibm.com>
5398 * gcc/config/rs6000/rs6000.c (rs6000_override_options)
5399 Set AltiVec ABI and vrsave as default for ppc64 linux.
5400 (init_cumulative_args): Post error, if try to return
5401 value in AltiVec register without enable AltiVec.
5402 (function_arg_advance): Ditto for passing arguments.
5404 2004-02-11 Joseph S. Myers <jsm@polyomino.org.uk>
5407 * cppexp.c (num_binary_op): Don't allow comma operators in #if
5408 constant expressions at all outside C99 mode if pedantic.
5410 2004-02-10 Aldy Hernandez <aldyh@redhat.com>
5412 * config/rs6000/spe.md ("*movv2si_internal"): Check for register
5414 (movv4hi_internal): Same.
5415 (movv2sf_internal): Same.
5416 (movv1di_internal): Same.
5418 2004-02-11 Richard Sandiford <rsandifo@redhat.com>
5420 * emit-rtl.c (mark_label_nuses): Check that a LABEL_REF refers to
5421 a label before updating its usage count.
5423 2004-02-10 Danny Smith <dannysmith@users.sourceforge.net>
5426 real.c (real_from_string): Look for 'X' as well as 'x' in
5429 2004-02-10 Per Bothner <per@bothner.com>
5431 * c-opts.c (c_common_post_options): Don't emit working directory
5432 in cpp output if -P was specified.
5434 2004-02-10 Jakub Jelinek <jakub@redhat.com>
5436 PR optimization/13424
5437 Backport from mainline:
5439 2004-01-29 Jakub Jelinek <jakub@redhat.com>
5440 * emit-rtl.c (change_address): Use XEXP (memref, 0) instead
5441 of addr when creating MEM copy.
5443 2004-01-28 Jakub Jelinek <jakub@redhat.com>
5444 * expr.c (store_constructor): Revert 2003-12-03 change.
5446 * emit-rtl.c (change_address): Check also if MEM_ATTRS is set as
5447 expected before returning early. Avoid sharing RTL if they
5450 * config/i386/i386.c (ix86_expand_movstr): Rework rep_mov and strmov
5451 handling so that memory attributes are preserved. Don't call
5452 ix86_set_move_mem_attrs.
5453 (ix86_set_move_mem_attrs_1, ix86_set_move_mem_attrs): Removed.
5454 (ix86_expand_clrstr): Rename src argument to
5455 dst. Rework rep_stos and strset handling so that memory attributes
5457 (ix86_expand_strlen): Pass src argument to
5458 ix86_expand_strlensi_unroll_1. Rework strlenqi_1 handling so that
5459 memory attributes are preserved.
5460 (ix86_expand_strlensi_unroll_1): Add src argument. Use
5461 change_address instead of gen_rtx_MEM.
5462 * config/i386/i386.md (strmov, strmov_singleop, rep_mov): New
5464 (strmovdi_rex64, strmovsi, strmovsi_rex64, strmovhi, strmovhi_rex64,
5465 strmovqi, strmovqi_rex64): Remove.
5466 (rep_mov*, strmov*): Prefix insn names with *.
5467 (strset, strset_singleop, rep_stos): New expanders.
5468 (strsetdi_rex64, strsetsi, strsetsi_rex64, strsethi, strsethi_rex64,
5469 strsetqi, strsetqi_rex64): Remove.
5470 (rep_stos*, strset*): Prefix insn names with *.
5471 (rep_stosqi_rex64): Likewise. Fix mode of dirflag reg from DImode
5473 (cmpstrsi): Rework cmpstrqi_1 handling so that memory attributes
5475 (cmpstrqi_nz_1, cmpstrqi_nz_rex_1, cmpstrqi_1, cmpstrqi_rex_1):
5476 Prefix insn names with *.
5477 (cmpstrqi_nz_1, cmpstrqi_1): New expanders.
5478 (strlenqi_1, strlenqi_rex_1): Prefix insn names with *.
5479 (strlenqi_1): New expander.
5480 * config/i386/i386.h (ix86_set_move_mem_attrs): Remove prototype.
5482 2004-01-24 Jan Hubicka <jh@suse.cz>
5483 * emit-rtl.c (change_address, adjust_address_1, offset_address,
5484 widen_memory_access): Return early when there is nothing to change.
5486 2004-02-10 David Edelsohn <edelsohn@gnu.org>
5488 * configure.ac (gcc_cv_as_powerpc_mfcrf): Correct test for mfcr.
5489 * configure: Regenerate.
5491 2004-02-10 Ulrich Weigand <uweigand@de.ibm.com>
5493 * cfganal.c (flow_call_edges_add): Never split a libcall block.
5495 2004-02-10 Richard Sandiford <rsandifo@redhat.com>
5497 * config/mips/mips.h (TARGET_GPWORD): Return false for TARGET_NEWABI
5500 2004-02-09 Geoffrey Keating <geoffk@apple.com>
5503 * config/rs6000/rs6000.c (ccr_bit): Don't let consistency check
5504 failure stop compilation, just print helpful message.
5506 2004-02-09 Fariborz Jahanian <fjahanian@apple.com>
5508 * expr.c (emit_group_load): split constant
5509 correctly into register components of PARALLEL insn.
5511 2004-02-09 DJ Delorie <dj@redhat.com>
5513 * config/i386/xm-djgpp.h (GCC_DRIVER_HOST_INITIALIZATION): No
5514 longer modify standard_exec_prefix, standard_bindir_prefix, or
5515 standard_startfile_prefix.
5517 2004-02-09 James E Wilson <wilson@specifixinc.com>
5520 * c-common.c (c_expand_expr, case STMT_EXPR): Change expand_expr call
5521 to expand_expr_real call, and pass in alt_rtl as last argument.
5524 * builtin-types.def (BT_WORD, BT_FN_WORD_PTR): New.
5525 * builtins.c (expand_builtin): Handle BUILT_IN_EXTEND_POINTER.
5526 * builtins.def (BUILT_IN_EXTEND_POINTER): New.
5527 * except.c (expand_builtin_extend_pointer): New.
5528 * except.h (expand_builtin_extend_pointer): Declare.
5530 2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5532 * config/mips/iris5.h (BSS_SECTION_ASM_OP): Define.
5533 * config/mips/iris6.h (BSS_SECTION_ASM_OP): Undef.
5535 * config/mips/iris6.h (TARGET_ASM_NAMED_SECTION): Moved ...
5536 * config/mips/iris5.h: ... here.
5537 * config/mips/iris5gas.h (TARGET_ASM_NAMED_SECTION): Remove.
5539 * config/mips/iris6.h (EXTRA_SECTION_FUNCTIONS): Move ...
5540 * config/mips/iris5.h: ... here.
5542 2004-02-09 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5544 * configure.ac: Remove default executable files before AC_PROG_CC.
5545 * configure: Regenerate.
5547 2004-02-09 Kazu Hirata <kazu@cs.umass.edu>
5550 * config/h8300/h8300.c (byte_reg): Call abort() if asked to
5551 print a operand other than a register.
5553 2004-02-09 Nick Clifton <nickc@redhat.com>
5555 * Import these patches from mainline sources:
5557 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com>
5559 * config/m32r/m32r.h (CPP_SPEC): Define.
5561 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
5563 * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK
5564 not TARGET_M32RX_MASK.
5566 2004-02-09 Eric Botcazou <ebotcazou@libertysurf.fr>
5568 * cpplib.h (cpp_get_line_maps): Un-constify the structure
5569 pointed to by the pointer returned by the function.
5570 * cpplib.c (cpp_get_line_maps): Likewise.
5572 2004-02-08 Kazu Hirata <kazu@cs.umass.edu>
5574 * c-objc-common.c (c_cannot_inline_tree_fn): Fix a typo in a
5577 2004-02-08 Joseph S. Myers <jsm@polyomino.org.uk>
5579 * README.Portability: Change "ISO C89" to "ISO C90".
5580 * c-parse.in (primary, initelt): Likewise.
5582 2004-02-07 Zack Weinberg <zack@codesourcery.com>
5585 * c-decl.c (diagnose_mismatched_decls): Only give special
5586 treatment when olddecl is DECL_BUILT_IN, if C_DECL_INVISIBLE
5588 (merge_decls): Don't clear DECL_BUILT_IN_CLASS and
5589 DECL_FUNCTION_CODE when defining a built-in function.
5590 Don't update DECL_ESTIMATED_INSNS.
5591 * dwarf2out.c (dwarf2out_decl): Don't ignore built-in
5593 * tree.h: Delete DECL_ESTIMATED_INSNS.
5594 * tree-inline.c (struct inline_data): Delete inlined_insns field.
5595 (expand_call_inline, optimize_inline_calls): Don't update
5596 DECL_ESTIMATED_INSNS nor inlined_insns.
5597 * cgraphunit.c (cgraph_analyze_function): Don't update
5598 DECL_ESTIMATED_INSNS.
5600 2004-02-07 Zack Weinberg <zack@codesourcery.com>
5602 * c-common.c (shadow_warning): Delete.
5603 * c-common.h (free_parser_stacks, shadow_warning, sw_kind): Delete.
5604 * c-decl.c (warn_if_shadowing): Issue shadow warnings directly.
5605 * c-opts.c (c_common_parse_file): Don't call free_parser_stacks.
5606 * c-parse.in (free_parser_stacks): Delete.
5608 2004-02-07 Kazu Hirata <kazu@cs.umass.edu>
5610 * c-opts.c, c-ppoutput.c, cppfiles.c, cpphash.h, cppinit.c,
5611 cpplib.h, diagnostic.h, fix-header.c, config/fp-bit.c,
5612 config/mips/iris5.h, doc/makefile.texi: Update copyright.
5614 2004-02-06 James E Wilson <wilson@specifixinc.com>
5616 * config/ia64/linux.h (MD_FALLBACK_FRAME_STATE_FOR): Only define for
5617 glibc 2.3 or better.
5619 2004-02-06 Ulrich Weigand <uweigand@de.ibm.com>
5621 * loop.c (force_movables): Transitively increase the priorities of
5622 all insns forces by an insn, not just the first one.
5624 2004-02-06 Falk Hueffner <falk@debian.org>
5627 * config/alpha/alpha.c (alpha_emit_set_const_1): If
5628 no_new_pseudos, use gen_rtx_SET directly for SImode constants
5629 which need multiple instructions to emit.
5631 2004-02-06 H.J. Lu <hongjiu.lu@intel.com>
5633 * doc/invoke.texi: Remove the pni option from -mfpmath=.
5635 2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
5637 * doc/install.texi: Update automake and autoconf version
5638 requirements. Note where to find gcj automake version.
5640 2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
5642 * Makefile.in (generate-manpages): Move dependencies to ...
5644 * doc/makefile.texi: Document new targets.
5645 * doc/sourcebuild.texi (Make-lang.in): Document new langhooks.
5647 2004-02-05 Kelley Cook <kcook@gcc.gnu.org>
5650 Makefile.in (srcextra): Add a level of indirection to ...
5651 (gcc.srcextra): ... here.
5652 (po-generated): Delete.
5653 (po/$(PACKAGE).pot: Use srcextra instead of po-generated. Depend on
5655 (start.encap): Remove superfluous lang.srcextra dependency.
5656 objc/Make-lang.in (po-generated): Delete.
5658 2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5660 * config/mips/iris5gas.h (PREFERRED_DEBUGGING_TYPE): Define.
5662 2004-02-05 Andreas Krebbel <krebbel1@de.ibm.com>
5664 * config/s390/s390.md ("*tmqidi_ext"): New insn.
5665 ("*extendqidi2_short_displ", "*extendsiqi2_short_displ"): Old
5666 pre-reload splitters are transformed to post-reload
5667 define_insn_and_split patterns.
5668 ("*tmqisi_ext"): Renamed old "*tmqi_ext".
5670 2004-02-05 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5674 2004-01-15 Geoffrey Keating <geoffk@apple.com>
5676 * c-typeck.c (constructor_asmspec): Delete.
5677 (struct initializer_stack): Delete field 'asmspec'.
5678 (start_init): Delete saving of asmspec.
5679 (finish_init): Don't update constructor_asmspec.
5680 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
5681 * stmt.c (expand_asm): Duplicate strings from tree.
5682 (expand_asm_operands): Likewise.
5683 * tree.c (tree_size): Update computation of size of STRING_CST.
5684 (make_node): Don't make STRING_CST nodes.
5685 (build_string): Allocate string with tree node.
5686 * tree.def (STRING_CST): Update comment.
5687 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
5688 (tree_string): Place contents of string in tree node.
5689 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
5692 2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
5694 * diagnostic.h (DEFINE_DIAGNOSTIC_KIND): Change parameter M to
5697 2004-02-05 Paul Brook <paul@codesourcery.com>
5699 Backport from mainline.
5701 2003-11-22 Phil Edwards <phil@codesourcery.com>
5704 * config/arm/arm.c (arm_output_mi_thunk): In Thumb mode, use
5705 'bx' instead of 'b' to avoid branch range restrictions. Output
5706 the thunk immediately before the thunked-to function.
5707 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Do not emit
5708 .thumb_func if a thunk is being generated. Emit .code 16 along
5709 with .thumb_func if a thunk is not being generated.
5711 2003-11-05 Mark Mitchell <mark@codesourcery.com>
5713 * calls.c (initialize_argument_information): Add CALL_FROM_THUNK_P
5714 parameter. Use it instead of current_function_is_thunk.
5715 * function.h (struct function): Update documentation for is_thunk.
5716 * tree.h (CALL_FROM_THUNK_P): New macro.
5717 * config/alpha/alpha.c (alpha_sa_mask): Do not check
5718 no_new_pseudos when testing current_function_is_thunk.
5719 * config/rs6000/rs6000.c (rs6000_ra_ever_killed): Likeiwse.
5721 2004-02-05 Joseph S. Myers <jsm@polyomino.org.uk>
5723 * sourcebuild.texi (Test Idioms): Update testcase naming
5726 2004-02-04 Per Bothner <per@bothner.com>
5728 Partially revert/redo 2003-10-01 change; fix -fworking-directory.
5729 * c-ppoutput.c (pp_dir_change): New function.
5730 * c-common.h (pp_dir_change): New declaration.
5731 * cpplib.h (struct cpp_options): Remove working_directory field.
5732 * cppinit.c (cpp_find_main_file, cpp_push_main_file): Merge back to
5733 (cpp_read_main_file): as before 10-01. Call _cpp_stack_file.
5734 Don't handle -fworking_directory here, but in c_common_post_options.
5735 (read_original_directory): Don't back up when done.
5736 Don't clear no-longer used working_directory flag.
5737 * cpplib.h: Update declarations to match.
5738 * c-lex.c (cb_dir_change): Move to c-opts.c.
5739 (init_c_lex): Don't set dir_change callback here, since we want
5740 to set it even if flag_preprocess_only.
5741 * c-opts.c (cb_dir_change): Function moved from c-lex.c.
5742 (c_common_post_options): Set dir_change callback.
5743 Call pp_dir_change if approporiate.
5744 (finish_options): Don't call cpp_find_main_file here. Hence remove
5745 unneeded parameter and result. Do LC_RENAME for <built-in>.
5746 (c_common_post_options): Call cpp_read_main_file here instead.
5747 (c_common_init): Update accordingly.
5748 (push_command_line_include): Don't cpp_push_main_file.
5749 Do LC_RENAME rather than LC_LEASE to get back to main file.
5750 Compared to pre-10-01 version, inline cpp_rename_to_main_file.
5751 (c_common_parse_file): Call cpp_read_main_file for subsequent main
5752 files, but call finish_options for all files.
5753 * c-opts.c (sanitize_cpp_opts): Don't set cpp_opts->working_directory.
5754 * fix-header.c (read_scan_file): Call cpp_read_main_file instead of
5755 cpp_find_main_file + cpp_push_main_file.
5756 * c-lex.c (fe_file_change): Don't set main_input_filename here.
5757 * opts.c (handle_options): Only set main_input_filename first time.
5759 2004-02-04 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
5761 * Makefile.in: Move target, host overrides after per-language
5764 * config/mips/t-iris5-as (FORCE_DEBUG_ADAFLAGS): Clear.
5765 (GNATLIBCFLAGS): Remove -g.
5767 2004-02-04 Eric Botcazou <ebotcazou@libertysurf.fr>
5769 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
5770 for all modes whose size is greater than 8 bytes if ARCH32.
5771 (sparc_va_arg): Handle all modes whose size is greater than 8 bytes
5772 by reference if ARCH32.
5774 2004-02-04 Ulrich Weigand <uweigand@de.ibm.com>
5776 * config/s390/s390.md ("*la_64" + peepholes, "reload_indi"): Move
5777 to before adddi3 insn patterns.
5778 ("*la_31" + peepholes, "*la_31_and", "*la_31_and_cc", "force_la_31",
5779 "reload_insi"): Move to before addsi3 insn patterns.
5781 2004-02-04 Kazu Hirata <kazu@cs.umass.edu>
5783 * doc/interface.texi, doc/tm.texi, doc/trouble.texi: Don't
5784 mention deprecated target macros.
5786 2004-02-03 Wolfgang Bangerth <bangerth@dealii.org>
5788 * doc/invoke.texi (x86 options): Fix spelling/wording.
5790 2004-02-03 Richard Sandiford <rsandifo@redhat.com>
5792 * config/mips/iris5.h (ASM_OUTPUT_ASCII): Use mips_output_ascii to
5793 put the original string in a comment.
5794 * config/mips/mips-protos.h (mips_output_ascii): Add prefix argument.
5795 * config/mips/mips.c (mips_output_ascii): Likewise.
5796 * config/mips/mips.h (ASM_OUTPUT_ASCII): Adjust accordingly.
5798 2004-02-03 Mark Mitchell <mark@codesourcery.com>
5801 * tree.h (enum tree_index): Add TI_PUBLIC, TI_PROTECTED, and
5803 (access_public_node): Redefine.
5804 (access_protected_node): Likewise.
5805 (access_private_node): Likewise.
5806 * tree.c (build_common_tree_nodes): Create access_public_node,
5807 access_protected_node, and access_private_node.
5809 2004-02-03 Alan Modra <amodra@bigpond.net.au>
5812 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR): Use ap
5815 2004-02-03 Kelley Cook <kcook@gcc.gnu.org>
5817 * opts.c (OPT_fwritable_strings): Deprecate -fwritable-strings.
5819 2004-02-03 Steven Bosscher <s.bosscher@student.tudelft.nl>
5821 * toplev.c: Fix broken checkin of 2003-12-30, again.
5823 2004-02-02 Eric Christopher <echristo@redhat.com>
5824 Zack Weinberg <zack@codesourcery.com>
5826 * c-opts.c (c_common_handle_option): Add -finput-charset.
5828 * cppcharset.c (_cpp_convert_input): New function.
5829 (_cpp_default_encoding): Ditto.
5830 * cpphash.h: Add prototypes for above.
5831 * cppfiles.c (read_file_guts): Use _cpp_convert_input.
5832 * cppinit.c (cpp_create_reader): Use _cpp_default_encoding
5833 for narrow execution and input character sets.
5834 * doc/cppopts.texi: Document -finput-charset.
5836 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
5838 * doc/invoke.texi (SPARC options): Further improve.
5840 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
5842 * config/sparc/sparc.c (function_arg_slotno): Align TImode
5843 arguments on a 16-byte boundary in the parameter array if ARCH64.
5844 Split handling of TFmode.
5846 2004-02-02 Eric Botcazou <ebotcazou@libertysurf.fr>
5848 * doc/invoke.texi (SPARC options): Document that -mflat is deprecated.
5850 2004-02-01 Eric Botcazou <ebotcazou@libertysurf.fr>
5852 * config/sparc/sol2-bi.h: Handle TARGET_CPU_ultrasparc3.
5853 (CPP_CPU_SPEC): Handle -mcpu=ultrasparc3.
5854 (ASM_CPU_SPEC): Likewise
5855 * config/sparc/sol2.h: Handle TARGET_CPU_ultrasparc3.
5856 (ASM_CPU_SPEC): Remove -mcpu=v8plus. Handle -mcpu=ultrasparc3.
5858 2004-02-01 Jan Hubicka <jh@suse.cz>
5861 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
5863 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
5864 for functions that will be only inlined.
5865 (cgraph_mark_function_to_output): Likewise.
5866 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
5867 do not clear function body.
5868 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
5869 (tree_rest_of_compilation): Reorganize the logic releasing function
5870 body to use callgraph datastructure.
5872 2004-02-01 Richard Sandiford <rsandifo@redhat.com>
5874 * config/mips/mips.md (adddi3_internal_2): Remove superfluous %s.
5876 2004-01-31 Eric Botcazou <ebotcazou@libertysurf.fr>
5878 * doc/invoke.texi (SPARC options): Restructure and update.
5880 2004-01-31 Kazu Hirata <kazu@cs.umass.edu>
5882 * doc/invoke.texi: Follow spelling conventions.
5883 * doc/tm.texi: Likewise.
5885 2004-01-31 Kazu Hirata <kazu@cs.umass.edu>
5887 * doc/install.texi: Fix typos.
5888 * doc/invoke.texi: Likewise.
5890 2004-01-31 Ulrich Weigand <uweigand@de.ibm.com>
5892 * config/s390/s390.c (s390_decompose_address): Do not treat virtual
5893 registers as pointers.
5894 * config/s390/s390.md ("*la_31" second peephole2): Fix incorrect mode.
5896 2004-01-31 Jan Hubicka <jh@suse.cz>
5898 Revert the following patch until after AIX linker bug is fixed:
5900 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
5902 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
5903 for functions that will be only inlined.
5904 (cgraph_mark_function_to_output): Likewise.
5905 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
5906 do not clear function body.
5907 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
5908 (tree_rest_of_compilation): Reorganize the logic releasing function
5909 body to use callgraph datastructure.
5911 2004-01-31 Kazu Hirata <kazu@cs.umass.edu>
5913 alloc-pool.c, alloc-pool.h, c-lex.c, c-pragma.h,
5914 tree-optimize.c, config/alpha/alpha.c, config/alpha/alpha.h,
5915 config/alpha/alpha.md, config/alpha/vms.h, config/arm/arm.h,
5916 config/arm/linux-elf.h, config/avr/avr.c, config/c4x/c4x.c,
5917 config/c4x/c4x.md, config/d30v/d30v.h,
5918 config/frv/frv-protos.h, config/frv/frv.c, config/frv/frv.h,
5919 config/frv/frv.md, config/frv/frvbegin.c, config/frv/frvend.c,
5920 config/i386/cygming.h, config/i386/djgpp.h,
5921 config/i386/emmintrin.h, config/i386/gthr-win32.c,
5922 config/i386/i386-interix.h, config/i386/i386-protos.h,
5923 config/i386/i386.c, config/i386/i386.h, config/i386/openbsd.h,
5924 config/i386/winnt.c, config/i386/xm-mingw32.h,
5925 config/i386/xmmintrin.h, config/ia64/ia64-protos.h,
5926 config/ia64/ia64.c, config/ia64/ia64.md, config/ip2k/ip2k.c,
5927 config/iq2000/iq2000-protos.h, config/iq2000/iq2000.c,
5928 config/iq2000/iq2000.md, config/m32r/m32r-protos.h,
5929 config/m32r/m32r.c, config/m32r/m32r.md, config/m68k/m68k.md,
5930 config/m68k/netbsd-elf.h, config/mcore/mcore-elf.h,
5931 config/mcore/mcore.c, config/mcore/mcore.h,
5932 config/mcore/mcore.md, config/mips/elf.h, config/mips/elf64.h,
5933 config/mips/iris5gas.h, config/mips/iris6.h,
5934 config/mips/iris6gas.h, config/mips/linux.h,
5935 config/mips/mips.md, config/mips/netbsd.h,
5936 config/mips/openbsd.h, config/mips/windiss.h,
5937 config/mn10300/mn10300.c, config/mn10300/mn10300.h,
5938 config/pdp11/pdp11.c, config/rs6000/aix.h,
5939 config/rs6000/altivec.h, config/rs6000/darwin.h,
5940 config/rs6000/xcoff.h, config/s390/s390-protos.h,
5941 config/s390/s390.c, config/s390/s390.h, config/s390/s390.md,
5942 config/sh/netbsd-elf.h, config/sh/sh.h, config/sh/vxworks.h,
5943 config/sparc/sol2.h, config/stormy16/stormy16.h: Update
5946 2004-01-30 Dara Hazeghi <dhazeghi@yahoo.com>
5949 * doc/install.texi: document --enable-__cxa_atexit option.
5950 * configure.ac: Disable __cxa_atexit if not supported.
5951 * configure: Regenerate.
5953 2004-01-30 Herman A.J. ten Brugge <hermantenbrugge@home.nl>
5956 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup.
5957 Remove movstrqi_small because it conflicts with movstrqi_large.
5959 2004-01-30 Kelley Cook <kcook@gcc.gnu.org>
5961 * Makefile.in (abs_docdir, abs_srcdir): Define.
5962 (doc/%.dvi, doc/gccinstall.dvi): Use $(abs_docdir).
5964 2004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
5966 PR optimization/12147
5967 * reload1.c (reload_reg_free_p): RELOAD_OTHER conflicts with
5968 RELOAD_FOR_OPADDR_ADDR.
5969 (reload_reg_reaches_end_p): RELOAD_FOR_OTHER_ADDRESS register
5970 might be reused as RELOAD_FOR_OPADDR_ADDR register.
5972 2004-01-30 Jan Hubicka <jh@suse.cz>
5974 * reload.c (get_secondary_mem): Fix updating of
5975 secondary_memlocs_elim_used.
5977 2004-01-30 Andrew Pinski <pinskia@physics.uc.edu>
5979 * toplev.c: Include alloc-pool.h.
5980 * Makefile.in (toplev.c): Update dependencies.
5982 2004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
5984 * config/sparc/sparc.h: Update copyright.
5986 2004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
5989 * varasm.c (const_hash_1) <STRING_CST>: Use the
5990 address to compute the hash value if flag_writable_strings.
5991 (compare_constant) <STRING_CST>: Compare the addresses
5992 if flag_writable_strings.
5993 (build_constant_desc): Do not copy the expression for a
5994 STRING_CST if flag_writable_strings.
5996 2004-01-30 Jan Hubicka <jh@suse.cz>
5999 * cgraph.c (cgraph_remove_node): Clear out saved/insns/arguments and
6001 * cgraphunit.c (cgraph_finalize_function): Clear out DECL_SAVED_INSNS
6002 for functions that will be only inlined.
6003 (cgraph_mark_function_to_output): Likewise.
6004 (cgraph_expand_function): Sanity check that DECL_DEFER_OUTPUT is clear;
6005 do not clear function body.
6006 * tree-optimize.c (clear_decl_rtl): Use decl_function_context.
6007 (tree_rest_of_compilation): Reorganize the logic releasing function
6008 body to use callgraph datastructure.
6010 * reload.c (secondary_memlocs_elim_used): New static variable.
6011 (get_secondary_mem): Update it.
6012 (find_reloads): Use it.
6014 * alias.c (reg_base_value): Turn into varray.
6015 (reg_base_value_size): Kill.
6016 (old_reg_base_value): New deletable varray.
6017 (alias_invariant_size): New variable.
6018 (REG_BASE_VALUE): Update to use varray.
6019 (find_base_value): Likewise.
6020 (record_set): Likewise.
6021 (record_base_value): Likewise.
6022 (memrefs_conflict_p): Likewise.
6023 (record_set): Likewise
6024 (record_base_value): Likewise.
6025 (memrefs_conflict_p): Use alias_invariant_size.
6026 (init_alias_analysis): Use varray; set alias_invariant_size;
6027 rescale other arrays to be sized by maxreg.
6028 (end_alias_analysis): Save reg_base_value; clear alias_invariant_size.
6030 * basic-block.h (PROP_POSTRELOAD): New macro.
6031 (CLEANUP_LOG_LINKS): New.
6032 * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to.
6033 * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg.
6035 * alloc-pool.c: Include hashtab.h
6036 (alloc_pool_descriptor): New structure
6037 (alloc_pool_hash): New global variable.
6038 (hash_descriptor, eq_descriptor, alloc_pool_descriptor): New.
6039 (create_alloc_pool): Update statistics.
6040 (free_alloc_pool): Likewise.
6041 (pool_alloc): Likewise.
6042 (output_info): New structure
6043 (print_statistics, dump_alloc_pool_statistics): New function.
6044 * alloc-pool.h (alloc_pool_def): Turn name to be constant.
6045 (dump_alloc_pool_statistics): Declare.
6046 * toplev.c (finalize): Dump statistics.
6048 * varray.c: Include hashtab.h
6049 (varray_descriptor): New structure.
6050 (hash_descriptor, eq_descriptor, varray_descriptor,
6051 print_statistics): New static functions
6052 (varray_init, varray_grow): Update statistics
6053 (dump_varray_statistics): New function.
6054 * varray.h (dump_varray_statistics): Declare.
6055 * toplev.c (finalize): Call it.
6057 2004-01-30 Ulrich Weigand <uweigand@de.ibm.com>
6059 * configure.ac (gcc_cv_as_dwarf2_debug_line): Enable test for
6060 s390*-*-* targets by specifying a 'nop' insn.
6061 * configure: Regenerate.
6063 2004-01-30 Eric Botcazou <ebotcazou@libertysurf.fr>
6066 * config/sparc/sparc.md (movhi_lo_sum): Tighten predicates.
6068 2004-01-29 Bruce Korb <bkorb@gnu.org>
6070 * fixinc/inclhack.def(math_exception): bypass only for glibc.
6071 (matherr_decl): rename & relocate as exception_structure.
6072 This fix must precede the math_exception fix.
6073 * fixinc/fixincl.x: regen
6075 2004-01-29 Richard Henderson <rth@redhat.com>
6077 * c-parse.in (extension): Use itype.
6078 (SAVE_EXT_FLAGS): Don't allocate a tree.
6079 (RESTORE_EXT_FLAGS): Don't read a tree.
6081 2004-01-29 Giovanni Bajo <giovannibajo@gcc.gnu.org>
6083 * c-lex.c (c_lex): Rename to...
6084 (c_lex_with_flags): Add new parameter to get CPP flags.
6085 (c_lex): Thunk to c_lex_with_flags while keeping the old interface.
6086 * c-pragma.h (c_lex_with_flags): Declare.
6088 2004-01-29 Roger Sayle <roger@eyesopen.com>
6091 * tree.c (unsafe_for_reeval): Handle EXIT_BLOCK_EXPR nodes specially
6092 as their EXIT_BLOCK_LABELED_BLOCK operands can lead to unbounded
6095 2004-01-28 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6097 * pa.md: Change predicate of a peephole2 pattern from reg_or_0_operand
6098 to register_operand.
6100 2004-01-28 Zack Weinberg <zack@codesourcery.com>
6102 * config/ia64/ia64.md (fetchadd_acq_si, fetchadd_acq_di)
6103 (cmpxchg_acq_si, cmpxchg_acq_di): Exchange match_dup and
6104 match_operand expressions so that all match_dups appear
6105 lexically after their corresponding match_operands.
6107 2004-01-28 Zack Weinberg <zack@codesourcery.com>
6108 Jim Wilson <wilson@specifixinc.com>
6110 * config/ia64/ia64.c (ia64_split_tmode, ia64_split_tmode_move):
6111 Rewrite to use POST_INC/POST_DEC/POST_MODIFY instead of a
6113 (ia64_secondary_reload_class): Delete case GR_REGS.
6114 * config/ia64/ia64.md (movti, *movti_internal, movtf, *movtf_internal):
6115 Do not allocate a scratch register.
6116 (reload_inti, reload_outti, reload_intf, reload_outtf): Delete.
6118 2004-01-27 Zack Weinberg <zack@codesourcery.com>
6120 * ia64.c (ia64_function_arg): When placing HFAs in integer
6121 registers, do not special case the mode used for complex
6122 types. Do not advance int_regs until the current register
6125 2004-01-28 Jan Hubicka <jh@suse.cz>
6127 * function.c (allocate_struct_function): Do not initialize expr, emit
6129 (prepare_function_start): Do it here.
6130 * c-parse.in (maybe_type_qual): Do not produce line number notes.
6132 2004-01-28 Richard Sandiford <rsandifo@redhat.com>
6134 * config/fp-bit.c (pack_d): When using paired doubles to implement
6135 a long double, round the high part separately.
6136 (unpack_d): Fix the case in which the high part is a power of two
6137 and the low part is a nonzero value of the opposite sign.
6139 2004-01-27 Roger Sayle <roger@eyesopen.com>
6141 * config/pa/pa.c (emit_move_sequence): Check that operand1 is a
6142 CONST_INT before using INTVAL.
6144 2004-01-27 Ulrich Weigand <uweigand@de.ibm.com>
6146 * config/s390/s390.h (TARGET_DEFAULT): Default to !TARGET_BACKCHAIN.
6147 * config/s390/s390.c (s390_return_addr_rtx): Fail for all but current
6148 frame if !TARGET_BACKCHAIN.
6149 * config/s390/s390.md ("allocate_stack"): Use pattern only if
6151 * doc/invoke.texi (-mbackchain/-mno-backchain): Document new default.
6153 2004-01-27 Richard Sandiford <rsandifo@redhat.com>
6156 * except.c (init_eh): Use a 5-word __jbuf for __builtin_setjmp().
6158 2004-01-27 Bob Wilson <bob.wilson@acm.org>
6160 * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Remove SUBREG
6161 on CQImode and CHImode incoming arguments in register a7.
6162 (function_arg): Wrap BLKmode argument in register a7 in a PARALLEL.
6163 * config/xtensa/xtensa.h (BLOCK_REG_PADDING): Define.
6164 * config/xtensa/xtensa.md (movdi, movdf): Only call force_reg or
6165 xtensa_copy_incoming_a7 before reload.
6167 2004-01-27 Ian Lance Taylor <ian@wasabisystems.com>
6169 * config/arm/arm.c (output_return_instruction): Only restore IP
6170 into SP if frame_pointer_needed.
6172 2004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
6174 * config/sparc/sparc.c (function_arg_pass_by_reference): Return 1
6175 for SCmode and DCmode if ARCH32.
6176 (sparc_va_arg): Handle SCmode and DCmode by reference if ARCH32.
6177 * config/sparc/sparc.h (RETURN_IN_MEMORY): Return 0 for TCmode
6179 (BASE_RETURN_VALUE_REG): Return 32 for all FP modes except TFmode
6181 (BASE_OUTGOING_VALUE_REG): Likewise.
6183 2004-01-27 Eric Botcazou <ebotcazou@libertysurf.fr>
6187 * config/sparc/sparc.h (CANNOT_CHANGE_MODE_CLASS): New.
6188 Forbid mode changes from SImode for lower FP regs if ARCH64.
6190 2004-01-27 Jakub Jelinek <jakub@redhat.com>
6192 * config/i386/i386.c (ix86_constant_alignment): Decrease alignment
6193 of long string literals from 32 bytes to sizeof (void *) when !-Os
6196 2004-01-27 Kaz Kojima <kkojima@gcc.gnu.org>
6198 PR optimization/13567
6199 * cse.c (cse_basic_block): Call cse_insn with a non-null
6200 libcall_insn for the last SET insn of a no-confilict block.
6202 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6204 * system.h (CHAR_BITFIELD): Delete.
6205 (BOOL_BITFIELD): New.
6206 * c-decl.c (c_scope): Use BOOL_BITFIELD.
6207 * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD.
6209 2004-01-26 J"orn Rennecke <joern.rennecke@superh.com>
6211 * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP
6212 may or may not return non-NIL.
6213 * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code,
6214 check CANNOT_CHANGE_MODE_CLASS
6216 2004-01-26 Jeff Law <law@redhat.com>
6218 * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add
6219 acute accents for Petur Runolfsson's entry.
6222 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
6224 Backport from mainline:
6226 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr>
6227 Olivier Hainque <hainque@act-europe.fr>
6229 * fold-const.c (fold_binary_op_with_conditional_arg): Only
6230 build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR.
6232 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr>
6235 * config/sparc/sparc.c (function_arg_union_value): New function.
6236 (function_arg): Use it to deal with unions.
6237 (function_value): Likewise. Define 'regbase' only for ARCH64.
6238 Replace a conditional statement by a simpler one.
6240 2004-01-26 Richard Sandiford <rsandifo@redhat.com>
6242 * config/mips/mips.c (mips16_optimize_gp): Delete.
6243 (mips_reorg): Don't call it.
6245 2004-01-25 Richard Sandiford <rsandifo@redhat.com>
6247 * config/mips/mips.c (mips_offset_within_object_p): New function.
6248 (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and
6249 SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the
6250 ABI has 64-bit pointers and the object file only allows 32-bit symbols.
6252 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr>
6255 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0.
6257 2004-01-25 Richard Sandiford <rsandifo@redhat.com>
6259 * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete.
6260 (mips_regno_mode_ok_for_base_p): Declare.
6261 * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77.
6262 (FRAME_POINTER_REGNUM): Renumber to 78.
6263 (FIRST_PSEUDO_REGISTER): Update comment accordingly.
6264 (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete.
6265 (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete.
6266 (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p.
6267 (REG_MODE_OK_FOR_BASE_P): Likewise.
6268 * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change
6269 entry for 77 to "$arg" and entry for 78 to "$frame".
6270 (mips_regno_to_class): Map 77 and 78 to ALL_REGS.
6271 (mips_reg_mode_ok_for_base_p): Remove.
6272 (mips_regno_mode_ok_for_base_p): New function, derived from old
6273 BASE_REG_P macro. Don't enforce the mips16 stack pointer
6274 restrictions unless we're being strict.
6275 (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p.
6277 2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
6279 * doc/frontends.texi: Update copyright.
6280 * doc/gcov.texi: Likewise.
6281 * doc/gty.texi: Likewise.
6282 * doc/sourcebuild.texi: Likewise.
6284 2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
6286 * config/h8300/coff.h: Update copyright.
6287 * config/h8300/elf.h: Likewise.
6288 * config/h8300/h8300-protos.h: Likewise.
6289 * config/h8300/h8300.c: Likewise.
6290 * config/h8300/h8300.h: Likewise.
6291 * config/h8300/h8300.md: Likewise.
6293 2004-01-24 Hartmut Penner <hpenner@de.ibm.com>
6296 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage
6299 2004-01-24 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
6301 PR optimization/12440
6302 * loop.c: Include ggc.h.
6303 (loop_optimize): Run garbage collector between optimization of loops.
6304 * Makefile.in (loop.o): Add GGC_H dependency.
6306 2004-01-24 Jakub Jelinek <jakub@redhat.com>
6308 * simplify-rtx.c (simplify_relational_operation): Don't
6309 simplify address == constant into address + -constant == 0.
6311 2004-01-24 Kazu Hirata <kazu@cs.umass.edu>
6313 * gcc.c (process_command): Don't internationalize the
6315 * mips-tfile.c (main): Likewise.
6317 2004-01-23 Kazu Hirata <kazu@cs.umass.edu>
6319 * recog.c: Fix a typo in copyright.
6321 2004-01-23 Kazu Hirata <kazu@cs.umass.edu>
6323 * alias.c, basic-block.h, c-common.c, c-common.h,
6324 c-cppbuiltin.c, c-pragma.c, c-pretty-print.c, c-semantics.c,
6325 calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c,
6326 combine.c, cppcharset.c, cpptrad.c, cse.c, cselib.c, cselib.h,
6327 defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c,
6328 expr.h, fold-const.c, function.h, gcc.c, gcse.c, genattrtab.c,
6329 genautomata.c, genconditions.c, genflags.c, gengtype.c,
6330 genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c,
6331 haifa-sched.c, integrate.c, langhooks-def.h, langhooks.c,
6332 langhooks.h, local-alloc.c, optabs.c, optabs.h, postreload.c,
6333 ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c,
6334 rtlanal.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h,
6335 target.h, targhooks.c, toplev.h, tree-inline.c,
6336 unwind-dw2-fde.h, unwind-pe.h, unwind.h, varray.c, varray.h:
6339 2004-01-23 Bob Wilson <bob.wilson@acm.org>
6341 * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as
6342 separate real and imaginary parts.
6343 * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define.
6345 2004-01-23 Richard Henderson <rth@redhat.com>
6348 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value.
6349 (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0)
6350 if SHIFT_COUNT_TRUNCATED is set.
6352 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6354 * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ...
6355 (alpha___extern_prefix_sys_stat): ... this.
6356 Apply to <sys/mount.h>, too.
6357 Tweak to match more variations.
6358 * fixinc/tests/base/sys/stat.h: Adapt for new hackname.
6360 * fixinc/inclhack.def (alpha___extern_prefix,
6361 alpha___extern_prefix_standards): New hacks to obey
6362 __PRAGMA_EXTERN_PREFIX.
6363 * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New
6365 * fixinc/tests/base/standards.h: Likewise.
6367 * fixincl/inclhack.def (alpha_pthread): Tweak to match more
6370 * fixinc/tests/base/pthread.h: Handle it.
6372 * fixinc/fixincl.x: Regenerate.
6374 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6376 * fixinc/inclhack.def (bad_lval): Renamed to ...
6377 (alpha_bad_lval): ... this.
6379 Restrict to alpha*-dec-osf*.
6380 * fixinc/fixincl.x: Regenerate.
6381 * fixinc/tests/base/libgen.h: Remove, moving test ...
6382 * fixinc/tests/base/testing.h: ... here, reflecting new name.
6384 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com>
6386 * doc/invoke.texi (Optimize Options): Note that --param arguments
6387 are subject to change without notice.
6389 2004-01-23 Zack Weinberg <zack@codesourcery.com>
6392 * c-decl.c (diagnose_mismatched_decls): Also discard a
6393 built-in if we encounter an old-style definition with the
6396 2004-01-23 Jakub Jelinek <jakub@redhat.com>
6398 * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was
6399 set to default{32,64}.
6401 2004-01-21 Jakub Jelinek <jakub@redhat.com>
6403 * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR)
6404 [!__powerpc64__]: Corrected to handle kernels with changed ucontext.
6406 2003-11-30 Jan Hubicka <jh@suse.cz>
6408 * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets.
6410 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr>
6412 * config/sparc/sparc.c (scan_record_type): New function.
6413 (function_arg_slotno): Use it to determine which kinds of
6414 registers the record can be passed in.
6416 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6418 * configure.ac (enable_werror): Fixed typo.
6419 * configure: Regenerate.
6421 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
6423 * config.gcc (mips-sgi-irix6*o32): Removed.
6424 * config/mips/iris6-o32-as.h: Likewise.
6425 * config/mips/iris6-o32-gas.h: Likewise.
6426 * config/mips/iris6-o32.h: Likewise.
6428 2004-01-22 Bob Wilson <bob.wilson@acm.org>
6430 * config/xtensa/xtensa.c (function_arg): Generalize logic so that it
6431 handles complex and vector modes.
6433 2004-01-22 Daniel Jacobowitz <drow@mvista.com>
6435 * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1)
6436 (genrtl_for_stmt): Remove emit_nop calls.
6438 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6442 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload,
6443 movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload,
6444 clrstrdi_prereload, clrstrdi_postreload): Fix constraints.
6446 2004-01-22 Daniel Jacobowitz <drow@mvista.com>
6448 * config/arm/arm.c: Include "debug.h".
6449 (thumb_pushpop): Take two new arguments. Add some commentary.
6450 Output frame information when pushing.
6451 (thumb_exit, thumb_unexpanded_epilogue): Update calls to
6453 (thumb_output_function_prologue): Likewise. Accumulate a CFA
6454 offset, and pass it to thumb_pushpop. Output CFI information.
6455 (thumb_expand_prologue): Add some frame-related markers and notes.
6457 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
6459 * config/s390/s390.c (s390_frame_info): Allow large frame sizes
6461 (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
6462 * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
6464 2004-01-22 Kazu Hirata <kazu@cs.umass.edu>
6466 * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the
6467 macro need not be defined if jump-tables should contain
6468 relative addresses only when -fPIC or -fPIC is in effect.
6470 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
6472 * config/sparc/sparc.c (function_arg_slotno): Use
6473 FLOAT_TYPE_P to detect FP fields in structures.
6474 (function_arg_record_value_1): Likewise.
6475 (function_arg_record_value_2): Likewise.
6477 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr>
6480 * config/sparc/sparc.c (function_arg_record_value_3): Revert
6481 to 'word_mode' once the first slot has been filled.
6483 2004-01-22 Olivier Hainque <hainque@act-europe.fr>
6485 * config/sparc/sparc.c (function_arg_record_value_1): Fix
6486 computation of the number of integer registers required.
6488 2004-01-22 Hartmut Penner <hpenner@de.ibm.com>
6490 * gcc/config/rs6000/rs6000.c (function_arg) Handle
6491 vector register special in function without prototype.
6492 (function_arg_advance): Vector parameters get always
6493 GPRs allocated for the linux64 target.
6495 2004-01-21 Andrew Pinski <apinski@apple.com>
6498 * config/rs6000/rs6000.md (call_value): Force operand
6499 1 not operand 0 into a register.
6501 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6503 * pa-protos.h: Update copyright.
6507 * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3,
6508 ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time,
6509 ultrix_unistd): New hacks.
6510 * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK,
6511 ULTRIX_CONST2_CHECK): Add checks.
6512 * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise.
6513 * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise.
6514 * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise.
6515 * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise.
6516 * fixinc/tests/base/locale.h: New file.
6517 * fixincl.x: Rebuilt.
6519 2004-01-21 Andreas Jaeger <aj@suse.de>
6520 Michael Matz <matz@suse.de>
6522 * doc/extend.texi (Extended Asm): Clarify memory clobber.
6524 2004-01-21 Zack Weinberg <zack@codesourcery.com>
6526 * c-decl.c (merge_decls): Kill different_binding_level and
6527 different_tu arguments; simplify throughout.
6528 (duplicate_decls): Likewise.
6529 (pushdecl, merge_translation_unit_decls): Update calls to
6532 2004-01-20 Kelley Cook <kcook@gcc.gnu.org>
6535 * configure.ac: Delete definition and subsitution of docdir.
6536 Add info, man, srcman and srcinfo to target hooks. Create doc/
6538 * configure: Regenerate.
6539 * Makefile.in: Don't substitute docdir and delete all references
6541 (MAKEINFOFLAGS): Define.
6542 (stmp-docobjdir): Delete.
6543 (INFOFILES, MANFILES): Define.
6544 (info): Call lang.info, srcinfo and lang.srcinfo.
6545 (generated-manpages): Call lang.man, srcman and lang.srcman.
6546 (srcinfo, srcman): New rules to copy back files to source directory.
6547 (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule.
6548 (install-man): Revamp rule.
6549 (clean): Update dvi directory.
6550 (distclean): Delete TAGS from front end directorys.
6551 (maintainer-clean): Delete all document files in source directory.
6553 objc/Make-lang.in (objc.man, objc.info): Dummy entries.
6554 (objc.srcman, objc.srcinfo): Likewise.
6556 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
6558 * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and
6560 (print-rtl1.o): Depend on $(SYSTEM_H).
6562 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6564 * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes.
6565 * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d):
6566 Likewise. Handle frames larger than 0x7fffffff on 64-bit ports.
6567 (emit_move_sequence): Check scratch_reg first in various if statements.
6568 Extend source simplification to handle all 64-bit CONST_INTs.
6569 (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing
6571 (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for
6572 frame offset calculations.
6573 * pa.h (NEW_HP_ASSEMBLER): Add comment.
6574 (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT,
6575 LEGITIMATE_64BIT_CONST_INT_P): Define.
6576 (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat
6577 any CONST_INT as legitimate during and after reload.
6578 (VAL_32_BITS_P, INT_32_BITS): Define.
6579 (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets.
6581 2004-01-21 Alan Modra <amodra@bigpond.net.au>
6583 * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define.
6584 * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT.
6585 * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document.
6587 2004-01-20 Geoffrey Keating <geoffk@apple.com>
6589 * alias.c (new_alias_set): Mark last_alias_set for PCH.
6590 (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it
6592 (get_frame_alias_set): Likewise, except rename it to 'frame_set'.
6593 * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH.
6594 (get_TOC_alias_set): Mark 'set' for PCH.
6596 2004-01-20 Richard Sandiford <rsandifo@redhat.com>
6598 * config/mips/mips.c (mips_load_call_address): Make the call insn
6599 use $gp if it could be calling a lazy binding stub.
6601 2004-01-20 Denis Chertykov <denisc@overta.ru>
6604 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X
6605 register as pointer after reload.
6607 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr>
6610 * config/sparc/sparc.c (function_arg): Reorder the cases.
6612 2004-01-19 Kelley Cook <kcook@gcc.gnu.org>
6614 * Makefile.in (target_noncanonical, program_transform_name): Use
6615 immediate define instead of deferred.
6616 (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME,
6617 PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME,
6618 GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of
6621 2004-01-19 Richard Henderson <rth@redhat.com>
6623 * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN,
6624 don't check memory mode.
6625 (unaligned_memory_operand): Likewise.
6626 (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't
6627 abort for op0 not MEM.
6629 * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination
6630 is not a reg, copy to a scratch first.
6631 (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi,
6632 unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le,
6633 unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG.
6634 (reload_inqi, reload_inhi): Fix mode of op0.
6635 (reload_inqi_help, reload_inhi_help, reload_outqi_help,
6636 reload_outhi_help): Likewise. Use define_insn_and_split.
6638 * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN
6639 as well as $29 dead.
6641 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr>
6643 * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit
6644 "tls_object" for thread-local objects.
6645 * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit
6646 "#tls" for thread-local sections.
6647 * configure.ac (thread-local checks): Specify --fatal-warnings in
6648 every binutils-specific checks. For sparc*-*-*, test whether the
6649 OS is Solaris and the tools are native and act accordingly.
6650 * configure: Rebuild.
6652 2004-01-19 Jeff Law <law@redhat.com>
6654 * contrib.texi: Update Paolo Carlini's entry. New entries for
6655 Jerry Quinn and Petur Runolfsson.
6657 2004-01-19 Richard Henderson <rth@redhat.com>
6659 * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs.
6660 * alpha.md (UNSPEC_NT_LDA): Remove.
6661 (UNSPEC_CVTLQ, cvtlq): New.
6662 (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f.
6663 (extendsidi2_fix): Remove.
6664 (extendsidi2 splitter): Use cvtlq.
6665 (extendsidi2 fp peepholes): Remove.
6666 (cvtql): Use SFmode instead of SImode.
6667 (fix_trunc?fsi): Update to match.
6668 (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New.
6669 (movsi): Rename from movsi_nofix, remove f alternatives.
6670 (movsi_nt_vms): Similarly.
6671 (movsi_fix, movsi_nt_vms_fix): Remove.
6673 * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda.
6675 2004-01-19 Jan Hubicka <jh@suse.cz>
6677 * cgraph.c (cgraph_remove_node): Fix removal from linked list.
6678 * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed
6680 (cgraph_remove_unreachable_nodes): New function
6681 (cgraph_decide_inlining_of_small_function): Fix pasto.
6682 (cgraph_decide_inlining_incrementally): Fix pasto.
6683 (cgrpah_decide_inlining): Likewise; remove unreachable nodes.
6685 2004-01-18 Roger Sayle <roger@eyesopen.com>
6687 * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing
6688 live "next" variable, which can lead to an infinite loop.
6690 2004-01-18 Daniel Jacobowitz <drow@mvista.com>
6692 * final.c (final_scan_insn): Make non-static again.
6693 * output.h (final_scan_insn): Re-add prototype.
6694 * config/arc/arc.c (arc_output_function_epilogue): Add NULL
6695 to final_scan_insn call.
6696 * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise.
6697 * config/mips/mips.c (mips_output_conditional_branch): Likewise.
6698 * config/pa/pa.c (output_lbranch, output_call): Likewise.
6699 * config/sh/sh.c (print_slot): Likewise.
6700 * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise.
6701 (output_sibcall, sparc_flat_function_epilogue): Likewise.
6703 2004-01-18 Jan Hubicka <jh@suse.cz>
6705 * basic-block.h (try_redirect_by_replacing_jump): Declare.
6706 * cfgcleanup.c (try_optimize_cfg): Use it.
6707 * cfgrtl.c (try_redirect_by_replacing_jump): Export.
6708 (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch):
6710 (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump.
6712 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu>
6714 * config/rs6000/altivec.h: Wrap C++ functions in extern "C++"
6717 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6718 Check for NULL in the chain and remove repeated code.
6720 2004-01-18 Jan Hubicka <jh@suse.cz>
6722 * coverage.c (checksum_string): Rename to ...
6723 (coverage_checksum_string): ... this one, Use crc32_string; recognize
6724 names containing random number and zero the number out in order to get
6727 2004-01-18 Richard Sandiford <rsandifo@redhat.com>
6729 * config/mips/mips.c (mips_got_alias_set): Mark for PCH.
6731 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
6733 * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi,
6734 doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi,
6735 doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi,
6736 doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi,
6737 doc/trouble.texi: Remove trailing whitespace.
6739 2004-01-18 Richard Sandiford <rsandifo@redhat.com>
6742 * config/mips/mips.c: Include cfglayout.h.
6743 (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
6744 (mips_unspec_offset_high): Add temporary register argument.
6745 (mips_load_call_address): New function, split out from...
6746 (mips_expand_call): ...here.
6747 (mips_output_cplocal): New function.
6748 (mips_output_function_prologue, mips_output_function_epilogue): Use it.
6749 (mips_emit_loadgp): New function, split out from...
6750 (mips_expand_prologue): ...here.
6751 (mips_output_mi_thunk): New function.
6753 2004-01-17 Roger Sayle <roger@eyesopen.com>
6755 * builtins.c (expand_builtin_expect_jump): Fix mistake in my
6756 last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL.
6758 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
6760 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6761 Return type is unsigned int not int.
6762 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
6765 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
6767 * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi,
6768 doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use
6769 "GNU/Linux" and "Microsoft Windows" terminology.
6771 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk>
6773 * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi,
6774 doc/cppopts.texi, doc/extend.texi, doc/install.texi,
6775 doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi,
6776 doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use
6777 @smallexample instead of @example.
6779 2004-01-17 Ziemowit Laski <zlaski@apple.com>
6781 * objc/objc-act.c (build_objc_method_call): Use target
6782 hooks instead of macros to determine if ..._stret
6783 dispatchers should be used (NeXT runtime only).
6785 2004-01-17 Daniel Jacobowitz <drow@mvista.com>
6787 * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc)
6788 (emit_call_insn_before_sameloc, emit_insn_after_sameloc)
6789 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New
6791 * reload1.c (emit_reload_insns): Use them.
6792 * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc)
6793 (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check
6796 2004-01-17 Daniel Jacobowitz <drow@mvista.com>
6798 * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define.
6799 (final_scan_insn): Update to take an additional SEEN argument. Emit
6800 a line note after the prologue. Make static.
6801 (line_note_exists): Remove.
6802 (final): Don't initialize line_note_exists. Update call to
6804 * output.h (final_scan_insn): Remove prologue.
6805 * function.c (set_insn_locators): Update comment.
6806 (thread_prologue_and_epilogue_insns): Add a comment.
6808 2004-01-17 Joseph S. Myers <jsm@polyomino.org.uk>
6810 * doc/invoke.texi, doc/standards.texi: Point to 3.4 version of
6813 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu>
6816 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align):
6818 * config/rs6000/rs6000.c (rs6000_special_round_type_align):
6820 * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it.
6821 * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise.
6822 * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise.
6824 2004-01-17 Jan Hubicka <jh@suse.cz>
6826 * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous
6829 * toplev.c (HAVE_conditional_execution): Provide default.
6830 (rest_of_handle_reorder_blocks): For conditional_execution target
6831 update liveness once after all transformations
6832 (rest_of_compilation): Do crossjumping before ce3.
6834 2004-01-17 J. Brobecker <brobecker@gnat.com>
6836 * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type().
6837 Remove checks for is_ada() and TREE_UNSIGNED.
6838 (subrange_type_die): Emit a byte_size attribute if the subrange
6839 type size is different from the base type size.
6840 (modified_type_die): Replace call to is_ada_subrange_type() by
6841 call to is_subrange_type().
6843 2004-01-16 Mark Mitchell <mark@codesourcery.com>
6845 * configure.ac: Do not do internal checking or -Werror by default.
6846 * configure: Regenerated.
6848 * doc/include/gcc-common.texi (DEVELOPMENT): @clear it.
6849 * version.c (version_string): Mark as prerelease.
6851 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu>
6853 * config/sh/sh.c: Include ggc.h.
6855 2004-01-17 Jan Hubicka <jh@suse.cz>
6857 * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and
6858 builtin_expect specially.
6859 * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100.
6860 (PARAM_LARGE_FUNCTION_INSNS): Set to 3000.
6861 * invoke.texi (max-inline-insns-single): Set to 100.
6862 (large-function-insns): Set to 3000.
6864 2004-01-16 Jan Hubicka <jh@suse.cz>
6866 * i386.md (load_tp_di): Fix pasto.
6869 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function.
6871 * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator,
6872 pp_c_character_constant, pp_c_floating_constant,
6873 pp_c_additive_expression, pp_c_shift_expression,
6874 pp_c_equality_expression, pp_c_and_expression,
6875 pp_c_exclusive_or_expression, pp_c_inclusive_or_expression,
6876 pp_c_logical_and_expression): Remove inline modifier.
6877 * dwarf2out.c (get_AT): Likewise.
6878 * et-forest.c (et_splay): Likewise.
6879 * ra.h (ra_alloc, ra_calloc): Likewise
6881 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
6883 * config/frv/frv-protos.h: Fix comment formatting.
6884 * config/frv/frv.c: Likewise.
6885 * config/frv/frv.h: Likewise.
6886 * config/frv/frv.md: Likewise.
6887 * config/frv/frvbegin.c: Likewise.
6888 * config/frv/frvend.c: Likewise.
6890 2004-01-16 Kazu Hirata <kazu@cs.umass.edu>
6892 * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison.
6893 * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention
6894 LINKER_DOES_NOT_WORK_WITH_DWARF2.
6895 (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove.
6897 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com>
6900 * postreload.c (reload_cse_simplify_operands): Don't remove
6901 implicit extension from LOAD_EXTEND_OP.
6903 2004-01-16 Jan Hubicka <jh@suse.cz>
6906 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal
6908 * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks,
6909 rtl_try_redirect_by_replacing_branch): Likewise.
6911 2004-01-15 Geoffrey Keating <geoffk@apple.com>
6914 * alias.c (struct alias_set_entry): Mark for GC.
6915 (alias_sets): Make static, mark for GC.
6916 (record_alias_subset): Use GC to allocate alias structures.
6917 * varray.c (element): Make generic varrays GCed.
6920 * c-typeck.c (constructor_asmspec): Delete.
6921 (struct initializer_stack): Delete field 'asmspec'.
6922 (start_init): Delete saving of asmspec.
6923 (finish_init): Don't update constructor_asmspec.
6924 * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree.
6925 * stmt.c (expand_asm): Duplicate strings from tree.
6926 (expand_asm_operands): Likewise.
6927 * tree.c (tree_size): Update computation of size of STRING_CST.
6928 (make_node): Don't make STRING_CST nodes.
6929 (build_string): Allocate string with tree node.
6930 * tree.def (STRING_CST): Update comment.
6931 * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST.
6932 (tree_string): Place contents of string in tree node.
6933 * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string
6936 * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case
6939 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
6941 * c-common.h: Fix comment formatting.
6942 * c-cppbuiltin.c: Likewise.
6943 * c-pragma.c: Likewise.
6944 * calls.c: Likewise.
6945 * collect2.c: Likewise.
6946 * cppcharset.c: Likewise.
6947 * cpptrad.c: Likewise.
6948 * dbxout.c: Likewise.
6949 * defaults.h: Likewise.
6950 * dwarf2out.c: Likewise.
6951 * fold-const.c: Likewise.
6952 * genautomata.c: Likewise.
6953 * genconditions.c: Likewise.
6954 * genflags.c: Likewise.
6955 * gengtype.c: Likewise.
6956 * integrate.c: Likewise.
6958 * predict.c: Likewise.
6959 * sdbout.c: Likewise.
6961 2004-01-15 Zack Weinberg <zack@codesourcery.com>
6963 * config/ia64/ia64.md (*movti_internal): C output template
6964 extracted to ia64.c.
6965 (*movti_internal_reg): Delete.
6966 (reload_inti, reload_outti): Use the correct mode on operand 2
6967 in the first place, don't fix it up in the output template.
6968 (movtf, reload_ointf, reload_outtf): New expanders.
6969 (*movtf_internal): New define_insn_and_split.
6970 * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode;
6971 make static; do not hand TFmode CONST_DOUBLEs to split_double.
6972 (ia64_split_tmode_move): New function, body mostly pulled
6973 from ia64.md:*movti_internal.
6974 (ia64_function_arg_words): New function, extracted common
6975 logic from ia64_function_arg et seq.
6976 (ia64_function_arg_offset): Likewise. Handle correctly the
6977 case of a scalar quantity 16 bytes wide with only 8-byte alignment.
6978 (ia64_function_arg, ia64_function_arg_partial_nregs)
6979 (ia64_function_arg_advance): Use ia64_function_arg_words and
6980 ia64_function_arg_offset.
6981 (ia64_function_value): TCmode does not go in float regs.
6982 (ia64_secondary_reload_class): Also handle TFmode.
6983 * config/ia64/ia64-protos.h: Remove prototype for
6984 ia64_split_timode; add prototype for ia64_split_tmode_move.
6986 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
6988 * Makefile.in (MAINT): Make it an immediate assignment.
6990 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
6992 * config/m32r/m32r.md: Remove useless calls to gen_lowpart.
6994 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
6996 * config/h8300/coff.h: Replace Hitachi with Renesas.
6997 * config/h8300/elf.h: Likewise.
6998 * config/h8300/h8300-protos.h: Likewise.
6999 * config/h8300/h8300.c: Likewise.
7000 * config/h8300/h8300.h: Likewise.
7001 * config/h8300/h8300.md: Likewise.
7002 * config/h8300/lib1funcs.asm: Likewise.
7004 2004-01-15 Andrew Pinski <apinski@apple.com>
7006 * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF
7009 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
7011 * config/h8300/h8300.c (h8300_return_in_memory): New.
7012 (TARGET_STRUCT_VALUE_RTX): Likewise.
7013 (TARGET_RETURN_IN_MEMORY): Likewise.
7014 * config/h8300/h8300.h (STRUCT_VALUE): Remove.
7015 (RETURN_IN_MEMORY): Likewise.
7017 2004-01-15 Richard Earnshaw <rearnsha@arm.com>
7019 PR optimization/13375
7020 * gcse.c (handle_avail_expr): Just return if the source is not a
7023 2004-01-15 Richard Earnshaw <rearnsha@arm.com>
7024 Daniel Jacobowitz <drow@mvista.com>
7026 * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case.
7028 (ARM_FUNC_ALIAS): New macro.
7029 * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it.
7030 * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it.
7032 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7034 PR optimization/12372
7035 * calls.c (expand_call): Add call_fusage data for stack arguments in
7038 2004-01-15 Alan Modra <amodra@bigpond.net.au>
7040 * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static.
7041 (rs6000_elf_declare_function_name): Formatting.
7042 * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration.
7044 2004-01-15 Jan Hubicka <jh@suse.cz>
7047 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in
7050 2004-01-15 Richard Henderson <rth@redhat.com>
7052 * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after
7053 integer regs of the same call-savedness.
7055 2004-01-15 Andreas Schwab <schwab@suse.de>
7058 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc
7059 status for NOTB/NOTW/NEGW methods.
7061 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
7063 * doc/invoke.texi: Update dump file names. Fix a typo.
7065 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
7067 * builtins.c (expand_builtin_va_end): Don't use
7068 EXPAND_BUILTIN_VA_END.
7069 * system.h (EXPAND_BUILTIN_VA_END): Poison.
7070 * config/d30v/d30v.h: Remove a commented-out definition of
7071 EXPAND_BUILTIN_VA_END.
7072 * config/stormy16/stormy16.h: Likewise.
7074 2004-01-15 Kazu Hirata <kazu@cs.umass.edu>
7076 * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison.
7077 * targhooks.c (default_struct_value_rtx): Don't use
7078 STRUCT_VALUE_INCOMING_REGNUM.
7080 2004-01-15 Kelley Cook <kcook@gcc.gnu.org>
7083 * configure.in: Revamp enable-generated-files-in-srcdir rule to define
7084 GENINSRC and not parsedir. Define srcextra as a langhook.
7085 * configure: Regenerate.
7086 * Makefile.in: Suppress default .l.c rule. Don't substitute
7087 parsedir and delete all references throughout. Conditionally define
7088 rule for srcextra dependent on GENINSRC.
7089 (stmp-docobjdir): Delete.
7090 (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule.
7091 (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c,
7092 and gengtype-yacc.h back to source directory.
7093 (maintainer-clean): Delete all parse files in source directory.
7094 (distclean): Delete generated files.
7096 * objc/Make-lang.in (objc-parse.o): Use implicit build rule.
7097 (objc-parse.c, objc-parse.y): Don't use parsedir.
7098 (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source
7099 directory if requested.
7100 (po-generated): Don't use parsedir.
7101 (objc.maintainer-clean): Delete above files from source directory.
7103 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7105 * doc/tm.texi (FUNCTION_VALUE): Fix a typo.
7107 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7109 * doc/tm.texi: Replace RETURN_IN_MEMORY with
7110 TARGET_RETURN_IN_MEMORY.
7112 2004-01-15 Jan Hubicka <jh@suse.cz>
7114 * builtins.c (std_expand_builtin_va_arg): Align operand when needed.
7115 * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic
7116 functions accepting SSE arguments
7117 (function_arg): Warn only when asked to warn.
7118 * i386.h (ix86_args): Add warn_sse/warn_mmx fiels.
7120 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk>
7122 * c-parse.in (stmts_and_decls): Make label at end of compound
7123 statement a hard error.
7125 2004-01-14 Jan Hubicka <jh@suse.cz>
7127 * cgraph.c (create_edge): Use local.redefined_extern_inline.
7128 * cgraph.h (cgraph_local_info): Sort fields by size; add
7129 redefined_extern_inline
7130 (cgraph_global_info): Sort fields by size.
7131 (cgraph_node): Likewise.
7132 * cgraphunit.c (cgraph_finalize_function): Se
7133 local.redefined_extern_inline on redefinition.
7134 (cgraph_analyze_function): Use it; fix formating.
7136 2004-01-14 Jan Hubicka <jh@suse.cz>
7139 * sched-deps.c (trye_dependency_cache, anti_dependency_cache,
7140 outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of
7142 (cache_size): New variable
7143 (add_dependence): Update use; canonize early memory locations
7144 (sched_analyze_1): Likewise.
7145 (sched_analyze_2): Likewise.
7146 (init_dependency_caches): Initialize bitmaps.
7147 (free_dependency_caches): Free bitmaps
7149 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7151 * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with
7152 targetm.calls.strict_argument_naming().
7153 * target.h: Likewise.
7155 2004-01-14 Richard Henderson <rth@redhat.com>
7158 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue
7161 2004-01-14 Richard Henderson <rth@redhat.com>
7164 * except.c (struct eh_region): Add u.fixup.resolved.
7165 (resolve_one_fixup_region): Split out from ...
7166 (resolve_fixup_regions): ... here.
7168 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7170 * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0.
7172 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7174 * config/alpha/alpha.h (STRUCT_VALUE): Remove.
7175 * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef.
7176 (STRUCT_VALUE): Remove.
7178 2003-01-14 Steven Bosscher <stevenb@suse.de>
7180 * system.h: Poison PROMOTED_MODE
7181 * integrate.c (expand_inline_function): Don't mention the
7183 * loop.c (update_giv_derive): Same.
7184 * tree.h (DECL_RTL): Same.
7186 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com>
7189 * sh.c (gen_block_redirect): Add special handling of RETURN.
7190 (gen_far_branch) Don't call gen_stuff_delay_slot if there is no
7191 far branch target (i.e. it's a return).
7193 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7195 * regrename.c (find_oldest_value_reg): Fix a warning.
7197 2004-01-14 Richard Earnshaw <rearnsha@arm.com>
7200 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file.
7201 Move linux-gas.h and linux-elf.h before aout.h.
7202 * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already.
7203 * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define.
7205 2004-01-14 Kazu Hirata <kazu@cs.umass.edu>
7207 * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx
7208 (CONST_INT, VOIDmode, ...).
7210 2004-01-14 Richard Earnshaw <rearnsha@arm.com>
7212 * regrename.c (find_oldest_value_reg): If the replacement uses
7213 multiple hard registers, check that all of them are in CLASS.
7215 2004-01-14 Jan Hubicka <jh@suse.cz>
7217 * alias.c (get_alias_set): Initialize alias set to 0 when subset is
7220 2004-01-14 Kelley Cook <kcook@gcc.gnu.org>
7222 * Makefile.in: Define MAINT from --enable-maintainer-mode.
7224 2004-01-14 Hartmut Penner <hpenner@de.ibm.com>
7226 * gcc/config/rs6000/rs6000.c (rs6000_stack_info)
7227 Calculate always vrsave_mask if TARGET_ALTIVEC.
7228 (rs6000_emit_prologue): Emit code for vrsave
7229 only if TARGET_ALTIVEC_VRSAVE.
7230 (rs6000_emit_epilogue): Likewise.
7232 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr>
7234 * config/sparc/sparc.md (tie_add32): Fix pasto.
7235 (tie_add64): Likewise.
7237 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7239 * config/i386/i386.md (*addqi_1_slp): Do not access operands[2].
7241 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7243 * config/iq2000/iq2000-protos.h: Fix comment formatting.
7244 * config/iq2000/iq2000.c: Likewise.
7245 * config/iq2000/iq2000.md: Likewise.
7247 2004-01-14 J. Brobecker <brobecker@gnat.com>
7249 * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME.
7250 (subrange_type_die): Add handle for nameless subrange types.
7252 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7254 * config/h8300/h8300-protos.h: Replace do_movsi with
7256 * config/h8300/h8300.c (do_movsi): Change to
7258 * config/h8300/h8300.md (movsi): Replace do_movsi with
7262 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7264 * config/h8300/h8300.c (dosize): Change to
7265 h8300_emit_stack_adjustment. Update callers.
7267 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7269 * config/h8300/h8300.md (movstrictqi): Add an alternative with
7270 the source being post_inc. Tighten the predicate for the
7271 destination to register_operand.
7272 (movstricthi): Likewise.
7274 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7276 * system.h (SHARED_BSS_SECTION_ASM_OP): Poison.
7277 * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP.
7278 * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove.
7280 2004-01-14 Jan Hubicka <jh@suse.cz>
7282 Partial fix PR c++/12850
7283 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when
7286 2004-01-13 Bernardo Innocenti <bernie@develer.com>
7288 * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr"
7291 2004-01-13 Devang Patel <dpatel@apple.com
7294 * dbxout.c (dbxout_symbol_name): Emit mangled names for
7295 NAMESPACE_DECL memebers.
7297 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu>
7300 * c-common.c (finish_fname_decls): Use the chain only if the
7301 tree is an expr_stmt.
7303 2004-01-13 Vladimir Makarov <vmakarov@redhat.com>
7305 * rtl.def: Add comment about new option in automata_option.
7307 * genautomata.c (PROGRESS_OPTION): New macro.
7308 (progress_flag): New global variable.
7309 (gen_automata_option): Process `progress'.
7310 (transform_insn_regexps, check_unit_distributions_to_automata,
7311 make_automaton, NDFA_to_DFA, build_automaton, create_automata,
7312 expand_automata, write_automata): Print about the progress only if
7313 progress_flag. Remove fflush.
7314 (initiate_automaton_gen): Process command line flag `-progress'.
7316 * doc/md.texi: Describe the new option.
7318 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>
7320 * cfg.c (dump_bb): Dump entry edges.
7322 2004-01-13 Richard Earnshaw <rearnsha@arm.com>
7324 * arm.c (thumb_legitimate_address_p): Only allow constant pool
7325 references from SImode.
7326 * arm.md (thumb_movhi_insn): Don't allow minipool references.
7328 2004-01-13 Kazu Hirata <kazu@cs.umass.edu>
7330 * system.h (TEXT_SECTION): Poison.
7331 * varasm.c (text_section): Don't use TEXT_SECTION.
7332 * config/sh/sh.c (sh_file_start): Fix a comment typo.
7333 * doc/tm.texi (TEXT_SECTION): Remove.
7335 2004-01-13 Ben Elliston <bje@wasabisystems.com>
7337 * doc/rtl.texi (Vector Operations): Remove defunct vec_const item.
7339 2004-01-12 James E Wilson <wilson@specifixinc.com>
7341 * unwind-libunwind.c: Delete.
7343 2004-01-12 Zack Weinberg <zack@codesourcery.com>
7346 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or
7347 oldtype is set, set *newtypep or *oldtypep too. Do not set
7348 them at the very end.
7349 (validate_proto_after_old_defn): Restructure for comprehensibility;
7350 make error messages clearer.
7352 2004-01-12 Zack Weinberg <zack@codesourcery.com>
7354 * varray.h (VARRAY_POP): Add checking variant, aborts on underflow.
7355 (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked.
7356 * varray.c: No need to prototype error.
7357 (varray_check_failed): Wrap long string onto two lines.
7358 (varray_underflow): New function.
7360 2004-01-13 Steven Bosscher <stevenb@suse.de>
7363 * function.h (struct function): Kill `name' field.
7364 (current_function_name): Make it an extern function.
7365 * function.c (current_function_name): New function.
7366 * graph.c: Update all uses of current_function_name.
7368 * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c,
7369 config/mips/mips.c, config/pdp11/pdp11.c: Likewise.
7370 * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P
7371 instead of a strcmp with "main".
7373 2004-01-13 Jan Hubicka <jh@suse.cz>
7375 * c-decl.c (diagnose_mismatched_decls): Fix warning calls.
7377 * cgraphunit.c (cgraph_optimize_function): Always do
7378 optimize_inline_calls when there is always_inline callee.
7379 (cgraph_decide_inlining): Fix formating.
7380 * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline
7382 (expand_call_inline): Likewise.
7383 * toplev.h (sorry): Fix prototype.
7385 2004-01-12 Roger Sayle <roger@eyesopen.com>
7387 * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle
7388 conditional jumps that drop through to unconditional jumps or the
7389 end of the sequence.
7391 2004-01-13 Jan Hubicka <jh@suse.cz>
7393 * alias.c (new_alias_set): Construct the alias_set varray.
7394 (init_alias_once): Don't do it here.
7396 2004-01-12 Marc Espie <espie@openbsd.org>
7398 * system.h: handle YYBYACC like YYBISON.
7400 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com>
7403 * config.gcc: No longer includes conflicting header sparc/sol2.h when
7404 building on sparc64-*-openbsd*.
7406 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu>
7409 * dbxout.c (dbxout_type): Protected inheritance is not
7410 private but protected.
7412 2004-01-12 Richard Sandiford <rsandifo@redhat.com>
7414 * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch.
7416 2004-01-12 Kazu Hirata <kazu@cs.umass.edu>
7418 PR optimization/12508.
7419 * combine.c (try_combine): Remove a dead set in a parallel
7420 even if its destination is a subreg.
7423 2003-06-03 Kazu Hirata <kazu@cs.umass.edu>
7424 * combine.c (simplify_set): Don't move a subreg in SET_SRC to
7425 SET_DEST if WORD_REGISTER_OPERATIONS is not defined.
7427 2004-01-12 Geoffrey Keating <geoffk@apple.com>
7429 * real.c: Update copyright date.
7430 * emit-rtl.c: Likewise.
7432 * dwarf2out.c: Likewise.
7433 * config/rs6000/darwin-ldouble.c: Likewise.
7434 * config/rs6000/rs6000.md: Likewise.
7436 2004-01-12 David Edelsohn <edelsohn@gnu.org>
7438 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX
7439 TFmode to SImode libfuncs.
7441 2004-01-12 Roger Sayle <roger@eyesopen.com>
7444 * varasm.c (assemble_alias): Remove weak aliases from weak_decls.
7446 2004-01-12 Jan Hubicka <jh@suse.cz>
7449 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be
7453 * cfgcleanup.c (label_is_jump_target_p): Move to...
7454 * rtlanal.c (label_is_jump_target_p): ... here.
7455 * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru
7456 edges unified with branch edges.
7458 2004-01-12 Richard Earnshaw <rearnsha@arm.com>
7460 * simplify-rtx.c (simplify_immed_subreg): Correctly extract the
7461 high word of an integral CONST_DOUBLE.
7463 2004-01-12 Paul Brook <paul@codesourcery.com>
7465 * simplify-rtx.c (simplify_plus_minus): Always generate canonical form.
7467 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com>
7470 * sh-protos.h (check_use_sfunc_addr): Declare.
7471 * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions.
7472 * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate.
7474 2004-01-12 Jan Hubicka <jh@suse.cz>
7476 * alias.c: Invlude varray.h
7477 (alias_sets): Turn into varray.
7478 (get_alias_set_entry): Use VARRAY; mark inline.
7479 (mems_in_disjoint_alias_sets_p): Mark inline.
7480 (record_alias_subset): Use varray.
7481 (init_alias_once): Initialize varray.
7482 (new_alias_set): Grow array.
7483 * varray.c: Make VARRAY_GENERIC_PTR non GTYized.
7485 2004-01-12 Jan Hubicka <jh@suse.cz>
7487 Partial fix for PR opt/10776 II
7488 * cselib.c: Include params.h
7489 (cselib_invalidate_mem): Limit amount of nonconflicting memory
7491 * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New.
7492 * Makefile.in (cselib.o): Depend on params.h
7494 2004-01-12 Richard Sandiford <rsandifo@redhat.com>
7496 * combine.c (combine_simplify_rtx): Don't pass VOIDmode to
7497 simplify_unary_operation if the operand has a known mode.
7499 2004-01-12 Hartmut Penner <hpenner@de.ibm.com>
7502 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New
7503 predicate to handle 'ld' conform addresses.
7504 * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y'
7506 (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint
7507 are memory contraints.
7508 * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand):
7510 * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64):
7511 Change 'o' to 'Y' constraint.
7512 (*movdf_softfloat64): Ditto.
7514 2004-01-12 Bernardo Innocenti <bernie@develer.com>
7516 * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the
7517 brace-enclosed syntax in all C output statements.
7519 2004-01-12 David Edelsohn <edelsohn@gnu.org>
7522 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
7523 Objective-C language type value is 14.
7525 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
7528 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of
7529 `int' in a number of places to make sure we always have a SImode
7530 and not a HImode. Add a 'L' suffix to a number of constants.
7532 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7534 * pa.c: Don't include obstack.h.
7536 * pa.md: Correct constraint in pattern for loading PIC label address.
7538 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org>
7540 * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine
7543 2004-01-11 Steven Bosscher <stevenb@suse.de>
7546 * toplev.c (rest_of_handle_inline): Also consider functions
7547 for deferral if the language is GNU F77.
7549 2004-01-11 Zack Weinberg <zack@codesourcery.com>
7551 * c-decl.c (diagnose_arglist_conflict): Add missing space to
7552 diagnostic messages.
7554 2004-01-11 Jakub Jelinek <jakub@redhat.com>
7557 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps
7558 to drop through label. Don't fall back to SCC even when conditional
7559 jump has not been found.
7561 2004-01-11 Jan Hubicka <jh@suse.cz>
7563 * invoke.texi: Fix syntax error in previous patch.
7565 Partial fix for PR opt/10776
7566 * Makefile.in (reload.o): Include param.h
7567 * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter.
7568 * reload.c: Include params.h.
7569 (find_equiv_reg): Work limiting check.
7570 * invoke.texi: Document.
7572 2004-01-11 Richard Sandiford <rsandifo@redhat.com>
7574 * config/mips/mips.c (mips_symbolic_constant_p): Don't allow
7575 out-of-bounds accesses to string constants. Simplify mips16
7578 2004-01-11 Richard Sandiford <rsandifo@redhat.com>
7580 PR optimization/13469
7581 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after
7582 reload_cse_regs (-fnon-call-exceptions only).
7584 2004-01-11 Kazu Hirata <kazu@cs.umass.edu>
7586 * config/mcore/lib1.asm: Fix comment formatting.
7587 * config/mcore/mcore-elf.h: Likewise.
7588 * config/mcore/mcore.c: Likewise.
7589 * config/mcore/mcore.h: Likewise.
7590 * config/mcore/mcore.md: Likewise.
7592 2004-01-10 Zack Weinberg <zack@codesourcery.com>
7594 * c-decl.c (duplicate_decls): Break apart into...
7595 (diagnose_arglist_conflict, validate_proto_after_old_defn)
7596 (locate_old_defn, diagnose_mismatched_decls, merge_decls):
7597 ... these new functions. Restructure for comprehensibility.
7598 Remove various archaic special cases. Always report the
7599 location of the previous declaration when a diagnostic is issued.
7600 (redeclaration_error_message): Fold into diagnose_mismatched_decls.
7601 (match_builtin_function_types): Delete unnecessary forward declaration.
7603 2004-01-10 Zack Weinberg <zack@codesourcery.com>
7605 * genautomata.c (make_automaton, NDFA_to_DFA):
7606 Print progress bars with '.' characters instead of '*'.
7607 (build_automaton): Change notes to match.
7609 2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
7611 * config/m32r/m32r.md: Use define_constants for unspec and
7614 2004-01-10 Jan Hubicka <jh@suse.cz>
7617 * expr.c (expand_expr_real): More curefully expand union casts.
7619 2004-01-10 Kazu Hirata <kazu@cs.umass.edu>
7621 * config/m32r/m32r.md (flush_icache): Use 1 for
7624 2004-01-10 David Edelsohn <edelsohn@gnu.org>
7625 James E Wilson <wilson@specifixinc.com>
7628 * dbxout.c (dbxout_symbol): Remove initialization of
7629 current_sym_code, current_sym_value, and current_sym_addr.
7630 (dbxout_symbol_location): Same.
7631 (dbxout_prepare_symbol): Zero current_sym_code,
7632 current_sym_value, and current_sym_addr.
7634 2004-01-10 Richard Sandiford <rsandifo@redhat.com>
7636 * tree.c (get_unwidened): Reorder conditions so that the null pointer
7637 check is done first.
7639 2004-01-09 Eric Christopher <echristo@redhat.com>
7641 * toplev.c (rest_of_handle_cfg): Add reg_scan pass
7642 if we're running mark_constant_function.
7644 2004-01-09 Jeff Bailey <jbailey@nisa.net>
7647 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR.
7649 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu>
7652 * dbxout.c (dbxout_type_fields): Return if any item is
7653 error_mark_node or the type is error_mark_node.
7655 2004-01-09 Geoffrey Keating <geoffk@apple.com>
7657 * config/rs6000/darwin-ldouble.c: Add big comment explaining
7658 exactly what is expected as a 'long double'.
7659 (_xlqadd): When a value to be returned is representable as a
7660 'double', just return it directly, do not construct it using a union.
7661 Also, correct final fixup.
7662 (_xlqmul): Likewise.
7663 (_xlqdiv): Likewise.
7664 * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c.
7666 * config/rs6000/rs6000.md (fix_trunctfdi2): Delete.
7668 2004-01-09 Richard Henderson <rth@redhat.com>
7670 * recog.c (constrain_operands): Validate mem operands.
7672 2004-01-09 James E Wilson <wilson@specifixinc.com>
7674 * gcc.c (init_spec): Remove -lunwind from shared case.
7675 * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind.
7677 2004-01-09 Steve Ellcey <sje@cup.hp.com>
7679 * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*.
7680 * configure: Regenerate
7682 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk>
7685 * c-typeck.c (build_c_cast): If pedantic, warn for conversions
7686 between function and object pointers.
7687 (digest_init): When comparing a pointer to function type to the
7688 target type, only apply TREE_TYPE once to the pointer to function
7690 * except.c (for_each_eh_label_1): Treat data as a pointer to a
7691 function pointer rather than casting it to a function pointer.
7692 (for_each_eh_label): Update caller.
7693 * recog.h (struct insn_data): Use a struct or union for output.
7694 * genoutput.c (output_insn_data): Update.
7695 * final.c (get_insn_template): Update.
7697 2004-01-09 Mark Mitchell <mark@codesourcery.com>
7699 * expr.h (expand_expr): Make it a macro, not a function.
7700 (expand_expr_real): New function.
7701 * expr.c (store_expr): Adjust logic for deciding whether or not to
7702 copy the value returned by expand_expr.
7703 (expand_expr): Rename to ...
7704 (expand_expr_real): ... this. Add alt_rtl parameter. Adjust
7705 calls to language hooks.
7706 * c-common.h (c_expand_expr): Adjust prototype.
7707 * c-common.c (c_expand_expr): Add alt_rtl parameter.
7708 * langhooks-def.h (lhd_expand_expr): Change prototype.
7709 * langhooks.c (lhd_expand_expr): Add all_rtl parameter.
7710 * langhooks.h (lang_hooks): Change type of expand_expr.
7711 * stmt.c (stmt_status): Add x_last_expr_alt_rtl.
7712 (last_expr_alt_rtl): Likewise.
7713 (expand_expr_stmt_value): Set last_expr_alt_rtl.
7714 (clear_last_expr): Clear it.
7715 (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL.
7716 (expand_end_bindings): Save and restor last_expr_alt_rtl.
7717 * tree.def (RTL_EXPR): Give it an additional operand.
7718 * tree.h (RTL_EXPR_ALT_RTL): New macro.
7720 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7722 * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__.
7723 * config/m32r/m32r.c (call26_operand): Allow in PIC mode.
7725 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
7728 * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17)
7729 or (ne:SI (reg:CC 17) (const_int 0)).
7730 Be specific about modes wherever possible.
7732 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
7734 * config/m32r/m32r.c (m32r_expand_block_move): Call
7735 gen_movestrsi_internal with two more arguments.
7736 (m32r_output_block_move): Adjust operand numbers.
7737 Properly update the source and destination pointers.
7738 * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of
7739 'r+'. Change the set detinations to match_operand.
7741 2004-01-09 Kazu Hirata <kazu@cs.umass.edu>
7743 * final.c (FIRST_INSN_ADDRESS): Remove.
7744 (shorten_branches): Don't use FIRST_INSN_ADDRESS.
7745 * system.h (FIRST_INSN_ADDRESS): Poison.
7746 * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS.
7747 * config/m32r/m32r-protos.h: Remove the prototype for
7748 m32r_first_insn_address.
7749 * config/m32r/m32r.c (m32r_first_insn_address): Remove.
7750 * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise.
7751 * doc/md.texi (FIRST_INSN_ADDRESS): Likewise.
7753 2004-01-09 J. Brobecker <brobecker@gnat.com>
7755 * dwarf2out.c (gen_enumeration_type_die): Return the DIE that
7757 (is_ada_subrange_type): DIEs for enumeration subtypes should be
7758 emitted as subrange types too.
7759 (subrange_type_die): Add handling of enumeration subtypes.
7761 2004-01-08 Richard Henderson <rth@redhat.com>
7764 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz>
7765 * i386.c (aligned_operand): Be prepared for SUBREGed registers.
7766 (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG.
7767 (ix86_address_cost): Be prepared for SUBREGed registers.
7768 (legitimate_address_p): Accept SUBREGed registers.
7770 2004-01-08 Kelley Cook <kcook@gcc.gnu.org>
7772 * Makefile.in: Rename configure.in to configure.ac
7773 * doc/sourcebuild.texi: Likewise.
7774 * configure: Regenerate.
7775 * config.in: Regenerate.
7777 2004-01-08 Stuart Hastings <stuart@apple.com>
7779 * config/i386/i386.md: Typos in MMX/SSE immediate shifts.
7781 2004-01-08 Jan Hubicka <jh@suse.cz>
7783 * cgraphunit.c (cgraph_decide_inlining): Fix typo.
7785 2004-01-08 Geoffrey Keating <geoffk@apple.com>
7787 * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset.
7788 (UNSPEC_FIX_TRUNC_TF): New constant.
7789 (movtf_internal): Make splitter active only when insn is active.
7790 (extenddftf2): Rewrite to properly load zero into low part.
7791 (extenddftf2_internal): New.
7792 (extendsftf2): Rewrite.
7793 (truncdftf2): Correct length.
7794 (floatditf2): Delete.
7795 (fix_trunc_helper): New.
7796 (fix_trunctfdi2): Use fix_trunc_helper.
7797 (fix_trunctfsi2): Likewise.fix_trunc
7798 (fix_trunctfsi2_internal): New.
7800 * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum
7801 addresses are legitimate on Darwin even when flag_pic.
7802 (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create
7803 non-offsettable addresses for loads of TFmode constants.
7805 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7807 * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit
7808 variables in the appropriate bss section.
7810 2004-01-09 Alan Modra <amodra@bigpond.net.au>
7812 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure
7813 target_flags has MASK_POWERPC64 when -m64.
7814 * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64
7815 to 620, 630, power3, power4 and rs64a entries.
7816 * config/rs6000/rs6000.h (MASK_64BIT): Expand comment.
7818 2004-01-08 Richard Sandiford <rsandifo@redhat.com>
7820 * simplify-rtx.c (simplify_immed_subreg): Fix construction of
7821 floating-point constants.
7823 2004-01-08 J. Brobecker <brobecker@gnat.com>
7825 * dwarf2out.c (subrange_type_die): Add context_die parameter.
7826 Create the subrange_type DIE using the given context DIE.
7827 (modified_type_die): Update call to subrange_type_die.
7829 2004-01-08 Zack Weinberg <zack@codesourcery.com>
7831 * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h:
7832 Add multiple-include guard.
7834 2004-01-08 Hartmut Penner <hpenner@de.ibm.com>
7836 * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept
7837 all vector constant loadable by vsplt*.
7838 (output_vec_const_move): Likewise.
7840 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
7843 * c-typeck.c (comptypes): Only treat enumerated types in the same
7844 translation unit as compatible with each other when they are the
7846 * doc/extend.texi: Update.
7848 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk>
7851 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed
7852 array type from the array element type.
7854 2004-01-07 Alan Modra <amodra@bigpond.net.au>
7856 * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function.
7857 * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare.
7858 * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define.
7859 (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment.
7860 * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define.
7862 2004-01-06 Eric Christopher <echristo@redhat.com>
7864 * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default.
7865 (DWARF2_DEBUGGING_INFO): Define.
7866 (PREFERRED_DEBUGGING_TYPE): Set to dwarf2.
7867 * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove.
7868 * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0
7870 (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as.
7871 * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove.
7872 * config/mips/iris5gas.h: Ditto.
7873 (DBX_DEBUGGING_INFO): Remove.
7874 (DWARF2_DEBUGGING_INFO): Ditto.
7875 (MIPS_DEBUGGING_INFO): Ditto.
7876 (PREFERRED_DEBUGGING_TYPE): Ditto.
7877 * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove.
7878 (PREFERRED_DEBUGGING_TYPE): Ditto.
7879 (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto.
7880 * config/mips/elf64.h: Ditto.
7882 2004-01-06 Jan Hubicka <jh@suse.cz>
7884 * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate.
7885 (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use.
7887 2004-01-06 Geoffrey Keating <geoffk@apple.com>
7889 * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c.
7890 (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128.
7891 * config/rs6000/darwin-ldouble.c: New.
7893 * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg
7895 (constant_subword): Delete.
7896 * rtl.h (constant_subword): Delete prototype.
7897 (immed_double_const): Is not in varasm.c.
7898 * simplify-rtx.c (simplify_immed_subreg): New.
7899 (simplify_subreg): Use simplify_immed_subreg.
7901 * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather
7902 than trying to generate RTL directly.
7903 (fix_trunctfsi2): Use expand_fix rather than trying to generate
7906 * dwarf2out.c (add_const_value_attribute): Remove incorrect comment.
7908 2004-01-06 David Edelsohn <edelsohn@gnu.org>
7910 * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each
7911 function into a separate macro.
7912 (read_only_data_section): Add void argument.
7913 (private_data_section): Same.
7914 (read_only_private_data_section): Same.
7915 (toc_section): Same.
7917 2004-01-06 Jan Hubicka <jh@suse.cz>
7919 * invoke.texi: Remove typo in last change.
7922 * config.gcc: Accept opteron and athlon-64 as variants
7924 * i386.c (override_options): Likewise.
7925 * invoke.texi (i386 -mtune): Expand documentation.
7927 2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
7929 * alias.c: Fix comment typos.
7930 * builtins.c: Likewise.
7933 * dominance.c: Likewise.
7934 * dwarf2out.c: Likewise.
7935 * emit-rtl.c: Likewise.
7937 * final.c: Likewise.
7938 * fold-const.c: Likewise.
7940 * genattrtab.c: Likewise.
7941 * genrecog.c: Likewise.
7942 * gensupport.c: Likewise.
7943 * ggc-zone.c: Likewise.
7944 * integrate.c: Likewise.
7945 * local-alloc.c: Likewise.
7947 * recog.c: Likewise.
7948 * regmove.c: Likewise.
7949 * reg-stack.c: Likewise.
7950 * reorg.c: Likewise.
7951 * rtlanal.c: Likewise.
7953 * sched-ebb.c: Likewise.
7954 * simplify-rtx.c: Likewise.
7955 * toplev.c: Likewise.
7956 * varasm.c: Likewise.
7958 2004-01-06 Kazu Hirata <kazu@cs.umass.edu>
7960 * doc/install.texi: Fix typos.
7961 * doc/invoke.texi: Likewise.
7962 * doc/md.texi: Likewise.
7964 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
7966 * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed
7968 2004-01-06 Jan Hubicka <jh@suse.cz>
7970 * i386.c (init_cumulative_args): Add handling of MMX_REGPARM.
7971 (function_arg_advance): Do not pass aggregates in SSE; deal handling
7973 (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM;
7975 * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields.
7976 (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI.
7977 (MMX_REGPARM_MAX): Similarly for -mmmx.
7979 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
7981 * config/sh/linux.h: Fix comment formatting.
7982 * config/sh/netbsd-elf.h: Likewise.
7983 * config/sh/sh.c: Likewise.
7984 * config/sh/sh.h: Likewise.
7985 * config/sh/vxworks.h: Likewise.
7987 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
7989 * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison.
7990 * toplev.c (output_file_directive): Don't use
7991 ASM_OUTPUT_MAIN_SOURCE_FILENAME.
7993 2004-01-05 Steven Bosscher <s.bosscher@student.tudelft.nl>
7995 * toplev.c: Fix broken checkin of 2003-12-30.
7997 2004-01-05 Daniel Berlin <dberlin@dberlin.org>
7999 * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS
8000 (USING_MMAP): We don't support non-mmap.
8001 (struct alloc_chunk): Steal 1 bit from typecode, use it to mark
8003 (struct page_entry): Remove bytes_free.
8004 (struct page_table_chain): Remove.
8005 (struct globals): Remove page_table member.
8006 (loookup_page_table_entry): Function deleted.
8007 (set_page_table_entry): Ditto.
8008 (ggc_allocated_p): No longer need page table lookups.
8009 (ggc_marked_p): Ditto.
8010 (alloc_small_page): Don't care about bytes_free anymore.
8011 (alloc_large_page): Round up size.
8012 (ggc_alloc_zone_1): Mark large objects as such, and calculate
8013 their size the new way.
8014 Remove page table lookups and setting.
8015 (ggc_get_size): Calculate large object size the new way.
8016 (sweep_pages): Redo to account for fact that we no longer have
8018 (ggc_collect): No longer need to reincrement bytes_free.
8019 (ggc_pch_alloc_object): Handle new large objects properly.
8020 (ggc_pch_read): Put PCH stuff into it's own uncollected zone.
8022 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
8024 * doc/invoke.texi: Remove a page break.
8026 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
8028 * config/avr/avr.c (avr_output_function_prologue): Remove an
8029 extra pair of curly braces.
8031 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
8033 * config/mn10300/mn10300.c: Fix comment formatting.
8034 * config/mn10300/mn10300.h: Likewise.
8036 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
8038 * tree.h: Update documentation on nothrow_flag.
8039 * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for
8042 2004-01-05 Kazu Hirata <kazu@cs.umass.edu>
8044 * doc/invoke.texi: Remove traces of dead ports.
8046 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
8048 * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs
8051 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
8054 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for
8056 * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete.
8057 (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating
8058 string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check
8059 the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P.
8060 (mips_symbol_insns): Don't trust the local/global classification.
8061 (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol.
8062 (override_options): Make -mabicalls -fno-unit-at-a-time imply
8063 -mno-explicit-relocs.
8064 (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish
8065 between local and global symbols.
8067 2004-01-05 Richard Sandiford <rsandifo@redhat.com>
8069 * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare.
8070 (mips_preferred_reload_class): Declare.
8071 * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function.
8072 (EXTRA_CONSTRAINT): Update accordingly.
8073 (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class.
8074 * config/mips/mips.c (mips_dangerous_for_la25_p): New function.
8075 (mips_preferred_reload_class): New function. Prefer LEA_REGS if
8076 mips_dangerous_for_la25_p.
8077 (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS
8078 if mips_dangerous_for_la25_p.
8080 2004-01-05 Bernardo Innocenti <bernie@develer.com>
8082 * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison
8085 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org>
8087 * configure.ac: Use AC_PROG_CPP_WERROR.
8088 * configure: Regenerate.
8090 2004-01-04 Zack Weinberg <zack@codesourcery.com>
8092 * .cvsignore: Add autom4te.cache.
8094 2004-01-04 Richard Sandiford <rsandifo@redhat.com>
8096 * doc/invoke.texi: Revamp documentation of MIPS options. Remove
8097 -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile,
8098 -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first,
8099 then architecture options, then ABI options. General rewording.
8101 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk>
8104 * doc/extend.texi: Clarify definition of malloc attribute.
8106 2004-01-04 Jan Hubicka <jh@suse.cz>
8108 * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency.
8109 * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed
8110 * cgraph.h (cgraph_edge): Replace inline_call by inline_failed
8111 (cgraph_inline_p): Add extra argument reason.
8112 * cgraphunit.c: Minor formating fixes.
8113 cgraph_first_inlined_callee): New functions.
8114 (record_call_1): Record builtins too.
8115 (cgraph_analyze_function): Update inline_failed messages.
8116 (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into,
8117 cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed.
8118 (cgraph_check_inline_limits): Likewise; Add argument reason.
8119 (cgraph_set_inline_failed): New static function.
8120 (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set
8122 (cgraph_inline_p): Add new argument reason.
8123 * tree-inline.c (expand_call_inline): Update warning.
8125 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org>
8127 * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM
8128 with modern equivalents.
8129 * configure: Regenerate.
8131 * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE.
8132 * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove.
8133 * configure: Regenerate.
8135 * doc/install.texi: Note that 'gcc' is now a 2.57 directory.
8137 * configure.in: Rename to configure.ac.
8138 * configure.ac: Renamed from configure.in; make minimum necessary
8139 changes for autoconf 2.5x.
8140 * aclocal.m4: Make minimum necessary changes for autoconf 2.5x.
8141 * configure: Regenerate with autoconf 2.57.
8143 2004-01-03 Kazu Hirata <kazu@cs.umass.edu>
8145 * config/mips/linux.h: Fix comment formatting.
8146 * config/mips/mips.c: Likewise.
8147 * config/mips/mips.h: Likewise.
8148 * config/mips/mips.md: Likewise.
8149 * config/mips/netbsd.h: Likewise.
8150 * config/mips/windiss.h: Likewise.
8152 2004-01-02 Richard Henderson <rth@redhat.com>
8154 * config/i386/i386.md (fp constant pool splitter): Reorg suppression
8155 for sse and 387; add suppression for mmx.
8157 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu>
8159 * loop.c (loop_optimize): Free all loops_info's mems.
8161 * c-typeck.c (finish_init): Free spelling_base before
8164 * cfgloop.c (flow_loops_find): Always free the sbitmap
8167 * predict.c (estimate_probability): Free bbs after being
8170 2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
8172 * config/mn10300/mn10300.h (PREDICATE_CODES): Add
8173 const_8bit_operand and call_address_operand.
8175 2004-01-02 Jan Hubicka <jh@suse.cz>
8177 * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls
8178 when there is nothing to inline but warnings are requested.
8179 (cgraph_decide_inlining): Fix memory leak.
8181 2004-01-02 Jan Hubicka <jh@suse.cz>
8183 * expr.c (store_constructor): Fix pasto in previous patch.
8185 2004-01-02 Kazu Hirata <kazu@cs.umass.edu>
8187 * config/i386/cygming.h: Fix comment formatting.
8188 * config/i386/djgpp.h: Likewise.
8189 * config/i386/gthr-win32.c: Likewise.
8190 * config/i386/i386-interix.h: Likewise.
8191 * config/i386/i386.c: Likewise.
8192 * config/i386/i386.h: Likewise.
8193 * config/i386/openbsd.h: Likewise.
8194 * config/i386/winnt.c: Likewise.
8195 * config/i386/xm-mingw32.h: Likewise.
8197 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk>
8199 * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update
8200 copyright and last modification dates.
8202 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de>
8204 * doc/install.texi (Specific): Mention x86_64.
8206 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com>
8208 * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]:
8209 Call force_operand on plus_constant result.
8211 2004-01-01 Jan Hubicka <jh@suse.cz>
8213 * expmed.c (store_bit_field, extract_bit_field): Use new named patterns
8214 * expr.c (store_constructor): Use vec_init pattern.
8215 * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init.
8216 * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init
8217 (vec_set_optab, vec_extract_optab, vec_init_optab): New.
8218 * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf):
8220 (sse2_unpc?pd): Fix pattern.
8221 (sse2_movlpd): Kill.
8222 (sse2_movsd): Deal with movlpd too.
8223 * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd.
8224 (ix86_expand_vector_init): New.
8225 * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions.
8226 * md.texi (vec_set, vec_extract): Document
8228 2003-12-31 Jan Hubicka <jh@suse.cz>
8231 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside
8235 * toplev.c (dump_file_index): Reorder ce3 and bbro.
8236 (dump_file): Likewise.
8237 (rest_of_compilation): Likewise.
8240 * cgraph.c (cgraph_function_possibly_inlined): Even with
8241 flag_really_no_inline we inline always_inline functions.
8242 * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag
8243 for non-always_inline functions when there is flag_really_no_inline.
8244 (cgraph_decide_inlining): Limit work done when not inlining.
8245 (cgraph_decide_inlining_incrementally): Likewise.
8246 (cgraph_optimize_function): Check whether something got inlined.
8247 * c-objc-common.c (c_disregard_inline_limits): Do not always inline
8248 extern inline functions when not inlining.
8250 * opts.c (decode_options): Disable crossjumping at -O1
8251 * invoke.texi (-O1): Document change.
8253 See ChangeLog.10 for earlier changes.