OSDN Git Service

2010-12-09 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 31e5905..7380a97 100644 (file)
@@ -1,3 +1,384 @@
+2010-12-09  Richard Guenther  <rguenther@suse.de>
+
+       * reginfo.c (struct subregs_of_mode_node): Remove.
+       (subregs_of_mode): Likewise.
+       (som_hash): Likewise.
+       (som_eq): Likewise.
+       (invalid_mode_changes): New bitmap.
+       (record_subregs_of_mode): Get subregs_of_mode argument.
+       Fill in invalid_mode_changes bitmap.
+       (find_subregs_of_mode): Get subregs_of_mode argument and pass
+       it through.
+       (init_subregs_of_mode): Adjust.
+       (finish_subregs_of_mode): Likewise.
+       (invalid_mode_change_p): Query invalid_mode_changes bitmap.
+
+2010-12-09  Richard Guenther  <rguenther@suse.de>
+
+       * ira.c (ira): Do not call finish_subregs_of_mode.
+       * ira-costs.c (finish_costs): Call finish_subregs_of_mode.
+
+2010-12-09  Richard Guenther  <rguenther@suse.de>
+
+       * rtl.h (invalid_mode_change_p): Adjust prototype.
+       * reginfo.c (invalid_mode_change_p): Remove from argument.
+       * ira-costs.c (print_allocno_costs): Adjust callers.
+       (find_costs_and_classes): Likewise.
+
+2010-12-09  Jakub Jelinek  <jakub@redhat.com>
+
+       * config/s390/s390.md (*mov<mode>cc): Change lgoc and stgoc to
+       locg and stocg even in comment.
+       (sync_old_<atomic><mode>): Give mode to UNSPEC_VOLATILE.
+
+       PR target/41082
+       * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Use stvx
+       instead of stve*x.
+       (altivec_expand_stv_builtin): For op0 use mode of operand 1 instead
+       of operand 0.
+       * config/rs6000/altivec.md (VI_scalar): New mode attr.
+       (altivec_stve<VI_char>x, *altivec_stvesfx): Use scalar instead of
+       vector mode for operand 0, put operand 1 into UNSPEC.
+
+2010-12-09  Yao Qi  <yao@codesourcery.com>
+
+       * config/arm/arm.c (arm_preferred_rename_class): Implement targethook
+       PREFERRED_RENAME_CLASS.
+
+2010-12-08  Ian Lance Taylor  <iant@google.com>
+
+       * doc/sourcebuild.texi (Front End): Remove reference to
+       snapshot-README and snapshot-index.html.
+
+2010-12-08  Ian Lance Taylor  <iant@google.com>
+
+       * doc/sourcebuild.texi (Texinfo Manuals): Change update_web_docs
+       to update_web_docs_svn.
+       (Front End): Likewise.
+
+2010-12-08  Iain Sandoe <iains@gcc.gnu.org>
+
+       gcc/config.gcc (with_cpu): Default i[34567]86-*-darwin* and
+       x86_64-*-darwin* to with_cpu:-core2.
+       gcc/config/i386/mmx.md (*mov<mode>_internal_rex64): Replace movq
+       with movd for darwin assembler.
+       gcc/config/i386/sse.md (*vec_concatv2di_rex64_sse4_1): Ditto.
+       (*vec_concatv2di_rex64_sse): Ditto.
+
+2010-12-08  Richard Guenther  <rguenther@suse.de>
+           Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/45230
+       PR tree-optimization/45231
+       PR tree-optimization/45370
+       * sese.c (rename_uses): Returns a bool.  Call
+       recompute_tree_invariant_for_addr_expr only on the RHS of a
+       GIMPLE_ASSIGN.
+       (graphite_copy_stmts_from_block): Call fold_stmt_inplace when
+       rename_uses returns true.
+       * tree-ssa-copy.c (replace_exp): Add a comment about calling
+       fold_stmt_inplace after replace_exp.
+
+2010-12-08  Mike Stump  <mikestump@comcast.net>
+
+       PR debug/46749
+       * config/darwin.h (COLLECT_RUN_DSYMUTIL): Add.
+       (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
+       * config/darwin9.h (COLLECT_RUN_DSYMUTIL): Add.
+       (DSYMUTIL_SPEC): Use `linker' flags instead to handle lto better.
+       * collect2.c (post_ld_pass): Add.
+       (process_args): Add.
+       (maybe_run_lto_and_relink): Call post_ld_pass after ld.
+       (main): Likewise.  Call process_args.
+
+2010-12-08  Jakub Jelinek  <jakub@redhat.com>
+
+       PR middle-end/46844
+       * regrename.c (check_new_reg_p): Add ATTRIBUTE_UNUSED to reg
+       parameter.
+
+2010-12-08  Richard Earnshaw  <rearnsha@arm.com>
+
+       PR target/46631
+       * arm.c (thumb2_reorg): Also try to reduce <commutative_op> Rd, Rn, Rd
+       into a 16-bit instruction.
+
+2010-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>
+
+       PR middle-end/42694
+       * builtins.c (expand_builtin_pow_root): Don't optimize pow(x,y)
+       where y is 0.25, 1./6., or 0.75 if the target does not have a sqrt
+       instruction, but do optimize if y is 0.5 or 1./3. since that
+       changes an expensive call into a cheaper one.
+
+2010-12-08  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Use a shift
+       instead of a division to divide by BITS_PER_UNIT.
+
+2010-12-08  Richard Guenther  <rguenther@suse.de>
+
+       * gimplify.c (gimple_tree_eq): Assert hashes are equal only
+       when checking is enabled.
+
+2010-12-07  Andrey Belevantsev  <abel@ispras.ru>
+
+       PR target/43603
+       * haifa-sched.c (sched_create_recovery_edges): Update
+       dominator info.
+       * sel-sched-ir.c (maybe_tidy_empty_bb): Update dominator info
+       after deleting an empty block.
+       (tidy_control_flow): Also verify dominators.
+       (sel_remove_bb): Update dominator info after removing a block.
+       (sel_redirect_edge_and_branch_force): Assert that no unreachable
+       blocks will be created. Update dominator info.
+       (sel_redirect_edge_and_branch): Update dominator info when
+       basic blocks do not become unreachable.
+       (sel_remove_loop_preheader): Update dominator info. 
+
+2010-12-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
+       Reset alignment information.
+       (bump_vector_ptr): Likewise.
+
+2010-12-07  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       PR middle-end/46671
+       PR target/46685
+       * config/pa/pa.c (pa_function_section): New function.
+       (TARGET_ASM_FUNCTION_SECTION): Define.
+
+2010-12-07  Ian Lance Taylor  <iant@google.com>
+           Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+       PR bootstrap/46810
+       * configure.ac: Disable AC_MSG_ERROR while looking for the C++
+       preprocessor.
+       * configure: Rebuild.
+
+2010-12-07  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.c (output_addr_const_pdp11): Output negative
+       values with sign rather than as unsigned.
+
+2010-12-07  Paul Koning  <ni1d@arrl.net>
+
+       * config/pdp11/pdp11.c (TARGET_ASM_FUNCTION_SECTION): Define.
+       (pdp11_function_section): New function.
+
+2010-12-07  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/mcore/mcore.c Don't include assert.h.
+       (layout_mcore_frame, handle_structs_in_regs): Use gcc_assert.
+       * config/spu/spu.c: Don't include assert.h.
+       (spu_sms_res_mii): Use gcc_assert.
+
+2010-12-07  Sebastian Pop  <sebastian.pop@amd.com>
+
+       PR tree-optimization/42327
+       * tree-data-ref.c (omega_setup_subscript): Call build_int_cst
+       instead of using integer_minus_one_node.
+
+2010-12-07  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR c++/45330
+       * params.def (CXX_MAX_NAMESPACES_FOR_DIAGNOSTIC_HELP): New parameter.
+       * doc/invoke.texi (cxx-max-namespaces-for-diagnostic-help): Document.
+
+2010-12-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46832
+       * tree-ssa-math-opts.c (execute_optimize_widening_mul): Check
+       that the call has a lhs.
+
+2010-12-07  Yao Qi  <yao@codesourcery.com>
+
+       * Makefile.in: Add $(TARGET_H) to the regrename.o rule.
+       * regrename.c (struct du_head): Add new element length.
+       (sort_du_head, get_element, merge, merge_sort_comparison):
+       New functions of merge sort implementation to du_head list.
+       (regrename_optimize): Sort du_head linked list by length.
+       Iterate registers in a preferred-register-first order.
+       Move some code to ...
+       (check_new_reg_p): here.  New function.
+       (create_new_chain):  Initialize length.
+       (scan_rtx_reg): Increase length for non-debug insns.
+       * target.def: New hook preferred_rename_class.
+       * targhook.c (default_preferred_rename_class): New.
+       * targhook.h: Declare it.
+       * doc/tm.texi.in: New hook TARGET_PREFERRED_RENAME_CLASS.
+       * doc/tm.texi: Regenerate.
+
+2010-12-07  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/46799
+       * tree-parloops.c (separate_decls_in_region): Use UNKNOWN_LOCATION
+       instead of BUILTINS_LOCATION.
+       (create_loop_fn): Add LOC argument, pass it to build_decl instead of
+       BUILTINS_LOCATION.
+       (create_parallel_loop): Add LOC argument, use it for OMP clauses
+       and GIMPLE_*OMP* statements.
+       (gen_parallel_loop): Determine locus for the parallel loop, pass it
+       to create_loop_fn and create_parallel_loop.
+       * cfgexpand.c (gimple_expand_cfg): For builtin functions, call
+       set_curr_insn_source_location (UNKNOWN_LOCATION).
+
+2010-12-07  Joern Rennecke  <amylaar@spamcop.net>
+           Richard Guenther  <rguenther@suse.de>
+
+       PR target/46737
+       * config/bfin/bfin.c (BB_AUX_INDEX): Cast to intptr_t.
+       (bfin_reorder_loops): Change type of index to intptr_t.
+
+2010-12-07  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46726
+       * tree-inline.c (estimate_num_insns): Special case pow (x, 2.0).
+
+2010-12-07  Richard Guenther  <rguenther@suse.de>
+
+       * tree-ssa-math-opts.c (execute_optimize_widening_mul): Unlink
+       virtual operands.
+
+2010-12-07  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-parser.c (c_parser_typeof_specifier): Removed special
+       treatment of objc_volatilized attribute for Objective-C.
+
+2010-12-06  Vladimir Makarov  <vmakarov@redhat.com>
+
+       * ira.c (update_equiv_regs): Prohibit move insns if
+       pressure-sensitive scheduling was done.
+
+2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-parser.c (c_parser_for_statement): Use c_fully_fold() instead
+       of c_process_expr_stmt() for the iterating and collection
+       expressions of an Objective-C fast enumeration loop.
+
+2010-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/45997
+       * dwarf2out.c (modified_type_die): If both is_const_type and
+       is_volatile_type is set, start with DW_TAG_const_type or
+       DW_TAG_volatile_type depending on where we get qualified type
+       in the recursive call.
+
+       PR target/43897
+       * config/ia64/ia64.c (rtx_needs_barrier): Handle asm CLOBBER
+       as a store into that register.
+
+       PR tree-optimization/46528
+       PR debug/46338
+       * profile.c (branch_prob): Make sure last is never set to a debug
+       stmt.
+
+       PR debug/46771
+       * reginfo.c (init_subregs_of_mode): Don't call find_subregs_of_mode
+       on DEBUG_INSNs.
+
+       PR rtl-optimization/46777
+       * cfglayout.c (duplicate_insn_chain): Avoid duplicating
+       also barrier after tablejump.
+
+2010-12-06  Joern Rennecke  <amylaar@spamcop.net>
+           Richard Henderson  <rth@redhat.com>
+
+       PR target/46740
+       * config/vax/vax.c (vax_output_int_move): Fold #if into if.
+
+2010-12-06  Eric Botcazou  <ebotcazou@adacore.com>
+
+       * config/sparc/sol2.h (PUSHSECTION_FORMAT): Redefine unconditionally.
+       * config/sparc/sol2-gas.h (PUSHSECTION_FORMAT): Redefine.
+
+2010-12-06  Joern Rennecke  <amylaar@spamcop.net>
+
+       PR target/46735
+       * config/frv/predicates.md (gpr_or_int12_operand): Use IN_RANGE.
+       (gpr_fpr_or_int12_operand, gpr_or_int10_operand): Likewise.
+       (int12_operand, int_2word_operand, uint16_operand): Likewise.
+       (fpr_or_int6_operand, int6_operand, int5_operand): Likewise.
+       (uint5_operand, uint4_operand): Likewise.
+       * config/frv/frv.h (IN_RANGE_P): Delete.
+       (GPR_P, FPR_P, CC_P, ICC_P, FCC_P, CR_P, ICR_P, FCR_P): Use IN_RANGE.
+       (ACC_P, ACCG_P, SPR_P, CONST_OK_FOR_I, CONST_OK_FOR_J): Likewise.
+       (CONST_OK_FOR_L, CONST_OK_FOR_M, CONST_OK_FOR_N): Likewise.
+       (CONST_OK_FOR_P): Likewise.
+       * config/frv/frv.md (*movqicc_internal2_int): Likewise.
+       (*movqicc_internal2_float, *movhicc_internal2_int): Likewise.
+       (*movhicc_internal2_float, *movsicc_internal2_int): Likewise.
+       (*movsicc_internal2_float, casesi): Likewise.
+       * config/frv/frv.c (frv_frame_offset_rtx): Likewise.
+       (frv_asm_output_mi_thunk, frv_legitimate_address_p_1): Likewise.
+       (frv_emit_movsi, output_move_single, frv_emit_cond_move): Likewise.
+       (frv_split_cond_move, frv_rtx_costs): Likewise.
+
+       PR target/46739
+       * config/mmix/mmix.c (mmix_intval): Split shift count.
+
+2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (m_COREI7): New.
+       (initial_ix86_tune_features): Turn on
+       X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL and
+       X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL for Core i7.
+
+2010-12-06  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config.gcc: Allow corei7-avx for --with-arch/--with-cpu.
+
+       * config/i386/driver-i386.c (host_detect_local_cpu): Support
+       Sandy Bridge.
+
+       * config/i386/i386.c (override_options): Handle "corei7-avx".
+
+       * doc/invoke.texi: Document corei7-avx.
+
+2010-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46806
+       * tree-ssa-copyrename.c (copy_rename_partition_coalesce): Do not
+       coalesce different types.
+
+2010-12-06  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/46785
+       * tree-vect-loop.c (vect_is_simple_reduction_1): Also allow
+       call statements as operand definition.
+
+2010-12-06  Mingjie Xing  <mingjie.xing@gmail.com>
+
+       * doc/tm.texi.in: Fix typo.
+       * doc/tm.texi: Regenerate.
+
+2010-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
+
+       * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]: Fix typo in
+       last change.
+
+2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>
+
+       * c-family/c-common.h: Removed the declarations of all the objc_
+       callbacks, and moved them into c-objc.h.  Removed
+       objc_ivar_visibility_kind and moved it into c-objc.h.
+       * c-family/c-objc.h: New file.
+       * c-family/c-common.c: Include c-objc.h.
+       * c-family/c-format.c: Same change.
+       * c-family/stub-objc.c: Same change.
+       * c-decl.c: Include c-family/c-objc.h.
+       * c-parser.c: Same change.
+       * c-typeck.c: Same change.
+       * c-config-lang.in (gtfiles): Added c-family/c-objc.h.
+       * Makefile.in (c-decl.o): Depend on c-family/c-objc.h.
+       (c-parser.o): same change.
+       (c-typeck.o): Same change.
+       (c-family/c-format.o): Same change.
+       (c-family/stub-objc.o): Same change.
+       (c-family/c-common.o): Same change.
+       (PLUGIN_HEADERS): Added c-family/c-objc.h.
+
 2010-12-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * config.gcc [hppa[12]*-*-hpux10*, hppa[12]*-*-hpux11*]:  Ignore