OSDN Git Service

2011-05-13 Martin Thuresson <martint@google.com>
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index a43b7e1..b8ee6d3 100644 (file)
@@ -1,3 +1,206 @@
+2011-05-13  Martin Thuresson  <martint@google.com>
+
+       PR gcov-profile/47793
+       * libgcov.c (gcov_exit): Support relative profile paths.
+       * doc/invoke.texi (-fprofile-dir): Update for above change.
+
+2011-05-13  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gimple_canonical_types_compatible_p): Do not use
+       type-pair caching, do not compare hashes.
+
+2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>
+
+       PR middle-end/48965
+       * tree-cfg.c (edge_to_cases_cleanup): Return true.
+       (verify_expr) [CASE_LABEL_EXPR]: Add checking.
+
+2011-05-13  Kai Tietz  <ktietz@redhat.com>
+
+       * gimplify.c (gimplify_expr): Make sure operand is boolified.
+       * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
+       compatible type for TRUTH_NOT_EXPR.
+
+2011-05-13  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_save_reg): Change return type to
+       bool.
+       (ix86_hard_regno_mode_ok): Change return value to bool.  Use
+       can_create_pseudo_p ().
+
+2011-05-13  Richard Guenther  <rguenther@suse.de>
+
+       PR lto/48978
+       * gimple.c (iterative_hash_gimple_type): Revert change in
+       pointer target and function result and argument hashing.
+
+2011-05-13  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
+       (*movxf_internal_nointeger): Ditto.
+       (*movdf_internal_rex64): Ditto.
+       (*movdf_internal): Ditto.
+       (*movdf_internal_nointeger): Ditto.
+       (*movsf_internal): Ditto.
+       (sincos splitters): Use can_create_pseudo ().
+
+2011-05-13  Joseph Myers  <joseph@codesourcery.com>
+
+       * config/i386/i386-opts.h: New.
+       * gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
+       ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
+       ix86_section_threshold): Remove.
+       (ix86_handle_option): Move MAX_CODE_ALIGN define here.  Handle
+       OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
+       OPT_mbranch_cost_.
+       (ix86_option_override_internal): Don't decode strings for options
+       other than -march=, -mtune= and -mfpmath=.  Don't allow for
+       __attribute__ uses in remaining diagnostics for options with
+       string arguments.  Don't check for integer arguments being negative.
+       * gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
+       enum tls_dialect, enum cmodel, enum asm_dialect): Move to i386-opts.h.
+       (ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
+       ix86_branch_cost, ix86_section_threshold): Remove.
+       * gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
+       HeaderInclude.
+       (malign-functions=, malign-jumps=, malign-loops=): Use UInteger
+       but not Var.
+       (masm=): Use Enum and Init.
+       (asm_dialect): New Enum and EnumValue entries.
+       (mbranch-cost=): Use UInteger.
+       (mlarge-data-threshold=): Use UInteger and Init.
+       (mcmodel=): Use Enum and Init.
+       (cmodel): New Enum and EnumValue entries.
+       (mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
+       (mpreferred-stack-boundary=, mincoming-stack-boundary=,
+       mregparm=): Use UInteger.
+       (mstringop-strategy=): Use Enum and Init.
+       (stringop_alg): New Enum and EnumValue entries.
+       (mtls-dialect=): Use Enum and Init.
+       (tls_dialect): New Enum and EnumValue entries.
+       (mabi=): Use Enum and Init.
+       (calling_abi): New Enum and EnumValue entries.
+       (mveclibabi=): Use Enum and Init.
+       (ix86_veclibabi): New Enum and EnumValue entries.
+
+2011-05-13  Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.md (mov expander): Fix use of rx_legitimate_constant_p.
+       * config/rx/rx-protos.h (rx_legitimate_constant_p): Rename prototype.
+
+2011-05-13  Kai Tietz  <ktietz@redhat.com>
+
+       PR middle-end/48984
+       * gimplify.c (gimplify_expr): Check for boolean_type_node instead
+       for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
+       (gimple_boolify): Check for cast for boolean_type_node instead for
+       BOOLEAN_TYPE.
+
+2011-05-13  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48172
+       * tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
+       multiplying by number of iterations for equal step.
+       (vect_create_cond_for_alias_checks): Likewise.
+
+2011-05-13  Andreas Schwab  <schwab@redhat.com>
+
+       * configure.ac: Use AS_HELP_STRING throughout.
+       * configure: Regenerate.
+
+>>>>>>> .r173734
+2011-05-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/i386.c (ix86_save_reg): Change maybe_eh_return to bool.
+       (ix86_emit_restore_regs_using_mov): Likewise.
+       (ix86_emit_restore_sse_regs_using_mov): Likewise.
+
+2011-05-12  Anatoly Sokolov  <aesok@post.ru>
+
+       * config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
+       SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
+       (RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
+       * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
+       RTX_OK_FOR_OLO10_P): ...here.
+       (sparc_mode_dependent_address_p): Use symbolic_operand instead of
+       SYMBOLIC_CONST.
+
+2011-05-12  Kai Tietz  <ktietz@redhat.com>
+
+       * gimplify.c (gimple_boolify): Re-boolify expression
+       arguments even if expression type is of kind BOOLEAN_TYPE.
+       (gimplify_boolean_expr): Removed.
+       (gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
+       and XOR. Additional take care that we keep expression's type.
+       * tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
+       of TRUTH_AND|OR|XOR_EXPR.
+
+2011-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR tree-optimization/48975
+       * tree-if-conv.c (combine_blocks): Call free_bb_predicate
+       on all bbs here and free and clear ifc_bbs at the end.
+
+2011-05-12  Richard Guenther  <rguenther@suse.de>
+
+       * gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
+       NULLPTR_TYPE similar to VOID_TYPE.  Defer type-leader lookup
+       until after simple checks.
+       (gimple_types_compatible_p): Likewise.
+       (iterative_hash_gimple_type): Always hash pointer targets
+       and function return and argument types.
+       (iterative_hash_canonical_type): Do not hash TYPE_QUALS,
+       hash TYPE_ALIGN.  Do not hash TYPE_MIN/MAX_VALUE.
+       (gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
+       handle NULLPTR_TYPE similar to VOID_TYPE.  Handle non-aggregates
+       completely in the simple compare section.
+       (gimple_register_canonical_type): Query the cache again after
+       registering.
+
+2011-05-12  Richard Guenther  <rguenther@suse.de>
+
+       PR tree-optimization/48172
+       * tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
+       the number of iterations from the segment size calculation.
+       (vect_create_cond_for_alias_checks): Adjust.
+
+2011-05-12  Jakub Jelinek  <jakub@redhat.com>
+
+       PR debug/48967
+       * var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
+       if validate_subreg fails.
+
+2011-05-12  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * ira.c (clarify_prohibited_class_mode_regs): Prevent the function from
+       accessing beyond the end of REGNO_REG_CLASS array by stopping the loop
+       early.
+
+2011-05-12  DJ Delorie  <dj@redhat.com>
+
+       * config/rx/rx.c (rx_builtins): New arrays - holds builtin functions.
+       (ADD_RX_BUILTIN1, ADD_RX_BUILTIN2, ADD_RX_BUILTIN3): Install
+       created builtin into rx_builtins array.
+       (rx_builtin_decl): New function.
+       (TARGET_BUITLIN_DECL): Define.  Include gt-rx.h.
+
+2011-05-12  DJ Delorie  <dj@redhat.com>
+           Nick Clifton  <nickc@redhat.com>
+
+       * config/rx/rx.h (HAVE_PRE_DECREMENT): Fix typo.
+       * config/rx/rx.c (CC_FLAG_FP): Fix comment.
+       (rx_is_legitimate_address): Add pre-decrement and post-increment
+       addressing in HImode and QImode.  Fix test for out of range
+       REG+INT addressing.
+       (rx_legitimate_constant_p): Rename to rx_is_legitimate_constant.
+       (rx_align_for_label): Test label before extracting its usage count.
+       (rx_adjust_insn_lengths): Fix selection of insn codes.
+       (TARGET_LEGITIMATE_CONSTANT_P): Use renamed function.
+
+2011-05-11  Jason Merrill  <jason@redhat.com>
+
+       * tree.c (type_hash_canon): Use struct tree_type_non_common.
+
 2011-05-11  Eric Botcazou  <ebotcazou@adacore.com>
 
        * cfgrtl.c (commit_one_edge_insertion): Remove always-true test and
@@ -6,8 +209,7 @@
 2011-05-11  Satoru Takabayashi  <satorux@google.com>
            Paul Pluzhnikov  <ppluzhnikov@google.com>
 
-       * doc/install.texi (Configuration): Document
-       --with-linker-hash-style.
+       * doc/install.texi (Configuration): Document --with-linker-hash-style.
        * gcc.c (init_spec): Handle LINKER_HASH_STYLE.
        * config.in: Add LINKER_HASH_STYLE.
        * configure.ac: Add --with-linker-hash-style.