OSDN Git Service

new folding rule
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 41f9489..a891871 100644 (file)
@@ -1,5 +1,89 @@
+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>