mcf.c: Do not include tm.h, tree.h, and langhooks.h.
[gcc.git] / gcc / ChangeLog
index 2fd5563c9f08a2cca89d96eb12d58bfb553d014b..c0883035d9d67a5566e3bcedf08573cf197bdaf6 100644 (file)
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * mcf.c: Do not include tm.h, tree.h, and langhooks.h.
+       (dump_fixup_graph): Use current_function_name.
+       (adjust_cfg_counts): Likewise.
+       * ira-conflicts.c: Do not include tree.h.
+       (ira_build_conflicts): Use REG_USERVAR_P instead of DECL_ARTIFICIAL.
+
+2012-07-08  Oleg Endo  <olegendo@gcc.gnu.org>
+
+       PR target/51244
+       * config/sh/sh.md (*branch_true_eq, *branch_false_ne, nott): New insns.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * basic-block.h: Re-group most prototypes per file.
+       (struct edge_list): Remove num_blocks field.
+       (dump_bb_info): Adjust prototypes.
+       (dump_reg_info): Move prototype to regs.h.
+       * function.h: Do not include tree.h.
+       Include vec.h, vecir.h, input.h and machmode.h to compensate.
+       (function_name): New prototype.
+       * gimple.h: Include tree.h to compensate for basic-block.h change.
+       * langhooks.h: Note that tree.h is only necessary for enum tree_code.
+       * regs.h (dump_reg_info): Prototype here.
+       * regset.h: Adjust file reference in comment.
+       (debug_regset): Remove prototype.
+       * rtl.h: Include flags.h for flag_var_tracking_assignments.
+       (MAY_HAVE_DEBUG_INSNS): Define as flag_var_tracking_assignments
+       instead of no-longer-available tree.h's MAY_HAVE_DEBUG_STMTS.
+       (dump_reg_info, dump_flow_info): Remove prototypes.
+       * bb-reorder.c (set_edge_can_fallthru_flag): Move from cfganal.c
+       to here, the only user.  Make static.
+       (reorder_basic_blocks): Call dump_reg_info before dump_flow_info.
+       * cfg.c: Do not include tm.h, tree.h, rtl.h, hard-reg-set.h, regs.h,
+       flags.h, function.h, except.h, diagnostic-core.h, tm_p.h, timevar.h,
+       tree-pass.h, cfgloop.h, and tree-flow.h.
+       Include basic-block.h, the first header I'd expect to be included.
+       (reg_obstack): Move to df-core.c.
+       (free_edge): Remove bogus ATTRIBUTE_UNUSED.
+       (remove_edge_raw): Do not call tree-ssa's redirect_edge_var_map_clear.
+       (redirect_edge_succ_nodup): Move to cfghooks.c.
+       (dump_regset, debug_regset): Move to df-core.c.
+       (dump_bb_info): Move to cfgrtl.c.
+       (dump_reg_info): Move to regstat.c.
+       (dump_flow_info): Move to cfgrtl.c.
+       (debug_flow_info): Likewise.
+       (dump_edge_info): Do not look at cfun, a CFG without cfun is nonsense.
+       * cfganal.c: Do not include tm.h, rtl.h, obstack.h, hard-reg-set.h,
+       insn-config.h, recog.h, diagnostic-core.h, tm_p.h, and cfgloop.h.
+       (flow_active_insn_p, forwarder_block_p, can_fallthru,
+       could_fall_through): Move to cfgrtl.c.
+       (set_edge_can_fallthru_flag): Moved to bb-reorder.c.
+       (create_edge_list): Do not set edge_list's removed num_blocks.
+       (print_edge_list): Look at n_basic_blocks instead of num_blocks.
+       (flow_nodes_print): Remove.
+       (flow_edge_list_print): Remove.
+       (inverted_post_order_compute): Use FOR_ALL_BB.
+       *cfgrtl.c (dump_flow_info): Moved from cfg.c.
+       Do not call dump_reg_info.
+       (debug_flow_info): Moved from cfg.c
+       (dump_bb_info): Moved from cfg.c.  Take 'verbose' argument
+       to avoid looking at TDF_* flags from tree-pass.h.
+       (flow_active_insn_p, forwarder_block_p, can_fallthru,
+       could_fall_through): Moved from cfganal.c.
+       (print_rtl_with_bb): Adjust dump_bb_info calls.
+       * cfghooks.c (redirect_edge_succ_nodup): Moved from cfg.c.
+       (remove_edge): Call redirect_edge_var_map_clear if IR_GIMPLE.
+       (cfgcleanup.c): Look at MAY_HAVE_DEBUG_INSNS, not MAY_HAVE_DEBUG_STMTS.
+       * cselib.c: Include tree.h with a FIXME.
+       * df-core.c (reg_obstack): Moved from cfg.c.
+       (dump_regset): Likewise.
+       (debug_regset): Likewise.  Make a DEBUG_FUNCTION.
+       * final.c (compute_alignments): Call dump_reg_info before
+       dump_flow_info.
+       * function.c (function_name): New function.
+       (current_function_name): Use it.
+       * ifcvt.c (rest_of_handle_if_conversion): Call dump_reg_info before
+       dump_flow_info.
+       * ira-conflicts.c: Include tree.h with a note.
+       * regstat.c (dump_reg_info): Moved here from cfg.c.
+       * loop-init.c: Include regs.h instead of hard-reg-set.h.
+       (rtl_loop_init): Call dump_reg_info before dump_flow_info.
+       (rtl_loop_done): Likewise.
+       * mcf.c: Include tree.h before langhooks.h.
+       * predict.c (maybe_hot_count_p): Assert we have cfun.
+       (probably_never_executed_bb_p): Likewise.
+       * profile.c (compute_branch_probabilities): Use gimple_dump_cfg
+       instead of dump_flow_info.
+       * sched-deps.c: Include tree.h with a FIXME.
+       (call_may_noreturn_p): Add FIXME note why this function has to
+       look at function decls instead of function decl flags.
+       * sched-vis.c: Include tree.h with a FIXME.
+       (print_rtl_slim): Adjust dump_bb_info uses.
+       * statistics.c (statistics_fini_pass_2): Use current_function_name
+       to avoid including tree.h.
+       (statistics_counter_event): Use function_name for the same reason.
+       (statistics_histogram_event): Likewise.
+       * tracer.c (tracer): Remove bogus gcc_assert.  Use brief_dump_cfg
+       instead of dump_flow_info.
+       * var-tracking.c (variable_tracking_main_1): Call dump_reg_info
+       before dump_flow_info.
+       * doc/cfg.texi: Update CFG documentation.
+       * Makefile.in (RTL_H): Depend on FLAGS_H.
+       (GIMPLE_H): Depend on TREE_H.
+       (FUNCTION_H): Depend on VEC_H, vecir.h, INPUT_H and MACHMODE_H,
+       but no longer on TREE_H.
+       (C_COMMON_H): Depend on TREE_H.
+       (cselib.o, cse.o, cfganal.o, loop-init.o, ira-conflicts.o,
+       sched-deps.o, sched-vis.o): Fixup dependencies.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * alias.h: Do not include coretypes.h in header files.
+       * cppbuiltin.h: Likewise.
+       * double-int.h: Likewise.
+       * gimple-fold.h: Likewise.
+       * flags.h: Likewise.
+       * tree-ssa-alias.h: Likewise.
+       * gengtype.h (obstack_chunk_alloc, obstack_chunk_free,
+       OBSTACK_CHUNK_SIZE): Define here to avoid dependency on coretypes.h.
+       * Makefile.in (RTL_BASE_H): Depend on coretypes.h.
+       (TREE_H): Likewise.
+       (ALIAS_H): Do not depend on coretypes.h.
+       (FLAGS_H): Likewise.
+       (realmpfr.o): Depend on coretypes.h.
+
+2012-07-08  Steven Bosscher  <steven@gcc.gnu.org>
+
+       * Makefile.in (gengtype-lex.o, gengtype-parse.o, gengtype-state.o,
+       gengtype.o): Add -DGENERATOR_FILE manually for host gengtype objects.
+
+2012-07-07  Richard Earnshaw  <rearnsha@arm.com>
+
+       * arm.h (TARGET_CPU_CPP_BUILTINS): Remove Maverick support.
+       (TARGET_FPA): Delete definition.
+       (TARGET_MAVERICK): Likewise.
+       (TARGET_FPA_EMU2): Likewise.
+       (arm_fp_model): Remove FPA and Maverick models.
+       (arm_arch_cirrus): Delete declaration.
+       (FLOAT_WORDS_BIG_ENDIAN): Delete definition.
+       (FIXED_REGISTERS): Remove FPA and Maverick support.  Reorganize.
+       (CALL_USED_REGISTERS): Likewise.
+       (FIRST_FPA_REGNUM, LAST_FPA_REGNUM): Delete definition.
+       (FIRST_VFP_REGNUM): Renumbered.
+       (D7_VFP_REGNUM): Chain definition.
+       (LAST_LO_VFP_REGNUM): Likewise.
+       (FIRST_HI_VFP_REGNUM): Likewise.
+       (LAST_HI_VFP_REGNUM): Likewise.
+       (FIRST_IWMMXT_GR_REGNUM): Likewise.
+       (LAST_IWMMXT_GR_REGNUM): Likewise.
+       (FIRST_IWMMXT_REGNUM): Likewise.
+       (LAST_IWMMXT_REGNUM): Likewise.
+       (FRAME_POINTER_REGNUM): Renumbered.
+       (ARG_POINTER_REGNUM): Renumbered.
+       (FIRST_PSEUDO_REGISTER): Remove FPA and Maverick registers.
+       (FIRST_CIRRUS_FP_REGNUM, LAST_CIRRUS_FP_REGNUM): Delete definitions.
+       (HARD_REGNO_REGNUM): Remove FPA support.
+       (REG_ALLOC_ORDER): Remove FPA and Maverick registers.  Reorganize.
+       (reg_class): Likewise.
+       (REG_CLASS_NAMES): Likewise.
+       (REG_CLASS_CONTENTS): Likewise.
+       (CANNOT_CHANGE_MODE_CLASS): Never true.  Update comment.
+       (SECONDARY_INPUT_RELOAD_CLASS): Remove Maverick support.
+       (CLASS_MAX_NREGS): Remove FPA and Maverick support.
+       * aout.h (REGISTER_NAMES): Remove FPA and Maverick registers.
+       Reorganize.  Use AAPCS preferred names.
+       (ADDITIONAL_REGISTER_NAMES): Remove aliases for Maverick.  Update
+       comments.
+       (OVERLAPPING_REGISTER_NAMES): Update register numbering.
+       * arm.c (FL_CIRRUS): Delete definition.
+       (arm_arch_cirrus): Delete variable.
+       (arm_float_words_big_endian): Delete function.
+       (cirrus_memory_offset): Delete function.
+       (output_mov_long_double_fpa_from_arm): Delete function.
+       (output_mov_long_double_arm_from_fpa): Delete function.
+       (output_mov_double_fpa_from_arm): Delete function.
+       (output_mov_double_arm_from_fpa): Delete function.
+       (emit_sfm): Delete function.
+       (maybe_get_arm_condition_code): Update comment.
+       (arm_file_start): Always use softvfp for softfloat systems.
+       (thumb_core_reg_alloc_order): Adjust for updated register allocation.
+       (arm_option_override): Remove FPA and Maverick support.  Always
+       default to vfp as the fallback FPU format.
+       (use_return_insn): Remove FPA support.
+       (arm_get_frame_offsets): Likewise.
+       (arm_save_coproc_regs): Likewise.
+       (arm_canonicalize_comparison): Remove Maverick support.
+       (arm_select_cc_mode): Likewise.
+       (arm_gen_compare_reg): Likewise.
+       (arm_print_operand): Likewise.
+       (arm_libcall_value_1): Remove FPA and Maverick support.
+       (arm_function_value_regno_p): Likewise.
+       (arm_apply_result_size): Likewise.
+       (arm_legitimate_index_p): Likewise.
+       (thumb2_legitimate_index_p): Likewise.
+       (legitimize_reload_address): Likewise.
+       (arm_register_move_cost): Likewise.
+       (arm_hard_regno_mode_ok): Likewise.
+       (arm_regno_class): Likewise.
+       (arm_dbx_register_number): Likewise.
+       (arm_emit_unwind_sequence): Likewise.
+       (arm_conditional_register_usage): Likewise.
+       * arm-protos.h (neg_const_double_rtx_ok_for_fpa): Remove declaration.
+       (cirrus_memory_offset): Likewise.
+       (output_move_long_double_fpa_from_arm): Likewise.
+       (output_move_long_double_arm_from_fpa): Likewise.
+       (output_move_double_fpa_from_arm): Likewise.
+       (output_move_double_arm_from_fpa): Likewise.
+       (arm_float_words_big_endian): Likewise.
+       * arm.md (CC_REGNUM): Renumbered.
+       (VFPCC_REGNUM): Moved here.  Renumbered.
+       (FPA_F0_REGNUM, FPA_F7_REGNUM): Delete.
+       (attr fpu): Remove FPA and Maverick support.
+       * vfp.md (VFPCC_REGNUM): Delete.  Moved to arm.md.
+       * arm-cores.def (ep9312): Remove Maverick support.
+       * arm-arches.def (ep9312): Delete architecture.
+       * arm-tables.opt: Regenerated.
+
+       * arm/linux-elf.h (FPUTYPE_DEFAULT): Set to vfp.
+
+2012-07-07  Steven Bosscher  <steven@gcc.gnu.org>
+
+       PR tree-optimization/53881
+       * tree-switch-conversion.c (emit_case_bit_tests): Do not rely on
+       comparing labels to establish uniqueness of a switch case target,
+       use the CFG instead.
+
+2012-07-07  Ulrich Weigand  <ulrich.weigand@linaro.org>
+
+       * combine.c (force_to_mode) [LSHIFTRT]: Avoid undefined behaviour
+       due to negative shift amount.
+
+2012-07-07  Hans-Peter Nilsson  <hp@axis.com>
+
+       Fix configure test for "stack protector support in target C library".
+       * configure.ac (test_prefix, test_exec_prefix): Move setting from
+       inside sysroot handling to before and outside it.
+       * configure: Regenerate.
+
+2012-07-06  Kai Tietz  <ktietz@redhat.com>
+
+       PR bootstrap/52947
+       * config/i386/mingw32.h (NATIVE_SYSTEM_HEADER_DIR): Define it always
+       as "/mingw/include".
+
+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
        (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.