X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=7a9eab0d7055700a6dbc2250aee9072f7974093f;hb=8589115b9cf39923208629a049f406b887c0cd3b;hp=6b03b42ff0fe02670474bc182ee5d4bfaa693f26;hpb=cb799353d6b2f1972bb59a26654d57b7c4d526de;p=thirdparty%2Fgcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6b03b42ff0fe..7a9eab0d7055 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,376 @@ +2009-12-30 Dave Korn + + PR lto/42531 + * lto-streamer-out.c (produce_asm): Skip any leading asterisk when + using DECL_ASSEMBLER_NAME to generate a section name. + (copy_function): Likewise. + +2009-12-30 Andreas Schwab + + PR target/42516 + * config/m68k/m68k.md (rotlsi_16): New insn. + +2009-12-30 Joseph Myers + + PR c/42439 + * c-decl.c (check_bitfield_type_and_width): Only pedwarn if + pedantic for bit-field width not an integer constant expression + but folding to one. + +2009-12-30 Ira Rosen + + PR tree-optimization/41956 + * tree-vect-slp.c (vect_supported_load_permutation_p): Add check that + the load indices differ. + +2009-12-30 Uros Bizjak + + PR target/42549 + * config/i386/mmx.md (*mmx_subv2sf3): Fix insn operand number for + alternative 1. + +2009-12-30 Robert Millan + + PR other/42537 + * errors.c: Fix typo in comment. + * graphite-sese-to-poly.c: Likewise. + * profile.c (is_inconsistent): Fix typo in string. + +2009-12-29 Ian Lance Taylor + + PR middle-end/42099 + * expmed.c (expand_divmod): Don't shift HOST_WIDE_INT value more + than HOST_BITS_PER_WIDE_INT. + +2009-12-29 H.J. Lu + + * config/i386/i386.c (ix86_expand_int_vcond): Reformat. + +2009-12-29 Dave Korn + Iain Sandoe + + PR objective-c++/41595 + * config/darwin.c (darwin_label_is_anonymous_local_objc_name): + New function to recognize objective c/c++ internal symbols, + including mangled ones. + * config/darwin.h (ASM_OUTPUT_LABELREF): Use + darwin_label_is_anonymous_local_objc_name to detect both + mangled and clear ObjC internal symbols. + +2009-12-28 H.J. Lu + + PR middle-end/41344 + * omp-low.c (diagnose_sb_2): Handle GIMPLE_COND. + +2009-12-24 Andy Hutchinson + + PR target/42457 + * config/avr/avr.c (avr_extra_arch_macro): Remove static. + (avr_cpu_cpp_builtins): Remove. + * config/avr/avr.h (avr_extra_arch_macro): Add prototype. + * config/avr/avr-c.c: New File. + (avr_cpu_cpp_builtins) : Add. + * config/avr/t-avr: Add make information for avr-c. + * config.gcc (avr-*-*): Include avr-c.o as c and cpp object. + +2009-12-24 Andy Hutchinson + + PR target/35013, 27192 + * config/avr/avr.c (print_operand_address): Print correct program + memory address. + Add warning for large device offset addresses. + (avr_assemble_integer): Ditto. + (print_operand): Add warnings for incorrect addressing. + (out_movqi_r_mr): Tag assembler with new address codes. + (out_movhi_r_mr): Ditto. + (out_movsi_r_mr): Ditto. + (out_movqi_mr_r): Ditto. + (out_movhi_mr_r): Ditto. + (out_movsi_mr_r): Ditto. + * config/avr/predicates.md (text_segment_operand): New predicate. + * config/avr/avr.md (jump): Tag assembler with new address codes. + (call_insn): Ditto. + (call_value_insn): Ditto. + (*tablejump_lib): Ditto. + (*cbi): Ditto. + (*sbi): Ditto. + (indirect_jump): New define_expand. + (jcindirect_jump): New pattern for constant expression jump. + (njcindirect_jump): Renamed old indirect_jump. + +2009-12-24 Steven Bosscher + + * store-motion.c (build_store_vectors): Clear regs_set_in_block at + the start of a loop over basic blocks. + +2009-12-24 Julian Brown + Ramana Radhakrishnan + + PR target/40887 + * config/arm/arm.c (output_call_mem): Remove armv5 support. + * config/arm/arm.md (*call_mem): Disable for armv5. Add note. + (*call_value_mem): Likewise. + +2009-12-23 Jakub Jelinek + + PR rtl-optimization/42475 + * combine.c (make_compound_operation) : Use mode of + SUBREG_REG (x) instead of tem's mode. + +2009-12-23 Jakub Jelinek + Cary Coutant + + PR debug/42454 + * dwarf2out.c (add_ranges_by_labels): Conditionally Add DW_AT_ranges + attribute. + (dwarf2out_finish): Change calls to add_ranges_by_labels. + +2009-12-23 Ramana Radhakrishnan + + PR target/42093 + * config/arm/arm.h (CASE_VECTOR_PC_RELATIVE): Fix macro usage + to TARGET_THUMB1. + (CASE_VECTOR_SHORTEN_MODE): Allow signed offsets + only for TARGET_THUMB1. + +2009-12-23 Ramana Radhakrishnan + + PR target/40670 + * config/arm/arm.md: Split for Thumb1 as well. + +2009-12-22 Cary Coutant + + PR debug/42454 + * dwarf2out.c (dwarf2out_finish): Don't output range for .text + section unless .text section was used. Likewise for cold. + +2009-12-22 Brian Hackett + + * doc/plugins.texi: Rename pre-genericize event. + +2009-12-22 Paolo Carlini + + PR driver/42463 + * params.def ([PARAM_PREDICTABLE_BRANCH_OUTCOME]): Fix typo in + help string. + + * doc/invoke.texi: Fix typo. + +2009-12-22 Paul Brook + + * doc/tm.texi (ARG_POINTER_CFA_OFFSET): Document new default. + * defaults.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size. + * config/spu/spu.h (ARG_POINTER_CFA_OFFSET): Add pretend_args_size. + +2009-12-21 Brian Hackett + + * plugin.def: Rename pre-genericize event. + * plugin.c (register_callback, invoke_plugin_callbacks): Same. + * c-decl.c (finish_function): Invoke callbacks on above event. + +2009-12-21 Jakub Jelinek + + PR rtl-optimization/42429 + * reload.c (find_reloads_subreg_address): When adjusting mode of + MEM, update also MEM_SIZE if it is set. + +2009-12-21 H.J. Lu + + PR bootstrap/42345 + * acinclude.m4 (gcc_GAS_FLAGS): New. + (gcc_GAS_CHECK_FEATURE): Use gcc_GAS_FLAGS. + * configure: Regenerated. + +2009-12-20 Michael Matz + + PR tree-optimization/42027 + * cfgexpand.c (expand_gimple_cond): Use jumpy sequence for &, &&, | + and || if jumps are cheap. + +2009-12-19 Richard Guenther + + PR lto/42401 + * lto-streamer-out.c (tree_is_indexable): Local statics are indexable. + (lto_output_tree_ref): Adjust assert. + +2009-12-19 Richard Guenther + + PR tree-optimization/42108 + * tree-ssa-sccvn.c (last_vuse_ptr): New variable. + (vn_reference_lookup_2): Update last seen VUSE. + (vn_reference_lookup_3): Avoid updating last seen VUSE after + translating. + (visit_reference_op_load): Use last seen VUSE from the first + lookup when entering into the table. + +2009-12-19 Joern Rennecke + + * Makefile.in (PLUGIN_HEADERS): Add more headers. + + * tree-pass.h (GCC_PASS_LISTS): Define. + (PASS_LIST_NO_all_lowering_passes): New enumeration value. + (PASS_LIST_NO_all_small_ipa_passes): Likewise. + (PASS_LIST_NO_all_regular_ipa_passes): Likewise. + (PASS_LIST_NO_all_lto_gen_passes): Likewise. + (PASS_LIST_NO_all_passes): Likewise. + (PASS_LIST_NUM): Likewise. + (gcc_pass_lists): Declare. + * passes.c (gcc_pass_lists): Define. + +2009-12-18 Richard Guenther + + * tree-ssa-sccvn.c (copy_nary): New function. + (copy_phis): Likewise. + (copy_references): Likewise. + (process_scc): Avoid last iteration by copying the + optimistic table to the valid table. + +2009-12-17 Jakub Jelinek + + * dwarf2out.c (loc_descriptor): For SYMBOL_REFs and LABEL_REFs + use DW_OP_addr+DW_OP_stack_value instead of DW_OP_implicit_value. + (add_const_value_attribute): For CONST_STRING, SYMBOL_REFs and + LABEL_REFs use DW_OP_addr+DW_OP_stack_value DW_AT_location instead of + DW_AT_const_value. + +2009-12-17 Alexandre Oliva + + PR debug/41679 + * var-tracking.c (count_uses): Count MO_VAL_USE of original + MO_VAL_SET value for COND_EXEC. + (add_stores): Handle conditional stores. + + PR debug/41679 + * var-tracking.c (use_type): Remove indirection from loc. + (count_uses): Dereference incoming loc early. + (add_uses): Dereference incoming loc early. + + PR debug/41679 + * var-tracking.c (add_stores): Avoid value mode mismatch for + promoted declarations. + +2009-12-17 Jakub Jelinek + + PR c++/42386 + * ipa.c (function_and_variable_visibility): Clear same_comdat_group + links of DECL_EXTERNAL nodes. + +2009-12-17 Sandra Loosemore + + * doc/rtl.texi (Vector Operations): Clarify vec_select result mode. + +2009-12-17 Julian Brown + + * config/arm/bpabi-v6m.S (test_div_by_zero): New macro. + (aeabi_ldivmod, aeabi_uldivmod): Use above macro. + * config/arm/bpabi.S (test_div_by_zero): New macro. + (aeabi_ldivmod, aeabi_uldivmod): Use above macro. + * config/arm/lib1funcs.asm (ARM_LDIV0): Tail-call int div-by-zero + handler for EABI. Add signed/unsigned argument, pass correct value + to that handler. + (THUMB_LDIV0): Same, for Thumb. + (DIV_FUNC_END): Add signed argument. + (WEAK): New macro (for EABI). + (__udivsi3, __umodsi3): Add unsigned argument to DIV_FUNC_END. For + __udivsi3, add entry point which skips division-by-zero test. + (__divsi3, __modsi3): Add signed argument to DIV_FUNC_END. + (__aeabi_uidivmod, __aeabi_idivmod): Check for division by zero. + Call __udivsi3 or __divsi3 via entry points which skip + division-by-zero tests. + (__div0): Rename to __aeabi_idiv0, __aeabi_ldiv0 for EABI, and + declare those names weak. + +2009-12-17 Richard Guenther + + PR middle-end/42397 + * builtins.c (get_object_alignment): Properly deal with + a CONST_DECL base. + * expr.c (emit_block_move_hints): Assert the alignment makes sense. + +2009-12-17 Uros Bizjak + + PR target/32280 + * config/i386/i386-modes.def (V1TI): New vector mode. + * config/i386/i386.h (VALID_SSE_REG_MODE): Add V1TImode. + (SSE_REG_MODE_P): Ditto. + * config/i386/sse.md (SSEMODE16): New mode iterator. + (AVXMODE16): Ditto. + (avxvecmode): Handle V1TI mode. + (*avx_mov_internal): Use AVXMODE16 instead of AVXMODE. + (mov): Use SSEMODE16 instead of SSEMODE. + (*mov_internal): Ditto. + (push1): Ditto. + (movmisalign): Ditto. + (sse2_ashlv1ti): Rename from sse2_ashlti. + (sse2_lshrv1ti): Rename from sse2_lshrti. + (*avx_ashlv1ti): Rename from *avx_ashlti and move from i386.md. + (*avx_lshrv1ti): Rename from *avx_lshrti and move from i386.md. + (vec_shl_): Convert operands to V1TImode and use V1TI shift. + (vec_shr_): Ditto. + (*sse2_mulv4si3): Update for renamed sse2_ashlv1ti3. + (udot_prodv4si): Ditto. + * config/i386/i386.c (classify_argument): Handle V1TImode. + (function_arg_advance_32): Ditto. + (function_arg_32): Ditto. + (ix86_expand_sse4_unpack): Convert operands to V1TImode and update + for renamed gen_sse2_lshrv1ti3. + (ix86_expand_args_builtin) : Set rmode + to V1TImode. + (struct builtin_description) <__builtin_ia32_pslldqi128>: Update + for renamed sse2_ashlv1ti3. + <__builtin_ia32_psrldqi128>: Update for renamed sse2_lshrv1ti3. + + Revert: + 2007-06-11 Uros Bizjak + + PR target/32280 + * config/i386/sse.md ("sse2_ashlti", "sse2_lshrti3"): Move ... + * config/i386/i386.md ("sse2_ashlti", "sse2_lshrti3"): ... to here. + +2009-12-17 Richard Earnshaw + + PR target/42372 + * arm.md (pic_add_dot_plus_eight): Change output constraint from + update to write. + +2009-12-17 Shujing Zhao + + * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): + Update build_indirect_ref calls. + +2009-12-17 Uros Bizjak + + * config/i386/sync.md (IMODE): Remove mode iterator. + (modesuffix): Remove mode attribute. + (modeconstraint): Ditto. + (immconstraint): Ditto. + (*sync_compare_and_swap): Use SWI mode iterator instead of + IMODE mode iterator, imodesuffix mode attribute instead of modesuffix, + mode attribute instead of modeconstraint and mode attribute + instead of immconstraint. + (sync_double_compare_and_swap): Ditto. + (sync_old_add): Ditto. + (sync_lock_test_and_set): Ditto. + (sync_add): Ditto. + (sync_sub): Ditto. + (sync_and): Ditto. + (sync_ior): Ditto. + (sync_xor): Ditto. + (sync_): Macroize insn pattern from + sync_{and,ior,xor} using any_logic code iterator. + +2009-12-17 Shujing Zhao + + PR c/40885 + * c-common.h (ref_operator): New type. + (build_indirect_ref): Adjust prototype with new argument. + * c-typeck.c (build_indirect_ref): Accept ref_operator as argument and + emit the diagnostics for easy translation. + (build_array_ref): Update calls to build_indirect_ref. + * c-omp.c (c_finish_omp_atomic): Likewise. + * c-parser.c (c_parser_unary_expression, + c_parser_postfix_expression_after_primary): Likewise. + 2009-12-16 Richard Guenther PR lto/42392