ChangeLog entries since last run on 2005-04-07T10:52:41Z: --- /Users/regress/tbox/changelog_mail/gcc/ChangeLog Tue Apr 5 23:27:46 2005 +++ gcc/ChangeLog Thu Apr 7 17:51:52 2005 @@ -1,3 +1,11 @@ +2005-04-04 Thomas Koenig + + * MAINTAINERS (Write After Approval): Add myself. + +2005-04-07 Bernd Schmidt + + * MAINTAINERS (Port Maintainers): Add self for Blackfin. + 2005-04-06 Paolo Bonzini * Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir. --- /Users/regress/tbox/changelog_mail/gcc/gcc/ChangeLog Thu Apr 7 03:53:49 2005 +++ gcc/gcc/ChangeLog Thu Apr 7 17:51:59 2005 @@ -1,3 +1,54 @@ +2005-04-07 Richard Sandiford + + * config/vax/vax.h (target_flags, MASK_UNIX_ASM, MASK_VAXC_ALIGNMENT) + (MASK_G_FLOAT, TARGET_UNIX_ASM, TARGET_VAXC_ALIGNMENT, TARGET_G_FLOAT) + (TARGET_SWITCHES): Delete. + * config/vax/vax.c (TARGET_DEFAULT_TARGET_FLAGS): Override default. + * config/vax/vax.opt: New file. + +2005-04-07 Daniel Berlin + + * tree-ssa-dse.c (dse_optimize_stmt): Fix incorrect comment. + +2005-04-07 Ian Lance Taylor + + * config/iq2000/iq2000.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Don't + define. + * config/mips/mips.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): Likewise. + * config/sparc/sparc.h (DONT_ACCESS_GBLS_AFTER_EPILOGUE): + Likewise. + +2005-04-07 Kazu Hirata + + * tree-ssa-sink.c (nearest_common_dominator_of_uses): Consider + all immediate uses in PHI nodes. + +2005-04-07 Richard Earnshaw + + * arm.c (arm_const_double_inline_cost): Handle any constant by + using gen_lowpart and gen_highpart_mode. + (note_invalid_constants): All constants in an RTX with a constraint + that permits memory are now pushed to the constant pool. + (output_move_double): Delete code to handle reg to reg and + constant to reg moves. + (const_double_needs_minipool, output_mov_immediate): Delete. + * arm.h (EXTRA_CONSTRAINT_STR_ARM): All 'D' variants now handle + CONST_INT and CONST_VECTOR. + * arm.md (ANY64): New mode macro. + (arm_movdi): Split reg-reg and const-reg moves. Simplify constraints. + (movdf_soft_insn): Split reg-reg and const-reg moves. + (split patterns for 64-bit constant and register moves): New. + * cirrus.md (cirrus_arm_movdi): Split reg-reg and const-reg moves. + (cirrus_movdf_hard_insn): Likewise. + * fpa.md (movdf_fpa): Likewise. + * iwmmxt.md (iwmmxt_arm_movdi): Likewise. + (movv8qi_internal, movv4hi_internal, movv2si_internal): Fix + constraints. + (movv2si_internal_2): Likewise. + * vfp.md (arm_movdi_vfp): Split reg-reg and const-reg moves. + (movdf_vfp): Likewise. + * arm-protos.h (output_mov_immediate): Delete prototype. + 2005-04-07 Joseph S. Myers PR target/20093 --- /Users/regress/tbox/changelog_mail/gcc/gcc/java/ChangeLog Mon Apr 4 19:10:36 2005 +++ gcc/gcc/java/ChangeLog Thu Apr 7 17:52:09 2005 @@ -1,3 +1,12 @@ +2005-04-07 Per Bothner + + * class.c (push_class): By default, suppress debug output. + (finish_class): Enable debug output for classes we're emitting. + +2005-04-07 Andrew Haley + + * gcj.texi: Correct gcj-dbtool instructions. + 2005-04-04 Kazu Hirata * gcj.texi: Fix a typo. --- /Users/regress/tbox/changelog_mail/gcc/gcc/testsuite/ChangeLog Thu Apr 7 03:53:57 2005 +++ gcc/gcc/testsuite/ChangeLog Thu Apr 7 17:52:10 2005 @@ -1,3 +1,13 @@ +2005-04-07 Steven G. Kargl + + * gfortran.dg/tiny_1.f90: New test. + * gfortran.dg/tiny_2.f90: ditto. + +2005-04-07 Thomas Koenig + + * gfortran.dg/eor_1.f90: Fix dg-do run line + * gfortran.dg/open_new.f90: Fix dg-do run line + 2005-04-07 Hans-Peter Nilsson * lib/target-supports.exp (get_compiler_messages): Support ChangeLog entries between 2005-04-07T10:52:41Z and the last time everything passed, on 2005-03-03T14:15:02Z: --- /Users/regress/tbox/changelog_pass/gcc/ChangeLog Wed Mar 2 01:31:07 2005 +++ gcc/ChangeLog Tue Apr 5 23:27:46 2005 @@ -1,3 +1,81 @@ +2005-04-06 Paolo Bonzini + + * Makefile.tpl (BUILD_CONFIGARGS): Include --with-build-subdir. + (TARGET_CONFIGARGS): Include --with-target-subdir. + (configure, all): New macros. Use them throughout. + * Makefile.in: Regenerate. + +2005-04-04 Jon Grimm + + * MAINTAINERS (Write After Approval): Add myself. + +2005-03-31 Zdenek Dvorak + + * MAINTAINERS: Remove 'loop unrolling' maintainer. + +2005-03-30 Gerald Pfeifer + + * MAINTAINERS: Move John Carr to Write After Approval. + +2005-03-30 J"orn Rennecke + + * config/mh-mingw32: Delete. + * configure.in: Don't use it. + * configure: Regenerate. + +2005-03-31 Paolo Bonzini + + * Makefile.def (bfd, opcodes, libstdc++-v3, libmudflap): Set lib_path. + * Makefile.tpl (SET_LIB_PATH, REALLY_SET_LIB_PATH): Remove. + (HOST_EXPORTS, STAGE_HOST_EXPORTS, TARGET_EXPORTS): Set $(RPATH_ENVVAR). + (HOST_LIB_PATH): Generate from Makefile.def. + (TARGET_LIB_PATH): Likewise. + (Old bootstrap targets): Include TARGET_LIB_PATH into RPATH_ENVVAR. + * Makefile.in: Regenerate. + * configure.in (set_lib_path, SET_LIB_PATH, SET_GCC_LIB_PATH): Remove. + (RPATH_ENVVAR): Include Darwin case. + * configure: Regenerate. + +2005-03-29 Thomas Fitzsimmons + + * MAINTAINERS (Various Maintainers): Remove self. + (Write After Approval): Add self. + +2005-03-26 Thomas Fitzsimmons + + * MAINTAINERS (Various Maintainers): Add self. + +2005-03-25 Paolo Bonzini + + * configure.in (RPATH_ENVVAR): Set to DYLD_LIBRARY_PATH on Darwin. + * configure: Regenerate. + +2005-03-21 Zack Weinberg + + * Makefile.def: Remove libstdcxx_incdir, libsubdir, gxx_include_dir, + gcc_version, and gcc_version_trigger from set of flags to pass. + * Makefile.tpl: Remove definitions of above variables. + (config.status): Remove dependency on $(gcc_version_trigger). + * Makefile.in: Regenerate. + * configure.in: Do not reference config/gcc-version.m4 nor + config/gxx-include-dir.m4. Do not invoke TL_AC_GCC_VERSION nor + TL_AC_GXX_INCLUDE_DIR. Do not set gcc_version_trigger. + * configure: Regenerate. + +2005-03-16 Manfred Hollstein + Andrew Pinski + + * Makefile.tpl (check-[+module+]): Fix shell statement inside if ... fi. + * Makefile.in: Regenerate. + +2005-03-13 Feng Wang + + * MAINTAINERS (Write After Approval): Add myself. + +2005-03-03 David Ayers + + * MAINTAINERS (Write After Approval): Add myself. + 2005-03-01 Alexandre Oliva PR libgcj/20160 --- /Users/regress/tbox/changelog_pass/gcc/gcc/ChangeLog Thu Mar 3 06:16:38 2005 +++ gcc/gcc/ChangeLog Thu Apr 7 03:53:49 2005 @@ -1,3 +1,5005 @@ +2005-04-07 Joseph S. Myers + + PR target/20093 + * simplify-rtx.c (simplify_unary_operation_1): Check + SUBREG_PROMOTED_UNSIGNED_P (op) > 0 for zero-extension. + +2005-04-06 James E Wilson + + PR target/20717 + * cgraphunit.c (record_call_1, case FDESC_EXPR): Handle same as + ADDR_EXPR. + +2004-04-06 Richard Sandiford + + * coverage.h (GCOV_TYPE_NODE): Delete. + * coverage.c (coverage_counter_alloc, tree_coverage_counter_ref) + (build_ctr_info_type): Use get_gcov_type () instead of GCOV_TYPE_NODE. + * tree-profile.c (tree_gen_edge_profiler, tree_gen_interval_profiler) + (tree_gen_pow2_profiler, tree_gen_one_value_profiler): Likewise. + * value-prof.c (tree_divmod_fixed_value_transform): Delete. + +2004-04-06 Richard Sandiford + + PR other/20792 + * Makefile.in (gcc.pot): Remove options.c dependency. + * optc-gen.awk: Don't quote help strings with N_(). + +2005-04-06 James A. Morrison + + * c-common.c (handle_malloc_atttribute): Only set DECL_IS_MALLOC if + the function returns a pointer type. + +2005-04-06 Daniel Berlin + + * params.def (PARAM_SALIAS_MAX_IMPLICIT_FIELDS): New + * params.h (SALIAS_MAX_IMPLICIT_FIELDS): New + * doc/invoke.texi: Documnet salias-max-implicit-fields. + * tree-ssa-alias.c (struct used_part): Add implicit_uses and + explicit_uses members. + (get_or_create_used_part_for): Initialize new fields. + (fieldoff_compare): New function. + (create_overlap_variables_for): Count number of fields, use + heuristic to determine whether to create subvars for vars with + only implicit uses. + Sort the field list by offset and avoid creating duplicate SFT's. + +2005-04-06 Richard Sandiford + + * c.opt (-F): Remove trailing whitespace from help string. + (-finput-charset): Use a tab to separate the switch name and help + string. + * common.opt (-fsched-stalled-insns, -fsched-stalled-insns-dep) + (-ftree-vectorizer-verbose): Likewise. + +2005-04-06 Kazu Hirata + + * tree-ssa-sink.c (nearest_common_dominator_of_uses): Look at + a PHI argument where a use occurs instead of all PHI arguments. + +2005-04-06 Joseph S. Myers + + * c-decl.c (finish_decl): Apply pending #pragma weak regardless of + scope. + +2005-04-06 Kazu Hirata + + * cse.c, tree-flow-inline.h, tree-flow.h, tree-ssa-operands.c, + tree-ssa-sink.c, tree.h, config/bfin/bfin.c, + config/bfin/bfin.h: Fix comment typos. + +2005-04-06 Ranjit Mathew + + * doc/install.texi: Update the URL for Jacks. + * doc/sourcebuild.texi: Likewise. + +2005-04-06 Eric Botcazou + + PR target/17245 + * config/sparc/sparc.c (legitimate_address_p): Remove 'imm2'. + Revert 2004-10-08 patch. Reject TFmode LO_SUM in 32-bit mode. + +2005-04-06 Kelley Cook + + * Makefile.in (LIBGCC2_CFLAGS): Revert -pipe change. + +2005-04-06 Richard Sandiford + + * config/v850/v850-protos.h (override_options): Delete. + * config/v850/v850.h (target_flags, MASK_GHS, MASK_LONG_CALLS, MASK_EP) + (MASK_PROLOG_FUNCTION, MASK_DEBUG, MASK_V850, MASK_V850E) + (MASK_SMALL_SLD, MASK_BIG_SWITCH, MASK_NO_APP_REGS, MASK_DISABLE_CALLT) + (MASK_STRICT_ALIGN, MASK_US_BIT_SET, MASK_US_MASK_SET, TARGET_GHS) + (TARGET_LONG_CALLS, TARGET_EP, TARGET_PROLOG_FUNCTION, TARGET_V850) + (TARGET_BIG_SWITCH, TARGET_DEBUG, TARGET_V850E, TARGET_US_BIT_SET) + (TARGET_SMALL_SLD, TARGET_DISABLE_CALLT, TARGET_NO_APP_REGS) + (TARGET_STRICT_ALIGN, TARGET_SWITCHES, TARGET_OPTIONS) + (OVERRIDE_OPTIONS): Delete. + (MASK_CPU): Redefine as MASK_V850 | MASK_V850E. + (small_memory_info): Remove the value field. + (CONDITIONAL_REGISTER_USAGE): Check !TARGET_APP_REGS rather than + TARGET_NO_APP_REGS. + * config/v850/v850.c (small_memory): Remove the value field. + (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults. + (override_options): Delete. + (v850_handle_memory_option, v850_handle_option): New functions. + * config/v850/v850.opt: New file. + +2005-04-06 Geoffrey Keating + + * config.host: Add a section for generic hosts, and a subsection + for Darwin. Add a case for x86-darwin. Update ppc-darwin case. + * config/host-darwin.c: New, split out of config/rs6000/host-darwin.c. + * config/host-darwin.h: New. + * config/x-darwin: New. + * config/i386/host-i386-darwin.c: New. + * config/i386/x-darwin: New. + * config/rs6000/host-darwin.c: Include host-darwin.h. + (darwin_rs6000_gt_pch_get_address): Move to config/host-darwin.c. + (darwin_rs6000_gt_pch_use_address): Likewise. + * config/rs6000/x-darwin: Change name of .o built, update + dependencies for changes to rs6000/host-darwin.c. + +2005-04-06 Ralf Corsepius + + PR target/17824 + * config/c4x/c4x.h (ASM_PROG, LD_PROG): Remove. + +2005-04-06 Dorit Naishlos + + * tree-vect-analyze.c (vect_analyze_loop_form): Call + split_loop_exit_edge instead of loop_split_edge_with. + +2005-04-06 Paolo Bonzini + + * config/rs6000/altivec.md (UNSPEC_VSLW, UNSPEC_SUBS, + UNSPEC_SET_VSCR): New constants, used throughout. + (*andc3_v4sf): New. + (altivec_vspltisb, altivec_vsplitish, altivec_vsplitisw): + Replace with... + (altivec_vspltis): ... this pattern, using + a QImode const_int_operand for the immediate. + (abs2, absv4sf2, altivec_abss_): Rewrite as + define_expands. + +2005-04-06 Ralf Corsepius + + PR target/17822 + * config/avr/t-avr (AR_FOR_TARGET,RANLIB_FOR_TARGET): Remove. + +2005-04-06 Kelley Cook + + * Makefile.in (LIBGCC2_CFLAGS): Compile with -pipe. + +2005-04-06 Ben Elliston + + * gcc.c: Correct comment about DEFAULT_SWITCH_TAKES_ARG and + DEFAULT_WORD_SWITCH_TAKES_ARG which incorrectly reported these + macros as living in "this file" and not gcc.h. + +2005-04-06 Ben Elliston + + * doc/invoke.texi (Optimize Options): Mention -ftree-lrs, not + -ftree-live_range_split. Perhaps renamed at some point? + +2005-04-06 Zdenek Dvorak + + PR target/20625 + * tree-ssa-loop-ivopts.c (generic_type_for): New function. + (add_candidate_1): Use generic_type_for instead of unsigned_type_for. + +2005-04-06 Zdenek Dvorak + + * tree-flow.h (number_of_iterations_cond): Declaration removed. + * tree-ssa-loop-niter.c (number_of_iterations_cond): Made static. + (number_of_iterations_special): New function. + (number_of_iterations_exit): Use number_of_iterations_special. + Use simplify_using_outer_evolutions only at -O3. + (number_of_iterations_cond, tree_simplify_using_condition, + simplify_using_initial_conditions, loop_niter_by_eval, + compare_trees, can_count_iv_in_wider_type_bound, + simplify_using_outer_evolutions): Use fold_build. + +2005-04-05 Thomas Fitzsimmons + + * doc/install.texi (Configuration): Document --with-java-home. + +2005-04-05 Richard Henderson + + PR target/20342 + PR target/20447 + * config/i386/i386.c (print_operand): Handle vector zeros. + (ix86_split_to_parts): Handle CONST_VECTOR. + (ix86_hard_regno_mode_ok): Allow MMX modes in general regs. + (ix86_modes_tieable_p): Use ix86_hard_regno_mode_ok to decide + what modes to tie for MMX and SSE registers. + * config/i386/i386.h (MMX_REG_MODE_P): Remove. + * config/i386/i386.md: Extend move 0 -> xor peephole to apply + to vector modes as well. + * config/i386/predicates.md (const0_operand): Handle VOIDmode + properly as an input mode. + +2005-04-05 Andrew MacLeod + + * tree-ssa-operands.c (verify_abort): Use %p for pointers. + +2005-04-05 Andrew MacLeod + + * tree-pretty-print.c (dump_generic_node): Use %p for pointer. + +2005-04-05 Jakub Jelinek + + * config/i386/i386.c (init_cumulative_args): For -m32 -mfpmath=sse + and local functions, set sse_nregs to 8 and float_in_sse. + (function_arg_advance, function_arg): If float_in_sse, pass + SFmode and DFmode arguments in SSE registers. + * config/i386/i386.h (CUMULATIVE_ARGS): Add float_in_sse field. + + * config/i386/i386.c (ix86_value_regno): Only optimize local functions + of -funit-at-a-time. + +2005-04-05 Paolo Bonzini + + * config/i386/i386-protos.h (ix86_function_value): Accept two + arguments, like the target macro. + * config/i386/i386.h (FUNCTION_VALUE): Pass both arguments. + * config/i386/i386.c (ix86_function_value): Accept the second + argument of the target macro. + (ix86_function_ok_for_sibcall): Pass a function pointer to + ix86_function_value. + (ix86_function_value, ix86_libcall_value) [!TARGET_64BIT]: Adjust + call to ix86_value_regno). + (ix86_value_regno): Add support for returning floating point values + in SSE registers. + +2005-04-05 Jakub Jelinek + + PR tree-optimization/20076 + * tree-inline.c (inline_forbidden_p_1): Prevent inlining functions + that call __builtin_return or __builtin_apply_args. + +2005-04-05 Andrew MacLeod + + * lambda-code.c (lambda_loopnest_to_gcc_loopnest): Use update_stmt. + Use immediate use iterator. + (stmt_is_bumper_for_loop): Use immediate use iterator. + * predict.c (strip_builtin_expect): Use update_stmt. + * tree-cfg.c (update_modified_stmts): New. Call update_stmt_if_modified + on all elements of a STATEMENT_LIST. + (bsi_insert_before, bsi_insert_after): Call update_modified_stmts. + (bsi_remove): Remove imm_use links and mark the stmt as modified. + (bsi_replace): Mark stmt as modified and the update it. + * tree-complex.c (update_complex_assignment): Call mark_stmt_modified. + (expand_complex_libcal): Call update_stmt. + (expand_complex_comparison): Call mark_stmt_modified. + (expand_complex_operations_1): Call update_stmt_if_modified. + (expand_vector_operations_1): Call mark_stmt_modified. + * tree-dfa.c (compute_immediate_uses, free_df_for_stmt, free_df, + compute_immediate_uses_for_phi, compute_immediate_uses_for_stmt, + add_immediate_use, redirect_immediate_use, + redirect_immediate_uses, dump_immediate_uses, debug_immediate_uses, + dump_immediate_uses_for, debug_immediate_uses_for): Delete. + (mark_new_vars_to_rename): Call update_stmt. + * tree-dump.c (dump_option_value_in): Add "stmtaddr". + * tree-flow-inline.h (modify_stmt): Rename to mark_stmt_modified. + Ignore PHI nodes. + (unmodify_stmt): Delete. + (update_stmt): New. Force an update of a stmt. + (update_stmt_if_modified): update a stmt if it is out of date. + (get_stmt_operands): Verify stmt is NOT modified. + (stmt_modified_p): Update comment. + (delink_imm_use): Remove a use node from its immuse list. + (link_imm_use_to_list): Link a use node to a specific list. + (link_imm_use): Link a node to the correct list. + (set_ssa_use_from_ptr): Set a use node to a specific value, and insert + it in the correct list, if appropriate. + (link_imm_use_stmt): Link a use node, and set the stmt pointer. + (relink_imm_use): Link a use node in place of another node in a list. + (relink_imm_use_stmt): LInk a node in place of another node, and set + the stmt pointer. + (end_safe_imm_use_traverse): New. Terminate a safe immuse iterator. + (end_safe_imm_use_p): New. Check for the end of a safe immuse iterator. + (first_safe_imm_use): New. Initialize a safe immuse iterator. + (next_safe_imm_use): New. Proceed to next safe immuse iterator value. + (end_readonly_imm_use_p): New. Check for end of a fast immuse iterator. + (first_readonly_imm_use): New. Initialize a fast immuse iterator. + (next_readonly_imm_use): New. Get the next fast immuse iterator value. + (has_zero_uses): New. Return true if there are no uses of a var. + (has_single_use): New. Return true if there is only a single use of a + variable. + (single_imm_use): New. Return the simgle immediate use. + (num_imm_uses): New. Return the number of immediate uses. + (get_v_must_def_ops): Use is now a pointer. + (use_operand_p, get_v_may_def_op_ptr, get_vuse_op_ptr, + get_v_must_def_kill_ptr, get_phi_arg_def_ptr): Return the address of + the use node. + (get_immediate_uses, num_immediate_uses, immediate_use): Delete. + (delink_stmt_imm_use): Delink all immuses from a stmt. + (phi_arg_index_from_use): New. Return a phi arg index for a use. + * tree-flow.h (struct dataflow_d): Delete. + (immediate_use_iterator_d): New. Immediate use iterator struct. + (FOR_EACH_IMM_USE_FAST): New. Macro for read only immuse iteration. + (FOR_EACH_IMM_USE_SAFE): New. Macro for write-safe immuse iteration. + (BREAK_FROM_SAFE_IMM_USE): New. Macro for earlyu exit from write-safe + iteration. + (struct stmt_ann_d): Remove dataflow_t from struct. + * tree-if-conv.c (tree_if_conversion). Don't call free_df. + (if_convertible_phi_p): Use FAST immuse iterator. + (if_convertible_loop_p): Don't call compute_immediate_uses. + (replace_phi_with_cond_modify_expr): Call update_stmt. + * tree-into-ssa.c (mark_def_sites, ssa_mark_def_sites): Call + update_stmt_if_modified. + (rewrite_all_into_ssa): Initialize ssa operands. + * tree-loop-linear.c (linear_transform_loops): Don't call free_df or + compute_immediate_uses. + * tree-optimize.c (execute_todo): Call verify_ssa whenever the + ssa_property is available. + (execute_one_pass): Change parameters passed to execute_todo. + * tree-outof-ssa.c (rewrite_trees): Don't call modify_stmt. + (remove_ssa_form): Call fini_ssa_operands. + (insert_backedge_copies): Delete call to modify_stmt. + * tree-phinodes.c (make_phi_node): Initialize use nodes. + (release_phi_node): Delink any use nodes before releasing. + (resize_phi_node): Relink any use nodes. + (remove_phi_arg_num): Delink the use node. + (remove_phi_node): Release the ssa_name AFTER releasing the phi node. + (remove_all_phi_nodes_for): Release phi node first. + * tree-pretty-print.c (dump_generic_node): Print stmt address. + * tree-sra.c (mark_all_v_defs): Call update_stmt_if_modified. + (scalarize_use, scalarize_copy): Call update_stmt. + * tree-ssa-alias.c (compute_may_aliases): Update all modified stmts. + (compute_points_to_and_addr_escape): Call mark_stmt_modified. + * tree-ssa-cpp.c (need_imm_uses_for): Delete. + (ccp_initialize): Remove call to compute_immediate_uses. + (substitute_and_fold, execute_fold_all_builtins): Call update_stmt. + * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update all modified + stmts. + (simplify_cond_and_lookup_avail_expr): Call mark_stmt_modified. + (simplify_switch_and_lookup_avail_expr): Call mark_stmt_modified. + (eliminate_redundant_computations): Call mark_stmt_modified. + (cprop_operand): Call mark_stmt_modified. + (optimize_stmt): Call update_stmt_if_modified and mark_stmt_modified. + * tree-ssa-dse.c (fix_phi_uses, fix_stmt_v_may_defs): Delete. + (dse_optimize_stmt): Use new immuse interface. + (tree_ssa_dse): Remove calls to compute_immediate_uses and free_df. + * tree-ssa-forwprop.c (need_imm_uses_for): Delete. + (substitute_single_use_vars): Use new immuse interface. + (tree_ssa_forward_propagate_single_use_vars): Remove calls to free_df + and compute_immediate_uses. + * tree-ssa-loop-im.c (single_reachable_address): Use new immuse + interface. + (rewrite_mem_refs): Call update_stmt. + (determine_lsm): Remove call to compute_imm_uses and free_df. + * tree-ssa-loop-ivcanon.c (create_canonical_iv): Call update_stmt. + (try_unroll_loop_completely): Call update_stmt. + * tree-ssa-loop-ivopts.c (rewrite_address_base): Call update_stmt. + (rewrite_use_compare): Call update_stmt. + (compute_phi_arg_on_exit): Insert each stmt before trying to process. + (rewrite_use) : Call update_stmt. + * tree-ssa-loop-manip.c (verify_loop_closed_ssa): Add arg to call. + * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Call + update_stmt. + * tree-ssa-operands.c (NULL_USE_OPERAND_P): Remove declaration. + (allocate_use_optype, allocate_vuse_optype): Adjust allocation size. + (free_uses, free_vuses, free_v_may_defs, free_v_must_defs): Delink + use nodes. + (initialize_vuse_operand): New. Initialize a vuse operand. + (initialize_v_may_def_operand): New. Initialize a maydef operand. + (initialize_v_must_def_operand): New. Initialize a mustdef operand. + (finalize_ssa_defs): Use stmt parameter. + (correct_use_link): Ensure a use node is in the correct list, and has + the correct stmt pointer. + (finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_vuses, + finalize_ssa_v_must_defs): Also initialize use nodes. + (finalize_ssa_stmt_operands): Pass extra stmt operands. + (build_ssa_operands): Seperate parsing from final operand construction. + (parse_ssa_operands): New. Parse entry point for operand building. + (swap_tree_operands): New. Swap 2 tree operands. + (update_stmt_operands): Ranamed from get_stmt_operands. Always builds + operands. + (get_expr_operands): Call swap_tree_operands when needed. + (copy_virtual_operands): Use initialize routines for virtual use ops. + (create_ssa_artficial_load_stmt): Add extra stmt parameter. + (verify_abort): New. Issue imm_use error. + (verify_imm_links): New Verify imm_use links for a var. + (dump_immediate_uses_for): New. Dump imm_uses for a var to file. + (dump_immediate_uses): New. Dump imm_uses for all vars to file. + (debug_immediate_uses): New. Dump imm_uses for all vars to stderr. + (debug_immediate_uses_for): New. Dump imm_uses for a var to stderr. + * tree-ssa-operands.h (struct use_operand_ptr): Delete. + (NULL_USE_OPERAND_P) Define. + (use_optype_d, v_def_use_operand_type, vuse_optype_d): Add immediate + use node. + (struct vuse_operand_type): New struct. + (SET_USE): Call set_ssa_use_from_ptr. + (USE_STMT): Define. + (PHI_ARG_INDEX_FROM_USE): Define. + * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Set the phi + argument via SET_USE, not PHI_ARG_DEF_TREE. + * tree-ssa-pre.c (eliminate): Call update_stmt. + * tree-ssa-propagate.c (cfg_blocks_get): Use imm_use iterators. Don't + call free_df. + * tree-ssa-sink.c (all_immediate_uses_same_place): Use imm_use iterator. + (nearest_common_dominator_of_uses): Use imm_use iterator. + (statement_sink_location): Use imm_use iterator and interface. + (execute_sink_code): Don't call compute_immediate_uses or free-df. + * tree-ssa-threadupdate.c (create_edge_and_update_destination_phis): Use + PHI_ARG_DEF, not PHI_ARG_DEF_TREE. + * tree-ssa.c (verify_use, verify_phi_args): Verify some imm_use info. + (verify_ssa): Ensure no stmt is marked modify after optimization pass + if new parameter is true. + (init_tree_ssa): Don't initialize operand cache here. + (delete_tree_ssa): Don't destroy operand cache here. + (propagate_into_addr): Pass in a use pointer, return true if anything + was changed. + (replace_immediate_uses): Use imm_use iterator, call update_stmt. + (check_phi_redundancy): Use imm_use iterator. + (kill_redundant_phi_nodes): Don't call compute_immediate_uses or + free_df. + * tree-ssanames.c (make_ssa_name): Initialize imm_use node. + (release_ssa_name): Delink node and all elements in its imm_use list. + * tree-tailcall.c (adjust_return_value): Call update_stmt. + * tree-vect-analyze.c (vect_stmt_relevant_p): Use imm_use iterator. + * tree-vectorizer.c (need_imm_uses_for): Delete. + (vectorize_loops): Dont call compute_immediate_uses or free_df. + * tree.h (struct ssa_imm_use_d): Define. + (SSA_NAME_IMM_USE_NODE): Define. + (struct tree_ssa_name): Add imm_use node. + (PHI_DF): Delete. + (PHI_ARG_IMM_USE_NODE): Define. + (struct phi_arg_d): Add imm_use node. + (struct tree_phi_node): Remove struct dataflow_d element. + (TDF_STMTADDR): Define. + +2005-04-05 Dale Johannesen + + * doc/invoke.texi (Optimization Options): Remove + duplicate -fcse-follow-jumps. Add -fweb. + (-ftree-lim): Fix spelling (-ftree-loop-im, invariants). + (-fivcanon): Fix spelling (-ftree-loop-ivcanon). + +2005-04-05 Per Bothner + + * tree-ssa.c (execute_early_warn_uninitialized): Pass context node + to talk_tree as 'data' parameter, rather than EXPR_LOCUS. + (warn_uninit): Get EXPR_LOCUS from context now instead. + This fixes a USE_MAPPED_LOCATION testsuite failure. + + * tree-ssa.c (warn_uninitialized_var): Remove useless local. + +2005-04-05 Per Bothner + + * c-decl.c (finish_function): If USE_MAPPED_LOCATION set the location + of the artification 'return 0' in main() to BUILTINS_LOCATION. + * tree-cfg.c (remove_bb): Check that location isn't BUILTINS_LOCATION + before warning. + +2004-04-05 Devang Patel + + * config/rs600/altivec.md (altivec_vsr): Rename to .. + (lhsr3): ... new name. + (altivec_vsra): Rename to .. + (ashr3): ... new name. + * config/rs6000/rs6000.c (builtin_description): Rename shift + operations. + +2004-04-05 Paolo Bonzini + + * combine.c (RTL_HOOKS_GEN_LOWPART_NO_EMIT): Use + gen_lowpart_for_combine. + * cse.c (gen_lowpart_if_possible): Move... + * rtlhooks.c (gen_lowpart_if_possible): ... here. Also try + gen_lowpart_SUBREG. + (gen_lowpart_no_emit_general): Use it. + +2005-04-05 Eric Botcazou + + * config/sparc/sparc.c (TARGET_ASM_FILE_END): Undefine before + overriding. + +2005-04-05 Paolo Bonzini + + * system.h: Fix typo. + +2005-04-05 Bernd Schmidt + + * config/bfin/bfin-modes.def: New file. + * config/bfin/bfin-protos.h: New file. + * config/bfin/bfin.c: New file. + * config/bfin/bfin.h: New file. + * config/bfin/bfin.md: New file. + * config/bfin/bfin.opt: New file. + * config/bfin/crti.s: New file. + * config/bfin/crtn.s: New file. + * config/bfin/elf.h: New file. + * config/bfin/lib1funcs.asm: New file. + * config/bfin/predicates.md: New file. + * config/bfin/t-bfin: New file. + * config/bfin/t-bfin-elf: New file. + * doc/extend.texi (exception_handler, kspisusp, nesting, nmi_handler): + Document new attributes. + (interrupt, interrupt_handler, saveall): Update documentation for + these attributes. + * doc/install.texi (Specific): Add entry for the Blackfin. + * doc/invoke.texi (Blackfin Options): New section. + * doc/md.texi (Blackfin family): New section to document constraints. + * config.gcc: Add bfin*-* and bfin*-elf configurations. + +2005-04-05 Olivier Hainque + + * config/mips/iris6.h (DWARF_FRAME_RETURN_COLUMN): Redefine to + match what the system unwinder expects. + * config/mips/mips.c (mips_frame_set): If we're saving the return + address register and the dwarf return address column number differs + from the hard register number, adjust the note reg to refer to the + former. + +2004-04-05 Richard Sandiford + + * config/mn10300/mn10300-protos.h (mn10300_override_options): Declare. + * config/mn10300/mn10300.h (target_flags, TARGET_MULT_BUG) + (TARGET_SWITCHES, TARGET_DEFAULT): Delete. + (processor_type): New enum. + (mn10300_processor): New variable. + (TARGET_AM33, TARGET_AM33_2): Redefine in terms of mn10300_processor. + (PROCESSOR_DEFAULT, OVERRIDE_OPTIONS): New macros. + * config/mn10300/linux.h (TARGET_SWITCHES, TARGET_DEFAULT): Delete. + (PROCESSOR_DEFAULT): New macro. + * config/mn10300/mn10300.c (mn10300_processor): New variable. + (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults. + (mn10300_handle_option, mn10300_override_options): New functions. + * config/mn10300/mn10300.opt: New file. + +2005-04-05 Eric Botcazou + Sebastian Pop + + PR tree-optimization/19903 + * tree-chrec.c (chrec_convert): Return chrec_dont_know for constants + that don't fit in their type after conversion. + +2005-04-05 Uros Bizjak + + PR target/20421 + * config/i386/i386.md (frndintxf2_floor, frndintxf2_ceil) + (frndintxf2_trunc, frndintxf2_mask_pm): Add FLAGS_REG clobber. + Allocate local stack slots here. Set ix86_optimize_mode_switching. + flag here. Implement using define_insn_and_split. + (frndintxf2_floor_i387, frndintxf2_ceil_i387, frndintxf2_trunc_i387) + (frndintxf2_mask_pm_i387): New insn patterns. + (floorsf2, floordf2, floorxf2): Remove local stack slot allocations. + Do not set ix86_optimize_mode_switching flag. + (ceilsf2, ceildf2, ceilxf2): Same. + (btruncsf2, btruncdf2, btruncxf2): Same. + (nearbyintsf2, nearbyintdf2, nearbyintxf2): Same. + +2005-04-05 Ian Lance Taylor + + PR debug/9963 + * config/i386/cygming.h (ASM_OUTPUT_EXTERNAL): Pass DECL to + i386_pe_record_external_function. + (i386_pe_record_external_function): Update declaration. + * config/i386/winnt.c (struct extern_list): Add decl field. + (i386_pe_record_external_function): Add decl parameter. + (i386_pe_file_end): Check TREE_ASM_WRITTEN on decl, not + identifier. + * config/i386/i386-protos.h (i386_pe_record_external_function): + Update declaration. + +2005-04-05 Kazu Hirata + + * config/m68k/m68k-protos.h: Add a prototype for + valid_dbcc_comparison_p_2. + * config/m68k/m68k.c (not_sp_operand, symbolic_operand, + extend_operator, const_uint32_operand, const_sint32_operand, + general_src_operand, nonimmediate_src_operand, + memory_src_operand, post_inc_operand, pre_dec_operand, + pcrel_address): Move to predicates to predicates.md. + * config/m68k/m68k.h (PREDICATE_CODES): Remove. + * config/m68k/m68k.md: Include predicates.md. + * config/m68k/predicates.md: New. + +2005-04-04 Roger Sayle + + * config/i386/i386.md (*truncdfsf2_i387_1): New pattern. + + * fold-const.c (maybe_lvalue_p): Delete orphaned comment. + +2005-04-04 Ian Lance Taylor + + * c-typeck.c (struct c_switch): Rename switch_stmt field to + switch_expr. + (c_start_case): Build SWITCH_EXPR, not SWITCH_STMT. + (do_case): Use SWITCH_COND rather than SWITCH_STMT_COND. + (c_finish_case): Use SWITCH_BODY rather than SWITCH_STMT_BODY. + Call c_do_switch_expr_warnings rather than c_do_switch_warnings. + * c-common.c (c_do_switch_warnings_1): New static function broken + out of c_do_switch_warnings. + (c_do_switch_warnings): Call c_do_switch_warnings_1. + (c_do_switch_expr_warnings): New function. + * c-common.h (c_do_switch_expr_warnings): Declare. + +2005-04-04 David Edelsohn + Daniel Jacobowitz + + * tree-eh.c (tree_could_trap_p): Allow non-constant floating point + trapping divide. + * rtlanal.c (may_trap_p): Same. + +2005-04-04 Dale Johannesen + + * ChangeLog: remove reference to ChangeLog.12. + +2005-04-05 Hans-Peter Nilsson + + CRIS epilogue as RTL. + * config/cris/cris.md: Change all 0 in unspec 0 to + CRIS_UNSPEC_PLT. + (CRIS_UNSPEC_PLT, CRIS_UNSPEC_FRAME_DEALLOC): New constants. + ("*cris_load_multiple", "cris_frame_deallocated_barrier"): New + patterns. + ("return"): Change to define_expand. Call cris_expand_return for + actual expansion. + ("*return_expanded"): New pattern. + ("epilogue"): New define_expand. + * config/cris/cris.h (PREDICATE_CODES): Add + cris_load_multiple_op. + * config/cris/cris.c (ASSERT_PLT_UNSPEC): Correct test for unspec + type. + (enum cris_retinsn_type): New. + (struct machine_function): New member return_type. + (TARGET_ASM_FUNCTION_EPILOGUE): Don't override. + (cris_target_asm_function_epilogue): Remove, moving RTLified + contents to... + (cris_expand_epilogue): New function. + (cris_reg_saved_in_regsave_area, cris_movem_load_rest_p, + (cris_gen_movem_load, cris_load_multiple_op) + (cris_return_address_on_stack_for_return, cris_expand_return): New + functions. + (cris_target_asm_function_prologue) + (cris_initial_frame_pointer_offset): Call + cris_reg_saved_in_regsave_area instead of complicated expression. + Call cris_return_address_on_stack instead of an expression. + (cris_print_operand) : New cases. + (cris_return_address_on_stack): Change return-type to bool. + (cris_simple_epilogue): Ditto. Return false if registers are + saved. + * config/cris/cris-protos.h (cris_simple_epilogue) + (cris_return_address_on_stack): Adjust prototype return type. + (cris_gen_movem_load, cris_expand_epilogue, cris_expand_return) + (cris_return_address_on_stack_for_return): New prototypes. + +2005-04-04 Kazu Hirata + + * config/frv/frv.h (PREDICATE_CODES): Add CONST to + gpr_or_int12_operand. + + * config/frv/frv-protos.h: Add a prototype to + frv_legitimate_memory_operand and frv_const_unspec_p. + (frv_unspec): Move from frv.c. + * config/frv/frv.c (frv_unspec): Move to frv-protos.h. + (frv_const_unspec_p, frv_legitimate_memory_operand_): Export. + (ldd_address_operand, fdpic_fptr_operand, frv_load_operand, + gpr_or_fpr_operand, gpr_or_int12_operand, + gpr_fpr_or_int12_operand, fpr_or_int6_operand, + gpr_or_int10_operand, gpr_or_int_operand, int12_operand, + int6_operand, int5_operand, uint5_operand, uint4_operand, + uint1_operand, int_2word_operand, uint16_operand, + upper_int16_operand, integer_register_operand, + gpr_no_subreg_operand, fpr_operand, even_reg_operand, + odd_reg_operand, even_gpr_operand, odd_gpr_operand, + quad_fpr_operand, even_fpr_operand, odd_fpr_operand, + dbl_memory_one_insn_operand, dbl_memory_two_insn_operand, + move_destination_operand, movcc_fp_destination_operand, + frv_function_symbol_referenced_p, move_source_operand, + condexec_dest_operand, condexec_source_operand, + reg_or_0_operand, lr_operand, fdpic_operand, got12_operand, + const_unspec_operand, gpr_or_memory_operand, + gpr_or_memory_operand_with_scratch, fpr_or_memory_operand, + icc_operand, fcc_operand, cc_operand, icr_operand, + fcr_operand, cr_operand, call_operand, sibcall_operand, + symbolic_operand, relational_operator, + integer_relational_operator, float_relational_operator, + ccr_eqne_operator, minmax_operator, + condexec_si_binary_operator, condexec_si_media_operator, + condexec_si_divide_operator, condexec_si_unary_operator, + condexec_sf_conv_operator, condexec_sf_add_operator, + condexec_memory_operand, intop_compare_operator, acc_operand, + even_acc_operand, quad_acc_operand, accg_operand: Move to + predicates.md. + * config/frv/frv.h (PREDICATE_CODES): Remove. + * config/frv/frv.md: Include predicates.md. + * config/frv/predicates.md: New. + +2004-04-04 Richard Sandiford + + PR target/19537 + * Makefile.in (tree-ssa-loop-ivopts.o): Depend on langhooks.h. + * tree-ssa-loop-ivopts.c: Include langhooks.h. + (add_standard_iv_candidates_for_size): New function, extracting code + from add_standard_iv_candidates and parameterizing it by type size. + (add_standard_iv_candidates): Use add_standard_iv_candidates_for_size. + +2004-04-04 Richard Sandiford + + * system.h (GCOV_SIZE_TYPE): Unposion. + * gcov-io.h (GCOV_TYPE_NODE): Delete, replacing with... + (GCOV_TYPE_SIZE): ...this new macro. + * coverage.h (get_gcov_type, GCOV_TYPE_NODE): Declare. + * coverage.c (get_gcov_type, get_gcov_unsigned_t): New functions. + (rtl_coverage_counter_ref): Use GCOV_TYPE_SIZE. + (build_fn_info_type, build_fn_info_value, build_ctr_info_type) + (build_ctr_info_value, build_gcov_info): Use get_gcov_unsigned_t + instead of unsigned_intSI_type_node. + * rtl-profile.c (rtl_gen_interval_profiler, rtl_gen_pow2_profiler) + (rtl_gen_one_value_profiler_no_edge_manipulation) + (rtl_gen_const_delta_profiler): Use GCOV_TYPE_SIZE. + * value-prof.c: Include coverage.h. + +2005-04-02 Daniel Berlin + Diego Novillo + + Fix PR tree-optimization/20703 + Fix PR tree-optimization/20725 + + * tree-ssa-pre.c (phi_translate): Handle tcc_comparison. + (create_expression_by_pieces): Ditto. + (valid_in_set): Ditto. Also handle tcc_declaration. + (find_or_generate_expression): Handle comparison class. + (insert_into_preds_of_block): Ditto. + (insert_aux): Ditto. + (create_value_expr_from): Handle comparison class, recursively + handle reference nodes. + (compute_avail): Handle comparison classes, rewrite a little cleaner. + (execute_pre): Fix spacing. + (do_fre): Renamed to execute_fre. + +2005-04-04 Eric Botcazou + + * doc/invoke.texi (SPARC options): Document that + -mlittle-endian is not supported on Linux either. + +2005-04-04 Eric Botcazou + + PR target/4198 + PR target/12027 + * config.gcc (Obsolete configurations): Remove + sparclite-*-coff*, sparclite-*-elf* and sparc86x-*-elf*. + (sparclite-*-coff*): Delete. + (sparclite-*-elf*): Likewise. + (sparc86x-*-elf*): Likewise. + (target_cpu_default) : Remove sparc86x. + * config/sparc/lite.h: Delete. + * config/sparc/litecoff.h: Likewise. + * config/sparc/liteelf.h: Likewise. + * config/sparc/sp86x-elf.h: Likewise. + * config/sparc/t-sparclite: Likewise. + * config/sparc/t-sp86x: Likewise. + +2005-04-04 Adrian Straetling + + * config/s390/s390-protos.h: (s390_comparison, + s390_alc_comparison, s390_slb_comparison, const0_operand, + consttable_operand, larl_operand, s_operand, + shift_count_operand, bras_sym_operand, load_multiple_operation, + store_multiple_operation, s390_plus_operand): Remove prototypes. + (s390_legitimate_address_without_index_p): New prototype. + * config/s390/s390.c: (SYMBOL_FLAG_ALIGN1, DISP_IN_RANGE): Move + to s390.h. + (s390_comparison, s390_alc_comparison, s390_slb_comparison, + const0_operand, consttable_operand, larl_operand, s_operand, + shift_count_operand, bras_sym_operand, load_multiple_operation, + store_multiple_operation, s390_plus_operand): Move to + predicates.md. + (check_mode): Remove. + (s390_branch_condition_mask): Remove 'static'. Move prototype to + s390-protos.h. + (s390_legitimate_address_without_index_p): New. + * config/s390/s390.h (PREDICATE_CODES): Remove. + * config/s390/s390.md: Include predicates.md. + * config/s390/predicates.md: New. + +2005-04-04 Eric Botcazou + + PR target/20446 + * config/sparc/sparc.h (NEED_INDICATE_EXEC_STACK): Define to 0. + * config/sparc/linux.h (TARGET_ASM_FILE_END): Delete. + (NEED_INDICATE_EXEC_STACK): Define to 1. + * config/sparc/linux64.h (TARGET_ASM_FILE_END): Delete. + (NEED_INDICATE_EXEC_STACK): Define to 1. + * config/sparc/sparc.c (TARGET_ASM_FILE_END): Set to sparc_file_end. + (add_pc_to_pic_symbol): Rename into pic_helper_symbol. + (add_pc_to_pic_symbol_name): Rename into pic_helper_symbol_name. + (pic_helper_emitted_p): New global. + (emit_pic_helper): New function extracted from... + (load_pic_register): ...here. Add 'delay_pic_helper' parameter. + Do not call emit_pic_helper if delay_pic_helper is true. + (sparc_expand_prologue): Pass 'false' to load_pic_register. + (sparc_output_mi_thunk): Pass 'true' to load_pic_register. + (sparc_file_end): New function. + +2005-04-04 Kazu Hirata + + * config/mcore/mcore-protos.h: Remove the prototypes for + mcore_arith_reg_operand, mcore_general_movsrc_operand, + mcore_general_movdst_operand, mcore_reload_operand, + mcore_arith_J_operand, mcore_arith_K_operand, + mcore_arith_K_operand_not_0, mcore_arith_M_operand, + mcore_arith_K_S_operand, mcore_arith_imm_operand, **** TRUNCATED ****