X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=8a513172952e67572de402ad36b4996ddaa457c6;hp=3a92893b1ba8702508ab8448dec8f8209936c29e;hb=f3de6034882afd7a5ab91c4183d4221313e3da20;hpb=4c636429760dfacc5cebaeee025512225e37b277 diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3a92893b1ba..8a513172952 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,878 @@ +2005-03-31 Janis Johnson + + * doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs. + +2005-03-31 Kazu Hirata + + * tree-ssa-alias.c: Follow spelling conventions. + * doc/tree-ssa.texi: Fix a typo. + +2005-03-31 J"orn Rennecke + + * postreload-gcse.c: Include target.h. + (gcse_after_reload_main): Return early if we cannot modify jumps. + * Makefile.in (postreload-gcse.o): Depend on $(TARGET_H). + +2005-03-31 David Edelsohn + + * tree-ssa-loop-im.c (stmt_cost): Add RDIV_EXPR to list of + expensive operations. + +2005-03-31 Ian Lance Taylor + + * collect2.c (lderrout): New variable. + (collect_exit): Dump ldout to stdout. Dump and unlink lderrout, + if it is set, to stderr. + (handler): Unlink lderrout if it is set. + (dump_file): Add "to" parameter. Change all callers. + (main): Initialize lderrout. + (collect_execute): Add errname parameter. Change all callers. + Rename redir parameter to outname. Never pass + PEX_STDERR_TO_STDOUT to pex_run. + * collect2.h (collect_execute, dump_file): Update declarations. + * tlink.c (tlink_execute): Add errname parameter. Change all + callers. + (do_tlink): Check lderrout as well as ldout. + +2005-03-31 Olivier Hainque + + * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO + defined and non-zero. + +2005-03-31 Gabriel Dos Reis + + PR c++/18644 + * doc/invoke.texi (-Wsynth): Don't document, as it now is void of + semantics. + +2005-03-31 Alan Modra + + PR target/20611 + * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline + label operand. Remove (use (unspec..)). Don't emit a label on + the offset word. + * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't + generate inline label for load_toc_v4_PIC_1b. + (rs6000_emit_load_toc_table): Likewise. + +2005-03-31 Kazu Hirata + + * config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf, + ns32k-*-netbsdelf*, and ns32k-*-netbsd*. + +2005-03-29 Devang Patel + + * tree-sra.c (decide_block_copy): Disable scalarization of + sub-elements. + +2005-03-30 Stuart Hastings + Dale Johannesen + + * Makefile.in (print-tree.o): Depend on tree-iterator.h. + * print-tree.c (print_node): Add case STATEMENT_LIST. + +2005-03-31 Alan Modra + + * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus. + (powerpc64-*-linux*): Use it. Rearrange tm_file assignment. + (powerpc-*-linux*): Build a biarch compiler when --enable-targets + is given with "powerpc64*" or "all", or when --with-cpu chooses + a 64-bit cpu. + +2005-03-30 James E. Wilson + + PR debug/20268 + * dwarf2out.c (add_high_low_attributes): New function, extracted from + gen_lexical_block_die. + (gen_lexical_block_die, gen_inlined_subroutine_die): Call it. + +2005-03-31 Jan Hubicka + + 2004-11-02 Jan Hubicka + + * cgraph.c (cgraph_varpool_node_name): New function. + (dump_cgraph_varpool_node): New function. + (dump_varpool): New function. + * cgraphunit.c (cgraph_optimize): Dump varpool. + + 2004-10-16 Jan Hubicka + + * cgraph.c (decide_is_variable_needed): New function. + (cgraph_varpool_finalize_decl): Use it. + * cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing + unit-at-a-time. + * final.c (output_addr_const): Do not call mark_referenced. + * passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack; + always go via cgraph. + * toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code. + (check_global_declarations): Ifdef out code clearing DECL_RTL. + * tree-optimize.c (execute_inline): Mark functions called. + * i386.c (output_pic_addr_const): Do not call mark_decl_referenced. + + 2004-10-11 Jan Hubicka + + * cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable + (cgraph_varpool_last_needed_node): New static variable. + (enqueue_needed_varpool_node): Break out from ...; add items to the + end of queue; update first pointers. + (cgraph_varpool_mark_needed_node): ... here. + (cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node. + (cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c + * cgraph.h (cgraph_varpool_node): Add analyzed field. + (cgraph_varpool_first_unanalyzed_node): Declare. + * cgraphunit.c: Include output.h. + (cgraph_varpool_analyze_pending_decls): New function. + (cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out + for errors, analyze pending decls. + (cgraph_finalize_compilation_unit): Only analyze decls. + (cgraph_optimize): Assemble the decls after expanding. + +2005-03-30 Daniel Berlin + + * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure + subvars get marked properly in tags for grouping. + (add_pointed_to_var): Mark only actual pointed to + variables/subvars in addresses needed. + (create_overlap_variables_for): Clear call clobbered on original + variable. + * tree-ssa-operands.c (get_asm_expr_operands): Don't let regular + addresable vars with subvars into list. + * tree-ssa.c (verify_ssa_name): Verify original is not used where + subvar should be. + +2005-03-30 Richard Henderson + + * cgraph.h (struct cgraph_node): Add alias. + * varasm.c (assemble_alias): Set it. + * cgraphunit.c (cgraph_assemble_pending_functions): Check it and + avoid calling cgraph_expand_function. + +2005-03-30 Tom Tromey + + * tree.def (FILE_TYPE): Removed. + * typeclass.h (enum type_class): Removed file_type_class. + * dwarf2out.c (is_base_type): Updated. + (gen_type_die): Likewise. + * dbxout.c (dbxout_type): Updated. + * builtins.c (type_to_class): Updated. + * tree.c (type_contains_placeholder_1): Updated. + * config/sparc/sparc.c (sparc_type_code): Updated. + * config/ia64/ia64.c (hfa_element_mode): Updated. + * expr.c (count_type_elements): Updated. + * stor-layout.c (layout_type): Updated. + * tree-inline.c (remap_type): Updated. + * tree-pretty-print.c (dump_generic_node): Updated. + +2005-03-30 Fariborz Jahanian + + * builtins.c (expand_builtin_powi): Fix mode of + 2nd argument to match int. + * libgcc2.h (__powisf2, __powidf2, __powixf2, __powitf2): Change + 2nd argument type to int. + * libgcc2.c: Change prototype of __powi* functions to use + int. + +2005-03-30 Dale Johannesen + + PR middle-end/19225 + * calls.c (expand_call): Flush pending deferrals before + throwing call. + +2005-03-30 Joseph S. Myers + + PR c/772 + PR c/17913 + * c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR, + C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct + c_label_context, label_context_stack): New. + * c-decl.c (define_label): Check for jumps into statement + expressions. Add label to list of defined labels. + (start_function): Push context on label_context_stack. + (finish_function): Pop context from label_context_stack. + * c-typeck.c (label_context_stack): New. + (c_finish_goto_label): Check for jumps into statement + expressions. Add label to list of jumped to labels. + (struct c_switch): Add blocked_stmt_expr. + (c_start_case): Initialize it. + (do_case): Check it. + (c_finish_case): Verify !blocked_stmt_expr. + (c_begin_stmt_expr): Push context on label_context_stack. + Increment blocked_stmt_expr. Mark labels jumped to from outside + as undefinable. + (c_finish_stmt_expr): December blocked_stmt_expr. Mark labels + defined in the statement expression and no longer jumpable to. + Mark labels jumped to from just outside the statement expression + as again definable. Pop context from label_context_stack. + * doc/extend.texi (Statement Exprs): Update. + +2005-03-30 Joseph S. Myers + + PR c/20368 + * c-decl.c (start_function): Check for old_decl being + error_mark_node. + +2005-03-30 Ian Lance Taylor + + * final.c (final): Remove prescan parameter. Change all callers. + (final_scan_insn): Remove prescan parameter. Change all callers. + +2005-03-30 Kazu Hirata + + * tree-vectorizer.c: Fix comment typos. + +2005-03-30 Sebastian Pop + + * tree-scalar-evolution.c (instantiate_parameters_1): Return + as soon as a chrec_dont_know is detected. + +2005-03-31 Danny Smith + + Merge from csl-arm-branch. + 2004-02-12 Mark Mitchell + + * tlink.c (recompile_files): Do not assume that "rename" can + overwrite an existing file. + +2005-03-31 Paolo Bonzini + + * gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove. + * gcc/configure: Regenerate. + +2005-03-30 Alan Modra + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * config.host (i[34567]86-*-mingw32*): Don't set + host_can_use_collect2 to no. + +2005-03-30 Alan Modra + + 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 + + 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 + + PR tree-opt/19108 + * tree-sra.c (generate_element_init_1): Handle RANGE_EXPR. + +2005-03-29 Kazu Hirata + + * 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 + + * config/mips/mips.c (mips_gimplify_va_arg_expr): Update for + truthvalue conversion removal. + +2005-03-29 Ian Lance Taylor + + PR bootstrap/14316 + * collect2.c: Never include . + (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 + + 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 + + * 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 + + * 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 + + * 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 + + 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 + + * 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 + + 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 + + * 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 + + * reg-stack.c (subst_stack_regs_pat): Handle 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, fist2, fist2_with_temp): + New isns patterns to implement lrint and llrint built-ins as x87 + intrinsic function. + (fistdi2, fist2 splitters): New splitters. + (lrint2): New expanders. + +2005-03-28 Ian Lance Taylor + + * config/arc/arc.c (arc_output_function_epilogue): Pass prescan as + 0 when calling final_scan_insn. + +2005-03-28 Jan Hubicka + + 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 + + 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 + + * 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 + + * Makefile.in (libbackend.o): Depend on version files; + add custom generation command. + +2005-03-26 Andrew Pinski + + 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 + + * builtin-types.def (BT_FN_STRING_CONST_STRING_SIZE): New. + * builtins.def (BUILT_IN_STRNDUP): New. + +2005-03-25 Pat Haugen + + PR tree-optimization/20470 + * fold-const.c (fold_cond_expr_with_comparison): Recognize/fold + ABS(x-y). + +2005-03-25 Mike Stump + + * config/darwin.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): Don't allow 0 + sized objects. + +2005-03-25 Geoffrey Keating + + * config/rs6000/darwin-fallback.c: Don't include . + Use our own structure definitions. + + * config/rs6000/rs6000.md (UNSPEC constants): Add UNSPEC_STFIWX. + (fix_truncdfsi2): Allow registers or memory as destination. + When TARGET_PPC_GFXOPT, generate simplified pattern. + (fix_truncdfsi2_internal): Use define_insn_and_split. + (fix_truncdfsi2_internal_gfxopt): New. + (fctiwz): Don't confuse register allocation by giving it no choices. + (stfiwx): New. + * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'. + (EXTRA_MEMORY_CONSTRAINT): Likewise. + * config/rs6000/rs6000.c (indexed_or_indirect_operand): New. + * config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New. + +2005-03-25 Kazu Hirata + + * dominance.c (free_dominance_info): Speed up by freeing et + data structures without maintaining other nodes. + * et-forest.c (et_free_tree_force): New. + * et-forest.h: Add a prototype for et_free_tree_force. + + * tree.c (get_set_constructor_bits, + get_set_constructor_bytes): Remove. + * tree.h: Remove the corresponding prototypes. + +2005-03-25 John David Anglin + + PR target/15491 + * 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-25 Kazu Hirata + + * fold-const.c: Convert uses of fold (build (...)) to + fold_buildN. + +2005-03-25 Zdenek Dvorak + + PR rtl-optimization/20249 + * cse.c (insert_regs): Do not record equivalence of registers in + different modes. + +2005-03-24 Kazu Hirata + + * emit-rtl.c (reverse_comparison): Remove. + * rtl.h: Remove the corresponding prototype. + +2005-03-24 James E Wilson + + * doc/install.texi (--enable-altivec): Delete docs. + +2005-03-24 David Edelsohn + + * config/rs6000/predicates.md (easy_fp_constant): Return 0 for + SFmode and DFmode before reload when + flag_unsafe_math_optimizations not enabled. + +2005-03-24 Geoffrey Keating + + * c.opt (fvisibility-inlines-hidden): Allow for ObjC++. + + * config/i386/darwin.h (TARGET_SUBTARGET_DEFAULT): Add + MASK_128BIT_LONG_DOUBLE, MASK_ALIGN_DOUBLE. + +2005-03-24 Nathan Sidwell + + * configure.ac (enable-checking): Add 'runtime' option. + * doc/install.texi (enable-checking): Document 'runtime' checking. + * tsystem.h (gcc_assert, gcc_unreachable): Define. + * config.in: Regenerated. + * configure: Regenerated. + +2005-03-23 Uros Bizjak + + * optabs.h (enum optab_index): Remove OTI_llrint. + (llrint_optab): Remove macro. + * optabs.c (init_optabs): Remove llrint_optab initialization. + * genopinit.c (optabs): Remove llrint_optab implementation. + * builtins.c (expand_builtin_mathfn): Handle BUILT_IN_LLRINT{,F,L} + using lrint_optab. + +2005-03-24 Alexandre Oliva + + PR rtl-optimization/20532 + * simplify-rtx.c (simplify_binary_operation_1): Protect from + overflow when adding coefficients for PLUS or MINUS. + (simplify_binary_operation_1): Handle CONST_DOUBLE exact power of + two as multiplier. + +2005-03-23 Joseph S. Myers + + * langhooks.h (truthvalue_conversion): Remove. + * langhooks-def.h (LANG_HOOKS_INITIALIZER): Remove + LANG_HOOKS_TRUTHVALUE_CONVERSION. + * system.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Poison. + * gimplify.c (gimple_boolify): Don't use truthvalue_conversion. + * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Remove. + +2005-03-23 Kazu Hirata + + * params.def: Fix a typo. + * config/mips/mips.c: Follow the spelling convensions. + * doc/invoke.texi: Fix typos. + +2005-03-18 Dale Johannese + + * cp/tree.c (cp_tree_equal): Handle SSA_NAME. + +2005-03-23 Daniel Berlin + + Fix PR tree-optimization/20601 + + * tree-ssa-pre.c (insert_aux): Add missing condition to + constification. + +2005-03-23 Ian Lance Taylor + + * final.c (final_scan_insn): Don't remove no-op instructions. + * reload1.c (reload): Remove simple no-op instructions even when + not optimizing. + +2005-03-23 Dorit Naishlos + + PR tree-optimization/20501 + * tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print + reporting that peeling for alignment is applied moved to... + * (vect_analyze_data_refs_alignment): Here. + +2005-03-23 Ian Lance Taylor + + * reorg.c (dbr_schedule): Remove #if 0 code to call final. + +2005-03-23 Rainer Orth + + * config.gcc (alpha*-dec-osf[45]*): Remove target_cpu_default. + Define TARGET_SUPPORT_ARCH except on Tru64 UNIX V4.0A. + +2005-03-23 Hans-Peter Nilsson + + * doc/tm.texi (TARGET_MD_ASM_CLOBBERS): Adjust wording to not + imply that this is called once, independent of asms in code. + Adjust to now being pased output and input lists. Mention helper + function decl_overlaps_hard_reg_set_p. + * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Rename from + hook_tree_tree_identity and to take three trees, returning third. + * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Adjust the + prototype. + * stmt.c: include hard-reg-set.h before tree.h. + (decl_overlaps_hard_reg_set_p): New function, broken out from... + (decl_conflicts_with_clobbers_p): Call + decl_overlaps_hard_reg_set_p. + (expand_asm_operands): Pass output and input lists in call to + targetm.md_asm_clobbers. + * target-def.h (TARGET_MD_ASM_CLOBBERS): Define as + hook_tree_tree_tree_tree_3rd_identity. + * target.h (struct gcc_target.md_asm_clobbers): Take three tree + parameters. + * tree.h [HARD_CONST] (decl_overlaps_hard_reg_set_p): Prototype. + * config/i386/i386.c (ix86_md_asm_clobbers): Adjust to three + parameters, first two unused. + * config/cris/cris.c (cris_md_asm_clobbers): Adjust to added + parameters. Only add MOF to clobbers if there's no 'h' mentioned + in constraint letters and MOF is not mentioned as a asm-declared + register in neither of the input and output lists. + +2005-03-23 DJ Delorie + + * optabs.c (expand_binop): Make sure the first subword's result + gets stored. + +2005-03-23 Joseph S. Myers + + * c-common.c (c_common_truthvalue_conversion): Adjust comment. + Call c_common_truthvalue_conversion rather than + lang_hooks.truthvalue_conversion. + * c-convert.c (convert): Call c_objc_common_truthvalue_conversion. + * c-objc-common.c (c_objc_common_truthvalue_conversion): Move to + c-typeck.c. + * c-objc-common.h (LANG_HOOKS_TRUTHVALUE_CONVERSION): Change to + c_common_truthvalue_conversion. + * c-parser.c (c_parser_paren_condition, c_parser_for_statement, + c_parser_conditional_expression, c_parser_binary_expression): Call + c_objc_common_truthvalue_conversion. + * c-typeck.c (build_unary_op): Call + c_objc_common_truthvalue_conversion. + (build_conditional_expr): Do not call + lang_hooks.truthvalue_conversion. + (build_binary_op): Call c_common_truthvalue_conversion. + (c_objc_common_truthvalue_conversion): Moved from + c-objc-common.c. Call default_function_array_conversion instead + of default_conversion. + +2005-03-23 Joseph S. Myers + + * c-common.h (default_conversion): Remove. + (perform_integral_promotions): Add. + * c-tree.h (default_conversion): Add. + * c-typeck.c (perform_integral_promotions): New, split out from + default_conversion. + * c-common.c (check_case_value): Use perform_integral_promotions, + not default_conversion. + (c_add_case_label): Don't continue processing case label after + found to be pointer. + +2005-03-23 Mark Mitchell + + * gcc.c (do_spec_1): Do not add a -L path for a directory in + the prefix list if we have already added a multilib directory + based on that path. + (main): Do not add MD_EXEC_PREFIX to the list of directories to + search with -L. + +2005-03-22 Kazu Hirata + + * reload1.c (indirect_symref_ok, reload_obstack): Make them + static. + * reload.h: Remove the prototype for indirect_symref_ok. + + * reload1.c (indirect_symref_ok): Make it global. + * reload.h: Add a prototype for indirect_symref_ok. + +2005-03-22 Kaz Kojima + + * config/sh/sh.md (ashlhi3): Rename to *ashlhi3_n and add a new + ashlhi3 expander. + +2005-03-22 Tobias Schl"uter + + * tree.h (DECL_IGNORED_P, DECL_IN_SYSTEM_HEADER): Clarify comments. + +2005-03-22 Daniel Berlin + + * c-opts.c (c_common_parse_file): Only start/end main source file + if debug hooks says the writer wants it. + * dbxout.c (dbx_debug_hooks): Add start_end_main_source_file + member. + (xcoff_debug_hooks): Ditto. + * debug.c (do_nothing_hooks): Ditto. + * debug.h (gcc_debug_hooks): Ditto. + * dwarf2out.c (dwarf2_debug_hooks): Ditto. + * sdbout.c (sdb_debug_hooks): Ditto. + * vmsdbgout.c (vmsdbg_debug_hooks): Ditto. + +2005-03-22 Mark Mitchell + + * doc/extend.texi: Deprecate C++ min/max operators. + +2005-03-22 Zdenek Dvorak + + * tree-ssa-loop-ivopts.c (determine_iv_cost): Do not try to preserve + artificial original candidates. + +2005-03-22 Richard Guenther + Jan Hubicka + Steven Bosscher + + * cgraphunit.c (cgraph_estimate_size_after_inlining): Compute + call cost based on argument sizes. + (cgraph_mark_inline_edge): Avoid inline unit from shrinking by + inlining. + * params.def: (max-inline-inssn-single): Set to 450. + (max-inline-insns-auto): Set to 90. + (max-inline-insns-recursive): Set to 450 + (max-inline-insns-recursive-auto): Set to 450. + (large-function-insns): Set to 2700. + (inline-call-cost): New parameter. + * tree-inline.c (estimate_move_cost): New function. + (estimate_num_insns_1): Compute move sizes costs by estimate_move_cost + for non-gimple-regs, set cost to 0 for gimple-regs. Compute call size + based on arguments. + * tree-inline.h (estimate_move_cost): Declare. + * invoke.texi: (max-inline-inssn-single): Change default to 450. + (max-inline-insns-auto): Change default to 90. + (max-inline-insns-recursive): Change default to 450 + (max-inline-insns-recursive-auto): Change default to 450. + (large-function-insns): Change default to 2700. + (inline-call-cost): Document new parameter. + 2005-03-22 Richard Sandiford * config/i860/i860.h (target_flags, TARGET_XP, TARGET_SWITCHES) @@ -112,7 +987,7 @@ * config/fr30/fr30.opt: New file. 2005-03-18 Daniel Berlin - + Fix PR tree-optimization/20542 * tree-flow-inline.h (overlap_subvar): Move to here. @@ -121,7 +996,7 @@ * tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here. * tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer for variables with subvars. - + 2005-03-21 Mostafa Hagog PR middle-end/20177 @@ -3110,7 +3985,7 @@ not including (reg). Do not check for reg being CRIS_PC_REGNUM. (EXTRA_MEMORY_CONSTRAINT): Define as 'Q'. * config/cris/cris.md: Tweak comments referring to Q. - ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi") + ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi") ("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3") ("addhi3", "addqi3", "subsi3", "subhi3", "subqi3") ("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")