gcc/gcc/common.opt

1030 lines
28 KiB
Plaintext
Raw Normal View History

Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
; Options for the language- and target-independent parts of the compiler.
re PR middle-end/13779 ([3.4 only] powerpc64: incorrect initialization of 'long long' with constant) * Makefile.in (bt-load.o): Depend on except.h. * bt-load.c (except.h): #include. (compute_defs_uses_and_gen): If insn at end of BB can throw within this function, consider registers used by it unavailable for btr migration. (move_btr_def): If insn at end of BB can throw, insert before rather than after. * flags.h (flag_btr_bb_exclusive): Declare. * toplev.c (flag_btr_bb_exclusive): New variable. (f_options): Add btr-bb-exclusive. * bt-load.c (augment_live_range): Restore old behaviour if flag_btr_bb_exclusive is set. * common.opt: Add entry for -fbtr-bb-exclusive. * opts.c (common_handle_options): Same. * doc/invoke.texi: Document -fbtr-bb-exclusive. * bt-load.c (btrs_live_at_end): New variable. (compute_defs_uses_and_gen): Compute its pointed-to array. (clear_btr_from_live_range, add_btr_to_live_range): Update it. (augment_live_range): When augmenting with a new dominator, use only its btrs_live_at_end set, but also add in the full set of the old dominator. (btr_def_live_range): Use btrs_live_at_end. (move_btr_def): Set other_btr_uses_before_def, and move new set to the end of the basic block, if appropriate. (migrate_btr_defs): Allocate and free btrs_live_at_end. * bt-load.c (basic_block_freq): Remove outdated comment. 2004-01-27 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.h: Correct target_flags free bits comment. (PREDICATE_CODES): Remove duplicate. * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. (MASK_PROFILE_KERNEL): Adjust define. 2004-01-27 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.c (ix86_constant_alignment): Decrease alignment of long string literals from 32 bytes to sizeof (void *) when !-Os and to 1 with -Os. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept constant addresses in the normal mode. 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * system.h (CHAR_BITFIELD): Delete. (BOOL_BITFIELD): New. * c-decl.c (c_scope): Use BOOL_BITFIELD. * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (arc_return_in_memory): Likewise. * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. 2004-01-26 Richard Henderson <rth@redhat.com> * c-parse.in (extension): Use itype. (SAVE_EXT_FLAGS): Don't allocate a tree. (RESTORE_EXT_FLAGS): Don't read a tree. 2004-01-26 Jan Hubicka <jh@suse.cz> * cselib.c (discard_useless_values): Clear out value pointer pointing to datastructure to be recycled. 2004-01-25 Jan Hubicka <jh@suse.cz> * genextract.c (main): Do not output the memset when not checking. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements. 2004-01-26 Jeff Law <law@redhat.com> * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add acute accents for Petur Runolfsson's entry. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. * config/pdp11/pdp11.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * config/rs6000/rs6000.c (rs6000_emit_move): split slow unaligned load/store into smaller loads and stores. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * function.c (assign_parms): Do not assign long long argument to memory in prologue if is it loaded into register. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> PR middle-end/13779 * expr.c (emit_group_load): split constant correctly into register components of PARALLEL insn. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * gcc/config/rs6000/rs6000.md (save_stack_nonlocal): Use adjust_address_nv directly with appropriate mode. (restore_stack_nonlocal): Ditto. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/xtensa/xtensa-protos.h: Remove the prototype for xtensa_builtin_saveregs. * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (xtensa_builtin_saveregs): Make it static. (xtensa_return_in_memory): New. * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (PROMOTE_PROTOTYPES): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New. (arm_setup_incoming_varargs): Likewise. * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New. (cris_setup_incoming_varargs): Likewise. * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. (ns32k_struct_value_rtx): Likewise. * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to NS32K_STRUCT_VALUE_REGNUM. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (arm_struct_value_rtx): Likewise. * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_REGNUM): Likewise. (PROMOTE_PROTOTYPES): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ia64/ia64-protos.h: Remove the prototype for ia64_setup_incoming_varargs and ia64_return_in_memory. * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (ia64_setup_incoming_varargs): Adjust the arguments to meet the requirement of TARGET_SETUP_INCOMING_VARARGS. (ia64_return_in_memory): Make it static. Change the return type to bool from int. Add an argument. (ia64_struct_value_rtx): New. * config/ia64/ia64.h: Remove commented-out definitions of PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13666 * config/sparc/sparc.c (function_arg_union_value): New function. (function_arg): Use it to deal with unions. (function_value): Likewise. Define 'regbase' only for ARCH64. Replace a conditional statement by a simpler one. 2004-01-26 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips16_optimize_gp): Delete. (mips_reorg): Don't call it. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order. (floatunsqihf2): Remove operand 6. (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other fix patterns. (ldi_conditional, ldf_conditional): Validate operands. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. (HAVE_GAS_HIDDEN): Undefine as interim measure. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject invalid operand combinations. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_check_legit_addr): Rename to c4x_legitimate_address_p. Fix post_modify check. * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust. * config/c4x/c4x.h (c4x_check_legit_addr): Adjust. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/pa/pa-protos.h: Remove the prototype for hppa_builtin_saveregs. Add a prototype for pa_return_in_memory. * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (pa_struct_value_rtx): Likewise. (pa_return_in_memory): Likewise. * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to PA_STRUCT_VALUE_REGNUM. (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory. (EXPAND_BUILTIN_SAVEREGS): Remove. (PROMOTE_PROTOTYPES): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (vax_struct_value_rtx): Likewise. * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to VAX_STRUCT_VALUE_REGNUM. (PROMOTE_PROTOTYPES): Remove. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. 2003-04-25 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, and MIPS64 have HI/LO interlocks. Update comment. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/stormy16/stormy16-protos.h: Remove the prototype for xstormy16_setup_incoming_varargs. * config/stormy16/stormy16.c (xstormy16_setup_incoming_varargs): Remove. (xstormy16_return_in_memory): New. (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise (PROMOTE_PROTOTYPES): Likewise (RETURN_IN_MEMORY): Likewise (STRUCT_VALUE): Likewise (SETUP_INCOMING_VARARGS): Likewise 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_offset_within_object_p): New function. (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the ABI has 64-bit pointers and the object file only allows 32-bit symbols. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300-protos.h: Remove the prototype for mn10300_builtin_saveregs. * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (mn10300_return_in_memory): Likewise. (mn10300_builtin_saveregs): Make it static. * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr> PR bootstrap/13853 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by using ccr. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/i860/i860-protos.h: Remove the prototype for i860_saveregs. * config/i860/i860.c (i860_saveregs): Make it static. (i860_struct_value_rtx): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to I860_STRUCT_VALUE_REGNUM. (EXPAND_BUILTIN_SAVEREGS): Remove. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (m68hc11_struct_value_rtx): Likewise. (m68hc11_return_in_memory): Likewise. * config/m68hc11/m68hc11.h: Remove a commented-out definition of PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mmix/mmix-protos.h: Remove the prototype for mmix_setup_incoming_varargs. * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (mmix_setup_incoming_varargs): Make it static. (mmix_struct_value_rtx): New. * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove. Remove a commented-out definition of PROMOTE_FUNCTION_RETURN. (STRUCT_VALUE_REGNUM): Remove. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mips/mips-protos.h: Remove the prototypes for mips_setup_incoming_varargs and mips_return_in_memory. * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (mips_setup_incoming_varargs): Match the prototype for TARGET_SETUP_INCOMING_VARARGS. (mips_return_in_memory): Make it static. Add argument fntype. (mips_strict_argument_naming): New. * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove. (PROMOTE_FUNCTION_ARGS): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (SETUP_INCOMING_VARARGS): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (ip2k_return_in_memory): Likewise. (ip2k_setup_incoming_varargs): Likewise. * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (avr_return_in_memory): Remove. * config/avr/avr.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Jan Hubicka <jh@suse.cz> * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete. (mips_regno_mode_ok_for_base_p): Declare. * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77. (FRAME_POINTER_REGNUM): Renumber to 78. (FIRST_PSEUDO_REGISTER): Update comment accordingly. (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete. (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete. (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p. (REG_MODE_OK_FOR_BASE_P): Likewise. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change entry for 77 to "$arg" and entry for 78 to "$frame". (mips_regno_to_class): Map 77 and 78 to ALL_REGS. (mips_reg_mode_ok_for_base_p): Remove. (mips_regno_mode_ok_for_base_p): New function, derived from old BASE_REG_P macro. Don't enforce the mips16 stack pointer restrictions unless we're being strict. (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment typos. * c-decl.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * et-forest.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * ifcvt.c: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * postreload.c: Likewise. * varray.c: Likewise. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * doc/frontends.texi: Update copyright. * doc/gcov.texi: Likewise. * doc/gty.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/standards.texi: Likewise. 2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl> PR target/12978 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup. Remove movstrqi_small because it conflicts with movstrqi_large. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (cris_struct_value_rtx): Likewise. * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove. (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of STRUCT_VALUE_REGNUM. (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM. 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com> PR bootstrap/13848 * cse.c (cse_cc_succs): Change the mode of the source expression as soon as decide we need a new mode. Don't permit changing modes if we found a match in a successor block. (cse_condition_code_reg): Save original mode of source expression so that we know whether we have to change the mode in other insns. 2004-01-24 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address, adjust_address_1, offset_address, widen_memory_access): Return early when there is nothing to change. 2004-01-24 Jakub Jelinek <jakub@redhat.com> * simplify-rtx.c (simplify_relational_operation): Don't simplify address == constant into address + -constant == 0. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * gcc.c (process_command): Don't internationalize the Copyright message. * mips-tfile.c (main): Likewise. 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> * cse.c: (cse_cc_succs) Fix comparison warning. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md: Remove extraneous USE in expanders. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Provide prototypes for h8300_legitimate_constant_p and h8300_legitimate_address_p. * config/h8300/h8300.c (h8300_legitimate_constant_p): New. (h8300_rtx_ok_for_base_p): Likewise. (h8300_legitimate_address_p): Likewise. * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use h8300_legitimate_constant_p. (RTX_OK_FOR_BASE_P): Remove. (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New. (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Likewise. (REG_OK_FOR_BASE_STRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P. (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P. (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P. (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P. 2004-01-24 Jan Hubicka <jh@suse.cz> * cselib.c (remove_useless_values): Do not access discarded values. 2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk> * c-typeck.c (build_conditional_expr): Do not allow non-lvalue arrays. 2004-01-23 Kazu Hirata <kazu@cs.umass.edu> * recog.c: Fix a typo in copyright. 2004-01-23 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.md (call): Fix misappiled patch. (call_value): Likewise. 2004-01-23 Richard Henderson <rth@redhat.com> PR opt/12941 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value. (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0) if SHIFT_COUNT_TRUNCATED is set. 2004-01-23 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as separate real and imaginary parts. * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define. 2004-01-23 Hartmut Penner <hpenner@de.ibm.com> PR target/13674 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage loading into GPR. 2004-01-23 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. * alloc-pool.c (align_four): Kill. (create_alloc_pool): Align size to eight. (free_alloc_pool, free_pool): Invalidate deallocated data. 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com> PR gcc/1532 * cse.c (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. * rtl.h (cse_condition_code_reg): Declare. * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg. * target.h (struct gcc_target): Add fixed_condition_code_regs and cc_modes_compatible. * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (TARGET_INITIALIZER): Add new initializers. * targhooks.c (default_cc_modes_compatible): New function. * targhooks.c (default_cc_modes_compatible): Declare. * hooks.c (hook_bool_intp_intp_false): New function. * hooks.h (hook_bool_intp_intp_false): Declare. * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (ix86_fixed_condition_code_regs): New static function. (ix86_cc_modes_compatible): Likewise. * doc/tm.texi (Condition Code): Document new hooks. 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (bad_lval): Renamed to ... (alpha_bad_lval): ... this. Removed file list. Restrict to alpha*-dec-osf*. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/dirent.h: Remove, moving test ... * fixinc/tests/base/testing.h: ... here, reflecting new name. 2004-01-23 Zack Weinberg <zack@codesourcery.com> PR c/13814 * c-decl.c (diagnose_mismatched_decls): Also discard a built-in if we encounter an old-style definition with the same name. 2004-01-23 Jakub Jelinek <jakub@redhat.com> * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) [!__powerpc64__]: Corrected to handle kernels with changed ucontext. 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr> Olivier Hainque <hainque@act-europe.fr> * fold-const.c (fold_binary_op_with_conditional_arg): Only build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR. 2004-01-23 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode size for minipool references. 2004-01-23 Roger Sayle <roger@eyesopen.com> * real.c (real_floor, real_ceil): Tweak to allow input and output arguments to overlap. (real_round): New function to implement round(3m) semantics. * real.h (real_round): Prototype here. * builtins.c (fold_builtin_round): New function to constant fold round, roundf and roundl. (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}. 2004-01-23 Alexandre Oliva <aoliva@redhat.com> PR optimization/13819 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs introduced by 2004-01-20's Jan Hubicka's copy_insn change. (sh_handle_sp_switch_attribute): Remove warning. 2003-11-30 Jan Hubicka <jh@suse.cz> * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. 2004-01-23 J"orn Rennecke <joern.rennecke@superh.com> * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP may or may not return non-NIL. * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code, check CANNOT_CHANGE_MODE_CLASS 2004-01-23 Jan Hubicka <jh@suse.cz> * basic-block.h (PROP_POSTRELOAD): New macro. (CLEANUP_LOG_LINKS): New. * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to. * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg. * cselib.c (value_pool): New. (new_cselib_val): Use pool. (cselib_init): Initialize value_pool (cselib_finish): Free pool. 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (scan_record_type): New function. (function_arg_slotno): Use it to determine which kinds of registers the record can be passed in. 2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca> * config/pa/fptr.c: Fix old-style definition. 2004-01-22 Paolo Bonzini <bonzini@gnu.org> PR optimization/13724 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it represents the zero bits produced by a ZERO_EXTEND operation. 2004-01-22 Roger Sayle <roger@eyesopen.com> PR optimization/13821 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to correctly calculate the lowpart offset of the contracted subreg. 2004-01-22 Ian Lance Taylor <ian@wasabisystems.com> * doc/invoke.texi (Optimize Options): Note that --param arguments are subject to change without notice. 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * config.gcc (mips-sgi-irix6*o32): Removed. * config/mips/iris6-o32-as.h: Likewise. * config/mips/iris6-o32-gas.h: Likewise. * config/mips/iris6-o32.h: Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * cfgcleanup.c (first_pass): New static variable. (try_forward_edges): Add work limiting check for threading. (try_crossjump_bb): Add work limiting check for crossjumping. (try_optimize_cfg): Maintain first pass variable. 2004-01-22 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove. (REG_OK_FOR_BASE_P_STRICT): Likewise. (STRICT): Likewise. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1) (genrtl_for_stmt): Remove emit_nop calls. 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR target/13713 PR target/13324 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload, movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload, clrstrdi_prereload, clrstrdi_postreload): Fix constraints. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c: Include "debug.h". (thumb_pushpop): Take two new arguments. Add some commentary. Output frame information when pushing. (thumb_exit, thumb_unexpanded_epilogue): Update calls to thumb_pushpop. (thumb_output_function_prologue): Likewise. Accumulate a CFA offset, and pass it to thumb_pushpop. Output CFI information. (thumb_expand_prologue): Add some frame-related markers and notes. 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. 2004-01-22 Roger Sayle <roger@eyesopen.com> Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb. (subreg_lsb): Change to call new subreg_lsb_1 helper function. * rtl.h (subreg_lsb_1): Prototype here. * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and sign extensions. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the macro need not be defined if jump-tables should contain relative addresses only when -fPIC or -fPIC is in effect. 2004-01-22 Jan Hubicka <jh@suse.cz> * alias.c (reg_base_value): Turn into varray. (reg_base_value_size): Kill. (old_reg_base_value): New deletable varray. (alias_invariant_size): New variable. (REG_BASE_VALUE): Update to use varray. (find_base_value): Likewise. (record_set): Likewise. (record_base_value): Likewise. (memrefs_conflict_p): Likewise. (record_set): Likewise (record_base_value): Likewise. (memrefs_conflict_p): Use alias_invariant_size. (init_alias_analysis): Use varray; set alias_invariant_size; rescale other arrays to be sized by maxreg. (end_alias_analysis): Save reg_base_value; clear alias_invariant_size. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (function_arg_slotno): Use FLOAT_TYPE_P to detect FP fields in structures. (function_arg_record_value_1): Likewise. (function_arg_record_value_2): Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * function.c (allocate_struct_function): Do not initialize expr, emit and varasm. (prepare_function_start): Do it here. * c-parse.in (maybe_type_qual): Do not produce line number notes. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13559 * config/sparc/sparc.c (function_arg_record_value_3): Revert to 'word_mode' once the first slot has been filled. 2004-01-22 Olivier Hainque <hainque@act-europe.fr> * config/sparc/sparc.c (function_arg_record_value_1): Fix computation of the number of integer registers required. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/i386/i386.md: Simplify certain comparisons of const_int. 2004-01-21 Andrew Pinski <apinski@apple.com> PR target/13785 * config/rs6000/rs6000.md (call_value): Force operand 1 not operand 0 into a register. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, unwind-dw2-fde.h: Update copyright. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h: Update copyright. * pa.h: Likewise. * pa.md: Likewise. 2004-01-21 Caroline Tice <ctice@apple.com> PR target/12308 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber flags register. (fix_truncdfdi2): Likewise. (fix_truncsfdi2): Likewise. (*fix_truncdi_1): Likewise. (fix_truncxfsi2): Likewise. (fix_truncdfsi2): Likewise. (fix_truncsfsi2): Likewise. (*fix_truncsi_1): Likewise. (fix_truncxfhi2): Likewise. (fix_truncdfhi2): Likewise. (fix_truncsfhi2): Likewise. (*fix_trunchi_1): Likewise. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * alias.c, basic-block.h, c-common.c, c-common.h, c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Update copyright. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3, ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time, ultrix_unistd): New hacks. * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK, ULTRIX_CONST2_CHECK): Add checks. * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise. * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise. * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise. * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise. * fixinc/tests/base/locale.h: New file. * fixinc/fixincl.x: Rebuilt. 2004-01-21 Andreas Jaeger <aj@suse.de> Michael Matz <matz@suse.de> * doc/extend.texi (Extended Asm): Clarify memory clobber. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * crtstuff.c (frame_dummy, __do_global_ctors_1): Call _Jv_RegisterClasses through a function pointer. 2004-01-21 Falk Hueffner <falk@debian.org> PR target/12898 * config/alpha/alpha.c (alpha_emit_set_const_1): If no_new_pseudos, use gen_rtx_SET directly for SImode constants which need multiple instructions to emit. 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (CPP_SPEC): Define. 2004-01-21 Zack Weinberg <zack@codesourcery.com> * c-decl.c (merge_decls): Kill different_binding_level and different_tu arguments; simplify throughout. (duplicate_decls): Likewise. (pushdecl, merge_translation_unit_decls): Update calls to duplicate_decls. 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and $(SYSTEM_H). (print-rtl1.o): Depend on $(SYSTEM_H). 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12730 * configure.ac: Delete definition and subsitution of docdir. Add info, man, srcman and srcinfo to target hooks. Create doc/ directory. * configure: Regenerate. * Makefile.in: Don't substitute docdir and delete all references throughout. (MAKEINFOFLAGS): Define. (stmp-docobjdir): Delete. (INFOFILES, MANFILES): Define. (info): Call lang.info, srcinfo and lang.srcinfo. (generated-manpages): Call lang.man, srcman and lang.srcman. (srcinfo, srcman): New rules to copy back files to source directory. (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule. (install-man): Revamp rule. (clean): Update dvi directory. (distclean): Delete TAGS from front end directorys. (maintainer-clean): Delete all document files in source directory. objc/Make-lang.in (objc.man, objc.info): Dummy entries. (objc.srcman, objc.srcinfo): Likewise. 2004-01-20 Bruce Korb <bkorb@gnu.org> * fixinc/inclhack.def(math_exception): bypass only for glibc. (matherr_decl): rename & relocate as exception_structure. This fix must precede the math_exception fix. 2004-01-20 Roger Sayle <roger@eyesopen.com> * fold-const.c (fold_convert): Rename to fold_convert_const. (fold_convert_const): Change arguments to take a tree_code, a type and the operand/expression to be converted. Return NULL_TREE if no simplification is possible. Add support for FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR. (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR. Adjust call to fold_convert to match new fold_convert_const. Avoid modifying the tree passed to fold in-place. 2004-01-21 Alan Modra <amodra@bigpond.net.au> * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define. * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT. * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document. 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes. * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d): Likewise. Handle frames larger than 0x7fffffff on 64-bit ports. (emit_move_sequence): Check scratch_reg first in various if statements. Extend source simplification to handle all 64-bit CONST_INTs. (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing frame size. (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for frame offset calculations. * pa.h (NEW_HP_ASSEMBLER): Add comment. (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT, LEGITIMATE_64BIT_CONST_INT_P): Define. (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat any CONST_INT as legitimate during and after reload. (VAL_32_BITS_P, INT_32_BITS): Define. (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets. 2004-01-20 Jan Hubicka <jh@suse.cz> * emit-rtl.c (verify_rtx_sharing, copy_insn_1, emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers containing hard regs are shared. (gen_hard_reg_clobber): New function. (hard_reg_clobbers): New array. * genemit.c (gen_exp): Use gen_hard_reg_clobber. (copy_rtx): Do not copy clobbers containing hard regs. * rtl.h (gen_hard_reg_clobber): Declare. 2004-01-20 Jan Hubicka <jh@suse.cz> * varray.c: Include hashtab.h (varray_descriptor): New structure. (hash_descriptor, eq_descriptor, varray_descriptor, print_statistics): New static functions (varray_init, varray_grow): Update statistics (dump_varray_statistics): New function. * varray.h (dump_varray_statistics): Declare. * toplev.c (finalize): Call it. * Makefile.in (varray.o): Add dependency. 2004-01-20 Jan Hubicka <jh@suse.cz> * cselib.c: Include alloc-pool.h (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill. (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare. (new_elt_list, new_elt_loc_list, unchain_one_elt_list, unchain_one_elt_loc_list_pool, unchain_one_value, new_cselib_val): Simplify using allocpool. (cselib_init): Initialize allocpools. (cselib_finish): Finish allocpools. * Makefile.in (cselib.o): Depend on alloc-pool.h 2004-01-20 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_load_call_address): Make the call insn use $gp if it could be calling a lazy binding stub. 2004-01-20 Kazu Hirata <kazu@cs.umass.edu> * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Remove. (STRUCT_VALUE): Remove. 2004-01-20 Denis Chertykov <denisc@overta.ru> PR bootstrap/13735 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload. 2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR optimization/12440 * loop.c: Include ggc.h. (loop_optimize): Run garbage collector between optimization of loops. * Makefile.in (loop.o): Add GGC_H dependency. 2004-01-20 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (function_arg) Handle vector register special in function without prototype. (function_arg_advance): Vector parameters get always GPRs allocated for the linux64 target. 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK not TARGET_M32RX_MASK. 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13557 * config/sparc/sparc.c (function_arg): Reorder the cases. 2004-01-19 Per Bothner <per@bothner.com> Move cpp_reader's line_maps field to a shared global. * cpphash.h (cpp_reader): Rename line_maps field to line_table and change the type to a pointer rather than a struct. * cppinit.c (cpp_push_main_field): Adjust accordingly. * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks): Likewise. * cppfiles.c (validate_pch): Likewise. * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text): Likewise. * cpperror.c (print_location): Likewise. * cpplib.h (cpp_create_reader): New line_maps pointer parameter. * cppinit.c (cpp_create_reader): Handle new parameter. (cpp_destroy): Don't free line_maps - that's no longer our job. * input.h (line_table): New variable. * toplev.c (line_table): Declare variable. (general_init): Initialize line_table. * c-opts.c (c_common_init_options): Pass line_table to cpp_create_reader. * fix-header.c (read_scan_file): New local variable line_table. Initialize, and pass it to cpp_create_reader. * Makefile.in (LIBS, LIBDEPS): Add libcpp.a. (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a. 2004-01-19 Per Bothner <per@bothner.com> Implement a cache for linemap_lookup. * line-map.h (struct_line_maps): Add cache field. * line-map.c (linemap_init): Zero cache field. (linemap_add): Set cache field to offset of newly allocated map. (linemap_lookup): Use and set cache field. 2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org> PR optimization/13567 * cse.c (cse_basic_block): Call cse_insn with a non-null libcall_insn for the last SET insn of a no-confilict block. 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (target_noncanonical, program_transform_name): Use immediate define instead of deferred. (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of deferred backquote. 2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk> * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to true unconditionally. * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): Remove. (build_unary_op, build_modify_expr): Don't handle extended lvalues. (build_component_ref, build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue. (build_c_cast): Don't condition use of non_lvalue on pedantic. * fold-const.c (fold): Don't check pedantic directly for COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are passed to pedantic_non_lvalue. * doc/extend.texi: Remove documentation of extended lvalues. 2004-01-19 Roger Sayle <roger@eyesopen.com> PR optimization/5263 * simplify-rtx.c (associative_constant_p): Delete. (simplify_associative_operation): Rewrite to linearize terms, and attempt to simplify new term against both left and right subterms. (simplify_binary_operation): Call swap_commutative_operands_p on op0 and op1, not trueop0 and trueop1. Move the initialization of trueop0 and trueop1 down to where first needed. (simplify_relational_operation): Likewise. * rtlanal.c (commutative_operand_precedence): Also order constant operands using avoid_constant_pool_reference. 2004-01-19 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN, don't check memory mode. (unaligned_memory_operand): Likewise. (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't abort for op0 not MEM. * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination is not a reg, copy to a scratch first. (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi, unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le, unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG. (reload_inqi, reload_inhi): Fix mode of op0. (reload_inqi_help, reload_inhi_help, reload_outqi_help, reload_outhi_help): Likewise. Use define_insn_and_split. * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN as well as $29 dead. 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit "tls_object" for thread-local objects. * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit "#tls" for thread-local sections. * configure.ac (thread-local checks): Specify --fatal-warnings in every binutils-specific checks. For sparc*-*-*, test whether the OS is Solaris and the tools are native and act accordingly. * configure: Rebuild. 2004-01-19 Jeff Law <law@redhat.com> * contrib.texi: Update Paolo Carlini's entry. New entries for Jerry Quinn and Petur Runolfsson. 2004-01-19 Roger Sayle <roger@eyesopen.com> * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for size, don't use the larger zero-extending loads. 2004-01-19 Richard Henderson <rth@redhat.com> * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs. * alpha.md (UNSPEC_NT_LDA): Remove. (UNSPEC_CVTLQ, cvtlq): New. (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f. (extendsidi2_fix): Remove. (extendsidi2 splitter): Use cvtlq. (extendsidi2 fp peepholes): Remove. (cvtql): Use SFmode instead of SImode. (fix_trunc?fsi): Update to match. (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New. (movsi): Rename from movsi_nofix, remove f alternatives. (movsi_nt_vms): Similarly. (movsi_fix, movsi_nt_vms_fix): Remove. (nt_lda): Remove. * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda. 2004-01-19 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_remove_node): Fix removal from linked list. * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed list. (cgraph_remove_unreachable_nodes): New function (cgraph_decide_inlining_of_small_function): Fix pasto. (cgraph_decide_inlining_incrementally): Fix pasto. (cgrpah_decide_inlining): Likewise; remove unreachable nodes. 2004-01-19 Steven Bosscher <stevenb@suse.de> * gengtype.c (header_file): Make it static. (write_types_process_field, write_enum_defn): Minor whitespace fixes. * gengtype.h (header_file): No longer extern. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default. * expr.c (CASE_VECTOR_PC_RELATIVE): Remove. * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * stmt.c (HAVE_casesi): Define it not already defined. (HAVE_tablejump): Likewise. (expand_end_case_type): Resort to the binary tree method if neither casesi or tablejump is available. 2004-01-18 Daniel Jacobowitz <drow@mvista.com> * final.c (final_scan_insn): Make non-static again. * output.h (final_scan_insn): Re-add prototype. * config/arc/arc.c (arc_output_function_epilogue): Add NULL to final_scan_insn call. * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise. * config/mips/mips.c (mips_output_conditional_branch): Likewise. * config/pa/pa.c (output_lbranch, output_call): Likewise. * config/sh/sh.c (print_slot): Likewise. * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise. (output_sibcall, sparc_flat_function_epilogue): Likewise. 2004-01-18 Jan Hubicka <jh@suse.cz> * basic-block.h (try_redirect_by_replacing_jump): Declare. * cfgcleanup.c (try_optimize_cfg): Use it. * cfgrtl.c (try_redirect_by_replacing_jump): Export. (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch): Kill hack. (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump. Revert: 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of the size of a pointer in bytes. 2004-01-18 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing live "next" variable, which could lead to an infinite loop. 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/altivec.h: Wrap C++ functions in extern "C++" block. * config/rs6000/rs6000.c (rs6000_special_round_type_align): Check for NULL in the chain and remove repeated code. 2004-01-18 Jan Hubicka <jh@suse.cz> * coverage.c (checksum_string): Rename to ... (coverage_checksum_string): ... this one, Use crc32_string; recognize names containing random number and zero the number out in order to get match. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_got_alias_set): Mark for PCH. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/trouble.texi: Remove trailing whitespace. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> PR target/7618 * config/mips/mips.c: Include cfglayout.h. (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. (mips_unspec_offset_high): Add temporary register argument. (mips_load_call_address): New function, split out from... (mips_expand_call): ...here. (mips_output_cplocal): New function. (mips_output_function_prologue, mips_output_function_epilogue): Use it. (mips_emit_loadgp): New function, split out from... (mips_expand_prologue): ...here. (mips_output_mi_thunk): New function. 2004-01-17 Bernardo Innocenti <bernie@develer.com> * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040, mcpu32): Remove redundant checks for implied target predefines. 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.c (rs6000_special_round_type_align): Return type is unsigned int not int. * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Likewise. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use "GNU/Linux" and "Microsoft Windows" terminology. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi, doc/cppopts.texi, doc/extend.texi, doc/install.texi, doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use @smallexample instead of @example. 2004-01-17 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_objc_method_call): Use target hooks instead of macros to determine if ..._stret dispatchers should be used (NeXT runtime only). 2004-01-17 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc) (emit_call_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New macros. * reload1.c (emit_reload_insns): Use them. * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check for NULL PATTERN. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define. (final_scan_insn): Update to take an additional SEEN argument. Emit a line note after the prologue. Make static. (line_note_exists): Remove. (final): Don't initialize line_note_exists. Update call to final_scan_insn. * output.h (final_scan_insn): Remove prologue. * function.c (set_insn_locators): Update comment. (thread_prologue_and_epilogue_insns): Add a comment. 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/10781 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Prototype. * config/rs6000/rs6000.c (rs6000_special_round_type_align): New function. * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. 2004-01-17 Jan Hubicka <jh@suse.cz> * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous commit. * toplev.c (HAVE_conditional_execution): Provide default. (rest_of_handle_reorder_blocks): For conditional_execution target update liveness once after all transformations (rest_of_compilation): Do crossjumping before ce3. 2004-01-17 Geoffrey Keating <geoffk@apple.com> * alias.c (new_alias_set): Mark last_alias_set for PCH. (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it for PCH. (get_frame_alias_set): Likewise, except rename it to 'frame_set'. * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH. (get_TOC_alias_set): Mark 'set' for PCH. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-17 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type(). Remove checks for is_ada() and TREE_UNSIGNED. (subrange_type_die): Emit a byte_size attribute if the subrange type size is different from the base type size. (modified_type_die): Replace call to is_ada_subrange_type() by call to is_subrange_type(). 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu> * config/sh/sh.c: Include ggc.h. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * Makefile.in (MD5_H): New. (fold-const.o): Depend on md5.h. (dwarf2out.o): Likewise. (cppfiles.o): Likewise. * cppfiles.c: Include md5.h. (should_stack_file): Check against list read from PCH file. (struct pchf_data): New. (pchf): New variable. (struct pchf_adder_info): New. (pchf_adder): New. (pchf_save_compare): New. (_cpp_save_file_entries): New. (_cpp_read_file_entries): New. (struct pchf_compare_data): New. (pchf_compare): New. (check_file_against_entries): New. * cpphash.h (_cpp_save_file_entries): Prototype. (_cpp_read_file_entries): Prototype. * cpppch.c (cpp_write_pch_state): Write the list of headers. (cpp_read_state): Read the list of headers. 2004-01-17 Jan Hubicka <jh@suse.cz> * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and builtin_expect specially. * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100. (PARAM_LARGE_FUNCTION_INSNS): Set to 3000. * invoke.texi (max-inline-insns-single): Set to 100. (large-function-insns): Set to 3000. 2004-01-16 Eric Christopher <echristo@redhat.com> Chandrakala Chavva <cchavva@redhat.com> * cppcharset.c (one_iso88591_to_utf8): New function. (convert_iso88591_utf8): Ditto. Use. (conversion_tab): Use. (_cpp_input_to_utf8): New function. (_cpp_init_iconv_buffer): Ditto. (_cpp_close_iconv_buffer): Ditto. * cpphash.h: Prototype new functions. (cpp_buffer): Add input_cset_desc. * cppinit.c: Add input_charset default. * cpplib.c (cpp_push_buffer): Support init and close of iconv. * cpplib.h (cpp_options): Add input_charset. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_SECTION_NAME): Poison. * config/alpha/unicosmk.h: Remove a commented-out definition of ASM_OUTPUT_SECTION_NAME. * config/stormy16/stormy16.h: Likewise. 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ... (alpha___extern_prefix_sys_stat): ... this. Apply to <sys/mount.h>, too. Tweak to match more variations. * fixinc/tests/base/sys/stat.h: Adapt for new hackname. * fixinc/inclhack.def (alpha___extern_prefix, alpha___extern_prefix_standards): New hacks to obey __PRAGMA_EXTERN_PREFIX. * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New test. * fixinc/tests/base/standards.h: Likewise. * fixincl/inclhack.def (alpha_pthread): Tweak to match more variations. New testcase. * fixinc/tests/base/pthread.h: Handle it. * fixincl/inclhack.def (bad_lval): Sort file list. Add many missing files up to Tru64 UNIX V5.1B. * gcc/fixinc/tests/base/libgen.h: Renamed to ... * gcc/fixinc/tests/base/dirent.h: ... this to match new file list order. * fixinc/fixincl.x: Regenerate. 2004-01-16 Mark Mitchell <mark@codesourcery.com> * version.c (version_string): Change to 3.5.0. * doc/include/gcc-common.texi (version-GCC): Likewise. 2004-01-16 Jan Hubicka <jh@suse.cz> * i386.md (load_tp_di): Fix pasto. PR opt/13608 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function. * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator, pp_c_character_constant, pp_c_floating_constant, pp_c_additive_expression, pp_c_shift_expression, pp_c_equality_expression, pp_c_and_expression, pp_c_exclusive_or_expression, pp_c_inclusive_or_expression, pp_c_logical_and_expression): Remove inline modifier. * dwarf2out.c (get_AT): Likewise. * et-forest.c (et_splay): Likewise. * ra.h (ra_alloc, ra_calloc): Likewise 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * config/frv/frv-protos.h: Fix comment formatting. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/frv/frv.md: Likewise. * config/frv/frvbegin.c: Likewise. * config/frv/frvend.c: Likewise. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison. * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention LINKER_DOES_NOT_WORK_WITH_DWARF2. (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove. 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com> PR 11864 * postreload.c (reload_cse_simplify_operands): Don't remove implicit extension from LOAD_EXTEND_OP. 2004-01-16 Jan Hubicka <jh@suse.cz> PR opt/11350 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal after reload. * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks, rtl_try_redirect_by_replacing_branch): Likewise. 2004-01-15 Geoffrey Keating <geoffk@apple.com> PR pch/13689 * alias.c (struct alias_set_entry): Mark for GC. (alias_sets): Make static, mark for GC. (record_alias_subset): Use GC to allocate alias structures. * varray.c (element): Make generic varrays GCed. PR pch/13361 * c-typeck.c (constructor_asmspec): Delete. (struct initializer_stack): Delete field 'asmspec'. (start_init): Delete saving of asmspec. (finish_init): Don't update constructor_asmspec. * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. * stmt.c (expand_asm): Duplicate strings from tree. (expand_asm_operands): Likewise. * tree.c (tree_size): Update computation of size of STRING_CST. (make_node): Don't make STRING_CST nodes. (build_string): Allocate string with tree node. * tree.def (STRING_CST): Update comment. * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. (tree_string): Place contents of string in tree node. * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string from tree. * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case altivec operands. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment formatting. * c-cppbuiltin.c: Likewise. * c-pragma.c: Likewise. * calls.c: Likewise. * collect2.c: Likewise. * cppcharset.c: Likewise. * cpptrad.c: Likewise. * dbxout.c: Likewise. * defaults.h: Likewise. * dwarf2out.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * genconditions.c: Likewise. * genflags.c: Likewise. * gengtype.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * sdbout.c: Likewise. 2004-01-15 Zack Weinberg <zack@codesourcery.com> * config/ia64/ia64.md (*movti_internal): C output template extracted to ia64.c. (*movti_internal_reg): Delete. (reload_inti, reload_outti): Use the correct mode on operand 2 in the first place, don't fix it up in the output template. (movtf, reload_ointf, reload_outtf): New expanders. (*movtf_internal): New define_insn_and_split. * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; make static; do not hand TFmode CONST_DOUBLEs to split_double. (ia64_split_tmode_move): New function, body mostly pulled from ia64.md:*movti_internal. (ia64_function_arg_words): New function, extracted common logic from ia64_function_arg et seq. (ia64_function_arg_offset): Likewise. Handle correctly the case of a scalar quantity 16 bytes wide with only 8-byte alignment. (ia64_function_arg, ia64_function_arg_partial_nregs) (ia64_function_arg_advance): Use ia64_function_arg_words and ia64_function_arg_offset. (ia64_function_value): TCmode does not go in float regs. (ia64_secondary_reload_class): Also handle TFmode. * config/ia64/ia64-protos.h: Remove prototype for ia64_split_timode; add prototype for ia64_split_tmode_move. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (MAINT): Make it an immediate assignment. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Remove useless calls to gen_lowpart. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Replace Hitachi with Renesas. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. 2004-01-15 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF around it. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_return_in_memory): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/h8300/h8300.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> PR optimization/13375 * gcse.c (handle_avail_expr): Just return if the source is not a single set. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> Daniel Jacobowitz <drow@mvista.com> * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. (EQUIV): Define. (ARM_FUNC_ALIAS): New macro. * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12372 * calls.c (expand_call): Add call_fusage data for stack arguments in constant calls. 2004-01-15 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. (rs6000_elf_declare_function_name): Formatting. * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration. 2004-01-15 Jan Hubicka <jh@suse.cz> PR bootstrap/13692 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in previous patch. 2004-01-15 Richard Henderson <rth@redhat.com> * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after integer regs of the same call-savedness. 2004-01-15 Andreas Schwab <schwab@suse.de> PR bootstrap/13562 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc status for NOTB/NOTW/NEGW methods. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Update dump file names. Fix a typo. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * builtins.c (expand_builtin_va_end): Don't use EXPAND_BUILTIN_VA_END. * system.h (EXPAND_BUILTIN_VA_END): Poison. * config/d30v/d30v.h: Remove a commented-out definition of EXPAND_BUILTIN_VA_END. * config/stormy16/stormy16.h: Likewise. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison. * targhooks.c (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING_REGNUM. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (FUNCTION_VALUE): Fix a typo. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi: Replace RETURN_IN_MEMORY with TARGET_RETURN_IN_MEMORY. 2004-01-15 Jan Hubicka <jh@suse.cz> * builtins.c (std_expand_builtin_va_arg): Align operand when needed. * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic functions accepting SSE arguments (function_arg): Warn only when asked to warn. * i386.h (ix86_args): Add warn_sse/warn_mmx fiels. 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk> * c-parse.in (stmts_and_decls): Make label at end of compound statement a hard error. 2004-01-14 Jan Hubicka <jh@suse.cz> * cgraph.c (create_edge): Use local.redefined_extern_inline. * cgraph.h (cgraph_local_info): Sort fields by size; add redefined_extern_inline (cgraph_global_info): Sort fields by size. (cgraph_node): Likewise. * cgraphunit.c (cgraph_finalize_function): Se local.redefined_extern_inline on redefinition. (cgraph_analyze_function): Use it; fix formating. 2004-01-14 Jan Hubicka <jh@suse.cz> PR c++/10776 * sched-deps.c (trye_dependency_cache, anti_dependency_cache, outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of bitmaps (cache_size): New variable (add_dependence): Update use; canonize early memory locations (sched_analyze_1): Likewise. (sched_analyze_2): Likewise. (init_dependency_caches): Initialize bitmaps. (free_dependency_caches): Free bitmaps 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with targetm.calls.strict_argument_naming(). * target.h: Likewise. 2004-01-14 Richard Henderson <rth@redhat.com> PR debug/13231 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue instructions. 2004-01-14 Richard Henderson <rth@redhat.com> PR c++/12491 * except.c (struct eh_region): Add u.fixup.resolved. (resolve_one_fixup_region): Split out from ... (resolve_fixup_regions): ... here. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/alpha/alpha.h (STRUCT_VALUE): Remove. * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef. (STRUCT_VALUE): Remove. 2004-01-14 Steven Bosscher <stevenb@suse.de> * system.h: Poison PROMOTED_MODE * integrate.c (expand_inline_function): Don't mention the PROMOTED_MODE. * loop.c (update_giv_derive): Same. * tree.h (DECL_RTL): Same. 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com> PR target/9365 * sh.c (gen_block_redirect): Add special handling of RETURN. (gen_far_branch) Don't call gen_stuff_delay_slot if there is no far branch target (i.e. it's a return). 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * regrename.c (find_oldest_value_reg): Fix a warning. 2004-01-14 Richard Earnshaw <rearnsha@arm.com> PR bootstrap/12527 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. Move linux-gas.h and linux-elf.h before aout.h. * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx (CONST_INT, VOIDmode, ...). 2004-01-14 Richard Earnshaw <rearnsha@arm.com> * regrename.c (find_oldest_value_reg): If the replacement uses multiple hard registers, check that all of them are in CLASS. 2004-01-14 Jan Hubicka <jh@suse.cz> * alias.c (get_alias_set): Initialize alias set to 0 when subset is impossible. 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Define MAINT from --enable-maintainer-mode. 2004-01-14 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (rs6000_stack_info) Calculate always vrsave_mask if TARGET_ALTIVEC. (rs6000_emit_prologue): Emit code for vrsave only if TARGET_ALTIVEC_VRSAVE. (rs6000_emit_epilogue): Likewise. 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.md (tie_add32): Fix pasto. (tie_add64): Likewise. 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * config/i386/i386.md (*addqi_1_slp): Do not access operands[2]. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/iq2000/iq2000-protos.h: Fix comment formatting. * config/iq2000/iq2000.c: Likewise. * config/iq2000/iq2000.md: Likewise. 2004-01-14 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME. (subrange_type_die): Add handle for nameless subrange types. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Replace do_movsi with h8300_expand_movsi. * config/h8300/h8300.c (do_movsi): Change to h8300_expand_movsi. * config/h8300/h8300.md (movsi): Replace do_movsi with h8300_expand_movsi. (movsf): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (dosize): Change to h8300_emit_stack_adjustment. Update callers. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md (movstrictqi): Add an alternative with the source being post_inc. Tighten the predicate for the destination to register_operand. (movstricthi): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP. * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove. 2004-01-14 Jan Hubicka <jh@suse.cz> Partial fix PR c++/12850 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when at zero nest level. 2004-01-13 Bernardo Innocenti <bernie@develer.com> * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr" pseudo-register. 2004-01-13 Devang Patel <dpatel@apple.com PR debug/7078 * dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/12709 * c-common.c (finish_fname_decls): Use the chain only if the tree is an expr_stmt. 2004-01-13 Vladimir Makarov <vmakarov@redhat.com> * rtl.def: Add comment about new option in automata_option. * genautomata.c (PROGRESS_OPTION): New macro. (progress_flag): New global variable. (gen_automata_option): Process `progress'. (transform_insn_regexps, check_unit_distributions_to_automata, make_automaton, NDFA_to_DFA, build_automaton, create_automata, expand_automata, write_automata): Print about the progress only if progress_flag. Remove fflush. (initiate_automaton_gen): Process command line flag `-progress'. * doc/md.texi: Describe the new option. 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * cfg.c (dump_bb): Dump entry edges. 2004-01-13 Richard Earnshaw <rearnsha@arm.com> * arm.c (thumb_legitimate_address_p): Only allow constant pool references from SImode. * arm.md (thumb_movhi_insn): Don't allow minipool references. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (TEXT_SECTION): Poison. * varasm.c (text_section): Don't use TEXT_SECTION. * config/sh/sh.c (sh_file_start): Fix a comment typo. * doc/tm.texi (TEXT_SECTION): Remove. 2004-01-13 Ben Elliston <bje@wasabisystems.com> * doc/rtl.texi (Vector Operations): Remove defunct vec_const item. 2004-01-12 James E Wilson <wilson@specifixinc.com> * unwind-libunwind.c: Delete. 2004-01-12 Zack Weinberg <zack@codesourcery.com> PR 13656 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or oldtype is set, set *newtypep or *oldtypep too. Do not set them at the very end. (validate_proto_after_old_defn): Restructure for comprehensibility; make error messages clearer. 2004-01-12 Zack Weinberg <zack@codesourcery.com> * varray.h (VARRAY_POP): Add checking variant, aborts on underflow. (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked. * varray.c: No need to prototype error. (varray_check_failed): Wrap long string onto two lines. (varray_underflow): New function. 2004-01-13 Steven Bosscher <stevenb@suse.de> PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". 2004-01-13 Jan Hubicka <jh@suse.cz> * c-decl.c (diagnose_mismatched_decls): Fix warning calls. * cgraphunit.c (cgraph_optimize_function): Always do optimize_inline_calls when there is always_inline callee. (cgraph_decide_inlining): Fix formating. * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline functions. (expand_call_inline): Likewise. * toplev.h (sorry): Fix prototype. 2004-01-12 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle conditional jumps that drop through to unconditional jumps or the end of the sequence. 2004-01-13 Jan Hubicka <jh@suse.cz> * alias.c (new_alias_set): Construct the alias_set varray. (init_alias_once): Don't do it here. 2004-01-12 Marc Espie <espie@openbsd.org> * system.h: handle YYBYACC like YYBISON. 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> PR target/10847 * config.gcc: No longer includes conflicting header sparc/sol2.h when building on sparc64-*-openbsd*. 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu> PR debug/13539 * dbxout.c (dbxout_type): Protected inheritance is not private but protected. 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch. 2004-01-12 Kazu Hirata <kazu@cs.umass.edu> PR optimization/12508. * combine.c (try_combine): Remove a dead set in a parallel even if its destination is a subreg. Revert: 2003-06-03 Kazu Hirata <kazu@cs.umass.edu> * combine.c (simplify_set): Don't move a subreg in SET_SRC to SET_DEST if WORD_REGISTER_OPERATIONS is not defined. 2004-01-12 Geoffrey Keating <geoffk@apple.com> * real.c: Update copyright date. * emit-rtl.c: Likewise. * rtl.h: Likewise. * dwarf2out.c: Likewise. * config/rs6000/darwin-ldouble.c: Likewise. * config/rs6000/rs6000.md: Likewise. 2004-01-12 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX TFmode to SImode libfuncs. 2004-01-12 Roger Sayle <roger@eyesopen.com> PR middle-end/11397 * varasm.c (assemble_alias): Remove weak aliases from weak_decls. 2004-01-12 Jan Hubicka <jh@suse.cz> PR opt/12826 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be stored. PR opt/12863 * cfgcleanup.c (label_is_jump_target_p): Move to... * rtlanal.c (label_is_jump_target_p): ... here. * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru edges unified with branch edges. 2004-01-12 Richard Earnshaw <rearnsha@arm.com> * simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE. 2004-01-12 Paul Brook <paul@codesourcery.com> * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com> PR target/13585 * sh-protos.h (check_use_sfunc_addr): Declare. * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions. * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate. 2004-01-12 Jan Hubicka <jh@suse.cz> * alias.c: Invlude varray.h (alias_sets): Turn into varray. (get_alias_set_entry): Use VARRAY; mark inline. (mems_in_disjoint_alias_sets_p): Mark inline. (record_alias_subset): Use varray. (init_alias_once): Initialize varray. (new_alias_set): Grow array. * varray.c: Make VARRAY_GENERIC_PTR non GTYized. 2004-01-12 Jan Hubicka <jh@suse.cz> Partial fix for PR opt/10776 II * cselib.c: Include params.h (cselib_invalidate_mem): Limit amount of nonconflicting memory locations. * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New. * Makefile.in (cselib.o): Depend on params.h 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * combine.c (combine_simplify_rtx): Don't pass VOIDmode to simplify_unary_operation if the operand has a known mode. 2004-01-12 Hartmut Penner <hpenner@de.ibm.com> PR target/13534 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New predicate to handle 'ld' conform addresses. * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y' contraint. (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint are memory contraints. * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand): New prototype. * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64): Change 'o' to 'Y' constraint. (*movdf_softfloat64): Ditto. 2004-01-12 Bernardo Innocenti <bernie@develer.com> * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the brace-enclosed syntax in all C output statements. 2004-01-12 David Edelsohn <edelsohn@gnu.org> PR target/13401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Objective-C language type value is 14. 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com> PR c/12148 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of `int' in a number of places to make sure we always have a SImode and not a HImode. Add a 'L' suffix to a number of constants. 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa.c: Don't include obstack.h. * pa.md: Correct constraint in pattern for loading PIC label address. 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine before defining. 2004-01-11 Steven Bosscher <stevenb@suse.de> PR fortran/9972 * toplev.c (rest_of_handle_inline): Also consider functions for deferral if the language is GNU F77. 2004-01-11 Zack Weinberg <zack@codesourcery.com> * c-decl.c (diagnose_arglist_conflict): Add missing space to diagnostic messages. 2004-01-11 Jakub Jelinek <jakub@redhat.com> PR middle-end/13392 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps to drop through label. Don't fall back to SCC even when conditional jump has not been found. 2004-01-11 Jan Hubicka <jh@suse.cz> * invoke.texi: Fix syntax error in previous patch. Partial fix for PR opt/10776 * Makefile.in (reload.o): Include param.h * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter. * reload.c: Include params.h. (find_equiv_reg): Work limiting check. * invoke.texi: Document. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Don't allow out-of-bounds accesses to string constants. Simplify mips16 case accordingly. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> PR optimization/13469 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after reload_cse_regs (-fnon-call-exceptions only). 2004-01-11 Kazu Hirata <kazu@cs.umass.edu> * config/mcore/lib1.asm: Fix comment formatting. * config/mcore/mcore-elf.h: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * c-decl.c (duplicate_decls): Break apart into... (diagnose_arglist_conflict, validate_proto_after_old_defn) (locate_old_defn, diagnose_mismatched_decls, merge_decls): ... these new functions. Restructure for comprehensibility. Remove various archaic special cases. Always report the location of the previous declaration when a diagnostic is issued. (redeclaration_error_message): Fold into diagnose_mismatched_decls. (match_builtin_function_types): Delete unnecessary forward declaration. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * genautomata.c (make_automaton, NDFA_to_DFA): Print progress bars with '.' characters instead of '*'. (build_automaton): Change notes to match. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use define_constants for unspec and unspec_volatile. 2004-01-10 Jan Hubicka <jh@suse.cz> PR opt/11635 * expr.c (expand_expr_real): More curefully expand union casts. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md (flush_icache): Use 1 for unspec_volatile. 2004-01-10 David Edelsohn <edelsohn@gnu.org> James E Wilson <wilson@specifixinc.com> PR debug/12860 * dbxout.c (dbxout_symbol): Remove initialization of current_sym_code, current_sym_value, and current_sym_addr. (dbxout_symbol_location): Same. (dbxout_prepare_symbol): Zero current_sym_code, current_sym_value, and current_sym_addr. 2004-01-10 Richard Sandiford <rsandifo@redhat.com> * tree.c (get_unwidened): Reorder conditions so that the null pointer check is done first. 2004-01-09 Eric Christopher <echristo@redhat.com> * toplev.c (rest_of_handle_cfg): Add reg_scan pass if we're running mark_constant_function. 2004-01-09 Jeff Bailey <jbailey@nisa.net> PR target/12561 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR. 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR debug/11231 * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the type is error_mark_node. 2004-01-09 Geoffrey Keating <geoffk@apple.com> * config/rs6000/darwin-ldouble.c: Add big comment explaining exactly what is expected as a 'long double'. (_xlqadd): When a value to be returned is representable as a 'double', just return it directly, do not construct it using a union. Also, correct final fixup. (_xlqmul): Likewise. (_xlqdiv): Likewise. * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c. * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. 2004-01-09 Richard Henderson <rth@redhat.com> * recog.c (constrain_operands): Validate mem operands. 2004-01-09 James E Wilson <wilson@specifixinc.com> * gcc.c (init_spec): Remove -lunwind from shared case. * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind. 2004-01-09 Steve Ellcey <sje@cup.hp.com> * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*. * configure: Regenerate 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk> PR c/11234 * c-typeck.c (build_c_cast): If pedantic, warn for conversions between function and object pointers. (digest_init): When comparing a pointer to function type to the target type, only apply TREE_TYPE once to the pointer to function type. * except.c (for_each_eh_label_1): Treat data as a pointer to a function pointer rather than casting it to a function pointer. (for_each_eh_label): Update caller. * recog.h (struct insn_data): Use a struct or union for output. * genoutput.c (output_insn_data): Update. * final.c (get_insn_template): Update. 2004-01-09 Mark Mitchell <mark@codesourcery.com> * expr.h (expand_expr): Make it a macro, not a function. (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__. * config/m32r/m32r.c (call26_operand): Allow in PIC mode. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> PR target/13380. * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17) or (ne:SI (reg:CC 17) (const_int 0)). Be specific about modes wherever possible. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.c (m32r_expand_block_move): Call gen_movestrsi_internal with two more arguments. (m32r_output_block_move): Adjust operand numbers. Properly update the source and destination pointers. * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of 'r+'. Change the set detinations to match_operand. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * final.c (FIRST_INSN_ADDRESS): Remove. (shorten_branches): Don't use FIRST_INSN_ADDRESS. * system.h (FIRST_INSN_ADDRESS): Poison. * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS. * config/m32r/m32r-protos.h: Remove the prototype for m32r_first_insn_address. * config/m32r/m32r.c (m32r_first_insn_address): Remove. * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise. * doc/md.texi (FIRST_INSN_ADDRESS): Likewise. 2004-01-09 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (gen_enumeration_type_die): Return the DIE that we just created. (is_ada_subrange_type): DIEs for enumeration subtypes should be emitted as subrange types too. (subrange_type_die): Add handling of enumeration subtypes. 2004-01-08 Richard Henderson <rth@redhat.com> PR opt/12441 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> * i386.c (aligned_operand): Be prepared for SUBREGed registers. (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. (ix86_address_cost): Be prepared for SUBREGed registers. (legitimate_address_p): Accept SUBREGed registers. 2004-01-08 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Rename configure.in to configure.ac * doc/sourcebuild.texi: Likewise. * configure: Regenerate. * config.in: Regenerate. 2004-01-08 Stuart Hastings <stuart@apple.com> * config/i386/i386.md: Typos in MMX/SSE immediate shifts. 2004-01-08 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_decide_inlining): Fix typo. 2004-01-08 Geoffrey Keating <geoffk@apple.com> * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset. (UNSPEC_FIX_TRUNC_TF): New constant. (movtf_internal): Make splitter active only when insn is active. (extenddftf2): Rewrite to properly load zero into low part. (extenddftf2_internal): New. (extendsftf2): Rewrite. (truncdftf2): Correct length. (floatditf2): Delete. (fix_trunc_helper): New. (fix_trunctfdi2): Use fix_trunc_helper. (fix_trunctfsi2): Likewise.fix_trunc (fix_trunctfsi2_internal): New. * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum addresses are legitimate on Darwin even when flag_pic. (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create non-offsettable addresses for loads of TFmode constants. 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section. 2004-01-09 Alan Modra <amodra@bigpond.net.au> * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure target_flags has MASK_POWERPC64 when -m64. * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64 to 620, 630, power3, power4 and rs64a entries. * config/rs6000/rs6000.h (MASK_64BIT): Expand comment. 2004-01-08 Richard Sandiford <rsandifo@redhat.com> * simplify-rtx.c (simplify_immed_subreg): Fix construction of floating-point constants. 2004-01-08 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (subrange_type_die): Add context_die parameter. Create the subrange_type DIE using the given context DIE. (modified_type_die): Update call to subrange_type_die. 2004-01-08 Zack Weinberg <zack@codesourcery.com> * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h: Add multiple-include guard. 2004-01-08 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept all vector constant loadable by vsplt*. (output_vec_const_move): Likewise. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/6024 * c-typeck.c (comptypes): Only treat enumerated types in the same translation unit as compatible with each other when they are the same type. * doc/extend.texi: Update. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/12165 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed array type from the array element type. 2004-01-07 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function. * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare. * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define. (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment. * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define. 2004-01-06 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Set to dwarf2. * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove. * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0 for irix as. (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as. * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove. * config/mips/iris5gas.h: Ditto. (DBX_DEBUGGING_INFO): Remove. (DWARF2_DEBUGGING_INFO): Ditto. (MIPS_DEBUGGING_INFO): Ditto. (PREFERRED_DEBUGGING_TYPE): Ditto. * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Ditto. (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto. * config/mips/elf64.h: Ditto. 2004-01-06 Jan Hubicka <jh@suse.cz> * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate. (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use. 2004-01-06 Geoffrey Keating <geoffk@apple.com> * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c. (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128. * config/rs6000/darwin-ldouble.c: New. * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for constants. (constant_subword): Delete. * rtl.h (constant_subword): Delete prototype. (immed_double_const): Is not in varasm.c. * simplify-rtx.c (simplify_immed_subreg): New. (simplify_subreg): Use simplify_immed_subreg. * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly. (fix_trunctfsi2): Use expand_fix rather than trying to generate RTL directly. * dwarf2out.c (add_const_value_attribute): Remove incorrect comment. 2004-01-06 David Edelsohn <edelsohn@gnu.org> * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each function into a separate macro. (read_only_data_section): Add void argument. (private_data_section): Same. (read_only_private_data_section): Same. (toc_section): Same. 2004-01-06 Jan Hubicka <jh@suse.cz> * invoke.texi: Remove typo in last change. PR target/10301 * config.gcc: Accept opteron and athlon-64 as variants of k8. * i386.c (override_options): Likewise. * invoke.texi (i386 -mtune): Expand documentation. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * alias.c: Fix comment typos. * builtins.c: Likewise. * cfg.c: Likewise. * df.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genrecog.c: Likewise. * gensupport.c: Likewise. * ggc-zone.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * recog.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reorg.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * sched-ebb.c: Likewise. * simplify-rtx.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * doc/install.texi: Fix typos. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed 2004-01-06 Jan Hubicka <jh@suse.cz> * i386.c (init_cumulative_args): Add handling of MMX_REGPARM. (function_arg_advance): Do not pass aggregates in SSE; deal handling of MMX_REGPARM. (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM; add MMX_REGPARM. * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields. (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI. (MMX_REGPARM_MAX): Similarly for -mmmx. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/sh/linux.h: Fix comment formatting. * config/sh/netbsd-elf.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.h: Likewise. * config/sh/vxworks.h: Likewise. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison. * toplev.c (output_file_directive): Don't use ASM_OUTPUT_MAIN_SOURCE_FILENAME. 2004-01-05 Daniel Berlin <dberlin@dberlin.org> * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS (USING_MMAP): We don't support non-mmap. (struct alloc_chunk): Steal 1 bit from typecode, use it to mark large objects. (struct page_entry): Remove bytes_free. (struct page_table_chain): Remove. (struct globals): Remove page_table member. (loookup_page_table_entry): Function deleted. (set_page_table_entry): Ditto. (ggc_allocated_p): No longer need page table lookups. (ggc_marked_p): Ditto. (alloc_small_page): Don't care about bytes_free anymore. (alloc_large_page): Round up size. (ggc_alloc_zone_1): Mark large objects as such, and calculate their size the new way. Remove page table lookups and setting. (ggc_get_size): Calculate large object size the new way. (sweep_pages): Redo to account for fact that we no longer have bytes_free. (ggc_collect): No longer need to reincrement bytes_free. (ggc_pch_alloc_object): Handle new large objects properly. (ggc_pch_read): Put PCH stuff into it's own uncollected zone. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove a page break. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (avr_output_function_prologue): Remove an extra pair of curly braces. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.c: Fix comment formatting. * config/mn10300/mn10300.h: Likewise. 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h: Update documentation on nothrow_flag. * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for types. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove traces of dead ports. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs option. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> PR target/12945 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for counter labels. * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete. (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P. (mips_symbol_insns): Don't trust the local/global classification. (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol. (override_options): Make -mabicalls -fno-unit-at-a-time imply -mno-explicit-relocs. (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish between local and global symbols. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare. (mips_preferred_reload_class): Declare. * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function. (EXTRA_CONSTRAINT): Update accordingly. (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class. * config/mips/mips.c (mips_dangerous_for_la25_p): New function. (mips_preferred_reload_class): New function. Prefer LEA_REGS if mips_dangerous_for_la25_p. (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS if mips_dangerous_for_la25_p. 2004-01-05 Bernardo Innocenti <bernie@develer.com> * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison warning. 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Use AC_PROG_CPP_WERROR. * configure: Regenerate. 2004-01-04 Zack Weinberg <zack@codesourcery.com> * .cvsignore: Add autom4te.cache. 2004-01-04 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Revamp documentation of MIPS options. Remove -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile, -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first, then architecture options, then ABI options. General rewording. 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk> PR c/3414 * doc/extend.texi: Clarify definition of malloc attribute. 2004-01-04 Jan Hubicka <jh@suse.cz> * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency. * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed * cgraph.h (cgraph_edge): Replace inline_call by inline_failed (cgraph_inline_p): Add extra argument reason. * cgraphunit.c: Minor formating fixes. cgraph_first_inlined_callee): New functions. (record_call_1): Record builtins too. (cgraph_analyze_function): Update inline_failed messages. (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into, cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed. (cgraph_check_inline_limits): Likewise; Add argument reason. (cgraph_set_inline_failed): New static function. (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set reasons. (cgraph_inline_p): Add new argument reason. * tree-inline.c (expand_call_inline): Update warning. 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM with modern equivalents. * configure: Regenerate. * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE. * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove. * configure: Regenerate. * doc/install.texi: Note that 'gcc' is now a 2.57 directory. * configure.in: Rename to configure.ac. * configure.ac: Renamed from configure.in; make minimum necessary changes for autoconf 2.5x. * aclocal.m4: Make minimum necessary changes for autoconf 2.5x. * configure: Regenerate with autoconf 2.57. 2004-01-03 Kazu Hirata <kazu@cs.umass.edu> * config/mips/linux.h: Fix comment formatting. * config/mips/mips.c: Likewise. * config/mips/mips.h: Likewise. * config/mips/mips.md: Likewise. * config/mips/netbsd.h: Likewise. * config/mips/windiss.h: Likewise. 2004-01-02 Richard Henderson <rth@redhat.com> * config/i386/i386.md (fp constant pool splitter): Reorg suppression for sse and 387; add suppression for mmx. 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu> * loop.c (loop_optimize): Free all loops_info's mems. * c-typeck.c (finish_init): Free spelling_base before setting it again. * cfgloop.c (flow_loops_find): Always free the sbitmap headers. * predict.c (estimate_probability): Free bbs after being done with it. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (PREDICATE_CODES): Add const_8bit_operand and call_address_operand. 2004-01-02 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls when there is nothing to inline but warnings are requested. (cgraph_decide_inlining): Fix memory leak. 2004-01-02 Jan Hubicka <jh@suse.cz> * expr.c (store_constructor): Fix pasto in previous patch. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/i386/cygming.h: Fix comment formatting. * config/i386/djgpp.h: Likewise. * config/i386/gthr-win32.c: Likewise. * config/i386/i386-interix.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/openbsd.h: Likewise. * config/i386/winnt.c: Likewise. * config/i386/xm-mingw32.h: Likewise. 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk> * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update copyright and last modification dates. 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de> * doc/install.texi (Specific): Mention x86_64. 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com> * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]: Call force_operand on plus_constant result. 2004-01-01 Jan Hubicka <jh@suse.cz> * expmed.c (store_bit_field, extract_bit_field): Use new named patterns * expr.c (store_constructor): Use vec_init pattern. * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init. * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init (vec_set_optab, vec_extract_optab, vec_init_optab): New. * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf): New patterns. (sse2_unpc?pd): Fix pattern. (sse2_movlpd): Kill. (sse2_movsd): Deal with movlpd too. * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd. (ix86_expand_vector_init): New. * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. * md.texi (vec_set, vec_extract): Document 2003-12-31 Jan Hubicka <jh@suse.cz> PR opt/13473 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside ASM input operands PR opt/12617 * toplev.c (dump_file_index): Reorder ce3 and bbro. (dump_file): Likewise. (rest_of_compilation): Likewise. PR debug/13367 * cgraph.c (cgraph_function_possibly_inlined): Even with flag_really_no_inline we inline always_inline functions. * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag for non-always_inline functions when there is flag_really_no_inline. (cgraph_decide_inlining): Limit work done when not inlining. (cgraph_decide_inlining_incrementally): Likewise. (cgraph_optimize_function): Check whether something got inlined. * c-objc-common.c (c_disregard_inline_limits): Do not always inline extern inline functions when not inlining. * opts.c (decode_options): Disable crossjumping at -O1 * invoke.texi (-O1): Document change. From-SVN: r76701
2004-01-27 13:49:31 +01:00
; Copyright (C) 2003, 2004 Free Software Foundation, Inc.
Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
;
; This file is part of GCC.
;
; GCC is free software; you can redistribute it and/or modify it under
; the terms of the GNU General Public License as published by the Free
; Software Foundation; either version 2, or (at your option) any later
; version.
;
; GCC is distributed in the hope that it will be useful, but WITHOUT ANY
; WARRANTY; without even the implied warranty of MERCHANTABILITY or
; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
; for more details.
;
; You should have received a copy of the GNU General Public License
; along with GCC; see the file COPYING. If not, write to the Free
; Software Foundation, 59 Temple Place - Suite 330, Boston, MA
; 02111-1307, USA.
; See c.opt for a description of this file's format.
Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
; Please try to keep this file in ASCII collating order.
-help
Common
Display this information
-param
Common Separate
--param <param>=<value> Set paramter <param> to value. See below for a complete list of parameters
-target-help
Common
-version
Common
G
Common Joined Separate UInteger
-G<number> Put global and static data smaller than <number> bytes into a special section (on some targets)
O
Common JoinedOrMissing
-O<number> Set optimization level to <number>
Os
Common
Optimize for space rather than speed
W
Common RejectNegative
This switch is deprecated; use -Wextra instead
Waggregate-return
Common Var(warn_aggregate_return)
Warn about returning structures, unions or arrays
Wcast-align
Common Var(warn_cast_align)
Warn about pointer casts which increase alignment
Wdeprecated-declarations
Common Var(warn_deprecated_decl) Init(1)
Warn about uses of __attribute__((deprecated)) declarations
Wdisabled-optimization
Common Var(warn_disabled_optimization)
Warn when an optimization pass is disabled
Werror
Common Var(warnings_are_errors)
Treat all warnings as errors
Wextra
Common
Print extra (possibly unwanted) warnings
Wfatal-errors
Common Var(flag_fatal_errors)
Exit on the first error occurred
Winline
Common Var(warn_inline)
Warn when an inlined function cannot be inlined
Wlarger-than-
Common RejectNegative Joined UInteger
-Wlarger-than-<number> Warn if an object is larger than <number> bytes
Wmissing-noreturn
Common Var(warn_missing_noreturn)
Warn about functions which might be candidates for __attribute__((noreturn))
Wpacked
Common Var(warn_packed)
Warn when the packed attribute has no effect on struct layout
Wpadded
Common Var(warn_padded)
Warn when padding is required to align structure members
Wshadow
Common Var(warn_shadow)
Warn when one local variable shadows another
Wstrict-aliasing
Common
Warn about code which might break strict aliasing rules
Wstrict-aliasing=
Common Joined UInteger
Warn about code which might break strict aliasing rules
Wswitch
Common Var(warn_switch)
Warn about enumerated switches, with no default, missing a case
Wswitch-default
Common Var(warn_switch_default)
Warn about enumerated switches missing a \"default:\" statement
Wswitch-enum
Common Var(warn_switch_enum)
Warn about all enumerated switches missing a specific case
Wsystem-headers
Common Var(warn_system_headers)
Do not suppress warnings from system headers
Wuninitialized
Common Var(warn_uninitialized)
Warn about uninitialized automatic variables
Wunreachable-code
Common Var(warn_notreached)
Warn about code that will never be executed
Wunused
Common
Enable all -Wunused- warnings
Wunused-function
Common Var(warn_unused_function)
Warn when a function is unused
Wunused-label
Common Var(warn_unused_label)
Warn when a label is unused
Wunused-parameter
Common Var(warn_unused_parameter)
Warn when a function parameter is unused
Wunused-value
Common Var(warn_unused_value)
Warn when an expression value is unused
Wunused-variable
Common Var(warn_unused_variable)
Warn when a variable is unused
aux-info
Common Separate
-aux-info <file> Emit declaration information into <file>
aux-info=
Common Joined
auxbase
Common Separate
auxbase-strip
Common Separate
d
Common Joined
-d<letters> Enable dumps from specific passes of the compiler
dumpbase
Common Separate
-dumpbase <file> Set the file basename to be used for dumps
; The version of the C++ ABI in use. The following values are allowed:
;
; 0: The version of the ABI believed most conformant with the C++ ABI
; specification. This ABI may change as bugs are discovered and fixed.
; Therefore, 0 will not necessarily indicate the same ABI in different
; versions of G++.
;
; 1: The version of the ABI first used in G++ 3.2.
;
; Additional positive integers will be assigned as new versions of
; the ABI become the default version of the ABI.
fabi-version=
Common Joined UInteger Var(flag_abi_version) Init(2)
falign-functions
Common Report Var(align_functions,0)
Align the start of functions
falign-functions=
Common RejectNegative Joined UInteger
falign-jumps
Common Report Var(align_jumps,0)
Align labels which are only reached by jumping
falign-jumps=
Common RejectNegative Joined UInteger
falign-labels
Common Report Var(align_labels,0)
Align all labels
falign-labels=
Common RejectNegative Joined UInteger
falign-loops
Common Report Var(align_loops)
Align the start of loops
falign-loops=
Common RejectNegative Joined UInteger
; This flag is only tested if alias checking is enabled.
; 0 if pointer arguments may alias each other. True in C.
; 1 if pointer arguments may not alias each other but may alias
; global variables.
; 2 if pointer arguments may not alias each other and may not
; alias global variables. True in Fortran.
; The value is ignored if flag_alias_check is 0.
fargument-alias
Common Report Var(flag_argument_noalias,0)
Specify that arguments may alias each other and globals
fargument-noalias
Common Report Var(flag_argument_noalias,1) VarExists
Assume arguments may alias globals but not each other
fargument-noalias-global
Common Report Var(flag_argument_noalias,2) VarExists
Assume arguments alias neither each other nor globals
fasynchronous-unwind-tables
Common Report Var(flag_asynchronous_unwind_tables)
Generate unwind tables that are exact at each instruction boundary
; -fcheck-bounds causes gcc to generate array bounds checks.
; For C, C++ and ObjC: defaults off.
; For Java: defaults to on.
; For Fortran: defaults to off.
fbounds-check
Common Report Var(flag_bounds_check)
Generate code to check bounds before indexing arrays
fbranch-count-reg
Common Report Var(flag_branch_on_count_reg) Init(1)
Replace add, compare, branch with branch on count register
fbranch-probabilities
Common Report Var(flag_branch_probabilities)
Use profiling information for branch probabilities
fbranch-target-load-optimize
Common Report Var(flag_branch_target_load_optimize)
Perform branch target load optimization before prologue / epilogue threading
fbranch-target-load-optimize2
Common Report Var(flag_branch_target_load_optimize2)
Perform branch target load optimization after prologue / epilogue threading
re PR middle-end/13779 ([3.4 only] powerpc64: incorrect initialization of 'long long' with constant) * Makefile.in (bt-load.o): Depend on except.h. * bt-load.c (except.h): #include. (compute_defs_uses_and_gen): If insn at end of BB can throw within this function, consider registers used by it unavailable for btr migration. (move_btr_def): If insn at end of BB can throw, insert before rather than after. * flags.h (flag_btr_bb_exclusive): Declare. * toplev.c (flag_btr_bb_exclusive): New variable. (f_options): Add btr-bb-exclusive. * bt-load.c (augment_live_range): Restore old behaviour if flag_btr_bb_exclusive is set. * common.opt: Add entry for -fbtr-bb-exclusive. * opts.c (common_handle_options): Same. * doc/invoke.texi: Document -fbtr-bb-exclusive. * bt-load.c (btrs_live_at_end): New variable. (compute_defs_uses_and_gen): Compute its pointed-to array. (clear_btr_from_live_range, add_btr_to_live_range): Update it. (augment_live_range): When augmenting with a new dominator, use only its btrs_live_at_end set, but also add in the full set of the old dominator. (btr_def_live_range): Use btrs_live_at_end. (move_btr_def): Set other_btr_uses_before_def, and move new set to the end of the basic block, if appropriate. (migrate_btr_defs): Allocate and free btrs_live_at_end. * bt-load.c (basic_block_freq): Remove outdated comment. 2004-01-27 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.h: Correct target_flags free bits comment. (PREDICATE_CODES): Remove duplicate. * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. (MASK_PROFILE_KERNEL): Adjust define. 2004-01-27 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.c (ix86_constant_alignment): Decrease alignment of long string literals from 32 bytes to sizeof (void *) when !-Os and to 1 with -Os. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept constant addresses in the normal mode. 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * system.h (CHAR_BITFIELD): Delete. (BOOL_BITFIELD): New. * c-decl.c (c_scope): Use BOOL_BITFIELD. * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (arc_return_in_memory): Likewise. * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. 2004-01-26 Richard Henderson <rth@redhat.com> * c-parse.in (extension): Use itype. (SAVE_EXT_FLAGS): Don't allocate a tree. (RESTORE_EXT_FLAGS): Don't read a tree. 2004-01-26 Jan Hubicka <jh@suse.cz> * cselib.c (discard_useless_values): Clear out value pointer pointing to datastructure to be recycled. 2004-01-25 Jan Hubicka <jh@suse.cz> * genextract.c (main): Do not output the memset when not checking. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements. 2004-01-26 Jeff Law <law@redhat.com> * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add acute accents for Petur Runolfsson's entry. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. * config/pdp11/pdp11.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * config/rs6000/rs6000.c (rs6000_emit_move): split slow unaligned load/store into smaller loads and stores. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * function.c (assign_parms): Do not assign long long argument to memory in prologue if is it loaded into register. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> PR middle-end/13779 * expr.c (emit_group_load): split constant correctly into register components of PARALLEL insn. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * gcc/config/rs6000/rs6000.md (save_stack_nonlocal): Use adjust_address_nv directly with appropriate mode. (restore_stack_nonlocal): Ditto. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/xtensa/xtensa-protos.h: Remove the prototype for xtensa_builtin_saveregs. * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (xtensa_builtin_saveregs): Make it static. (xtensa_return_in_memory): New. * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (PROMOTE_PROTOTYPES): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New. (arm_setup_incoming_varargs): Likewise. * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New. (cris_setup_incoming_varargs): Likewise. * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. (ns32k_struct_value_rtx): Likewise. * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to NS32K_STRUCT_VALUE_REGNUM. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (arm_struct_value_rtx): Likewise. * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_REGNUM): Likewise. (PROMOTE_PROTOTYPES): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ia64/ia64-protos.h: Remove the prototype for ia64_setup_incoming_varargs and ia64_return_in_memory. * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (ia64_setup_incoming_varargs): Adjust the arguments to meet the requirement of TARGET_SETUP_INCOMING_VARARGS. (ia64_return_in_memory): Make it static. Change the return type to bool from int. Add an argument. (ia64_struct_value_rtx): New. * config/ia64/ia64.h: Remove commented-out definitions of PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13666 * config/sparc/sparc.c (function_arg_union_value): New function. (function_arg): Use it to deal with unions. (function_value): Likewise. Define 'regbase' only for ARCH64. Replace a conditional statement by a simpler one. 2004-01-26 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips16_optimize_gp): Delete. (mips_reorg): Don't call it. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order. (floatunsqihf2): Remove operand 6. (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other fix patterns. (ldi_conditional, ldf_conditional): Validate operands. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. (HAVE_GAS_HIDDEN): Undefine as interim measure. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject invalid operand combinations. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_check_legit_addr): Rename to c4x_legitimate_address_p. Fix post_modify check. * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust. * config/c4x/c4x.h (c4x_check_legit_addr): Adjust. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/pa/pa-protos.h: Remove the prototype for hppa_builtin_saveregs. Add a prototype for pa_return_in_memory. * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (pa_struct_value_rtx): Likewise. (pa_return_in_memory): Likewise. * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to PA_STRUCT_VALUE_REGNUM. (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory. (EXPAND_BUILTIN_SAVEREGS): Remove. (PROMOTE_PROTOTYPES): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (vax_struct_value_rtx): Likewise. * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to VAX_STRUCT_VALUE_REGNUM. (PROMOTE_PROTOTYPES): Remove. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. 2003-04-25 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, and MIPS64 have HI/LO interlocks. Update comment. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/stormy16/stormy16-protos.h: Remove the prototype for xstormy16_setup_incoming_varargs. * config/stormy16/stormy16.c (xstormy16_setup_incoming_varargs): Remove. (xstormy16_return_in_memory): New. (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise (PROMOTE_PROTOTYPES): Likewise (RETURN_IN_MEMORY): Likewise (STRUCT_VALUE): Likewise (SETUP_INCOMING_VARARGS): Likewise 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_offset_within_object_p): New function. (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the ABI has 64-bit pointers and the object file only allows 32-bit symbols. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300-protos.h: Remove the prototype for mn10300_builtin_saveregs. * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (mn10300_return_in_memory): Likewise. (mn10300_builtin_saveregs): Make it static. * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr> PR bootstrap/13853 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by using ccr. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/i860/i860-protos.h: Remove the prototype for i860_saveregs. * config/i860/i860.c (i860_saveregs): Make it static. (i860_struct_value_rtx): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to I860_STRUCT_VALUE_REGNUM. (EXPAND_BUILTIN_SAVEREGS): Remove. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (m68hc11_struct_value_rtx): Likewise. (m68hc11_return_in_memory): Likewise. * config/m68hc11/m68hc11.h: Remove a commented-out definition of PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mmix/mmix-protos.h: Remove the prototype for mmix_setup_incoming_varargs. * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (mmix_setup_incoming_varargs): Make it static. (mmix_struct_value_rtx): New. * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove. Remove a commented-out definition of PROMOTE_FUNCTION_RETURN. (STRUCT_VALUE_REGNUM): Remove. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mips/mips-protos.h: Remove the prototypes for mips_setup_incoming_varargs and mips_return_in_memory. * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (mips_setup_incoming_varargs): Match the prototype for TARGET_SETUP_INCOMING_VARARGS. (mips_return_in_memory): Make it static. Add argument fntype. (mips_strict_argument_naming): New. * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove. (PROMOTE_FUNCTION_ARGS): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (SETUP_INCOMING_VARARGS): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (ip2k_return_in_memory): Likewise. (ip2k_setup_incoming_varargs): Likewise. * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (avr_return_in_memory): Remove. * config/avr/avr.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Jan Hubicka <jh@suse.cz> * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete. (mips_regno_mode_ok_for_base_p): Declare. * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77. (FRAME_POINTER_REGNUM): Renumber to 78. (FIRST_PSEUDO_REGISTER): Update comment accordingly. (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete. (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete. (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p. (REG_MODE_OK_FOR_BASE_P): Likewise. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change entry for 77 to "$arg" and entry for 78 to "$frame". (mips_regno_to_class): Map 77 and 78 to ALL_REGS. (mips_reg_mode_ok_for_base_p): Remove. (mips_regno_mode_ok_for_base_p): New function, derived from old BASE_REG_P macro. Don't enforce the mips16 stack pointer restrictions unless we're being strict. (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment typos. * c-decl.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * et-forest.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * ifcvt.c: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * postreload.c: Likewise. * varray.c: Likewise. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * doc/frontends.texi: Update copyright. * doc/gcov.texi: Likewise. * doc/gty.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/standards.texi: Likewise. 2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl> PR target/12978 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup. Remove movstrqi_small because it conflicts with movstrqi_large. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (cris_struct_value_rtx): Likewise. * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove. (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of STRUCT_VALUE_REGNUM. (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM. 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com> PR bootstrap/13848 * cse.c (cse_cc_succs): Change the mode of the source expression as soon as decide we need a new mode. Don't permit changing modes if we found a match in a successor block. (cse_condition_code_reg): Save original mode of source expression so that we know whether we have to change the mode in other insns. 2004-01-24 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address, adjust_address_1, offset_address, widen_memory_access): Return early when there is nothing to change. 2004-01-24 Jakub Jelinek <jakub@redhat.com> * simplify-rtx.c (simplify_relational_operation): Don't simplify address == constant into address + -constant == 0. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * gcc.c (process_command): Don't internationalize the Copyright message. * mips-tfile.c (main): Likewise. 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> * cse.c: (cse_cc_succs) Fix comparison warning. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md: Remove extraneous USE in expanders. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Provide prototypes for h8300_legitimate_constant_p and h8300_legitimate_address_p. * config/h8300/h8300.c (h8300_legitimate_constant_p): New. (h8300_rtx_ok_for_base_p): Likewise. (h8300_legitimate_address_p): Likewise. * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use h8300_legitimate_constant_p. (RTX_OK_FOR_BASE_P): Remove. (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New. (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Likewise. (REG_OK_FOR_BASE_STRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P. (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P. (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P. (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P. 2004-01-24 Jan Hubicka <jh@suse.cz> * cselib.c (remove_useless_values): Do not access discarded values. 2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk> * c-typeck.c (build_conditional_expr): Do not allow non-lvalue arrays. 2004-01-23 Kazu Hirata <kazu@cs.umass.edu> * recog.c: Fix a typo in copyright. 2004-01-23 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.md (call): Fix misappiled patch. (call_value): Likewise. 2004-01-23 Richard Henderson <rth@redhat.com> PR opt/12941 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value. (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0) if SHIFT_COUNT_TRUNCATED is set. 2004-01-23 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as separate real and imaginary parts. * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define. 2004-01-23 Hartmut Penner <hpenner@de.ibm.com> PR target/13674 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage loading into GPR. 2004-01-23 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. * alloc-pool.c (align_four): Kill. (create_alloc_pool): Align size to eight. (free_alloc_pool, free_pool): Invalidate deallocated data. 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com> PR gcc/1532 * cse.c (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. * rtl.h (cse_condition_code_reg): Declare. * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg. * target.h (struct gcc_target): Add fixed_condition_code_regs and cc_modes_compatible. * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (TARGET_INITIALIZER): Add new initializers. * targhooks.c (default_cc_modes_compatible): New function. * targhooks.c (default_cc_modes_compatible): Declare. * hooks.c (hook_bool_intp_intp_false): New function. * hooks.h (hook_bool_intp_intp_false): Declare. * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (ix86_fixed_condition_code_regs): New static function. (ix86_cc_modes_compatible): Likewise. * doc/tm.texi (Condition Code): Document new hooks. 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (bad_lval): Renamed to ... (alpha_bad_lval): ... this. Removed file list. Restrict to alpha*-dec-osf*. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/dirent.h: Remove, moving test ... * fixinc/tests/base/testing.h: ... here, reflecting new name. 2004-01-23 Zack Weinberg <zack@codesourcery.com> PR c/13814 * c-decl.c (diagnose_mismatched_decls): Also discard a built-in if we encounter an old-style definition with the same name. 2004-01-23 Jakub Jelinek <jakub@redhat.com> * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) [!__powerpc64__]: Corrected to handle kernels with changed ucontext. 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr> Olivier Hainque <hainque@act-europe.fr> * fold-const.c (fold_binary_op_with_conditional_arg): Only build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR. 2004-01-23 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode size for minipool references. 2004-01-23 Roger Sayle <roger@eyesopen.com> * real.c (real_floor, real_ceil): Tweak to allow input and output arguments to overlap. (real_round): New function to implement round(3m) semantics. * real.h (real_round): Prototype here. * builtins.c (fold_builtin_round): New function to constant fold round, roundf and roundl. (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}. 2004-01-23 Alexandre Oliva <aoliva@redhat.com> PR optimization/13819 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs introduced by 2004-01-20's Jan Hubicka's copy_insn change. (sh_handle_sp_switch_attribute): Remove warning. 2003-11-30 Jan Hubicka <jh@suse.cz> * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. 2004-01-23 J"orn Rennecke <joern.rennecke@superh.com> * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP may or may not return non-NIL. * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code, check CANNOT_CHANGE_MODE_CLASS 2004-01-23 Jan Hubicka <jh@suse.cz> * basic-block.h (PROP_POSTRELOAD): New macro. (CLEANUP_LOG_LINKS): New. * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to. * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg. * cselib.c (value_pool): New. (new_cselib_val): Use pool. (cselib_init): Initialize value_pool (cselib_finish): Free pool. 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (scan_record_type): New function. (function_arg_slotno): Use it to determine which kinds of registers the record can be passed in. 2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca> * config/pa/fptr.c: Fix old-style definition. 2004-01-22 Paolo Bonzini <bonzini@gnu.org> PR optimization/13724 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it represents the zero bits produced by a ZERO_EXTEND operation. 2004-01-22 Roger Sayle <roger@eyesopen.com> PR optimization/13821 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to correctly calculate the lowpart offset of the contracted subreg. 2004-01-22 Ian Lance Taylor <ian@wasabisystems.com> * doc/invoke.texi (Optimize Options): Note that --param arguments are subject to change without notice. 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * config.gcc (mips-sgi-irix6*o32): Removed. * config/mips/iris6-o32-as.h: Likewise. * config/mips/iris6-o32-gas.h: Likewise. * config/mips/iris6-o32.h: Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * cfgcleanup.c (first_pass): New static variable. (try_forward_edges): Add work limiting check for threading. (try_crossjump_bb): Add work limiting check for crossjumping. (try_optimize_cfg): Maintain first pass variable. 2004-01-22 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove. (REG_OK_FOR_BASE_P_STRICT): Likewise. (STRICT): Likewise. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1) (genrtl_for_stmt): Remove emit_nop calls. 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR target/13713 PR target/13324 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload, movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload, clrstrdi_prereload, clrstrdi_postreload): Fix constraints. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c: Include "debug.h". (thumb_pushpop): Take two new arguments. Add some commentary. Output frame information when pushing. (thumb_exit, thumb_unexpanded_epilogue): Update calls to thumb_pushpop. (thumb_output_function_prologue): Likewise. Accumulate a CFA offset, and pass it to thumb_pushpop. Output CFI information. (thumb_expand_prologue): Add some frame-related markers and notes. 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. 2004-01-22 Roger Sayle <roger@eyesopen.com> Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb. (subreg_lsb): Change to call new subreg_lsb_1 helper function. * rtl.h (subreg_lsb_1): Prototype here. * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and sign extensions. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the macro need not be defined if jump-tables should contain relative addresses only when -fPIC or -fPIC is in effect. 2004-01-22 Jan Hubicka <jh@suse.cz> * alias.c (reg_base_value): Turn into varray. (reg_base_value_size): Kill. (old_reg_base_value): New deletable varray. (alias_invariant_size): New variable. (REG_BASE_VALUE): Update to use varray. (find_base_value): Likewise. (record_set): Likewise. (record_base_value): Likewise. (memrefs_conflict_p): Likewise. (record_set): Likewise (record_base_value): Likewise. (memrefs_conflict_p): Use alias_invariant_size. (init_alias_analysis): Use varray; set alias_invariant_size; rescale other arrays to be sized by maxreg. (end_alias_analysis): Save reg_base_value; clear alias_invariant_size. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (function_arg_slotno): Use FLOAT_TYPE_P to detect FP fields in structures. (function_arg_record_value_1): Likewise. (function_arg_record_value_2): Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * function.c (allocate_struct_function): Do not initialize expr, emit and varasm. (prepare_function_start): Do it here. * c-parse.in (maybe_type_qual): Do not produce line number notes. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13559 * config/sparc/sparc.c (function_arg_record_value_3): Revert to 'word_mode' once the first slot has been filled. 2004-01-22 Olivier Hainque <hainque@act-europe.fr> * config/sparc/sparc.c (function_arg_record_value_1): Fix computation of the number of integer registers required. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/i386/i386.md: Simplify certain comparisons of const_int. 2004-01-21 Andrew Pinski <apinski@apple.com> PR target/13785 * config/rs6000/rs6000.md (call_value): Force operand 1 not operand 0 into a register. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, unwind-dw2-fde.h: Update copyright. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h: Update copyright. * pa.h: Likewise. * pa.md: Likewise. 2004-01-21 Caroline Tice <ctice@apple.com> PR target/12308 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber flags register. (fix_truncdfdi2): Likewise. (fix_truncsfdi2): Likewise. (*fix_truncdi_1): Likewise. (fix_truncxfsi2): Likewise. (fix_truncdfsi2): Likewise. (fix_truncsfsi2): Likewise. (*fix_truncsi_1): Likewise. (fix_truncxfhi2): Likewise. (fix_truncdfhi2): Likewise. (fix_truncsfhi2): Likewise. (*fix_trunchi_1): Likewise. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * alias.c, basic-block.h, c-common.c, c-common.h, c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Update copyright. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3, ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time, ultrix_unistd): New hacks. * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK, ULTRIX_CONST2_CHECK): Add checks. * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise. * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise. * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise. * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise. * fixinc/tests/base/locale.h: New file. * fixinc/fixincl.x: Rebuilt. 2004-01-21 Andreas Jaeger <aj@suse.de> Michael Matz <matz@suse.de> * doc/extend.texi (Extended Asm): Clarify memory clobber. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * crtstuff.c (frame_dummy, __do_global_ctors_1): Call _Jv_RegisterClasses through a function pointer. 2004-01-21 Falk Hueffner <falk@debian.org> PR target/12898 * config/alpha/alpha.c (alpha_emit_set_const_1): If no_new_pseudos, use gen_rtx_SET directly for SImode constants which need multiple instructions to emit. 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (CPP_SPEC): Define. 2004-01-21 Zack Weinberg <zack@codesourcery.com> * c-decl.c (merge_decls): Kill different_binding_level and different_tu arguments; simplify throughout. (duplicate_decls): Likewise. (pushdecl, merge_translation_unit_decls): Update calls to duplicate_decls. 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and $(SYSTEM_H). (print-rtl1.o): Depend on $(SYSTEM_H). 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12730 * configure.ac: Delete definition and subsitution of docdir. Add info, man, srcman and srcinfo to target hooks. Create doc/ directory. * configure: Regenerate. * Makefile.in: Don't substitute docdir and delete all references throughout. (MAKEINFOFLAGS): Define. (stmp-docobjdir): Delete. (INFOFILES, MANFILES): Define. (info): Call lang.info, srcinfo and lang.srcinfo. (generated-manpages): Call lang.man, srcman and lang.srcman. (srcinfo, srcman): New rules to copy back files to source directory. (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule. (install-man): Revamp rule. (clean): Update dvi directory. (distclean): Delete TAGS from front end directorys. (maintainer-clean): Delete all document files in source directory. objc/Make-lang.in (objc.man, objc.info): Dummy entries. (objc.srcman, objc.srcinfo): Likewise. 2004-01-20 Bruce Korb <bkorb@gnu.org> * fixinc/inclhack.def(math_exception): bypass only for glibc. (matherr_decl): rename & relocate as exception_structure. This fix must precede the math_exception fix. 2004-01-20 Roger Sayle <roger@eyesopen.com> * fold-const.c (fold_convert): Rename to fold_convert_const. (fold_convert_const): Change arguments to take a tree_code, a type and the operand/expression to be converted. Return NULL_TREE if no simplification is possible. Add support for FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR. (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR. Adjust call to fold_convert to match new fold_convert_const. Avoid modifying the tree passed to fold in-place. 2004-01-21 Alan Modra <amodra@bigpond.net.au> * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define. * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT. * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document. 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes. * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d): Likewise. Handle frames larger than 0x7fffffff on 64-bit ports. (emit_move_sequence): Check scratch_reg first in various if statements. Extend source simplification to handle all 64-bit CONST_INTs. (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing frame size. (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for frame offset calculations. * pa.h (NEW_HP_ASSEMBLER): Add comment. (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT, LEGITIMATE_64BIT_CONST_INT_P): Define. (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat any CONST_INT as legitimate during and after reload. (VAL_32_BITS_P, INT_32_BITS): Define. (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets. 2004-01-20 Jan Hubicka <jh@suse.cz> * emit-rtl.c (verify_rtx_sharing, copy_insn_1, emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers containing hard regs are shared. (gen_hard_reg_clobber): New function. (hard_reg_clobbers): New array. * genemit.c (gen_exp): Use gen_hard_reg_clobber. (copy_rtx): Do not copy clobbers containing hard regs. * rtl.h (gen_hard_reg_clobber): Declare. 2004-01-20 Jan Hubicka <jh@suse.cz> * varray.c: Include hashtab.h (varray_descriptor): New structure. (hash_descriptor, eq_descriptor, varray_descriptor, print_statistics): New static functions (varray_init, varray_grow): Update statistics (dump_varray_statistics): New function. * varray.h (dump_varray_statistics): Declare. * toplev.c (finalize): Call it. * Makefile.in (varray.o): Add dependency. 2004-01-20 Jan Hubicka <jh@suse.cz> * cselib.c: Include alloc-pool.h (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill. (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare. (new_elt_list, new_elt_loc_list, unchain_one_elt_list, unchain_one_elt_loc_list_pool, unchain_one_value, new_cselib_val): Simplify using allocpool. (cselib_init): Initialize allocpools. (cselib_finish): Finish allocpools. * Makefile.in (cselib.o): Depend on alloc-pool.h 2004-01-20 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_load_call_address): Make the call insn use $gp if it could be calling a lazy binding stub. 2004-01-20 Kazu Hirata <kazu@cs.umass.edu> * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Remove. (STRUCT_VALUE): Remove. 2004-01-20 Denis Chertykov <denisc@overta.ru> PR bootstrap/13735 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload. 2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR optimization/12440 * loop.c: Include ggc.h. (loop_optimize): Run garbage collector between optimization of loops. * Makefile.in (loop.o): Add GGC_H dependency. 2004-01-20 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (function_arg) Handle vector register special in function without prototype. (function_arg_advance): Vector parameters get always GPRs allocated for the linux64 target. 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK not TARGET_M32RX_MASK. 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13557 * config/sparc/sparc.c (function_arg): Reorder the cases. 2004-01-19 Per Bothner <per@bothner.com> Move cpp_reader's line_maps field to a shared global. * cpphash.h (cpp_reader): Rename line_maps field to line_table and change the type to a pointer rather than a struct. * cppinit.c (cpp_push_main_field): Adjust accordingly. * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks): Likewise. * cppfiles.c (validate_pch): Likewise. * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text): Likewise. * cpperror.c (print_location): Likewise. * cpplib.h (cpp_create_reader): New line_maps pointer parameter. * cppinit.c (cpp_create_reader): Handle new parameter. (cpp_destroy): Don't free line_maps - that's no longer our job. * input.h (line_table): New variable. * toplev.c (line_table): Declare variable. (general_init): Initialize line_table. * c-opts.c (c_common_init_options): Pass line_table to cpp_create_reader. * fix-header.c (read_scan_file): New local variable line_table. Initialize, and pass it to cpp_create_reader. * Makefile.in (LIBS, LIBDEPS): Add libcpp.a. (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a. 2004-01-19 Per Bothner <per@bothner.com> Implement a cache for linemap_lookup. * line-map.h (struct_line_maps): Add cache field. * line-map.c (linemap_init): Zero cache field. (linemap_add): Set cache field to offset of newly allocated map. (linemap_lookup): Use and set cache field. 2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org> PR optimization/13567 * cse.c (cse_basic_block): Call cse_insn with a non-null libcall_insn for the last SET insn of a no-confilict block. 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (target_noncanonical, program_transform_name): Use immediate define instead of deferred. (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of deferred backquote. 2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk> * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to true unconditionally. * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): Remove. (build_unary_op, build_modify_expr): Don't handle extended lvalues. (build_component_ref, build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue. (build_c_cast): Don't condition use of non_lvalue on pedantic. * fold-const.c (fold): Don't check pedantic directly for COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are passed to pedantic_non_lvalue. * doc/extend.texi: Remove documentation of extended lvalues. 2004-01-19 Roger Sayle <roger@eyesopen.com> PR optimization/5263 * simplify-rtx.c (associative_constant_p): Delete. (simplify_associative_operation): Rewrite to linearize terms, and attempt to simplify new term against both left and right subterms. (simplify_binary_operation): Call swap_commutative_operands_p on op0 and op1, not trueop0 and trueop1. Move the initialization of trueop0 and trueop1 down to where first needed. (simplify_relational_operation): Likewise. * rtlanal.c (commutative_operand_precedence): Also order constant operands using avoid_constant_pool_reference. 2004-01-19 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN, don't check memory mode. (unaligned_memory_operand): Likewise. (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't abort for op0 not MEM. * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination is not a reg, copy to a scratch first. (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi, unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le, unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG. (reload_inqi, reload_inhi): Fix mode of op0. (reload_inqi_help, reload_inhi_help, reload_outqi_help, reload_outhi_help): Likewise. Use define_insn_and_split. * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN as well as $29 dead. 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit "tls_object" for thread-local objects. * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit "#tls" for thread-local sections. * configure.ac (thread-local checks): Specify --fatal-warnings in every binutils-specific checks. For sparc*-*-*, test whether the OS is Solaris and the tools are native and act accordingly. * configure: Rebuild. 2004-01-19 Jeff Law <law@redhat.com> * contrib.texi: Update Paolo Carlini's entry. New entries for Jerry Quinn and Petur Runolfsson. 2004-01-19 Roger Sayle <roger@eyesopen.com> * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for size, don't use the larger zero-extending loads. 2004-01-19 Richard Henderson <rth@redhat.com> * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs. * alpha.md (UNSPEC_NT_LDA): Remove. (UNSPEC_CVTLQ, cvtlq): New. (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f. (extendsidi2_fix): Remove. (extendsidi2 splitter): Use cvtlq. (extendsidi2 fp peepholes): Remove. (cvtql): Use SFmode instead of SImode. (fix_trunc?fsi): Update to match. (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New. (movsi): Rename from movsi_nofix, remove f alternatives. (movsi_nt_vms): Similarly. (movsi_fix, movsi_nt_vms_fix): Remove. (nt_lda): Remove. * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda. 2004-01-19 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_remove_node): Fix removal from linked list. * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed list. (cgraph_remove_unreachable_nodes): New function (cgraph_decide_inlining_of_small_function): Fix pasto. (cgraph_decide_inlining_incrementally): Fix pasto. (cgrpah_decide_inlining): Likewise; remove unreachable nodes. 2004-01-19 Steven Bosscher <stevenb@suse.de> * gengtype.c (header_file): Make it static. (write_types_process_field, write_enum_defn): Minor whitespace fixes. * gengtype.h (header_file): No longer extern. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default. * expr.c (CASE_VECTOR_PC_RELATIVE): Remove. * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * stmt.c (HAVE_casesi): Define it not already defined. (HAVE_tablejump): Likewise. (expand_end_case_type): Resort to the binary tree method if neither casesi or tablejump is available. 2004-01-18 Daniel Jacobowitz <drow@mvista.com> * final.c (final_scan_insn): Make non-static again. * output.h (final_scan_insn): Re-add prototype. * config/arc/arc.c (arc_output_function_epilogue): Add NULL to final_scan_insn call. * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise. * config/mips/mips.c (mips_output_conditional_branch): Likewise. * config/pa/pa.c (output_lbranch, output_call): Likewise. * config/sh/sh.c (print_slot): Likewise. * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise. (output_sibcall, sparc_flat_function_epilogue): Likewise. 2004-01-18 Jan Hubicka <jh@suse.cz> * basic-block.h (try_redirect_by_replacing_jump): Declare. * cfgcleanup.c (try_optimize_cfg): Use it. * cfgrtl.c (try_redirect_by_replacing_jump): Export. (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch): Kill hack. (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump. Revert: 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of the size of a pointer in bytes. 2004-01-18 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing live "next" variable, which could lead to an infinite loop. 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/altivec.h: Wrap C++ functions in extern "C++" block. * config/rs6000/rs6000.c (rs6000_special_round_type_align): Check for NULL in the chain and remove repeated code. 2004-01-18 Jan Hubicka <jh@suse.cz> * coverage.c (checksum_string): Rename to ... (coverage_checksum_string): ... this one, Use crc32_string; recognize names containing random number and zero the number out in order to get match. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_got_alias_set): Mark for PCH. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/trouble.texi: Remove trailing whitespace. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> PR target/7618 * config/mips/mips.c: Include cfglayout.h. (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. (mips_unspec_offset_high): Add temporary register argument. (mips_load_call_address): New function, split out from... (mips_expand_call): ...here. (mips_output_cplocal): New function. (mips_output_function_prologue, mips_output_function_epilogue): Use it. (mips_emit_loadgp): New function, split out from... (mips_expand_prologue): ...here. (mips_output_mi_thunk): New function. 2004-01-17 Bernardo Innocenti <bernie@develer.com> * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040, mcpu32): Remove redundant checks for implied target predefines. 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.c (rs6000_special_round_type_align): Return type is unsigned int not int. * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Likewise. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use "GNU/Linux" and "Microsoft Windows" terminology. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi, doc/cppopts.texi, doc/extend.texi, doc/install.texi, doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use @smallexample instead of @example. 2004-01-17 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_objc_method_call): Use target hooks instead of macros to determine if ..._stret dispatchers should be used (NeXT runtime only). 2004-01-17 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc) (emit_call_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New macros. * reload1.c (emit_reload_insns): Use them. * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check for NULL PATTERN. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define. (final_scan_insn): Update to take an additional SEEN argument. Emit a line note after the prologue. Make static. (line_note_exists): Remove. (final): Don't initialize line_note_exists. Update call to final_scan_insn. * output.h (final_scan_insn): Remove prologue. * function.c (set_insn_locators): Update comment. (thread_prologue_and_epilogue_insns): Add a comment. 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/10781 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Prototype. * config/rs6000/rs6000.c (rs6000_special_round_type_align): New function. * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. 2004-01-17 Jan Hubicka <jh@suse.cz> * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous commit. * toplev.c (HAVE_conditional_execution): Provide default. (rest_of_handle_reorder_blocks): For conditional_execution target update liveness once after all transformations (rest_of_compilation): Do crossjumping before ce3. 2004-01-17 Geoffrey Keating <geoffk@apple.com> * alias.c (new_alias_set): Mark last_alias_set for PCH. (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it for PCH. (get_frame_alias_set): Likewise, except rename it to 'frame_set'. * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH. (get_TOC_alias_set): Mark 'set' for PCH. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-17 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type(). Remove checks for is_ada() and TREE_UNSIGNED. (subrange_type_die): Emit a byte_size attribute if the subrange type size is different from the base type size. (modified_type_die): Replace call to is_ada_subrange_type() by call to is_subrange_type(). 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu> * config/sh/sh.c: Include ggc.h. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * Makefile.in (MD5_H): New. (fold-const.o): Depend on md5.h. (dwarf2out.o): Likewise. (cppfiles.o): Likewise. * cppfiles.c: Include md5.h. (should_stack_file): Check against list read from PCH file. (struct pchf_data): New. (pchf): New variable. (struct pchf_adder_info): New. (pchf_adder): New. (pchf_save_compare): New. (_cpp_save_file_entries): New. (_cpp_read_file_entries): New. (struct pchf_compare_data): New. (pchf_compare): New. (check_file_against_entries): New. * cpphash.h (_cpp_save_file_entries): Prototype. (_cpp_read_file_entries): Prototype. * cpppch.c (cpp_write_pch_state): Write the list of headers. (cpp_read_state): Read the list of headers. 2004-01-17 Jan Hubicka <jh@suse.cz> * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and builtin_expect specially. * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100. (PARAM_LARGE_FUNCTION_INSNS): Set to 3000. * invoke.texi (max-inline-insns-single): Set to 100. (large-function-insns): Set to 3000. 2004-01-16 Eric Christopher <echristo@redhat.com> Chandrakala Chavva <cchavva@redhat.com> * cppcharset.c (one_iso88591_to_utf8): New function. (convert_iso88591_utf8): Ditto. Use. (conversion_tab): Use. (_cpp_input_to_utf8): New function. (_cpp_init_iconv_buffer): Ditto. (_cpp_close_iconv_buffer): Ditto. * cpphash.h: Prototype new functions. (cpp_buffer): Add input_cset_desc. * cppinit.c: Add input_charset default. * cpplib.c (cpp_push_buffer): Support init and close of iconv. * cpplib.h (cpp_options): Add input_charset. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_SECTION_NAME): Poison. * config/alpha/unicosmk.h: Remove a commented-out definition of ASM_OUTPUT_SECTION_NAME. * config/stormy16/stormy16.h: Likewise. 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ... (alpha___extern_prefix_sys_stat): ... this. Apply to <sys/mount.h>, too. Tweak to match more variations. * fixinc/tests/base/sys/stat.h: Adapt for new hackname. * fixinc/inclhack.def (alpha___extern_prefix, alpha___extern_prefix_standards): New hacks to obey __PRAGMA_EXTERN_PREFIX. * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New test. * fixinc/tests/base/standards.h: Likewise. * fixincl/inclhack.def (alpha_pthread): Tweak to match more variations. New testcase. * fixinc/tests/base/pthread.h: Handle it. * fixincl/inclhack.def (bad_lval): Sort file list. Add many missing files up to Tru64 UNIX V5.1B. * gcc/fixinc/tests/base/libgen.h: Renamed to ... * gcc/fixinc/tests/base/dirent.h: ... this to match new file list order. * fixinc/fixincl.x: Regenerate. 2004-01-16 Mark Mitchell <mark@codesourcery.com> * version.c (version_string): Change to 3.5.0. * doc/include/gcc-common.texi (version-GCC): Likewise. 2004-01-16 Jan Hubicka <jh@suse.cz> * i386.md (load_tp_di): Fix pasto. PR opt/13608 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function. * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator, pp_c_character_constant, pp_c_floating_constant, pp_c_additive_expression, pp_c_shift_expression, pp_c_equality_expression, pp_c_and_expression, pp_c_exclusive_or_expression, pp_c_inclusive_or_expression, pp_c_logical_and_expression): Remove inline modifier. * dwarf2out.c (get_AT): Likewise. * et-forest.c (et_splay): Likewise. * ra.h (ra_alloc, ra_calloc): Likewise 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * config/frv/frv-protos.h: Fix comment formatting. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/frv/frv.md: Likewise. * config/frv/frvbegin.c: Likewise. * config/frv/frvend.c: Likewise. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison. * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention LINKER_DOES_NOT_WORK_WITH_DWARF2. (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove. 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com> PR 11864 * postreload.c (reload_cse_simplify_operands): Don't remove implicit extension from LOAD_EXTEND_OP. 2004-01-16 Jan Hubicka <jh@suse.cz> PR opt/11350 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal after reload. * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks, rtl_try_redirect_by_replacing_branch): Likewise. 2004-01-15 Geoffrey Keating <geoffk@apple.com> PR pch/13689 * alias.c (struct alias_set_entry): Mark for GC. (alias_sets): Make static, mark for GC. (record_alias_subset): Use GC to allocate alias structures. * varray.c (element): Make generic varrays GCed. PR pch/13361 * c-typeck.c (constructor_asmspec): Delete. (struct initializer_stack): Delete field 'asmspec'. (start_init): Delete saving of asmspec. (finish_init): Don't update constructor_asmspec. * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. * stmt.c (expand_asm): Duplicate strings from tree. (expand_asm_operands): Likewise. * tree.c (tree_size): Update computation of size of STRING_CST. (make_node): Don't make STRING_CST nodes. (build_string): Allocate string with tree node. * tree.def (STRING_CST): Update comment. * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. (tree_string): Place contents of string in tree node. * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string from tree. * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case altivec operands. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment formatting. * c-cppbuiltin.c: Likewise. * c-pragma.c: Likewise. * calls.c: Likewise. * collect2.c: Likewise. * cppcharset.c: Likewise. * cpptrad.c: Likewise. * dbxout.c: Likewise. * defaults.h: Likewise. * dwarf2out.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * genconditions.c: Likewise. * genflags.c: Likewise. * gengtype.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * sdbout.c: Likewise. 2004-01-15 Zack Weinberg <zack@codesourcery.com> * config/ia64/ia64.md (*movti_internal): C output template extracted to ia64.c. (*movti_internal_reg): Delete. (reload_inti, reload_outti): Use the correct mode on operand 2 in the first place, don't fix it up in the output template. (movtf, reload_ointf, reload_outtf): New expanders. (*movtf_internal): New define_insn_and_split. * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; make static; do not hand TFmode CONST_DOUBLEs to split_double. (ia64_split_tmode_move): New function, body mostly pulled from ia64.md:*movti_internal. (ia64_function_arg_words): New function, extracted common logic from ia64_function_arg et seq. (ia64_function_arg_offset): Likewise. Handle correctly the case of a scalar quantity 16 bytes wide with only 8-byte alignment. (ia64_function_arg, ia64_function_arg_partial_nregs) (ia64_function_arg_advance): Use ia64_function_arg_words and ia64_function_arg_offset. (ia64_function_value): TCmode does not go in float regs. (ia64_secondary_reload_class): Also handle TFmode. * config/ia64/ia64-protos.h: Remove prototype for ia64_split_timode; add prototype for ia64_split_tmode_move. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (MAINT): Make it an immediate assignment. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Remove useless calls to gen_lowpart. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Replace Hitachi with Renesas. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. 2004-01-15 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF around it. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_return_in_memory): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/h8300/h8300.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> PR optimization/13375 * gcse.c (handle_avail_expr): Just return if the source is not a single set. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> Daniel Jacobowitz <drow@mvista.com> * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. (EQUIV): Define. (ARM_FUNC_ALIAS): New macro. * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12372 * calls.c (expand_call): Add call_fusage data for stack arguments in constant calls. 2004-01-15 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. (rs6000_elf_declare_function_name): Formatting. * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration. 2004-01-15 Jan Hubicka <jh@suse.cz> PR bootstrap/13692 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in previous patch. 2004-01-15 Richard Henderson <rth@redhat.com> * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after integer regs of the same call-savedness. 2004-01-15 Andreas Schwab <schwab@suse.de> PR bootstrap/13562 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc status for NOTB/NOTW/NEGW methods. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Update dump file names. Fix a typo. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * builtins.c (expand_builtin_va_end): Don't use EXPAND_BUILTIN_VA_END. * system.h (EXPAND_BUILTIN_VA_END): Poison. * config/d30v/d30v.h: Remove a commented-out definition of EXPAND_BUILTIN_VA_END. * config/stormy16/stormy16.h: Likewise. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison. * targhooks.c (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING_REGNUM. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (FUNCTION_VALUE): Fix a typo. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi: Replace RETURN_IN_MEMORY with TARGET_RETURN_IN_MEMORY. 2004-01-15 Jan Hubicka <jh@suse.cz> * builtins.c (std_expand_builtin_va_arg): Align operand when needed. * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic functions accepting SSE arguments (function_arg): Warn only when asked to warn. * i386.h (ix86_args): Add warn_sse/warn_mmx fiels. 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk> * c-parse.in (stmts_and_decls): Make label at end of compound statement a hard error. 2004-01-14 Jan Hubicka <jh@suse.cz> * cgraph.c (create_edge): Use local.redefined_extern_inline. * cgraph.h (cgraph_local_info): Sort fields by size; add redefined_extern_inline (cgraph_global_info): Sort fields by size. (cgraph_node): Likewise. * cgraphunit.c (cgraph_finalize_function): Se local.redefined_extern_inline on redefinition. (cgraph_analyze_function): Use it; fix formating. 2004-01-14 Jan Hubicka <jh@suse.cz> PR c++/10776 * sched-deps.c (trye_dependency_cache, anti_dependency_cache, outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of bitmaps (cache_size): New variable (add_dependence): Update use; canonize early memory locations (sched_analyze_1): Likewise. (sched_analyze_2): Likewise. (init_dependency_caches): Initialize bitmaps. (free_dependency_caches): Free bitmaps 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with targetm.calls.strict_argument_naming(). * target.h: Likewise. 2004-01-14 Richard Henderson <rth@redhat.com> PR debug/13231 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue instructions. 2004-01-14 Richard Henderson <rth@redhat.com> PR c++/12491 * except.c (struct eh_region): Add u.fixup.resolved. (resolve_one_fixup_region): Split out from ... (resolve_fixup_regions): ... here. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/alpha/alpha.h (STRUCT_VALUE): Remove. * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef. (STRUCT_VALUE): Remove. 2004-01-14 Steven Bosscher <stevenb@suse.de> * system.h: Poison PROMOTED_MODE * integrate.c (expand_inline_function): Don't mention the PROMOTED_MODE. * loop.c (update_giv_derive): Same. * tree.h (DECL_RTL): Same. 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com> PR target/9365 * sh.c (gen_block_redirect): Add special handling of RETURN. (gen_far_branch) Don't call gen_stuff_delay_slot if there is no far branch target (i.e. it's a return). 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * regrename.c (find_oldest_value_reg): Fix a warning. 2004-01-14 Richard Earnshaw <rearnsha@arm.com> PR bootstrap/12527 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. Move linux-gas.h and linux-elf.h before aout.h. * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx (CONST_INT, VOIDmode, ...). 2004-01-14 Richard Earnshaw <rearnsha@arm.com> * regrename.c (find_oldest_value_reg): If the replacement uses multiple hard registers, check that all of them are in CLASS. 2004-01-14 Jan Hubicka <jh@suse.cz> * alias.c (get_alias_set): Initialize alias set to 0 when subset is impossible. 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Define MAINT from --enable-maintainer-mode. 2004-01-14 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (rs6000_stack_info) Calculate always vrsave_mask if TARGET_ALTIVEC. (rs6000_emit_prologue): Emit code for vrsave only if TARGET_ALTIVEC_VRSAVE. (rs6000_emit_epilogue): Likewise. 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.md (tie_add32): Fix pasto. (tie_add64): Likewise. 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * config/i386/i386.md (*addqi_1_slp): Do not access operands[2]. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/iq2000/iq2000-protos.h: Fix comment formatting. * config/iq2000/iq2000.c: Likewise. * config/iq2000/iq2000.md: Likewise. 2004-01-14 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME. (subrange_type_die): Add handle for nameless subrange types. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Replace do_movsi with h8300_expand_movsi. * config/h8300/h8300.c (do_movsi): Change to h8300_expand_movsi. * config/h8300/h8300.md (movsi): Replace do_movsi with h8300_expand_movsi. (movsf): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (dosize): Change to h8300_emit_stack_adjustment. Update callers. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md (movstrictqi): Add an alternative with the source being post_inc. Tighten the predicate for the destination to register_operand. (movstricthi): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP. * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove. 2004-01-14 Jan Hubicka <jh@suse.cz> Partial fix PR c++/12850 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when at zero nest level. 2004-01-13 Bernardo Innocenti <bernie@develer.com> * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr" pseudo-register. 2004-01-13 Devang Patel <dpatel@apple.com PR debug/7078 * dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/12709 * c-common.c (finish_fname_decls): Use the chain only if the tree is an expr_stmt. 2004-01-13 Vladimir Makarov <vmakarov@redhat.com> * rtl.def: Add comment about new option in automata_option. * genautomata.c (PROGRESS_OPTION): New macro. (progress_flag): New global variable. (gen_automata_option): Process `progress'. (transform_insn_regexps, check_unit_distributions_to_automata, make_automaton, NDFA_to_DFA, build_automaton, create_automata, expand_automata, write_automata): Print about the progress only if progress_flag. Remove fflush. (initiate_automaton_gen): Process command line flag `-progress'. * doc/md.texi: Describe the new option. 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * cfg.c (dump_bb): Dump entry edges. 2004-01-13 Richard Earnshaw <rearnsha@arm.com> * arm.c (thumb_legitimate_address_p): Only allow constant pool references from SImode. * arm.md (thumb_movhi_insn): Don't allow minipool references. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (TEXT_SECTION): Poison. * varasm.c (text_section): Don't use TEXT_SECTION. * config/sh/sh.c (sh_file_start): Fix a comment typo. * doc/tm.texi (TEXT_SECTION): Remove. 2004-01-13 Ben Elliston <bje@wasabisystems.com> * doc/rtl.texi (Vector Operations): Remove defunct vec_const item. 2004-01-12 James E Wilson <wilson@specifixinc.com> * unwind-libunwind.c: Delete. 2004-01-12 Zack Weinberg <zack@codesourcery.com> PR 13656 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or oldtype is set, set *newtypep or *oldtypep too. Do not set them at the very end. (validate_proto_after_old_defn): Restructure for comprehensibility; make error messages clearer. 2004-01-12 Zack Weinberg <zack@codesourcery.com> * varray.h (VARRAY_POP): Add checking variant, aborts on underflow. (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked. * varray.c: No need to prototype error. (varray_check_failed): Wrap long string onto two lines. (varray_underflow): New function. 2004-01-13 Steven Bosscher <stevenb@suse.de> PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". 2004-01-13 Jan Hubicka <jh@suse.cz> * c-decl.c (diagnose_mismatched_decls): Fix warning calls. * cgraphunit.c (cgraph_optimize_function): Always do optimize_inline_calls when there is always_inline callee. (cgraph_decide_inlining): Fix formating. * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline functions. (expand_call_inline): Likewise. * toplev.h (sorry): Fix prototype. 2004-01-12 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle conditional jumps that drop through to unconditional jumps or the end of the sequence. 2004-01-13 Jan Hubicka <jh@suse.cz> * alias.c (new_alias_set): Construct the alias_set varray. (init_alias_once): Don't do it here. 2004-01-12 Marc Espie <espie@openbsd.org> * system.h: handle YYBYACC like YYBISON. 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> PR target/10847 * config.gcc: No longer includes conflicting header sparc/sol2.h when building on sparc64-*-openbsd*. 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu> PR debug/13539 * dbxout.c (dbxout_type): Protected inheritance is not private but protected. 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch. 2004-01-12 Kazu Hirata <kazu@cs.umass.edu> PR optimization/12508. * combine.c (try_combine): Remove a dead set in a parallel even if its destination is a subreg. Revert: 2003-06-03 Kazu Hirata <kazu@cs.umass.edu> * combine.c (simplify_set): Don't move a subreg in SET_SRC to SET_DEST if WORD_REGISTER_OPERATIONS is not defined. 2004-01-12 Geoffrey Keating <geoffk@apple.com> * real.c: Update copyright date. * emit-rtl.c: Likewise. * rtl.h: Likewise. * dwarf2out.c: Likewise. * config/rs6000/darwin-ldouble.c: Likewise. * config/rs6000/rs6000.md: Likewise. 2004-01-12 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX TFmode to SImode libfuncs. 2004-01-12 Roger Sayle <roger@eyesopen.com> PR middle-end/11397 * varasm.c (assemble_alias): Remove weak aliases from weak_decls. 2004-01-12 Jan Hubicka <jh@suse.cz> PR opt/12826 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be stored. PR opt/12863 * cfgcleanup.c (label_is_jump_target_p): Move to... * rtlanal.c (label_is_jump_target_p): ... here. * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru edges unified with branch edges. 2004-01-12 Richard Earnshaw <rearnsha@arm.com> * simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE. 2004-01-12 Paul Brook <paul@codesourcery.com> * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com> PR target/13585 * sh-protos.h (check_use_sfunc_addr): Declare. * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions. * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate. 2004-01-12 Jan Hubicka <jh@suse.cz> * alias.c: Invlude varray.h (alias_sets): Turn into varray. (get_alias_set_entry): Use VARRAY; mark inline. (mems_in_disjoint_alias_sets_p): Mark inline. (record_alias_subset): Use varray. (init_alias_once): Initialize varray. (new_alias_set): Grow array. * varray.c: Make VARRAY_GENERIC_PTR non GTYized. 2004-01-12 Jan Hubicka <jh@suse.cz> Partial fix for PR opt/10776 II * cselib.c: Include params.h (cselib_invalidate_mem): Limit amount of nonconflicting memory locations. * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New. * Makefile.in (cselib.o): Depend on params.h 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * combine.c (combine_simplify_rtx): Don't pass VOIDmode to simplify_unary_operation if the operand has a known mode. 2004-01-12 Hartmut Penner <hpenner@de.ibm.com> PR target/13534 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New predicate to handle 'ld' conform addresses. * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y' contraint. (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint are memory contraints. * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand): New prototype. * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64): Change 'o' to 'Y' constraint. (*movdf_softfloat64): Ditto. 2004-01-12 Bernardo Innocenti <bernie@develer.com> * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the brace-enclosed syntax in all C output statements. 2004-01-12 David Edelsohn <edelsohn@gnu.org> PR target/13401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Objective-C language type value is 14. 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com> PR c/12148 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of `int' in a number of places to make sure we always have a SImode and not a HImode. Add a 'L' suffix to a number of constants. 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa.c: Don't include obstack.h. * pa.md: Correct constraint in pattern for loading PIC label address. 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine before defining. 2004-01-11 Steven Bosscher <stevenb@suse.de> PR fortran/9972 * toplev.c (rest_of_handle_inline): Also consider functions for deferral if the language is GNU F77. 2004-01-11 Zack Weinberg <zack@codesourcery.com> * c-decl.c (diagnose_arglist_conflict): Add missing space to diagnostic messages. 2004-01-11 Jakub Jelinek <jakub@redhat.com> PR middle-end/13392 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps to drop through label. Don't fall back to SCC even when conditional jump has not been found. 2004-01-11 Jan Hubicka <jh@suse.cz> * invoke.texi: Fix syntax error in previous patch. Partial fix for PR opt/10776 * Makefile.in (reload.o): Include param.h * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter. * reload.c: Include params.h. (find_equiv_reg): Work limiting check. * invoke.texi: Document. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Don't allow out-of-bounds accesses to string constants. Simplify mips16 case accordingly. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> PR optimization/13469 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after reload_cse_regs (-fnon-call-exceptions only). 2004-01-11 Kazu Hirata <kazu@cs.umass.edu> * config/mcore/lib1.asm: Fix comment formatting. * config/mcore/mcore-elf.h: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * c-decl.c (duplicate_decls): Break apart into... (diagnose_arglist_conflict, validate_proto_after_old_defn) (locate_old_defn, diagnose_mismatched_decls, merge_decls): ... these new functions. Restructure for comprehensibility. Remove various archaic special cases. Always report the location of the previous declaration when a diagnostic is issued. (redeclaration_error_message): Fold into diagnose_mismatched_decls. (match_builtin_function_types): Delete unnecessary forward declaration. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * genautomata.c (make_automaton, NDFA_to_DFA): Print progress bars with '.' characters instead of '*'. (build_automaton): Change notes to match. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use define_constants for unspec and unspec_volatile. 2004-01-10 Jan Hubicka <jh@suse.cz> PR opt/11635 * expr.c (expand_expr_real): More curefully expand union casts. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md (flush_icache): Use 1 for unspec_volatile. 2004-01-10 David Edelsohn <edelsohn@gnu.org> James E Wilson <wilson@specifixinc.com> PR debug/12860 * dbxout.c (dbxout_symbol): Remove initialization of current_sym_code, current_sym_value, and current_sym_addr. (dbxout_symbol_location): Same. (dbxout_prepare_symbol): Zero current_sym_code, current_sym_value, and current_sym_addr. 2004-01-10 Richard Sandiford <rsandifo@redhat.com> * tree.c (get_unwidened): Reorder conditions so that the null pointer check is done first. 2004-01-09 Eric Christopher <echristo@redhat.com> * toplev.c (rest_of_handle_cfg): Add reg_scan pass if we're running mark_constant_function. 2004-01-09 Jeff Bailey <jbailey@nisa.net> PR target/12561 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR. 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR debug/11231 * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the type is error_mark_node. 2004-01-09 Geoffrey Keating <geoffk@apple.com> * config/rs6000/darwin-ldouble.c: Add big comment explaining exactly what is expected as a 'long double'. (_xlqadd): When a value to be returned is representable as a 'double', just return it directly, do not construct it using a union. Also, correct final fixup. (_xlqmul): Likewise. (_xlqdiv): Likewise. * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c. * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. 2004-01-09 Richard Henderson <rth@redhat.com> * recog.c (constrain_operands): Validate mem operands. 2004-01-09 James E Wilson <wilson@specifixinc.com> * gcc.c (init_spec): Remove -lunwind from shared case. * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind. 2004-01-09 Steve Ellcey <sje@cup.hp.com> * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*. * configure: Regenerate 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk> PR c/11234 * c-typeck.c (build_c_cast): If pedantic, warn for conversions between function and object pointers. (digest_init): When comparing a pointer to function type to the target type, only apply TREE_TYPE once to the pointer to function type. * except.c (for_each_eh_label_1): Treat data as a pointer to a function pointer rather than casting it to a function pointer. (for_each_eh_label): Update caller. * recog.h (struct insn_data): Use a struct or union for output. * genoutput.c (output_insn_data): Update. * final.c (get_insn_template): Update. 2004-01-09 Mark Mitchell <mark@codesourcery.com> * expr.h (expand_expr): Make it a macro, not a function. (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__. * config/m32r/m32r.c (call26_operand): Allow in PIC mode. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> PR target/13380. * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17) or (ne:SI (reg:CC 17) (const_int 0)). Be specific about modes wherever possible. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.c (m32r_expand_block_move): Call gen_movestrsi_internal with two more arguments. (m32r_output_block_move): Adjust operand numbers. Properly update the source and destination pointers. * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of 'r+'. Change the set detinations to match_operand. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * final.c (FIRST_INSN_ADDRESS): Remove. (shorten_branches): Don't use FIRST_INSN_ADDRESS. * system.h (FIRST_INSN_ADDRESS): Poison. * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS. * config/m32r/m32r-protos.h: Remove the prototype for m32r_first_insn_address. * config/m32r/m32r.c (m32r_first_insn_address): Remove. * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise. * doc/md.texi (FIRST_INSN_ADDRESS): Likewise. 2004-01-09 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (gen_enumeration_type_die): Return the DIE that we just created. (is_ada_subrange_type): DIEs for enumeration subtypes should be emitted as subrange types too. (subrange_type_die): Add handling of enumeration subtypes. 2004-01-08 Richard Henderson <rth@redhat.com> PR opt/12441 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> * i386.c (aligned_operand): Be prepared for SUBREGed registers. (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. (ix86_address_cost): Be prepared for SUBREGed registers. (legitimate_address_p): Accept SUBREGed registers. 2004-01-08 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Rename configure.in to configure.ac * doc/sourcebuild.texi: Likewise. * configure: Regenerate. * config.in: Regenerate. 2004-01-08 Stuart Hastings <stuart@apple.com> * config/i386/i386.md: Typos in MMX/SSE immediate shifts. 2004-01-08 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_decide_inlining): Fix typo. 2004-01-08 Geoffrey Keating <geoffk@apple.com> * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset. (UNSPEC_FIX_TRUNC_TF): New constant. (movtf_internal): Make splitter active only when insn is active. (extenddftf2): Rewrite to properly load zero into low part. (extenddftf2_internal): New. (extendsftf2): Rewrite. (truncdftf2): Correct length. (floatditf2): Delete. (fix_trunc_helper): New. (fix_trunctfdi2): Use fix_trunc_helper. (fix_trunctfsi2): Likewise.fix_trunc (fix_trunctfsi2_internal): New. * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum addresses are legitimate on Darwin even when flag_pic. (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create non-offsettable addresses for loads of TFmode constants. 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section. 2004-01-09 Alan Modra <amodra@bigpond.net.au> * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure target_flags has MASK_POWERPC64 when -m64. * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64 to 620, 630, power3, power4 and rs64a entries. * config/rs6000/rs6000.h (MASK_64BIT): Expand comment. 2004-01-08 Richard Sandiford <rsandifo@redhat.com> * simplify-rtx.c (simplify_immed_subreg): Fix construction of floating-point constants. 2004-01-08 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (subrange_type_die): Add context_die parameter. Create the subrange_type DIE using the given context DIE. (modified_type_die): Update call to subrange_type_die. 2004-01-08 Zack Weinberg <zack@codesourcery.com> * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h: Add multiple-include guard. 2004-01-08 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept all vector constant loadable by vsplt*. (output_vec_const_move): Likewise. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/6024 * c-typeck.c (comptypes): Only treat enumerated types in the same translation unit as compatible with each other when they are the same type. * doc/extend.texi: Update. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/12165 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed array type from the array element type. 2004-01-07 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function. * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare. * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define. (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment. * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define. 2004-01-06 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Set to dwarf2. * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove. * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0 for irix as. (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as. * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove. * config/mips/iris5gas.h: Ditto. (DBX_DEBUGGING_INFO): Remove. (DWARF2_DEBUGGING_INFO): Ditto. (MIPS_DEBUGGING_INFO): Ditto. (PREFERRED_DEBUGGING_TYPE): Ditto. * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Ditto. (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto. * config/mips/elf64.h: Ditto. 2004-01-06 Jan Hubicka <jh@suse.cz> * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate. (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use. 2004-01-06 Geoffrey Keating <geoffk@apple.com> * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c. (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128. * config/rs6000/darwin-ldouble.c: New. * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for constants. (constant_subword): Delete. * rtl.h (constant_subword): Delete prototype. (immed_double_const): Is not in varasm.c. * simplify-rtx.c (simplify_immed_subreg): New. (simplify_subreg): Use simplify_immed_subreg. * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly. (fix_trunctfsi2): Use expand_fix rather than trying to generate RTL directly. * dwarf2out.c (add_const_value_attribute): Remove incorrect comment. 2004-01-06 David Edelsohn <edelsohn@gnu.org> * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each function into a separate macro. (read_only_data_section): Add void argument. (private_data_section): Same. (read_only_private_data_section): Same. (toc_section): Same. 2004-01-06 Jan Hubicka <jh@suse.cz> * invoke.texi: Remove typo in last change. PR target/10301 * config.gcc: Accept opteron and athlon-64 as variants of k8. * i386.c (override_options): Likewise. * invoke.texi (i386 -mtune): Expand documentation. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * alias.c: Fix comment typos. * builtins.c: Likewise. * cfg.c: Likewise. * df.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genrecog.c: Likewise. * gensupport.c: Likewise. * ggc-zone.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * recog.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reorg.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * sched-ebb.c: Likewise. * simplify-rtx.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * doc/install.texi: Fix typos. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed 2004-01-06 Jan Hubicka <jh@suse.cz> * i386.c (init_cumulative_args): Add handling of MMX_REGPARM. (function_arg_advance): Do not pass aggregates in SSE; deal handling of MMX_REGPARM. (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM; add MMX_REGPARM. * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields. (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI. (MMX_REGPARM_MAX): Similarly for -mmmx. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/sh/linux.h: Fix comment formatting. * config/sh/netbsd-elf.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.h: Likewise. * config/sh/vxworks.h: Likewise. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison. * toplev.c (output_file_directive): Don't use ASM_OUTPUT_MAIN_SOURCE_FILENAME. 2004-01-05 Daniel Berlin <dberlin@dberlin.org> * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS (USING_MMAP): We don't support non-mmap. (struct alloc_chunk): Steal 1 bit from typecode, use it to mark large objects. (struct page_entry): Remove bytes_free. (struct page_table_chain): Remove. (struct globals): Remove page_table member. (loookup_page_table_entry): Function deleted. (set_page_table_entry): Ditto. (ggc_allocated_p): No longer need page table lookups. (ggc_marked_p): Ditto. (alloc_small_page): Don't care about bytes_free anymore. (alloc_large_page): Round up size. (ggc_alloc_zone_1): Mark large objects as such, and calculate their size the new way. Remove page table lookups and setting. (ggc_get_size): Calculate large object size the new way. (sweep_pages): Redo to account for fact that we no longer have bytes_free. (ggc_collect): No longer need to reincrement bytes_free. (ggc_pch_alloc_object): Handle new large objects properly. (ggc_pch_read): Put PCH stuff into it's own uncollected zone. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove a page break. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (avr_output_function_prologue): Remove an extra pair of curly braces. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.c: Fix comment formatting. * config/mn10300/mn10300.h: Likewise. 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h: Update documentation on nothrow_flag. * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for types. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove traces of dead ports. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs option. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> PR target/12945 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for counter labels. * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete. (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P. (mips_symbol_insns): Don't trust the local/global classification. (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol. (override_options): Make -mabicalls -fno-unit-at-a-time imply -mno-explicit-relocs. (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish between local and global symbols. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare. (mips_preferred_reload_class): Declare. * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function. (EXTRA_CONSTRAINT): Update accordingly. (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class. * config/mips/mips.c (mips_dangerous_for_la25_p): New function. (mips_preferred_reload_class): New function. Prefer LEA_REGS if mips_dangerous_for_la25_p. (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS if mips_dangerous_for_la25_p. 2004-01-05 Bernardo Innocenti <bernie@develer.com> * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison warning. 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Use AC_PROG_CPP_WERROR. * configure: Regenerate. 2004-01-04 Zack Weinberg <zack@codesourcery.com> * .cvsignore: Add autom4te.cache. 2004-01-04 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Revamp documentation of MIPS options. Remove -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile, -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first, then architecture options, then ABI options. General rewording. 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk> PR c/3414 * doc/extend.texi: Clarify definition of malloc attribute. 2004-01-04 Jan Hubicka <jh@suse.cz> * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency. * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed * cgraph.h (cgraph_edge): Replace inline_call by inline_failed (cgraph_inline_p): Add extra argument reason. * cgraphunit.c: Minor formating fixes. cgraph_first_inlined_callee): New functions. (record_call_1): Record builtins too. (cgraph_analyze_function): Update inline_failed messages. (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into, cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed. (cgraph_check_inline_limits): Likewise; Add argument reason. (cgraph_set_inline_failed): New static function. (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set reasons. (cgraph_inline_p): Add new argument reason. * tree-inline.c (expand_call_inline): Update warning. 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM with modern equivalents. * configure: Regenerate. * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE. * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove. * configure: Regenerate. * doc/install.texi: Note that 'gcc' is now a 2.57 directory. * configure.in: Rename to configure.ac. * configure.ac: Renamed from configure.in; make minimum necessary changes for autoconf 2.5x. * aclocal.m4: Make minimum necessary changes for autoconf 2.5x. * configure: Regenerate with autoconf 2.57. 2004-01-03 Kazu Hirata <kazu@cs.umass.edu> * config/mips/linux.h: Fix comment formatting. * config/mips/mips.c: Likewise. * config/mips/mips.h: Likewise. * config/mips/mips.md: Likewise. * config/mips/netbsd.h: Likewise. * config/mips/windiss.h: Likewise. 2004-01-02 Richard Henderson <rth@redhat.com> * config/i386/i386.md (fp constant pool splitter): Reorg suppression for sse and 387; add suppression for mmx. 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu> * loop.c (loop_optimize): Free all loops_info's mems. * c-typeck.c (finish_init): Free spelling_base before setting it again. * cfgloop.c (flow_loops_find): Always free the sbitmap headers. * predict.c (estimate_probability): Free bbs after being done with it. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (PREDICATE_CODES): Add const_8bit_operand and call_address_operand. 2004-01-02 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls when there is nothing to inline but warnings are requested. (cgraph_decide_inlining): Fix memory leak. 2004-01-02 Jan Hubicka <jh@suse.cz> * expr.c (store_constructor): Fix pasto in previous patch. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/i386/cygming.h: Fix comment formatting. * config/i386/djgpp.h: Likewise. * config/i386/gthr-win32.c: Likewise. * config/i386/i386-interix.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/openbsd.h: Likewise. * config/i386/winnt.c: Likewise. * config/i386/xm-mingw32.h: Likewise. 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk> * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update copyright and last modification dates. 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de> * doc/install.texi (Specific): Mention x86_64. 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com> * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]: Call force_operand on plus_constant result. 2004-01-01 Jan Hubicka <jh@suse.cz> * expmed.c (store_bit_field, extract_bit_field): Use new named patterns * expr.c (store_constructor): Use vec_init pattern. * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init. * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init (vec_set_optab, vec_extract_optab, vec_init_optab): New. * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf): New patterns. (sse2_unpc?pd): Fix pattern. (sse2_movlpd): Kill. (sse2_movsd): Deal with movlpd too. * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd. (ix86_expand_vector_init): New. * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. * md.texi (vec_set, vec_extract): Document 2003-12-31 Jan Hubicka <jh@suse.cz> PR opt/13473 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside ASM input operands PR opt/12617 * toplev.c (dump_file_index): Reorder ce3 and bbro. (dump_file): Likewise. (rest_of_compilation): Likewise. PR debug/13367 * cgraph.c (cgraph_function_possibly_inlined): Even with flag_really_no_inline we inline always_inline functions. * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag for non-always_inline functions when there is flag_really_no_inline. (cgraph_decide_inlining): Limit work done when not inlining. (cgraph_decide_inlining_incrementally): Likewise. (cgraph_optimize_function): Check whether something got inlined. * c-objc-common.c (c_disregard_inline_limits): Do not always inline extern inline functions when not inlining. * opts.c (decode_options): Disable crossjumping at -O1 * invoke.texi (-O1): Document change. From-SVN: r76701
2004-01-27 13:49:31 +01:00
fbtr-bb-exclusive
Common Report Var(flag_btr_bb_exclusive)
re PR middle-end/13779 ([3.4 only] powerpc64: incorrect initialization of 'long long' with constant) * Makefile.in (bt-load.o): Depend on except.h. * bt-load.c (except.h): #include. (compute_defs_uses_and_gen): If insn at end of BB can throw within this function, consider registers used by it unavailable for btr migration. (move_btr_def): If insn at end of BB can throw, insert before rather than after. * flags.h (flag_btr_bb_exclusive): Declare. * toplev.c (flag_btr_bb_exclusive): New variable. (f_options): Add btr-bb-exclusive. * bt-load.c (augment_live_range): Restore old behaviour if flag_btr_bb_exclusive is set. * common.opt: Add entry for -fbtr-bb-exclusive. * opts.c (common_handle_options): Same. * doc/invoke.texi: Document -fbtr-bb-exclusive. * bt-load.c (btrs_live_at_end): New variable. (compute_defs_uses_and_gen): Compute its pointed-to array. (clear_btr_from_live_range, add_btr_to_live_range): Update it. (augment_live_range): When augmenting with a new dominator, use only its btrs_live_at_end set, but also add in the full set of the old dominator. (btr_def_live_range): Use btrs_live_at_end. (move_btr_def): Set other_btr_uses_before_def, and move new set to the end of the basic block, if appropriate. (migrate_btr_defs): Allocate and free btrs_live_at_end. * bt-load.c (basic_block_freq): Remove outdated comment. 2004-01-27 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.h: Correct target_flags free bits comment. (PREDICATE_CODES): Remove duplicate. * config/rs6000/linux64.h (CPP_SYSV_SPEC): Don't define. (SUBSUBTARGET_OVERRIDE_OPTIONS): Disallow 32 bit TARGET_PROFILE_KERNEL. (MASK_PROFILE_KERNEL): Adjust define. 2004-01-27 Jakub Jelinek <jakub@redhat.com> * config/i386/i386.c (ix86_constant_alignment): Decrease alignment of long string literals from 32 bytes to sizeof (void *) when !-Os and to 1 with -Os. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Accept constant addresses in the normal mode. 2004-01-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * system.h (CHAR_BITFIELD): Delete. (BOOL_BITFIELD): New. * c-decl.c (c_scope): Use BOOL_BITFIELD. * gengtype-lex.l: Recognize BOOL_BITFIELD instead of CHAR_BITFIELD. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arc/arc.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (arc_return_in_memory): Likewise. * config/arc/arc.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. 2004-01-26 Richard Henderson <rth@redhat.com> * c-parse.in (extension): Use itype. (SAVE_EXT_FLAGS): Don't allocate a tree. (RESTORE_EXT_FLAGS): Don't read a tree. 2004-01-26 Jan Hubicka <jh@suse.cz> * cselib.c (discard_useless_values): Clear out value pointer pointing to datastructure to be recycled. 2004-01-25 Jan Hubicka <jh@suse.cz> * genextract.c (main): Do not output the memset when not checking. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_tiny_constant_address_p): Use a switch statement instead of a chain of if statements. 2004-01-26 Jeff Law <law@redhat.com> * doc/contrib.texi: Minor cleanup for Paolo Carlini's entry. Add acute accents for Petur Runolfsson's entry. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/pdp11/pdp11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. * config/pdp11/pdp11.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * config/rs6000/rs6000.c (rs6000_emit_move): split slow unaligned load/store into smaller loads and stores. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * function.c (assign_parms): Do not assign long long argument to memory in prologue if is it loaded into register. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> PR middle-end/13779 * expr.c (emit_group_load): split constant correctly into register components of PARALLEL insn. 2004-01-26 Fariborz Jahanian <fjahanian@apple.com> * gcc/config/rs6000/rs6000.md (save_stack_nonlocal): Use adjust_address_nv directly with appropriate mode. (restore_stack_nonlocal): Ditto. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/xtensa/xtensa-protos.h: Remove the prototype for xtensa_builtin_saveregs. * config/xtensa/xtensa.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (xtensa_builtin_saveregs): Make it static. (xtensa_return_in_memory): New. * config/xtensa/xtensa.h (PROMOTE_FUNCTION_ARGS: Remove. (PROMOTE_FUNCTION_RETURN): Likewise. (PROMOTE_PROTOTYPES): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_SETUP_INCOMING_VARARGS): New. (arm_setup_incoming_varargs): Likewise. * config/arm/arm.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_SETUP_INCOMING_VARARGS): New. (cris_setup_incoming_varargs): Likewise. * config/cris/cris.h (SETUP_INCOMING_VARARGS): Remove. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ns32k/ns32k.c (TARGET_STRUCT_VALUE_RTX): New. (ns32k_struct_value_rtx): Likewise. * config/ns32k/ns32k.h (STRUCT_VALUE_REGNUM): Rename to NS32K_STRUCT_VALUE_REGNUM. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/arm/arm.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (arm_struct_value_rtx): Likewise. * config/arm/arm.h (PROMOTE_FUNCTION_ARGS): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_REGNUM): Likewise. (PROMOTE_PROTOTYPES): Likewise. 2004-01-26 Kazu Hirata <kazu@cs.umass.edu> * config/ia64/ia64-protos.h: Remove the prototype for ia64_setup_incoming_varargs and ia64_return_in_memory. * config/ia64/ia64.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (ia64_setup_incoming_varargs): Adjust the arguments to meet the requirement of TARGET_SETUP_INCOMING_VARARGS. (ia64_return_in_memory): Make it static. Change the return type to bool from int. Add an argument. (ia64_struct_value_rtx): New. * config/ia64/ia64.h: Remove commented-out definitions of PROMOTE_FUNCTION_ARGS, PROMOTE_FUNCTION_RETURN, and PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-26 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13666 * config/sparc/sparc.c (function_arg_union_value): New function. (function_arg): Use it to deal with unions. (function_value): Likewise. Define 'regbase' only for ARCH64. Replace a conditional statement by a simpler one. 2004-01-26 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips16_optimize_gp): Delete. (mips_reorg): Don't call it. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.md (addqi3_noclobber): Move up pecking order. (floatunsqihf2): Remove operand 6. (fixhfqi_set, fix_trunchfqi2, fixuns_trunchfqi2): Group with other fix patterns. (ldi_conditional, ldf_conditional): Validate operands. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (BCT_CHECK_LOOP_ITERATIONS): Remove. (HAVE_GAS_HIDDEN): Undefine as interim measure. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_legitimate_address_p): Invalidate direct memory references if TARGET_EXPOSE_LDP nonzero. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (legitimize_operands): Truncate invalid shift counts. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_valid_operands): More aggressively reject invalid operand combinations. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.c (c4x_check_legit_addr): Rename to c4x_legitimate_address_p. Fix post_modify check. * config/c4x/c4x-protos.h (c4x_check_legit_addr): Adjust. * config/c4x/c4x.h (c4x_check_legit_addr): Adjust. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/pa/pa-protos.h: Remove the prototype for hppa_builtin_saveregs. Add a prototype for pa_return_in_memory. * config/pa/pa.c (TARGET_PROMOTE_FUNCTION_RETURN): New. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (pa_struct_value_rtx): Likewise. (pa_return_in_memory): Likewise. * config/pa/pa.h (STRUCT_VALUE_REGNUM): Rename to PA_STRUCT_VALUE_REGNUM. (INIT_CUMULATIVE_ARGS): Use pa_return_in_memory. (EXPAND_BUILTIN_SAVEREGS): Remove. (PROMOTE_PROTOTYPES): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/vax/vax.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (vax_struct_value_rtx): Likewise. * config/vax/vax.h (STRUCT_VALUE_REGNUM): Rename to VAX_STRUCT_VALUE_REGNUM. (PROMOTE_PROTOTYPES): Remove. 2004-01-26 Michael Hayes <m.hayes@elec.canterbury.ac.nz> * config/c4x/c4x.h (LEGITIMIZE_RELOAD_ADDRESS): Handle symref. 2003-04-25 Chris Demetriou <cgd@broadcom.com> * config/mips/mips.h (ISA_HAS_HILO_INTERLOCKS): MIPS32, MIPS32r2, and MIPS64 have HI/LO interlocks. Update comment. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/stormy16/stormy16-protos.h: Remove the prototype for xstormy16_setup_incoming_varargs. * config/stormy16/stormy16.c (xstormy16_setup_incoming_varargs): Remove. (xstormy16_return_in_memory): New. (TARGET_PROMOTE_FUNCTION_ARGS): Likewise. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/stormy16/stormy16.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise (PROMOTE_PROTOTYPES): Likewise (RETURN_IN_MEMORY): Likewise (STRUCT_VALUE): Likewise (SETUP_INCOMING_VARARGS): Likewise 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_offset_within_object_p): New function. (mips_symbolic_constant_p): Use it in the SYMBOL_SMALL_DATA and SYMBOL_CONSTANT_POOL cases. Also use it for SYMBOL_GENERAL if the ABI has 64-bit pointers and the object file only allows 32-bit symbols. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/sh/sh.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300-protos.h: Remove the prototype for mn10300_builtin_saveregs. * config/mn10300/mn10300.c (TARGET_PROMOTE_PROTOTYPES): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. (mn10300_return_in_memory): Likewise. (mn10300_builtin_saveregs): Make it static. * config/mn10300/mn10300.h (PROMOTE_PROTOTYPES): Remove. (RETURN_IN_MEMORY): Likewise. (STRUCT_VALUE): Likewise. (EXPAND_BUILTIN_SAVEREGS): Likewise. 2004-01-25 Eric Botcazou <ebotcazou@act-europe.fr> PR bootstrap/13853 * cfgcleanup.c (try_optimize_cfg): Explicitly test against 0. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/lib1funcs.asm (divnorm, modnorm): Optimize by using ccr. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/i860/i860-protos.h: Remove the prototype for i860_saveregs. * config/i860/i860.c (i860_saveregs): Make it static. (i860_struct_value_rtx): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_EXPAND_BUILTIN_SAVEREGS): Likewise. * config/i860/i860.h (STRUCT_VALUE_REGNUM): Rename to I860_STRUCT_VALUE_REGNUM. (EXPAND_BUILTIN_SAVEREGS): Remove. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/m68hc11/m68hc11.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (m68hc11_struct_value_rtx): Likewise. (m68hc11_return_in_memory): Likewise. * config/m68hc11/m68hc11.h: Remove a commented-out definition of PROMOTE_PROTOTYPES. (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE_REGNUM): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mmix/mmix-protos.h: Remove the prototype for mmix_setup_incoming_varargs. * config/mmix/mmix.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (mmix_setup_incoming_varargs): Make it static. (mmix_struct_value_rtx): New. * config/mmix/mmix.h (PROMOTE_FUNCTION_ARGS): Remove. Remove a commented-out definition of PROMOTE_FUNCTION_RETURN. (STRUCT_VALUE_REGNUM): Remove. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/mips/mips-protos.h: Remove the prototypes for mips_setup_incoming_varargs and mips_return_in_memory. * config/mips/mips.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_PROMOTE_PROTOTYPES): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (mips_setup_incoming_varargs): Match the prototype for TARGET_SETUP_INCOMING_VARARGS. (mips_return_in_memory): Make it static. Add argument fntype. (mips_strict_argument_naming): New. * config/mips/mips.h (PROMOTE_PROTOTYPES): Remove. (PROMOTE_FUNCTION_ARGS): Likewise. (PROMOTE_FUNCTION_RETURN): Likewise. (STRUCT_VALUE): Likewise. (RETURN_IN_MEMORY): Likewise. (SETUP_INCOMING_VARARGS): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/ip2k/ip2k.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_SETUP_INCOMING_VARARGS): Likewise. (ip2k_return_in_memory): Likewise. (ip2k_setup_incoming_varargs): Likewise. * config/ip2k/ip2k.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (SETUP_INCOMING_VARARGS): Likewise. 2004-01-25 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (TARGET_STRUCT_VALUE_RTX): New. (TARGET_RETURN_IN_MEMORY): Likewise. (TARGET_STRICT_ARGUMENT_NAMING): Likewise. (avr_return_in_memory): Remove. * config/avr/avr.h (RETURN_IN_MEMORY): Remove. (STRUCT_VALUE): Likewise. (STRUCT_VALUE_INCOMING): Likewise. (STRICT_ARGUMENT_NAMING): Likewise. 2004-01-25 Jan Hubicka <jh@suse.cz> * combine.c (recog_for_combine): Avoid allocating unnecesary RTX. 2004-01-25 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_reg_mode_ok_for_base_p): Delete. (mips_regno_mode_ok_for_base_p): Declare. * config/mips/mips.h (ARG_POINTER_REGNUM): Renumber to 77. (FRAME_POINTER_REGNUM): Renumber to 78. (FIRST_PSEUDO_REGISTER): Update comment accordingly. (BASE_REG_P, GP_REG_OR_PSEUDO_STRICT_P): Delete. (GP_REG_OR_PSEUDO_NONSTRICT_P): Delete. (REGNO_MODE_OK_FOR_BASE_P): Use mips_regno_mode_ok_for_base_p. (REG_MODE_OK_FOR_BASE_P): Likewise. * config/mips/mips.c (mips_reg_names, mips_sw_reg_names): Change entry for 77 to "$arg" and entry for 78 to "$frame". (mips_regno_to_class): Map 77 and 78 to ALL_REGS. (mips_reg_mode_ok_for_base_p): Remove. (mips_regno_mode_ok_for_base_p): New function, derived from old BASE_REG_P macro. Don't enforce the mips16 stack pointer restrictions unless we're being strict. (mips_valid_base_register_p): Use mips_regno_mode_ok_for_base_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment typos. * c-decl.c: Likewise. * cgraphunit.c: Likewise. * combine.c: Likewise. * et-forest.c: Likewise. * flow.c: Likewise. * function.c: Likewise. * ifcvt.c: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * postreload.c: Likewise. * varray.c: Likewise. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * doc/frontends.texi: Update copyright. * doc/gcov.texi: Likewise. * doc/gty.texi: Likewise. * doc/sourcebuild.texi: Likewise. * doc/standards.texi: Likewise. 2004-01-24 Herman A.J. ten Brugge <hermantenbrugge@home.nl> PR target/12978 * c4x.md: (movstrqi*) Use match_scratch instead of match_dup. Remove movstrqi_small because it conflicts with movstrqi_large. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/cris/cris.c (TARGET_PROMOTE_FUNCTION_ARGS): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (cris_struct_value_rtx): Likewise. * config/cris/cris.h (PROMOTE_FUNCTION_ARGS): Remove. (CRIS_STACKADJ_REG): Use CRIS_STRUCT_VALUE_REGNUM instead of STRUCT_VALUE_REGNUM. (STRUCT_VALUE_REGNUM): Rename to CRIS_STRUCT_VALUE_REGNUM. 2004-01-24 Ian Lance Taylor <ian@wasabisystems.com> PR bootstrap/13848 * cse.c (cse_cc_succs): Change the mode of the source expression as soon as decide we need a new mode. Don't permit changing modes if we found a match in a successor block. (cse_condition_code_reg): Save original mode of source expression so that we know whether we have to change the mode in other insns. 2004-01-24 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address, adjust_address_1, offset_address, widen_memory_access): Return early when there is nothing to change. 2004-01-24 Jakub Jelinek <jakub@redhat.com> * simplify-rtx.c (simplify_relational_operation): Don't simplify address == constant into address + -constant == 0. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * gcc.c (process_command): Don't internationalize the Copyright message. * mips-tfile.c (main): Likewise. 2004-01-24 Andreas Tobler <a.tobler@schweiz.ch> * cse.c: (cse_cc_succs) Fix comparison warning. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md: Remove extraneous USE in expanders. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Provide prototypes for h8300_legitimate_constant_p and h8300_legitimate_address_p. * config/h8300/h8300.c (h8300_legitimate_constant_p): New. (h8300_rtx_ok_for_base_p): Likewise. (h8300_legitimate_address_p): Likewise. * config/h8300/h8300.h (LEGITIMATE_CONSTANT_P): Use h8300_legitimate_constant_p. (RTX_OK_FOR_BASE_P): Remove. (GO_IF_LEGITIMATE_ADDRESS): Use h8300_legitimate_address_p. 2004-01-24 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_NONSTRICT_P): New. (REG_OK_FOR_BASE_NONSTRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Likewise. (REG_OK_FOR_BASE_STRICT_P): Likewise. (REG_OK_FOR_INDEX_STRICT_P): Use REGNO_OK_FOR_INDEX_P. (REG_OK_FOR_BASE_STRICT_P): Use REGNO_OK_FOR_BASE_P. (REG_OK_FOR_INDEX_P): Use REG_OK_FOR_INDEX_STRICT_P. (REG_OK_FOR_BASE_P): Use REG_OK_FOR_BASE_STRICT_P. 2004-01-24 Jan Hubicka <jh@suse.cz> * cselib.c (remove_useless_values): Do not access discarded values. 2004-01-24 Joseph S. Myers <jsm@polyomino.org.uk> * c-typeck.c (build_conditional_expr): Do not allow non-lvalue arrays. 2004-01-23 Kazu Hirata <kazu@cs.umass.edu> * recog.c: Fix a typo in copyright. 2004-01-23 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.md (call): Fix misappiled patch. (call_value): Likewise. 2004-01-23 Richard Henderson <rth@redhat.com> PR opt/12941 * combine.c (SHIFT_COUNT_TRUNCATED): Provide default value. (simplify_comparison): Don't simplify (eq (zero_extract c 1 r) 0) if SHIFT_COUNT_TRUNCATED is set. 2004-01-23 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (xtensa_va_arg): Handle complex values as separate real and imaginary parts. * config/xtensa/xtensa.h (SPLIT_COMPLEX_ARGS): Define. 2004-01-23 Hartmut Penner <hpenner@de.ibm.com> PR target/13674 * config/rs6000/rs6000.md (movdf_hardfloat64): Do not disparage loading into GPR. 2004-01-23 Jan Hubicka <jh@suse.cz> * emit-rtl.c (change_address_1): Do not re-generate the RTX if nothing change. * alloc-pool.c (align_four): Kill. (create_alloc_pool): Align size to eight. (free_alloc_pool, free_pool): Invalidate deallocated data. 2004-01-23 Ian Lance Taylor <ian@wasabisystems.com> PR gcc/1532 * cse.c (cse_change_cc_mode): New static function. (cse_change_cc_mode_insns, cse_cc_succs): Likewise. (cse_condition_code_reg): New function. * rtl.h (cse_condition_code_reg): Declare. * toplev.c (rest_of_handle_cse2): Call cse_condition_code_reg. * target.h (struct gcc_target): Add fixed_condition_code_regs and cc_modes_compatible. * target-def.h (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (TARGET_INITIALIZER): Add new initializers. * targhooks.c (default_cc_modes_compatible): New function. * targhooks.c (default_cc_modes_compatible): Declare. * hooks.c (hook_bool_intp_intp_false): New function. * hooks.h (hook_bool_intp_intp_false): Declare. * config/i386/i386.c (TARGET_FIXED_CONDITION_CODE_REGS): Define. (TARGET_CC_MODES_COMPATIBLE): Define. (ix86_fixed_condition_code_regs): New static function. (ix86_cc_modes_compatible): Likewise. * doc/tm.texi (Condition Code): Document new hooks. 2004-01-23 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (bad_lval): Renamed to ... (alpha_bad_lval): ... this. Removed file list. Restrict to alpha*-dec-osf*. * fixinc/fixincl.x: Regenerate. * fixinc/tests/base/dirent.h: Remove, moving test ... * fixinc/tests/base/testing.h: ... here, reflecting new name. 2004-01-23 Zack Weinberg <zack@codesourcery.com> PR c/13814 * c-decl.c (diagnose_mismatched_decls): Also discard a built-in if we encounter an old-style definition with the same name. 2004-01-23 Jakub Jelinek <jakub@redhat.com> * config.gcc (powerpc*-*): Clear $with_cpu or $with_tune if it was set to default{32,64}. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * config/rs6000/linux64.h (MD_FALLBACK_FRAME_STATE_FOR) [!__powerpc64__]: Corrected to handle kernels with changed ucontext. 2004-01-23 Eric Botcazou <ebotcazou@act-europe.fr> Olivier Hainque <hainque@act-europe.fr> * fold-const.c (fold_binary_op_with_conditional_arg): Only build a COMPOUND_EXPR if 'arg' is really a SAVE_EXPR. 2004-01-23 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c (arm_legitimate_address_p): Don't check the mode size for minipool references. 2004-01-23 Roger Sayle <roger@eyesopen.com> * real.c (real_floor, real_ceil): Tweak to allow input and output arguments to overlap. (real_round): New function to implement round(3m) semantics. * real.h (real_round): Prototype here. * builtins.c (fold_builtin_round): New function to constant fold round, roundf and roundl. (fold_builtin): Call fold_builtin_round for BUILT_IN_ROUND{,F,L}. 2004-01-23 Alexandre Oliva <aoliva@redhat.com> PR optimization/13819 * config/sh/sh.c (sh_reorg): Compensate for sharing of CLOBBERs introduced by 2004-01-20's Jan Hubicka's copy_insn change. (sh_handle_sp_switch_attribute): Remove warning. 2003-11-30 Jan Hubicka <jh@suse.cz> * i386.c (ix86_emit_restore_regs_using_mov): Deal with large offsets. 2004-01-23 J"orn Rennecke <joern.rennecke@superh.com> * doc/tm.texi: Insert some weasel words when LOAD_EXTEND_OP may or may not return non-NIL. * postreload.c (reload_cse_simplify_operands): In LOAD_EXTEND_OP code, check CANNOT_CHANGE_MODE_CLASS 2004-01-23 Jan Hubicka <jh@suse.cz> * basic-block.h (PROP_POSTRELOAD): New macro. (CLEANUP_LOG_LINKS): New. * cfgcleanup.c (cleanup_cfg): Only PROP_LOG_LINKS when asked to. * toplev.c (rest_of_handle_life): Preserve LOG_LINKS trought cleanup_cfg. * cselib.c (value_pool): New. (new_cselib_val): Use pool. (cselib_init): Initialize value_pool (cselib_finish): Free pool. 2004-01-23 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (scan_record_type): New function. (function_arg_slotno): Use it to determine which kinds of registers the record can be passed in. 2004-01-22 James A. Mmorrison <ja2morri@uwaterloo.ca> * config/pa/fptr.c: Fix old-style definition. 2004-01-22 Paolo Bonzini <bonzini@gnu.org> PR optimization/13724 * cse.c (fold_rtx) <SUBREG>: Fold a SUBREG to zero if it represents the zero bits produced by a ZERO_EXTEND operation. 2004-01-22 Roger Sayle <roger@eyesopen.com> PR optimization/13821 * simplify-rtx.c (simplify_subreg): Use subreg_lowpart_offset to correctly calculate the lowpart offset of the contracted subreg. 2004-01-22 Ian Lance Taylor <ian@wasabisystems.com> * doc/invoke.texi (Optimize Options): Note that --param arguments are subject to change without notice. 2004-01-22 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * config.gcc (mips-sgi-irix6*o32): Removed. * config/mips/iris6-o32-as.h: Likewise. * config/mips/iris6-o32-gas.h: Likewise. * config/mips/iris6-o32.h: Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * cfgcleanup.c (first_pass): New static variable. (try_forward_edges): Add work limiting check for threading. (try_crossjump_bb): Add work limiting check for crossjumping. (try_optimize_cfg): Maintain first pass variable. 2004-01-22 Bob Wilson <bob.wilson@acm.org> * config/xtensa/xtensa.c (function_arg): Generalize logic so that it handles complex and vector modes. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.h (REG_OK_FOR_INDEX_P_STRICT): Remove. (REG_OK_FOR_BASE_P_STRICT): Likewise. (STRICT): Likewise. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * c-semantics.c (genrtl_while_stmt, genrtl_do_stmt_1) (genrtl_for_stmt): Remove emit_nop calls. 2004-01-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR target/13713 PR target/13324 * pa.md (movstrsi_prereload, movstrsi_postreload, movstrdi_prereload, movstrdi_postreload, clrstrsi_prereload, clrstrsi_postreload, clrstrdi_prereload, clrstrdi_postreload): Fix constraints. 2004-01-22 Daniel Jacobowitz <drow@mvista.com> * config/arm/arm.c: Include "debug.h". (thumb_pushpop): Take two new arguments. Add some commentary. Output frame information when pushing. (thumb_exit, thumb_unexpanded_epilogue): Update calls to thumb_pushpop. (thumb_output_function_prologue): Likewise. Accumulate a CFA offset, and pass it to thumb_pushpop. Output CFI information. (thumb_expand_prologue): Add some frame-related markers and notes. 2004-01-22 Ulrich Weigand <uweigand@de.ibm.com> * config/s390/s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. 2004-01-22 Roger Sayle <roger@eyesopen.com> Paolo Bonzini <bonzini@gnu.org> * rtlanal.c (subreg_lsb_1): New function split out from subreg_lsb. (subreg_lsb): Change to call new subreg_lsb_1 helper function. * rtl.h (subreg_lsb_1): Prototype here. * simplify-rtx.c (simplify_subreg): Optimize subregs of zero and sign extensions. 2004-01-22 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (CASE_VECTOR_PC_RELATIVE): Mention that the macro need not be defined if jump-tables should contain relative addresses only when -fPIC or -fPIC is in effect. 2004-01-22 Jan Hubicka <jh@suse.cz> * alias.c (reg_base_value): Turn into varray. (reg_base_value_size): Kill. (old_reg_base_value): New deletable varray. (alias_invariant_size): New variable. (REG_BASE_VALUE): Update to use varray. (find_base_value): Likewise. (record_set): Likewise. (record_base_value): Likewise. (memrefs_conflict_p): Likewise. (record_set): Likewise (record_base_value): Likewise. (memrefs_conflict_p): Use alias_invariant_size. (init_alias_analysis): Use varray; set alias_invariant_size; rescale other arrays to be sized by maxreg. (end_alias_analysis): Save reg_base_value; clear alias_invariant_size. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.c (function_arg_slotno): Use FLOAT_TYPE_P to detect FP fields in structures. (function_arg_record_value_1): Likewise. (function_arg_record_value_2): Likewise. 2004-01-22 Jan Hubicka <jh@suse.cz> * function.c (allocate_struct_function): Do not initialize expr, emit and varasm. (prepare_function_start): Do it here. * c-parse.in (maybe_type_qual): Do not produce line number notes. 2004-01-22 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13559 * config/sparc/sparc.c (function_arg_record_value_3): Revert to 'word_mode' once the first slot has been filled. 2004-01-22 Olivier Hainque <hainque@act-europe.fr> * config/sparc/sparc.c (function_arg_record_value_1): Fix computation of the number of integer registers required. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/i386/i386.md: Simplify certain comparisons of const_int. 2004-01-21 Andrew Pinski <apinski@apple.com> PR target/13785 * config/rs6000/rs6000.md (call_value): Force operand 1 not operand 0 into a register. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * cpperror.c, cpptrad.c, longlong.h, params.def, rtl.def, unwind-dw2-fde.h: Update copyright. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h: Update copyright. * pa.h: Likewise. * pa.md: Likewise. 2004-01-21 Caroline Tice <ctice@apple.com> PR target/12308 * config/i386/i386.md (fix_truncxfdi2): Add clause to clobber flags register. (fix_truncdfdi2): Likewise. (fix_truncsfdi2): Likewise. (*fix_truncdi_1): Likewise. (fix_truncxfsi2): Likewise. (fix_truncdfsi2): Likewise. (fix_truncsfsi2): Likewise. (*fix_truncsi_1): Likewise. (fix_truncxfhi2): Likewise. (fix_truncdfhi2): Likewise. (fix_truncsfhi2): Likewise. (*fix_trunchi_1): Likewise. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * alias.c, basic-block.h, c-common.c, c-common.h, c-cppbuiltin.c, c-opts.c, c-pragma.c, c-pretty-print.c, calls.c, cfg.c, cfgcleanup.c, cfgrtl.c, cgraph.h, collect2.c, combine.c, cppcharset.c, cpphash.h, cppinit.c, cpplib.c, cpplib.h, cppmacro.c, crtstuff.c, cselib.c, cselib.h, defaults.h, df.c, dominance.c, et-forest.c, expmed.c, expr.c, expr.h, fix-header.c, function.h, gcc.c, gcse.c, genattrtab.c, genautomata.c, genconditions.c, genemit.c, genflags.c, gengtype.c, gengtype.h, genopinit.c, genrecog.c, gensupport.c, ggc-zone.c, graph.c, haifa-sched.c, input.h, integrate.c, langhooks-def.h, langhooks.c, langhooks.h, line-map.c, line-map.h, local-alloc.c, optabs.c, optabs.h, postreload.c, ra.h, recog.c, reg-stack.c, regmove.c, reload.c, reorg.c, rtl.c, sched-deps.c, sched-ebb.c, sdbout.c, system.h, target.h, targhooks.c, toplev.h, tree-inline.c, unwind-pe.h, unwind.h, varray.c, varray.h: Update copyright. 2004-01-21 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Update copyright. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. 2004-01-21 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * fixinc/inclhack.def (hpux10_stdio_declarations, ultrix_const3, ultrix_locale, ultrix_stdlib, ultrix_strings, ultrix_sys_time, ultrix_unistd): New hacks. * fixinc/tests/base/stdio.h (HPUX10_STDIO_DECLARATIONS_CHECK, ULTRIX_CONST2_CHECK): Add checks. * fixinc/tests/base/stdlib.h (ULTRIX_STDLIB_CHECK): Likewise. * fixinc/tests/base/strings.h (ULTRIX_STRINGS2_CHECK): Likewise. * fixinc/tests/base/unistd.h (ULTRIX_UNISTD_CHECK): Likewise. * fixinc/tests/base/sys/time.h (ULTRIX_SYS_TIME_CHECK): Likewise. * fixinc/tests/base/locale.h: New file. * fixinc/fixincl.x: Rebuilt. 2004-01-21 Andreas Jaeger <aj@suse.de> Michael Matz <matz@suse.de> * doc/extend.texi (Extended Asm): Clarify memory clobber. 2004-01-21 Jakub Jelinek <jakub@redhat.com> * crtstuff.c (frame_dummy, __do_global_ctors_1): Call _Jv_RegisterClasses through a function pointer. 2004-01-21 Falk Hueffner <falk@debian.org> PR target/12898 * config/alpha/alpha.c (alpha_emit_set_const_1): If no_new_pseudos, use gen_rtx_SET directly for SImode constants which need multiple instructions to emit. 2004-01-21 Inaoka Kazuhiro <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (CPP_SPEC): Define. 2004-01-21 Zack Weinberg <zack@codesourcery.com> * c-decl.c (merge_decls): Kill different_binding_level and different_tu arguments; simplify throughout. (duplicate_decls): Likewise. (pushdecl, merge_translation_unit_decls): Update calls to duplicate_decls. 2004-01-20 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> * Makefile.in (pretty-print.o): Depend on $(CONFIG_H) and $(SYSTEM_H). (print-rtl1.o): Depend on $(SYSTEM_H). 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12730 * configure.ac: Delete definition and subsitution of docdir. Add info, man, srcman and srcinfo to target hooks. Create doc/ directory. * configure: Regenerate. * Makefile.in: Don't substitute docdir and delete all references throughout. (MAKEINFOFLAGS): Define. (stmp-docobjdir): Delete. (INFOFILES, MANFILES): Define. (info): Call lang.info, srcinfo and lang.srcinfo. (generated-manpages): Call lang.man, srcman and lang.srcman. (srcinfo, srcman): New rules to copy back files to source directory. (doc/%.info, doc/%.dvi, doc/%.1, doc/%.7): New implict rule. (install-man): Revamp rule. (clean): Update dvi directory. (distclean): Delete TAGS from front end directorys. (maintainer-clean): Delete all document files in source directory. objc/Make-lang.in (objc.man, objc.info): Dummy entries. (objc.srcman, objc.srcinfo): Likewise. 2004-01-20 Bruce Korb <bkorb@gnu.org> * fixinc/inclhack.def(math_exception): bypass only for glibc. (matherr_decl): rename & relocate as exception_structure. This fix must precede the math_exception fix. 2004-01-20 Roger Sayle <roger@eyesopen.com> * fold-const.c (fold_convert): Rename to fold_convert_const. (fold_convert_const): Change arguments to take a tree_code, a type and the operand/expression to be converted. Return NULL_TREE if no simplification is possible. Add support for FIX_CEIL_EXPR and FIX_FLOOR_EXPR in addition to FIX_TRUNC_EXPR. (fold): Handle FIX_CEIL_EXPR and FIX_FLOOR_EXPR. Adjust call to fold_convert to match new fold_convert_const. Avoid modifying the tree passed to fold in-place. 2004-01-21 Alan Modra <amodra@bigpond.net.au> * config/rs6000/sysv4.h (DWARF2_FRAME_REG_OUT): Define. * dwarf2out.c (output_cfi): Map regs using DWARF2_FRAME_REG_OUT. * doc/tm.texi (DWARF_FRAME_REGNUM, DWARF2_FRAME_REG_OUT): Document. 2004-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa-protos.h (compute_frame_size): Use HOST_WIDE_INT for frame sizes. * pa.c (store_reg, store_reg_modify, load_reg, set_reg_plus_d): Likewise. Handle frames larger than 0x7fffffff on 64-bit ports. (emit_move_sequence): Check scratch_reg first in various if statements. Extend source simplification to handle all 64-bit CONST_INTs. (pa_output_function_prologue): Use HOST_WIDE_INT_PRINT_DEC for printing frame size. (hppa_expand_prologue, hppa_expand_epilogue): Use HOST_WIDE_INT for frame offset calculations. * pa.h (NEW_HP_ASSEMBLER): Add comment. (MAX_LEGIT_64BIT_CONST_INT, MIN_LEGIT_64BIT_CONST_INT, LEGITIMATE_64BIT_CONST_INT_P): Define. (LEGITIMATE_CONSTANT_P): Use LEGITIMATE_64BIT_CONST_INT_P. Treat any CONST_INT as legitimate during and after reload. (VAL_32_BITS_P, INT_32_BITS): Define. (LEGITIMIZE_RELOAD_ADDRESS): Handle large frame offsets. 2004-01-20 Jan Hubicka <jh@suse.cz> * emit-rtl.c (verify_rtx_sharing, copy_insn_1, emit_copy_of_insn_after, emit_copy_of_insn_after): Clobbers containing hard regs are shared. (gen_hard_reg_clobber): New function. (hard_reg_clobbers): New array. * genemit.c (gen_exp): Use gen_hard_reg_clobber. (copy_rtx): Do not copy clobbers containing hard regs. * rtl.h (gen_hard_reg_clobber): Declare. 2004-01-20 Jan Hubicka <jh@suse.cz> * varray.c: Include hashtab.h (varray_descriptor): New structure. (hash_descriptor, eq_descriptor, varray_descriptor, print_statistics): New static functions (varray_init, varray_grow): Update statistics (dump_varray_statistics): New function. * varray.h (dump_varray_statistics): Declare. * toplev.c (finalize): Call it. * Makefile.in (varray.o): Add dependency. 2004-01-20 Jan Hubicka <jh@suse.cz> * cselib.c: Include alloc-pool.h (empty_vals, empty_elt_lists, empty_elt_loc_lists): Kill. (elt_loc_list_pool, elt_list_pool, cselib_val_pool): Declare. (new_elt_list, new_elt_loc_list, unchain_one_elt_list, unchain_one_elt_loc_list_pool, unchain_one_value, new_cselib_val): Simplify using allocpool. (cselib_init): Initialize allocpools. (cselib_finish): Finish allocpools. * Makefile.in (cselib.o): Depend on alloc-pool.h 2004-01-20 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_load_call_address): Make the call insn use $gp if it could be calling a lazy binding stub. 2004-01-20 Kazu Hirata <kazu@cs.umass.edu> * config/s390/s390.c (TARGET_PROMOTE_FUNCTION_ARGS): Define. (TARGET_PROMOTE_FUNCTION_RETURN): Likewise. (TARGET_STRUCT_VALUE_RTX): Likewise. * config/s390/s390.h (PROMOTE_FUNCTION_ARGS): Remove. (PROMOTE_FUNCTION_RETURN): Remove. (STRUCT_VALUE): Remove. 2004-01-20 Denis Chertykov <denisc@overta.ru> PR bootstrap/13735 * config/avr/avr.h (BASE_REG_CLASS): Don't permit to use X register as pointer after reload. 2004-01-20 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> PR optimization/12440 * loop.c: Include ggc.h. (loop_optimize): Run garbage collector between optimization of loops. * Makefile.in (loop.o): Add GGC_H dependency. 2004-01-20 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (function_arg) Handle vector register special in function without prototype. (function_arg_advance): Vector parameters get always GPRs allocated for the linux64 target. 2004-01-20 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_M32R2). Test for TARGET_M32R2_MASK not TARGET_M32RX_MASK. 2004-01-20 Eric Botcazou <ebotcazou@libertysurf.fr> PR target/13557 * config/sparc/sparc.c (function_arg): Reorder the cases. 2004-01-19 Per Bothner <per@bothner.com> Move cpp_reader's line_maps field to a shared global. * cpphash.h (cpp_reader): Rename line_maps field to line_table and change the type to a pointer rather than a struct. * cppinit.c (cpp_push_main_field): Adjust accordingly. * cpplib.c (do_include_common, _cpp_do_file_change, cpp_get_callbacks): Likewise. * cppfiles.c (validate_pch): Likewise. * cppmacro.c (_cpp_warn_if_unused_macro, _cpp_builtin_macro_text): Likewise. * cpperror.c (print_location): Likewise. * cpplib.h (cpp_create_reader): New line_maps pointer parameter. * cppinit.c (cpp_create_reader): Handle new parameter. (cpp_destroy): Don't free line_maps - that's no longer our job. * input.h (line_table): New variable. * toplev.c (line_table): Declare variable. (general_init): Initialize line_table. * c-opts.c (c_common_init_options): Pass line_table to cpp_create_reader. * fix-header.c (read_scan_file): New local variable line_table. Initialize, and pass it to cpp_create_reader. * Makefile.in (LIBS, LIBDEPS): Add libcpp.a. (C_AND_OBJC_OBJS, fix-header): Remove redundant libcpp.a. 2004-01-19 Per Bothner <per@bothner.com> Implement a cache for linemap_lookup. * line-map.h (struct_line_maps): Add cache field. * line-map.c (linemap_init): Zero cache field. (linemap_add): Set cache field to offset of newly allocated map. (linemap_lookup): Use and set cache field. 2004-01-20 Kaz Kojima <kkojima@gcc.gnu.org> PR optimization/13567 * cse.c (cse_basic_block): Call cse_insn with a non-null libcall_insn for the last SET insn of a no-confilict block. 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (target_noncanonical, program_transform_name): Use immediate define instead of deferred. (GCC_INSTALL_NAME, GCC_TARGET_INSTALL_NAME, CPP_INSTALL_NAME, PROTOIZE_INSTALL_NAME, UNPROTOIZE_INSTALL_NAME, GCOV_INSTALL_NAME, GCCBUG_INSTALL_NAME): Define via a immediate $(shell) instead of deferred backquote. 2004-01-20 Joseph S. Myers <jsm@polyomino.org.uk> * c-decl.c (c_init_decl_processing): Set pedantic_lvalues to true unconditionally. * c-typeck.c (unary_complex_lvalue, pedantic_lvalue_warning): Remove. (build_unary_op, build_modify_expr): Don't handle extended lvalues. (build_component_ref, build_conditional_expr): Call non_lvalue instead of pedantic_non_lvalue. (build_c_cast): Don't condition use of non_lvalue on pedantic. * fold-const.c (fold): Don't check pedantic directly for COMPOUND_EXPR. Ensure that results for COMPOUND_EXPR are passed to pedantic_non_lvalue. * doc/extend.texi: Remove documentation of extended lvalues. 2004-01-19 Roger Sayle <roger@eyesopen.com> PR optimization/5263 * simplify-rtx.c (associative_constant_p): Delete. (simplify_associative_operation): Rewrite to linearize terms, and attempt to simplify new term against both left and right subterms. (simplify_binary_operation): Call swap_commutative_operands_p on op0 and op1, not trueop0 and trueop1. Move the initialization of trueop0 and trueop1 down to where first needed. (simplify_relational_operation): Likewise. * rtlanal.c (commutative_operand_precedence): Also order constant operands using avoid_constant_pool_reference. 2004-01-19 Richard Henderson <rth@redhat.com> * config/alpha/alpha.c (aligned_memory_operand): Check MEM_ALIGN, don't check memory mode. (unaligned_memory_operand): Likewise. (reload_inqi, reload_inhi, reload_outqi, reload_outhi): Don't abort for op0 not MEM. * config/alpha/alpha.c (alpha_expand_mov_nobwx): If the destination is not a reg, copy to a scratch first. (aligned_loadqi, aligned_loadhi, unaligned_loadqi, unaligned_loadhi, unaligned_loadqi_le, unaligned_loadqi_be, unaligned_loadhi_le, unaligned_loadhi_be): Expect op0 in DImode; don't SUBREG. (reload_inqi, reload_inhi): Fix mode of op0. (reload_inqi_help, reload_inhi_help, reload_outqi_help, reload_outhi_help): Likewise. Use define_insn_and_split. * config/alpha/alpha.md (call peepholes): Check for REG_NORETURN as well as $29 dead. 2004-01-19 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): New. Emit "tls_object" for thread-local objects. * config/sparc/sparc.c (sparc_elf_asm_named_section): Emit "#tls" for thread-local sections. * configure.ac (thread-local checks): Specify --fatal-warnings in every binutils-specific checks. For sparc*-*-*, test whether the OS is Solaris and the tools are native and act accordingly. * configure: Rebuild. 2004-01-19 Jeff Law <law@redhat.com> * contrib.texi: Update Paolo Carlini's entry. New entries for Jerry Quinn and Petur Runolfsson. 2004-01-19 Roger Sayle <roger@eyesopen.com> * config/i386/i386.md (*movhi_1, *movqi_1): When optimizing for size, don't use the larger zero-extending loads. 2004-01-19 Richard Henderson <rth@redhat.com> * alpha.h (HARD_REGNO_MODE_OK): Disallow SImode in FP regs. * alpha.md (UNSPEC_NT_LDA): Remove. (UNSPEC_CVTLQ, cvtlq): New. (extendsidi2_1): Rename from extendsidi2_nofix; remove f/f. (extendsidi2_fix): Remove. (extendsidi2 splitter): Use cvtlq. (extendsidi2 fp peepholes): Remove. (cvtql): Use SFmode instead of SImode. (fix_trunc?fsi): Update to match. (floatsisf2_ieee, floatsisf2, floatsidf2_ieee, floatsidf2): New. (movsi): Rename from movsi_nofix, remove f alternatives. (movsi_nt_vms): Similarly. (movsi_fix, movsi_nt_vms_fix): Remove. (nt_lda): Remove. * alpha.c (alpha_expand_prologue): Use adddi3, not nt_lda. 2004-01-19 Jan Hubicka <jh@suse.cz> * cgraph.c (cgraph_remove_node): Fix removal from linked list. * cgraphunit.c (cgraph_finalize_compilation_unit): Clear next_needed list. (cgraph_remove_unreachable_nodes): New function (cgraph_decide_inlining_of_small_function): Fix pasto. (cgraph_decide_inlining_incrementally): Fix pasto. (cgrpah_decide_inlining): Likewise; remove unreachable nodes. 2004-01-19 Steven Bosscher <stevenb@suse.de> * gengtype.c (header_file): Make it static. (write_types_process_field, write_enum_defn): Minor whitespace fixes. * gengtype.h (header_file): No longer extern. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (CASE_VECTOR_PC_RELATIVE): Provide the default. * expr.c (CASE_VECTOR_PC_RELATIVE): Remove. * stmt.c (CASE_VECTOR_PC_RELATIVE): Likewise. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * stmt.c (HAVE_casesi): Define it not already defined. (HAVE_tablejump): Likewise. (expand_end_case_type): Resort to the binary tree method if neither casesi or tablejump is available. 2004-01-18 Daniel Jacobowitz <drow@mvista.com> * final.c (final_scan_insn): Make non-static again. * output.h (final_scan_insn): Re-add prototype. * config/arc/arc.c (arc_output_function_epilogue): Add NULL to final_scan_insn call. * config/cris/cris.c (cris_target_asm_function_epilogue): Likewise. * config/mips/mips.c (mips_output_conditional_branch): Likewise. * config/pa/pa.c (output_lbranch, output_call): Likewise. * config/sh/sh.c (print_slot): Likewise. * config/sparc/sparc.c (sparc_nonflat_function_epilogue): Likewise. (output_sibcall, sparc_flat_function_epilogue): Likewise. 2004-01-18 Jan Hubicka <jh@suse.cz> * basic-block.h (try_redirect_by_replacing_jump): Declare. * cfgcleanup.c (try_optimize_cfg): Use it. * cfgrtl.c (try_redirect_by_replacing_jump): Export. (rtl_redirect_edge_and_branch, cfg_layout_redirect_edge_and_branch): Kill hack. (cfg_layout_merge_blocks): Use try_redirect_by_replacing_jump. Revert: 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * config/rs6000/rs6000.h (STRICT_ARGUMENT_NAMING): Remove. 2004-01-18 Kazu Hirata <kazu@cs.umass.edu> * defaults.h (ASM_OUTPUT_ADDR_VEC_ELT): Fix the computation of the size of a pointer in bytes. 2004-01-18 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix thinko of reusing live "next" variable, which could lead to an infinite loop. 2004-01-18 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/altivec.h: Wrap C++ functions in extern "C++" block. * config/rs6000/rs6000.c (rs6000_special_round_type_align): Check for NULL in the chain and remove repeated code. 2004-01-18 Jan Hubicka <jh@suse.cz> * coverage.c (checksum_string): Rename to ... (coverage_checksum_string): ... this one, Use crc32_string; recognize names containing random number and zero the number out in order to get match. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_got_alias_set): Mark for PCH. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/cpp.texi, doc/extend.texi, doc/frontends.texi, doc/gcov.texi, doc/gty.texi, doc/install.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/rtl.texi, doc/sourcebuild.texi, doc/standards.texi, doc/tm.texi, doc/trouble.texi: Remove trailing whitespace. 2004-01-18 Richard Sandiford <rsandifo@redhat.com> PR target/7618 * config/mips/mips.c: Include cfglayout.h. (TARGET_ASM_OUTPUT_MI_THUNK, TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define. (mips_unspec_offset_high): Add temporary register argument. (mips_load_call_address): New function, split out from... (mips_expand_call): ...here. (mips_output_cplocal): New function. (mips_output_function_prologue, mips_output_function_epilogue): Use it. (mips_emit_loadgp): New function, split out from... (mips_expand_prologue): ...here. (mips_output_mi_thunk): New function. 2004-01-17 Bernardo Innocenti <bernie@develer.com> * longlong.h (mc68020, __mc68030__, mc68030, __mc68040__, mc68040, mcpu32): Remove redundant checks for implied target predefines. 2004-1-17 Andrew Pinski <pinskia@physics.uc.edu> * config/rs6000/rs6000.c (rs6000_special_round_type_align): Return type is unsigned int not int. * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Likewise. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/contrib.texi, doc/cppenv.texi, doc/extend.texi, doc/install.texi, doc/invoke.texi, doc/tm.texi: Consistently use "GNU/Linux" and "Microsoft Windows" terminology. 2004-01-18 Joseph S. Myers <jsm@polyomino.org.uk> * doc/c-tree.texi, doc/compat.texi, doc/cpp.texi, doc/cppopts.texi, doc/extend.texi, doc/install.texi, doc/interface.texi, doc/invoke.texi, doc/libgcc.texi, doc/md.texi, doc/objc.texi, doc/rtl.texi, doc/tm.texi, doc/trouble.texi: Use @smallexample instead of @example. 2004-01-17 Ziemowit Laski <zlaski@apple.com> * objc/objc-act.c (build_objc_method_call): Use target hooks instead of macros to determine if ..._stret dispatchers should be used (NeXT runtime only). 2004-01-17 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Fix mistake in my last patch. Use XEXP (x, 0) to get a LABEL_REF's CODE_LABEL. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * rtl.h (emit_insn_before_sameloc, emit_jump_insn_before_sameloc) (emit_call_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): New macros. * reload1.c (emit_reload_insns): Use them. * emit-rtl.c (emit_insn_before_sameloc, emit_insn_after_sameloc) (emit_jump_insn_after_sameloc, emit_call_insn_after_sameloc): Check for NULL PATTERN. 2004-01-17 Daniel Jacobowitz <drow@mvista.com> * final.c (SEEN_BB, SEEN_NOTE, SEEN_EMITTED): Define. (final_scan_insn): Update to take an additional SEEN argument. Emit a line note after the prologue. Make static. (line_note_exists): Remove. (final): Don't initialize line_note_exists. Update call to final_scan_insn. * output.h (final_scan_insn): Remove prologue. * function.c (set_insn_locators): Update comment. (thread_prologue_and_epilogue_insns): Add a comment. 2004-01-17 Andrew Pinski <pinskia@physics.uc.edu> PR target/10781 * config/rs6000/rs6000-protos.h (rs6000_special_round_type_align): Prototype. * config/rs6000/rs6000.c (rs6000_special_round_type_align): New function. * config/rs6000/linux64.h (ROUND_TYPE_ALIGN): Use it. * config/rs6000/aix.h (ROUND_TYPE_ALIGN): Likewise. * config/rs6000/darwin.h (ROUND_TYPE_ALIGN): Likewise. 2004-01-17 Jan Hubicka <jh@suse.cz> * toplev.c (rest_of_handle_reorder_blocks): Fix pasto in previous commit. * toplev.c (HAVE_conditional_execution): Provide default. (rest_of_handle_reorder_blocks): For conditional_execution target update liveness once after all transformations (rest_of_compilation): Do crossjumping before ce3. 2004-01-17 Geoffrey Keating <geoffk@apple.com> * alias.c (new_alias_set): Mark last_alias_set for PCH. (get_varargs_alias_set): Rename 'set' to 'varargs_set' and mark it for PCH. (get_frame_alias_set): Likewise, except rename it to 'frame_set'. * config/rs6000/rs6000.c (rs6000_sr_alias_set): Mark for PCH. (get_TOC_alias_set): Mark 'set' for PCH. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * cfgrtl.c (try_redirect_by_replacing_jump): Optimize tablejumps even after reload, just don't remove the actual jump tables. 2004-01-17 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_subrange_type): Renamed from is_ada_subrange_type(). Remove checks for is_ada() and TREE_UNSIGNED. (subrange_type_die): Emit a byte_size attribute if the subrange type size is different from the base type size. (modified_type_die): Replace call to is_ada_subrange_type() by call to is_subrange_type(). 2004-01-16 Andrew Pinski <pinskia@physics.uc.edu> * config/sh/sh.c: Include ggc.h. 2004-01-16 Geoffrey Keating <geoffk@apple.com> * Makefile.in (MD5_H): New. (fold-const.o): Depend on md5.h. (dwarf2out.o): Likewise. (cppfiles.o): Likewise. * cppfiles.c: Include md5.h. (should_stack_file): Check against list read from PCH file. (struct pchf_data): New. (pchf): New variable. (struct pchf_adder_info): New. (pchf_adder): New. (pchf_save_compare): New. (_cpp_save_file_entries): New. (_cpp_read_file_entries): New. (struct pchf_compare_data): New. (pchf_compare): New. (check_file_against_entries): New. * cpphash.h (_cpp_save_file_entries): Prototype. (_cpp_read_file_entries): Prototype. * cpppch.c (cpp_write_pch_state): Write the list of headers. (cpp_read_state): Read the list of headers. 2004-01-17 Jan Hubicka <jh@suse.cz> * c-common.c (c_estimate_num_insns_1): Handle builtin_constant_p and builtin_expect specially. * params.def (PARAM_MAX_INLINE_INSNS_AUTO): Set to 100. (PARAM_LARGE_FUNCTION_INSNS): Set to 3000. * invoke.texi (max-inline-insns-single): Set to 100. (large-function-insns): Set to 3000. 2004-01-16 Eric Christopher <echristo@redhat.com> Chandrakala Chavva <cchavva@redhat.com> * cppcharset.c (one_iso88591_to_utf8): New function. (convert_iso88591_utf8): Ditto. Use. (conversion_tab): Use. (_cpp_input_to_utf8): New function. (_cpp_init_iconv_buffer): Ditto. (_cpp_close_iconv_buffer): Ditto. * cpphash.h: Prototype new functions. (cpp_buffer): Add input_cset_desc. * cppinit.c: Add input_charset default. * cpplib.c (cpp_push_buffer): Support init and close of iconv. * cpplib.h (cpp_options): Add input_charset. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_SECTION_NAME): Poison. * config/alpha/unicosmk.h: Remove a commented-out definition of ASM_OUTPUT_SECTION_NAME. * config/stormy16/stormy16.h: Likewise. 2004-01-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> * fixinc/inclhack.def (alpha___extern_prefix): Renamed to ... (alpha___extern_prefix_sys_stat): ... this. Apply to <sys/mount.h>, too. Tweak to match more variations. * fixinc/tests/base/sys/stat.h: Adapt for new hackname. * fixinc/inclhack.def (alpha___extern_prefix, alpha___extern_prefix_standards): New hacks to obey __PRAGMA_EXTERN_PREFIX. * fixinc/tests/base/testing.h [ALPHA___EXTERN_PREFIX_CHECK]: New test. * fixinc/tests/base/standards.h: Likewise. * fixincl/inclhack.def (alpha_pthread): Tweak to match more variations. New testcase. * fixinc/tests/base/pthread.h: Handle it. * fixincl/inclhack.def (bad_lval): Sort file list. Add many missing files up to Tru64 UNIX V5.1B. * gcc/fixinc/tests/base/libgen.h: Renamed to ... * gcc/fixinc/tests/base/dirent.h: ... this to match new file list order. * fixinc/fixincl.x: Regenerate. 2004-01-16 Mark Mitchell <mark@codesourcery.com> * version.c (version_string): Change to 3.5.0. * doc/include/gcc-common.texi (version-GCC): Likewise. 2004-01-16 Jan Hubicka <jh@suse.cz> * i386.md (load_tp_di): Fix pasto. PR opt/13608 * i386.c (ix86_compute_frame_layout): Fix for alloca on leaf function. * c-pretty-print.c (pp_c_type_cast, pp_c_abstract_declarator, pp_c_character_constant, pp_c_floating_constant, pp_c_additive_expression, pp_c_shift_expression, pp_c_equality_expression, pp_c_and_expression, pp_c_exclusive_or_expression, pp_c_inclusive_or_expression, pp_c_logical_and_expression): Remove inline modifier. * dwarf2out.c (get_AT): Likewise. * et-forest.c (et_splay): Likewise. * ra.h (ra_alloc, ra_calloc): Likewise 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * config/frv/frv-protos.h: Fix comment formatting. * config/frv/frv.c: Likewise. * config/frv/frv.h: Likewise. * config/frv/frv.md: Likewise. * config/frv/frvbegin.c: Likewise. * config/frv/frvend.c: Likewise. 2004-01-16 Kazu Hirata <kazu@cs.umass.edu> * system.h (LINKER_DOES_NOT_WORK_WITH_DWARF2): Poison. * doc/tm.texi (PREFERRED_DEBUGGING_TYPE): Don't mention LINKER_DOES_NOT_WORK_WITH_DWARF2. (LINKER_DOES_NOT_WORK_WITH_DWARF2): Remove. 2004-01-16 J"orn Rennecke <joern.rennecke@superh.com> PR 11864 * postreload.c (reload_cse_simplify_operands): Don't remove implicit extension from LOAD_EXTEND_OP. 2004-01-16 Jan Hubicka <jh@suse.cz> PR opt/11350 * cfgcleanup.c (try_optimize_cfg): Suppress tablejump removal after reload. * cfgrtl.c (rtl_can_merge_blocks, cfglayout_can_merge_blocks, rtl_try_redirect_by_replacing_branch): Likewise. 2004-01-15 Geoffrey Keating <geoffk@apple.com> PR pch/13689 * alias.c (struct alias_set_entry): Mark for GC. (alias_sets): Make static, mark for GC. (record_alias_subset): Use GC to allocate alias structures. * varray.c (element): Make generic varrays GCed. PR pch/13361 * c-typeck.c (constructor_asmspec): Delete. (struct initializer_stack): Delete field 'asmspec'. (start_init): Delete saving of asmspec. (finish_init): Don't update constructor_asmspec. * dwarf2out.c (rtl_for_decl_location): Duplicate string from tree. * stmt.c (expand_asm): Duplicate strings from tree. (expand_asm_operands): Likewise. * tree.c (tree_size): Update computation of size of STRING_CST. (make_node): Don't make STRING_CST nodes. (build_string): Allocate string with tree node. * tree.def (STRING_CST): Update comment. * tree.h (TREE_STRING_POINTER): Adjust for change to STRING_CST. (tree_string): Place contents of string in tree node. * config/sh/sh.c (sh_handle_sp_switch_attribute): Duplicate string from tree. * config/rs6000/rs6000.c (rs6000_va_arg): No need to special-case altivec operands. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * c-common.h: Fix comment formatting. * c-cppbuiltin.c: Likewise. * c-pragma.c: Likewise. * calls.c: Likewise. * collect2.c: Likewise. * cppcharset.c: Likewise. * cpptrad.c: Likewise. * dbxout.c: Likewise. * defaults.h: Likewise. * dwarf2out.c: Likewise. * fold-const.c: Likewise. * genautomata.c: Likewise. * genconditions.c: Likewise. * genflags.c: Likewise. * gengtype.c: Likewise. * integrate.c: Likewise. * loop.c: Likewise. * predict.c: Likewise. * sdbout.c: Likewise. 2004-01-15 Zack Weinberg <zack@codesourcery.com> * config/ia64/ia64.md (*movti_internal): C output template extracted to ia64.c. (*movti_internal_reg): Delete. (reload_inti, reload_outti): Use the correct mode on operand 2 in the first place, don't fix it up in the output template. (movtf, reload_ointf, reload_outtf): New expanders. (*movtf_internal): New define_insn_and_split. * config/ia64/ia64.c (ia64_split_timode): Rename to ia64_split_tmode; make static; do not hand TFmode CONST_DOUBLEs to split_double. (ia64_split_tmode_move): New function, body mostly pulled from ia64.md:*movti_internal. (ia64_function_arg_words): New function, extracted common logic from ia64_function_arg et seq. (ia64_function_arg_offset): Likewise. Handle correctly the case of a scalar quantity 16 bytes wide with only 8-byte alignment. (ia64_function_arg, ia64_function_arg_partial_nregs) (ia64_function_arg_advance): Use ia64_function_arg_words and ia64_function_arg_offset. (ia64_function_value): TCmode does not go in float regs. (ia64_secondary_reload_class): Also handle TFmode. * config/ia64/ia64-protos.h: Remove prototype for ia64_split_timode; add prototype for ia64_split_tmode_move. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in (MAINT): Make it an immediate assignment. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Remove useless calls to gen_lowpart. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/coff.h: Replace Hitachi with Renesas. * config/h8300/elf.h: Likewise. * config/h8300/h8300-protos.h: Likewise. * config/h8300/h8300.c: Likewise. * config/h8300/h8300.h: Likewise. * config/h8300/h8300.md: Likewise. * config/h8300/lib1funcs.asm: Likewise. 2004-01-15 Andrew Pinski <apinski@apple.com> * config/rs6000/rs6000.c (uses_TOC): Wrap #if TARGET_ELF around it. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (h8300_return_in_memory): New. (TARGET_STRUCT_VALUE_RTX): Likewise. (TARGET_RETURN_IN_MEMORY): Likewise. * config/h8300/h8300.h (STRUCT_VALUE): Remove. (RETURN_IN_MEMORY): Likewise. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> PR optimization/13375 * gcse.c (handle_avail_expr): Just return if the source is not a single set. 2004-01-15 Richard Earnshaw <rearnsha@arm.com> Daniel Jacobowitz <drow@mvista.com> * arm/lib1funcs.asm (ARM_FUNC_START): Correct interworking case. (EQUIV): Define. (ARM_FUNC_ALIAS): New macro. * arm/ieee754-df.S (gedf2, ledf2, nedf2, eqdf2): Use it. * arm/ieee754-sf.S (gesf2, lesf2, nesf2, eqsf2): Use it. 2004-01-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> PR optimization/12372 * calls.c (expand_call): Add call_fusage data for stack arguments in constant calls. 2004-01-15 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (uses_TOC): Correct comment. Make static. (rs6000_elf_declare_function_name): Formatting. * config/rs6000/rs6000-protos.h (uses_TOC): Remove declaration. 2004-01-15 Jan Hubicka <jh@suse.cz> PR bootstrap/13692 * sched-deps.c (sched_analyze_1, sched_analyze_2): Fix thinko in previous patch. 2004-01-15 Richard Henderson <rth@redhat.com> * config/alpha/alpha.h (REG_ALLOC_ORDER): Reorder fp regs after integer regs of the same call-savedness. 2004-01-15 Andreas Schwab <schwab@suse.de> PR bootstrap/13562 * config/m68k/m68k.c (output_move_const_into_data_reg): Clear cc status for NOTB/NOTW/NEGW methods. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Update dump file names. Fix a typo. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * builtins.c (expand_builtin_va_end): Don't use EXPAND_BUILTIN_VA_END. * system.h (EXPAND_BUILTIN_VA_END): Poison. * config/d30v/d30v.h: Remove a commented-out definition of EXPAND_BUILTIN_VA_END. * config/stormy16/stormy16.h: Likewise. 2004-01-15 Kazu Hirata <kazu@cs.umass.edu> * system.h (STRUCT_VALUE_INCOMING_REGNUM): Poison. * targhooks.c (default_struct_value_rtx): Don't use STRUCT_VALUE_INCOMING_REGNUM. 2004-01-15 Kelley Cook <kcook@gcc.gnu.org> PR bootstrap/12744 * configure.in: Revamp enable-generated-files-in-srcdir rule to define GENINSRC and not parsedir. Define srcextra as a langhook. * configure: Regenerate. * Makefile.in: Suppress default .l.c rule. Don't substitute parsedir and delete all references throughout. Conditionally define rule for srcextra dependent on GENINSRC. (stmp-docobjdir): Delete. (c-parse.o, gengtype-lex.o, gengtype-yacc.o): Use implicit build rule. (srcextra): Copy c-parse.y, c-parse.c, gengtype-lex.c, gengtype-yacc.c, and gengtype-yacc.h back to source directory. (maintainer-clean): Delete all parse files in source directory. (distclean): Delete generated files. * objc/Make-lang.in (objc-parse.o): Use implicit build rule. (objc-parse.c, objc-parse.y): Don't use parsedir. (objc.srcextra): Copy objc-parse.y and objc-parse.c back to source directory if requested. (po-generated): Don't use parsedir. (objc.maintainer-clean): Delete above files from source directory. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi (FUNCTION_VALUE): Fix a typo. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * doc/tm.texi: Replace RETURN_IN_MEMORY with TARGET_RETURN_IN_MEMORY. 2004-01-15 Jan Hubicka <jh@suse.cz> * builtins.c (std_expand_builtin_va_arg): Align operand when needed. * i386.c (init_cumulative_args): Set warn_sse; fix handling of variadic functions accepting SSE arguments (function_arg): Warn only when asked to warn. * i386.h (ix86_args): Add warn_sse/warn_mmx fiels. 2004-01-14 Joseph S. Myers <jsm@polyomino.org.uk> * c-parse.in (stmts_and_decls): Make label at end of compound statement a hard error. 2004-01-14 Jan Hubicka <jh@suse.cz> * cgraph.c (create_edge): Use local.redefined_extern_inline. * cgraph.h (cgraph_local_info): Sort fields by size; add redefined_extern_inline (cgraph_global_info): Sort fields by size. (cgraph_node): Likewise. * cgraphunit.c (cgraph_finalize_function): Se local.redefined_extern_inline on redefinition. (cgraph_analyze_function): Use it; fix formating. 2004-01-14 Jan Hubicka <jh@suse.cz> PR c++/10776 * sched-deps.c (trye_dependency_cache, anti_dependency_cache, outptu_dependency_cache, forward_dependency_cahe): Trun to vectors of bitmaps (cache_size): New variable (add_dependence): Update use; canonize early memory locations (sched_analyze_1): Likewise. (sched_analyze_2): Likewise. (init_dependency_caches): Initialize bitmaps. (free_dependency_caches): Free bitmaps 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * calls.c: Replace STRICT_ARGUMENT_NAMING in comments with targetm.calls.strict_argument_naming(). * target.h: Likewise. 2004-01-14 Richard Henderson <rth@redhat.com> PR debug/13231 * dwarf2out.c (dwarf2out_stack_adjust): Skip prologue and epilogue instructions. 2004-01-14 Richard Henderson <rth@redhat.com> PR c++/12491 * except.c (struct eh_region): Add u.fixup.resolved. (resolve_one_fixup_region): Split out from ... (resolve_fixup_regions): ... here. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (STRUCT_VALUE): Change to 0. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/alpha/alpha.h (STRUCT_VALUE): Remove. * config/alpha/vms.h (STRUCT_VALUE_REGNUM): Remove #undef. (STRUCT_VALUE): Remove. 2004-01-14 Steven Bosscher <stevenb@suse.de> * system.h: Poison PROMOTED_MODE * integrate.c (expand_inline_function): Don't mention the PROMOTED_MODE. * loop.c (update_giv_derive): Same. * tree.h (DECL_RTL): Same. 2004-01-14 J"orn Rennecke <joern.rennecke@superh.com> PR target/9365 * sh.c (gen_block_redirect): Add special handling of RETURN. (gen_far_branch) Don't call gen_stuff_delay_slot if there is no far branch target (i.e. it's a return). 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * regrename.c (find_oldest_value_reg): Fix a warning. 2004-01-14 Richard Earnshaw <rearnsha@arm.com> PR bootstrap/12527 * config.gcc (arm*-*-linux*): Don't include unknown-elf.h in tm_file. Move linux-gas.h and linux-elf.h before aout.h. * arm/arm.h (INITIALIZE_TRAMPOLINE): Only define if not already. * arm/linux-elf.h (SUBTARGET_CPU_DEFAULT): Define. 2004-01-14 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use GEN_INT instead of gen_rtx (CONST_INT, VOIDmode, ...). 2004-01-14 Richard Earnshaw <rearnsha@arm.com> * regrename.c (find_oldest_value_reg): If the replacement uses multiple hard registers, check that all of them are in CLASS. 2004-01-14 Jan Hubicka <jh@suse.cz> * alias.c (get_alias_set): Initialize alias set to 0 when subset is impossible. 2004-01-14 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Define MAINT from --enable-maintainer-mode. 2004-01-14 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (rs6000_stack_info) Calculate always vrsave_mask if TARGET_ALTIVEC. (rs6000_emit_prologue): Emit code for vrsave only if TARGET_ALTIVEC_VRSAVE. (rs6000_emit_epilogue): Likewise. 2004-01-14 Eric Botcazou <ebotcazou@libertysurf.fr> * config/sparc/sparc.md (tie_add32): Fix pasto. (tie_add64): Likewise. 2004-01-14 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * config/i386/i386.md (*addqi_1_slp): Do not access operands[2]. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/iq2000/iq2000-protos.h: Fix comment formatting. * config/iq2000/iq2000.c: Likewise. * config/iq2000/iq2000.md: Likewise. 2004-01-14 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (is_ada_subrange_type): No longer check the TYPE_NAME. (subrange_type_die): Add handle for nameless subrange types. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300-protos.h: Replace do_movsi with h8300_expand_movsi. * config/h8300/h8300.c (do_movsi): Change to h8300_expand_movsi. * config/h8300/h8300.md (movsi): Replace do_movsi with h8300_expand_movsi. (movsf): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.c (dosize): Change to h8300_emit_stack_adjustment. Update callers. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * config/h8300/h8300.md (movstrictqi): Add an alternative with the source being post_inc. Tighten the predicate for the destination to register_operand. (movstricthi): Likewise. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (SHARED_BSS_SECTION_ASM_OP): Poison. * varasm.c (bss_section): Don't use SHARED_BSS_SECTION_ASM_OP. * doc/tm.texi (SHARED_BSS_SECTION_ASM_OP): Remove. 2004-01-14 Jan Hubicka <jh@suse.cz> Partial fix PR c++/12850 * cgraphunit.c (cgraph_finalize_function): Always ggc_collect when at zero nest level. 2004-01-13 Bernardo Innocenti <bernie@develer.com> * config/m68k/netbsd-elf.h (REGISTER_NAMES): Add missing "argptr" pseudo-register. 2004-01-13 Devang Patel <dpatel@apple.com PR debug/7078 * dbxout.c (dbxout_symbol_name): Emit mangled names for NAMESPACE_DECL memebers. 2004-01-13 Andrew Pinski <pinskia@physics.uc.edu> PR c++/12709 * c-common.c (finish_fname_decls): Use the chain only if the tree is an expr_stmt. 2004-01-13 Vladimir Makarov <vmakarov@redhat.com> * rtl.def: Add comment about new option in automata_option. * genautomata.c (PROGRESS_OPTION): New macro. (progress_flag): New global variable. (gen_automata_option): Process `progress'. (transform_insn_regexps, check_unit_distributions_to_automata, make_automaton, NDFA_to_DFA, build_automaton, create_automata, expand_automata, write_automata): Print about the progress only if progress_flag. Remove fflush. (initiate_automaton_gen): Process command line flag `-progress'. * doc/md.texi: Describe the new option. 2004-01-13 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> * cfg.c (dump_bb): Dump entry edges. 2004-01-13 Richard Earnshaw <rearnsha@arm.com> * arm.c (thumb_legitimate_address_p): Only allow constant pool references from SImode. * arm.md (thumb_movhi_insn): Don't allow minipool references. 2004-01-13 Kazu Hirata <kazu@cs.umass.edu> * system.h (TEXT_SECTION): Poison. * varasm.c (text_section): Don't use TEXT_SECTION. * config/sh/sh.c (sh_file_start): Fix a comment typo. * doc/tm.texi (TEXT_SECTION): Remove. 2004-01-13 Ben Elliston <bje@wasabisystems.com> * doc/rtl.texi (Vector Operations): Remove defunct vec_const item. 2004-01-12 James E Wilson <wilson@specifixinc.com> * unwind-libunwind.c: Delete. 2004-01-12 Zack Weinberg <zack@codesourcery.com> PR 13656 * c-decl.c (diagnose_mismatched_decls): Whenever newtype or oldtype is set, set *newtypep or *oldtypep too. Do not set them at the very end. (validate_proto_after_old_defn): Restructure for comprehensibility; make error messages clearer. 2004-01-12 Zack Weinberg <zack@codesourcery.com> * varray.h (VARRAY_POP): Add checking variant, aborts on underflow. (VARRAY_TOP): Use VARRAY_CHECK so the access is bounds-checked. * varray.c: No need to prototype error. (varray_check_failed): Wrap long string onto two lines. (varray_underflow): New function. 2004-01-13 Steven Bosscher <stevenb@suse.de> PR c++/13376 * function.h (struct function): Kill `name' field. (current_function_name): Make it an extern function. * function.c (current_function_name): New function. * graph.c: Update all uses of current_function_name. * gcse.c: Likewise. * config/alpha/alpha.c, config/avr/avr.c, config/c4x/c4x.c, config/mips/mips.c, config/pdp11/pdp11.c: Likewise. * config/ip2k/ip2k.c (function_prologue): Use MAIN_NAME_P instead of a strcmp with "main". 2004-01-13 Jan Hubicka <jh@suse.cz> * c-decl.c (diagnose_mismatched_decls): Fix warning calls. * cgraphunit.c (cgraph_optimize_function): Always do optimize_inline_calls when there is always_inline callee. (cgraph_decide_inlining): Fix formating. * tree-inline.c (inlinable_function_p): Do sorry for alwaysinline functions. (expand_call_inline): Likewise. * toplev.h (sorry): Fix prototype. 2004-01-12 Roger Sayle <roger@eyesopen.com> * builtins.c (expand_builtin_expect_jump): Simplify logic. Handle conditional jumps that drop through to unconditional jumps or the end of the sequence. 2004-01-13 Jan Hubicka <jh@suse.cz> * alias.c (new_alias_set): Construct the alias_set varray. (init_alias_once): Don't do it here. 2004-01-12 Marc Espie <espie@openbsd.org> * system.h: handle YYBYACC like YYBISON. 2004-01-12 Jonathan Merriman <jonm@dualitymedia.com> PR target/10847 * config.gcc: No longer includes conflicting header sparc/sol2.h when building on sparc64-*-openbsd*. 2004-01-12 Andrew Pinski <pinskia@physics.uc.edu> PR debug/13539 * dbxout.c (dbxout_type): Protected inheritance is not private but protected. 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Revert last patch. 2004-01-12 Kazu Hirata <kazu@cs.umass.edu> PR optimization/12508. * combine.c (try_combine): Remove a dead set in a parallel even if its destination is a subreg. Revert: 2003-06-03 Kazu Hirata <kazu@cs.umass.edu> * combine.c (simplify_set): Don't move a subreg in SET_SRC to SET_DEST if WORD_REGISTER_OPERATIONS is not defined. 2004-01-12 Geoffrey Keating <geoffk@apple.com> * real.c: Update copyright date. * emit-rtl.c: Likewise. * rtl.h: Likewise. * dwarf2out.c: Likewise. * config/rs6000/darwin-ldouble.c: Likewise. * config/rs6000/rs6000.md: Likewise. 2004-01-12 David Edelsohn <edelsohn@gnu.org> * config/rs6000/rs6000.c (rs6000_init_libfuncs): Add AIX TFmode to SImode libfuncs. 2004-01-12 Roger Sayle <roger@eyesopen.com> PR middle-end/11397 * varasm.c (assemble_alias): Remove weak aliases from weak_decls. 2004-01-12 Jan Hubicka <jh@suse.cz> PR opt/12826 * loop.c (insert_loop_mem): Preffer VOLATILE memory references to be stored. PR opt/12863 * cfgcleanup.c (label_is_jump_target_p): Move to... * rtlanal.c (label_is_jump_target_p): ... here. * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Fix redirecting of fallthru edges unified with branch edges. 2004-01-12 Richard Earnshaw <rearnsha@arm.com> * simplify-rtx.c (simplify_immed_subreg): Correctly extract the high word of an integral CONST_DOUBLE. 2004-01-12 Paul Brook <paul@codesourcery.com> * simplify-rtx.c (simplify_plus_minus): Always generate canonical form. 2004-01-12 J"orn Rennecke <joern.rennecke@superh.com> PR target/13585 * sh-protos.h (check_use_sfunc_addr): Declare. * sh.c (extract_sfunc_addr, check_use_sfunc_addr): New functions. * sh.md (use_sfunc_addr): Use check_use_sfunc_addr in insn predicate. 2004-01-12 Jan Hubicka <jh@suse.cz> * alias.c: Invlude varray.h (alias_sets): Turn into varray. (get_alias_set_entry): Use VARRAY; mark inline. (mems_in_disjoint_alias_sets_p): Mark inline. (record_alias_subset): Use varray. (init_alias_once): Initialize varray. (new_alias_set): Grow array. * varray.c: Make VARRAY_GENERIC_PTR non GTYized. 2004-01-12 Jan Hubicka <jh@suse.cz> Partial fix for PR opt/10776 II * cselib.c: Include params.h (cselib_invalidate_mem): Limit amount of nonconflicting memory locations. * params.def (PARAM_MAX_CSELIB_MEMORY_LOCATIONS): New. * Makefile.in (cselib.o): Depend on params.h 2004-01-12 Richard Sandiford <rsandifo@redhat.com> * combine.c (combine_simplify_rtx): Don't pass VOIDmode to simplify_unary_operation if the operand has a known mode. 2004-01-12 Hartmut Penner <hpenner@de.ibm.com> PR target/13534 * gcc/config/rs6000/rs6000.c (word_offset_memref_operand): New predicate to handle 'ld' conform addresses. * gcc/config/rs6000/rs6000.h (EXTRA_CONSTRAINT): New 'Y' contraint. (EXTRA_MEMORY_CONSTRAINT): Tell reload which constraint are memory contraints. * gcc/config/rs6000/rs6000-protos.h (word_offset_memref_operand): New prototype. * gcc/config/rs6000/rs6000.md (*movdf_hardfloat64): Change 'o' to 'Y' constraint. (*movdf_softfloat64): Ditto. 2004-01-12 Bernardo Innocenti <bernie@develer.com> * gcc/config/m68k/m68k.md: Switch from the "*..." syntax to the brace-enclosed syntax in all C output statements. 2004-01-12 David Edelsohn <edelsohn@gnu.org> PR target/13401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Objective-C language type value is 14. 2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com> PR c/12148 * config/m68k/fpgnulib.c: Fix `-mshort' bugs: Use `long' instead of `int' in a number of places to make sure we always have a SImode and not a HImode. Add a 'L' suffix to a number of constants. 2004-01-11 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> * pa.c: Don't include obstack.h. * pa.md: Correct constraint in pattern for loading PIC label address. 2004-01-11 Kaz Kojima <kkojima@gcc.gnu.org> * config/sh/linux.h (ASM_PREFERRED_EH_DATA_FORMAT): Undefine before defining. 2004-01-11 Steven Bosscher <stevenb@suse.de> PR fortran/9972 * toplev.c (rest_of_handle_inline): Also consider functions for deferral if the language is GNU F77. 2004-01-11 Zack Weinberg <zack@codesourcery.com> * c-decl.c (diagnose_arglist_conflict): Add missing space to diagnostic messages. 2004-01-11 Jakub Jelinek <jakub@redhat.com> PR middle-end/13392 * builtins.c (expand_builtin_expect_jump): Handle conditional jumps to drop through label. Don't fall back to SCC even when conditional jump has not been found. 2004-01-11 Jan Hubicka <jh@suse.cz> * invoke.texi: Fix syntax error in previous patch. Partial fix for PR opt/10776 * Makefile.in (reload.o): Include param.h * params.def (PARAM_MAX_RELOAD_SEARCH_INSNS): New parameter. * reload.c: Include params.h. (find_equiv_reg): Work limiting check. * invoke.texi: Document. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips.c (mips_symbolic_constant_p): Don't allow out-of-bounds accesses to string constants. Simplify mips16 case accordingly. 2004-01-11 Richard Sandiford <rsandifo@redhat.com> PR optimization/13469 * toplev.c (rest_of_compilation): Call purge_all_dead_edges after reload_cse_regs (-fnon-call-exceptions only). 2004-01-11 Kazu Hirata <kazu@cs.umass.edu> * config/mcore/lib1.asm: Fix comment formatting. * config/mcore/mcore-elf.h: Likewise. * config/mcore/mcore.c: Likewise. * config/mcore/mcore.h: Likewise. * config/mcore/mcore.md: Likewise. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * c-decl.c (duplicate_decls): Break apart into... (diagnose_arglist_conflict, validate_proto_after_old_defn) (locate_old_defn, diagnose_mismatched_decls, merge_decls): ... these new functions. Restructure for comprehensibility. Remove various archaic special cases. Always report the location of the previous declaration when a diagnostic is issued. (redeclaration_error_message): Fold into diagnose_mismatched_decls. (match_builtin_function_types): Delete unnecessary forward declaration. 2004-01-10 Zack Weinberg <zack@codesourcery.com> * genautomata.c (make_automaton, NDFA_to_DFA): Print progress bars with '.' characters instead of '*'. (build_automaton): Change notes to match. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md: Use define_constants for unspec and unspec_volatile. 2004-01-10 Jan Hubicka <jh@suse.cz> PR opt/11635 * expr.c (expand_expr_real): More curefully expand union casts. 2004-01-10 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.md (flush_icache): Use 1 for unspec_volatile. 2004-01-10 David Edelsohn <edelsohn@gnu.org> James E Wilson <wilson@specifixinc.com> PR debug/12860 * dbxout.c (dbxout_symbol): Remove initialization of current_sym_code, current_sym_value, and current_sym_addr. (dbxout_symbol_location): Same. (dbxout_prepare_symbol): Zero current_sym_code, current_sym_value, and current_sym_addr. 2004-01-10 Richard Sandiford <rsandifo@redhat.com> * tree.c (get_unwidened): Reorder conditions so that the null pointer check is done first. 2004-01-09 Eric Christopher <echristo@redhat.com> * toplev.c (rest_of_handle_cfg): Add reg_scan pass if we're running mark_constant_function. 2004-01-09 Jeff Bailey <jbailey@nisa.net> PR target/12561 * config/t-gnu: Rename SYSTEM_HEADER_DIR to NATIVE_SYSTEM_HEADER_DIR. 2004-01-09 Andrew Pinski <pinskia@physics.uc.edu> PR debug/11231 * dbxout.c (dbxout_type_fields): Return if any item is error_mark_node or the type is error_mark_node. 2004-01-09 Geoffrey Keating <geoffk@apple.com> * config/rs6000/darwin-ldouble.c: Add big comment explaining exactly what is expected as a 'long double'. (_xlqadd): When a value to be returned is representable as a 'double', just return it directly, do not construct it using a union. Also, correct final fixup. (_xlqmul): Likewise. (_xlqdiv): Likewise. * real.c (encode_ibm_extended): Make consistent with darwin-ldouble.c. * config/rs6000/rs6000.md (fix_trunctfdi2): Delete. 2004-01-09 Richard Henderson <rth@redhat.com> * recog.c (constrain_operands): Validate mem operands. 2004-01-09 James E Wilson <wilson@specifixinc.com> * gcc.c (init_spec): Remove -lunwind from shared case. * conifg/ia64/t-hpux (SHLIB_LINK): Add -lunwind. 2004-01-09 Steve Ellcey <sje@cup.hp.com> * configure.ac: (gcc_cv_ld_hidden) Set to true for ia64*-*-hpux*. * configure: Regenerate 2004-01-09 Joseph S. Myers <jsm@polyomino.org.uk> PR c/11234 * c-typeck.c (build_c_cast): If pedantic, warn for conversions between function and object pointers. (digest_init): When comparing a pointer to function type to the target type, only apply TREE_TYPE once to the pointer to function type. * except.c (for_each_eh_label_1): Treat data as a pointer to a function pointer rather than casting it to a function pointer. (for_each_eh_label): Update caller. * recog.h (struct insn_data): Use a struct or union for output. * genoutput.c (output_insn_data): Update. * final.c (get_insn_template): Update. 2004-01-09 Mark Mitchell <mark@codesourcery.com> * expr.h (expand_expr): Make it a macro, not a function. (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. 2004-01-09 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TARGET_CPU_CPP_BUILTINS): Add __m32r__. * config/m32r/m32r.c (call26_operand): Allow in PIC mode. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> PR target/13380. * config/m32r/m32r.md: Replace (reg:SI 17) with (reg:CC 17) or (ne:SI (reg:CC 17) (const_int 0)). Be specific about modes wherever possible. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * config/m32r/m32r.c (m32r_expand_block_move): Call gen_movestrsi_internal with two more arguments. (m32r_output_block_move): Adjust operand numbers. Properly update the source and destination pointers. * config/m32r/m32r.md (movstrsi_internal): Use 'r' instead of 'r+'. Change the set detinations to match_operand. 2004-01-09 Kazu Hirata <kazu@cs.umass.edu> * final.c (FIRST_INSN_ADDRESS): Remove. (shorten_branches): Don't use FIRST_INSN_ADDRESS. * system.h (FIRST_INSN_ADDRESS): Poison. * config/avr/avr.h: Remove a comment about FIRST_INSN_ADDRESS. * config/m32r/m32r-protos.h: Remove the prototype for m32r_first_insn_address. * config/m32r/m32r.c (m32r_first_insn_address): Remove. * config/m32r/m32r.h (FIRST_INSN_ADDRESS): Likewise. * doc/md.texi (FIRST_INSN_ADDRESS): Likewise. 2004-01-09 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (gen_enumeration_type_die): Return the DIE that we just created. (is_ada_subrange_type): DIEs for enumeration subtypes should be emitted as subrange types too. (subrange_type_die): Add handling of enumeration subtypes. 2004-01-08 Richard Henderson <rth@redhat.com> PR opt/12441 Revert: Sat Mar 30 14:08:55 CET 2002 Jan Hubicka <jh@suse.cz> * i386.c (aligned_operand): Be prepared for SUBREGed registers. (ix86_decompose_address): Use REG_P instead of GET_CODE (...) == REG. (ix86_address_cost): Be prepared for SUBREGed registers. (legitimate_address_p): Accept SUBREGed registers. 2004-01-08 Kelley Cook <kcook@gcc.gnu.org> * Makefile.in: Rename configure.in to configure.ac * doc/sourcebuild.texi: Likewise. * configure: Regenerate. * config.in: Regenerate. 2004-01-08 Stuart Hastings <stuart@apple.com> * config/i386/i386.md: Typos in MMX/SSE immediate shifts. 2004-01-08 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_decide_inlining): Fix typo. 2004-01-08 Geoffrey Keating <geoffk@apple.com> * config/rs6000/rs6000.md (cmptf_internal1): Correct branch offset. (UNSPEC_FIX_TRUNC_TF): New constant. (movtf_internal): Make splitter active only when insn is active. (extenddftf2): Rewrite to properly load zero into low part. (extenddftf2_internal): New. (extendsftf2): Rewrite. (truncdftf2): Correct length. (floatditf2): Delete. (fix_trunc_helper): New. (fix_trunctfdi2): Use fix_trunc_helper. (fix_trunctfsi2): Likewise.fix_trunc (fix_trunctfsi2_internal): New. * config/rs6000/rs6000.c (legitimate_lo_sum_address_p): lo_sum addresses are legitimate on Darwin even when flag_pic. (rs6000_legitimize_reload_address) [TARGET_MACHO]: Don't create non-offsettable addresses for loads of TFmode constants. 2004-01-08 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (ASM_OUTPUT_ALIGNED_BSS): Actually emit variables in the appropriate bss section. 2004-01-09 Alan Modra <amodra@bigpond.net.au> * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Ensure target_flags has MASK_POWERPC64 when -m64. * config/rs6000/rs6000.c (processor_target_table): Add MASK_POWERPC64 to 620, 630, power3, power4 and rs64a entries. * config/rs6000/rs6000.h (MASK_64BIT): Expand comment. 2004-01-08 Richard Sandiford <rsandifo@redhat.com> * simplify-rtx.c (simplify_immed_subreg): Fix construction of floating-point constants. 2004-01-08 J. Brobecker <brobecker@gnat.com> * dwarf2out.c (subrange_type_die): Add context_die parameter. Create the subrange_type DIE using the given context DIE. (modified_type_die): Update call to subrange_type_die. 2004-01-08 Zack Weinberg <zack@codesourcery.com> * dwarf2.h, unwind-dw2-fde.h, unwind-pe.h, unwind.h: Add multiple-include guard. 2004-01-08 Hartmut Penner <hpenner@de.ibm.com> * gcc/config/rs6000/rs6000.c (easy_vector_constant): Accept all vector constant loadable by vsplt*. (output_vec_const_move): Likewise. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/6024 * c-typeck.c (comptypes): Only treat enumerated types in the same translation unit as compatible with each other when they are the same type. * doc/extend.texi: Update. 2004-01-07 Joseph S. Myers <jsm@polyomino.org.uk> PR c/12165 * c-decl.c (grokdeclarator): Take type qualifiers of typedefed array type from the array element type. 2004-01-07 Alan Modra <amodra@bigpond.net.au> * config/rs6000/rs6000.c (rs6000_dbx_register_number): New function. * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Declare. * config/rs6000/rs6000.h (DWARF_FRAME_REGNUM): Define. (DWARF_REG_TO_UNWIND_COLUMN): Correct column adjustment and comment. * config/rs6000/sysv4.h (DBX_REGISTER_NUMBER): Define. 2004-01-06 Eric Christopher <echristo@redhat.com> * config/mips/mips.h (MDEBUG_ASM_SPEC): Change for dwarf2 default. (DWARF2_DEBUGGING_INFO): Define. (PREFERRED_DEBUGGING_TYPE): Set to dwarf2. * config/mips/openbsd.h (PREFERRED_DEBUGGING_TYPE): Remove. * config/mips/iris6.h (SUBTARGET_ASM_DEBUGGING_SPEC): Only pass -g0 for irix as. (SUBTARGET_ASM_OPTIMIZING_SPEC): Only pass O0 for irix as. * config/mips/iris6gas.h (MDEBUG_ASM_SPEC): Remove. * config/mips/iris5gas.h: Ditto. (DBX_DEBUGGING_INFO): Remove. (DWARF2_DEBUGGING_INFO): Ditto. (MIPS_DEBUGGING_INFO): Ditto. (PREFERRED_DEBUGGING_TYPE): Ditto. * config/mips/elf.h (DWARF2_DEBUGGING_INFO): Remove. (PREFERRED_DEBUGGING_TYPE): Ditto. (SUBTARGET_ASM_DEBUGGING_SPEC): Ditto. * config/mips/elf64.h: Ditto. 2004-01-06 Jan Hubicka <jh@suse.cz> * Makefile.in (STAGEPROFILE_FLAGS_TO_PASS): Use -fprofile-generate. (STAGEFEEDBACK_FLAGS_TO_PASS): Use -fprofile-use. 2004-01-06 Geoffrey Keating <geoffk@apple.com> * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Compile darwin-ldouble.c. (TARGET_LIBGCC2_CFLAGS): Use -mlong-double-128. * config/rs6000/darwin-ldouble.c: New. * emit-rtl.c (gen_lowpart_common): Use simplify_gen_subreg for constants. (constant_subword): Delete. * rtl.h (constant_subword): Delete prototype. (immed_double_const): Is not in varasm.c. * simplify-rtx.c (simplify_immed_subreg): New. (simplify_subreg): Use simplify_immed_subreg. * config/rs6000/rs6000.md (floatsitf2): Use expand_float rather than trying to generate RTL directly. (fix_trunctfsi2): Use expand_fix rather than trying to generate RTL directly. * dwarf2out.c (add_const_value_attribute): Remove incorrect comment. 2004-01-06 David Edelsohn <edelsohn@gnu.org> * config/rs6000/xcoff.h (EXTRA_SECTION_FUNCTIONS): Split each function into a separate macro. (read_only_data_section): Add void argument. (private_data_section): Same. (read_only_private_data_section): Same. (toc_section): Same. 2004-01-06 Jan Hubicka <jh@suse.cz> * invoke.texi: Remove typo in last change. PR target/10301 * config.gcc: Accept opteron and athlon-64 as variants of k8. * i386.c (override_options): Likewise. * invoke.texi (i386 -mtune): Expand documentation. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * alias.c: Fix comment typos. * builtins.c: Likewise. * cfg.c: Likewise. * df.c: Likewise. * dominance.c: Likewise. * dwarf2out.c: Likewise. * emit-rtl.c: Likewise. * expr.c: Likewise. * final.c: Likewise. * fold-const.c: Likewise. * gcse.c: Likewise. * genattrtab.c: Likewise. * genrecog.c: Likewise. * gensupport.c: Likewise. * ggc-zone.c: Likewise. * integrate.c: Likewise. * local-alloc.c: Likewise. * loop.c: Likewise. * recog.c: Likewise. * regmove.c: Likewise. * reg-stack.c: Likewise. * reorg.c: Likewise. * rtlanal.c: Likewise. * rtl.h: Likewise. * sched-ebb.c: Likewise. * simplify-rtx.c: Likewise. * toplev.c: Likewise. * varasm.c: Likewise. 2004-01-06 Kazu Hirata <kazu@cs.umass.edu> * doc/install.texi: Fix typos. * doc/invoke.texi: Likewise. * doc/md.texi: Likewise. 2004-01-06 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com> * config/m32r/m32r.h (TRAMPOLINE_LINE_SIZE): Changed 2004-01-06 Jan Hubicka <jh@suse.cz> * i386.c (init_cumulative_args): Add handling of MMX_REGPARM. (function_arg_advance): Do not pass aggregates in SSE; deal handling of MMX_REGPARM. (function_arg): Add new warnings about ABI changes; fix SSE_REGPARM; add MMX_REGPARM. * i386.h (ix86_args): Add mmx_words/mmx_regs/mmx_regno fields. (SSE_REGPARM_MAX): Default to 3 on i386 -msse ABI. (MMX_REGPARM_MAX): Similarly for -mmmx. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/sh/linux.h: Fix comment formatting. * config/sh/netbsd-elf.h: Likewise. * config/sh/sh.c: Likewise. * config/sh/sh.h: Likewise. * config/sh/vxworks.h: Likewise. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * system.h (ASM_OUTPUT_MAIN_SOURCE_FILENAME): Poison. * toplev.c (output_file_directive): Don't use ASM_OUTPUT_MAIN_SOURCE_FILENAME. 2004-01-05 Daniel Berlin <dberlin@dberlin.org> * ggc-zone.c: Remove everything in #ifdef USING_MALLOC_PAGE_GROUPS (USING_MMAP): We don't support non-mmap. (struct alloc_chunk): Steal 1 bit from typecode, use it to mark large objects. (struct page_entry): Remove bytes_free. (struct page_table_chain): Remove. (struct globals): Remove page_table member. (loookup_page_table_entry): Function deleted. (set_page_table_entry): Ditto. (ggc_allocated_p): No longer need page table lookups. (ggc_marked_p): Ditto. (alloc_small_page): Don't care about bytes_free anymore. (alloc_large_page): Round up size. (ggc_alloc_zone_1): Mark large objects as such, and calculate their size the new way. Remove page table lookups and setting. (ggc_get_size): Calculate large object size the new way. (sweep_pages): Redo to account for fact that we no longer have bytes_free. (ggc_collect): No longer need to reincrement bytes_free. (ggc_pch_alloc_object): Handle new large objects properly. (ggc_pch_read): Put PCH stuff into it's own uncollected zone. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove a page break. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/avr/avr.c (avr_output_function_prologue): Remove an extra pair of curly braces. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.c: Fix comment formatting. * config/mn10300/mn10300.h: Likewise. 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * tree.h: Update documentation on nothrow_flag. * print-tree.c (print_node): Print TREE_NOTHROW as "align-ok" for types. 2004-01-05 Kazu Hirata <kazu@cs.umass.edu> * doc/invoke.texi: Remove traces of dead ports. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Add documentation for the MIPS -mexplicit-relocs option. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> PR target/12945 * coverage.c (coverage_counter_alloc): Set SYMBOL_FLAG_LOCAL for counter labels. * config/mips/mips.c (INTERNAL_SYMBOL_P): Delete. (mips_classify_symbol): Always treat SYMBOL_REF_FLAG as indicating string constants if TARGET_MIPS16. Use SYMBOL_REF_DECL to check the binding of decl symbols, otherwise check SYMBOL_REF_LOCAL_P. (mips_symbol_insns): Don't trust the local/global classification. (m16_usym8_4, m16_usym5_4): Same mips16 change as mips_classify_symbol. (override_options): Make -mabicalls -fno-unit-at-a-time imply -mno-explicit-relocs. (mips_encode_section_info): Don't use SYMBOL_REF_FLAG to distinguish between local and global symbols. 2004-01-05 Richard Sandiford <rsandifo@redhat.com> * config/mips/mips-protos.h (mips_dangerous_for_la25_p): Declare. (mips_preferred_reload_class): Declare. * config/mips/mips.h (DANGEROUS_FOR_LA25_P): Replace with function. (EXTRA_CONSTRAINT): Update accordingly. (PREFERRED_RELOAD_CLASS): Use mips_preferred_reload_class. * config/mips/mips.c (mips_dangerous_for_la25_p): New function. (mips_preferred_reload_class): New function. Prefer LEA_REGS if mips_dangerous_for_la25_p. (mips_secondary_reload_class): Use LEA_REGS rather than GR_REGS if mips_dangerous_for_la25_p. 2004-01-05 Bernardo Innocenti <bernie@develer.com> * config/m68k/m68k.c (output_andsi3): Fix signed/unsigned comparison warning. 2004-01-04 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Use AC_PROG_CPP_WERROR. * configure: Regenerate. 2004-01-04 Zack Weinberg <zack@codesourcery.com> * .cvsignore: Add autom4te.cache. 2004-01-04 Richard Sandiford <rsandifo@redhat.com> * doc/invoke.texi: Revamp documentation of MIPS options. Remove -mabi=meabi, -mabi-fake-default, -mmips-as, -mgas, -mmips-tfile, -m4650, -mfix7000 and -(m)no-crt0. Put endianness options first, then architecture options, then ABI options. General rewording. 2004-01-04 Joseph S. Myers <jsm@polyomino.org.uk> PR c/3414 * doc/extend.texi: Clarify definition of malloc attribute. 2004-01-04 Jan Hubicka <jh@suse.cz> * Makefile.in (cgraph.o, cgraphunit.o): Add intl.h dependency. * cgraph.c (create_edge, dump_cgraph): Update to use inline_failed * cgraph.h (cgraph_edge): Replace inline_call by inline_failed (cgraph_inline_p): Add extra argument reason. * cgraphunit.c: Minor formating fixes. cgraph_first_inlined_callee): New functions. (record_call_1): Record builtins too. (cgraph_analyze_function): Update inline_failed messages. (cgraph_mark_functions_to_output, cgraph_expand_function, cgraph_inlined_into, cgraph_inlined_callees, cgraph_estimate_growth): Update to use inline_failed. (cgraph_check_inline_limits): Likewise; Add argument reason. (cgraph_set_inline_failed): New static function. (cgraph_decide_inlining_of_small_function, cgraph_decide_inlining): Set reasons. (cgraph_inline_p): Add new argument reason. * tree-inline.c (expand_call_inline): Update warning. 2004-01-03 Nathanael Nerode <neroden@gcc.gnu.org> * configure.ac: Replace AC_INIT, AC_OUTPUT, AC_CANONICAL_SYSTEM with modern equivalents. * configure: Regenerate. * configure.ac: Replace gcc_AC_CHECK_TYPE with AC_CHECK_TYPE. * aclocal.m4 (gcc_AC_CHECK_TYPE): Remove. * configure: Regenerate. * doc/install.texi: Note that 'gcc' is now a 2.57 directory. * configure.in: Rename to configure.ac. * configure.ac: Renamed from configure.in; make minimum necessary changes for autoconf 2.5x. * aclocal.m4: Make minimum necessary changes for autoconf 2.5x. * configure: Regenerate with autoconf 2.57. 2004-01-03 Kazu Hirata <kazu@cs.umass.edu> * config/mips/linux.h: Fix comment formatting. * config/mips/mips.c: Likewise. * config/mips/mips.h: Likewise. * config/mips/mips.md: Likewise. * config/mips/netbsd.h: Likewise. * config/mips/windiss.h: Likewise. 2004-01-02 Richard Henderson <rth@redhat.com> * config/i386/i386.md (fp constant pool splitter): Reorg suppression for sse and 387; add suppression for mmx. 2004-01-02 Andrew Pinski <pinskia@physics.uc.edu> * loop.c (loop_optimize): Free all loops_info's mems. * c-typeck.c (finish_init): Free spelling_base before setting it again. * cfgloop.c (flow_loops_find): Always free the sbitmap headers. * predict.c (estimate_probability): Free bbs after being done with it. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/mn10300/mn10300.h (PREDICATE_CODES): Add const_8bit_operand and call_address_operand. 2004-01-02 Jan Hubicka <jh@suse.cz> * cgraphunit.c (cgraph_optimize_function): Call optimize_inline_calls when there is nothing to inline but warnings are requested. (cgraph_decide_inlining): Fix memory leak. 2004-01-02 Jan Hubicka <jh@suse.cz> * expr.c (store_constructor): Fix pasto in previous patch. 2004-01-02 Kazu Hirata <kazu@cs.umass.edu> * config/i386/cygming.h: Fix comment formatting. * config/i386/djgpp.h: Likewise. * config/i386/gthr-win32.c: Likewise. * config/i386/i386-interix.h: Likewise. * config/i386/i386.c: Likewise. * config/i386/i386.h: Likewise. * config/i386/openbsd.h: Likewise. * config/i386/winnt.c: Likewise. * config/i386/xm-mingw32.h: Likewise. 2004-01-02 Joseph S. Myers <jsm@polyomino.org.uk> * doc/gcc.texi, doc/invoke.texi, doc/install.texi: Update copyright and last modification dates. 2004-01-02 Andreas Jaeger <aj@suse.de>, Gerald Pfeifer <gp@suse.de> * doc/install.texi (Specific): Mention x86_64. 2004-01-01 Hans-Peter Nilsson <hp@bitrange.com> * builtins.c (expand_builtin_apply_args_1) [STACK_GROWS_DOWNWARD]: Call force_operand on plus_constant result. 2004-01-01 Jan Hubicka <jh@suse.cz> * expmed.c (store_bit_field, extract_bit_field): Use new named patterns * expr.c (store_constructor): Use vec_init pattern. * genopinit.c (optabs): Initailize vec_set/vec_extract/vec_init. * optabs.h (optab_index): ADD OTI_vec_set/OTI_vec_extract/OTI_vec_init (vec_set_optab, vec_extract_optab, vec_init_optab): New. * i386.md (vec_setv2df, vec_extractv2df, vec_setv4sf, vec_extractv4sf): New patterns. (sse2_unpc?pd): Fix pattern. (sse2_movlpd): Kill. (sse2_movsd): Deal with movlpd too. * i386.c (ix86_expand_builtin): Use sse2_movsd instead of sse2_movlpd. (ix86_expand_vector_init): New. * emmintrin.h (__mm_set_pd, __mm_set_ps): Use vector extensions. * md.texi (vec_set, vec_extract): Document 2003-12-31 Jan Hubicka <jh@suse.cz> PR opt/13473 * recog.c (validate_replace_rtx_1): Take care for RTL sharing inside ASM input operands PR opt/12617 * toplev.c (dump_file_index): Reorder ce3 and bbro. (dump_file): Likewise. (rest_of_compilation): Likewise. PR debug/13367 * cgraph.c (cgraph_function_possibly_inlined): Even with flag_really_no_inline we inline always_inline functions. * cgraphunit.c (cgraph_analyze_function): Clear inlinable flag for non-always_inline functions when there is flag_really_no_inline. (cgraph_decide_inlining): Limit work done when not inlining. (cgraph_decide_inlining_incrementally): Likewise. (cgraph_optimize_function): Check whether something got inlined. * c-objc-common.c (c_disregard_inline_limits): Do not always inline extern inline functions when not inlining. * opts.c (decode_options): Disable crossjumping at -O1 * invoke.texi (-O1): Document change. From-SVN: r76701
2004-01-27 13:49:31 +01:00
Restrict target load migration not to re-use registers in any basic block
fcall-saved-
Common Joined RejectNegative
-fcall-saved-<register> Mark <register> as being preserved across functions
fcall-used-
Common Joined RejectNegative
-fcall-used-<register> Mark <register> as being corrupted by function calls
; Nonzero for -fcaller-saves: allocate values in regs that need to
; be saved across function calls, if that produces overall better code.
; Optional now, so people can test it.
fcaller-saves
Common Report Var(flag_caller_saves)
Save registers around function calls
fcommon
Common Report Var(flag_no_common,0)
Do not put uninitialized globals in the common section
fcprop-registers
Common Report Var(flag_cprop_registers)
Perform a register copy-propagation optimization pass
fcrossjumping
Common Report Var(flag_crossjumping)
Perform cross-jumping optimization
fcse-follow-jumps
Common Report Var(flag_cse_follow_jumps)
When running CSE, follow jumps to their targets
fcse-skip-blocks
Common Report Var(flag_cse_skip_blocks)
When running CSE, follow conditional jumps
fdata-sections
Common Report Var(flag_data_sections)
Place data items into their own section
; Nonzero for -fdefer-pop: don't pop args after each function call
; instead save them up to pop many calls' args with one insns.
fdefer-pop
Common Report Var(flag_defer_pop)
Defer popping functions args from stack until later
fdelayed-branch
Common Report Var(flag_delayed_branch)
Attempt to fill delay slots of branch instructions
fdelete-null-pointer-checks
Common Report Var(flag_delete_null_pointer_checks)
Delete useless null pointer checks
fdiagnostics-show-location=
Common Joined RejectNegative
-fdiagnostics-show-location=[once|every-line] How often to emit source location at the beginning of line-wrapped diagnostics
fdump-
Common Joined RejectNegative
-fdump-<type> Dump various compiler internals to a file
fdump-unnumbered
Common Report Var(flag_dump_unnumbered) VarExists
Suppress output of instruction numbers and line number notes in debugging dumps
feliminate-dwarf2-dups
Common Report Var(flag_eliminate_dwarf2_dups)
Perform DWARF2 duplicate elimination
feliminate-unused-debug-symbols
Common Report Var(flag_debug_only_used_symbols)
Perform unused type elimination in debug info
feliminate-unused-debug-types
Common Report Var(flag_eliminate_unused_debug_types) Init(1)
Perform unused type elimination in debug info
fexceptions
Common Report Var(flag_exceptions)
Enable exception handling
fexpensive-optimizations
Common Report Var(flag_expensive_optimizations)
Perform a number of minor, expensive optimizations
ffast-math
Common
ffinite-math-only
Common Report Var(flag_finite_math_only)
Assume no NaNs or infinities are generated
ffixed-
Common Joined RejectNegative
-ffixed-<register> Mark <register> as being unavailable to the compiler
ffloat-store
Common Report Var(flag_float_store)
Don't allocate floats and doubles in extended-precision registers
; Nonzero for -fforce-addr: load memory address into a register before
; reference to memory. This makes better cse but slower compilation.
fforce-addr
Common Report Var(flag_force_addr)
Copy memory address constants into registers before use
; Nonzero for -fforce-mem: load memory value into a register
; before arithmetic on it. This makes better cse but slower compilation.
fforce-mem
Common Report Var(flag_force_mem)
Copy memory operands into registers before use
; Nonzero means don't put addresses of constant functions in registers.
; Used for compiling the Unix kernel, where strange substitutions are
; done on the assembly output.
ffunction-cse
Common Report Var(flag_no_function_cse,0)
Allow function addresses to be held in registers
ffunction-sections
Common Report Var(flag_function_sections)
Place each function into its own section
fgcse
Common Report Var(flag_gcse)
Perform global common subexpression elimination
fgcse-lm
Common Report Var(flag_gcse_lm) Init(1)
Perform enhanced load motion during global common subexpression elimination
fgcse-sm
Common Report Var(flag_gcse_sm) Init(1)
Perform store motion after global common subexpression elimination
fgcse-las
Common Report Var(flag_gcse_las) Init(1)
Perform redundant load after store elimination in global common subexpression
elimination
fgcse-after-reload
Common Report Var(flag_gcse_after_reload)
Perform global common subexpression elimination after register allocation
has finished.
fguess-branch-probability
Common Report Var(flag_guess_branch_prob)
Enable guessing of branch probabilities
; Nonzero means ignore `#ident' directives. 0 means handle them.
; Generate position-independent code for executables if possible
; On SVR4 targets, it also controls whether or not to emit a
; string identifying the compiler.
fident
Common Report Var(flag_no_ident,0)
Process #ident directives
fif-conversion
Common Report Var(flag_if_conversion)
Perform conversion of conditional jumps to branchless equivalents
fif-conversion2
Common Report Var(flag_if_conversion2)
Perform conversion of conditional jumps to conditional execution
; -finhibit-size-directive inhibits output of .size for ELF.
; This is used only for compiling crtstuff.c,
; and it may be extended to other effects
; needed for crtstuff.c on other systems.
finhibit-size-directive
Common Report Var(flag_inhibit_size_directive)
Do not generate .size directives
; Nonzero means that functions declared `inline' will be treated
; as `static'. Prevents generation of zillions of copies of unused
; static inline functions; instead, `inlines' are written out
; only when actually used. Used in conjunction with -g. Also
; does the right thing with #pragma interface.
finline
Common Report Var(flag_no_inline,0) Init(2)
Pay attention to the \"inline\" keyword
finline-functions
Common Report Var(flag_inline_functions)
Integrate simple functions into their callers
finline-limit-
Common RejectNegative Joined UInteger
finline-limit=
Common RejectNegative Joined UInteger
-finline-limit=<number> Limit the size of inlined functions to <number>
finstrument-functions
Common Report Var(flag_instrument_function_entry_exit)
Instrument function entry and exit with profiling calls
tree-ssa-loop-ivopts.c: New file. * tree-ssa-loop-ivopts.c: New file. * Makefile.in (tree-ssa-loop-ivopts.c): Add. * cfgloop.h (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): Declare. * cfgloopanal.c (avail_regs, res_regs, small_cost, pres_cost, spill_cost): Renamed to ... (target_avail_regs, target_res_regs, target_small_cost, target_pres_cost, target_spill_cost): ... and exported. (init_set_costs, global_cost_for_size): Work with renamed variables. * common.opt (flag_ivopts): New flag. * expr.c (expand_expr_real_1): Handle SSA_NAME case. Handle REF_ORIGINAL. * gimplify.c (struct gimplify_ctx): Add into_ssa field. (internal_get_tmp_var, gimplify_modify_expr, gimplify_expr): Support generating SSA form. (force_gimple_operand): New function. * timevar.def (TV_TREE_LOOP_IVOPTS): New timevar. * tree-cfg.c (stmt_bsi): New function. * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): New. * tree-flow.h (stmt_bsi, tree_ssa_iv_optimize, split_loop_exit_edge, bsi_insert_on_edge_immediate_loop. standard_iv_increment_position, ip_end_pos, ip_normal_pos, force_gimple_operand): Declare. * tree-gimple.c (is_gimple_formal_tmp_var): Accept ssa names. * tree-nested.c (build_addr): Export. * tree-optimize.c (init_tree_optimization_passes): Add pass_iv_optimize. * tree-pass.h (pass_iv_optimize): Declare. * tree-ssa-loop-im.c (for_each_index): Handle REALPART_EXPR and IMAGPART_EXPR. * tree-ssa-loop-manip.c (create_iv): Force the base to be acceptable as a phi node argument. (split_loop_exit_edge, bsi_insert_on_edge_immediate_loop, ip_end_pos, ip_normal_pos, standard_iv_increment_position): New functions. * tree-ssa-loop-niter.c (zero_p, unsigned_type_for): Export. * tree-ssa-loop.c (tree_ssa_loop_ivopts, gate_tree_ssa_loop_ivopts, pass_iv_optimize): New pass. * tree-ssa-operands.c (get_indirect_ref_operands): Handle REF_ORIGINAL. * tree-ssanames.c (release_ssa_name): Allow calling with var = NULL. * tree.c (build_int_cst_type, cst_and_fits_in_hwi): New functions. * tree.h (REF_ORIGINAL): New macro. (build_int_cst_type, unsigned_type_for, zero_p, cst_and_fits_in_hwi, build_addr): Declare. * doc/invoke.texi (-fivopts): Document. (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND, PARAM_IV_MAX_CONSIDERED_USES): Document. * doc/passes.texi: Document induction variable optimizations pass. * gcc.dg/tree-ssa/loop-2.c: New test. * gcc.dg/tree-ssa/loop-3.c: New test. * gcc.dg/tree-ssa/loop-4.c: New test. * gcc.dg/tree-ssa/loop-5.c: New test. From-SVN: r87100
2004-09-05 11:25:37 +02:00
fivopts
Common Report Var(flag_ivopts) Init(1)
Optimize induction variables on trees
fkeep-inline-functions
Common Report Var(flag_keep_inline_functions)
Generate code for functions even if they are fully inlined
fkeep-static-consts
Common Report Var(flag_keep_static_consts) Init(1)
Emit static const variables even if they are not used
fleading-underscore
Common Report Var(flag_leading_underscore) Init(-1)
Give external symbols a leading underscore
floop-optimize
Common Report Var(flag_loop_optimize)
Perform loop optimizations
floop-optimize2
Common Report Var(flag_loop_optimize2)
Perform loop optimizations using the new loop optimizer
fmath-errno
Common Report Var(flag_errno_math) Init(1)
Set errno after built-in math functions
fmem-report
Common Report Var(mem_report)
Report on permanent memory allocation
; This will attempt to merge constant section constants, if 1 only
; string constants and constants from constant pool, if 2 also constant
; variables.
fmerge-all-constants
Common Report Var(flag_merge_constants,2) Init(1)
Attempt to merge identical constants and constant variables
fmerge-constants
Common Report Var(flag_merge_constants,1) VarExists
Attempt to merge identical constants across compilation units
fmessage-length=
Common RejectNegative Joined UInteger
-fmessage-length=<number> Limit diagnostics to <number> characters per line. 0 suppresses line-wrapping
fmodulo-sched
Common Report Var(flag_modulo_sched)
Perform SMS based modulo scheduling before the first scheduling pass
fmove-all-movables
Common Report Var(flag_move_all_movables)
Force all loop invariant computations out of loops
fmove-loop-invariants
Common Report Var(flag_move_loop_invariants)
Move loop invariant computations out of loops
fmudflap
Common RejectNegative Report Var(flag_mudflap)
Add mudflap bounds-checking instrumentation for single-threaded program.
fmudflapth
Common RejectNegative Report Var(flag_mudflap_threads)
Add mudflap bounds-checking instrumentation for multi-threaded program.
fmudflapir
Common RejectNegative Report Var(flag_mudflap_ignore_reads)
Ignore read operations when inserting mudflap instrumentation.
fnew-ra
Common Report Var(flag_new_regalloc)
Use graph-coloring register allocation
freschedule-modulo-scheduled-loops
Common Report Var(flag_resched_modulo_sched)
Enable/Disable the traditional scheduling in loops that already passed modulo scheduling
fnon-call-exceptions
Common Report Var(flag_non_call_exceptions)
Support synchronous non-call exceptions
fold-unroll-loops
Common Report Var(flag_old_unroll_loops)
Perform loop unrolling when iteration count is known
fold-unroll-all-loops
Common Report Var(flag_old_unroll_all_loops)
Perform loop unrolling for all loops
fomit-frame-pointer
Common Report Var(flag_omit_frame_pointer)
When possible do not generate stack frames
foptimize-register-move
Common Report Var(flag_regmove)
Do the full register move optimization pass
foptimize-sibling-calls
Common Report Var(flag_optimize_sibling_calls)
Optimize sibling and tail recursive calls
fpack-struct
Common Report Var(flag_pack_struct)
Pack structure members together without holes
fpack-struct=
Common RejectNegative Joined UInteger
-fpack-struct=<number> Set initial maximum structure member alignment
fpcc-struct-return
Common Report Var(flag_pcc_struct_return,1) VarExists
Return small aggregates in memory, not registers
fpeel-loops
Common Report Var(flag_peel_loops)
Perform loop peeling
fpeephole
Common Report Var(flag_no_peephole,0)
Enable machine specific peephole optimizations
fpeephole2
Common Report Var(flag_peephole2)
Enable an RTL peephole pass before sched2
fPIC
Common Report Var(flag_pic,2)
Generate position-independent code if possible (large mode)
fPIE
Common Report Var(flag_pie,2)
Generate position-independent code for executables if possible (large mode)
fpic
Common Report Var(flag_pic,1) VarExists
Generate position-independent code if possible (small mode)
fpie
Common Report Var(flag_pie,1) VarExists
Generate position-independent code for executables if possible (small mode)
fprefetch-loop-arrays
Common Report Var(flag_prefetch_loop_arrays)
Generate prefetch instructions, if available, for arrays in loops
fprofile
Common Report Var(profile_flag)
Enable basic program profiling code
fprofile-arcs
Common Report Var(profile_arc_flag)
Insert arc-based program profiling code
fprofile-generate
Common
Enable common options for generating profile info for profile feedback directed optimizations
fprofile-use
Common
Enable common options for performing profile feedback directed optimizations
fprofile-values
Common Report Var(flag_profile_values)
Insert code to profile values of expressions
frandom-seed
Common
frandom-seed=
Common Joined RejectNegative
-frandom-seed=<string> Make compile reproducible using <string>
freduce-all-givs
Common Report Var(flag_reduce_all_givs)
Strength reduce all loop general induction variables
freg-struct-return
Common Report Var(flag_pcc_struct_return,0) VarExists
Return small aggregates in registers
fregmove
Common Report Var(flag_regmove)
Enables a register move optimization
frename-registers
Common Report Var(flag_rename_registers)
Perform a register renaming optimization pass
freorder-blocks
Common Report Var(flag_reorder_blocks)
Reorder basic blocks to improve code placement
basic-block.h (struct edge_def): Add new field, crossing_edge. 2004-04-09 Caroline Tice <ctice@apple.com> * basic-block.h (struct edge_def): Add new field, crossing_edge. (struct basic_block_def): Add new field, partition. (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro definitions. (partition_hot_cold_basic_blocks): Add extern function declaration. * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new include statements. (N_ROUNDS): Increase the maximum number of rounds by 1. (branch_threshold): Add array value for new round. (exec_threshold): Add array value for new round. (push_to_next_round_p): New function. (add_unlikely_executed_notes): New function. (find_rarely_executed_basic_blocks_and_crossing_edges): New function. (mark_bb_for_unlikely_executed_section): New function. (add_labels_and_missing_jumps): New function. (add_reg_crossing_jump_notes): New function. (fix_up_fall_thru_edges): New function. (find_jump_block): New function. (fix_crossing_conditional_branches): New function. (fix_crossing_unconditional_branches): New function. (fix_edges_for_rarely_executed_code): New function. (partition_hot_cold_basic_blocks): New function. (find_traces): Add an extra round for partitioning hot/cold basic blocks. (find_traces_1_round): Add a parameter. Modify to push all cold blocks, and only cold blocks, into the last (extra) round of collecting traces. (better_edge_p): Add a parameter. Modify to favor non-crossing edges over crossing edges. (bb_to_key): Add code to correctly identify cold blocks when doing partitioning. (connect_traces): Modify to connect all the non-cold traces first, then go back and connect up all the cold traces. (reorder_basic_blocks): Add call to add_unlikely_executed_notes. * cfg.c (entry_exit_blocks): Add initialization for partition field in entry and exit blocks. * cfgbuild.c (make_edges): Update current_function_has_computed_jump if we are doing hot/cold partitioning. * cfgcleanup.c (cfglayout.h): Add new include statement. (try_simplify_condjump): Modify to not attempt on blocks with jumps that cross section boundaries. (try_forward_edges): Likewise. (merge_blocks_move_predecessor_nojumps): Likewise. (merge_blocks_move_successor_nojumps): Likewise. (merge_blocks_move): Likewise. (try_crossjump_to_edge): Modify to not attempt after we have done the block partitioning. (try_crossjump_bb): Modify to not attempt on blocks with jumps that cross section boundaries. (try_optimize_cfg): Likewise. * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect jumps that cross section boundaries. * cfglayout.c (flags.h): Add new include statement. (update_unlikely_executed_notes): New function. (fixup_reorder_chain): Add code so when a new jumping basic block is added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are updated appropriately. (duplicate_insn_chain): Add code to duplicate the new NOTE insn introduced by this optimization. * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new extern function declaration. * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to list of notes that can be deleted. (create_basic_block_structure): Add initialization for partition field. (rtl_can_merge_blocks): Modify to test blocks for jumps that cross section boundaries. (try_redirect_by_replacing_jump): Modify to not attempt on jumps that cross section boundaries. (commit_one_edge_insertion): Add code so newly created basic block ends up in correct (hot or cold) section. Modify to disallow insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge crosses section boundaries. (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that cross section boundaries. (force_nonfallthru_and_redirect): Modify to make sure new basic block ends up in correct section, with correct notes attached. * common.opt (freorder-blocks-and-partition): Add new flag for this optimization. * dbxout.c (dbx_function_end): Add code to make sure scope labels at the end of functions are written into the correct (hot or cold) section. (dbx_source_file): Add code so writing debug file information doesn't incorrectly change sections. * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use in partitioning hot/cold basic blocks into separate sections. (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold section partitioning. (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not conditional branches can span all of memory. (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not unconditional branches can span all of memory. * final.c (scan_ahead_for_unlikely_executed_note): New function. (final_scan_insn): Add code to check for NOTE instruction indicating whether basic block belongs in hot or cold section, and to make sure the current basic block is being written to the appropriate section. Also added code to ensure that jump table basic blocks end up in the correct section. * flags.h (flag_reorder_blocks_and_partition): New flag. * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if one of the branches has a jump that crosses between sections. (find_if_case_2): Likewise. (ifcvt): Modify to not attempt to mark loop exit edges after hot/cold partitioning has occurred. * opts.c (decode_options): Code to handle new flag, flag_reorder_blocks_and_partition; also to turn it off if flag_exceptions is on. (common_handle_option): Code to handle new flag, flag_reorder_blocks_and_partition. * output.h (unlikely_text_section): New extern function declaration. (in_unlikely_text_section): New extern function declaration. * passes.c (rest_of_handle_stack_regs): Add flag_reorder_blocks_and_partition as an 'or' condition for calling reorder_basic_blocks. (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition as an 'or' condition for calling reorder_basic_blocks. (rest_of_compilation): Add call to partition_hot_cold_basic_blocks. * print-rtl.c (print_rtx): Add code for handling new note, NOTE_INSN_UNLIKELY_EXECUTED_CODE * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below). (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that cross between section boundaries. * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction, indicating the basic block containing it belongs in the cold section. (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross between hot and cold sections. * toplev.c (flag_reorder_blocks_and_partition): Add code to initialize this flag, and to tie it to the command-line option freorder-blocks-and-partition. * varasm.c (cfglayout.h): Add new include statement. (unlikely_section_label_printed): New global variable, used for determining when to output section name labels for cold sections. (in_section): Add in_unlikely_executed_text to enum data structure. (text_section): Modify code to use SECTION_FORMAT_STRING and NORMAL_TEXT_SECTION_NAME macros. (unlikely_text_section): New function. (in_unlikely_text_section): New function. (function_section): Add code to make sure beginning of function is written into correct section (hot or cold). (assemble_start_function): Add code to make sure stuff is written to the correct section. (assemble_zeros): Add in_unlikely_text_section as an 'or' condition to an if statement that was checking 'in_text_section'. (assemble_variable): Add 'in_unlikely_text_section' as an 'or' condition to an if statement that was checking 'in_text_section'. (default_section_type_flags_1): Add check: if in cold section flags = SECTION_CODE. * config/darwin.c (darwin_asm_named_section): Modify to use SECTION_FORMAT_STRING if we are partitioning hot/cold blocks. * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro specifically for the i386. (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386. * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change text string to something more informative. (NORMAL_TEXT_SECTION_NAME): Add new definition. (SECTION_FORMAT_STRING): Add new definition. * config/rs6000/rs6000.c (rs6000_assemble_integer): Add '!in_unlikely_text_section' as an 'and' condition to an if statement that was already checking '!in_text_section'. * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make sure these are properly defined for linux on ppc. * doc/invoke.texi (freorder-blocks-and-partition): Add documentation for this new flag. * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new reg_note. * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING, HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for these new macros. From-SVN: r80564
2004-04-09 21:57:47 +02:00
freorder-blocks-and-partition
Common Report Var(flag_reorder_blocks_and_partition)
basic-block.h (struct edge_def): Add new field, crossing_edge. 2004-04-09 Caroline Tice <ctice@apple.com> * basic-block.h (struct edge_def): Add new field, crossing_edge. (struct basic_block_def): Add new field, partition. (UNPARTITIONED, HOT_PARTITION, COLD_PARTITION): New constant macro definitions. (partition_hot_cold_basic_blocks): Add extern function declaration. * bb-reorder.c (function.h, obstack.h, expr.h, regs.h): Add four new include statements. (N_ROUNDS): Increase the maximum number of rounds by 1. (branch_threshold): Add array value for new round. (exec_threshold): Add array value for new round. (push_to_next_round_p): New function. (add_unlikely_executed_notes): New function. (find_rarely_executed_basic_blocks_and_crossing_edges): New function. (mark_bb_for_unlikely_executed_section): New function. (add_labels_and_missing_jumps): New function. (add_reg_crossing_jump_notes): New function. (fix_up_fall_thru_edges): New function. (find_jump_block): New function. (fix_crossing_conditional_branches): New function. (fix_crossing_unconditional_branches): New function. (fix_edges_for_rarely_executed_code): New function. (partition_hot_cold_basic_blocks): New function. (find_traces): Add an extra round for partitioning hot/cold basic blocks. (find_traces_1_round): Add a parameter. Modify to push all cold blocks, and only cold blocks, into the last (extra) round of collecting traces. (better_edge_p): Add a parameter. Modify to favor non-crossing edges over crossing edges. (bb_to_key): Add code to correctly identify cold blocks when doing partitioning. (connect_traces): Modify to connect all the non-cold traces first, then go back and connect up all the cold traces. (reorder_basic_blocks): Add call to add_unlikely_executed_notes. * cfg.c (entry_exit_blocks): Add initialization for partition field in entry and exit blocks. * cfgbuild.c (make_edges): Update current_function_has_computed_jump if we are doing hot/cold partitioning. * cfgcleanup.c (cfglayout.h): Add new include statement. (try_simplify_condjump): Modify to not attempt on blocks with jumps that cross section boundaries. (try_forward_edges): Likewise. (merge_blocks_move_predecessor_nojumps): Likewise. (merge_blocks_move_successor_nojumps): Likewise. (merge_blocks_move): Likewise. (try_crossjump_to_edge): Modify to not attempt after we have done the block partitioning. (try_crossjump_bb): Modify to not attempt on blocks with jumps that cross section boundaries. (try_optimize_cfg): Likewise. * cfghooks.c (tidy_fallthru_edges): Modify to not remove indirect jumps that cross section boundaries. * cfglayout.c (flags.h): Add new include statement. (update_unlikely_executed_notes): New function. (fixup_reorder_chain): Add code so when a new jumping basic block is added, it's UNLIKELY_EXECUTED_CODE and REG_CROSSING_JUMP notes are updated appropriately. (duplicate_insn_chain): Add code to duplicate the new NOTE insn introduced by this optimization. * cfglayout.h (scan_ahead_for_unlikely_executed_note): Add new extern function declaration. * cfgrtl.c (can_delete_note_p): Add NOTE_INSN_UNLIKELY_EXECUTED_CODE to list of notes that can be deleted. (create_basic_block_structure): Add initialization for partition field. (rtl_can_merge_blocks): Modify to test blocks for jumps that cross section boundaries. (try_redirect_by_replacing_jump): Modify to not attempt on jumps that cross section boundaries. (commit_one_edge_insertion): Add code so newly created basic block ends up in correct (hot or cold) section. Modify to disallow insertions before NOTE_INSN_UNLIKELY_EXECUTED_CODE notes. (rtl_verify_flow_info_1): Add code to verify that no fall_thru edge crosses section boundaries. (cfg_layout_can_merge_blocks_p): Modify to test blocks for jumps that cross section boundaries. (force_nonfallthru_and_redirect): Modify to make sure new basic block ends up in correct section, with correct notes attached. * common.opt (freorder-blocks-and-partition): Add new flag for this optimization. * dbxout.c (dbx_function_end): Add code to make sure scope labels at the end of functions are written into the correct (hot or cold) section. (dbx_source_file): Add code so writing debug file information doesn't incorrectly change sections. * defaults.h (NORMAL_TEXT_SECTION_NAME): New constant macro, for use in partitioning hot/cold basic blocks into separate sections. (SECTION_FORMAT_STRING): New constant macro, for linux/i386 hot/cold section partitioning. (HAS_LONG_COND_BRANCH): New constant macro, indicating whether or not conditional branches can span all of memory. (HAS_LONG_UNCOND_BRANCH): New constant macro, indicationg whether or not unconditional branches can span all of memory. * final.c (scan_ahead_for_unlikely_executed_note): New function. (final_scan_insn): Add code to check for NOTE instruction indicating whether basic block belongs in hot or cold section, and to make sure the current basic block is being written to the appropriate section. Also added code to ensure that jump table basic blocks end up in the correct section. * flags.h (flag_reorder_blocks_and_partition): New flag. * ifcvt.c (find_if_case_1): Modify to not attempt if conversion if one of the branches has a jump that crosses between sections. (find_if_case_2): Likewise. (ifcvt): Modify to not attempt to mark loop exit edges after hot/cold partitioning has occurred. * opts.c (decode_options): Code to handle new flag, flag_reorder_blocks_and_partition; also to turn it off if flag_exceptions is on. (common_handle_option): Code to handle new flag, flag_reorder_blocks_and_partition. * output.h (unlikely_text_section): New extern function declaration. (in_unlikely_text_section): New extern function declaration. * passes.c (rest_of_handle_stack_regs): Add flag_reorder_blocks_and_partition as an 'or' condition for calling reorder_basic_blocks. (rest_of_handle_reorder_blocks): Add flag_reorder_blocks_and_partition as an 'or' condition for calling reorder_basic_blocks. (rest_of_compilation): Add call to partition_hot_cold_basic_blocks. * print-rtl.c (print_rtx): Add code for handling new note, NOTE_INSN_UNLIKELY_EXECUTED_CODE * rtl.c (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note insn (see below). (REG_CROSSING_JUMP): New kind of reg_note, to mark jumps that cross between section boundaries. * rtl.h (NOTE_INSN_UNLIKELY_EXECUTED_CODE): New note instruction, indicating the basic block containing it belongs in the cold section. (REG_CROSSING_JUMP): New type of reg_note, to mark jumps that cross between hot and cold sections. * toplev.c (flag_reorder_blocks_and_partition): Add code to initialize this flag, and to tie it to the command-line option freorder-blocks-and-partition. * varasm.c (cfglayout.h): Add new include statement. (unlikely_section_label_printed): New global variable, used for determining when to output section name labels for cold sections. (in_section): Add in_unlikely_executed_text to enum data structure. (text_section): Modify code to use SECTION_FORMAT_STRING and NORMAL_TEXT_SECTION_NAME macros. (unlikely_text_section): New function. (in_unlikely_text_section): New function. (function_section): Add code to make sure beginning of function is written into correct section (hot or cold). (assemble_start_function): Add code to make sure stuff is written to the correct section. (assemble_zeros): Add in_unlikely_text_section as an 'or' condition to an if statement that was checking 'in_text_section'. (assemble_variable): Add 'in_unlikely_text_section' as an 'or' condition to an if statement that was checking 'in_text_section'. (default_section_type_flags_1): Add check: if in cold section flags = SECTION_CODE. * config/darwin.c (darwin_asm_named_section): Modify to use SECTION_FORMAT_STRING if we are partitioning hot/cold blocks. * config/i386/i386.h (HAS_LONG_COND_BRANCH): Defined this macro specifically for the i386. (HAS_LONG_UNCOND_BRANCH): Defined this macro specifically for the i386. * config/rs6000/darwin.h (UNLIKELY_EXECUTED_TEXT_SECTION_NAME): Change text string to something more informative. (NORMAL_TEXT_SECTION_NAME): Add new definition. (SECTION_FORMAT_STRING): Add new definition. * config/rs6000/rs6000.c (rs6000_assemble_integer): Add '!in_unlikely_text_section' as an 'and' condition to an if statement that was already checking '!in_text_section'. * config/rs6000/sysv4.h (HOT_TEXT_SECTION_NAME,NORMAL_TEXT_SECTION_NAME, UNLIKELY_EXECUTED_TEXT_SECTION_NAME,SECTION_FORMAT_STRING): Make sure these are properly defined for linux on ppc. * doc/invoke.texi (freorder-blocks-and-partition): Add documentation for this new flag. * doc/rtl.texi (REG_CROSSING_JUMP): Add documentation for new reg_note. * doc/tm.texi (NORMAL_TEXT_SECTION_NAME, SECTION_FORMAT_STRING, HAS_LONG_COND_BRANCH, HAS_LONG_UNCOND_BRANCH): Add documentation for these new macros. From-SVN: r80564
2004-04-09 21:57:47 +02:00
Reorder basic blocks and partition into hot and cold sections
freorder-functions
Common Report Var(flag_reorder_functions)
Reorder functions to improve code placement
frerun-cse-after-loop
Common Report Var(flag_rerun_cse_after_loop)
Add a common subexpression elimination pass after loop optimizations
frerun-loop-opt
Common Report Var(flag_rerun_loop_opt)
Run the loop optimizer twice
frounding-math
Common Report Var(flag_rounding_math)
Disable optimizations that assume default FP rounding behavior
fsched-interblock
Common Report Var(flag_schedule_interblock) Init(1)
Enable scheduling across basic blocks
fsched-spec
Common Report Var(flag_schedule_speculative) Init(1)
Allow speculative motion of non-loads
fsched-spec-load
Common Report Var(flag_schedule_speculative_load)
Allow speculative motion of some loads
fsched-spec-load-dangerous
Common Report Var(flag_schedule_speculative_load_dangerous)
Allow speculative motion of more loads
fsched-verbose=
Common RejectNegative Joined
-fsched-verbose=<number> Set the verbosity level of the scheduler
fsched2-use-superblocks
Common Report Var(flag_sched2_use_superblocks)
If scheduling post reload, do superblock scheduling
fsched2-use-traces
Common Report Var(flag_sched2_use_traces)
If scheduling post reload, do trace scheduling
fschedule-insns
Common Report Var(flag_schedule_insns)
Reschedule instructions before register allocation
fschedule-insns2
Common Report Var(flag_schedule_insns_after_reload)
Reschedule instructions after register allocation
; sched_stalled_insns means that insns can be moved prematurely from the queue
; of stalled insns into the ready list.
fsched-stalled-insns
Common Report Var(flag_sched_stalled_insns)
Allow premature scheduling of queued insns
fsched-stalled-insns=
Common RejectNegative Joined UInteger
-fsched-stalled-insns=<number> Set number of queued insns that can be prematurely scheduled
; sched_stalled_insns_dep controls how many recently scheduled cycles will
; be examined for a dependency on a stalled insn that is candidate for
; premature removal from the queue of stalled insns into the ready list (has
; an effect only if the flag 'sched_stalled_insns' is set).
fsched-stalled-insns-dep
Common Report Var(flag_sched_stalled_insns_dep,1) Init(1)
Set dependence distance checking in premature scheduling of queued insns
fsched-stalled-insns-dep=
Common RejectNegative Joined UInteger
-fsched-stalled-insns-dep=<number> Set dependence distance checking in premature scheduling of queued insns
fshared-data
Common Report Var(flag_shared_data)
Mark data as shared rather than private
fsignaling-nans
Common Report Var(flag_signaling_nans)
Disable optimizations observable by IEEE signaling NaNs
fsingle-precision-constant
Common Report Var(flag_single_precision_constant)
Convert floating point constants to single precision constants
Makefile.in (rtl-profile.o, [...]): Add GCC_H dependency. * Makefile.in (rtl-profile.o, value-prof.o): Add GCC_H dependency. * common.opt (fspeculative-prefetching): New. * flags.h (flag_speculative_prefetching_set): Declare. * gcov-io.c (gcov_write_counter, gcov_read_counter): Allow negative values. * opts.c (flag_sepculative_prefetching_set): New variable. (common_handle_option): Handle -fspeculative-prefetching. * passes.c (rest_of_compilation): Ditto. * profile.c (instrument_values, compute_value_histograms, branch_prob): Use vectors instead of arrays. * toplev.c (process_options): Handle -fspeculative-prefetching. * rtl-profile.c: Include ggc.h. (rtl_gen_interval_profiler, rtl_gen_pow2_profiler, rtl_gen_one_value_profiler_no_edge_manipulation, rtl_gen_one_value_profiler, rtl_gen_const_delta_profiler): Type of argument changed. * tree-profile.c (tree_gen_interval_profiler, tree_gen_pow2_profiler, tree_gen_one_value_profiler, tree_gen_const_delta_profiler): Type of argument changed. * value-prof.c: Include ggc.h. (NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX): New macros. (insn_prefetch_values_to_profile, find_mem_reference_1, find_mem_reference_2, find_mem_reference, gen_speculative_prefetch, speculative_prefetching_transform): New. (value_profile_transformations): Call speculative_prefetching_transform. (insn_values_to_profile): Call insn_prefetch_values_to_profile. (insn_divmod_values_to_profile, rtl_find_values_to_profile, tree_find_values_to_profile, find_values to profile): Use vectors instead of arrays. (free_profiled_values): Removed. * value-prof.h (struct histogram_value): Renamed to struct histogram_value_t. (histogram_value, histogram_values): New types. (find_values_to_profile): Declaration changed. (free_profiled_values): Removed. (struct profile_hooks): Type of argument of the hooks changed to histogram_value. * doc/invoke.texi (-fspeculative-prefetching): Document. From-SVN: r86930
2004-09-01 22:58:55 +02:00
fspeculative-prefetching
Common Report Var(flag_speculative_prefetching)
Use value profiling for speculative prefetching
; Emit code to probe the stack, to help detect stack overflow; also
; may cause large objects to be allocated dynamically.
fstack-check
Common Report Var(flag_stack_check)
Insert stack checking code into the program
fstack-limit
Common
fstack-limit-register=
Common RejectNegative Joined
-fstack-limit-register=<register> Trap if the stack goes past <register>
fstack-limit-symbol=
Common RejectNegative Joined
-fstack-limit-symbol=<name> Trap if the stack goes past symbol <name>
fstrength-reduce
Common Report Var(flag_strength_reduce)
Perform strength reduction optimizations
; Nonzero if we should do (language-dependent) alias analysis.
; Typically, this analysis will assume that expressions of certain
; types do not alias expressions of certain other types. Only used
; if alias analysis (in general) is enabled.
fstrict-aliasing
Common Report Var(flag_strict_aliasing)
Assume strict aliasing rules apply
fsyntax-only
Common Report Var(flag_syntax_only)
Check for syntax errors, then stop
ftest-coverage
Common Report Var(flag_test_coverage)
Create data files needed by \"gcov\"
fthread-jumps
Common Report Var(flag_thread_jumps)
Perform jump threading optimizations
ftime-report
Common Report Var(time_report)
Report the time taken by each compiler pass
ftls-model=
Common Joined RejectNegative
-ftls-model=[global-dynamic|local-dynamic|initial-exec|local-exec] Set the default thread-local storage code generation model
ftracer
Common Report Var(flag_tracer)
Perform superblock formation via tail duplication
; Zero means that floating-point math operations cannot generate a
; (user-visible) trap. This is the case, for example, in nonstop
; IEEE 754 arithmetic.
ftrapping-math
Common Report Var(flag_trapping_math) Init(1)
Assume floating-point operations can trap
ftrapv
Common Report Var(flag_trapv)
Trap for signed overflow in addition, subtraction and multiplication
ftree-based-profiling
Common Report Var(flag_tree_based_profiling)
Use tree-ssa based implementation of profiling
ftree-ccp
Common Report Var(flag_tree_ccp)
Enable SSA-CCP optimization on trees
ftree-ch
Common Report Var(flag_tree_ch)
Enable loop header copying on trees
ftree-combine-temps
Common Report Var(flag_tree_combine_temps)
Coalesce memory temporaries in the SSA->normal pass
ftree-copyrename
Common Report Var(flag_tree_copyrename)
Replace SSA temporaries with better names in copies.
ftree-dce
Common Report Var(flag_tree_dce)
Enable SSA dead code elimination optimization on trees
ftree-dominator-opts
Common Report Var(flag_tree_dom)
Enable dominator optimizations
ftree-dse
Common Report Var(flag_tree_dse)
Enable dead store elimination
common.opt (ftree-fre): New flag. * common.opt (ftree-fre): New flag. * flags.h (flag_tree_fre): Declare. * opts.c (decode_options): Set. * timevar.def (TV_TREE_FRE): Define. * tree-flow-inline.h (may_propagate_copy): Re-arrange for readability. Handle destinations that are not SSA_NAMEs. * tree-flow.h (struct ptr_info_def): Move from tree.h (cprop_into_stmt, cprop_into_successor_phis): Remove. (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Add vuse_optype parameter. * tree-pass.h (pass_fre): Declare. * tree-ssa-copy.c (cprop_operand): Move to tree-ssa-dom.c (cprop_into_stmt): Likewise. (cprop_into_successor_phis): Likewise. * tree-ssa-dom.c (eliminate_redundant_computations): Fix argument ordering in call to may_propagate_copy. * tree-ssa-pre.c (is_undefined_value): Assume hard registers to be always defined. (add_to_sets): New local function. (create_value_expr_from): New local function. (compute_avail): Call them. (eliminate): Don't ignore statements with virtual operands. (init_pre): New local function. (fini_pre): New local function. (execute_pre): Call them. Add argument DO_FRE. Don't do insertion if DO_FRE is true. (do_pre): New function. (do_fre): New function. (gate_fre): New function. (pass_fre): Declare. * tree-ssa.c (init_tree_ssa): Don't call vn_init. (delete_tree_ssa): Don't call vn_delete. * tree-vn.c (val_expr_pair_d): Add documentation. (vn_compute): Add VUSES argument to incorporate in computing hash values. Update all callers. (expressions_equal_p): Call operand_equal_p with OEP_PURE_SAME. (vn_add): Add VUSES argument. Update all callers. (vn_lookup): Likewise. (vn_lookup_or_add): Likewise. * doc/invoke.texi: Document -ftree-fre and -fdump-tree-fre. From-SVN: r83837
2004-06-29 03:53:04 +02:00
ftree-fre
Common Report Var(flag_tree_fre)
Enable Full Redundancy Elimination (FRE) on trees
ftree-loop-im
Common Report Var(flag_tree_loop_im) Init(1)
Enable loop invariant motion on trees
ftree-loop-linear
Common Report Var(flag_tree_loop_linear)
Enable linear loop transforms on trees
ftree-loop-ivcanon
Common Report Var(flag_tree_loop_ivcanon)
Create canonical induction variables in loops
ftree-loop-optimize
Common Report Var(flag_tree_loop_optimize) Init(1)
Enable loop optimizations on tree level
ftree-pre
Common Report Var(flag_tree_pre)
Enable SSA-PRE optimization on trees
ftree-sra
Common Report Var(flag_tree_sra)
Perform scalar replacement of aggregates
ftree-ter
Common Report Var(flag_tree_ter)
Replace temporary expressions in the SSA->normal pass
ftree-lrs
Common Report Var(flag_tree_live_range_split)
Perform live range splitting during the SSA->normal pass.
funit-at-a-time
Common Report Var(flag_unit_at_a_time)
Compile whole compilation unit at a time
funroll-loops
Common Report Var(flag_unroll_loops)
Perform loop unrolling when iteration count is known
funroll-all-loops
Common Report Var(flag_unroll_all_loops)
Perform loop unrolling for all loops
; Nonzero means that unsafe floating-point math optimizations are allowed
; for the sake of speed. IEEE compliance is not guaranteed, and operations
; are allowed to assume that their arguments and results are "normal"
; (e.g., nonnegative for SQRT).
funsafe-math-optimizations
Common Report Var(flag_unsafe_math_optimizations)
Allow math optimizations that may violate IEEE or ISO standards
funswitch-loops
Common Report Var(flag_unswitch_loops)
Perform loop unswitching
funwind-tables
Common Report Var(flag_unwind_tables)
Just generate unwind tables for exception handling
Josef Zlomek <zlomekj@suse.cz> Josef Zlomek <zlomekj@suse.cz> * Makefile.in (var-tracking.o): New. * common.opt (fvar-tracking): New. * flags.h (flag_var_tracking): New. * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added. * opts.c (common_handle_option): Add OPT_fvar_tracking. * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added. * rtl.c (note_insn_name): Likewise. * rtl.def (VAR_LOCATION): New. * rtl.h (NOTE_VAR_LOCATION): New. (NOTE_VAR_LOCATION_DECL): New. (NOTE_VAR_LOCATION_LOC): New. (enum insn_note): NOTE_INSN_VAR_LOCATION was added. (variable_tracking_main): New exported function. * timevar.def (TV_VAR_TRACKING): New. * toplev.c (enum dump_file_index): Added DFI_vartrack. (dump_file): "vartrack" was added (-dV). (flag_var_tracking): New. (f_options): "var-tracking" was added. (rest_of_handle_variable_tracking): New function. (rest_of_compilation): Run variable tracking. (process_options): If user has not specified flag_var_tracking set it according to optimize, debug_info_level and debug_hooks. * tree.h (frame_base_decl): New. * var-tracking.c: New file. * config/ia64/ia64.c (ia64_flag_var_tracking): New variable. (ia64_override_options): Set flags to run variable tracking in machine dependent reorg instead of toplev.c. (ia64_reorg): Run variable tracking if wanted. * doc/invoke.texi: Mention variable tracking in -dV, add and -fvar-tracking. * doc/passes.texi: Added variable tracking pass. Daniel Berlin <dberlin@dberlin.org> * debug.h (struct gcc_debug_hooks): Added var_location debug hook. * dbxout.c (dbx_debug_hooks): Likewise. (xcoff_debug): Likewise. * debug.c (do_nothing_debug_hooks): Likewise. * dwarf2out.c (dwarf2_debug_hooks): Likewise. * dwarfout.c (dwarf_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * final.c (final_scan_insn): Call var_location debug hook for each NOTE_INSN_VAR_LOCATION. Co-Authored-By: Daniel Berlin <dberlin@dberlin.org> From-SVN: r77418
2004-02-06 21:03:45 +01:00
fvar-tracking
Common Report Var(flag_var_tracking) VarExists
Josef Zlomek <zlomekj@suse.cz> Josef Zlomek <zlomekj@suse.cz> * Makefile.in (var-tracking.o): New. * common.opt (fvar-tracking): New. * flags.h (flag_var_tracking): New. * gengtype.c (adjust_field_rtx_def): NOTE_INSN_VAR_LOCATION was added. * opts.c (common_handle_option): Add OPT_fvar_tracking. * print-rtl.c (print_rtx): NOTE_INSN_VAR_LOCATION was added. * rtl.c (note_insn_name): Likewise. * rtl.def (VAR_LOCATION): New. * rtl.h (NOTE_VAR_LOCATION): New. (NOTE_VAR_LOCATION_DECL): New. (NOTE_VAR_LOCATION_LOC): New. (enum insn_note): NOTE_INSN_VAR_LOCATION was added. (variable_tracking_main): New exported function. * timevar.def (TV_VAR_TRACKING): New. * toplev.c (enum dump_file_index): Added DFI_vartrack. (dump_file): "vartrack" was added (-dV). (flag_var_tracking): New. (f_options): "var-tracking" was added. (rest_of_handle_variable_tracking): New function. (rest_of_compilation): Run variable tracking. (process_options): If user has not specified flag_var_tracking set it according to optimize, debug_info_level and debug_hooks. * tree.h (frame_base_decl): New. * var-tracking.c: New file. * config/ia64/ia64.c (ia64_flag_var_tracking): New variable. (ia64_override_options): Set flags to run variable tracking in machine dependent reorg instead of toplev.c. (ia64_reorg): Run variable tracking if wanted. * doc/invoke.texi: Mention variable tracking in -dV, add and -fvar-tracking. * doc/passes.texi: Added variable tracking pass. Daniel Berlin <dberlin@dberlin.org> * debug.h (struct gcc_debug_hooks): Added var_location debug hook. * dbxout.c (dbx_debug_hooks): Likewise. (xcoff_debug): Likewise. * debug.c (do_nothing_debug_hooks): Likewise. * dwarf2out.c (dwarf2_debug_hooks): Likewise. * dwarfout.c (dwarf_debug_hooks): Likewise. * sdbout.c (sdb_debug_hooks): Likewise. * vmsdbgout.c (vmsdbg_debug_hooks): Likewise. * final.c (final_scan_insn): Call var_location debug hook for each NOTE_INSN_VAR_LOCATION. Co-Authored-By: Daniel Berlin <dberlin@dberlin.org> From-SVN: r77418
2004-02-06 21:03:45 +01:00
Perform variable tracking
tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees. * tree-vectorizer.c: New File: loop vectorization on SSAed GIMPLE trees. * tree-vectorizer.h: New File: Same. * Makefile.in (tree-vectorizer.c, tree-vectorizer.h): Add new files. * common.opt (ftree-vectorize): New flag to enable vectorization. * timevar.def (TV_TREE_VECTORIZATION): New dump file for vectorization pass. * tree-data-ref.h (init_data_ref): Additional argument. (array_base_name_differ_p): Moved to tree-data-ref.c. * tree-data-ref.c (array_base_name_differ_p): Revised. (initialize_data_dependence_relation): Call array_base_name_differ_p with an extra argument. (analyze_all_data_dependences): Same. (init_data_ref): Additional argument is_read to set DR_IS_READ. * tree-ssa-phiopt.c (empty_block_p): Expose for usage out of this file. * tree-flow.h (vectorize_loops, empty_block_p): Add declaration. * tree-optimize.c (pass_vectorize): Schedule the vectorization pass. * tree-pass.h (tree_opt_pass pass_vectorize): Declare the new vectorization pass. * tree-ssa-loop.c (tree_ssa_loop_init): Call scev_initialize. (tree_ssa_loop_done): Call scev_finalize. (tree_vectorize): Define the new vectorization pass. * defaults.h (UNITS_PER_SIMD_WORD): Allow targets to specify the size of the vector they support (until support for multiple vector sizes is added to the vectorizer). * config/i386/i386.h (UNITS_PER_SIMD_WORD): Define. * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Define. * invoke.texi (fdump-tree-vect, ftree-vectorize): Add documentation. From-SVN: r86131
2004-08-17 18:17:14 +02:00
ftree-vectorize
Common Report Var(flag_tree_vectorize)
Enable loop vectorization on trees
; -fverbose-asm causes extra commentary information to be produced in
; the generated assembly code (to make it more readable). This option
; is generally only of use to those who actually need to read the
; generated assembly code (perhaps while debugging the compiler itself).
; -fno-verbose-asm, the default, causes the extra information
; to not be added and is useful when comparing two assembler files.
fverbose-asm
Common Report Var(flag_verbose_asm)
Add extra commentary to assembler output
re PR c++/9283 (__attribute__((visibility ("hidden"))) not supported for class/struct) PR c++/9283 PR c++/15000 * c-common.c (c_common_attribute_table): Allow handle_visibility_attribute to be called for types. (handle_visibility_attribute) When given a type, set the visibility bits on the TYPE_NAME. When given a decl, don't set no_add_attrs so that we can check later whether the attribute was present. Added warning if attribute applied to non class type. * c-decl.c (diagnose_mismatched_decls): Updated rules for merging decls and checking that they are consistent. * common.opt: Added -fvisibility. * c.opt, c-opts.c: Added -fvisibility-inlines-hidden. * c-pragma.h, c-pragma.c: Added handle_pragma_visibility(). * flags.h, tree.h: Added assorted support defines for overall patch * opts.c: Added parsing support for -fvisibility. * tree.c (build_decl): Set visibility for all decls to be whatever is in force at that time. * varasm.c (default_binds_local_p_1): Reworked logic determining when to make a symbol locally bound. * doc/invoke.texi: Added documentation for -fvisibility and -fvisibility-inlines-hidden. PR c++/15000 PR c++/9283 * class.c (check_field_decls): Apply hidden visibility if -fvisibility-inlines-hidden and inlined unless otherwise specified (build_vtable): Set vtable visibility to class visibility. (check_field_decls): Default static member visibility to class visibility. (check_methods): Default method visibility to class visibility. * cp-tree.h: Added CLASSTYPE_VISIBILITY and CLASSTYPE_VISIBILITY_SPECIFIED macro. * decl.c (duplicate_decls): New logic for merging definition decls with declaration decls. Added ignore & warning when non default applied to global operator new or delete. * method.c, optimize.c, rtti.c: Added setting of VISIBILITY_SPECIFIED wherever VISIBILITY was changed * rtti.c (get_tinfo_decl): Set typeinfo visibility to class visibility. (tinfo_base_init): Set typeinfo name visibility to class visibility. PR c++/9283 PR c++/15000 * gcc.dg/visibility-9.c, gcc.dg/visibility-a.c: New tests. * g++.dg/ext/visibility/: New directory. * g++.dg/ext/visibility-1.C, g++.dg/ext/visibility-2.C g++.dg/ext/visibility-3.C, g++.dg/ext/visibility-4.C, g++.dg/ext/visibility-5.C, g++.dg/ext/visibility-6.C, g++.dg/ext/visibility-7.C: Move to g++.dg/ext/visibility/. * g++.dg/ext/visibility/fvisibility.C, g++.dg/ext/visibility/fvisibility-inlines-hidden.C, g++.dg/ext/visibility/fvisibility-override1.C g++.dg/ext/visibility/fvisibility-override2.C g++.dg/ext/visibility/memfuncts.C g++.dg/ext/visibility/noPLT.C g++.dg/ext/visibility/pragma.C g++.dg/ext/visibility/pragma-override1.C g++.dg/ext/visibility/pragma-override2.C g++.dg/ext/visibility/staticmemfuncts.C g++.dg/ext/visibility/virtual.C: New tests. Co-Authored-By: Brian Ryner <bryner@brianryner.com> From-SVN: r85167
2004-07-26 00:52:22 +02:00
fvisibility=
Common Joined RejectNegative
-fvisibility=[default|internal|hidden|protected] Set the default symbol visibility
fvpt
Common Report Var(flag_value_profile_transformations)
Use expression value profiles in optimizations
fweb
Common Report Var(flag_web) VarExists
Construct webs and split unrelated uses of single variable
fwrapv
Common Report Var(flag_wrapv)
Assume signed arithmetic overflow wraps around
fzero-initialized-in-bss
Common Report Var(flag_zero_initialized_in_bss) Init(1)
Put zero initialized data in the bss section
g
Common JoinedOrMissing
Generate debug information in default format
gcoff
Common JoinedOrMissing
Generate debug information in COFF format
gdwarf-2
Common JoinedOrMissing
Generate debug information in DWARF v2 format
ggdb
Common JoinedOrMissing
Generate debug information in default extended format
gstabs
Common JoinedOrMissing
Generate debug information in STABS format
gstabs+
Common JoinedOrMissing
Generate debug information in extended STABS format
gvms
Common JoinedOrMissing
Generate debug information in VMS format
gxcoff
Common JoinedOrMissing
Generate debug information in XCOFF format
gxcoff+
Common JoinedOrMissing
Generate debug information in extended XCOFF format
m
Common Joined
o
Common Joined Separate
-o <file> Place output into <file>
p
Common Var(profile_flag)
Enable function profiling
pedantic
Common Var(pedantic)
Issue warnings needed for strict compliance to the standard
pedantic-errors
Common
Like -pedantic but issue them as errors
Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
quiet
Common Var(quiet_flag)
Do not display functions compiled or elapsed time
Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
version
Common Var(version_flag)
Display the compiler's version
w
Common Var(inhibit_warnings)
Suppress warnings
Makefile.in: Update to use common.opt and lang_opt_files. * Makefile.in: Update to use common.opt and lang_opt_files. (c-options.c, c-options.h): Remove. (options.c, options.h): Add. * c-opts.c: Include options.h not c-options.h. * common.opt: New file. * configure, configure.in: Add lang_opt_files. * opts.c: Include flags.h and diagnostic.h. (common_handle_option): New. (handle_option): Update to recognize common options and all language-dependent options. * opts.h (CL_F77, CL_JAVA, CL_ADA, CL_COMMON, CL_TREELANG): New. (struct cl_option): Make flags of type int. * opts.h: Flag option with front ends to which it applies. Handle duplicate options. * toplev.c (filename): Remove. (independent_decode_option): Don't handle filenames and -quiet. (process_options, do_compile): Update. ada: * Make-lang.in: Update to use options.c and options.h. * misc.c: Include options.h not aoptions.h. (gnat_handle_option): Abort on unrecognized switch. (gnat_init_options): Request Ada switches. cp: * Make-lang.in: Remove c-options.o. f: * Make-lang.in: Update to use options.c and options.h. * top.c: Include options.h not f-options.h. (gnat_handle_option): Abort on unrecognized switch. (ffe_init_options): From com.c. Request F77 options. (ffe_handle_options): Abort on unrecognized switch. * com.c (ffe_init_options): Move to top.c. * top.h (fee_init_options): New. java: * Make-lang.in: Update to use options.c and options.h. * lang.c: Include options.h not j-options.h. (java_handle_option): Abort on unrecognized option. (java_init_options): Request Java switches. treelang: * Make-lang.in: Update to use options.c and options.h. * tree1.c: Include options.h not t-options.h. (treelang_init_options): New. (treelang_handle_option): Abort on unrecognized switch. * treetree.c (LANG_HOOKS_INIT_OPTIONS): Override. * treetree.h (treelang_init_options): New. From-SVN: r67941
2003-06-14 14:26:36 +02:00
; This comment is to ensure we retain the blank line above.