+2012-07-06 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53820
+ * var-tracking.c (vt_add_function_parameter): Convert
+ internal_arg_pointer into arg_pointer-based address even
+ without DRAP.
+
+2012-07-06 Alexandre Oilva <aoliva@redhat.com>
+
+ PR rtl-optimization/53827
+ PR debug/53671
+ PR debug/49888
+ * alias.c (memrefs_conflict_p): Adjust offset and size by the
+ same amount for alignment ANDs.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/51879
+ * tree-ssa-sccvn.c (copy_reference_ops_from_call)
+ (visit_reference_op_call): Handle case that lhs is not an SSA_NAME.
+ (visit_use): Also call visit_reference_op_call for calls with a vdef.
+
+2012-07-06 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/52009
+ * tree-ssa-tail-merge.c (gimple_equal_p): For GIMPLE_ASSIGN, compare
+ value numbers of gimple_vdef.
+ * tree-ssa-sccvn.h (vn_reference_insert): Add vdef parameter to
+ prototype.
+ * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Handle MODIFY_EXPR.
+ (vn_reference_insert): Add and handle vdef parameter.
+ (visit_reference_op_load): Add argument to vn_reference_insert call.
+ (visit_reference_op_store): Find value number of vdef of store. Insert
+ value number of vdef of store.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (simple lea to add peephole): Also transform
+ RTXes where second PLUS operand matches output.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (construct_plt_address): Make static.
+ * config/i386/i386-protos.h (construct_plt_address): Remove.
+
+2012-07-06 Nick Clifton <nickc@redhat.com>
+
+ * config/mn10300/mn10300.c (mn10300_encode_section_info): Call
+ default_encode_section_info.
+
+2012-07-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53853
+ * config/i386/i386.c (x86_output_mi_thunk): For CM_LARGE_PIC model,
+ emit PIC sequence for fnaddr symbol reference in advance.
+
+2012-07-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ Revert
+ 2012-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (function_possibly_abstracted_p): New static function.
+ (gen_subprogram_die): Use it function_possibly_abstracted_p in lieu of
+ cgraph_function_possibly_inlined_p.
+ (gen_inlined_subroutine_die): Return if the origin is to be ignored.
+ (process_scope_var): Do not emit concrete instances of abstracted
+ nested functions from here.
+ (gen_decl_die): Emit the abstract instance if the function is possibly
+ abstracted and not only possibly inlined.
+ (dwarf2out_finish): Find the first non-abstract parent instance and
+ attach concrete instances on the limbo list to it.
+
+2012-07-05 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
+ Julian Brown <julian@codesourcery.com>
+
+ PR target/48941
+ PR target/51980
+ * config/arm/neon-gen.ml (return_by_ptr): Delete.
+ (print_function): Handle empty strings.
+ (return): Delete use of return_by_ptr.
+ (mask_shape_for_shuffle): New function.
+ (mask_elems): Likewise.
+ (shuffle_fn): Likewise.
+ (params): Simplify and remove use of return_by_ptr.
+ (get_shuffle): New function.
+ (print_variant): Update.
+ * config/arm/neon.ml (rev_elems): New function.
+ (permute_range): Likewise.
+ (zip_range): Likewise.
+ (uzip_range): Likewise.
+ (trn_range): Likewise.
+ (zip_elems): Likewise.
+ (uzip_elems): Likewise.
+ (trn_elems): Likewise.
+ (features): New enumeration Use_shuffle. Delete ReturnPtr.
+ (pf_su_8_16): New.
+ (suf_32): New.
+ (ops): Update entries for Vrev64, Vrev32, Vrev16, Vtr, Vzip, Vuzp.
+ * config/arm/arm_neon.h: Regenerate.
+
+2012-07-05 Richard Guenther <rguenther@suse.de>
+
+ * tree-pretty-print.c (dump_generic_node): Properly test
+ the result of exact_log2.
+
+2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config/s390/s390-protos.h (s390_expand_movmem)
+ (s390_expand_cmpmem): Add return value.
+ * config/s390/s390.c (s390_expand_movmem, s390_expand_cmpmem):
+ Return FALSE to use the library function in some cases.
+ * config/s390/s390.md (movmem, cmpmem): Evaluate return value of C
+ helper functions.
+
+2012-07-05 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ * config.gcc: Enable ifunc attribute by default on s390 and s390x.
+
+2012-07-05 Steven Bosscher <steven@gcc.gnu.org>
+
+ * expr.c (try_casesi): Remove bogus ATTRIBUTE_UNUSED markers.
+ * stmt.c (dump_case_nodes): New.
+ (expand_case): Split out code generation parts into new functions.
+ (expand_switch_as_decision_tree_p): Split out from expand_case.
+ (emit_case_decision_tree): Likewise.
+ (emit_case_dispatch_table): Likewise.
+
+2012-07-05 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
+
+ * config/arm/iterators.md (SDF): New mode iterator.
+ (V_if_elem): Add support for SF and DF modes.
+ (V_reg): Likewise.
+ (F_constraint): New mode iterator attribute.
+ (F_fma_type): Likewise.
+ config/arm/vfp.md (fma<SDF:mode>4): New pattern.
+ (*fmsub<SDF:mode>4): Likewise.
+ (*fmnsub<SDF:mode>4): Likewise.
+ (*fmnadd<SDF:mode>4): Likewise.
+
+2012-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ * expmed.c (expand_mult): Initialize coeff and is_neg.
+
+2012-07-04 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md (zero_extend_operand): New predicate.
+ * config/sh/sh.md (zero_extendhisi2): Simplify by using new
+ zero_extend_operand predicate.
+ (zero_extendqisi2): Likewise.
+
+2012-07-04 Uros Bizjak <ubizjak@gmail.com>
+
+ PR middle-end/53321
+ * ipa.c (symtab_remove_unreachable_nodes): Partially revert r187375
+ to not call cgraph_propagate_frequency if something was changed.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53433
+ * gimple-fold.c (get_base_constructor): Do not return an
+ error_mark_node DECL_INITIAL.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53844
+ * tree-ssa-dse.c (dse_possible_dead_store_p): Properly handle
+ the loop virtual PHI.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53849
+ * tree-cfg.c (move_stmt_op): Only call add_referenced_var
+ for duplicated locals. Use add_referenced_var_1 to avoid
+ pushing/popping cfun.
+
+2012-07-04 Kai Tietz <ktietz@redhat.com>
+
+ * config/i386/winnt.c (i386_pe_reloc_rw_mask): New function.
+ * config/i386/i386-protos.h (i386_pe_reloc_rw_mask): Add
+ prototype.
+ * config/i386/cygming.h (TARGET_ASM_RELOC_RW_MASK): Define
+ as i386_pe_reloc_rw_mask.
+
+2012-07-04 Richard Guenther <rguenther@suse.de>
+
+ * tree.c (find_decls_types_r): Handle TYPE_CONTEXT the same
+ as in free_lang_data_in_type.
+
+2012-07-04 Tobias Grosser <tobias@grosser.es>
+ Michael Matz <matz@suse.de>
+
+ * Makefile.in (OBJS): Add graphite-optimize-isl.o.
+ (graphite-optimize-isl.o): Add dependencies.
+ * common.opt (floop-nest-optimize): New flag.
+ * doc/invoke.texi (floop-nest-optimize): Document.
+ * graphite-dependences.c (compute_deps): Export.
+ * graphite-poly.h (compute_deps): Declare.
+ * graphite-optimize-isl.c: New file.
+ * graphite-poly.c (apply_poly_transforms): Run the loop
+ nest optimizer.
+ * tree-ssa-loop.c (gate_graphite_transforms): Enable graphite
+ if -floop-nest-optimize is enabled.
+
+2012-07-03 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * config/sh/predicates.md (logical_and_operand): New predicate.
+ * config/sh/constraints.md (Jmb, Jmw): New constraints.
+ * config/sh/sh.md (andsi3): Move expander above insns. Add handling
+ of 0xFFFF constant. Use logical_and_operand predicate and
+ satisfies_constraint_Jmb, satisfies_constraint_Jmw.
+ (*andsi3_compact): Make it an insn_and_split. Use
+ logical_and_operand predicate. Add Jmb,Jmw alternatives.
+
+2012-07-03 Jason Merrill <jason@redhat.com>
+
+ PR c++/53826
+ * tree.c (build_zero_cst): Handle NULLPTR_TYPE.
+
+2012-07-03 Nick Clifton <nickc@redhat.com>
+
+ * config/mep/mep.c (mep_reorg_regmove): Use
+ next_nonnote_non_debug_insn to advance to the next insn. Do not
+ expect delete_insn to return an rtx.
+
+2012-07-03 Richard Guenther <rguenther@suse.de>
+
+ * doc/install.texi (CLooG): Clarify how CLooG needs to be
+ configured and that it needs to be built against ISL 0.10.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_option_override_internal): Fix wrong
+ code model string in the error message.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/53811
+ * config/i386/i386.c (x86_output_mi_thunk): Check if fnaddr satisfies
+ sibcall_insn_operand. Move it to a temporary register if not.
+
+2012-07-03 Andreas Schwab <schwab@linux-m68k.org>
+
+ PR target/28896
+ * config/m68k/m68k.c (m68k_option_override): Reset stack_limit_rtx
+ if !TARGET_68020.
+
+2012-07-03 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/xmmintrin.h (_mm_sfence): Use __builtin_ia32_pause.
+
+2012-07-03 Roland McGrath <mcgrathr@google.com>
+
+ * configure.ac (HAVE_AS_IX86_REP_LOCK_PREFIX): Also require that the
+ assembler accept 'rep bsf ...', 'rep bsr ...', 'rep ret' and 'rep nop'.
+ * configure: Regenerated.
+ * config/i386/i386.md (simple_return_internal_long): Use %;
+ (ctz<mode>2): Likewise.
+ (*pause): Likewise.
+
+2012-07-02 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/51244
+ * config/sh/predicates.md (t_reg_operand, negt_reg_operand): New
+ predicates.
+ * config/sh/sh-protos.h (get_t_reg_rtx): New prototype.
+ * config/sh/sh.c (get_t_reg_rtx): New function. Use it when invoking
+ gen_branch_true and gen_branch_false.
+ * config/sh/sh.md: Use get_t_reg_rtx when invoking gen_branch_true and
+ gen_branch_false.
+ (branch_true, branch_false): Use t_reg_operand predicate.
+ (*branch_true, *branch_false): Delete.
+ (movt): Use t_reg_operand predicate.
+ (*negnegt): Use negt_reg_operand predicate and fold little and big
+ endian variants.
+ (*movtt): Use t_reg_operand and fold little and big endian variants.
+ (*movt_qi): Delete.
+
+2012-07-02 Steven Bosscher <steven@gcc.gnu.org>
+
+ * stmt.c (emit_case_bit_tests): Remove.
+ (expand_case): Remove expand_switch_using_bit_tests_p code.
+ * tree-switch-conversion.c (hoist_edge_and_branch_if_true): New.
+ (MAX_CASE_BIT_TESTS): Moved from stmt.c to here.
+ (lshift_cheap_p): Likewise.
+ (expand_switch_using_bit_tests_p): Likewise.
+ (struct case_bit_test): Likewise.
+ (case_bit_test_cmp): Likewise.
+ (emit_case_bit_tests): New implementation for GIMPLE.
+ (gen_inbound_check): Do not release post-dominator info here.
+ (process_switch): Reorder code. Expand as bit tests if it
+ looks like a win.
+ (do_switchconv): Release post-dominator info here if something changed.
+ (struct gimple_opt_pass): Verify more.
+ * tree.h (expand_switch_using_bit_tests_p): Remove prototype.
+
+2012-07-02 Martin Jambor <mjambor@suse.cz>
+
+ PR middle-end/38474
+ * ipa-prop.c (compute_known_type_jump_func): Put BINFO check before a
+ dynamic type change check.
+
+2012-07-02 Richard Guenther <rguenther@suse.de>
+ Michael Matz <matz@suse.de>
+ Tobias Grosser <tobias@grosser.es>
+ Sebastian Pop <sebpop@gmail.com>
+
+ * Makefile.in: Remove PPL flags in favor of ISL ones.
+ (BACKENDLIBS): Remove PPL libs.
+ (INCLUDES): Remove PPL includes in favor of ISL ones.
+ (graphite-clast-to-gimple.o): Remove graphite-dependences.h and
+ graphite-cloog-compat.h dependencies.
+ (graphite-dependences.o): Likewise.
+ (graphite-poly.o): Likewise.
+ * configure.ac: Declare ISL vars instead of PPL ones.
+ * configure: Regenerated.
+ * doc/install.texi: Replace PPL requirement documentation with ISL one.
+ * graphite-blocking.c: Remove PPL code, add ISL equivalent.
+ * graphite-clast-to-gimple.c: Likewise.
+ * graphite-dependences.c: Likewise.
+ * graphite-interchange.c: Likewise.
+ * graphite-poly.h: Likewise.
+ * graphite-poly.c: Likewise.
+ * graphite-sese-to-poly.c: Likewise.
+ * graphite.c: Likewise.
+ * graphite-scop-detection.c: Re-arrange includes.
+ * graphite-cloog-util.c: Remove.
+ * graphite-cloog-util.h: Likewise.
+ * graphite-ppl.h: Likewise.
+ * graphite-ppl.c: Likewise.
+ * graphite-dependences.h: Likewise.
+
+2012-07-02 Richard Guenther <rguenther@suse.de>
+
+ Merge from graphite branch
+ 2011-07-21 Tobias Grosser <tobias@grosser.es>
+
+ * Makefile.in (graphite-clast-to-gimple.o, graphite-cloog-util.o):
+ Remove graphite-cloog-util.h.
+ * graphite-clast-to-gimple.c (gcc_type_for_iv_of_clast_loop,
+ build_iv_mapping, translate_clast_user, translate_clast,
+ free_scattering, initialize_cloog_names, build_cloog_prog,
+ create_params_index): Do not use old compatibility functions.
+ (clast_name_to_index, set_cloog_options): Remove code for legacy cloog.
+ * graphite-cloog-util.c (openscop_print_cloog_matrix): Do not use old
+ compatibility functions.
+ (new_Cloog_Scattering_from_ppl_Polyhedron): Remove code for legacy
+ cloog.
+ * graphite-cloog-util.h: Remove include of graphite-cloog-util.h.
+ * graphite.c (graphite.c): Do not call outdated cloog_initialize() and
+ cloog_finalize().
+ * graphite-cloog-compat.h: Remove.
+
+ 2011-08-09 Tobias Grosser <tobias@grosser.es>
+
+ * graphite-clast-to-gimple.c (new_clast_name_index): Store a copy
+ of the string, no just a reference.
+ (clast_name_index): Add a new field, that specifies if we need to free
+ the name.
+ (free_clast_name_index): If necessary, free the name string.
+ (clast_name_index_elt_info): Calculate the hash based on the string
+ content, not the memory location it is stored in.
+ (clast_name_to_level): Specify that we do not need to free the name.
+ (clast_name_to_index): Dito.
+ (clast_name_to_lb_ub): Dito.
+ (eq_clast_name_indexes): Compare the strings, not their base pointers.
+ (free_scattering): Removed.
+ (initialize_cloog_names): Renamed to add_names_to_union_domain().
+ (add_names_to_union_domain): Changed to work on a union_domain,
+ instead of a CloogNames structure.
+ (build_cloog_prog): Removed.
+ (build_cloog_union_domain): New.
+ (generate_cloog_input): New.
+ (scop_to_clast): Use CloogInput instead of CloogProgram.
+ (print_generated_program): Adapt to new scop_to_clast() and do not
+ print the CloogProgram any more.
+ (create_params_index): Removed, functionality integrated in
+ add_names_to_union_domain().
+ (gloog): Adapt to new scop_to_clast().
+ * graphite-clast-to-gimple.h (scop_to_clast): Remove.
+
+ 2012-01-11 Tobias Grosser <tobias@grosser.es>
+
+ * graphite-clast-to-gimple.c (clast_name_to_index,
+ clast_name_to_lb_ub, clast_name_to_gcc): Change types.
+ (clast_to_gcc_expression): Add clast_expr_name as a new
+ case. Do not assume a clast_expr_term points always to a
+ clast_expr_name.
+ (type_for_clast_term): Do not assume a clast_expr_term points always to
+ a clast_expr_name.
+ (type_for_clast_name): New.
+ (type_for_clast_expr): Add clast_expr_name as a new case.
+
+ 2011-08-03 Sebastian Pop <sebpop@gmail.com>
+
+ * graphite-cloog-util.c (new_Cloog_Domain_from_ppl_Polyhedron,
+ new_Cloog_Scattering_from_ppl_Polyhedron,
+ new_Cloog_Domain_from_ppl_Pointset_Powerset): Remove ATTRIBUTE_UNUSED.
+
+2012-07-02 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (expand_vector_divmod): Use TYPE_MODE (type)
+ instead of TYPE_MODE (wider_type) as can_vec_perm_p argument.
+
+2012-07-01 Wei Guozhi <carrot@google.com>
+
+ PR target/53447
+ * config/arm/arm-protos.h (const_ok_for_dimode_op): New prototype.
+ * config/arm/arm.c (const_ok_for_dimode_op): New function.
+ * config/arm/constraints.md (Dd): New constraint.
+ * config/arm/predicates.md (arm_adddi_operand): New predicate.
+ * config/arm/arm.md (adddi3): Extend it to handle constants.
+ (arm_adddi3): Likewise.
+ (addsi3_carryin_<optab>): Extend it to handle sbc case.
+ (addsi3_carryin_alt2_<optab>): Likewise.
+ * config/arm/neon.md (adddi3_neon): Extend it to handle constants.
+
+2012-06-30 Nathan Sidwell <nathan@acm.org>
+
+ * coverage.c (bbg_file_stamp): New.
+ (read_counts_file): Merge incoming stamp with bbg_file_stamp.
+ (build_info): Write bbg_file_stamp.
+ (coverage_init): Initialize bbg_file_stamp. Read counts file
+ before writing graph header.
+ (coverage_finish): Don't unlink the data file if we can generate a
+ unique file stamp.
+ * tree.h (crc32_unsigned): Declare.
+ * tree.c (crc32_unsigned_bits): New, broken out of ...
+ (crc32_byte): ... here. Use it.
+ (crc32_unsigned): New.
+
+2012-06-29 Cary Coutant <ccoutant@google.com>
+
+ * dwarf2out.c (add_pubname_string): Don't check for want_pubnames.
+ (gen_subprogram_die): Don't add pubname if want_pubnames is false.
+ (gen_variable_die): Likewise.
+ (gen_namespace_die): Likewise.
+
+2012-06-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-eh.c (lower_try_finally_switch): Really put the location of the
+ last statement of the finally block onto the switch.
+
+2012-06-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/53539
+ * config/i386/gnu-user64.h (WCHAR_TYPE): Use "int" only for
+ TARGET_LP64.
+
+2012-06-29 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2out.c (add_pubname): Add comment.
+ (add_pubtype): Fix indentation.
+ (gen_enumeration_type_die): Likewise.
+
+2012-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-generic.c (expand_vector_divmod): For even/odd
+ widening multiply, put even always as first argument to VEC_PERM_EXPR.
+
+2012-06-29 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-generic.c: Include target.h.
+ (expand_vector_divmod): Use builtin_mul_widen_even/odd if supported.
+ * Makefile.in (tree-vect-generic.o): Update.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * configure.ac: Remove special gtfiles case for C.
+ * configure: Regenerate.
+ * Makefile.in: Remove C front-end hooks and build hooks that
+ will be picked up from c/Make-lang.in now.
+ Add tree-mudflap to C_COMMON_OBJS.
+ * gengtype.c (files_rules): Adjust gt-files for c/c-decl.c.
+ * config/vms/vms.c: Look for c-tree.h in c/.
+ * doc/gty.texi: Remove reference to c-config-lang.in.
+ * doc/sourcebuild.texi: Document the c/ subdirectory.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (CASE_USE_BIT_TESTS): Poison.
+ * stmt.c (CASE_USE_BIT_TESTS): Fold away into its only user ...
+ (expand_switch_using_bit_tests_p): ...here.
+ * doc/tm.texi.in (CASE_USE_BIT_TESTS): Remove documentation.
+ * doc/tm.texi (CASE_USE_BIT_TESTS): Regenerate.
+
+2012-06-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (IFCVT_EXTRA_FIELDS): Poison.
+ (IFCVT_INIT_EXTRA_FIELDS): Poison.
+ * basic-block.h (struct ce_if_block): Remove IFCVT_EXTRA_FIELDS.
+ * ifcvt.c (find_if_header): Use IFCVT_MACHDEP_INIT instead of
+ IFCVT_INIT_EXTRA_FIELDS.
+ * gengtype-parse.c (struct_field_seq): Remove obsolete comment.
+ * config/frv/frv.h (IFCVT_INIT_EXTRA_FIELDS): Rename to
+ IFCVT_MACHDEP_INIT.
+ * config/frv/frv.c (frv_ifcvt_init_extra_fields): Rename to
+ frv_ifcvt_machdep_init.
+ * doc/tm.texi.in (IFCVT_INIT_EXTRA_FIELDS, IFCVT_EXTRA_FIELDS):
+ Remove documentation.
+ (IFCVT_MACHDEP_INIT): Document.
+ * doc/tm.texi: Regenerate.
+
+2012-06-29 Nick Clifton <nickc@redhat.com>
+
+ * config/lm32/lm32.c (lm32_compute_frame_size): Fix typo.
+
+2012-06-29 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vect-stmts.c (vectorizable_operation): Check both
+ VEC_WIDEN_MULT_LO_EXPR and VEC_WIDEN_MULT_HI_EXPR optabs.
+ Verify that operand[0]'s mode is TYPE_MODE (wide_vectype).
+
+2012-06-28 Richard Henderson <rth@redhat.com>
+
+ * doc/generic.texi (MULT_HIGHPART_EXPR): Document it.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/51581
+ * tree-vect-stmts.c (permute_vec_elements): Add forward decl.
+ (vectorizable_operation): Handle vectorization of MULT_HIGHPART_EXPR
+ also using VEC_WIDEN_MULT_*_EXPR or builtin_mul_widen_* plus
+ VEC_PERM_EXPR if vector MULT_HIGHPART_EXPR isn't supported.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Use
+ MULT_HIGHPART_EXPR instead of VEC_WIDEN_MULT_*_EXPR and shifts.
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (expand_vector_divmod): Use MULT_HIGHPART_EXPR
+ instead of VEC_WIDEN_MULT_{HI,LO}_EXPR followed by VEC_PERM_EXPR
+ if possible.
+
+2012-06-28 Georg-Johann Lay <avr@gjlay.de>
+
+ PR 53595
+ * config/avr/avr.c (avr_hard_regno_call_part_clobbered): New.
+ * config/avr/avr-protos.h (avr_hard_regno_call_part_clobbered): New.
+ * config/avr/avr.h (HARD_REGNO_CALL_PART_CLOBBERED): Forward to
+ avr_hard_regno_call_part_clobbered.
+
+2012-06-28 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53790
+ * expr.c (expand_expr_real_1): Verify if the type is complete
+ before inspecting its size.
+
+2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
+
+ * doc/include/gpl.texi: Remove.
+ * doc/sourcebuild.texi (Texinfo Manuals): Don't mention gpl.texi.
+
+2012-06-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53645
+ * tree-vect-generic.c (add_rshift): New function.
+ (expand_vector_divmod): New function.
+ (expand_vector_operation): Use it for vector integer
+ TRUNC_{DIV,MOD}_EXPR by VECTOR_CST.
+ * tree-vect-patterns.c (vect_recog_divmod_pattern): Replace
+ unused lguup variable with dummy_int.
+
+2012-06-28 OLivier Hainque <hainque@adacore.com>
+
+ * expr.c (convert_move): Latch mem integer inputs into a
+ register before expanding a multi-instructions sequence.
+
+2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+ Uros Bizjak <ubizjak@gmail.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/53706
+ PR debug/47624
+ * var-tracking.c (vt_emit_notes): Release loc_exp_dep_pool...
+ (vt_finalize): ... here instead, if needed.
+
+2012-06-28 Alexandre Oliva <aoliva@redhat.com>
+
+ PR debug/53740
+ PR debug/52983
+ PR debug/48866
+ * dce.c (word_dce_process_block): Check whether inserting debug
+ temps are needed even for needed insns.
+ (dce_process_block): Likewise.
+ * df-problems.c (dead_debug_add): Add comment about multi-regs.
+ (dead_debug_insert_temp): Likewise. Don't subreg when we're
+ setting fewer regs than a multi-reg requires.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_dimode_u): New.
+ (alpha_init_builtins): Initialize it, and use it.
+ (alpha_fold_builtin_cmpbge): Use alpha_dimode_u.
+ (alpha_fold_builtin_zapnot, alpha_fold_builtin_insxx): Likewise.
+ (alpha_fold_vector_minmax, alpha_fold_builtin_perr): Likewise.
+ (alpha_fold_builtin_pklb, alpha_fold_builtin_pkwb): Likewise.
+ (alpha_fold_builtin_unpkbl, alpha_fold_builtin_unpkbw): Likewise.
+ (alpha_fold_builtin_cttz, alpha_fold_builtin_ctlz): Likewise.
+ (alpha_fold_builtin_ctpop): Likewise.
+ (alpha_fold_builtin_umulh): Remove.
+ (alpha_fold_builtin): Use MULT_HIGHPART_EXPR for UMULH; fix
+ typo in MAX_ARGS check.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ * tree.def (MULT_HIGHPART_EXPR): New.
+ * cfgexpand.c (expand_debug_expr): Ignore it.
+ * expr.c (expand_expr_real_2): Handle it.
+ * fold-const.c (int_const_binop_1): Likewise.
+ * optabs.c (optab_for_tree_code): Likewise.
+ * tree-cfg.c (verify_gimple_assign_binary): Likewise.
+ * tree-inline.c (estimate_operator_cost): Likewise.
+ * tree-pretty-print.c (dump_generic_node): Likewise.
+ (op_code_prio, op_symbol_code): Likewise.
+ * tree.c (commutative_tree_code): Likewise. Also handle
+ WIDEN_MULT_EXPR, VEC_WIDEN_MULT_HI_EXPR, VEC_WIDEN_MULT_LO_EXPR.
+
+2012-06-27 Richard Henderson <rth@redhat.com>
+
+ PR target/53749
+ * config/i386/i386.c (ix86_rtx_costs): Fix typo vs UNITS_PER_WORD
+ in 2012-06-23 change. Adjust two other DImode tests as well.
+
+2012-06-27 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (comparesi3_extend): Remove = modifier from
+ input operand.
+
+2012-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR middle-end/53676
+ * tree-chrec.c (chrec_convert_1): Represent truncation to
+ a type with undefined overflow as truncation to an unsigned
+ type converted to the type with undefined overflow.
+ * tree-scalar-evolution.c (interpret_rhs_expr): For computing
+ the scalar evolution of a truncated widened operation avoid
+ looking at the non-existing evolution of the widened operation
+ result.
+
+2012-06-27 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/53774
+ * tree-ssa-reassoc.c (get_rank): All default defs have
+ precomputed rank.
+ (init_reassoc): Precompute rank for all SSA default defs.
+
+2012-06-27 Nick Clifton <nickc@redhat.com>
+
+ * config/rx/rx.md (simple_return): Use the simple_return rtx.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_rtx_costs): Use standard_sse_constant_p
+ and don't fall thru from standard_80387_constant_p to the memory
+ fallback.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (bdesc_args): Update. Change
+ IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI to OPTION_MASK_ISA_SSE2.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_EVEN_V4SI): New.
+ (ix86_builtin_mul_widen_even): Use it.
+ (ix86_builtin_mul_widen_odd): Relax SMUL_ODD from sse4 to sse2.
+ (ix86_expand_mul_widen_evenodd): Handle signed for sse2.
+ * config/i386/sse.md (vec_widen_<s>mult_hi_<V124_AVX2>): Allow
+ for all SSE2.
+ (vec_widen_<s>mult_lo_<V124_AVX2>): Likewise.
+ (vec_widen_<s>mult_odd_<VI4_AVX2>): Likewise. Relax from V124_AVX2.
+ (vec_widen_smult_even_v4si): New.
+
+2012-06-26 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (mul<VI8_AVX2>3): Change from insn_and_split
+ to expander; move guts to ...
+ * config/i386/i386.c (ix86_expand_sse2_mulvxdi3): ... here. Add
+ highparts before shifting up.
+ * config/i386/i386-protos.h: Update.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (USE_COMMON_FOR_ONE_ONLY): Poison.
+ * defaults.h (USE_COMMON_FOR_ONE_ONLY): Do not provide default.
+ * config/darwin.h (USE_COMMON_FOR_ONE_ONLY): Do not define.
+
+2012-06-26 Alexandre Oliva <aoliva@redhat.com>
+
+ * var-tracking.c (vt_add_function_parameter): Use a preserved
+ VALUE for the MEM address of an incoming parameter.
+
+2012-06-26 Sterling Augustine <saugustine@google.com>
+
+ * dwarf2out.c (output_pubnames): Add check for DW_TAG_enumerator.
+ (prune_unused_types): Likewise.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * system.h (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Poison.
+ * vmsdbgout.c (UNALIGNED_SHORT_ASM_OP, UNALIGNED_INT_ASM_OP,
+ UNALIGNED_LONG_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Rename to
+ VMS_UNALIGNED_SHORT_ASM_OP, VMS_UNALIGNED_INT_ASM_OP,
+ VMS_UNALIGNED_LONG_ASM_OP, and VMS_UNALIGNED_DOUBLE_INT_ASM_OP.
+ * config/microblaze/microblaze.h (UNALIGNED_SHORT_ASM_OP,
+ UNALIGNED_INT_ASM_OP, UNALIGNED_DOUBLE_INT_ASM_OP): Do not define.
+ * doc/tm.texi.in: Remove UNALIGNED_INT_ASM_OP reference from the
+ documentation.
+ * doc/tm.texi: Regenerate.
+ * doc/cpp.texi: Make example for #error generic.
+ * config/frv/frv.h: Fix example text to match tm.texi.
+
+2012-06-26 Bill Schmidt <wschmidt@linux.ibm.com>
+
+ * tree-pass.h (pass_strength_reduction): New decl.
+ * tree-ssa-loop-ivopts.c (initialize_costs): Make non-static.
+ (finalize_costs): Likewise.
+ * timevar.def (TV_TREE_SLSR): New timevar.
+ * gimple-ssa-strength-reduction.c: New.
+ * tree-flow.h (initialize_costs): New decl.
+ (finalize_costs): Likewise.
+ * Makefile.in (tree-ssa-strength-reduction.o): New dependencies.
+ * passes.c (init_optimization_passes): Add pass_strength_reduction.
+
+2012-06-26 Matt Turner <mattst88@gmail.com>
+
+ * doc/extend.texi (__builtin_arm_tinsrb): Add missing second parameter.
+ (__builtin_arm_tinsrh): Likewise.
+ (__builtin_arm_tinsrw): Likewise.
+ (__builtin_arm_wsadb): Add missing v2si parameter.
+ (__builtin_arm_wsadh): Likewise.
+ (__builtin_arm_getwcx): Delete.
+ (__builtin_arm_setwcx): Delete.
+ (__builtin_arm_getwcgr0): Add.
+ (__builtin_arm_getwcgr1): Add.
+ (__builtin_arm_getwcgr2): Add.
+ (__builtin_arm_getwcgr3): Add.
+ (__builtin_arm_setwcgr0): Add.
+ (__builtin_arm_setwcgr1): Add.
+ (__builtin_arm_setwcgr2): Add.
+ (__builtin_arm_setwcgr3): Add.
+
+2012-06-26 Richard Guenther <rguenther@suse.de>
+
+ Revert
+ 2012-06-21 Richard Guenther <rguenther@suse.de>
+
+ * tree-inline.c (estimate_num_insns): Estimate call cost for
+ tailcalls properly.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR other/33190
+ * doc/tm.texi.in: Document LOGICAL_OP_NON_SHORT_CIRCUIT.
+ * doc/tm.texi: Regenerate.
+
+2012-06-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR other/33190
+ * config/mips/mips.h: Do not define ALL_COP_ADDITIONAL_REGISTER_NAMES.
+ * config/frv/frv.h: Do not define REVERSE_CONDEXEC_PREDICATES_P.
+ * doc/tm.texi.in: Remove documentation for unused target macros
+ ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
+ DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
+ REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
+ TARGET_NARROW_VOLATILE_BITFIELDS.
+ Document that MD_HANDLE_UNWABI is a macro in libgcc.
+ * doc/tm.texi: Regenerate.
+ * system.h: Poison target macros
+ ALL_COP_ADDITIONAL_REGISTER_NAMES, DBX_OUTPUT_LBRAC, DBX_OUTPUT_NFUN,
+ DBX_OUTPUT_RBRAC, RANGE_TEST_NON_SHORT_CIRCUIT, REAL_VALUE_TRUNCATE,
+ REVERSE_CONDEXEC_PREDICATES_P, TARGET_ALIGN_ANON_BITFIELDS, and
+ TARGET_NARROW_VOLATILE_BITFIELDS
+
+2012-06-26 Jan Hubicka <jh@suse.cz>
+
+ PR lto/53572
+ * cgraph.h (varpool_can_remove_if_no_refs): Fix handling of
+ used symbols.
+
+2012-06-26 Dehao Chen <dehao@google.com>
+
+ * tree-inline.c: (expand_call_inline): Ensure that lexical block's
+ source location is consistant with the call stmt.
+
+2012-06-26 Ulrich Weigand <ulrich.weigand@linaro.org>
+
+ PR tree-optimization/53729
+ PR tree-optimization/53636
+ * tree-vect-slp.c (vect_slp_analyze_bb_1): Delay call to
+ vect_verify_datarefs_alignment until after statements have
+ been marked as relevant/irrelevant.
+ * tree-vect-data-refs.c (vect_verify_datarefs_alignment):
+ Skip irrelevant statements.
+ (vect_enhance_data_refs_alignment): Use STMT_VINFO_RELEVANT_P
+ instead of STMT_VINFO_RELEVANT.
+ (vect_get_data_access_cost): Do not check for supportable
+ alignment before calling vect_get_load_cost/vect_get_store_cost.
+ * tree-vect-stmts.c (vect_get_store_cost): Do not abort when
+ handling unsupported alignment.
+ (vect_get_load_cost): Likewise.
+
+2012-06-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * config/rl78/rl78.h: Do not undefine DONT_USE_BUILTIN_SETJMP.
+ Do not define JMP_BUF_SIZE.
+
+2012-06-26 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/53748
+ * tree-ssa-phiopt.c (conditional_replacement): Only optimize
+ if arg0/arg1 have integral or pointer types.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/sse.md (sse2_sse4_1): Remove code attr.
+ (<s>dot_prodv4si, <s>dot_prodv8si): Remove
+ (sdot_prodv4si): New; handle only XOP.
+
+2012-06-25 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386-builtin-types.def (V4UDI, V8USI): New.
+ (V2UDI_FUNC_V4USI_V4USI): New.
+ (V4UDI_FUNC_V8USI_V8USI): New.
+ * config/i386/i386.c (ix86_expand_args_builtin): Handle them.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_SMUL_ODD_V8SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_ODD_V8SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V4SI): New.
+ (IX86_BUILTIN_VEC_WIDEN_UMUL_EVEN_V8SI): New.
+ (bdesc_args): Add them.
+ (ix86_builtin_mul_widen_even, ix86_builtin_mul_widen_odd): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_EVEN): New.
+ (TARGET_VECTORIZE_BUILTIN_MUL_WIDEN_ODD): New.
+ (ix86_expand_mul_widen_evenodd): Use xop_pmacsdqh.
+ * config/i386/sse.md (vec_widen_<s>mult_odd_<V124_AVX2>): New.
+
2012-06-25 Richard Henderson <rth@redhat.com>
* config/i386.sse.md (mul<VI4_AVX2>3): Use xop_pmacsdd.
(neon_vld1_dupv2di): New, fixes vld1q_dup_s64.
2012-06-25 Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
- James Greenhalgh <james.greenhalgh@arm.com>
+ James Greenhalgh <james.greenhalgh@arm.com>
* config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Add new built-ins.
(TARGET_FMA): New macro.
2012-06-24 Richard Sandiford <rdsandiford@googlemail.com>
- * config/mips/mips.c (mips_process_sync_loop): Add missing
- enum cast.
+ * config/mips/mips.c (mips_process_sync_loop): Add missing enum cast.
2012-06-23 Richard Henderson <rth@redhat.com>
Merge from graphite branch
2011-08-10 Sebastian Pop <sebpop@gmail.com>
-
+
* graphite-sese-to-poly.c (build_scop_drs): Fix memory leak.
2012-01-13 Tobias Grosser <tobias@grosser.es>
PR debug/53671
PR debug/49888
- * alias.c (memrefs_conflict_p): Improve handling of AND for
- alignment.
+ * alias.c (memrefs_conflict_p): Improve handling of AND for alignment.
2012-06-21 Alexandre Oliva <aoliva@redhat.com>
created in c_push_function_context. Always clear out the
x_cur_stmt_list field of the restored language function.
-2012-06-21 Sterling Augustine <saugustine@google.com>
- Cary Coutant <ccoutant@google.com>
+2012-06-21 Sterling Augustine <saugustine@google.com>
+ Cary Coutant <ccoutant@google.com>
* dwarf2out.c (is_cu_die, is_namespace_die, is_class_die,
add_AT_pubnames, add_enumerator_pubname, want_pubnames): New functions.
* tree-data-ref.c (struct rdg_vertex_info): Remove.
(rdg_vertex_for_stmt): Simplify using gimple_uid.
(create_rdg_vertices): Pass loop argument, remove stmt to RDG index
- hashtable. Record stmt data-references.
+ hashtable. Record stmt data-references.
(hash_stmt_vertex_info): Remove.
(eq_stmt_vertex_info): Likewise.
(hash_stmt_vertex_del): Likewise.
(enable_warning_as_error): Do not special case Wuninitialized.
* optc-gen.awk: Add sanity checks.
-2012-05-17 Jan Hubicka <jh@suse.cz>
+2012-05-17 Jan Hubicka <jh@suse.cz>
* ipa-reference.c (is_proper_for_analysis): Do not check flags
that might change as result of global optimization.