X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2FChangeLog;h=acf73da830a4e84b6ede1b1ed603d0fc15b987d2;hb=587838bb0bd54e2b8be6347e515d2c755a3ab85d;hp=a5262ab0531b11f2c794badab289c2e8c5e49f62;hpb=19bcc4242224959c27d42d3675f678d6dc12b4a8;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a5262ab0531..acf73da830a 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,659 @@ +2011-12-08 Richard Guenther + + * tree-ssa-operands.c (add_stmt_operand): Do not mark stmts + volatile when processing operands of an ADDR_EXPR. + (get_indirect_ref_operands): Likewise. + (get_tmr_operands): Likewise. + (get_expr_operands): Likewise. + +2011-12-08 Andreas Krebbel + + PR target/50395 + * config/s390/s390.c (s390_mainpool_finish): Emit the jump over + the literal pool as jump insn. + +2011-12-08 Richard Guenther + + PR tree-optimization/49772 + * tree-inline.c (optimize_inline_calls): Remove bail out + on errors. + +2011-12-08 Richard Guenther + + PR lto/50747 + * lto-streamer-out.c (produce_symtab): Remove asserts. + +2011-12-08 Richard Guenther + + PR lto/49945 + * lto-streamer-out.c (tree_is_indexable): Localize variably + modified types and their FIELD_DECLs. + +2011-12-08 Eric Botcazou + + PR tree-optimization/51315 + * tree.h (get_object_or_type_alignment): Declare. + * expr.c (get_object_or_type_alignment): Move to... + * builtins.c (get_object_or_type_alignment): ...here. Add assertion. + * tree-sra.c (tree_non_mode_aligned_mem_p): Rename to... + (tree_non_aligned_mem_p): ...this. Add ALIGN parameter. Look into + MEM_REFs and use get_object_or_type_alignment for them. + (build_accesses_from_assign): Adjust for above change. + (access_precludes_ipa_sra_p): Likewise. + +2011-12-08 Richard Guenther + + PR lto/48437 + * lto-streamer-out.c (tree_is_indexable): Exclude block-local + extern declarations. + +2011-12-07 Andrew Pinski + + PR middle-end/45416 + * expr.c (do_store_flag): Rewrite code that looks for BIT_AND_EXPR for + SSA-expand. + +2011-12-07 Richard Guenther + + PR tree-optimization/50823 + * ipa-inline.c (edge_badness): Do not account for the number of + remaining calls. + +2011-12-07 Martin Jambor + + PR tree-optimization/50744 + * ipa-cp.c (good_cloning_opportunity_p): Assert size_cost is positive, + compute evaluation in HOST_WIDEST_INT. + (safe_add): New function + (propagate_effects): Use safe_add to accumulate effects. + +2011-12-06 Joel Sherrill + + * config/rs6000/rtems.h: Switch to using global_options_set + in SUBSUBTARGET_OVERRIDE_OPTIONS. + +2011-12-06 David S. Miller + + * config/sparc/visintrin.h: Add appropriate __VIS__ cpp protection. + +2011-12-06 Georg-Johann Lay + + * config/avr/avr.c (avr_file_start): Fix missing , + +2011-12-06 Jakub Jelinek + + PR target/51354 + * config/i386/i386.c (ix86_emit_leave): Call ix86_add_cfa_restore_note + unconditionally. + +2011-12-06 Georg-Johann Lay + + Forward-port from gcc-4_6-branch r181936 2011-12-02. + * config/avr/avr-mcus.def (avr_mcu_types): ATtiny4313 and + AT86RF401 have a 16-bit SP (their manual is bogus). + +2011-12-06 Georg-Johann Lay + + Forward-port from gcc-4_6-branch r181936 2011-12-02. + + PR target/51002 + * config/avr/avr.md (movhi_sp_r): Set insn condition to + !AVR_HAVE_8BIT_SP. + * config/avr/avr.c (output_movhi): Use "clr%B0" instead of "in + %B0,__SP_H__" if AVR_HAVE_8BIT_SP. + (avr_file_start): Only print "__SP_H__ = 0x3e" if !AVR_HAVE_8BIT_SP. + +2011-12-06 Georg-Johann Lay + + PR target/51409 + PR target/49868 + * config/avr/avr.h (ADDR_SPACE_PGM, ADDR_SPACE_PGM1, + ADDR_SPACE_PGM2, ADDR_SPACE_PGM3, ADDR_SPACE_PGM4, + ADDR_SPACE_PGM5, ADDR_SPACE_PGMX): Write as enum. + (avr_addrspace_t): New typedef. + (avr_addrspace): New declaration. + * config/avr/avr-c.c (avr_toupper): New static function. + (avr_register_target_pragmas, avr_cpu_cpp_builtins): Use + avr_addrspace to get address space information. + * config/avr/avr.c (avr_addrspace): New variable. + (avr_out_lpm, avr_pgm_check_var_decl, avr_insert_attributes, + avr_asm_named_section, avr_section_type_flags, + avr_asm_select_section, avr_addr_space_address_mode, + avr_addr_space_convert, avr_emit_movmemhi): Use it. + (avr_addr_space_pointer_mode): Forward to avr_addr_space_address_mode. + (avr_pgm_segment): Remove. + +2011-12-06 Richard Guenther + + PR middle-end/50601 + * varasm.c (assemble_alias): Move DECL_EXTERNAL implementation + quirk adjustjment ... + * passes.c (rest_of_decl_compilation): ... here. + +2011-12-06 Richard Guenther + + PR middle-end/51436 + * gimple-fold.c (gimplify_and_update_call_from_tree): Guard + vdef check for the fact we do not have virtual operands when + not optimizing. + +2011-12-06 Richard Guenther + + PR tree-optimization/51245 + * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_constant_for_pieces): + New function. + (vn_reference_lookup_3): Use it. Properly valueize all refs + we create. + +2011-12-06 Iain Sandoe + + * config/rs6000/rs6000.c (darwin_rs6000_override_options): Initialize + rs6000_current_abi. + +2011-12-06 Richard Guenther + + PR tree-optimization/51363 + * gimple.c (gimple_rhs_has_side_effects): Remove. + * gimple.h (gimple_rhs_has_side_effects): Likewise. + * tree-ssa-dom.c (optimize_stmt): Simplify conditional. + +2011-12-06 Alan Modra + + PR target/50906 + * config/rs6000/rs6000.c (rs6000_emit_prologue ): + Do not mark r11 setup as frame-related. Pass correct offset to + rs6000_emit_savres_rtx. Correct out-of-line rs6000_frame_related + arguments. Correct sp_offset. Remove "offset" fudge from + in-line rs6000_frame_related call. Rename misleading variable. + Fix comments and whitespace. Tidy some expressions. + (rs6000_emit_epilogue ): Always set frame_reg_rtx + to r11 in out-of-line case. Correct sp_offset. Pass correct + offset to rs6000_emit_savres_rtx. Rename misleading variable. + Fix comments and whitespace. Tidy some expressions. + (rs6000_emit_epilogue ): Add sp_offset + adjustment when !saving_GPRs_inline. Correct register mode + used in address calcs. + (rs6000_emit_epilogue ): Similarly when + !restoring_GPRs_inline. + +2011-12-06 Ramana Radhakrishnan + + * config/arm/vfp.md (*combine_vcvt_f64_): Fix + formatting character for vmov.f64 case. + +2011-12-05 Jakub Jelinek + + PR tree-optimization/51396 + * tree-ssa-math-opts.c (convert_mult_to_fma): Don't optimize + if MUL_RESULT has zero uses. + + PR debug/51410 + * c-decl.c (pop_scope): Don't add DECL_EXTERNAL decls + for debug info if scope is file_scope. + + PR c/51339 + * c-decl.c (c_finish_incomplete_decl, finish_decl): Call + relayout_decl instead of layout_decl. + +2011-12-05 Richard Sandiford + + * resource.c (init_resource_info): Only consider EXIT_IGNORE_STACK + if there is in epilogue. + +2011-12-05 Richard Sandiford + + * optabs.c (maybe_emit_sync_lock_test_and_set): Pass a null target + to emit_library_call_value. + (expand_atomic_compare_and_swap): Likewise. + +2011-12-05 Vladimir Makarov + + PR other/50775 + * ira-int.h (struct ira_object): Remove add_data. + (OBJECT_ADD_DATA): Remove. + + * ira-build.c (ira_create_object): Remove OBJECT_ADD_DATA + initialization. + + * ira-color.c (object_hard_regs_t, object_hard_regs): Rename to + allocno_hard_regs_t, allocno_hard_regs. + (object_hard_regs_node_t, object_hard_regs_node): Rename to + allocno_hard_regs_node_t and allocno_hard_regs_node. + (struct allocno_color_data): Add new member last_process. Move + profitable_hard_regs, hard_regs_node, and hard_regs_subnodes_start + from object_color_data. + (object_color_data_t, object_color_data, OBJECT_COLOR_DATA): + Remove. + (curr_allocno_process): New static variable. + (object_hard_regs_eq, object_hard_regs_htab): Rename to + allocno_hard_regs_eq and allocno_hard_regs_htab. + (init_object_hard_regs, finish_object_hard_regs): Rename to + init_allocno_hard_regs and finish_allocno_hard_regs. + (object_hard_regs_compare, object_hard_regs_node_t): Rename to + allocno_hard_regs_compare and allocno_hard_regs_node_t. + (create_new_object_hard_regs_node): Rename to + create_new_allocno_hard_regs_node. + (add_new_object_hard_regs_node_to_forest): Rename to + add_new_allocno_hard_regs_node_to_forest. + (add_object_hard_regs_to_forest, collect_object_hard_regs_cover): + Rename to add_allocno_hard_regs_to_forest and collect_allocno_hard_regs_cover. + (setup_object_hard_regs_nodes_parent): Rename to setup_allocno_hard_regs_nodes_parent. + (remove_unused_object_hard_regs_nodes): Rename to remove_unused_allocno_hard_regs_nodes. + (enumerate_object_hard_regs_nodes, object_hard_regs_nodes_num): + Rename to enumerate_allocno_hard_regs_nodes and allocno_hard_regs_nodes_num. + (object_hard_regs_nodes, object_hard_regs_subnode_t): Rename to + allocno_hard_regs_nodes and allocno_hard_regs_subnode_t. + (object_hard_regs_subnode, object_hard_regs_subnodes): Rename to + allocno_hard_regs_subnode and allocno_hard_regs_subnodes. + (object_hard_regs_subnode_index): Rename to allocno_hard_regs_subnode_index. + (setup_object_hard_regs_subnode_index): Rename to + setup_allocno_hard_regs_subnode_index. + (get_object_hard_regs_subnodes_num): Rename to get_allocno_hard_regs_subnodes_num. + (form_object_hard_regs_nodes_forest): Rename to form_allocno_hard_regs_nodes_forest. + (finish_object_hard_regs_nodes_tree): Rename to form_allocno_hard_regs_nodes_forest + (finish_object_hard_regs_nodes_forest): Rename to + finish_allocno_hard_regs_nodes_forest. + (setup_left_conflict_sizes_p): Use allocno data instead of object + ones. Process conflict allocnos once. + (update_left_conflict_sizes_p): Use allocno data instead of object + ones. Change prototype signature. + (empty_profitable_hard_regs): Use allocno data instead of object + ones. + (setup_profitable_hard_regs): Ditto. + (get_conflict_profitable_regs): Rename to + get_conflict_and_start_profitable_regs. Use allocno data for + profitable regs calculation. + (check_hard_reg_p): Change prototype signature. Check profitable + regs for allocno not the objects. + (assign_hard_reg): Process conflict allocnos only once for + updating conflict costs. + (setup_allocno_available_regs_num): Use allocno data instead of + object ones. Modify debug output. + (color_pass): Remove initialization and finalization of object + color data. + +2011-12-05 Kazu Hirata + + PR target/51408 + * config/arm/arm.md (*minmax_arithsi): Always require the else + clause in the MINUS case. + +2011-12-05 Richard Guenther + + PR tree-optimization/50904 + * tree-ssa-loop-im.c (struct mem_ref): Remove vops member. + (MEM_ANALYZABLE): New. + (memory_references): Remove clobbered_vops and vop_ref_map + members, add all_refs_stored_in_loop member. + (memref_free): Adjust. + (mem_ref_alloc): Likewise. + (gather_mem_refs_stmt): Do not record clobbers, instead + record refs for unanalyzable stmts. + (gather_mem_refs_in_loops): Do not propagate clobbers. + (struct vop_to_refs_elt, vtoe_hash, vtoe_eq, vtoe_free, + record_vop_access, get_vop_accesses, get_vop_stores, + add_vop_ref_mapping): Remove. + (create_vop_ref_mapping_loop): Adjust to simply record all + stores. + (analyze_memory_references): Adjust. + (refs_independent_p): Check for not analyzable refs. + (can_sm_ref_p): Likewise. + (ref_indep_loop_p_1): Simplify. + (tree_ssa_lim_finalize): Adjust. + + * tree-ssa-loop-im.c (stmt_cost): Simplify, use LIM_EXPENSIVE + rather than magic constants. Assign zero cost to PAREN_EXPR + and SSA_NAME copies. Assign cost proportional to the vector + size for vector constructors. + +2011-12-05 Richard Guenther + + * tree-ssa-alias.h (struct ao_ref_s): Add volatile_p field. + * tree-ssa-alias.c (ao_ref_init): Initialize it. + (ao_ref_init_from_ptr_and_size): Likewise. + (refs_may_alias_p_1): Two volatile accesses conflict. + (ref_maybe_used_by_call_p_1): Likewise. + (call_may_clobber_ref_p_1): Likewise. + * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Initialize + volatile_p field. + +2011-12-05 Richard Guenther + + * tree-ssa.c (verify_ssa): Verify SSA names in the loop + over all SSA names. Remove SSA operand checking, call + verify_ssa_operands. + * tree-ssa-operands.h (verify_ssa_operands): Declare. + * tree-ssa-operands.c (verify_ssa_operands): New function. + +2011-12-05 Ramana Radhakrishnan + + * config/arm/arm.c (vfp3_const_double_for_fract_bits): Define. + * config/arm/arm-protos.h (vfp3_const_double_for_fract_bits): Declare. + * config/arm/constraints.md ("Dt"): New constraint. + * config/arm/predicates.md + (const_double_vcvt_power_of_two_reciprocal): New. + * config/arm/vfp.md (FCVTI32typename): New. + (FCVT): New iterator. + (*combine_vcvt_f32_): New. + (*combine_vcvt_f64_): New. + +2011-12-05 Richard Guenther + + * cgraph.c (cgraph_create_edge_1): Initialize + call_stmt_cannot_inline_p from the stmt if possible. + (cgraph_make_edge_direct): Likewise. + * gimple-streamer-in.c (input_gimple_stmt): Do not + call gimple_call_set_cannot_inline. + * gimple.h (enum gf_mask): Remove GF_CALL_CANNOT_INLINE, shift + values. + (gimple_call_set_cannot_inline): Remove. + (gimple_call_cannot_inline_p): Likewise. + * ipa-inline-analysis.c (initialize_inline_failed): Look + at the edge call_stmt_cannot_inline_p flag. + * ipa-inline.c (can_inline_edge_p): Likewise. + (early_inliner): Only update the edge flag. + * ipa-prop.c (update_indirect_edges_after_inlining): Likewise. + (ipa_modify_call_arguments): Do not call gimple_call_set_cannot_inline. + * cgraphunit.c (assemble_thunk): Likewise. + * gimple-fold.c (gimple_fold_call): Likewise. + + * tree.h (CALL_CANNOT_INLINE_P): Remove. + * tree-mudflap.c (mf_xform_statements): Do not modify alloca calls. + * builtins.c (expand_builtin_alloca): With -fmudflap do not expand + alloca calls inline. + * cfgexpand.c (expand_call_stmt): Do not set CALL_CANNOT_INLINE_P. + * gimple.c (gimple_build_call_from_tree): Do not read + CALL_CANNOT_INLINE_P. + * gimplify.c (gimplify_call_expr): Do not copy CALL_CANNOT_INLINE_P. + +2011-12-05 Jakub Jelinek + Eric Botcazou + + PR middle-end/51323 + PR middle-end/50074 + * calls.c (internal_arg_pointer_exp_state): New variable. + (internal_arg_pointer_based_exp_1, + internal_arg_pointer_exp_scan): New functions. + (internal_arg_pointer_based_exp): New function. + (mem_overlaps_already_clobbered_arg_p): Use it. + (expand_call): Free internal_arg_pointer_exp_state.cache vector + and clear internal_arg_pointer_exp_state.scan_start. + +2011-12-04 Kaz Kojima + + * config/sh/linux.h (TARGET_DEFAULT): Add MASK_SOFT_ATOMIC. + * config/sh/sync.md: New file. + * config/sh/sh.md: Include sync.md. + * config/sh/sh.opt (msoft-atomic): New option. + * doc/invoke.texi (SH Options): Document it. + +2011-12-04 Nathan Sidwell + + * gcov-io.h (struct gcov_info): Replace trailing array with + pointer to array. + * profile.c (branch_prob): Only call renamed + coverage_begin_function once. + * coverage.h (coverage_begin_output): Rename to ... + (coverage_begin_function): ... here. + * coverage.c (struct function_list): Rename to ... + (struct coverage_data): ... this. Update all uses. + (gcov_info_var, gcov_fn_info_type, gcov_fn_info_ptr_type): New + globals. + (bbg_file_opened, bbg_function_announced): Remove. + (get_coverage_counts): Adjust message. + (coverage_begin_ouput): Rename to ... + (coverage_begin_function): ... here. Move file opening to + coverage_init. Adjust for being called only once. + (coverage_end_function): Remove bbg file and inhibit further + output here on error. + (build_info_type): Adjust for change to pointer to array. + (build_info): Receive array of function pointers and adjust. + (create_coverage): Break into ... + (coverage_obj_init, coverage_obj_fn, coverage_obj_finish): + ... these, and adjust. + (coverage_init): Open the notes file here. Tidy. + (coverage_finish): Call coverage_obj_init etc. + +2011-12-04 Ira Rosen + + PR middle-end/51285 + * tree-vect-loop.c (vect_create_epilog_for_reduction): Create exit + phi nodes for outer loop in case of double reduction. + +2011-12-04 Jérémie Detrey + + PR target/51393 + * config/i386/avxintrin.h (_mm256_insert_epi64): Declare second + parameter as long long. + +2011-12-04 Richard Sandiford + + PR middle-end/51351 + * optabs.c (init_sync_libfuncs): Use "or" rather than "ior" + in the external names. + +2011-12-03 Jack Howarth + + * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Pass -no_pie for + non-PIC code when targeting 10.7 or later. + +2011-12-03 Iain Sandoe + + * config/darwin.h (STARTFILE_SPEC): Do not use -lbundle1.o when + Darwin >= 10. + (DARWIN_DYLIB1_SPEC): Do not use -ldylib1.10.5.o when Darwin >= 10. + (DARWIN_CRT1_SPEC): Use -lcrt1.10.6.o when Darwin >= 10. + +2011-12-03 Jakub Jelinek + + * fold-const.c (fold_unary_loc): Fold VEC_UNPACK_LO_EXPR, + VEC_UNPACK_HI_EXPR, VEC_UNPACK_FLOAT_LO_EXPR and + VEC_UNPACK_FLOAT_HI_EXPR with VECTOR_CST argument. + (fold_binary_loc): Fold VEC_PACK_TRUNC_EXPR, + VEC_PACK_FIX_TRUNC_EXPR, VEC_WIDEN_MULT_LO_EXPR + and VEC_WIDEN_MULT_HI_EXPR with VECTOR_CST arguments. + + PR debug/50317 + * tree-ssa.c (target_for_debug_bind): Also allow is_gimple_reg_type + vars that aren't referenced. + (tree-ssa-live.c (remove_unused_locals): Don't clear TREE_ADDRESSABLE + of unreferenced local vars. + * cfgexpand.c (expand_debug_expr): For DEBUG_IMPLICIT_PTR allow also + TREE_ADDRESSABLE vars that satisfy target_for_debug_bind. + +2011-12-03 Anatoly Sokolov + + * config/arm/arm.h (LIBCALL_VALUE, FUNCTION_VALUE_REGNO_P): Remove. + * config/arm/arm-protos.h (aapcs_libcall_value): Remove. + * config/arm/arm.c (TARGET_FUNCTION_VALUE_REGNO_P): Define. + (arm_libcall_value_1, arm_function_value_regno_p): New function. + (arm_function_value, arm_libcall_value): Use arm_libcall_value_1. + (aapcs_libcall_value): Make static. + (arm_libcall_value): Add static qualifier. + +2011-12-02 Jakub Jelinek + + PR target/51387 + * config/i386/sse.md (mul3 with VI1_AVX2 iterator): For + V32QImode use { 0,2,..,14,32,34,..,46,16,18,..,30,48,50,..,62 } + permutation instead of extract even permutation. + +2011-12-02 Nathan Sidwell + + * gcov.c (struct arc_info): Add is_throw field. + (struct (block_info): Add exceptional field, reduce flags size to + account for it. + (struct function_info): Add has_catch field. + (struct line_info): Add unexceptional field. + (process_file): Call find_exception_blocks if necessary. + (read_graph_file): Adjust. Note if an exceptional edge is seen. + (find_exception_blocks): New. + (add_line_counts): Set line's unexceptional flag if not + exceptional. + (output_branch_count): Note exceptional arcs, lines and blocks. + * gcov-dump.c (tag_arcs): Decode arc flags. + * doc/gcov.texi: Document '=====' lines. + +2011-12-02 Anatoly Sokolov + + * config/ia64/ia64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS, + PRINT_OPERAND_PUNCT_VALID_P): Remove macros. + * config/ia64/ia64-protos.h (ia64_print_operand, + ia64_print_operand_address): Remove. + * config/ia64/ia64.c (TARGET_PRINT_OPERAND, + TARGET_PRINT_OPERAND_ADDRESS, TARGET_PRINT_OPERAND_PUNCT_VALID_P): + Define. + (ia64_print_operand_punct_valid_p): New function. + (ia64_print_operand, ia64_print_operand_address): Make static. + +2011-12-02 Michael Meissner + + PR target/51390 + * config/rs6000/rs6000.c (def_builtin): Use the correct field to + figure out the function's attributes. + (struct builtin_description): Mark mask field as const since we no + longer need to modify it for SPE and PAIRED builtins. + +2011-12-02 Joseph Myers + + Revert: + + 2008-09-18 Andrew Pinski + + PR rtl-opt/37451 + * loop-doloop.c (doloop_modify): New argument zero_extend_p and + zero extend count after the correction to it is done. + (doloop_optimize): Update call to doloop_modify, don't zero extend + count before call. + + 2008-11-03 Andrew Pinski + + PR rtl-opt/37782 + * loop-doloop.c (doloop_modify): Add from_mode argument that says what + mode count is in. + (doloop_optimize): Update call to doloop_modify. + +2011-12-02 Richard Guenther + + PR lto/47259 + * ipa.c (varpool_externally_visible_p): Register variables + are always externally visible. + +2011-12-02 Sameera Deshpande + + * gimple-pretty-print.c (dump_gimple_call): Dereference fn only if + non-NULL. + +2011-12-02 Martin Jambor + + PR tree-optimization/50622 + * tree-sra.c (load_assign_lhs_subreplacements): Force gimple operand + if both lacc and racc are grp_partial_lhs. + +2011-12-01 Kaz Kojima + + PR target/50814. + * config/sh/sh.c (expand_ashiftrt): Handle TARGET_SH2A same as + TARGET_SH3. + (shl_sext_kind): Likewise. + * config/sh/sh.h (SH_DYNAMIC_SHIFT_COST): Likewise. + * config/sh/sh.md (ashlsi3_sh2a, ashrsi3_sh2a, lshrsi3_sh2a): Remove. + (ashlsi3_std): Handle TARGET_SH2A same as TARGET_SH3. + (ashlsi3): Likewise. + (ashrsi3_d): Likewise. + (lshrsi3_d): Likewise. + (lshrsi3): Likewise. + +2011-12-01 Diego Novillo + + PR bootstrap/51346 + * ipa-inline.c (can_inline_edge_p): If the edge E has a statement, + use the statement's inline indicator instead of E's. + Remove consistency check. + +2011-12-01 Diego Novillo + + PR bootstrap/51346 + Revert + + 2011-11-29 Diego Novillo + + * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h. + Update field call_stmt_cannot_inline_p from call + graph edge, if needed. + * gimple.h (gimple_call_set_cannot_inline): Move to gimple.c. + +2011-12-01 Nathan Sidwell + + PR gcov-profile/51113 + * coverage.c (build_var): Keep coverage variables static. + +2011-12-01 Jakub Jelinek + + PR tree-optimization/51356 + * tree-vect-patterns.c (vect_recog_bool_pattern): Give up if + vectype doesn't have VECTOR_MODE_P. + + PR debug/50317 + * tree-ssa-dce.c (remove_dead_stmt): Add a debug stmt when removing + as unnecessary a store to a variable with gimple reg type. + * tree-ssa-live.c (remove_unused_locals): Clear TREE_ADDRESSABLE bit + on local unreferenced variables. + * cfgexpand.c (expand_gimple_basic_block): Don't emit DEBUG_INSNs + for !target_for_debug_bind variables. + +2011-12-01 Patrick Marlier + + PR middle-end/51273 + * cgraph.h (cgraph_call_node_duplication_hooks): Declare. + * cgraph.c (cgraph_call_node_duplication_hooks): Make global. + * cgraphunit.c (cgraph_copy_node_for_versioning): Call it. + +2011-12-01 Andrew Pinski + + PR lto/51198 + * tree.c (free_lang_data_in_decl): Clear FIELD_DECL's + DECL_INITIAL also. + +2011-12-01 Jakub Jelinek + + PR tree-optimization/51246 + * tree-predcom.c (replace_ref_with): Handle also clobber on the rhs. + + PR rtl-optimization/51014 + * loop-unroll.c (apply_opt_in_copies): Ignore label DEBUG_INSNs + both from bb and orig_bb. + +2011-12-01 Joern Rennecke + + PR tree-optimization/50802 + * tree-vrp.c (simplify_conversion_using_ranges): Rewrite test + considering what happens to ranges during sign changes and/or + intermediate narrowing conversions. + +2011-11-30 John David Anglin + + PR middle-end/50283 + * config/pa/pa.md (in_branch_delay): Disallow frame related insns. + (in_nullified_branch_delay): Likewise. + (in_call_delay): Likewise. + +2011-11-30 Richard Henderson + + * predict.c (expr_expected_value_1): Assume compare-and-swap builtin + boolean return is true. + 2011-11-30 Jakub Jelinek + PR rtl-optimization/51044 + * dse.c (emit_inc_dec_insn_before): Ensure new_insn is an instruction + rather than just insn body. + + PR target/50725 + * function.c (thread_prologue_and_epilogue_insns): If + stack_realign_drap, add drap_reg to SET_UP_BY_PROLOGUE + regset. + PR middle-end/51089 * tree-eh.c (cleanup_empty_eh_merge_phis): Add check to avoid creating duplicate edges here. @@ -249,7 +903,7 @@ code checking for a clobber of a condition register when deciding whether to predicate. -2011-11-29 Diego Novillo +2011-11-29 Diego Novillo * gimple.c (gimple_call_set_cannot_inline): Move from gimple.h. Update field call_stmt_cannot_inline_p from call graph edge, if needed. @@ -7181,7 +7835,7 @@ (duplicate_insns_of_cycles): Use register indices directly, rather than finding instructions using PREV_INSN. Use ps_reg_move. (sms_schedule): Call schedule_reg_moves before committing to - a partial schedule. Try the next ii if the schedule fails. + a partial schedule. Try the next ii if the schedule fails. Use apply_reg_moves instead of generate_reg_moves. Adjust call to print_node_sched_params. Free node_sched_param_vec instead of node_sched_params. @@ -8337,18 +8991,18 @@ (remove_duplicate_close_phi): Detect and repair creation of duplicate close-phis for a containing loop. -2011-09-27 Andi Kleen +2011-09-27 Andi Kleen * gcc.c (get_local_tick). Rename to get_random_number. Read from /dev/urandom. Add getpid call. (compare_debug_dump_opt_spec_function): Drop getpid call. -2011-09-26 Andi Kleen +2011-09-26 Andi Kleen * toplev.c (init_local_tick): Try reading random seed from /dev/urandom. -2011-09-26 Andi Kleen +2011-09-26 Andi Kleen * hwint.h (HOST_WIDE_INT_PRINT_HEX_PURE): Add. * lto-streamer.c (lto_get_section_name): Remove crc32_string. @@ -9456,13 +10110,13 @@ HImode by 1 in the case of multiplying with a CONST_INT. Record cost of *ashiftqihi2.signx.1 in case ASHIFT:QI. -2011-09-15 Jan Hubicka +2011-09-15 Jan Hubicka PR lto/50430 * gimple-fold.c (gimple_get_virt_method_for_binfo): Do not ICE on error_mark_node in the DECL_INITIAL of vtable. -2011-09-15 Diego Novillo +2011-09-15 Diego Novillo * Makefile.in (SYSROOT_CFLAGS_FOR_TARGET): Define from @SYSROOT_CFLAGS_FOR_TARGET@. @@ -12677,7 +13331,7 @@ separately. * tree-ssa-uninit.c (warn_uninitialized_phi): Adjust. -2011-08-11 Kazuhiro Inaoka +2011-08-11 Kazuhiro Inaoka * config/rx/rx.md (movsicc): Allow register to register transfers. (*movsicc): Likewise. @@ -12685,7 +13339,7 @@ (*stcc_reg): New pattern. Works for any comparison but only for register transfers. -2011-08-11 Diego Novillo +2011-08-11 Diego Novillo * tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call stream_write_tree instead of output_record_start. @@ -13023,7 +13677,7 @@ * tree-sra.c (access_precludes_ipa_sra_p): Also check access memory alignment. -2011-08-08 Diego Novillo +2011-08-08 Diego Novillo * Makefile.in (LTO_STREAMER_H): Add DIAGNOSTIC_H. (DATA_STREAMER_H): New. @@ -13350,7 +14004,7 @@ (TARGET_INSTANTIATE_DECLS): New define. 2011-08-06 Paolo Bonzini - Mikael Morin + Mikael Morin * Makefile.in (INCLUDES_FOR_TARGET): New. (LIBGCC2_CFLAGS): Use it. @@ -13784,12 +14438,12 @@ * config/arm/arm.c (arm_set_fixed_optab_libfunc): Constify maybe_suffix. -2011-08-03 David Li +2011-08-03 David Li * tree-optimize.c (execute_fixup_cfg): Fix up entry outgoing edge counts after inlining. -2011-08-03 David Li +2011-08-03 David Li * profile.c (compute_branch_probabilities): Compute function frequency after profile annotation. @@ -20330,8 +20984,8 @@ * config/arm/neon.md (vec_pack_trunc): Set the lengths correctly for the case with Quad vectors. -2011-06-13 Jakub Jelinek - Ira Rosen +2011-06-13 Jakub Jelinek + Ira Rosen PR tree-optimization/49352 * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at @@ -21303,7 +21957,7 @@ * calls.c (emit_call_1): Prefer the __builtin declaration of builtin functions. -2011-06-03 Diego Novillo +2011-06-03 Diego Novillo * lto-streamer-in.c (unpack_value_fields): Remove unneeded asserts. (lto_input_tree_pointers): Likewise. @@ -25301,7 +25955,7 @@ * config/m68k/m68k.c (m68k_expand_prologue): Set current_function_static_stack_size. -2011-05-02 Jan Hubicka +2011-05-02 Jan Hubicka * lto-streamer.c (lto_streamer_cache_insert_1, lto_streamer_cache_lookup, lto_streamer_cache_create,