+2011-04-29 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.c (rs6000_delegitimize_address): Handle
+ unspec plus offset. Tidy macho code.
+
+2011-04-29 Martin Jambor <mjambor@suse.cz>
+
+ * cgraphunit.c (cgraph_preserve_function_body_p): Accept a cgraph
+ node instead of a decl. Update all callers.
+ * cgraph.h: Update declaration.
+
+2011-04-28 Ira Rosen <ira.rosen@linaro.org>
+
+ PR tree-optimization/48765
+ * tree-vectorizer.h (vect_make_slp_decision): Return bool.
+ * tree-vect-loop.c (vect_analyze_loop_operations): Add new argument
+ to indicate if loop aware SLP is being used. Scan the statements
+ and update the vectorization factor according to the type of
+ vectorization before statement analysis.
+ (vect_analyze_loop_2): Get a return value from vect_make_slp_decision,
+ pass it to vect_analyze_loop_operations.
+ (vectorizable_reduction): Set number of copies to 1 in case of pure
+ SLP statement.
+ * tree-vect-stmts.c (vectorizable_conversion,
+ vectorizable_assignment, vectorizable_shift,
+ vectorizable_operation, vectorizable_type_demotion,
+ vectorizable_type_promotion, vectorizable_store, vectorizable_load):
+ Likewise.
+ (vectorizable_condition): Move the check that it is not SLP
+ vectorization before the number of copies check.
+ * tree-vect-slp.c (vect_make_slp_decision): Return TRUE if decided
+ to vectorize the loop using SLP.
+
+2011-04-28 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/48597
+ * final.c (final_scan_insn): Call dwarf2out_frame_debug even for
+ inline asm.
+
+2011-04-28 Joseph Myers <joseph@codesourcery.com>
+
+ * config.gcc (*-*-kfreebsd*-gnu | *-*-knetbsd*-gnu | *-*-gnu* |
+ *-*-kopensolaris*-gnu): Don't define SINGLE_LIBC.
+ (i[34567]86-*-kfreebsd*-gnu | i[34567]86-*-knetbsd*-gnu |
+ i[34567]86-*-gnu* | i[34567]86-*-kopensolaris*-gnu,
+ x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Don't use
+ linux*.h headers.
+ * config/gnu-user.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
+ Define.
+ * config/i386/gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/kfreebsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/knetbsd-gnu.h (MD_UNWIND_SUPPORT): Don't undefine.
+ * config/i386/kopensolaris-gnu.h (MD_UNWIND_SUPPORT): Don't
+ undefine.
+ * config/i386/linux-unwind.h (x86_fallback_frame_state): Don't use
+ REG_NAME.
+ * config/i386/linux.h (REG_NAME): Don't define.
+ * config/i386/linux64.h (REG_NAME): Don't define.
+ * config/linux.h (TARGET_C99_FUNCTIONS, TARGET_HAS_SINCOS):
+ Undefine before defining.
+
+2011-04-28 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline-analysis.c (will_be_nonconstant_predicate): Take nonconstant_names
+ array.
+ (estimate_function_body_sizes): Build nonconstant_names array; handle
+ BUILT_IN_CONSTANT_P.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ PR bootstrap/48804
+ Revert
+ 2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (solve_constraints): Build succ graph
+ as late as possible.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (dump_constraint): Don't end the line.
+ (debug_constraint): Do it here.
+ (dump_constraints): And here.
+ (rewrite_constraints): And here.
+ (dump_constraint_edge): Remove.
+ (dump_constraint_graph): Rewrite to produce DOT output.
+ (solve_constraints): Build succ graph as late as possible.
+ Dump constraint graphs before and after solving.
+
+2011-04-28 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (find_func_aliases_for_builtin_call):
+ New function split out from ...
+ (find_func_aliases): ... here. Call it.
+ (find_func_aliases_for_call): Likewise.
+
+2011-04-27 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * internal-fn.h (internal_fn_name_array): Declare.
+ (internal_fn_flags_array): Likewise.
+
+2011-04-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize,
+ ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp.
+ Move from sse.md.
+ (ssemodefsuffix): Remove.
+ (ssevecmodesuffix): New mode attribute.
+ (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse,
+ *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit,
+ *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse,
+ *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3,
+ *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for
+ ssemodesuffix mode attribute.
+ (float splitters): Use ssevecmodesuffix mode attribute.
+ * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode.
+ (sseinsmode): Rename from avxvecmode.
+ (avxsizesuffix): Rename from avxmodesuffix.
+ (sseintvecmode): Rename from avxpermvecmode.
+ (ssedoublevecmode): Rename from ssedoublesizemode.
+ (ssehalfvecmode): Rename from avxhalfvecmode.
+ (ssescalarmode): Rename from avxscalarmode.
+ (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler
+ templates for ssemodesuffix mode attribute.
+ (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix
+ mode attribute.
+
+ Adjust RTX patterns globally for renamed mode attributes.
+
+2011-04-27 Jan Hubcika <jh@suse.cz>
+
+ * ipa-inline.h (struct inline_edge_summary): Add predicate pointer.
+ * ipa-inline-analysis.c: Include alloc-pool.h.
+ (edge_predicate_pool): New.
+ (trye_predicate_p): New function
+ (false_predicate_p): New function.
+ (add_clause): Sanity check that false clauses are "optimized";
+ never add clauses to predicate that is already known to be false.
+ (and_predicate): Use flase_predicate_p.
+ (evaulate_predicate): Rename to ...
+ (evaluate_predicate): ... this one; update all callers; assert
+ that false is not listed among possible truths.
+ (dump_predicate): Use true_predicate_p.
+ (account_size_time): Use false_predicate_p.
+ (evaulate_conditions_for_edge): Rename to ...
+ (evaluate_conditions_for_edge) ... this one.
+ (edge_set_predicate): New function.
+ (inline_edge_duplication_hook): Duplicate edge predicates.
+ (inline_edge_removal_hook): Free edge predicates.
+ (dump_inline_edge_summary): Add INFO parameter; dump edge predicates.
+ (dump_inline_summary): Update.
+ (estimate_function_body_sizes): Set edge predicates.
+ (estimate_calls_size_and_time): Handle predicates.
+ (estimate_callee_size_and_time): Update.
+ (remap_predicate): Add toplev_predicate; update comment.
+ (remap_edge_predicates): New function.
+ (inline_merge_summary): Compute toplev predicate; update.
+ (read_predicate): New function.
+ (read_inline_edge_summary): Use it.
+ (inline_read_section): Likewise.
+ (write_predicate): New function.
+ (write_inline_edge_summary): Use it.
+ (inline_write_summary): Likewise.
+ (inline_free_summary): Free alloc pool and edge summary vec.
+
+2011-04-27 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (changed_count): Remove.
+ (changed): Use a bitmap.
+ (unify_nodes): Adjust.
+ (do_sd_constraint): Likewise.
+ (do_ds_constraint): Likewise.
+ (do_complex_constraint): Likewise.
+ (solve_graph): Likewise.
+
+2011-04-27 Jan Hubicka <jh@suse.cz>
+
+ * cgraphunit.c (cgraph_process_new_functions): Fix ordering issue.
+
+2011-04-27 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/predicates.md (avx_vpermilp_*_operand): Remove.
+ (avx_vperm2f128_*_operand): Ditto.
+ * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate.
+ Use avx_vpermilp_parallel in insn condition.
+ (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate.
+ Use avx_vperm2f128_parallel in insn condition.
+