+2009-03-29 Steven Bosscher <steven@gcc.gnu.org>
+
+ * regmove.c (perhaps_ends_bb_p): Remove.
+ (optimize_reg_copy_1): Don't call perhaps_ends_bb_p. Get basic block
+ from INSN and check that the main loop stays within that basic block.
+ (optimize_reg_copy_1, optimize_reg_copy_3, fixup_match_2): Likewise.
+ (regmove_forward_pass): Split out from regmove_optimize. Use
+ FOR_EACH_BB and FOR_BB_INSNS instead of traversing the insns stream.
+ (regmove_backward_pass): Split out from regmove_optimize. Use
+ FOR_EACH_BB_REVERSE and FOR_BB_INSNS_REVERS_SAFE.
+ (regmove_optimize): Simplify.
+
+2009-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/39545
+ * config/i386/i386.c (classify_argument): Ignore flexible array
+ member in struct and warn ABI change.
+
+2009-03-29 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config/i386/i386-protos.h (ix86_agi_dependent): New.
+
+ * config/i386/i386.c (ix86_agi_dependent): Rewrite.
+ (ix86_adjust_cost): Updated.
+
+2009-03-29 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/28850
+ * tree-pass.h (pass_cleanup_eh): New function.
+ (remove_unreachable_regions): Break code handling RTL
+ to rtl_remove_unreachable_regions; remove ERT_MUST_NOT_THROW
+ that can not be reached by runtime.
+ (can_be_reached_by_runtime): New function.
+ (label_to_region_map): New function.
+ (num_eh_regions): New function.
+ (rtl_remove_unreachable_regions): New function.
+ (convert_from_eh_region_ranges): Call rtl_remove_unreachable_regions.
+ (remove_eh_region): New function.
+ * except.h: Include sbitmap and vecprim.
+ (remove_eh_region, remove_unreachable_regions, label_to_region_map,
+ num_eh_regions): Declare.
+ * passes.c (init_optimization_passes): Schedule cleanup_eh.
+ * Makefile.in (EXCEPT_H): New; replace all uses of except.h
+ by it.
+ * tree-eh.c (tree_remove_unreachable_handlers): New function.
+ (tree_empty_eh_handler_p): New function.
+ (cleanup_empty_eh): New function.
+ (cleanup_eh): New function.
+ (pass_cleanup_eh): New function.
+
+2009-03-29 Jan Hubicka <jh@suse.cz>
+
+ * except.c (verify_eh_tree): Fix handling of fun!=cfun; be ready
+ for removed regions.
+
+2009-03-29 Jan Hubicka <jh@suse.cz>
+
+ * except.c (dump_eh_tree): Dump all datastructures.
+
+2009-03-29 Jan Hubicka <jh@suse.cz>
+
+ * except.c (duplicate_eh_regions_0): Handle AKA bitmap.
+ (duplicate_eh_regions_1): Likewise.
+ (duplicate_eh_regions): Likewise; cleanup code gorwing the region
+ vector; call EH verification.
+ (foreach_reachable_handler, can_throw_internal_1, can_throw_external_1):
+ Be ready for region being removed.
+
+2009-03-29 Jan Hubicka <jh@suse.cz>
+
+ * bitmap.c (bitmap_last_set_bit): New function.
+ * bitmap.h (bitmap_last_set_bit): Declare.
+
+2009-03-29 David Ayers <ayers@fsfe.org>
+
+ PR objc/27377
+ * c-typeck.c (build_conditional_expr): Emit ObjC warnings
+ by calling objc_compare_types and surpress warnings about
+ incompatible C pointers that are compatible ObjC pointers.
+
+2009-03-29 Adam Nemet <anemet@caviumnetworks.com>
+
+ * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges): Don't
+ call initialize_inline_failed.
+ (initialize_inline_failed): Move it from here ...
+ * cgraph.c (initialize_inline_failed): ... to here.
+ (cgraph_create_edge): Call initialize_inline_failed rather than
+ setting inline_failed directly.
+
+2009-03-29 Ben Elliston <bje@au.ibm.com>
+
+ PR target/32542
+ * sysv4.opt (msdata): Improve comment.
+ * linux64.h (ASM_SPEC32): Do not pass -memb when -msdata is given.
+ * sysv4.h (SVR4_ASM_SPEC): Likewise.
+
+2009-03-29 Ben Elliston <bje@au.ibm.com>
+
+ PR target/30451
+ * config/rs6000/rs6000.md (*movti_ppc64): Correct the order of
+ load and store attributes.
+
+2009-03-29 Ben Elliston <bje@au.ibm.com>
+
+ * config/i386/i386.c (enum ix86_builtins): Add IX86_BUILTIN_HUGE_VALQ.
+ (ix86_init_builtins): Add built-in function __builtin_huge_valq.
+ (ix86_expand_builtin): Handle IX86_BUILTIN_HUGE_VALQ.
+ * doc/extend.texi (X86 Built-in Functions): Add index entries for
+ __builtin_infq and __builtin_huge_valq.
+
+2009-03-28 Anatoly Sokolov <aesok@post.ru>
+
+ * config/avr/avr.c (avr_mcu_t): Add atmega8c1, atmega16c1 and
+ atmega8m1 devices.
+ * config/avr/avr.h (LINK_SPEC, CRT_BINUTILS_SPECS): (Ditto.).
+ * config/avr/t-avr (MULTILIB_MATCHES): (Ditto.)
+
+2009-03-28 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-ccp.c (ccp_finalize): Add dbg_count support.
+ (do_dbg_cnt): New function.
+
+2009-03-28 Jan Hubicka <jh@suse.cz>
+
+ Merge from pretty-ipa:
+
+ 2009-03-27 Jan Hubicka <jh@suse.cz>
+ * cgraph.c (dump_cgraph_node): Add replace output flag by process.
+ * tree-pass.h (function_called_by_processed_nodes_p): Declare.
+ * passes.c (function_called_by_processed_nodes_p): New.
+ * ipa-pure-const.c (check_call): Fix handling of operands.
+ (analyze_function): Dump debug output for skipped bodies.
+ (local_pure_const): Use function_called_by_processed_nodes_p.
+ * dwarf2out.c (reference_to_unused): Use output.
+ * passes.c (do_per_function_toporder): Likewise.
+
+ 2008-11-12 Jan Hubicka <jh@suse.cz>
+
+ * tree-pass.h (pass_fixup_cfg, pass_local_pure_const): Declare.
+ * ipa-pure-const.c (funct_state_d): Add can throw field; make
+ state_set_in_source enum
+ (check_decl): Ignore memory tags; do not set fake looping flags;
+ dump diagnostics.
+ (check_operand, check_tree, check_rhs_var, check_lhs_var,
+ get_asm_expr_operands, scan_function_op, scan_function_stmt): Remove.
+ (check_call, analyze_function): Rewrite.
+ (check_stmt): New.
+ (add_new_function): Update call of analyze_function.
+ (generate_summary): Add call of analyze_function.
+ (propagate): Propagate can_throw; handle state_set_in_source correctly.
+ (local_pure_const): New function.
+ (pass_local_pure_const): New pass.
+ * ipa-inline.c (inline_transform): Set after_inlining.
+ * tree-eh.c (stmt_can_throw_external): New.
+ * tree-optimize.c (execute_fixup_cfg): Do not set after_inlining;
+ work with aliasing built.
+ * tree-flow.h (stmt_can_throw_external): New.
+ * passes.c (init_optimization_passes): Schedule fixup_cfg pass early;
+ and local pure/const pass in early and late optimization queue.
+2009-03-28 Martin Jambor <mjambor@suse.cz>
+
+ * fold-const.c (get_pointer_modulus_and_residue): New parameter
+ allow_func_align.
+ (fold_binary): Allow function decl aligment consideration is the
+ second argument is integer constant one.
+ * tree-ssa-forwprop.c (simplify_bitwise_and): New function.
+ (tree_ssa_forward_propagate_single_use_vars): Handle assing statements
+ with BIT_AND_EXPR on the RHS by calling simplify_bitwise_and.
+
+2009-03-28 Jan Hubicka <jh@suse.cz>
+
+ * dwarf2out.c (dwarf2out_begin_prologue): Use crtl->nothrow
+ * tree-eh.c (stmt_could_throw_p): Remove check for WEAK decls.
+ * function.h (rtl_data): Add nothrow flag.
+ * except.c (set_nothrow_function_flags): Use crtl->nothrow;
+ set DECL_NOTHROW for AVAILABLE functions.
+
+2009-03-28 Jakub Jelinek <jakub@redhat.com>
+
+ * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If macro
+ following vector keyword has expansion starting with pixel or bool
+ keyword, expand vector to __vector and pixel or bool to __pixel or
+ __bool.
+
+ PR c++/39554
+ * opts.c (warning_disallowed_functions, warn_disallowed_functions,
+ warn_if_disallowed_function_p): Removed.
+ (common_handle_option): Don't handle OPT_Wdisallowed_function_list_.
+ * c-parser.c (c_parser_postfix_expression_after_primary): Don't call
+ warning_if_disallowed_function_p.
+ * flags.h (warn_if_disallowed_function_p,
+ warn_disallowed_functions): Removed.
+ * common.opt (Wdisallowed-function-list=): Removed.
+ * doc/invoke.texi (-Wdisallowed-function-list=): Removed.
+
2009-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/38723