+2010-04-19 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/37027
+ * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
+ and macro to access it.
+ (vectorizable_reduction): Add argument.
+ (vect_get_slp_defs): Likewise.
+ * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Collect reduction
+ statements for possible use in SLP.
+ (new_loop_vec_info): Initialize LOOP_VINFO_REDUCTIONS.
+ (destroy_loop_vec_info): Free LOOP_VINFO_REDUCTIONS.
+ (vect_create_epilog_for_reduction): Handle SLP. Modify documentation,
+ add new argument.
+ (vectorizable_reduction): Likewise.
+ * tree-vect-stmts.c (vect_get_vec_defs): Update call to
+ vect_get_slp_defs.
+ (vectorizable_type_demotion, vectorizable_type_promotion,
+ vectorizable_store): Likewise.
+ (vect_analyze_stmt): Update call to vectorizable_reduction.
+ (vect_transform_stmt): Likewise.
+ * tree-vect-slp.c (vect_get_and_check_slp_defs): Handle reduction.
+ (vect_build_slp_tree): Fix indentation. Check that there are no loads
+ from different interleaving chains in same node.
+ (vect_slp_rearrange_stmts): New function.
+ (vect_supported_load_permutation_p): Allow load permutations for
+ reductions. Call vect_slp_rearrange_stmts() to rearrange statements
+ inside SLP nodes if necessary.
+ (vect_analyze_slp_instance): Handle reductions.
+ (vect_analyze_slp): Try to build SLP instances originating from groups
+ of reductions.
+ (vect_detect_hybrid_slp_stmts): Skip reduction statements.
+ (vect_get_constant_vectors): Create initial vectors for reductions
+ according to reduction code. Add new argument.
+ (vect_get_slp_defs): Add new argument, pass it to
+ vect_get_constant_vectors.
+ (vect_schedule_slp_instance): Remove SLP tree root statements.
+
+2010-04-19 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (ENUM_IS_SCOPED): Define.
+ * dwarf2out.c (gen_enumeration_type_die): Add DW_AT_enum_class
+ for ENUM_IS_SCOPED enums.
+
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * fold-const.c (fold_comparison): Use ssizetype.
+ * gimple-fold.c (maybe_fold_offset_to_array_ref): Likewise.
+ * ipa-prop.c (ipa_modify_call_arguments): Use sizetype.
+ * tree-loop-distribution.c (build_size_arg_loc): Likewise.
+ * tree-object-size.c (compute_object_sizes): Use size_type_node.
+
+ * tree.h (initialize_sizetypes): Remove parameter.
+ (build_common_tree_nodes): Remove second parameter.
+ * stor-layout.c (initialize_sizetypes): Remove parameter.
+ Always create an unsigned type.
+ (set_sizetype): Assert that the passed type is unsigned and simplify.
+ * tree.c (build_common_tree_nodes): Remove second parameter.
+ Adjust call to initialize_sizetypes.
+ * c-decl.c (c_init_decl_processing): Remove second argument in call to
+ build_common_tree_nodes.
+
2010-04-18 Matthias Klose <doko@ubuntu.com>
* gcc.c (main): Search for liblto_plugin.so with mode R_OK.