OSDN Git Service

PR rtl-optimization/15521:
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index b2bb26c..55d2914 100644 (file)
@@ -1,3 +1,345 @@
+2004-06-09  J"orn Rennecke <joern.rennecke@superh.com>
+
+       PR rtl-optimization/15521:
+       * sched-int.h (in_post_call_group_p): Change type to enum.
+       * sched-deps.c (sched_analyze_insn):
+       (sched_analyze): When in_post_call_group_p is post_call_initial,
+       don't add a dependency, but still set SCHED_GROUP_P and CANT_MOVE,
+       and also reset in_post_call_group_p to post_call.
+       (sched_analyze): When the previous basic block ended in a CALL_INSN,
+       initialize in_post_call_group_p as post_call_initial.
+       (init_deps): initialize in_post_call_group_p to not_post_call.
+       
+2004-06-09  Arnaud Charlet  <charlet@act-europe.fr>
+
+       PR ada/6637
+       * doc/install.texi: List ada, libada as options to --enable-shared
+
+2004-06-09  Paolo Bonzini  <bonzini@gnu.org>
+
+       * aclocal.m4 (gcc_AC_PROG_LN): Remove.
+       (gcc_AC_CHECK_DECLS): Use AH_TEMPLATE to generate
+       config.in entries.
+       * configure.ac: Call ACX_PROG_LN, falling back to $LN_S
+       if hard links are not available.
+       * configure: Regenerate.
+       * config.in: Regenerate.
+
+2004-06-08  Per Bothner  <per@bothner.com>
+
+       * configure.ac:  New --enable-mapped-location sets USE_MAPPED_LOCATION.
+
+2004-06-08  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>
+
+       * toplev.c (floor_log2_wide): Correct casts for 64-bit hosts.
+       Correct formatting.
+
+2004-06-08  James E Wilson  <wilson@specifixinc.com>
+
+       PR target/15790
+       * config/i386/i386-coff.h (ASM_OUTPUT_ALIGN): Define.
+
+2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * fold-const.c (fold_convert): Treat OFFSET_TYPE like
+       POINTER_TYPE and INTEGER_TYPE.
+
+2004-06-08  Bernardo Innocenti  <bernie@develer.com>
+
+       * modulo-sched.c: Compile only when INSN_SCHEDULING is
+       defined.
+
+2004-06-08  Jeff Law  <law@redhat.com>
+
+        * doc/contrib.texi: Add entries for Stefan Olsson and
+        Ola Ronnerup.
+
+2004-06-08  DJ Delorie  <dj@redhat.com>
+
+       * toplev.c (floor_log2_wide): Replace loop with faster bit
+       operations.
+       (exact_log2_wide): Define in terms of the above.
+       * toplev.h (floor_log2): Use _builtin_clz family of builtins if
+       available.
+
+2004-06-08  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * config/rs6000/rs6000.c (print_operand, <case 'z'>):
+       Make sure that we are in INDIRECT mode when getting the
+       stub name.
+
+2004-06-08  Anil Paranjpe <anilp1@kpitcummins.com>
+
+       * h8300.md (extendqisi2_h8300): Add constraints.
+       (ldm_h8300s_4_normal): Fix typo.
+
+2004-06-08  Richard Henderson  <rth@redhat.com>
+
+        * gimple-low.c (struct lower_data): Replace the_return_label and
+        one_return_stmt with return_statements.
+        (lower_function_body): Process the entire list of return_statements.
+        (lower_return_expr): Check source value before unifying return_exprs.   
+        * gimplify.c (gimplify_return_expr): Force the use of a temporary
+        for !aggregate_value_p.
+        * tree-gimple.c: Update RETURN_EXPR grammer.
+
+2004-06-08  Vladimir Makarov  <vmakarov@redhat.com>
+
+       PR target/15598
+       * config/ia64/ia64.c (bundling): Add missed TYPE_A.
+
+2004-06-08  Zdenek Dvorak  <rakdver@atrey.karlin.mff.cuni.cz>
+
+       PR rtl-optimization/15717
+       * config/i386/i386.c (legitimate_constant_p): Do not allow
+       x - symbol_ref.
+
+2004-06-08  Alexandre Oliva  <aoliva@redhat.com>
+
+       * gimplify.c (copy_if_shared_r): Revert:
+       2004-05-21  Richard Henderson  <rth@redhat.com>
+       * gimplify.c [...] Don't mark VA_ARG_EXPRs volatile here.
+
+2004-06-07  Roger Sayle  <roger@eyesopen.com>
+
+       * expmed.c (add_cost, neg_cost, sdiv_pow2_cheap, smod_pow2_cheap):
+       Make arrays indexed by machine mode.  Rename negate_cost to neg_cost.
+       (init_expmed): Initialize these cost arrays as appropriate.
+       (store_bit_field, extract_bit_field): Correct whitespace.
+       (synth_mult, choose_mult_variant, expand_mult, expand_mult_highpart,
+       expand_mult_highpart_optab, expand_divmod): Update uses of add_cost,
+       neg_cost, sdiv_pow2_cheap, smod_pow2_cheap to index with mode,
+       word_mode or compute_mode as appropriate.
+
+2004-06-07  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR target/15783
+       * config/sparc/sparc.c (function_arg_union_value): Add 'mode'
+       parameter.  Enumerate the registers inside the PARALLEL.
+       (function_arg): Adjust call to function_arg_union_value.
+       (function_value): Likewise.
+
+       * config/sparc/sparc.c (sparc_function_epilogue): Properly format.
+
+2004-06-07  Roger Sayle  <roger@eyesopen.com>
+
+       * real.c (real_copysign): New function to implement libm's copysign.
+       * real.h (real_copysign): Prototype here.
+       * fold-const.c (tree_expr_nonnegative_p): The result of sqrt, sqrtf
+       and sqrtl can be negative, as sqrt(-0.0) = -0.0.  Correct whitespace.
+       * builtins.c (fold_builtin_isascii, fold_builtin_toascii,
+       fold_builtin_isdigit): Add function prototypes.
+       (fold_builtin_copysign): New function to fold copysign, copysignf
+       and copysignl.  Optimize copysign(x,x) as x.  Evaluate copysign of
+       constant arguments at compile-time using real_copysign.  Fold
+       copysign(X,Y) as fabs(X) if Y is always non-negative.
+       (fold_builtin_1): Correct minor whitespace/style issues.  Call
+       fold_builtin_copysign for BUILT_IN_COPYSIGN{,F,L}.
+
+2004-06-07  J"orn Rennecke <joern.rennecke@superh.com>
+
+       * tree.c (iterative_hash_expr): Use real_hash.
+
+2004-06-07  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/14765
+       * c-parse.in (compstmt_primary_start): Set last_expr_type to
+       NULL_TREE.
+
+2004-06-07  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/15815
+       * doc/extend.texi: Deprecate #pragma interface and #pragma
+       implementation.
+
+2004-06-07  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR middle-end/15666
+       * c-decl.c (finish_decl): Use change_decl_assembler_name for the
+       builtin decl as well.
+
+2004-06-07  Roger Sayle  <roger@eyesopen.com>
+
+       PR c/14649
+       * c-typeck.c (require_constant_value, require_constant_elements):
+       Move declarations to the top of the file.
+       (build_function_call): If we require a constant value, fold with
+       fold_initializer.  If the result is a constant, and the function
+       wasn't called using __builtin_foo, issue a pedantic warning.
+       (build_unary_op): If we require a constant value, fold tree with
+       fold_initializer.
+       (build_binary_op): Use require_constant_value to determine whether
+       to call fold or fold_initializer.
+
+2004-06-07  Richard Henderson  <rth@redhat.com>
+
+       * gimple-low.c (struct lower_data): Add the_return_label and
+       one_return_stmt.
+       (lower_function_body): Initialize and use them.
+       (lower_return_expr): New.
+       (lower_stmt): Call it.
+       * gimplify.c (gimplify_return_expr): Force the argument to be either
+       null or a result_decl.
+       * tree-gimple.c: Update gimple grammer to match.
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Deny
+       coalescing of result_decls.
+
+2004-06-07  Richard Henderson  <rth@redhat.com>
+
+       PR rtl-opt/15193
+       * expmed.c (extract_bit_field): Fix vector_extract return.
+
+       * config/i386/i386.md (negv4sf2): New pattern.
+
+2004-06-07  Mark Mitchell  <mark@codesourcery.com>
+
+       PR c++/15337
+       * c-common.c (c_sizeof_or_alignof_type): Use more detailed error
+       message.
+
+2004-06-06  Paolo Bonzini  <bonzini@gnu.org>
+
+       * config.in: Regenerate.
+
+2004-06-06  Steven Bosscher  <stevenb@suse.de>
+
+       * tree-cfg.c (tree_verify_flow_info): Make sure that labels in
+       SWITCH_LABELS are always sorted.
+
+2004-06-06  Steven Bosscher  <stevenb@suse.de>
+
+       * hooks.c (hook_int_void_1): New generic hook.
+       * hooks.h (hook_int_void_1): Add prototype.
+       * config/c4x/c4x.c (TARGET_SCHED_USE_DFA_PIPELINE_INTERFACE):
+       Define to hook_int_void_1.
+       * config/c4x/c4x.md: Replace dummies for the old pipeline model
+       with dummies for the new one.
+
+2004-06-06  Roger Sayle  <roger@eyesopen.com>
+
+       * tree.h (lvalue_or_else): Delete function prototype.
+       * c-typeck.c (lvalue_or_else): Make static.  Add static prototype.
+
+2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
+
+       PR target/14542
+       * config/m68hc11/m68hc11.md (move peephole2): Emit a use note to avoid
+       a live change of a register after peephole replacement.
+
+2004-06-06  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+       PR c/13519
+       * c-typeck.c (composite_type, common_pointer_type): New functions.
+       (common_type): Split parts into composite_type and
+       common_pointer_type.  Ensure that arithmetic operations return
+       unqualified types without attributes.  Don't make composite type
+       of signed enum and compatible integer be unsigned.
+       (build_conditional_expr, build_binary_op): Use
+       common_pointer_type.
+       * c-decl.c (merge_decls): Use composite_type.
+       * c-tree.h (composite_type): Declare.
+
+2004-06-06  Stephane Carrez  <stcarrez@nerim.fr>
+
+       PR target/14457
+       * config/m68hc11/m68hc11.c (splitable_operand): New predicate.
+       * config/m68hc11/m68hc11-protos.h (splitable_operand): Declare.
+       * config/m68hc11/m68hc11.h (PREDICATE_CODES): Register it.
+       (inhibit_libc): Must define.
+       * config/m68hc11/m68hc11.md ("movhi_const0"): Use splitable_operand.
+       ("*andhi3_gen", "iorhi3", "*iorhi3_gen"): Likewise.
+       ("xorhi3"): Likewise.
+
+2004-06-06  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       * cgraphunit.c (cgraph_decide_inlining): Adjust dump lines in
+       always_inline pass.
+
+2004-06-05  David S. Miller  <davem@nuts.davemloft.net>
+
+       * config/sparc/linux.h (TARGET_C99_FUNCTIONS): Set.
+       * config/sparc/linux64.h (TARGET_C99_FUNCTIONS): Likewise.
+
+2004-06-05  Bernardo Innocenti  <bernie@develer.com>
+
+       * regclass.c (init_reg_sets): Check for missing registers in target
+       initializer macros FIXED_REGISTERS and CALL_USED_REGISTERS.
+
+2004-06-05  Zack Weinberg  <zack@codesourcery.com>
+
+       * Makefile.in (MKDEPS_H): New shorthand.
+       (c-opts.o): Update dependencies.
+       * c-opts.c: Include mkdeps.h.
+       (handle_deferred_opts): Use cpp_get_deps and deps_add_target,
+       not cpp_add_dependency_target.
+
+2004-06-05  Steven Bosscher  <stevenb@suse.de>
+
+       * config/v850/v850.c (v850_use_dfa_pipeline_interface): New.
+       * config/v850/v850.md: Convert to DFA scheduler description.
+
+2004-06-05  Tobias Schlueter  <tobias.schlueter@physik.uni-muenchen.de>
+
+       PR fortran/15478
+       * doc/install.texi: Document GMP as prerequisite. Document
+       --with-gmp and --with-gmp-dir configure options.
+       * fortran/gfortran.texi: Remove section "Compiling and testing",
+       remove TOC reference to it.
+
+2004-06-05  Graham Stott  <graham.stott@btinternet.com>
+
+       * combine.c(simplify_shift_const): Check shift amount is a
+       CONST_INT.
+
+2004-06-05  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       * toplev.c (init_asm_output): Add explicit 'b' to mode when
+       opening asm_out_file.
+       * c-pch.c (c_common_write_pch): Remove unnecessary fflush before
+       reading asm_out_file. Replace fflush after reading asm_out_file
+       with fseek.
+       * hosthooks-def.h (HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY): Define
+       default and add to HOST_HOOKS_INITIALIZER.
+       * hosthooks.h (gt_pch_alloc_granularity): Declare hook function.
+       * ggc-common.c (default_gt_pch_alloc_granularity): New function.
+       (gt_pch_save): Use host_hooks.gt_pch_alloc_granularity
+       to set mmi.offset padding.
+        * config.gcc (i[34567]86-*-mingw32*): Set target_gtfiles to
+       $(srcdir)/config/i386/winnt.c.
+       (i[34567]86-*-pe | i[34567]86-*-cygwin*): Likewise.
+       (i[34567]86-*-uwin*): Likewise.
+       *i[34567]86-*-interix3*): Likewise.
+       * config.host (i[34567]86-*-mingw32*): Set out_host_hook_obj.
+       * config/i386/host-mingw32.c: New file.
+       * config/i386/x-mingw32: Add rule for host-mingw32.o.
+       * config/i386/winnt.c: (struct extern_list) Tag as GTY.
+       (extern_head): Likewise.
+       (struct export_list) Likewise.
+       (export_head): Likewise.
+       (i386_pe_record_external_function): Use ggc_alloc.
+       (i386_pe_record_exported_symbol): Likewise.
+       Include "gt-winnt.h" at end.
+       * doc/hostconfig.texi: Document
+       HOST_HOOKS_GT_PCH_ALLOC_GRANULARITY.
+
+2004-06-04  Bernardo Innocenti  <bernie@develer.com>
+
+       * config/m68k/m68k.h: Remove comments copied over from tm.texi.
+       Rename 68000 and 68k to m68k for consistency in comments.  Remove
+       trailing whitespace before EOLs and before TABs.
+       (MAX_CODE_ALIGN): Remove unused macro.
+       (CALL_USED_REGISTERS): Reformat and add comments.
+
+2004-06-04  Frank Ch. Eigler  <fche@redhat.com>
+
+       * gcc.c (MFLIB_SPEC): Remove library references, to require users
+       to enumerate -lmudflap* and dependencies when linking.
+
+2004-06-04  Paolo Bonzini  <bonzini@gnu.org>
+
+       PR target/15822
+       * dojump.c (do_jump): Fix uninitialized variable tcode1.
+
 2004-06-04  Jerry Quinn  <jlquinn@optonline.net>
 
        * Makefile.in (insn-conditions.o): Back out removal of reload.h.
        for TARGET_EXPLICIT_INSTANTIATIONS_ONE_ONLY, with reversed sense.
        * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Likewise.
        * doc/tm.texi (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): Rewrite
-       documentation to reflect the new macro name and to clarify its 
+       documentation to reflect the new macro name and to clarify its
        meaning.
-       
+
 2004-06-03  Steven Bosscher  <stevenb@suse.de>
 
        * rtl.def (VAR_LOCATION): Make RTX_EXTRA.
        Update callers.
        Use new worklist.
        (process_ssa_edge_worklist): New function.
-       (tree_ssa_ccp): Move worklist processing core to 
+       (tree_ssa_ccp): Move worklist processing core to
        process_ssa_edge_worklist, and just call that for the two worklists.
 
 2004-06-03  Steven Bosscher  <stevenb@suse.de>