OSDN Git Service

* tree-scalar-evolution.c (instantiate_parameters_1): Return
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 71e4822..b33491d 100644 (file)
@@ -1,3 +1,362 @@
+2005-03-30  Sebastian Pop  <pop@cri.ensmp.fr>
+
+       * tree-scalar-evolution.c (instantiate_parameters_1): Return 
+       as soon as a chrec_dont_know is detected.
+
+2005-03-31  Danny Smith  <dannysmith@users.sourceforge.net>
+
+       Merge from csl-arm-branch.
+       2004-02-12  Mark Mitchell  <mark@codesourcery.com>
+
+       * tlink.c (recompile_files): Do not assume that "rename" can
+       overwrite an existing file.
+
+2005-03-31  Paolo Bonzini  <bonzini@gnu.org>
+
+       * gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
+       * gcc/configure: Regenerate.
+
+2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+
+       * doc/install.texi: Update binutils requirement for powerpc*-linux.
+
+       * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Update comments.
+
+       * calls.c (struct arg_data): Update "partial" comment.
+       (load_register_parameters): Update "nregs" comment.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/iq2000/iq2000.h (target_flags, MASK_GPOPT, MASK_EMBEDDED_DATA)
+       (MASK_UNINIT_CONST_IN_RODATA, TARGET_EMBEDDED_DATA, TARGET_SWITCHES)
+       (TARGET_DEFAULT, TARGET_CPU_DEFAULT, SUBTARGET_TARGET_OPTIONS)
+       (TARGET_OPTIONS, iq2000_cpu_string, iq2000_arch_string): Delete.
+       (TARGET_DEBUG_MODE, TARGET_DEBUG_A_MODE, TARGET_DEBUG_B_MODE)
+       (TARGET_DEBUG_C_MODE, TARGET_DEBUG_D_MODE): Define to 0 rather
+       than target_flags & 0.
+       * config/iq2000/iq2000.c (iq2000_cpu_string, iq2000_arch_string)
+       (iq2000_arch, iq2000_parse_cpu): Delete.
+       (TARGET_HANDLE_OPTION): Override default.
+       (iq2000_handle_option): New function.
+       (override_options): Remove -march= and -mcpu= handling.
+       * config/iq2000/iq2000.opt: New file.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/c4x/c4x-protos.h (c4x_rpts_cycles, c4x_cpu_version): Delete.
+       * config/c4x/c4x.h (SMALL_MEMORY_FLAG, MPYI_FLAG, FAST_FIX_FLAG)
+       (RPTS_FLAG, C3X_FLAG, TI_FLAG, PARANOID_FLAG, MEMPARM_FLAG, DEVEL_FLAG)
+       (RPTB_FLAG, BK_FLAG, DB_FLAG, DEBUG_FLAG, HOIST_FLAG)
+       (LOOP_UNSIGNED_FLAG, FORCE_FLAG, PRESERVE_FLOAT_FLAG)
+       (PARALLEL_INSN_FLAG, PARALLEL_MPY_FLAG, ALIASES_FLAG, C30_FLAG)
+       (C31_FLAG, C32_FLAG, C33_FLAG, C40_FLAG, C44_FLAG, TARGET_SWITCHES)
+       (TARGET_DEFAULT, TARGET_SMALL, TARGET_MPYI, TARGET_FAST_FIX)
+       (TARGET_RPTS, TARGET_TI, TARGET_PARANOID, TARGET_MEMPARM, TARGET_DEVEL)
+       (TARGET_RPTB, TARGET_BK, TARGET_DB, TARGET_DEBUG, TARGET_HOIST)
+       (TARGET_LOOP_UNSIGNED, TARGET_FORCE, TARGET_PRESERVE_FLOAT)
+       (TARGET_PARALLEL, TARGET_PARALLEL_MPY, TARGET_ALIASES)
+       (c4x_rpts_cycles_string, c4x_cpu_version_string)
+       (TARGET_OPTIONS): Delete.
+       (c4x_rpts_cycles, c4x_cpu_version): Declare.
+       (TARGET_C3X, TARGET_C30, TARGET_C31, TARGET_C32, TARGET_C33)
+       (TARGET_C40, TARGET_C44): Redefine in terms of c4x_cpu_version.
+       * config/c4x/c4x.c (c4x_rpts_cycles_string): Delete.
+       (c4x_cpu_version_string): Delete.
+       (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+       (c4x_handle_option): New function.  Map -m3x and -m4x options to the
+       equivalent -mcpu= option.
+       (c4x_override_options): Remove -mrpts= and -mcpu= handling from here.
+       Deal with the extra conditions in the old TARGET_MPYI, TARGET_RPTB,
+       TARGET_DB, TARGET_PARALLEL and TARGET_PARALLEL_MPY macros by setting
+       or clearing the appropriate MASK_* bit.
+       (c4x_file_start): Use c4x_cpu_version.
+       * config/c4x/c4x.opt: New file.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * doc/options.texi: Document the new MaskExists flag.
+       * opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
+       if the option has the MaskExists flag.
+
+2005-03-30  Richard Sandiford  <rsandifo@redhat.com>
+
+       * opt-functions.awk (flag_set_p, test_flag): New functions.
+       (switch_flags): Use them.
+       * opth-gen.awk: Use flag_set_p to check for flags.
+       * optc-gen.awk: Likewise.  Use opt_args to check for Init(...) flags.
+
+2005-03-30  Ian Lance Taylor  <ian@airs.com>
+
+       * config.host (i[34567]86-*-mingw32*): Don't set
+       host_can_use_collect2 to no.
+
+2005-03-30  Alan Modra  <amodra@bigpond.net.au>
+
+       PR target/20203
+       * builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
+       Remove convert_memory_address call duplicating that in memory_address.
+
+2005-03-29  Richard Henderson  <rth@redhat.com>
+
+       PR c/20519
+       * c-decl.c (c_finish_incomplete_decl): Update complete_array_type call.
+       (build_compound_literal): Likewise.  Propagate decl type into the
+       initializer.
+       (finish_decl): Likewise.  Use new return value from complete_array_type
+       for zero sized arrays.
+       (complete_array_type): Move ...
+       * c-common.c (complete_array_type): ... here.  Change first argument
+       to pointer-to-type-node.  Consistently use sizetype for the index
+       except for zero sized arrays.  Detect zero sized arrays for pedantic
+       mode diagnostics.  Create a new type node instead of modifying the
+       old node in place.
+       * c-tree.h (complete_array_type): Move decl ...
+       * c-common.h (complete_array_type): ... here.
+
+2005-03-29  Richard Henderson  <rth@redhat.com>
+
+       PR tree-opt/19108
+       * tree-sra.c (generate_element_init_1): Handle RANGE_EXPR.
+
+2005-03-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+       * builtin-types.def, c-convert.c, c-format.c, ddg.c, debug.c,
+       debug.h, et-forest.c, et-forest.h, gcov.c, rtl-profile.c,
+       rtlhooks-def.h, rtlhooks.c, sdbout.c, tree-inline.h,
+       tree-profile.c, tsystem.h, value-prof.h: Update copyright.
+
+2005-03-29  Eric Christopher  <echristo@redhat.com>
+
+       * config/mips/mips.c (mips_gimplify_va_arg_expr): Update for
+       truthvalue conversion removal.
+
+2005-03-29  Ian Lance Taylor  <ian@airs.com>
+
+       PR bootstrap/14316
+       * collect2.c: Never include <vfork.h>.
+       (VFORK_STRING, vfork): Don't define.
+       (pid): Remove global variable.
+       (handler): Call raise instead of kill (getpid(), ...).
+       (collect_wait): Add pex parameter.  Change all callers.  Use
+       pex_get_status rather than pwait.
+       (do_wait): Add pex parameter.  Change all callers.
+       (collect_execute): Return struct pex_obj * rather than void.  Use
+       pex routines rather than pexecute.
+       (fork_execute): Get pex_obj from collect_execute, and pass it to
+       do_wait.
+       (scan_prog_file): Use pex routines rather than pipe/vfork/exec.
+       Only declare quit_handler if SIGQUIT is defined.
+       (scan_libraries): Likewise.
+       * collect2.h (collect_execute): Update declaration.
+       (collect_wait): Update declaration.
+       * tlink.c (tlink_execute): Get pex_obj from collect_execute, and
+       pass it to collect_wait.
+
+2005-03-29  Joseph S. Myers  <joseph@codesourcery.com>
+
+       PR c/20672
+       * c-parser.c (c_parser_compound_statement_nostart): Give error
+       message for EOF instead of just setting parser->error.
+
+2005-03-29  Dorit Naishlos  <dorit@il.ibm.com>
+
+       * tree-vectorizer.c (slpeel_update_phi_nodes_for_guard): Removed.
+       (slpeel_update_phi_nodes_for_guard1): New function.
+       (slpeel_update_phi_nodes_for_guard2): New function.
+       (slpeel_tree_peel_loop_to_edge): Call above new functions instead
+       of slpeel_update_phi_nodes_for_guard.
+       (vectorize_loops): Remove call to loop_closed_rewrite.
+       * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Remove
+       assertion.
+
+2005-03-29  Richard Sandiford  <rsandifo@redhat.com>
+
+       * config/m32r/little.h (TARGET_ENDIAN_DEFAULT): Delete.
+       (TARGET_LITTLE_ENDIAN): New macro.
+       * config/m32r/m32r.h (SUBTARGET_SWITCHES, target_flags)
+       (TARGET_RELAX_MASK, TARGET_DEBUG_MASK, TARGET_DEBUG)
+       (TARGET_ALIGN_LOOPS_MASK, TARGET_ALIGN_LOOPS)
+       (TARGET_LOW_ISSUE_RATE_MASK, TARGET_LOW_ISSUE_RATE)
+       (TARGET_BRANCH_COST_MASK, TARGET_BRANCH_COST, TARGET_M32RX_MASK)
+       (TARGET_M32RX, TARGET_M32R2_MASK, TARGET_M32R2, LITTLE_ENDIAN_BIT)
+       (TARGET_ENDIAN_DEFAULT, SUBTARGET_SWITCHES, TARGET_DEFAULT)
+       (TARGET_SWITCHES, m32r_model_string, m32r_sdata_string)
+       (m32r_cache_flush_trap_string, SUBTARGET_OPTIONS)
+       (TARGET_OPTIONS): Delete.
+       (M32R_MODEL_DEFAULT, M32R_SDATA_DEFAULT): Turn into enums.
+       (CACHE_FLUSH_TRAP): Turn into an integer.
+       (TARGET_LITTLE_ENDIAN): Define to 0 by default.
+       (INITIALIZE_TRAMPOLINE): Check m32r_cache_trap >= 0 to see if
+       -mflush-trap is in use.
+       * config/m32r/m32r.c (m32r_model_string, m32r_sdata_string)
+       (m32r_cache_flush_trap_string): Delete.
+       (m32r_model) Initialize to M32R_MODEL_DEFAULT.
+       (m32r_sdata): Likewise M32R_SDATA_DEFAULT.
+       (m32r_cache_trap): Likewise CACHE_FLUSH_TRAP.
+       (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+       (m32r_handle_option): New function.  Move -mflush-trap=, -mflush-func=,
+       -mmodel= and -msdata= handling from...
+       (m32r_init): ...here.
+       * config/m32r/m32r.opt: New file.
+
+2005-03-29  Keith Besaw  <kbesaw@us.ibm.com>
+
+       * tree-ssanames.c (duplicate_ssa_name_ptr_info): New function.
+       (duplicate_ssa_name): Call duplicate_ssa_name_ptr_info.
+       * tree-vect-analyze.c (vect_object_analysis): additional parm
+       pass back a "struct ptr_info_def *" with the points-to info.
+       (vect_analyze_data_refs): set the STMT_VINFO_PTR_INFO for the
+       statement using info returned from vect_object_analysis.
+       * tree-vect-transform.c (update_vuses_to_preheader): New function.
+       (vect_create_data_ref_ptr): Remove updates to vars_to_rename
+       for virtual uses and defs when creating a replacement vector
+       reference.  Call duplicate_ssa_name_ptr_info to define points-to
+       info for vector pointer replacement using STMT_VINFO_PTR_INFO.
+       (vectorizable_store): copy_virtual_operands and update
+       definition statements.
+       (vectorizable_load): copy_virtual_operands.  Remove call to
+       mark_call_clobbered_vars_to_rename for call to "const" builtin.
+       * tree-vectorizer.c (vectorize_loops): Remove calls to
+       rewrite_into_ssa and bitmap_clear (vars_to_rename).
+       (new_stmt_vec_info): initialize STMT_VINFO_PTR_INFO for stmt.
+       * tree-vectorizer.h (_stmt_vec_info): add field ptr_info and
+       define macro STMT_VINFO_PTR_INFO for use in accessing.
+       * tree.h add export of duplicate_ssa_name_ptr_info.
+       * rs6000.c (altivec_init_builtins): Declare builtin function
+       __builtin_altivec_mask_for_load to be "const".
+
+2005-03-29  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/20622
+       * cgraph.h (struct cgraph_varpool_node): Add alias field.
+       * cgraph.c (cgraph_varpool_assemble_pending_decls): Don't call
+       assemble_variable on aliases.
+       * varasm.c (assemble_alias): Set node->alias.
+       * toplev.c (wrapup_global_declarations): Don't call
+       rest_of_decl_compilation on aliases again.
+
+2005-03-29  Paul Brook  <paul@codesourcery.com>
+
+       * config/arm/arm-protos.h (arm_dbx_register_number): Add prototype.
+       * config/arm/arm.c (arm_dbx_register_number): New function.
+       * config/arm/arm.h (IS_FPA_REGNUM, DBX_REGISTER_NUMBER): Define.
+
+2005-03-29  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+       PR middle-end/20263
+       * varasm.c (make_decl_rtl) [ASM_DECLARE_REGISTER_GLOBAL]: Use
+       the DECL_NAME, not the DECL_ASSEMBLER_NAME.
+
+2005-03-29  Dale Johannesen <dalej@apple.com>
+
+       * Makefile.in (value-prof.o): New dependencies on $(DIAGNOSTIC_H)
+       $(TREE_H) and $(COVERAGE_H).
+       * coverage.c (compute_checksum): Use DECL_NAME not DECL_ASSEMBLER_NAME.
+       * opts.c (common_handle_option): Enable tree-based value transforms.
+       * toplev.c (process_options): Ditto.
+       * value-prof.h (struct histogram_value_t): Redefine. "Adjust" below
+       refers to references to this type.
+       * tree-flow.h: (struct stmt_ann_d): Add histograms field.
+       * rtl-profile.c (rtl_gen_interval_profiler): Adjust. Remove checks
+       for may_be_more, may_be_less.
+       (rtl_gen_pow2_profiler): Adjust.
+       (rtl_gen_one_value_profiler_no_edge_manip): Adjust.
+       (rtl_gen_one_value_profiler): Adjust.
+       (rtl_gen_const_delta_profiler): Adjust.
+       * tree-profile.c (tree_gen_interval_profiler): Implement.
+       (tree_gen_pow2_profiler): Ditto.
+       (tree_gen_one_value_profiler): Ditto.
+       (tree_profiling): New.
+       (pass_tree_profile): Reference it.
+       * value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h,
+       tree.h, gcov-io.h.
+       (insn_divmod_values_to_profile): Rename to 
+       rtl_divmod_values_to_profile. Adjust.
+       (insn_values_to_profile): Rename to rtl_values_to_profile. Adjust.
+       (insn_prefetch_values_to_profile): Adjust.
+       (rtl_value_profile_transformations): Adjust.
+       (gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value.
+       (gen_mod_pow2): Rename to rtl_mod_pow2.
+       (gen_mod_subtract): Rename to rtl_mod_subtract.
+       (divmod_fixed_value_transform): Rename to 
+       rtl_divmod_fixed_value_transform.
+       (mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform.
+       (mod_subtract_transform): Rename to rtl_mod_subtract_transform.
+       (rtl_find_values_to_profile): Adjust.
+       (tree_value_profile_transformations): Implement.
+       (tree_divmod_values_to_profile): New.
+       (tree_values_to_profile): New.
+       (tree_divmod_fixed_value): New.
+       (tree_mod_pow2): New.
+       (tree_mod_subtract): New.
+       (tree_divmod_fixed_value_transform): New.
+       (tree_mod_pow2_value_transform): New.
+       (tree_mod_subtract_transform): New.
+       (tree_find_values_to_profile): Implement.
+       * profile.c (instrument_values):  Free histograms.
+       (compute_value_histograms): Adjust. Implement tree version.
+
+2005-03-29  Uros Bizjak  <uros@kss-loka.si>
+
+       * reg-stack.c (subst_stack_regs_pat): Handle <UNSPEC_FIST> case.
+       * config/i386/i386.c (output_fix_trunc): Add new round_mode
+       variable.  Output "fldcw" depending on round_mode.
+       * config/i386/i386.md (UNSPEC_FIST): New.
+       (fistdi2, fistdi2_with_temp, fist<mode>2, fist<mode>2_with_temp):
+       New isns patterns to implement lrint and llrint built-ins as x87
+       intrinsic function.
+       (fistdi2, fist<mode>2 splitters): New splitters.
+       (lrint<mode>2): New expanders.
+
+2005-03-28  Ian Lance Taylor  <ian@airs.com>
+
+       * config/arc/arc.c (arc_output_function_epilogue): Pass prescan as
+       0 when calling final_scan_insn.
+
+2005-03-28  Jan Hubicka  <jh@suse.cz>
+
+       PR middle-end/20635
+       * varasm.c (mark_decl_referenced): Do not mark extern inline functions
+       as needed.
+
+       * tree-inline.c (estimate_num_insns_1): Use declaration to discover argument
+       types where possible.
+
+2005-03-26  Per Bothner  <per@bothner.com>
+
+       Make -f[no-]show-column also control non-cpp diagnostics.
+       * c.opt (fshow-column): Move option from here ...
+       * common.opt (fshow-column): ... to here.
+       * diagnostic.c (diagnostic_build_prefix): Only print column number
+       if flag_show_column.
+
+2005-03-27  Steven Bosscher  <stevenb@suse.de>
+
+       * vax-protos.h (vax_output_int_move, vax_output_int_add,
+       vax_output_conditional_branch): New prototypes.
+       * vax.c (vax_output_int_move, vax_output_int_add): New functions,
+       extracted from vax.md mov and add patterns.
+       (vax_output_conditional_branch): New function to output conditional
+       branch instructions.
+       * vax.md: Use mode macros for arithmetic and mov patterns.
+       Use code macros for the jump patterns.
+
+2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       * Makefile.in (libbackend.o): Depend on version files;
+       add custom generation command.
+
+2005-03-26  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR target/20636
+       * config/rs6000/rs6000.md (extendsfdf2_fpr): Check to make
+       sure that we have a REG before getting its REGNO.
+
+2005-03-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
+
+       * builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New.
+       * builtins.def (BUILT_IN_STRNDUP): New.
+
 2005-03-25  Pat Haugen  <pthaugen@us.ibm.com>
 
        PR tree-optimization/20470
 2005-03-25  John David Anglin  <dave.anglin@nrc-crnc.gc.ca>
 
        PR target/15491
-        * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
+       * vax.c (vax_rtx_costs_1): Merge with vax_rtx_costs.
        (vax_rtx_costs): Return false when passed unsupported rtx's.  Handle
        FLOAT_EXTEND, FLOAT_TRUNCATE and TRUNCATE.  Fix costs for POST_INC,
        PRE_DEC, NEG and NOT.
 
 2005-03-22  Richard Guenther <rguenth@tat.physik.uni-tuebingen.de>
            Jan Hubicka  <jh@suse.cz>
-           Steven Bosscher <stevenb@suse.de
+           Steven Bosscher <stevenb@suse.de>
 
        * cgraphunit.c (cgraph_estimate_size_after_inlining): Compute
        call cost based on argument sizes.