+2010-04-20 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (ffs<mode>2): Macroize expander from ffs_cmove
+ and ffsdi2 using SWI48 mode iterator. Expand SImode insn through
+ ffsi2_no_cmove for !TARGET_CMOVE.
+ (ffssi2_no_cmove): Rename from *ffs_no_cmove. Make public.
+ (ffssi2): Remove expander.
+ (*ffs<mode>_1): Macroize insn from *ffs{si,di} using SWI48
+ mode iterator.
+ (ctz<mode>2): Ditto from ctz{si,di}2.
+ (clz<mode>2): Macroize expander from ctz{hi,si,di}2 using SWI248
+ mode iterator.
+ (clz<mode>2_abm): Macroize insn from clz{hi,si,di}2_abm using SWI248
+ mode iterator.
+
+2010-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * dwarf2out.c (AT_linkage_name): Define.
+ (clone_as_declaration): Handle DW_AT_linkage_name.
+ (add_name_and_src_coords_attributes): Use AT_linkage_name instead
+ of DW_AT_MIPS_linkage_name.
+ (move_linkage_attr): Likewise.
+ (dwarf2out_finish): Likewise.
+
+2010-04-20 Xinliang David Li <davidxl@gcc.gnu.org>
+
+ PR middle-end/41952
+ * fold-const.c (fold_comparison): New folding rule.
+
+2010-04-20 Anatoly Sokolov <aesok@post.ru>
+
+ * double-int.h (double_int_setbit): Declare.
+ * double-int.c (double_int_setbit): New function.
+ * rtl.h (immed_double_int_const): Declare.
+ * emit-rtl.c (immed_double_int_const): New function.
+ * builtins.c (expand_builtin_signbit): Clean up, use double_int_*
+ and immed_double_int_const functions.
+ * optabs.c (expand_absneg_bit, expand_copysign_absneg,
+ expand_copysign_bit): (Ditto.).
+ * simplify-rtx.c (simplify_binary_operation_1): (Ditto.).
+ * tree-ssa-address.c (addr_for_mem_ref): (Ditto.).
+ * dojump.c (prefer_and_bit_test): (Ditto.).
+ * expr.c (convert_modes, reduce_to_bit_field_precision,
+ const_vector_from_tree): (Ditto.).
+ * expmed.c (mask_rtx, lshift_value): (Ditto.).
+
+2010-04-20 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_remove_node): Kill bodies in other partitoin.
+ (dump_cgraph_node): Dump new flags.
+ * cgraph.h (struct cgraph_node): Add flags
+ reachable_from_other_partition and in_other_partition.
+ (cgraph_can_remove_if_no_direct_calls_p): Functions used by
+ other partition can not be removed.
+ * cgraphunit.c (cgraph_mark_functions_to_output): Functions used by
+ the other partition must be output; silence sanity checking on
+ leaking functions bodies from other paritition.
+ * lto-cgraph.c (reachable_from_other_partition_p): New function.
+ (lto_output_node): Output new flags; do not sanity check that inline
+ clones are output; drop lto_forced_extern_inline_p code; do not mock
+ visibility flags at partition boundaries.
+ (add_node_to): New function.
+ (output_cgraph): Use it to sort functions so masters appear before
+ clones.
+ (input_overwrite_node): Input new flags.
+ * passes.c (ipa_write_summaries): Do not call
+ lto_new_extern_inline_states.
+ * lto-section-out.c (forced_extern_inline, lto_new_extern_inline_states,
+ lto_delete_extern_inline_states, lto_force_functions_extern_inline,
+ lto_forced_extern_inline_p): Kill.
+ * lto-streamer.h (lto_new_extern_inline_states,
+ * lto_delete_extern_inline_states, lto_force_functions_extern_inline,
+ lto_forced_extern_inline_p): Kill.
+
+2010-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_sd_constraint): Add edges only
+ from vars that can have pointers.
+ (process_constraint): Dump useless constraints.
+
+2010-04-20 Richard Guenther <rguenther@suse.de>
+
+ * tree-ssa-structalias.c (do_structure_copy): Properly handle DEREF.
+ (dump_sa_points_to_info): Remove asserts.
+ (init_base_vars): nothing_id isn't an escape point nor does it
+ have pointers.
+
+2010-04-20 Jakub Jelinek <jakub@redhat.com>
+
+ * tree.h (TYPE_REF_IS_RVALUE): Define.
+ * dwarf2out.c (attr_checksum_ordered, is_type_die, is_comdat_die,
+ should_move_die_to_comdat, prune_unused_types_walk): Handle
+ DW_TAG_rvalue_reference_type like DW_TAG_reference_type.
+ (modified_type_die, gen_reference_type_die): Emit
+ DW_TAG_rvalue_reference_type instead of DW_TAG_reference_type
+ if TYPE_REF_IS_RVALUE and -gdwarf-4.
+
+2010-04-20 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
+
+ PR target/43635
+ * config/s390/s390.c (s390_emit_call): Turn direct into indirect
+ calls for -fpic -m31 if they have been sibcall optimized.
+
2010-04-19 James E. Wilson <wilson@codesourcery.com>
+ PR rtl-optimization/43520
+ * config/ia64/ia64.h (FIXED_REGISTERS, CALL_USED_REGISTERS): Make
+ ar.lc fixed and call-used.
+
* config/ia64/ia64.c (TARGET_INVALID_WITHIN_DOLOOP): Define.
2010-04-19 Jan Hubicka <jh@suse.cz>
2010-04-19 Jakub Jelinek <jakub@redhat.com>
- * dwarf2out.c (lower_bound_default): For DW_LANG_Python return
- 0 for -gdwarf-4.
+ * dwarf2out.c (lower_bound_default): For DW_LANG_Python return 0
+ for -gdwarf-4.
PR middle-end/43337
* tree-nested.c (convert_nonlocal_omp_clauses): OMP_CLAUSE_PRIVATE
2010-04-19 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/37027
- * tree-vectorizer.h (struct _loop_vec_info): Add new field reductions
+ * 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.
(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
+ * 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_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
+ (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_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_slp_defs): Add new argument, pass it to
vect_get_constant_vectors.
(vect_schedule_slp_instance): Remove SLP tree root statements.
* gcc.c (main): Search for liblto_plugin.so with mode R_OK.
-2010-04-18 Ira Rosen <irar@il.ibm.com>
+2010-04-18 Ira Rosen <irar@il.ibm.com>
PR tree-optimization/43771
* tree-vect-slp.c (vect_supported_load_permutation_p): Check that
* config/i386/i386.md (*jcc_bt<mode>): Fix build breakage by adding
missing left parenthesis.
-
+
2010-04-16 Uros Bizjak <ubizjak@gmail.com>
* config/i386/i386.md (*bt<mode>): Macroize insn from *btsi and
* config/h8300/h8300.h (OK_FOR_U): Support 'U' constraint for H8300SX.
- * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
+ * config/h8300/h8300.md (movqi_h8sx, movhi_h8sx, movsi_h8sx,
cmphi_h8300hs_znvc, cmpsi, addhi3_h8sx) : Emit instructions in
#xx:3 and #xx:4 mode.
2010-04-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx
- flavor.
+ * configure.ac: Check for elf_getshdrstrndx or elf_getshstrndx flavor.
* configure: Regenerate.
* config.in: Regenerate.
* doc/install.texi (Prerequisites): Document that Solaris 2 libelf
2010-04-16 Diego Novillo <dnovillo@google.com>
- * doc/invoke.texi: Explain how are unrecognized -Wno- warnings
- handled.
+ * doc/invoke.texi: Explain how are unrecognized -Wno- warnings handled.
2010-04-16 Bernd Schmidt <bernds@codesourcery.com>
(dump_points_to_solution): Likewise.
* tree-dfa.c (dump_variable): Also dump DECL_PT_UID.
* tree-inline.c (remap_ssa_name): Copy IPA points-to solution.
- (remap_gimple_stmt): Reset call clobber/use information if
- necessary.
+ (remap_gimple_stmt): Reset call clobber/use information if necessary.
(copy_decl_to_var): Copy DECL_PT_UID.
(copy_result_decl_to_var): Likewise.
* tree.c (make_node_stat): Initialize DECL_PT_UID.
PR target/43742
* config/sh/sh.md (doloop_end_split): Remove "+r" constraint
- in an input-only operand.
+ in an input-only operand.
2010-04-15 Anatoly Sokolov <aesok@post.ru>
(double_int_negative_p): Convert to static inline function.
* double-int.c (double_int_lshift, double_int_lshift): Add new function.
(double_int_negative_p): Remove.
- * tree.h (lshift_double, rshift_double):
+ * tree.h (lshift_double, rshift_double):
* tree.c (build_low_bits_mask): Clean up, use double_int_* functions.
* fold-const.c (fold_convert_const_int_from_real,
fold_convert_const_int_from_fixed, div_if_zero_remainder): (Ditto.).
* expmed.c (mask_rtx, lshift_value): (Ditto.).
2010-04-14 Bernd Schmidt <bernds@codesourcery.com>
-
+
PR target/21803
* ifcvt.c (cond_exec_process_if_block): Look for identical sequences
at the start and end of the then/else blocks, and omit them from the