X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2FChangeLog;h=516d6855784d80173a5a0534708244728aae3425;hp=8099410d1edc4cc5d0a8ec15e2915ba6f906ecda;hb=99c77e3269d98e7f598895ae3a9f3ee34dc7b9e6;hpb=af30c139849db1c37033dee32ec7da3c10945c5c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8099410d1ed..516d6855784 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,482 @@ +2008-01-25 Joseph Myers + + * config/c4x: Remove directory. + * config.gcc (crx-*, mt-*): Mark obsolete. + (c4x-*, tic4x-*, c4x-*-rtems*, tic4x-*-rtems*, c4x-*, tic4x-*, + h8300-*-rtemscoff*, ns32k-*-netbsdelf*, ns32k-*-netbsd*, + sh-*-rtemscoff*): Remove cases. + * defaults.h (C4X_FLOAT_FORMAT): Remove. + * real.c (encode_c4x_single, decode_c4x_single, + encode_c4x_extended, decode_c4x_extended, c4x_single_format, + c4x_extended_format): Remove. + * real.h (c4x_single_format, c4x_extended_format): Remove. + * doc/extend.texi (interrupt, naked): Remove mention of attributes + on C4x. + (Pragmas): Remove comment about c4x pragmas. + * doc/install.texi (c4x): Remove target-specific instructions. + * doc/invoke.texi (TMS320C3x/C4x Options): Remove. + * doc/md.texi (Machine Constraints): Remove C4x documentation. + * doc/tm.texi (MEMBER_TYPE_FORCES_BLK, c_register_pragma): Do not + refer to C4x source files as examples. + (C4X_FLOAT_FORMAT): Remove documentation. + +2008-01-25 Bernd Schmidt + + * config/bfin/bfin.c (override_options): Reorder tests so that + flag_pic gets enabled for -msep-data. + +2008-01-25 Richard Guenther + + PR middle-end/32244 + * expr.c (expand_expr_real_1): Reduce result of LSHIFT_EXPR + to its bitfield precision if required. + +2008-01-25 Jakub Jelinek + + PR middle-end/33880 + * tree-nested.c (walk_omp_for): New function. + (convert_nonlocal_reference, convert_local_reference): Call + walk_omp_for on OMP_FOR. + (convert_call_expr): Call walk_body on OMP_FOR's + OMP_FOR_PRE_INIT_BODY. + +2008-01-25 Richard Guenther + + PR tree-optimization/34966 + * tree-ssa-math-opts.c (execute_cse_sincos_1): For all but + default defs and PHI_NODEs we have to insert after the + defining statement. + +2008-01-24 Nick Clifton + + * config/stormy16/stormy16-lib2.c (MIN_UNITS_PER_WORD): + Provide a default definition. + (LIBGCC2_UNITS_PER_WORD): Likewise. + + * config/stormy16/stormy16.c: Include df.h for the prototype + for df_regs_ever_live_p. + (xstormy16_expand_builtin_va_start): Convert the stack offset + into a component_ref and then use POINTER_PLUS_EXPR to add it + to the incoming_virtual_args_rtx. + (xstormy16_gimplify_va_arg_expr): Rename to + xstormy16_gimplify_va_arg_expr. + Use POINTER_PLUS_EXPR when performing pointer arithmetic. + (TARGET_GIMPLIFY_VA_ARG_EXPR): Use renamed + xstormy16_gimplify_va_arg_expr. + Fix up some formatting issues. + + * config/stormy16/stormy16.c: (xstormy16_carry_plus_operand): + Move to predicates.md. + (xs_hi_general_operand): Likewise. + (xs_hi_nonmemory_operand): Likewise. + * config/stormy16/predicates.md: + (xstormy16_carry_plus_operand): New predicate. + (xs_hi_general_operand): New predicate. + (xs_hi_nonmemory_operand): New predicate. + * config/stormy16/stormy16-protos.h: + (xstormy16_carry_plus_operand): Delete prototype. + (xs_hi_general_operand): Likewise. + (xs_hi_nonmemory_operand): Likewise. + + * config/storm16/stormy16.md (addhi3): Remove earlyclobber + modifiers as they are no longer needed and they can trigger + reload spill failures. + + * config/storm16/stormy16.md (ineqbranchsi): Replace match_dup + with a match_operand in order to help reload. + + * config/storm16/stormy16.md (movhi_internal): Replace 'r' + constraint with 'e' for the 8th alternative as this version of + the mov.w instruction only accepts the lower 8 registers. + +2008-01-25 Uros Bizjak + + PR target/34856 + * simplifx-rtx.c (simplify_const_binary_operation) [VEC_CONCAT]: + Consider only CONST_INT, CONST_DOUBLE and CONST_FIXED as constant + vector elements. + +2008-01-25 Jakub Jelinek + + PR middle-end/33333 + * gimplify.c (gimplify_omp_for): Gimplify OMP_FOR_PRE_BODY. + +2008-01-25 Golovanevsky Olga + + * ipa-struct-reorg.c (remove_str_allocs_in_func, remove_str_allocs): + New functions. + (remove_structure): Update allocations list before removing structure. + +2008-01-25 Golovanevsky Olga + + * ipa-struct-reorg.c (is_safe_cond_expr, + create_new_stmts_for_cond_expr): Use integer_zerop function, + that recognize not only zero-pointer, but zero-integer too. + +2008-01-25 Ben Elliston + + PR other/22232 + * fixproto: Escape "." in sed expression that strips leading "./". + +2008-01-24 H.J. Lu + + PR driver/34904 + * gcc.c (SWITCH_OK): Removed. + (SWITCH_LIVE): Changed to bit. + (SWITCH_FALSE): Likewise. + (SWITCH_IGNORE): Likewise. + (switchstr): Change live_cond to unsigned int. + (process_command): Replace SWITCH_OK with 0. + (do_self_spec): Likewise. + (set_collect_gcc_options): Check the SWITCH_IGNORE bit. + (give_switch): Likewise. + (used_arg): Likewise. + (do_spec_1): Set the SWITCH_IGNORE bit. + (check_live_switch): Check both SWITCH_LIVE and SWITCH_FALSE + bits. Set the SWITCH_LIVE bit. + +2008-01-24 Andreas Krebbel + + * config/s390/s390.h (MOVE_RATIO): Define new target macro. + +2008-01-24 Richard Sandiford + + PR tree-optimization/34472 + * ipa-struct-reorg.c (safe_cond_expr_check): Change the DATA + parameter to a "bool *" and set *DATA to false if there is + an unsafe access. Do not delete the structure here. + (check_cond_exprs): Delete it here instead. + (check_cond_exprs, exclude_cold_structs): Do not increase + I when removing a structure. + +2008-01-24 Uros Bizjak + + PR target/34856 + * config/i386/i386.c (ix86_expand_vector_init): Consider only + CONST_INT, CONST_DOUBLE and CONST_FIXED as constant vector elements. + +2008-01-24 Jakub Jakub Jelinek + + PR middle-end/34934 + * tree-stdarg.c (reachable_at_most_once): Use VEC vector instead of + a fixed vector for stack. + +2008-01-24 Ben Elliston + + PR c++/25701 + * doc/gcc.texi (Software development): Add a direntry for g++. + +2008-01-23 Hans-Peter Nilsson + + * config/cris/cris.h (CC1PLUS_SPEC, OPTIMIZATION_OPTIONS): Drop + stale and straggling -fforce-addr comments above. + + * config/cris/cris.h (CRIS_SUBTARGET_VERSION, TARGET_VERSION): Don't + define. + * config/cris/linux.h (CRIS_SUBTARGET_VERSION): Don't define. + * config/cris/aout.h (CRIS_SUBTARGET_VERSION): Don't define. + +2008-01-23 Michael Matz + + PR debug/34895 + * dwarf2out.c (force_type_die): Use modified_type_die instead of + gen_type_die. + +2008-01-23 Andreas Krebbel + + * ipa-struct-reorg.c (create_new_malloc): Use pointer type as + malloc result type. + +2008-01-23 Anatoly Sokolov + + * config/avr/avr.c (avr_current_arch): New variable. + (avr_arch_types): Add 'avr31' and 'avr51' entries. + (avr_arch): Add 'ARCH_AVR31' and 'ARCH_AVR51'. + (avr_mcu_types): Add 'avr31' and 'avr51' architectures. + (avr_override_options): Init 'avr_current_arch'. + (base_arch_s): Move from here... + * config/avr/avr.h (base_arch_s): ... here. Add new members + 'have_elpm', 'have_elpmx', 'have_eijmp_eicall', 'reserved'. Rename + 'mega' to 'have_jmp_call'. + (TARGET_CPU_CPP_BUILTINS): Define "__AVR_HAVE_JMP_CALL__", + "__AVR_HAVE_RAMPZ__", "__AVR_HAVE_ELPM__" and "__AVR_HAVE_ELPMX__" + macros. + (LINK_SPEC, CRT_BINUTILS_SPECS, ASM_SPEC): Add 'avr31' and 'avr51' + architectures. + * config/avr/t-avr (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, + MULTILIB_MATCHES): (Ditto.). + +2008-01-23 Richard Guenther + + PR middle-end/31529 + * cgraphunit.c (cgraph_reset_node): Always mark the node + not reachable if it is not queued already. + +2008-01-23 Bernd Schmidt + + * config/bfin/bfin-protos.h (WA_RETS, ENABLE_WA_RETS): New macros. + * config/bfin/bfin.c (bfin_cpus): Add WA_RETS everywhere. + (cputype_selected): New static variable. + (bfin_handle_option): Set it if -mcpu is used. + (override_option): Select default set of workarounds if no cpu type + selected on the command line. + (workaround_rts_anomaly): Only run if ENABLE_WA_RETS. + + From Michael Frysinger + * config/bfin/bfin-protos.h (enum bfin_cpu_type): Add + BFIN_CPU_BF547, BFIN_CPU_BF523, BFIN_CPU_BF524, and BFIN_CPU_BF526. + + * config/bfin/elf.h (LIB_SPEC): Use proper linker script + for bf547, bf523, bf524, and bf526. + * config/bfin/bfin.c (bfin_cpus[]): Add bf547, bf523, bf524, and + bf526. + * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define + __ADSPBF523__ for bf523, __ADSPBF524__ for bf524, + __ADSPBF526__ for bf526, __ADSPBF52x__ for all three, as well as + __ADSPBF547__ and __ADSPBF54x__ for bf547. + * doc/invoke.texi (Blackfin Options): Document that + -mcpu now accept bf547, bf523, bf524, and bf526. + +2008-01-22 Eric Botcazou + + PR rtl-optimization/34628 + * combine.c (try_combine): Stop and undo after the first combination + if an autoincrement side-effect on the first insn has effectively + been lost. + +2008-01-22 David Edelsohn + + PR target/34529 + * config/rs6000/rs6000.c (rs6000_legitimate_offset_address_p): + Offset addresses are not valid for Altivec or paired float modes. + +2008-01-22 Jakub Jelinek + + PR c++/34607 + * c-parser.c (c_parser_omp_for_loop): Don't call c_finish_omp_for + if DECL_INITIAL (decl) is error_mark_node. + + PR c++/34914 + * c-common.c (handle_vector_size_attribute): Only allow + integral, scalar float and fixed point types. Handle OFFSET_TYPE + the same way as pointer, array etc. types. + * tree.c (reconstruct_complex_type): Handle OFFSET_TYPE. + + PR c++/34917 + * tree.c (build_type_attribute_qual_variant): Call + build_qualified_type if attributes are equal, but quals are not. + +2008-01-22 Manuel Lopez-Ibanez + + PR 32102 + * doc/invoke.texi (-Wall): -Wall enables -Wstrict-overflow=1. + * flags.h (warn_strict_aliasing): Remove. + (warn_strict_overflow): Remove. + * opts.c (warn_strict_aliasing): Remove. + (warn_strict_overflow): Remove. + * c-opts.c (c_common_handle_option): -Wall only sets + -Wstrict-aliasing or -Wstrict-overflow if they are uninitialized. + (c_common_post_options): Give default values to -Wstrict-aliasing + and -Wstrict-overflow if they are uninitialized. + * common.opt (Wstrict-aliasing): Specify Var and Init. + (Wstrict-overflow): Likewise. + +2008-01-22 Kenneth Zadeck + + PR rtl-optimization/26854 + PR rtl-optimization/34400 + PR rtl-optimization/34884 + * ddg.c (create_ddg_dep_from_intra_loop_link): Use + DF_RD->gen. + * df.h (df_changeable_flags.DF_RD_NO_TRIM): Deleted + (df_rd_bb_info.expanded_lr_out): Deleted + * loop_invariant.c (find_defs): Deleted DF_RD_NO_TRIM flag. + * loop_iv.c (iv_analysis_loop_init): Ditto. * df-problems.c + (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n, + df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free): + Removed code to allocate, initialize or free expanded_lr_out. + (df_rd_bb_local_compute_process_def): Restructured to make more + understandable. + (df_rd_confluence_n): Removed code to no apply invalidate_by_call + sets if the sets are being trimmed. + +2008-01-22 H.J. Lu + + PR bootstrap/32287 + * configure.ac (ld_vers): Support GNU linker version xx.xx.* + (as_vers): Likewise. + * configure: Regenerated. + +2008-01-22 Manuel Lopez-Ibanez + + PR middle-end/33092 + * tree-pass.h (pass_build_alias): New pass. + * tree-ssa-alias.c (gate_build_alias): New. + (pass_build_alias): New. + * passes.c (init_optimization_passes): Add pass_build_alias after + pass_create_structure_vars. + +2008-01-22 Wolfgang Gellerich + + * config/s390/s390.h (S390_TDC_POSITIVE_NORMALIZED_NUMBER): + Renamed to S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER. + (S390_TDC_NEGATIVE_NORMALIZED_NUMBER): Renamed to + S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER. + (S390_TDC_POSITIVE_DENORMALIZED_NUMBER): Renamed to + S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER. + (S390_TDC_NEGATIVE_DENORMALIZED_NUMBER): Renamed to + S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER. + (S390_TDC_POSITIVE_NORMALIZED_BFP_NUMBER): New constant. + (S390_TDC_NEGATIVE_NORMALIZED_BFP_NUMBER): New constant. + (S390_TDC_POSITIVE_DENORMALIZED_BFP_NUMBER): New constant. + (S390_TDC_NEGATIVE_DENORMALIZED_BFP_NUMBER): New constant. + * config/s390/s390.md (FP_ALL): New mode iterator. + (_d): New mode attribute. + ("*signbit2>"): Changed mode of first operand. + ("isinf2"): Changed mode of first operand. + ("*TDC_insn"): Adaptation for DFP modes. + +2008-01-22 Ben Elliston + + * tree.c (check_qualified_type): Improve function description. + +2008-01-21 Jason Merrill + + PR c++/34196 + * tree.h (TRY_CATCH_IS_CLEANUP): New macro. + * tree-eh.c (honor_protect_cleanup_actions): Strip TRY_CATCH_EXPR + if it is set. + +2008-01-21 DJ Delorie + + * doc/tm.texi (HARD_REGNO_NREGS): Note that this macro must not + return zero. + +2008-01-21 Richard Guenther + + PR middle-end/34856 + * tree-cfg.c (verify_expr): Allow all invariant expressions + instead of just constant class ones as reference argument. + * tree-ssa-loop-im.c (for_each_index): Handle CONSTRUCTOR + like any other constant. + * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. + +2008-01-21 H.J. Lu + + * regmove.c (fixup_match_1): Update call crossed frequencies. + +2008-01-21 Richard Guenther + + PR c/34885 + * tree-inline.c (setup_one_parameter): Deal with mismatched + types using a VIEW_CONVERT_EXPR. + +2008-01-21 Alon Dayan + Olga Golovanevsky + + PR tree-optimization/34701 + * ipa-struct-reorg.c (gen_size): Fix the malloc parameter calculation + when the structure size is not a power of 2. + +2008-01-20 Kenneth Zadeck + + * doc/install.texi: Add doc for --enable-checking=df. + +2008-01-20 Kaz Kojima + + PR rtl-optimization/34808 + * emit-rtl.c (try_split): Handle REG_RETVAL notes. + +2008-01-20 Richard Sandiford + + * global.c (find_reg): Only compute EH_RETURN_DATA_REGNO once per + input. + +2008-01-19 Kenneth Zadeck + + PR rtl-optimization/26854 + PR rtl-optimization/34400 + * ddg.c (create_ddg_dep_from_intra_loop_link): Do not use + DF_RD->gen. + * df.h (df_changeable_flags.DF_RD_NO_TRIM): New. + (df_rd_bb_info.expanded_lr_out): New. + * loop_invariant.c (find_defs): Added DF_RD_NO_TRIM flag. + * loop_iv.c (iv_analysis_loop_init): Ditto. + * df-problems.c (df_rd_free_bb_info, df_rd_alloc, df_rd_confluence_n, + df_rd_bb_local_compute, df_rd_transfer_function, df_rd_free): + Added code to allocate, initialize or free expanded_lr_out. + (df_rd_bb_local_compute_process_def): Restructured to make + more understandable. + (df_rd_confluence_n): Add code to do nothing with fake edges and + code to no apply invalidate_by_call sets if the sets are being trimmed. + (df_lr_local_finalize): Renamed to df_lr_finalize. + (df_live_local_finalize): Renamed to df_live_finalize. + +2008-01-20 Richard Sandiford + + PR target/34831 + * config/mips/mips.md (div3): Use when + deciding whether to use reciprocal instructions. + +2008-01-19 Uros Bizjak + + * dwarf2out.c (dwarf2out_switch_text_section): Do not call + dwarf2out_note_section_used if cold_text_section is NULL. + +2008-01-19 Jakub Jelinek + + PR gcov-profile/34610 + * tree-cfg.c (make_edges): Mark both outgoing edges from + OMP_CONTINUE and from OMP_FOR as EDGE_ABNORMAL. + * omp-low.c (expand_omp_for): Clear EDGE_ABNORMAL bits + from OMP_FOR and OMP_CONTINUE outgoing edges. + + * tree-profile.c (tree_profiling): Return early if + cfun->after_tree_profile != 0. Set cfun->after_tree_profile + at the end. + * omp-low.c (expand_omp_parallel): Copy after_tree_profile + from cfun to child_cfun. + * function.h (struct function): Add after_tree_profile bit. + +2008-01-19 Anatoly Sokolov + + * config/avr/avr.S (_exit): Disable interrupt. + +2008-01-18 Kenneth Zadeck + Steven Bosscher + + PR rtl-optimization/26854 + PR rtl-optimization/34400 + * df-problems.c (df_live_scratch): New scratch bitmap. + (df_live_alloc): Allocate df_live_scratch when doing df_live. + (df_live_reset): Clear the proper bitmaps. + (df_live_bb_local_compute): Only process the artificial defs once + since the order is not important. + (df_live_init): Init the df_live sets only with the variables + found live by df_lr. + (df_live_transfer_function): Use the df_lr sets to prune the + df_live sets as they are being computed. + (df_live_free): Free df_live_scratch. + +2008-01-18 Ian Lance Taylor + + * common.opt: Add fmerge-debug-strings. + * dwarf2out.c (DEBUG_STR_SECTION_FLAGS): Test + flag_merge_debug_strings rather than flag_merge_constants. + * doc/invoke.texi (Option Summary): Mention + -fmerge-debug-strings. + (Debugging Options): Document -fmerge-debug-strings. + +2008-01-18 Ian Lance Taylor + + PR c++/33407 + * tree.h (DECL_IS_OPERATOR_NEW): Define. + (struct tree_function_decl): Add new field operator_new_flag. + * tree-inline.c (expand_call_inline): When inlining a call to + operator new, force the return value to go into a variable, and + set DECL_NO_TBAA_P on that variable. + * c-decl.c (merge_decls): Merge DECL_IS_OPERATOR_NEW flag. + 2008-01-18 Uros Bizjak PR debug/34484 @@ -143,7 +622,7 @@ function always sign-extends the value. 2008-01-16 Jakub Jelinek - Richard Guenther + Richard Guenther PR c/34668 * gimplify.c (fold_indirect_ref_rhs): Rename to ...