+2012-08-20 Joseph Myers <joseph@codesourcery.com>
+
+ * configure.ac (ffs): Check for declaration.
+ * configure, config.in: Regenerate.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-flow.h (register_new_name_mapping): Remove.
+ * tree-into-ssa.c (register_new_name_mapping): Likewise.
+ (add_new_name_mapping): Do not push/pop timevar here.
+ (create_new_def_for): Instead do it here. Initialize
+ update-ssa here, handle a NULL def.
+ * tree-vrp.c (build_assert_expr_for): Use create_new_def_for.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ PR tree-optimization/54327
+ * gimple-fold.c (get_maxval_strlen): Do not walk use-def chains
+ if the use is registered for SSA update.
+
+2012-08-20 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/54321
+ * tree-ssa-forwprop.c (simplify_builtin_call): Pass 0 instead of 1
+ as second argument to tree_low_cst call on val2.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ * gimple.h (gimple_statement_base): Annotate with GTY chain_next.
+
+2012-08-20 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/54326
+ * genoutput.c (note_constraint): Properly use CONST_CAST.
+
+2012-08-19 Nick Clifton <nickc@redhat.com>
+
+ PR target/54306
+ * config/arm/mmintrin.h: Remove spurious #endif.
+
+2012-08-18 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/avr/avr-log.c (avr_log_vadump): Properly use
+ int-promoted enum values.
+ * config/avr/avr.h (struct mcu_type_s): Change `arch' from
+ int to enum avr_arch.
+ * config/avr/gen-avr-mmcu-texi.c (main): Use correct initializer.
+
+2012-08-18 Jan Hubicka <jh@suse.cz>
+
+ PR lto/45375
+ * ipa-inline.c (want_inline_small_function_p): Bypass
+ inline limits for hinted functions.
+ (edge_badness): Dump hints; decrease badness for hinted funcitons.
+ * ipa-inline.h (enum inline_hints_vals): New enum.
+ (inline_hints): New type.
+ (edge_growth_cache_entry): Add hints.
+ (dump_inline_summary): Update.
+ (dump_inline_hints): Declare.
+ (do_estimate_edge_hints): Declare.
+ (estimate_edge_hints): New inline function.
+ (reset_edge_growth_cache): Update.
+ * predict.c (cgraph_maybe_hot_edge_p): Do not ice on indirect edges.
+ * ipa-inline-analysis.c (dump_inline_hints): New function.
+ (estimate_edge_devirt_benefit): Return true when function should be
+ hinted.
+ (estimate_calls_size_and_time): New hints argument; set it when
+ devritualization happens.
+ (estimate_node_size_and_time): New hints argument.
+ (do_estimate_edge_time): Cache hints.
+ (do_estimate_edge_growth): Update.
+ (do_estimate_edge_hints): New function
+
+2012-08-18 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR middle-end/53823
+ * expmed.c (expand_mult): Skip synth_mult for negative coefficients
+ if the mode is larger than a wide int and it is too costly to multiply
+ by a positive multiplier and negate the result.
+
+2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ * sparseset.c (sparseset_alloc): Use non-clearing allocation. Tell
+ valgrind not to worry about reading from unitialized memory.
+
+2012-08-18 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54313
+ * dse.c (dse_step7): Don't free kill_on_calls bitmap, it is
+ freed when its obstack is release.
+
+2012-08-18 Andrew Pinski <pinskia@gmail.com>
+
+ * alloc-pool.c (pool_alloc): Add valgrind markers.
+ (pool_free): Likewise.
+
+2012-08-17 Walter Lee <walt@tilera.com>
+
+ * config/tilegx/feedback.h (FEEDBACK_ENTER_EXPLICIT): Define.
+ (FEEDBACK_ENTER): Define.
+ (FEEDBACK_REENTER): Define.
+ (FEEDBACK_ENTRY): Define.
+ * config/tilepro/feedback.h: (FEEDBACK_ENTER_EXPLICIT): Define.
+ (FEEDBACK_ENTER): Define.
+ (FEEDBACK_REENTER): Define.
+ (FEEDBACK_ENTRY): Define.
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+ Gary Funck <gary@intrepid.com>
+
+ PR target/20020
+ * config/i386/i386.c (ix86_member_type_forces_blk): New function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+
+ * config/i386/i386.h (MAX_FIXED_MODE_SIZE): New macro.
+
+2012-08-17 Marc Glisse <marc.glisse@inria.fr>
+
+ * simplify-rtx.c (simplify_binary_operation_1): Optimize shuffle of
+ a concatenation.
+
+
+2012-08-17 H.J. Lu <hongjiu.lu@intel.com>
+
+ * stor-layout.c (compute_record_mode): Replace
+ MEMBER_TYPE_FORCES_BLK with targetm.member_type_forces_blk.
+ (layout_type): Likewise.
+
+ * system.h: Poison MEMBER_TYPE_FORCES_BLK.
+
+ * target.def (member_type_forces_blk): New target hook.
+
+ * targhooks.c (default_member_type_forces_blk): New.
+ * targhooks.h (default_member_type_forces_blk): Likewise.
+
+ * doc/tm.texi.in (MEMBER_TYPE_FORCES_BLK): Removed.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New hook.
+ * doc/tm.texi: Regenerated.
+
+ * config/ia64/hpux.h (MEMBER_TYPE_FORCES_BLK): Removed.
+
+ * config/ia64/ia64.c (ia64_member_type_forces_blk): New
+ function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+
+ * config/rs6000/rs6000.c (TARGET_MEMBER_TYPE_FORCES_BLK): New
+ macro.
+ (rs6000_member_type_forces_blk): New function.
+
+ * config/rs6000/rs6000.h (MEMBER_TYPE_FORCES_BLK): Removed.
+
+ * config/xtensa/xtensa.c (xtensa_member_type_forces_blk): New
+ function.
+ (TARGET_MEMBER_TYPE_FORCES_BLK): New macro.
+
+ * config/xtensa/xtensa.h (MEMBER_TYPE_FORCES_BLK): Removed.
+
+2012-08-17 Diego Novillo <dnovillo@google.com>
+
+ PR bootstrap/54281
+ * configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
+ * config.in: Regenerate.
+ * configure: Regenerate.
+ * intl.h: Always include libintl.h if HAVE_LIBINTL_H is
+ set.
+
+2012-08-17 Richard Guenther <rguenther@suse.de>
+
+ * bitmap.h (struct bitmap_element_def): GTY annotate next/prev.
+ (struct bitmap_head_def): GTY skip current field.
+
+2012-08-17 Steven Bosscher <steven@gcc.gnu.org>
+
+ PR middle-end/54146
+ * tree-ssa-loop-im.c (lim_bitmap_obstack): New bitmap_obstack.
+ (memref_free): Don't free the bitmaps individually here.
+ (mem_ref_alloc): Allocate the bitmaps on the new bitmap obstack.
+ (analyze_memory_references): Likewise.
+ (tree_ssa_lim_initialize): Initialize the new bitmap obstack.
+ (tree_ssa_lim_finalize): Release it.
+ * dse.c (dse_bitmap_obstack): New bitmap obstack.
+ (dse_obstack): New obstack.
+ (get_group_info): Allocate the bitmaps on the new bitmap obstack.
+ (dse_step0): Allocate the scratch bitmap on reg_obstack. Initialize
+ the new bitmap obstack and normal obstack. Use XNEWVEC for bb_table.
+ (record_store): Allocate regs_set on reg_obstack.
+ (dse_step1): Allocate regs_live on reg_obstack.
+ (dse_step2_init): Allocate offset_map_n and offset_map_p on the new
+ obstack.
+ (dse_step3_scan): Allocate bitmaps on the new bitmap obstack.
+ (dse_step3): Likewise.
+ (dse_confluence_0): Likewise.
+ (dse_confluence_n): Likewise.
+ (dse_transfer_function): Likewise.
+ (dse_step7): Destroy the new obstacks, and everything allocated on
+ them, in one big sweep.
+ (rest_of_handle_dse): Update.
+ * cfgexpand.c (stack_var_bitmap_obstack): New bitmap obstack.
+ (add_stack_var_conflict): Allocate bitmaps on it.
+ (add_scope_conflicts_1): Likewise.
+ (add_scope_conflicts): Likewise.
+ (update_alias_info_with_stack_vars): Likewise.
+ (init_vars_expansion): Move TREE_USED fiddling expand_used_vars.
+ Initialize the new bitmap obstack.
+ (fini_vars_expansion): Release it.
+ (estimated_stack_frame_size): Use init_vars_expansion to set things up
+ and always clean up at the end.
+ (expand_used_vars): Do the TREE_USED trickery here. Always call
+ fini_vars_expansion.
+ * tree-ssa-live.h (struct tree_live_info_d): Make livein and liveout
+ arrays of bitmap_head to avoid one indirection per bitmap access.
+ (live_on_entry, live_on_exit, live_var_map, live_merge_and_clear,
+ make_live_on_entry): Update.
+ * tree-ssa-live.c (partition_view_bitmap): Don't double-free 'used'.
+ (liveness_bitmap_obstack): New bitmap obstack.
+ (remove_unused_locals): Use it to allocate all bitmaps on. Update
+ for livein/liveout changes in tree-ssa-live.h.
+ (delete_tree_live_info): Release the bitmap obstack.
+ (loe_visit_block, live_worklist, set_var_live_on_entry,
+ calculate_live_on_exit, dump_live_info): Update.
+ (calculate_live_ranges): Initialize the bitmap.
+ * tree-ssa-ter.c (ter_bitmap_obstack): New bitmap obstack.
+ (new_temp_expr_table): Allocate bitmap on it.
+ (make_dependent_on_partition, add_to_partition_kill_list,
+ add_dependence, process_replaceable): Likewise.
+ (find_replaceable_exprs): Initialize and release the new obstack here.
+ * df-problems.c (df_lr_add_problem): Allocate persistent bitmap
+ for out_of_date_transfer_functions on df_bitmap_obstack.
+ (df_live_add_problem): Likewise.
+ (df_chain_add_problem): Likewise.
+ (df_word_lr_add_problem): Likewise.
+