+2011-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (floating point move splitters): Fix
+ usage of standard_80387_constant_p.
+ (ix86_preferred_reload_class): Ditto.
+
+2011-05-15 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (*movdf_internal): Simplify insn condition.
+
+2011-05-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
+ (fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
+ (tree_ssa_lim_finalize): Likewise.
+
+2011-05-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraint.md (Yd, Yx): New register constraints.
+ * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
+ Yd conditional register constraint.
+ (*movtf_internal): Use standard_sse_constant_opcode.
+ (*movxf_internal): Merge with *movxf_internal_nointeger. Use
+ Yx conditional register constraint.
+ (*movdf_internal): Merge with *movdf_internal_nointeger. Use
+ Yd conditional register constraint. Use standard_sse_constant_p to
+ check for valid SSE constants and call standard_sse_constant_opcode to
+ output SSE insn.
+ (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
+ constants and call standard_sse_constant_opcode to output SSE insn.
+ * config/i386/i386.c (ix86_option_ovverride_internal): Set
+ TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
+ optimize_size is set.
+ (standard_sse_constant_opcode): Output conditional AVX insn templates.
+
+2011-05-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/constraint.md (Yd, Yx): New register constraints.
+ * config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger. Use
+ Yd conditional register constraint.
+ (*movtf_internal): Use standard_sse_constant_opcode.
+ (*movxf_internal): Merge with *movxf_internal_nointeger. Use
+ Yx conditional register constraint.
+ (*movdf_internal): Merge with *movdf_internal_nointeger. Use
+ Yd conditional register constraint. Use standard_sse_constant_p to
+ check for valid SSE constants and call standard_sse_constant_opcode to
+ output SSE insn.
+ (*movsf_internal): Use standard_sse_constant_p to check for valid SSE
+ constants and call standard_sse_constant_opcode to output SSE insn.
+ * config/i386/i386.c (ix86_option_ovverride_internal): Set
+ TARGET_INTEGER_DFMODE_MOVES for 64bit targets. Clear it when
+ optimize_size is set.
+ (standard_sse_constant_opcode): Output conditional AVX insn templates.
+
+2011-05-14 Tobias Burnus <burnus@net-b.de>
+
+ * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.
+
+2011-05-13 Martin Jambor <mjambor@suse.cz>
+
+ * ipa-prop.c (ipa_cst_from_jfunc): New function.
+ * ipa-prop.h (ipa_cst_from_jfunc): Declare.
+ * ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
+ (evaluate_conditions_for_ipcp_clone): Removed.
+ (estimate_ipcp_clone_size_and_time): Accept vector of known constants.
+ * ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
+ * ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.
+
+2011-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
+ * regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
+ lieu of MAY_HAVE_DEBUG_STMTS.
+ * tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
+ debug statements if !MAY_HAVE_DEBUG_STMTS.
+
+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.
+
+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
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.
2011-05-11 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.c (legitimize_tls_address)
- <TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ <case TLS_MODEL_GLOBAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS. Determine pic and
__tls_get_addr symbol reference here. Update call to
gen_tls_global_dynamic_{32,64} for added arguments.
- <TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
+ <case TLS_MODEL_LOCAL_DYNAMIC>: Call gen_tls_dynamic_gnu2_{32,64}
expanders directly for TARGET_GNU2_TLS. Determine
__tls_get_addr symbol reference here. Update call to
gen_tls_local_dynamic_base_{32,64} for added arguments. Attach
* config/bfin/uclinux.h (LINK_GCC_C_SEQUENCE_SPEC): Make sure
libbffastfp overrides libgcc when -mfast-fp.
-2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
+2011-05-03 Stuart Henderson <shenders@gcc.gnu.org>
Originally from Bernd Schmidt
* config/bfin/uclinux.h (SUBTARGET_FDPIC_NOT_SUPPORTED): New macro.
2011-04-25 Paolo Carlini <paolo.carlini@oracle.com>
- * c-family/c-common.c (struct c_common_resword): Add __underlying_type.
- * c-family/c-common.h (enum rid): Add RID_UNDERLYING_TYPE.
* doc/extend.texi: Document __underlying_type.
2011-04-25 Segher Boessenkool <segher@kernel.crashing.org>
* haifa-sched.c (prune_ready_list, schedule_block): Use
sched_pressure_p rather than flag_sched_pressure.
-2011-04-15 Pat Haugen <pthaugen@us.ibm.com>
+2011-04-15 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (call_ABI_of_interest): Call
cgraph_get_node instead of cgraph_get_create_node.
2011-04-14 Anatoly Sokolov <aesok@post.ru>
Eric Weddington <eric.weddington@atmel.com>
- Georg-Johann Lay <avr@gjlay.de>
+ Georg-Johann Lay <avr@gjlay.de>
* config/avr/avr.c ("insn-codes.h", "optabs.h", "langhooks.h"):
New Includes
(TREE_CHAIN): Check for a TS_COMMON structure.
(TREE_TYPE): Check for a TS_TYPED structure.
-2011-04-12 Pat Haugen <pthaugen@us.ibm.com>
+2011-04-12 Pat Haugen <pthaugen@us.ibm.com>
* config/rs6000/rs6000.c (call_ABI_of_interest): Call
cgraph_get_create_node instead of cgraph_node.
* config/i386/cygming.opt: Make sure trailing empty line is retained.
* config/i386/mingw-w64.opt: Likewise.
-2011-04-01 Gary Funck <gary@intrepid.com>
+2011-04-01 Gary Funck <gary@intrepid.com>
* c-decl.c (grokdeclarator): Fix formatting.