OSDN Git Service

2003-09-16 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 5eb0b96..3c0e428 100644 (file)
@@ -1,3 +1,700 @@
+2003-09-16  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>
+        
+        * doc/invoke.texi (Warning Options): Add missing hyphen before
+        "Wimport".  Change "-Wno-endif-labels" to "-Wendif-labels".
+        Move "-Wold-style-definition" to the C-only section.
+        Fix the ordering of the warning options.
+
+2003-09-15  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+           Jeff Law  <law@redhat.com>
+
+       * gcse.c (remove_reachable_equiv_notes): New.
+       replace_store_insn): Call it.  Update antic list.
+       (store_killed_in_insn): Take REG_EQUAL notes into account.
+       (build_store_vectors, delete_store): Add parameter to
+       replace_store_insn call.
+
+2003-09-15  Bob Wilson  <bob.wilson@acm.org>
+
+       * config/xtensa/xtensa.h (LEGITIMATE_PIC_OPERAND_P): Use
+       SYMBOL_REF_LOCAL_P.
+
+2003-09-15  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * expr.h (DEFAULT_FUNCTION_ARG_PADDING): New.
+       (FUNCTION_ARG_PADDING): Use DEFAULT_FUNCTION_ARG_PADDING.
+       * config/ia64/ia64.c (ia64_hpux_function_arg_padding):
+       Likewise.
+       * config/m68hc11/m68hc11.c (m68hc11_function_arg_padding):
+       Likewise.
+       * config/rs6000/rs6000.c (function_arg_padding): Likewise.
+       * config/sparc/sparc.c (function_arg_padding): Likewise.
+
+2003-09-15  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * haifa-sched.c (schedule_block): Use ready_remove_first instead
+       of choose_ready for non-dfa insn scheduling.
+
+2003-09-15  Andreas Jaeger  <aj@suse.de>
+            Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+       * doc/invoke.texi (Warning Options): Describe -Wold-style-definition.
+       * c-opts.c (c_common_handle_option): Handle OPT_Wold_style_definition.
+       * c-parse.in: Warn about old-style parameter definition.
+       * c-common.c: Define warn_old_style_defintion.
+       * c-common.h: Declare it.
+       * c.opt: Add Wold-style-defintion.
+
+2003-09-15  Andreas Jaeger  <aj@suse.de>
+
+       * config/rs6000/altivec.h: Convert () prototypes to ISO C90.
+       * config/rs6000/rs6000.c: Likewise.
+
+2003-09-12  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR optimization/10914
+       * expr.h (get_condition, canonicalize_condition): Declaration changed.
+       * cfgloopanal.c (simple_loop_exit_p): Add parameter to a get_condition
+       and canonicalize_condition calls.
+       * gcse.c (fis_get_condition, delete_null_pointer_checks_1,
+       delete_null_pointer_checks): Ditto.
+       * ifcvt.c (noce_get_alt_condition, noce_get_condition): Ditto.
+       * predict.c (estimate_probability, expected_value_to_br_prob): Ditto.
+       * loop.c (check_dbra_loop, get_condition_for_loop): Ditto.
+       (canonicalize_condition, get_condition): Allow to return comparisons
+       of cc mode registers.
+       * loop-unswitch.c (may_unswitch_on_p, unswitch_single_loop): Allow
+       cc mode registers comparison in condition.
+
+2003-09-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * coverage.c (create_coverage): Do not call pushlevel/poplevel.
+       * langhooks-def.h (lhd_do_nothing_iii_return_null_tree): New
+       function.
+       * langhooks.c (lhd_do_nothing_iii_return_null_tree): Define it.
+       
+2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * combine.c (simplify_comparison): Convert
+       (ne (and (lshiftrt (xor X CST) Y) 1) 0) into
+       (eq (and (lshiftrt X Y) 1) 0).
+
+2003-09-14  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * alias.c: Follow spelling conventions.
+       * cpphash.h: Likewise.
+       * fold-const.c: Likewise.
+
+2003-09-14  Alexandre Oliva  <aoliva@redhat.com>
+
+       * c-ppoutput.c (cb_line_change): Revert 2003-08-04's change.
+       * c-lex.c (cb_line_change): Skip line changing whenever
+       c-ppoutput.c would.
+
+2003-09-14  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * ra.c: Convert to ISO C90 prototypes.
+       * ra-build.c: Likewise.
+       * ra-colorize.c: Likewise.
+       * ra-debug.c: Likewise.
+       * ra-rewrite.c: Likewise.
+
+2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
+
+       * Makefile.in (%.dvi): Remove excess $(docdir).
+
+2003-09-14  Richard Sandiford  <rsandifo@redhat.com>
+
+       * function.c (STACK_BYTES): Move definition to head of file.
+       (assign_parms): Don't pass current_function_pretend_args_size
+       directly to SETUP_INCOMING_VARARGS.  For partial register arguments,
+       round current_function_pretend_args_size up to STACK_BYTES.  Skip any
+       excess before laying out the argument.
+
+2003-09-14  Andreas Jaeger  <aj@suse.de>
+
+       * objc/objc-act.c: Convert to ISO C90 prototypes.
+       * objc/objc-act.h: Likewise.
+
+2003-09-14  Olaf Hering  <olh@suse.de>
+
+       * config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
+
+2003-09-13  Andrew Pinski <pinskia@physics.uc.edu>
+
+       PR target/12021
+       * config/m68k/netbsd-elf.h (TARGET_OS_CPP_BUILTINS): Remove the asserts
+       as they already are done in config/m68k/m68k.h.
+       * config/m68k/netbsd.h (TARGET_OS_CPP_BUILTINS): Likewise
+
+       * config/rs6000/rs6000.c (GEN_LOCAL_LABEL_FOR_SYMBOL): Remove.
+       (machopic_output_stub): Only generate pic base symbols when using pic
+       and generate them in the form L00000000$spb.
+
+2003-09-13  Richard Henderson  <rth@redhat.com>
+
+       * cgraphunit.c (cgraph_assemble_pending_functions): Export.
+       (cgraph_finalize_function): Revert TREE_ASM_WRITTEN check.
+       * cgraph.h: Update.
+
+2003-09-12  Dale Johannesen  <dalej@apple.com>
+
+       * config/rs6000/rs6000.c: Fix typos in previous.
+
+2003-09-12  Ziemowit Laski  <zlaski@apple.com>
+
+       * pretty-print.c (pp_construct): Use xcalloc instead of xmalloc
+       when allocating pp->buffer.
+
+2003-09-12  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/darwin.c (machopic_select_rtx_section): Use
+       const_data_section for things that might require relocation.
+
+2003-09-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR bootstrap/12264
+       * tree-inline.c (inline_forbidden_p_1): Cast the 3rd arg to tree.
+
+2003-09-12  Bob Wilson  <bob.wilson@acm.org>
+       
+       * config/xtensa/elf.h (ASM_SPEC): Remove no-density option.  Reformat.
+       * config/xtensa/linux.h (ASM_SPEC): Likewise.
+       * config/xtensa/xtensa.h (TARGET_SWITCHES): Remove -mbig-endian,
+       -mlittle-endian, -m[no-]density, -m[no-]abs, -m[no-]addx, -m[no-]mac16,
+       -m[no-]mul16, -m[no-]mul32, -m[no-]nsa, -m[no-]minmax, -m[no-]sext,
+       -m[no-]booleans, -mhard-float, -msoft-float, -m[no-]hard-float-div,
+       -m[no-]hard-float-recip, -m[no-]hard-float-sqrt, and
+       -m[no-]hard-float-rsqrt options.  Delete corresponding MASK_* macros
+       and redefine corresponding TARGET_* macros with constants from the
+       xtensa-config.h header.
+       * doc/invoke.texi (Option Summary, Xtensa Options): Remove documention
+       for the options listed above.
+       
+2003-09-12  Dale Johannesen  <dalej@apple.com>
+
+       * config/rs6000/rs6000-protos.h:  Use C90 prototypes.
+       * config/rs6000/rs6000-c.c:  Ditto. 
+       * config/rs6000/rs6000.c:  Ditto.
+       * config/rs6000/ sysv4.h:  Ditto.
+
+2003-09-12  Chris Lattner <sabre@nondot.org>
+
+       * loop.c: Move comments describing BIV's and GIV's to top of file
+
+2003-09-12  Roger Sayle  <roger@eyesopen.com>
+
+       PR optimization/8967
+       * alias.c (write_dependence_p): Modify to take an additional constp
+       argument that controls whether the UNCHANGING_RTX_P flags are used.
+       (anti_dependence, output_dependence): Adjust write_dependence_p
+       callers to pass this additional argument, to return the same result.
+       (unchanging_anti_dependence): New variant of anti_dependence that
+       ignores the UNCHANGING_RTX_P property on memory references.
+       * rtl.h (unchaning_anti_dependence): Prototype here.
+       * flow.c (init_propagate_block): Place fake constant mem writes on
+       the mem_set_list so that dead writes to const variables are deleted.
+       (insn_dead_p): Change anti_dependence to unchanging_anti_dependence.
+       (mark_used_regs): Likewise.
+
+2003-09-12  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/mcore/mcore-protos.h (mcore_r15_operand_p): Declare.
+       (mcore_secondary_reload_class): Declare.
+       (mcore_output_inline_const_forced): Remove.
+       * config/mcore/mcore.md (movsi): Remove the code that forced
+       non-inlineable constants into a register if the target was r15
+       or the stack pointer.  Remove constant restrictions from the main
+       define_insn.  Remove r <- I, r <- M and r <- N alternatives in favor
+       of an r <- P alternative.  Remove fallback define_insn for reload.
+       (movhi, movqi): Use gen_lowpart rather than gen_SUBREG.  Remove reload
+       define_insn.  Use mcore_output_move in the remaining define_insn.
+       Adjust condition and constraints in the way as for movsi.
+       (movdi): Always split unacceptable constants into two.  Use
+       simplify_gen_subreg instead of operand_subword{,_force}.
+       * config/mcore/mcore.c (mcore_output_inline_const_forced): Remove.
+       (mcore_output_move): Support HImode and QImode moves as well.
+       (mcore_m15_operand_p): New function.
+       (mcore_reload_class): Use it to detect cases where LRW_REGS are better.
+       (mcore_secondary_reload_class): New function.
+       * config/mcore/mcore.h (SECONDARY_RELOAD_CLASS): Redefine in
+       terms of mcore_secondary_reload_class.
+
+2003-09-11  Mike Stump  <mrs@apple.com>
+
+       * c-lex.c (fe_file_change): Don't transform to_line with SOURCE_LINE.
+
+2003-09-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (fold_builtin_logarithm): if N can't be truncated to
+       MODE exactly, then only convert logN(N) -> 1.0 if
+       flag_unsafe_math_optimizations is set.
+
+       * builtins.c (builtin_dconsts_init, dconstpi, dconste,
+       init_builtin_dconsts): Delete.
+       * emit-rtl.c (dconstpi, dconste): Define.
+       (init_emit_once): Initialize dconstpi & dconste.
+       * real.h (dconstpi, dconste): Declare.
+
+2003-09-11  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR fortran/11522
+       * dwarf2out.c (gen_inlined_subroutine_die): Emit abstract function
+       for ultimate origin even if block is abstract.
+
+2003-09-11  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (combine_simplify_rtx): Move several NOT and NEG
+       optimizations from here...
+       * simplify-rtx.c (simplify_unary_operation): to here.  Recursively
+       simplify expressions using simplify_gen_*ary instead of gen_rtx_*.
+
+2003-09-11  Richard Henderson  <rth@redhat.com>
+
+       * cgraphunit.c (cgraph_finalize_function): Add nested arg.
+       Tweek tests for function already generated.
+       (cgraph_expand_function): Don't double announce in !unit-at-a-time.
+       * cgraph.h (cgraph_finalize_function): Update for extra arg.
+       * c-decl.c (finish_function): Likewise.
+
+2003-09-10  Joe Buck  <jbuck@welsh-buck.org>
+
+       * c-decl.c (poplevel): Eliminate use of |= in function_body assignment.
+
+2003-09-10  Jerry Quinn  <jlquinn@optonline.net>
+
+       * real.c: Update URL to VAX floating point docs.
+       (decode_vax_d): Extract 8 exponent bits instead of 7.
+
+2003-09-10  Ian Lance Taylor  <ian@wasabisystems.com>
+
+       * combine.c (force_to_mode): Set fuller_mask based only on mask,
+       not op_mode.
+
+Thu Sep 11 01:21:05 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * c-objc-common.c (c_cannot_inline_tree_fn): Warn
+       on why function is not inlinable; do not check
+       the body.
+       (inline_forbidden_p): Move to...
+       * tree-inline.c (inline_forbidden_p_1): ... here; Add warnings;
+       deal with alloca, longjmp.
+       (inline_forbidden_p): New static function.
+       (find_alloca_call_1, find_alloca_call, find_builtin_longjmp_call_1,
+       find_builtin_longjmp_call): Kill.
+
+2003-09-10  Richard Henderson  <rth@redhat.com>
+
+       * cgraph.h (struct cgraph_node): Rename lowered to analyzed.
+       * cgraphunit.c: Update to match.
+       (record_call_1): Rearrange.  Call lang hook for language nodes.
+       (cgraph_analyze_function): Don't call lower_function.
+       * langhooks.h (struct lang_hooks_for_callgraph): Replace 
+       lower_function with analyze_expr.
+       * langhooks-def.h: Update to match.
+       * langhooks.c (lhd_callgraph_analyze_expr): New.
+
+2003-09-10  Martin Husemann  <martin@duskware.de>
+
+       PR target/11965
+       * config/sparc/sparc.c (sparc_v8plus_shift): Protect against
+       constants greater than 63.
+       * config/sparc/sparc.md (ashlsi3, ashrsi3, lshrsi3): Protect
+       against constants greater than 31.
+       (*ashldi3_sp64, *ashrdi3_sp64, *lshrdi3_sp64): Protect against
+       constants greater than 63.
+
+2003-09-09  Richard Henderson  <rth@redhat.com>
+
+       * cgraphunit.c (cgraph_finalize_function): Remove unused argument.
+       * cgraph.h (cgraph_finalize_function): Update.
+       * c-decl.c (finish_function): Update.
+
+2003-09-09  Devang Patel  <dpatel@apple.com>
+
+       * config/darwin.h (LINK_SPEC): Pass -nofixprebinding to linker.
+       * doc/invoke.texi: Document new Darwin linker option -nofixprebinding.
+       
+2003-09-09  Eric Christopher  <echristo@redhat.com>
+
+       * configure.in: Change usage of 'head' to 'sed 1q'.
+       * configure: Regenerate.
+
+2003-09-09  Richard Henderson  <rth@redhat.com>
+
+       * except.c: Include cgraph.h.
+       (output_function_exception_table): Invoke
+       cgraph_varpool_mark_needed_node.
+       * Makefile.in (except.o): Update.
+
+2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * Makefile.in: Define REMAKEFLAGS for LANGUAGES & BOOT_CFLAGS
+       and use it throughout.
+
+2003-09-09  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtins.c (real_dconstp, fold_builtin_logarithm,
+       fold_builtin_exponent): New, split out from fold_builtin.  Also
+       generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
+       * emit-rtl.c (dconst3, dconst10, dconstthird): New.
+       (init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
+       of hardcoded array size.
+       * fold-const.c (fold): Add cases for exp2, exp10 and pow10.
+       (tree_expr_nonnegative_p): Likewise.
+       * real.h (dconst3, dconst10, dconstthird): New.
+
+Tue Sep  9 22:18:48 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cgraphunit.c (cgraph_finalize_function): Fix handling of extern
+       inline functions.
+       (cgraph_finalize_compilation_unit): Fix crash when dealing with lost
+       DECL_SAVED_TREE.
+
+2003-09-09  Roger Sayle  <roger@eyesopen.com>
+
+       * builtins.c (fold_builtin_cabs): Protect the complex argument
+       against multiple evaluation when optimizing cabs* into sqrt*.
+
+Tue Sep  9 15:36:28 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * varasm.c (notice_global_symbol):  Properly deal with weak symbols.
+
+2003-09-08  Kelley Cook <kelleycook@wideopenwest.com>
+
+       * Makefile.in: Revert yesterday's change.
+
+2003-09-08  Bernardo Innocenti  <bernie@develer.com>
+            Peter Barada <peter@baradas.org>
+
+       * config/m68k/coff.h (REGISTER_NAMES): Add fake register `argptr'
+       * config/m68k/hp320.h (REGISTER_NAMES): Likewise.
+       * config/m68k/linux.h (REGISTER_NAMES): Likewise.
+       * config/m68k/m68kelf.h (REGISTER_NAMES): Likewise.
+       * gcc/config/m68k/sgs.h (REGISTER_NAMES): Likewise.
+       * config/m68k/m68k-protos.h (m68k_initial_elimination_offset): Add prototype.
+       * config/m68k/m68k.c (m68k_frame): New struct, simular to ix86 back-end.
+       (m68k_compute_frame_layout): New function.
+       (m68k_initial_elimination_offset): New function.
+       (m68k_output_function_prologue): ColdFire-specific movem handling.
+       (m68k_output_function_epilogue): Likewise.
+       * config/m68k/m68k.h (FIRST_PSEOUDO_REGISTER): Make room for argptr reg.
+       (ARG_POINTER_REGNUM): Add new definition.
+       (INITIAL_FRAME_POINTER_OFFSET): Remove macro.
+       (ELIMINABLE_REGS): Define new macro, like in ix86 back-end.
+       (CAN_ELIMINATE): Likewise.
+       (INITIAL_ELIMINATION_OFFSET): Likewise.
+
+2003-09-08  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.c (m68k_output_function_prologue): Simplify
+       by removing redundant variable cfa_store_offset.
+
+2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * langhooks-def.h (lhd_register_builtin_type): New function.
+       (LANG_HOOKS_REGISTER_BUILTIN_TYPE): New macro.
+       (LANG_HOOKS_FOR_TYPES_INITIALIZER): Update.
+       * langhooks.h (lang_hooks_for_types): Add register_builtin_type.
+       * langhooks.c (lhd_register_builtin_type): New function.
+       * c-common.h (c_register_builtin_type): Declare.
+       * c-common.c (c_register_builtin_type): New function.
+       * c-lang.c (LANG_HOOKS_REGISTER_BUILTIN_TYPE): Define to
+       c_register_builtin_type.
+       * config/ia64/hpux.h (TARGET_OS_CPP_BUILTINS): Remove __fpreg,
+       __float80, and __float128 macros.
+       * config/ia64/ia64.c (ia64_init_builtins): Create __fpreg,
+       __float80, and __float128 types.
+
+2003-09-08  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def
+       (BT_FN_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE_COMPLEX_LONGDOUBLE,
+       BT_FN_COMPLEX_DOUBLE_COMPLEX_DOUBLE_COMPLEX_DOUBLE,
+       BT_FN_COMPLEX_FLOAT_COMPLEX_FLOAT_COMPLEX_FLOAT): New.
+       * builtins.def (BUILT_IN_CACOS, BUILT_IN_CACOSF, BUILT_IN_CACOSH,
+       BUILT_IN_CACOSHF, BUILT_IN_CACOSHL, BUILT_IN_CACOSL,
+       BUILT_IN_CARG, BUILT_IN_CARGF, BUILT_IN_CARGL, BUILT_IN_CASIN,
+       BUILT_IN_CASINF, BUILT_IN_CASINH, BUILT_IN_CASINHF,
+       BUILT_IN_CASINHL, BUILT_IN_CASINL, BUILT_IN_CATAN,
+       BUILT_IN_CATANF, BUILT_IN_CATANH, BUILT_IN_CATANHF,
+       BUILT_IN_CATANHL, BUILT_IN_CATANL, BUILT_IN_CCOS, BUILT_IN_CCOSF,
+       BUILT_IN_CCOSH, BUILT_IN_CCOSHF, BUILT_IN_CCOSHL, BUILT_IN_CCOSL,
+       BUILT_IN_CEXP, BUILT_IN_CEXPF, BUILT_IN_CEXPL, BUILT_IN_CPOW,
+       BUILT_IN_CPOWF, BUILT_IN_CPOWL, BUILT_IN_CPROJ, BUILT_IN_CPROJF,
+       BUILT_IN_CPROJL, BUILT_IN_CSIN, BUILT_IN_CSINF, BUILT_IN_CSINH,
+       BUILT_IN_CSINHF, BUILT_IN_CSINHL, BUILT_IN_CSINL, BUILT_IN_CSQRT,
+       BUILT_IN_CSQRTF, BUILT_IN_CSQRTL, BUILT_IN_CTAN, BUILT_IN_CTANF,
+       BUILT_IN_CTANH, BUILT_IN_CTANHF, BUILT_IN_CTANHL, BUILT_IN_CTANL):
+       New.
+       * doc/extend.texi: Document new builtins.
+
+Tue Sep  9 02:18:06 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cgraph.c (cgraph_varpool_finalize_decl): Sanity check duplicated
+       finalization.
+       * cgraphunit.c (decide_is_fnction_needed): Avoid special case of nested
+       functions, check for COMDAT.
+       (cgraph_assemble_pending_functions): Break out from...
+       (cgraph_finalize_function): ... here; allow redefinig of extern inline
+       functions.
+       (record_call_1): Record function references only in non-unit-at-a-time
+       mode.
+       (cgraph_analyze_function): Reset current_function_decl.
+       (cgraph_finalize_compilation_unit):  Assemble pending functions.
+
+2003-09-08  Mark Mitchell  <mark@codesourcery.com>
+
+       * mklibgcc.in (libcc.a): Depend on stmp-dirs.
+       (libgov.a): Likewise.
+       (libgcc_eh.a): Likewise.
+
+2003-09-08  Roger Sayle  <roger@eyesopen.com>
+
+       * fold-const.c (operand_equal_p): Clarify documentation.
+
+2003-09-08  Richard Henderson  <rth@redhat.com>
+
+       * c-decl.c (c_expand_body_1): Push and pop function context here.
+       * tree-optimize.c (tree_rest_of_compilation): ... not here.  Take
+       nested argument instead of computing nesting ourselves.
+
+2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * toplev.c (rest_of_handle_stack_regs): Call split_all_insns before
+       regstack if optimizing but not scheduling after reload.
+
+2003-09-08  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/sparc/sparc.c (struct machine_function): New type.
+       (TARGET_HAVE_TLS, TARGET_CANNOT_FORCE_CONST_MEM): Define.
+       (sparc_override_options): Initialize init_machine_status.
+       (tls_symbolic_operand, tgd_symbolic_operand, tld_symbolic_operand,
+       tie_symbolic_operand, tle_symbolic_operand): New functions.
+       (symbolic_operand): Disallow tls_symbolic_operand.
+       (symbolic_memory_operand): Likewise.
+       (tls_call_delay, sparc_cannot_force_const_mem, legitimate_constant_p,
+       constant_address_p, legitimate_pic_operand_p, legitimate_address_p):
+       New functions.
+       (sparc_tls_symbol): New variable.
+       (sparc_tls_get_addr, sparc_tls_got, legitimize_tls_address,
+       legitimize_address): New functions.
+       (print_operand): Handle %&.
+       (sparc_init_machine_status, get_some_local_dynamic_name,
+       get_some_local_dynamic_name_1): New functions.
+       (sparc_output_dwarf_dtprel): New function.
+       * config/sparc/sparc.h (CONSTANT_ADDRESS_P): Moved into
+       constant_address_p.
+       (LEGITIMATE_PIC_OPERAND_P): Moved into legitimate_pic_operand_p.
+       (LEGITIMATE_CONSTANT_P): Moved into legitimate_constant_p.
+       (GO_IF_LEGITIMATE_ADDRESS): Moved into legitimate_address_p.
+       (LEGITIMIZE_ADDRESS): Moved into legitimize_address.
+       (PRINT_OPERAND_PUNCT_VALID_P): Add '&'.
+       (TARGET_TLS, TARGET_SUN_TLS, TARGET_GNU_TLS): Define.
+       (ASM_OUTPUT_DWARF_DTPREL): Define.
+       (PREDICATE_CODES): Add tgd_symbolic_operand, tld_symbolic_operand,
+       tie_symbolic_operand, tle_symbolic_operand.
+       * config/sparc/sparc.md (UNSPEC_TLSGD, UNSPEC_TLSLDM, UNSPEC_TLSLDO,
+       UNSPEC_TLSIE, UNSPEC_TLSLE, UNSPEC_TLSLD_BASE): New constants.
+       (tls_call_delay): New attribute.
+       (in_call_delay): Use it.
+       (movqi, movhi, movsi, movdi): Call legitimize_tls_address if needed.
+       (tgd_hi22, tgd_lo10, tgd_add32, tgd_add64, tgd_call32, tgd_call64,
+       tldm_hi22, tldm_lo10, tldm_add32, tldm_add64, tldm_call32, tldm_call64,
+       tldo_hix22, tldo_lox10, tldo_add32, tldo_add64, tie_hi22, tie_lo10,
+       tie_ld32, tie_ld64, tie_add32, tie_add64, tle_hix22_sp32,
+       tle_lox10_sp32, tle_hix22_sp64, tle_lox10_sp64): New insns.
+       (tldo_ldub_sp32, tldo_ldub1_sp32, tldo_ldub2_sp32, tldo_ldsb1_sp32,
+       tldo_ldsb2_sp32, tldo_ldub_sp64, tldo_ldub1_sp64, tldo_ldub2_sp64,
+       tldo_ldub3_sp64, tldo_ldsb1_sp64, tldo_ldsb2_sp64, tldo_ldsb3_sp64,
+       tldo_lduh_sp32, tldo_lduh1_sp32, tldo_ldsh1_sp32, tldo_lduh_sp64,
+       tldo_lduh1_sp64, tldo_lduh2_sp64, tldo_ldsh1_sp64, tldo_ldsh2_sp64,
+       tldo_lduw_sp32, tldo_lduw_sp64, tldo_lduw1_sp64, tldo_ldsw1_sp64,
+       tldo_ldx_sp64, tldo_stb_sp32, tldo_stb_sp64, tldo_sth_sp32,
+       tldo_sth_sp64, tldo_stw_sp32, tldo_stw_sp64, tldo_stx_sp64): New
+       insns.
+       * config/sparc/sparc-protos.h (legitimate_constant_p,
+       constant_address_p, legitimate_pic_operand_p, legitimate_address_p,
+       legitimize_tls_address, legitimize_address, tls_symbolic_operand,
+       tls_call_delay, sparc_output_dwarf_dtprel): New prototypes.
+       * config/sparc/linux.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Define.
+       * config/sparc/linux64.h (TARGET_GNU_TLS, TARGET_SUN_TLS): Likewise.
+       * configure.in (sparc*-*-*): Add TLS check.
+       * configure: Rebuilt.
+
+2003-09-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/11689
+       * config/i386/i386.c (memory_address_length): Fix computation when
+       the base is esp or ebp.
+
+2003-09-07  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/11852
+       * varasm.c (initializer_constant_valid_p): Correct logic for
+       CONSTRUCTORs.
+
+2003-09-07  Roger Sayle  <roger@eyesopen.com>
+
+       * expr.c (expand_operands): New function to expand an operand pair.
+       (expand_expr): Call expand_operands whenever we need to expand both
+       operands of a binary operator.
+       (do_store_flag): Likewise for operands of comparison operations.
+
+2003-09-07  Roger Sayle  <roger@eyesopen.com>
+
+       * combine.c (combine_simplify_rtx): Don't convert -(A*B) into
+       (-A)*B if we care about sign-dependent rounding.
+
+2003-09-07  Gabriel Dos Reis  <gcc@integrable-solutions.net>
+
+       * c-pretty-print.h (pp_c_left_brace): Declare.
+       (pp_c_right_brace): Likewise.
+       * c-pretty-print.c (pp_c_left_brace): Now a function
+       (pp_c_right_brace): Likewise.
+
+Sun Sep  7 14:50:03 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (try_simplify_condjump): Fix again the preivous patch.
+
+2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * diagnostic.c (warn_deprecated_use): Move to toplev.c
+
+2003-09-07  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * langhooks.c (lhd_print_error_function): Move from diagnostic.c.
+       * Makefile.in (langhooks.o): Depend on diagnostic.h
+
+2003-09-06  James E Wilson  <wilson@tuliptree.org>
+
+       * loop.c (loop_regs_update): Delete else clause for PATTERN rtx and
+       simplify.
+
+2003-09-07  Kelley Cook  <kelleycook@wideopenwest.com>
+
+       * Makefile.in: Define $REMAKE to be $MAKE with LANGUAGES & BOOT_CFLAGS
+       and use it throughout.
+
+2003-09-07  Jan Hubicka  <jh@suse.cz>
+
+       * cfgcleanup.c (try_simplify_condjump): Fix my previous patch.
+
+       * toplev.c  (rest_of_decl_compilation):  Do not finalize external
+       virables.
+
+       * cgraph.c (cgraph_mark_reachable_node): Only enqueue finalized
+       functions.
+       (cgraph_varpool_finalize_decl): Notice global symbol when needed.
+
+2003-09-06  Jan Hubicka  <jh@suse.cz>
+
+       PR target/12070
+       * calls.c (emit_library_call_value_1): Fix saving of BLKmode arguments.
+
+       PR opt/12082
+       * cfgcleanup.c (try_simplify_condjump): Avoid unreachable code warning.
+
+2003-09-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>
+
+       * diagnostic.c (announce_function): Move to toplev.c.
+
+2003-09-06  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       * gcse.c (expr_equiv_p): Don't consider anything to be equal to
+       volatile mem.
+
+2003-09-06  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * ggc-common.c (init_ggc_heuristics): Don't use the heuristics
+       when gc checking is enabled.
+
+2003-09-06  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR c/9862
+       * c-decl.c (c_expand_body_1): Move return warning from here...
+       (finish_function): ...to here.
+
+2003-09-05  Geoffrey Keating  <geoffk@apple.com>
+
+       * config/rs6000/darwin.h (PREFERRED_RELOAD_CLASS): Always return
+       a subset of the input class.
+
+2003-09-05  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * config/i860/i860.c: Follow spelling conventions.
+       * config/i860/i860.h: Likewise.
+       * config/sh/sh.h: Likewise.
+
+2003-09-05  Nitin Yewale  <NitinY@KPITCummins.com>
+
+       * config/h8300/h8300-protos.h: Declare h8300_hard_regno_rename_ok
+       * config/h8300/h8300.h (HARD_REGNO_RENAME_OK): New.
+       * config/h8300/h8300.c (h8300_hard_regno_rename_ok): New.
+
+2003-09-05  Roger Sayle  <roger@eyesopen.com>
+           Richard Henderson  <rth@redhat.com>
+
+       PR optimization/1823
+       * expmed.c (expand_divmod <EXACT_DIV_EXPR>): Use an unsigned
+       multiplication to implement division by constant integer.
+
+Fri Sep  5 07:35:16 CEST 2003  Jan Hubicka  <jh@suse.cz>
+
+       * opts.c (decode_options): Enable unit-at-a-time at -O2.
+       * params.def (max-inline-insns-single): Set to 500
+       (max-inline-insns-auto): Set to 150
+       * invoke.texi (max-inline-insns-single, max-inline-insns-auto): Update.
+
+2003-09-04  Richard Henderson  <rth@redhat.com>
+
+       * cgraph.c (cgraph_mark_reachable_node): Split out from ...
+       (cgraph_mark_needed_node): Remove needed argument.
+       * cgraph.h: Update to match.
+       * cgraphunit.c (decide_is_function_needed): Split out from ...
+       (cgraph_finalize_function): Reorg.  Avoid deferred_inline_function
+       if we generated the function.
+       (record_call_1): Update for cgraph_mark_reachable_node.
+       * varasm.c (mark_referenced): Likewise.
+       * objc/objc-act.c (mark_referenced_methods): Likewise.
+
+2003-09-04  DJ Delorie  <dj@redhat.com>
+
+       * targhooks.c: Add comment explaining the migration process.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * config/frv/t-frv: Fix path for frv-abi.h.
+       * config/frv/frv-asm.h: Fix string concatenation.
+
+2003-09-04  DJ Delorie  <dj@redhat.com>
+
+       * builtins.c (apply_args_size): Guard against a NULL cfun.
+       (expand_builtin_apply_args_1): Likewise.
+       (expand_builtin_apply): Likewise.
+       Fixes PR bootstrap/12172.
+
+2003-09-04  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>
+
+       * configure.in (gcc_cv_as_ix86_cmov_sun_syntax): Check if
+       assembler supports Sun syntax for cmov.
+       * configure: Regenerate.
+       * config.in: Likewise.
+       * config/i386/i386.c: Rename CMOV_SUN_AS_SYNTAX to
+       HAVE_AS_IX86_CMOV_SUN_SYNTAX.
+       * config/i386/sol2.h (CMOV_SUN_AS_SYNTAX): Remove.
+       Fixes PR target/12101.
+
+2003-09-04  Matt Austern  <austern@apple.com>
+
+       * c-common.c (fname_as_string): Use lang_hooks.decl_printable_name
+       with verbosity 0, instead of DECL_NAME, for human-readable string.
+
+2003-09-04  Eric Christopher  <echristo@redhat.com>
+
+       * targhooks.c (default_return_in_memory): Allow
+       unconverted ports.
+
 2003-09-04  Eric Christopher  <echristo@redhat.com>
 
        * targhooks.c (default_return_in_memory): Fix typo
@@ -1470,7 +2167,7 @@ Wed Aug 20 12:08:55 CEST 2003  Jan Hubicka  <jh@suse.cz>
        optimization in C++.
        (ia64_output_mi_thunk): Support ILP32 mode.
 
-2003-08-22  bernardo innocenti  <bernie@develer.com>
+2003-08-22  Bernardo Innocenti  <bernie@develer.com>
 
        * gcc/config/m68k/m68k.c (m68k_coff_asm_named_section): remove unused
        function.