H.J. Lu [Mon, 15 Aug 2011 22:04:04 +0000 (22:04 +0000)]
Only run g++.dg/opt/life1.C on Linux.
2011-08-15 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/50085
* g++.dg/opt/life1.C: Only run on Linux.
From-SVN: r177772
Xinliang David Li [Mon, 15 Aug 2011 20:43:07 +0000 (20:43 +0000)]
fix Change log
From-SVN: r177769
Gabriel Charette [Mon, 15 Aug 2011 20:35:58 +0000 (20:35 +0000)]
LINEMAP_POSITION_FOR_COLUMN had the exact same effect as linemap_position_for_column...
LINEMAP_POSITION_FOR_COLUMN had the exact same effect as
linemap_position_for_column, removed it and updated users
to use linemap_position_for_column instead
libcpp/ChangeLog
* include/line-map.h (LINEMAP_POSITION_FOR_COLUMN): Remove.
Update all users to use linemap_position_for_column instead.
gcc/go/ChangeLog
* gofrontend/lex.cc (Lex::location): Update to use
linemap_position_for_column instead.
(Lex::earlier_location): Likewise.
From-SVN: r177768
Tobias Burnus [Mon, 15 Aug 2011 20:10:51 +0000 (22:10 +0200)]
resolve.c (resolve_symbol): Fix coarray result-var check.
2011-08-15 Tobias Burnus <burnus@net-b.de>
* resolve.c (resolve_symbol): Fix coarray result-var check.
2011-08-15 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/coarray_26.f90: New.
From-SVN: r177767
Richard Henderson [Mon, 15 Aug 2011 17:44:11 +0000 (10:44 -0700)]
re PR debug/50006 (ICE in in connect_traces, at dwarf2cfi.c:2677)
PR middle-end/50006
* explow.c (allocate_dynamic_stack_space): Move suppress_reg_args_size
setting out to include allocate_stack named pattern as well.
* builtins.c (expand_builtin_apply): Add ARG_SIZE 0 note.
* stmt.c (expand_stack_restore): Likewise.
From-SVN: r177764
Hans-Peter Nilsson [Mon, 15 Aug 2011 16:34:57 +0000 (16:34 +0000)]
Fix typo last change
From-SVN: r177763
Richard Guenther [Mon, 15 Aug 2011 15:01:33 +0000 (15:01 +0000)]
re PR tree-optimization/50082 (-Wstrict-overflow mishandles typedef)
2011-08-15 Richard Guenther <rguenther@suse.de>
PR middle-end/50082
* fold-const.c (maybe_canonicalize_comparison_1): Properly
convert the modified operand to the other operand type.
(fold_comparison): Call maybe_canonicalize_comparison_1 with
useless conversions stripped from comparison operands.
From-SVN: r177762
Richard Guenther [Mon, 15 Aug 2011 14:32:12 +0000 (14:32 +0000)]
tree-vrp.c (value_range_nonnegative_p): Fix anti-range case.
2011-08-15 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (value_range_nonnegative_p): Fix anti-range case.
(extract_range_from_unary_expr_1): Restructure.
From-SVN: r177761
Richard Guenther [Mon, 15 Aug 2011 12:17:33 +0000 (12:17 +0000)]
re PR tree-optimization/50058 (FAIL: g++.dg/tree-ssa/pr41186.C)
2011-08-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/50058
* tree-ssa-sccvn.c (vn_reference_lookup_3): Relax aggregate
copy matching.
From-SVN: r177760
Ramana Radhakrishnan [Mon, 15 Aug 2011 11:57:33 +0000 (11:57 +0000)]
re PR target/50022 ("incorrect condition in IT block" when building mozilla code base for ARM)
2011-08-15 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
PR target/50022
* config/arm/arm.c (output_move_double): Add 2 parameters
to count the number of insns emitted and whether to emit or not.
Use the flag to decide when to emit and count number of instructions
that will be emitted.
Handle case where output_move_double might be called for calculating
lengths with an invalid constant.
(arm_count_output_move_double_insns): Define.
* config/arm/arm-protos.h (arm_count_output_move_double_insns): Declare.
(output_move_double): Adjust prototype.
* config/arm/vfp.md ("*movdi_vfp"): Adjust call to
output_move_double.
("*movdi_vfp_cortexa8"): Likewise and add attribute
for ce_count.
* config/arm/arm.md ("*arm_movdi"): Adjust call to output_move_double.
("*movdf_soft_insn"): Likewise.
* config/arm/cirrus.md ("*cirrus_arm_movdi"): Likewise.
("*cirrus_thumb2_movdi"): Likewise.
("*thumb2_cirrus_movdf_hard_insn"): Likewise.
("*cirrus_movdf_hard_insn"): Likewise.
* config/arm/neon.md (*neon_mov<mode> VD): Likewise.
* config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Likewise.
("mov<mode>_internal VMMX"): Likewise.
* config/arm/fpa.md (*movdf_fpa, *thumb2_movdf_fpa): Likewise.
From-SVN: r177759
Hans-Peter Nilsson [Mon, 15 Aug 2011 10:07:25 +0000 (10:07 +0000)]
vrp61.c: : Use -fdump-tree-vrp1-nouid instead of -fdump-tree-vrp1.
* gcc.dg/tree-ssa/vrp61.c: : Use -fdump-tree-vrp1-nouid instead of
-fdump-tree-vrp1.
From-SVN: r177758
Benjamin Kosnik [Mon, 15 Aug 2011 00:54:18 +0000 (00:54 +0000)]
*: Image and image filename changes.
2011-08-14 Benjamin Kosnik <bkoz@redhat.com>
* doc/xml/images/*: Image and image filename changes.
From-SVN: r177757
Benjamin Kosnik [Mon, 15 Aug 2011 00:51:06 +0000 (00:51 +0000)]
make_graph_test_infos.xml: Edit.
2011-08-14 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/data/make_graph_test_infos.xml: Edit.
* testsuite/data/make_graph_htmls.xml: Remove
* scripts/make_graph.py: Edit, fix.
* scripts/make_graphs.py: Remove.
* doc/Makefile.am (doc-svg-performance): New.
(doc-html-performance): Remove.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/test_policy_data_structures.xml: Markup changes.
* doc/xml/manual/policy_data_structures.xml: Same.
* doc/xml/manual/locale.xml: Same.
Testsuite renames.
* performance/ext/pb_ds/priority_queue_text_modify_down_timing.cc:
Rename.
* performance/ext/pb_ds/random_int_find_timing.cc: Same.
* performance/ext/pb_ds/multimap_text_insert_mem_usage.hpp
* performance/ext/pb_ds/multimap_text_find_timing.hpp
* performance/ext/pb_ds/priority_queue_random_int_push_timing.cc: Same.
* performance/ext/pb_ds/priority_queue_text_modify_timing.hpp
* performance/ext/pb_ds/tree_order_statistics_timing.cc: Same.
* performance/ext/pb_ds/multimap_text_insert_mem_usage_large.cc: Same.
* performance/ext/pb_ds/priority_queue_text_push_pop_timing.cc: Same.
* performance/ext/pb_ds/priority_queue_text_join_timing.cc: Same.
* performance/ext/pb_ds/multimap_text_insert_timing_small.cc: Same.
* performance/ext/pb_ds/random_int_subscript_insert_timing.cc: Same.
* performance/ext/pb_ds/tree_text_lor_find_timing.cc: Same.
* performance/ext/pb_ds/priority_queue_text_pop_mem_usage.cc: Same.
* performance/ext/pb_ds/multimap_text_find_timing_small.cc: Same.
* performance/ext/pb_ds/text_find_timing.cc: Same.
* performance/ext/pb_ds/tree_text_insert_timing.cc: Same.
* performance/ext/pb_ds/hash_random_int_erase_mem_usage.cc: Same.
* performance/ext/pb_ds/random_int_subscript_find_timing.cc: Same.
* performance/ext/pb_ds/priority_queue_text_push_timing.cc: Same.
* performance/ext/pb_ds/tree_split_join_timing.cc: Same.
* performance/ext/pb_ds/multimap_text_insert_timing_large.cc: Same.
* performance/ext/pb_ds/priority_queue_text_modify_up_timing.cc: Same.
* performance/ext/pb_ds/multimap_text_find_timing_large.cc: Same.
* performance/ext/pb_ds/priority_queue_random_int_push_pop_timing.cc:
Same.
* performance/ext/pb_ds/multimap_text_insert_timing.hpp
* performance/ext/pb_ds/multimap_text_insert_mem_usage_small.cc: Same.
* performance/ext/pb_ds/hash_zlob_random_int_find_timing.cc: Same.
* performance/ext/pb_ds/all_int_find.cc: To these new files...
* performance/ext/pb_ds/all_int_subscript_find.cc: ...this.
* performance/ext/pb_ds/all_int_subscript_insert.cc: ...this.
* performance/ext/pb_ds/all_text_find.cc: ...this.
* performance/ext/pb_ds/hash_int_erase_mem.cc: ...this.
* performance/ext/pb_ds/hash_zlob_int_find.cc: ...this.
* performance/ext/pb_ds/multimap_text_find.hpp
* performance/ext/pb_ds/multimap_text_find_large.cc: ...this.
* performance/ext/pb_ds/multimap_text_find_small.cc: ...this.
* performance/ext/pb_ds/multimap_text_insert.hpp
* performance/ext/pb_ds/multimap_text_insert_large.cc: ...this.
* performance/ext/pb_ds/multimap_text_insert_mem.hpp
* performance/ext/pb_ds/multimap_text_insert_mem_large.cc: ...this.
* performance/ext/pb_ds/multimap_text_insert_mem_small.cc: ...this.
* performance/ext/pb_ds/multimap_text_insert_small.cc: ...this.
* performance/ext/pb_ds/priority_queue_int_push.cc: ...this.
* performance/ext/pb_ds/priority_queue_int_push_pop.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_join.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_modify_down.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_modify.hpp
* performance/ext/pb_ds/priority_queue_text_modify_up.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_pop_mem.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_push.cc: ...this.
* performance/ext/pb_ds/priority_queue_text_push_pop.cc: ...this.
* performance/ext/pb_ds/tree_order_statistics.cc: ...this.
* performance/ext/pb_ds/tree_split_join.cc: ...this.
* performance/ext/pb_ds/tree_text_insert.cc: ...this.
* performance/ext/pb_ds/tree_text_lor_find.cc: ...this.
* doc/xml/images/*: Image and image filename changes.
From-SVN: r177756
GCC Administrator [Mon, 15 Aug 2011 00:18:30 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177755
Uros Bizjak [Sun, 14 Aug 2011 20:02:32 +0000 (22:02 +0200)]
i386.c (ix86_expand_round_sse4): New function.
* config/i386/i386.c (ix86_expand_round_sse4): New function.
* config/i386/i386-protos.h (ix86_expand_round_sse4): New prototype.
* config/i386/i386.md (round<mode>2): Use ix86_expand_round_sse4
for TARGET_ROUND.
(rint<mode>2): Simplify TARGET_ROUND check.
(floor<mode>2): Ditto.
(ceil<mode>2): Ditto.
(btrunc<mode>2): Ditto.
From-SVN: r177751
Steven G. Kargl [Sun, 14 Aug 2011 18:00:51 +0000 (18:00 +0000)]
module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.
2011-08-14 Steven G. Kargl <kargl@gcc.gnu.org>
* module.c (use_iso_fortran_env_module): Spell 'referrenced' correctly.
From-SVN: r177750
Anatoly Sokolov [Sun, 14 Aug 2011 17:16:42 +0000 (21:16 +0400)]
mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine as mmix_preferred_output_reload_class.
* config/mmix/mmix.c (TARGET_PREFERRED_OUTPUT_RELOAD_CLASS): Redefine
as mmix_preferred_output_reload_class.
From-SVN: r177749
Yao Qi [Sun, 14 Aug 2011 12:25:15 +0000 (12:25 +0000)]
configure.ac (tic6x-*-*): Remove gdb from noconfigdirs.
* configure.ac (tic6x-*-*): Remove gdb from noconfigdirs.
* configure: Regenerate.
From-SVN: r177746
Janus Weil [Sun, 14 Aug 2011 09:37:25 +0000 (11:37 +0200)]
re PR fortran/50073 (gfortran must not accept function name when result name is present)
2011-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/50073
* decl.c (check_function_name): New function, separated off from
'variable_decl' and slightly extended.
(variable_decl,attr_decl1): Call it.
2011-08-14 Janus Weil <janus@gcc.gnu.org>
PR fortran/50073
* gfortran.dg/func_result_7.f90: New.
From-SVN: r177745
Georg-Johann Lay [Sun, 14 Aug 2011 09:10:13 +0000 (09:10 +0000)]
re PR target/49903 ([avr] Redundant comparisons in binary-search switch/case expansion)
* PR target/49903
* config/avr/avr.md (UNSPEC_IDENTITY): New c_enum.
(branch_unspec): New insn.
(branch): Beauty farm.
* config/avr/avr.c (compare_condition): Use JUMP_P. Test SET_SRC
to be IF_THEN_ELSE.
(avr_compare_pattern, avr_reorg_remove_redundant_compare):
New static functions.
(avr_reorg): Use them. Use next_real_insn instead of NEXT_INSN.
Use CONST_INT_P. Beauty.
From-SVN: r177744
Jason Merrill [Sun, 14 Aug 2011 04:41:43 +0000 (00:41 -0400)]
re PR c++/50075 ([C++0x] ICE related to parameter deduction and initializer_list)
PR c++/50075
* name-lookup.c (local_bindings_p): New.
* name-lookup.h: Declare it.
* lex.c (unqualified_name_lookup_error): Use it.
From-SVN: r177743
GCC Administrator [Sun, 14 Aug 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177741
Jason Merrill [Sat, 13 Aug 2011 20:03:23 +0000 (16:03 -0400)]
re PR c++/50059 ([C++0x] Broken error message with __builtin_remquo & constexpr)
PR c++/50059
* error.c (dump_expr): Handle MODIFY_EXPR properly.
From-SVN: r177735
Jason Merrill [Sat, 13 Aug 2011 20:03:15 +0000 (16:03 -0400)]
decl.c (grok_reference_init): Handle constexpr here.
* decl.c (grok_reference_init): Handle constexpr here.
* call.c (initialize_reference): Not here.
From-SVN: r177734
David Li [Sat, 13 Aug 2011 05:13:57 +0000 (05:13 +0000)]
Fix bug in vtable initialization
From-SVN: r177731
GCC Administrator [Sat, 13 Aug 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r177728
Jason Merrill [Fri, 12 Aug 2011 21:27:52 +0000 (17:27 -0400)]
re PR c++/50034 (Overload selection failure within class template)
PR c++/50034
* call.c (convert_arg_to_ellipsis): force_rvalue only in
potentially evaluated context.
From-SVN: r177722
Richard Henderson [Fri, 12 Aug 2011 21:00:00 +0000 (14:00 -0700)]
re PR rtl-optimization/49994 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234 with -fsched2-use-superblocks)
PR rtl-opt/49994
* sched-init.h (struct deps_desc): Add sched_before_next_jump.
* sched-deps.c (init_deps): Clear it.
(deps_analyze_insn): Consume it.
(sched_analyze_insn): Fill it.
From-SVN: r177721
Richard Sandiford [Fri, 12 Aug 2011 20:28:18 +0000 (20:28 +0000)]
Fix changelog
From-SVN: r177720
Paolo Bonzini [Fri, 12 Aug 2011 17:13:04 +0000 (17:13 +0000)]
re PR bootstrap/50047 (Revision 177670 failed to bootstrap)
2011-08-12 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/50047
* Makefile.in (install-unwind_h): Create
$(gcc_objdir)/include/unwind.h atomically.
From-SVN: r177706
Ramana Radhakrishnan [Fri, 12 Aug 2011 16:58:09 +0000 (16:58 +0000)]
Fix PR target/48328 part 1
From-SVN: r177705
Diego Novillo [Fri, 12 Aug 2011 16:42:13 +0000 (12:42 -0400)]
data-streamer.h (streamer_write_zero): Rename from output_zero.
* data-streamer.h (streamer_write_zero): Rename from output_zero.
(streamer_write_uhwi): Rename from lto_output_uleb128.
(streamer_write_hwi): Rename from output_sleb128.
(streamer_write_string): Rename from lto_output_string.
(streamer_string_index): Rename from lto_string_index.
(streamer_write_string_with_length): Rename from
lto_output_string_with_length.
(streamer_write_uhwi_stream): Rename from lto_output_uleb128_stream.
(streamer_write_hwi_stream): Rename from lto_output_sleb128_stream.
(streamer_read_string): Rename from lto_input_string.
(streamer_read_indexed_string): Rename from input_string_internal.
(streamer_read_uhwi): Rename from lto_input_uleb128.
(streamer_read_hwi): Rename from lto_input_sleb128.
(streamer_write_hwi_in_range): Rename from lto_output_int_in_range.
(streamer_read_hwi_in_range): Rename from lto_input_int_in_range.
(streamer_write_enum): Rename from lto_output_enum.
(streamer_read_enum): Rename from lto_input_enum.
(streamer_write_record_start): Rename from output_record_start.
(streamer_read_record_start): Rename from input_record_start.
(streamer_write_bitpack): Rename from lto_output_bitpack.
(streamer_read_bitpack): Rename from lto_input_bitpack.
(streamer_write_char_stream): Rename from lto_output_1_stream.
(streamer_read_uchar): Rename from lto_input_1_unsigned.
* tree-streamer.h (streamer_cache_d): Rename from lto_streamer_cache_d.
(streamer_handle_as_builtin_p): Rename from lto_stream_as_builtin_p.
(streamer_read_string_cst): Rename from input_string_cst.
(streamer_read_chain): Rename from lto_input_chain.
(streamer_alloc_tree): Rename from lto_materialize_tree.
(streamer_read_tree_body): Rename from lto_input_tree_pointers.
(streamer_get_pickled_tree): Rename from lto_get_pickled_tree.
(streamer_get_builtin_tree): Rename from lto_get_builtin_tree.
(streamer_read_integer_cst): Rename from lto_input_integer_cst.
(streamer_read_tree_bitfields): Rename from tree_read_bitfields.
(streamer_write_chain): Rename from lto_output_chain.
(streamer_write_tree_header): Rename from lto_output_tree_header.
(streamer_pack_tree_bitfields): Rename from pack_value_fields.
(streamer_write_tree_body): Rename from lto_output_tree_pointers.
(streamer_write_integer_cst): Rename from lto_output_integer_cst.
(streamer_write_builtin): Rename from lto_output_builtin_tree.
(streamer_check_handled_ts_structures): Rename from
check_handled_ts_structures.
(streamer_tree_cache_insert): Rename from lto_streamer_cache_insert.
(streamer_tree_cache_insert_at): Rename from
lto_streamer_cache_insert_at.
(streamer_tree_cache_append): Rename from lto_streamer_cache_append.
(streamer_tree_cache_lookup): Rename from lto_streamer_cache_lookup.
(streamer_tree_cache_get): Rename from lto_streamer_cache_get.
(streamer_tree_cache_create): Rename from lto_streamer_cache_create.
(streamer_tree_cache_delete): Rename from lto_streamer_cache_delete.
* tree-streamer-out.c (write_string_cst): Rename from output_string_cst.
(write_identifier): Rename from output_identifier.
(write_ts_common_tree_pointers): Rename from
lto_output_ts_common_tree_pointers.
(write_ts_vector_tree_pointers): Rename from
lto_output_ts_vector_tree_pointers.
(write_ts_complex_tree_pointers): Rename from
lto_output_ts_complex_tree_pointers.
(write_ts_decl_minimal_tree_pointers): Rename from
lto_output_ts_decl_minimal_tree_pointers.
(write_ts_decl_common_tree_pointers): Rename from
lto_output_ts_decl_common_tree_pointers.
(write_ts_decl_non_common_tree_pointers): Rename from
lto_output_ts_decl_non_common_tree_pointers.
(write_ts_decl_with_vis_tree_pointers): Rename from
lto_output_ts_decl_with_vis_tree_pointers.
(write_ts_field_decl_tree_pointers): Rename from
lto_output_ts_field_decl_tree_pointers.
(write_ts_function_decl_tree_pointers): Rename from
lto_output_ts_function_decl_tree_pointers.
(write_ts_type_common_tree_pointers): Rename from
lto_output_ts_type_common_tree_pointers.
(write_ts_type_non_common_tree_pointers): Rename from
lto_output_ts_type_non_common_tree_pointers.
(write_ts_list_tree_pointers): Rename from
lto_output_ts_list_tree_pointers.
(write_ts_vec_tree_pointers): Rename from
lto_output_ts_vec_tree_pointers.
(write_ts_exp_tree_pointers): Rename from
lto_output_ts_exp_tree_pointers.
(write_ts_block_tree_pointers): Rename from
lto_output_ts_block_tree_pointers.
(write_ts_binfo_tree_pointers): Rename from
lto_output_ts_binfo_tree_pointers.
(write_ts_constructor_tree_pointers): Rename from
lto_output_ts_constructor_tree_pointers.
(write_ts_target_option): Rename from
lto_output_ts_target_option.
(write_ts_translation_unit_decl_tree_pointers): Rename from
lto_output_ts_translation_unit_decl_tree_pointers.
* tree-streamer.c (streamer_tree_cache_add_to_node_array):
Rename from lto_streamer_cache_add_to_node_array.
(streamer_tree_cache_insert_1): Rename from lto_streamer_cache_insert_1.
(record_common_node): Rename from lto_record_common_node.
* streamer-hooks.h (bitpack_d, lto_streamer_cache_d): Remove forward
declarations.
* data-streamer-in.c (lto_input_widest_uint_uleb128): Remove unused
function.
* data-streamer-out.c (lto_output_widest_uint_uleb128_stream): Remove
unused function.
* Makefile.in (lto-section-out.o): Add dependency on DATA_STREAMER_H.
(ipa-reference.o): Likewise.
* lto-section-out.c: Include data-streamer.h.
* ipa-reference.c: Include data-streamer.h.
From-SVN: r177704
Nick Clifton [Fri, 12 Aug 2011 16:26:11 +0000 (16:26 +0000)]
builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern.
* builtins.c (expand_builtin_memcmp): Do not use cmpstrnsi
pattern.
* doc/md.texi (cmpstrn): Note that the comparison stops if both
fetched bytes are zero.
(cmpstr): Likewise.
(cmpmem): Note that the comparison does not stop if both of the
fetched bytes are zero.
From-SVN: r177701
Steve Ellcey [Fri, 12 Aug 2011 16:06:57 +0000 (16:06 +0000)]
md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
2011-08-12 Steve Ellcey <sje@cup.hp.com>
* md5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
From-SVN: r177700
Paolo Carlini [Fri, 12 Aug 2011 15:40:01 +0000 (15:40 +0000)]
cmath (fmod(_Tp, _Up)): Add.
2011-08-12 Paolo Carlini <paolo.carlini@oracle.com>
* include/c_global/cmath (fmod(_Tp, _Up)): Add.
* include/c_std/cmath: Likewise.
From-SVN: r177698
Uros Bizjak [Fri, 12 Aug 2011 12:32:41 +0000 (14:32 +0200)]
builtins.def (BUILT_IN_ICEIL{,F,L}, [...]): New builtin definitions.
* builtins.def (BUILT_IN_ICEIL{,F,L}, BUILT_IN_IFLOOR{,F,L}
BUILT_IN_IRINT{,F,L}, BUILT_IN_IROUND{,F,L}: New builtin definitions.
* convert.c (convert_to_integer): Convert to BUILT_IN_ICEIL,
BUILT_IN_IFLOOR, BUILT_IN_IRINT or BUILT_INT_IROUND when converting
to integer_type_node.
* fold-const.c (tree_call_nonnegative_warnv_p): Handle BUILT_IN_ICEIL,
BUILT_IN_IFLOOR, BUILT_IN_IRINT and BUILT_INT_IROUND.
* builtins.c (expand_builtin_in): Ditto.
(mathfn_built_in_1): Ditto.
(expand_builtin_int_roundingfn): Handle BUILT_IN_ICEIL and
BUILT_IN_IFLOOR.
(expand_builtin_int_roundingfn_2): Handle BUILT_IN_IRINT and
BUILT_IN_IROUND.
(fold_fixed_mathfn): Canonicalize BUILT_IN_ICEIL, BUILTIN_IN_IFLOOR
BUILT_IN_IRINT and BUILT_IN_IROUND to BUILT_IN_LCEIL,
BUILTIN_IN_LFLOOR, BUILT_IN_LRINT and BUILT_IN_LROUND on ILP32 targets.
testsuite/ChangeLog:
* gcc.dg/builtins-67.c: New test.
* gcc.target/i386/conversion.c: Ditto.
From-SVN: r177694
Richard Biener [Fri, 12 Aug 2011 11:29:01 +0000 (11:29 +0000)]
tree-vrp.c (extract_range_from_unary_expr_1): Implement -X as 0 - X.
2011-08-12 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_unary_expr_1): Implement
-X as 0 - X.
From-SVN: r177693
Richard Guenther [Fri, 12 Aug 2011 08:55:05 +0000 (08:55 +0000)]
call.c (build_over_call): Instead of memcpy use an assignment of two MEM_REFs.
2011-08-12 Richard Guenther <rguenther@suse.de>
* call.c (build_over_call): Instead of memcpy use an
assignment of two MEM_REFs.
From-SVN: r177691
Romain Geissler [Fri, 12 Aug 2011 08:19:27 +0000 (08:19 +0000)]
install c-tree.h as a plugin header
From-SVN: r177690
Richard Sandiford [Fri, 12 Aug 2011 07:59:09 +0000 (07:59 +0000)]
arm.c (get_label_padding): New function.
gcc/
* config/arm/arm.c (get_label_padding): New function.
(create_fix_barrier, md_reorg): Likewise.
From-SVN: r177689
GCC Administrator [Fri, 12 Aug 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177688
Uros Bizjak [Thu, 11 Aug 2011 20:03:29 +0000 (22:03 +0200)]
re PR target/49781 ([x32] Unnecessary lea in x32 mode)
PR target/49781
* config/i386/i386.md (*lea_5_zext): New.
(*lea_6_zext): Ditto.
* config/i386/predicates.md (const_32bit_mask): New predicate.
(lea_address_operand): Reject AND.
* config/i386/i386.c (ix86_decompose_address): Allow Dimode AND with
const_32bit_mask immediate.
(ix86_print_operand_address): Handle AND.
(memory_address_length): Ditto.
From-SVN: r177683
Paolo Carlini [Thu, 11 Aug 2011 17:53:05 +0000 (17:53 +0000)]
future: constexpr functions are implicitly inline.
2011-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* include/std/future: constexpr functions are implicitly inline.
* include/std/chrono: Likewise.
* include/std/complex: Likewise.
* include/bits/move.h: Likewise.
* include/bits/stl_pair.h: Likewise.
From-SVN: r177679
Romain Geissler [Thu, 11 Aug 2011 15:57:38 +0000 (15:57 +0000)]
plugin.def: Add event for finish_decl.
2011-08-11 Romain Geissler <romain.geissler@gmail.com>
Brian Hackett <bhackett1024@gmail.com>
gcc/ChangeLog:
* plugin.def: Add event for finish_decl.
* plugin.c (register_callback, invoke_plugin_callbacks): Same.
* c-decl.c (finish_decl): Invoke callbacks on above event.
* doc/plugins.texi: Document above event.
gcc/cp/ChangeLog:
* decl.c (cp_finish_decl): Invoke callbacks on finish_decl event.
gcc/testsuite/ChangeLog:
* g++.dg/plugin/decl_plugin.c: New.
* g++.dg/plugin/decl-plugin-test.C: New.
* g++.dg/plugin/plugin.exp: Add above testcase.
Co-Authored-By: Brian Hackett <bhackett1024@gmail.com>
From-SVN: r177674
Richard Guenther [Thu, 11 Aug 2011 15:34:46 +0000 (15:34 +0000)]
tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant lookups, make looking through aggregate copies stronger.
2011-08-11 Richard Guenther <rguenther@suse.de>
* tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant
lookups, make looking through aggregate copies stronger.
* g++.dg/tree-ssa/pr41186.C: Un-XFAIL.
From-SVN: r177672
Rainer Orth [Thu, 11 Aug 2011 15:19:32 +0000 (15:19 +0000)]
* Makefile.in (install-unwind_h): Remove destination file first.
From-SVN: r177670
Richard Henderson [Thu, 11 Aug 2011 15:09:30 +0000 (08:09 -0700)]
re PR bootstrap/50018 (fixup_args_size_notes ICE breaks m68k-linux bootstrap)
PR bootstrap/50018
* expr.c (fixup_args_size_notes): Accept and ignore normal calls.
From-SVN: r177669
Richard Guenther [Thu, 11 Aug 2011 14:34:51 +0000 (14:34 +0000)]
lto-cgraph.c (input_node): Use DECL_BUILT_IN.
2011-08-11 Richard Guenther <rguenther@suse.de>
* lto-cgraph.c (input_node): Use DECL_BUILT_IN.
* tree-vrp.c (stmt_interesting_for_vrp): Likewise.
(vrp_visit_stmt): Likewise.
From-SVN: r177668
Richard Guenther [Thu, 11 Aug 2011 14:28:36 +0000 (14:28 +0000)]
re PR middle-end/50040 (missed warning: ‘x.y’ is used uninitialized in this function)
2011-08-11 Richard Guenther <rguenther@suse.de>
PR middle-end/50040
* gimplify.c (gimplify_modify_expr_complex_part): Mark the
load of the other piece with TREE_NO_WARNING.
* tree-flow.h (warn_uninit): Adjust prototype.
* tree-ssa.c (warn_uninit): Take uninitialized SSA name,
the base variable and the expression that is used separately.
Properly query all TREE_NO_WARNING flags.
(struct walk_data): Remove.
(warn_uninitialized_var): Likewise.
(warn_uninitialized_vars): Do not walk gimple pieces but simply
look at all SSA uses of the statement. Handle unused memory
separately.
* tree-ssa-uninit.c (warn_uninitialized_phi): Adjust.
* g++.dg/warn/unit-1.C: Un-XFAIL.
* gcc.dg/uninit-I.c: Likewise.
From-SVN: r177667
Michael Matz [Thu, 11 Aug 2011 13:43:05 +0000 (13:43 +0000)]
* gcc.dg/graphite/run-id-pr47593.c: Remove -m32.
From-SVN: r177666
Kazuhiro Inaoka [Thu, 11 Aug 2011 12:34:30 +0000 (12:34 +0000)]
rx.md (movsicc): Allow register to register transfers.
* config/rx/rx.md (movsicc): Allow register to register
transfers.
(*movsicc): Likewise.
(*stcc): Restrict this pattern to EQ and NE compares.
(*stcc_reg): New pattern. Works for any comparison but only for
register transfers.
From-SVN: r177665
Diego Novillo [Thu, 11 Aug 2011 12:06:17 +0000 (08:06 -0400)]
Remove bogus ChangeLog edits.
From-SVN: r177662
Diego Novillo [Thu, 11 Aug 2011 12:02:34 +0000 (08:02 -0400)]
tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call stream_write_tree instead of output_record_start.
* tree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers):
Call stream_write_tree instead of output_record_start.
(lto_output_ts_binfo_tree_pointers): Likewise.
* streamer-hooks.h (stream_write_tree): Move from tree-streamer.h.
Convert it to a macro.
(stream_read_tree): Likewise.
* lto-streamer.h (lto_stream_as_builtin_p): Move ...
* tree-streamer.h (lto_stream_as_builtin_p): ... here.
* lto-streamer-in.c (lto_read_tree): Call lto_streamer_cache_append
and tree_read_bitfields.
* lto-streamer-out.c (lto_is_streamable): Move from lto-streamer.c
(lto_write_tree): Call it.
* lto-streamer.c (lto_is_streamable): Move to lto-streamer-out.c
* streamer-hooks.h (struct streamer_hooks): Remove fields
name, is_streamable and alloc_tree. Update all users.
* tree-streamer-in.c (tree_read_bitfields): Factor out of ...
(lto_materialize_tree): ... here.
Handle CALL_EXPR codes.
Remove call to lto_streamer_cache_append.
* tree-streamer-out.c (lto_output_tree_header): Handle
CALL_EXPR nodes.
* tree-streamer.h (tree_read_bitfields): Declare.
* Makefile.in (TREE_STREAMER_H): Add STREAMER_HOOKS_H.
(gimple-streamer-in.o): Add dependency on TREE_STREAMER_H.
* tree-streamer.h (stream_read_tree): New. Replace all calls
to lto_input_tree with it.
(stream_write_tree): New. Replace all calls to lto_output_tree,
lto_output_tree_ref and lto_output_tree_or_ref with it.
* lto-streamer-in.c (lto_read_tree): Inline code from
lto_streamer_read_tree.
(lto_input_tree): Move from tree-streamer-in.c.
* lto-streamer-out.c (lto_output_tree_ref): Make static.
Remove handling of NULL values for EXPR.
Do not handle EXPRs that are not indexable.
(lto_write_tree): Move from tree-streamer-out.c.
Inline lto_streamer_write_tree.
(lto_output_tree): Move from tree-streamer-out.c.
If REF_P is true and EXPR is indexable, call lto_output_tree_ref.
* lto-streamer.c (lto_record_common_node): Move to tree-streamer.c.
(lto_preload_common_nodes): Likewise.
Remove assertions and adjustments for nodes
main_identifier_node, ptrdiff_type_node and fileptr_type_node.
(lto_streamer_hooks_init): Set streamer_hooks.write_tree to
lto_output_tree and streamer_hooks.read_tree to
lto_input_tree.
* lto-streamer.h (lto_input_tree): Declare.
(lto_output_tree_ref): Remove.
* streamer-hooks.h (struct streamer_hooks): Remove fields
preload_common_nodes, indexable_with_decls_p,
pack_value_fields, unpack_value_fields, output_tree_header and
has_unique_integer_csts_p.
Update all users.
* tree-streamer-in.c (lto_materialize_tree): Make extern.
(lto_input_tree_pointers): Likewise.
(lto_read_tree): Move to lto-streamer-in.c.
(lto_input_integer_cst): Make extern.
(lto_get_pickled_tree): Likewise.
(lto_get_builtin_tree): Likewise.
(lto_input_tree): Move to lto-streamer-in.c.
* tree-streamer-out.c (pack_value_fields): Make extern.
(lto_output_tree_or_ref): Remove. Replace all callers with
calls to stream_write_tree.
(lto_output_builtin_tree): Make extern.
(lto_streamer_write_tree): Inline into lto_write_tree.
(lto_output_tree_pointers): Make extern.
(lto_output_tree_header): Likewise.
(lto_output_integer_cst): Likewise.
(lto_write_tree): Move to lto-streamer-out.c.
(lto_output_tree): Likewise.
* tree-streamer.c (lto_record_common_node): Move from
lto-streamer.c
(preload_common_nodes): Likewise.
(lto_streamer_cache_create): Call it.
* tree-streamer.h: Include streamer-hooks.h.
(stream_write_tree): New.
(stream_read_tree): New.
(lto_input_tree): Remove.
(lto_materialize_tree): Declare.
(lto_input_tree_pointers): Declare.
(lto_get_pickled_tree): Declare.
(lto_get_builtin_tree): Declare.
(lto_input_integer_cst): Declare.
(lto_output_tree_header): Declare.
(pack_value_fields): Declare.
(lto_output_tree_pointers): Declare.
(lto_output_integer_cst): Declare.
(lto_output_builtin_tree): Declare.
From-SVN: r177661
Sergey Grechanik [Thu, 11 Aug 2011 12:01:54 +0000 (08:01 -0400)]
sel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched-ir.c (get_seqno_of_a_pred): Rename to
get_seqno_for_a_jump. Update the caller.
(get_seqno_by_succs): New. Use it ...
(get_seqno_for_a_jump): ... here to find a seqno if looking at
predecessors was not sufficient.
(get_seqno_by_preds): Include head in iteration range, exclude insn.
From-SVN: r177660
Diego Novillo [Thu, 11 Aug 2011 12:01:15 +0000 (08:01 -0400)]
sel-sched-ir.c (invalidate_av_set): Remove the assert.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (invalidate_av_set): Remove the assert.
From-SVN: r177659
Sergey Grechanik [Thu, 11 Aug 2011 11:55:11 +0000 (11:55 +0000)]
sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if producer writes to the register given by regno.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge
only if producer writes to the register given by regno.
From-SVN: r177658
Sergey Grechanik [Thu, 11 Aug 2011 11:53:51 +0000 (11:53 +0000)]
sched-deps.c (sched_get_condition_with_rev): Rename to ...
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
Alexander Monakov <amonakov@ispras.ru>
* sched-deps.c (sched_get_condition_with_rev): Rename to ...
(sched_get_condition_with_rev_uncached): ... this. Factor out
condition caching logic into ...
(sched_get_condition_with_rev): ... this. Reimplement. Do not
attempt to use cache for instructions with zero luid.
(sched_analyze_insn): Use INSN_CACHED_COND instead of INSN_COND.
* sched-int.h (INSN_COND): Rename to INSN_CACHED_COND.
Co-Authored-By: Alexander Monakov <amonakov@ispras.ru>
From-SVN: r177657
Sergey Grechanik [Thu, 11 Aug 2011 11:50:27 +0000 (11:50 +0000)]
sel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched-ir.c (get_seqno_of_a_pred): Rename to
get_seqno_for_a_jump. Update the caller.
(get_seqno_by_succs): New. Use it ...
(get_seqno_for_a_jump): ... here to find a seqno if looking at
predecessors was not sufficient.
(get_seqno_by_preds): Include head in iteration range, exclude insn.
From-SVN: r177656
Dmitry Melnik [Thu, 11 Aug 2011 11:49:16 +0000 (11:49 +0000)]
sel-sched-ir.c (invalidate_av_set): Remove the assert.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (invalidate_av_set): Remove the assert.
From-SVN: r177655
Sergey Grechanik [Thu, 11 Aug 2011 11:48:07 +0000 (11:48 +0000)]
sel-sched-ir.h (register_unavailable_p): Declare.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched-ir.h (register_unavailable_p): Declare.
* sel-sched-ir.c (register_unavailable_p): New. Use it...
(set_unavailable_target_for_expr): ... here to properly test
availability of a register.
(speculate_expr): Ditto.
* sel-sched.c (substitute_reg_in_expr): Ditto.
(av_set_could_be_blocked_by_bookkeeping_p): Ditto.
From-SVN: r177654
Sergey Grechanik [Thu, 11 Aug 2011 11:42:43 +0000 (11:42 +0000)]
sel-sched.c (verify_target_availability): Fix usage of hard_regno_nregs.
2011-08-11 Sergey Grechanik <mouseentity@ispras.ru>
* sel-sched.c (verify_target_availability): Fix usage of
hard_regno_nregs.
From-SVN: r177653
Dmitry Melnik [Thu, 11 Aug 2011 11:41:27 +0000 (11:41 +0000)]
sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of recognized by cannot_copy_insn_p hook and volatile instructions.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of
recognized by cannot_copy_insn_p hook and volatile instructions.
From-SVN: r177652
Dmitry Melnik [Thu, 11 Aug 2011 11:40:07 +0000 (11:40 +0000)]
sel-sched-ir.c (merge_expr_data): Take maximum spec.
2011-08-11 Dmitry Melnik <dm@ispras.ru>
* sel-sched-ir.c (merge_expr_data): Take maximum spec.
From-SVN: r177651
Martin Jambor [Thu, 11 Aug 2011 10:09:43 +0000 (12:09 +0200)]
lto.c (uniquify_nodes): Use main variant's BINFO too.
2011-08-11 Martin Jambor <mjambor@suse.cz>
lto/
* lto.c (uniquify_nodes): Use main variant's BINFO too.
From-SVN: r177650
Richard Sandiford [Thu, 11 Aug 2011 08:25:41 +0000 (08:25 +0000)]
md.texi (define_bypass): Say that the instruction names can be filename-style globs.
gcc/
* doc/md.texi (define_bypass): Say that the instruction names can
be filename-style globs.
* Makefile.in (FNMATCH_H): Define.
(build/genattrtab.o, build/genautomata.o): Depend on $(FNMATCH_H).
* genattrtab.c: Include fnmatch.h.
(bypass_list): Change field name from "insn" to "pattern".
(gen_bypass_1): Update accordingly.
(process_bypasses): Use fnmatch to check for matches between
insn reservations and define_bypasses.
* genautomata.c: Include fnmatch.h.
(bypass_decl): Rename in_insn_name and out_insn_name to in_pattern
and out_pattern respectively.
(gen_bypass, insert_bypass): Update accordingly.
(for_each_matching_insn, process_bypass_2, process_bypass_1)
(process_bypass): New functions.
(process_decls): Use process_bypass. Update after field name changes.
From-SVN: r177649
Georg-Johann Lay [Thu, 11 Aug 2011 07:50:37 +0000 (07:50 +0000)]
re PR target/49687 ([avr] Missed optimization for widening MUL)
PR target/49687
* config/avr/avr.md (smulqi3_highpart): New insn.
(umulqi3_highpart): New insn.
(*subqi3.ashiftrt7): New insn.
(smulhi3_highpart): New expander.
(umulhi3_highpart): Nex expander.
(*smulhi3_highpart_call): New insn.
(*umulhi3_highpart_call): New insn.
(extend_u): New code attribute.
(extend_prefix): Rename code attribute to extend_su.
* config/avr/avr.c (avr_rtx_costs): Report costs of highpart of
widening QI/HI multiply.
From-SVN: r177648
Ira Rosen [Thu, 11 Aug 2011 05:43:14 +0000 (05:43 +0000)]
re PR tree-optimization/50039 (Segfault in vect_operation_fits_smaller_type())
PR tree-optimization/50039
* tree-vect-patterns.c (vect_operation_fits_smaller_type): Check
that DEF_STMT has a stmt_vec_info.
From-SVN: r177647
GCC Administrator [Thu, 11 Aug 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177642
H.J. Lu [Wed, 10 Aug 2011 15:38:18 +0000 (15:38 +0000)]
Initialize src3 with random value.
2011-08-10 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/sse4_1-blendps-2.c: Include <stdlib.h>.
(sse4_1_test): Initialize src3 with random value.
From-SVN: r177628
Richard Guenther [Wed, 10 Aug 2011 15:08:14 +0000 (15:08 +0000)]
tree.h (can_trust_pointer_alignment): Remove.
2011-08-10 Richard Guenther <rguenther@suse.de>
* tree.h (can_trust_pointer_alignment): Remove.
* builtins.c (can_trust_pointer_alignment): Remove.
cp/
* call.c (build_over_call): Call memcpy unconditionally.
From-SVN: r177625
Artjoms Sinkarovs [Wed, 10 Aug 2011 14:44:02 +0000 (14:44 +0000)]
c-typeck.c (scalar_to_vector): New function.
2011-08-10 Artjoms Sinkarovs <artyom.shinakroff@gmail.com>
* c-typeck.c (scalar_to_vector): New function. Try scalar to
vector conversion.
(stv_conv): New enum for scalar_to_vector return type.
(build_binary_op): Adjust.
* doc/extend.texi: Description of scalar to vector expansion.
c-family/
* c-common.c (unsafe_conversion_p): New function. Check if it is
unsafe to convert an expression to the type.
(conversion_warning): Adjust, use unsafe_conversion_p.
* c-common.h (unsafe_conversion_p): New function declaration.
testsuite/
* gcc.c-torture/execute/scal-to-vec1.c: New test.
* gcc.c-torture/execute/scal-to-vec2.c: New test.
* gcc.c-torture/execute/scal-to-vec3.c: New test.
* gcc.dg/scal-to-vec1.c: New test.
* gcc.dg/scal-to-vec2.c: New test.
From-SVN: r177622
Richard Guenther [Wed, 10 Aug 2011 12:24:23 +0000 (12:24 +0000)]
tree.h (get_pointer_alignment): Remove max-align argument.
2011-08-10 Richard Guenther <rguenther@suse.de>
* tree.h (get_pointer_alignment): Remove max-align argument.
(get_object_alignment): Likewise.
* builtins.c (get_object_alignment_1): Adjust.
(get_object_alignment): Remove max-align argument.
(get_pointer_alignment): Likewise.
(expand_builtin_strlen): Adjust.
(expand_builtin_memcpy): Likewise.
(expand_builtin_mempcpy_args): Likewise.
(expand_builtin_strncpy): Likewise.
(expand_builtin_memset_args): Likewise.
(expand_builtin_memcmp): Likewise.
(expand_builtin_strcmp): Likewise.
(expand_builtin_strncmp): Likewise.
(get_builtin_sync_mem): Likewise.
(fold_builtin_memset): Likewise.
(fold_builtin_memory_op): Likewise.
(expand_builtin_memory_chk): Likewise.
* emit-rtl.c (get_mem_align_offset): Likewise.
(set_mem_attributes_minus_bitpos): Likewise.
* expr.c (expand_assignment): Likewise.
(expand_expr_real_1): Likewise.
* tree-sra.c (tree_non_mode_aligned_mem_p): Likewise.
* tree-ssa-forwprop.c (simplify_builtin_call): Likewise.
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Likewise.
* value-prof.c (gimple_stringops_transform): Likewise.
From-SVN: r177620
Paulo J. Matos [Wed, 10 Aug 2011 09:38:52 +0000 (09:38 +0000)]
tm.texi.in (CLASS_MAX_NREGS): Fix typo.
gcc/
2011-08-10 Paulo J. Matos <paulo.matos@csr.com>
* doc/tm.texi.in (CLASS_MAX_NREGS): Fix typo.
* doc/tm.texi: Regenerate.
From-SVN: r177619
Georg-Johann Lay [Wed, 10 Aug 2011 08:58:03 +0000 (08:58 +0000)]
re PR target/29560 ([avr] Poor optimization for byte shifts)
PR target/29560
* config/avr/avr.md (*ashlhiqi3): New insn-and-split.
(*ashl<extend_prefix>qihiqi3): New insn-and-splits.
(*ashl<extend_prefix>qihiqi3.mem): New insn-and-splits.
Add peephole2 to map ashlhi3 to ashlqi3 if high part of
shift target is unused.
From-SVN: r177616
Richard Guenther [Wed, 10 Aug 2011 08:50:39 +0000 (08:50 +0000)]
re PR tree-optimization/49937 (g++.dg/tree-ssa/fwprop-align.C)
2011-08-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49937
* tree-ssa-ccp.c (get_value_from_alignment): Re-implement
using get_object_alignment_1.
From-SVN: r177615
Richard Guenther [Wed, 10 Aug 2011 08:48:37 +0000 (08:48 +0000)]
re PR bootstrap/49907 (lto-plugin -Wall in stage1)
2011-08-10 Richard Guenther <rguenther@suse.de>
PR bootstrap/49907
lto-plugin/
* configure.ac: Use ACX_PROG_CC_WARNING_OPTS to detect -Wall presence.
* Makefile.am (AM_CFLAGS): Adjust. Do not build with -Werror.
* configure: Regenerate.
* Makefile.in: Likewise.
* aclocal.m4: Likewise.
From-SVN: r177614
Rainer Orth [Wed, 10 Aug 2011 08:43:38 +0000 (08:43 +0000)]
re PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L)
2011-08-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Marc Glisse <marc.glisse@normalesup.org>
PR libstdc++-v3/1773
* inclhack.def (solaris_cxx_linkage, solaris_getc_strict_stdc)
(solaris_longjmp_noreturn, solaris_pow_int_overload)
(solaris_std___filbuf): New fixes.
* tests/base/iso/math_iso.h, tests/base/iso/setjmp_iso.h,
tests/base/iso/stdio_iso.h, tests/base/iso/stdlib_iso.h: New tests.
* tests/base/stdio.h [SOLARIS_STD___FILBUF_CHECK]: New test.
Co-Authored-By: Marc Glisse <marc.glisse@normalesup.org>
From-SVN: r177613
Rainer Orth [Wed, 10 Aug 2011 08:40:17 +0000 (08:40 +0000)]
jcf-dump.c (print_constant): Cast first frexp arg.
gcc/java:
* jcf-dump.c (print_constant): Cast first frexp arg.
libjava:
* exception.cc (std::abort): Remove static.
From-SVN: r177612
Uros Bizjak [Wed, 10 Aug 2011 07:22:52 +0000 (09:22 +0200)]
i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Do not force operands[0] into a register.
* config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Do not
force operands[0] into a register.
From-SVN: r177611
GCC Administrator [Wed, 10 Aug 2011 00:17:57 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r177610
Uros Bizjak [Tue, 9 Aug 2011 17:59:20 +0000 (19:59 +0200)]
i386.c (ix86_emit_i387_round): New function.
* config/i386/i386.c (ix86_emit_i387_round): New function.
* config/i386/i386-protos.h (ix86_emit_i387_round): Declare.
* config/i386/i386.md (round<mode>2): Use X87MODEF mode iterator.
Use ix86_emit_i387_round to expand round function for i387 math.
(lround<X87MODEF:mode><SWI248x:mode>2): Use X87MODEF mode iterator.
Use ix86_emit_i387_round to expand {l,ll}round function for i387 math.
From-SVN: r177605
Rainer Orth [Tue, 9 Aug 2011 15:40:30 +0000 (15:40 +0000)]
sync.c: Move to ../libgcc.
gcc:
* config/sync.c: Move to ../libgcc.
* Makefile.in (libgcc.mvars): Remove LIBGCC_SYNC,
LIBGCC_SYNC_CFLAGS.
* config/mips/t-libgcc-mips16 (LIBGCC_SYNC, LIBGCC_SYNC_CFLAGS):
Remove.
libgcc:
* sync.c: New file.
* config/mips/t-mips16: New file.
* config.host (mips64*-*-linux*): Add mips/t-mips16 to tmake_file.
(mips*-*-linux*): Likewise.
(mips*-sde-elf*): Likewise.
(mipsisa32-*-elf*): Join with mipsisa32r2-*-elf*,
mipsisa64-*-elf*, mipsisa64r2-*-elf*.
Add mips/t-mips16 to tmake_file.
(mipsisa64sb1-*-elf*): Add mips/t-mips16 to tmake_file.
(mips-*-elf*): Likewise.
(mips64-*-elf*): Likewise.
(mips64orion-*-elf*): Likewise.
(mips*-*-rtems*): Likewise.
(mipstx39-*-elf*): Likewise.
* Makefile.in: Use SYNC instead of LIBGCC_SYNC.
($(libgcc-sync-size-funcs-o)): Use SYNC_CFLAGS instead of
LIBGCC_SYNC_CFLAGS.
Use $(srcdir) to refer to sync.c.
Use $<.
($(libgcc-sync-funcs-o)): Likewise.
($(libgcc-sync-size-funcs-s-o)): Likewise.
($(libgcc-sync-funcs-s-o)): Likewise.
From-SVN: r177601
Anatoly Sokolov [Tue, 9 Aug 2011 15:09:41 +0000 (19:09 +0400)]
mmix.h (REGISTER_MOVE_COST): Remove macro.
* config/mmix/mmix.h (REGISTER_MOVE_COST): Remove macro.
* config/mmix/mmix-protos.h (mmix_register_move_cost): Remove.
* config/mmix/mmix.c (mmix_register_move_cost): Make static.
Change 'from' and 'to' arguments type to reg_class_t.
(TARGET_REGISTER_MOVE_COST): Define.
From-SVN: r177600
Vladimir Makarov [Tue, 9 Aug 2011 14:35:21 +0000 (14:35 +0000)]
re PR rtl-optimization/50026 (Revision 177575 caused many test failures)
2011-08-09 Vladimir Makarov <vmakarov@redhat.com>
PR target/50026
Revert:
PR rtl-optimization/49990
* ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
ignore classes which can not change mode.
(find_costs_and_classes): Ditto.
From-SVN: r177599
Andreas Schwab [Tue, 9 Aug 2011 14:26:41 +0000 (14:26 +0000)]
config.host (ia64*-*-linux*): Move ia64/t-glibc after t-libunwind.
* config.host (ia64*-*-linux*): Move ia64/t-glibc after
t-libunwind.
From-SVN: r177598
Richard Guenther [Tue, 9 Aug 2011 14:03:10 +0000 (14:03 +0000)]
tree-vrp.c (zero_nonzero_bits_from_vr): Also return precise information for ranges with only negative values.
2011-08-09 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (zero_nonzero_bits_from_vr): Also return precise
information for ranges with only negative values.
(extract_range_from_binary_expr_1): Adjust BIT_IOR_EXPR and
BIT_AND_EXPR handling to handle ranges with negative values.
* gcc.dg/tree-ssa/vrp57.c: Disable CCP.
* gcc.dg/tree-ssa/vrp60.c: New testcase.
* gcc.dg/tree-ssa/vrp61.c: Likewise.
* gcc.dg/tree-ssa/vrp62.c: Likewise.
From-SVN: r177597
Ulrich Weigand [Tue, 9 Aug 2011 13:45:25 +0000 (13:45 +0000)]
* gfortran.dg/scratch_1.f90: Skip on spu-*-*.
From-SVN: r177595
Ulrich Weigand [Tue, 9 Aug 2011 13:41:30 +0000 (13:41 +0000)]
* gcc.dg/pr49948.c: Require pthread effective target.
From-SVN: r177594
Ulrich Weigand [Tue, 9 Aug 2011 13:29:29 +0000 (13:29 +0000)]
* gcc.dg/lto/
20110201-1_0.c: Provide dummy sqrt.
From-SVN: r177593
Uros Bizjak [Tue, 9 Aug 2011 12:48:52 +0000 (14:48 +0200)]
* ChangeLog: Fix fma entry.
From-SVN: r177590
Kirill Yukhin [Tue, 9 Aug 2011 11:45:53 +0000 (11:45 +0000)]
i386.c: Remove traling spaces.
* config/i386/i386.c: Remove traling spaces.
* config/i386/sse.md: Likewise.
(*fma_fmadd_<mode>): Update.
(*fma_fmsub_<mode>): Likewise.
(*fma_fnmadd_<mode>): Likewise.
(*fma_fnmsub_<mode>): Likewise.
From-SVN: r177588
Nick Clifton [Tue, 9 Aug 2011 10:32:07 +0000 (10:32 +0000)]
* config/rx/rx.md: Disable extender peepholes at -O3.
From-SVN: r177585
Uros Bizjak [Tue, 9 Aug 2011 09:28:13 +0000 (11:28 +0200)]
sse-22a.c: New test.
* gcc.target/i386/sse-22a.c: New test.
From-SVN: r177584
Uros Bizjak [Tue, 9 Aug 2011 07:38:02 +0000 (09:38 +0200)]
re PR target/49781 ([x32] Unnecessary lea in x32 mode)
PR target/49781
* config/i386/i386.md (reload_noff_load): New.
(reload_noff_store): Ditto.
* config/i386/i386.c (ix86_secondary_reload): Use
CODE_FOR_reload_noff_load and CODE_FOR_reload_noff_store to handle
double-word moves from/to non-offsetable addresses instead of
generating XMM temporary.
From-SVN: r177583
Anatoly Sokolov [Tue, 9 Aug 2011 07:25:29 +0000 (11:25 +0400)]
mmix.h (REG_OK_FOR_BASE_P, [...]): Remove.
* config/mmix/mmix.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P): Remove.
From-SVN: r177582
Ira Rosen [Tue, 9 Aug 2011 06:02:00 +0000 (06:02 +0000)]
re PR tree-optimization/50014 (Assertion failed in vect_get_vec_def_for_stmt_copy)
PR tree-optimization/50014
* tree-vect-loop.c (vectorizable_reduction): Get def type before
calling vect_get_vec_def_for_stmt_copy ().
From-SVN: r177581
GCC Administrator [Tue, 9 Aug 2011 00:18:10 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r177579
Vladimir Makarov [Mon, 8 Aug 2011 23:18:23 +0000 (23:18 +0000)]
re PR middle-end/49990 (Regression: Bootstrap failure for x86_64-*-mingw32 in libfortran)
2011-08-08 Vladimir Makarov <vmakarov@redhat.com>
PR rtl-optimization/49990
* ira-costs.c (print_allocno_costs, print_pseudo_costs): Don't
ignore classes which can not change mode.
(find_costs_and_classes): Ditto.
From-SVN: r177575
Richard Henderson [Mon, 8 Aug 2011 18:19:17 +0000 (11:19 -0700)]
re PR middle-end/49990 (Regression: Bootstrap failure for x86_64-*-mingw32 in libfortran)
2011-08-08 Richard Henderson <rth@redhat.com>
PR middle-end/49990
* config/i386/i386.c (ix86_expand_prologue): Call
for SEH target gen_prologue_use instead of gen_blockage
at prologue's end.
From-SVN: r177573
Martin Jambor [Mon, 8 Aug 2011 17:53:55 +0000 (19:53 +0200)]
re PR middle-end/49923 (__attribute__((packed)) on ARM is sometimes dropped)
2011-08-08 Martin Jambor <mjambor@suse.cz>
PR middle-end/49923
* tree-sra.c (access_precludes_ipa_sra_p): Also check access
memory alignment.
* testsuite/gcc.dg/tree-ssa/pr49923.c: New test.
From-SVN: r177572