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
Diego Novillo [Mon, 8 Aug 2011 16:49:34 +0000 (12:49 -0400)]
rebase
From-SVN: r177571
H.J. Lu [Mon, 8 Aug 2011 16:33:06 +0000 (16:33 +0000)]
Add a testcase for PR target/49781.
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR target/49781
* gcc.target/i386/pr49781-1.c: New.
From-SVN: r177569
Rainer Orth [Mon, 8 Aug 2011 15:39:35 +0000 (15:39 +0000)]
configure.ac (THREADS): Remove posix95.
boehm-gc:
* configure.ac (THREADS): Remove posix95.
* configure: Regenerate.
gcc:
* gthr-posix95.h: Remove.
* gthr.h [_PTHREADS95]: Remove.
* configure.ac (enable_threads): Remove posix95.
* configure: Regenerate.
* doc/install.texi (Configuration, --enable-threads): Remove
posix95.
libgomp:
* config/posix95/lock.c, posix95/omp-lock.h: Remove.
libjava:
* configure.ac (THREADS): Remove posix95.
* configure: Regenerate.
From-SVN: r177568
Jason Merrill [Mon, 8 Aug 2011 15:32:21 +0000 (11:32 -0400)]
re PR c++/50020 ([C++0x] internal compiler error range for in templated class)
PR c++/50020
* semantics.c (finish_call_expr): Don't look at 'this' if we
had an explicit object argument.
From-SVN: r177567
Uros Bizjak [Mon, 8 Aug 2011 14:59:19 +0000 (16:59 +0200)]
re PR target/49781 ([x32] Unnecessary lea in x32 mode)
PR target/49781
* config/i386/i386.c (ix86_decompose_address): Allow zero-extended
SImode addresses.
(ix86_print_operand_address): Handle zero-extended addresses.
(memory_address_length): Add length of addr32 prefix for
zero-extended addresses.
(ix86_secondary_reload): Handle moves to/from double-word general
registers from/to zero-extended addresses.
* config/i386/predicates.md (lea_address_operand): Reject
zero-extended operands.
From-SVN: r177566
Jason Merrill [Mon, 8 Aug 2011 14:36:22 +0000 (10:36 -0400)]
re PR c++/50011 ([C++0x] warning: narrowing conversion of 'i' from 'short unsigned int' to 'int' inside { } [-Wnarrowing])
PR c++/50011
* typeck2.c (check_narrowing): Fix integer logic.
From-SVN: r177565
H.J. Lu [Mon, 8 Aug 2011 13:26:06 +0000 (13:26 +0000)]
Fix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *)
gcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config.gcc (libgcc_tm_file): Add i386/value-unwind.h for
Linux/x86.
* system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
(ASSUME_EXTENDED_UNWIND_CONTEXT): Likewise.
* unwind-dw2.c (ASSUME_EXTENDED_UNWIND_CONTEXT): New.
(_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Get_Unwind_Word): Likewise.
(_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
(_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
(_Unwind_IsExtendedContext): Check ASSUME_EXTENDED_UNWIND_CONTEXT
for EXTENDED_CONTEXT_BIT.
(__frame_state_for): Likewise.
(uw_init_context_1): Likewise.
(_Unwind_GetGR): Updated.
(_Unwind_SetGR): Likewise.
(_Unwind_GetGRPtr): Likewise.
(_Unwind_SetGRPtr): Likewise.
(_Unwind_SetGRValue): Likewise.
(_Unwind_GRByValue): Likewise.
(uw_install_context_1): Likewise.
* doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT and
ASSUME_EXTENDED_UNWIND_CONTEXT.
* doc/tm.texi: Regenerated.
libgcc/
2011-08-08 H.J. Lu <hongjiu.lu@intel.com>
PR other/48007
* config/i386/value-unwind.h: New.
From-SVN: r177563
Rainer Orth [Mon, 8 Aug 2011 12:36:51 +0000 (12:36 +0000)]
* Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).
From-SVN: r177562
Rainer Orth [Mon, 8 Aug 2011 12:15:42 +0000 (12:15 +0000)]
New files from last commit.
From-SVN: r177561
Rainer Orth [Mon, 8 Aug 2011 12:14:54 +0000 (12:14 +0000)]
invoke.texi (DEC Alpha Options, -mcpu): native support isn't Linux/GNU-specific.
* doc/invoke.texi (DEC Alpha Options, -mcpu): native support isn't
Linux/GNU-specific.
(DEC Alpha Options, -mtune): Likewise.
(MIPS Options, -march): native is supported on IRIX.
From-SVN: r177560
Rainer Orth [Mon, 8 Aug 2011 12:08:31 +0000 (12:08 +0000)]
driver-sparc.c: New file.
gcc:
* config/sparc/driver-sparc.c: New file.
* config/sparc/x-sparc: New file.
* config.host: Use driver-sparc.o, sparc/x-sparc on
sparc*-*-solaris2*.
* config/sparc/sparc.opt (native): New value for enum
processor_type.
* config/sparc/sparc-opts.h (PROCESSOR_NATIVE): Declare.
* config/sparc/sparc.c (sparc_option_override): Abort if
PROCESSOR_NATIVE gets here.
* config/sparc/sol2.h [__sparc__] (host_detect_local_cpu): Declare.
(EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS,
DRIVER_SELF_SPECS): Define.
* doc/invoke.texi (SPARC Options, -mcpu): Document native.
(SPARC Options, -mtune): Likewise.
* configure.ac (EXTRA_GCC_LIBS): Check for libkstat.
Substitute result.
* configure: Regenerate.
* Makefile.in (EXTRA_GCC_LIBS): Set.
(xgcc$(exeext)): Add $(EXTRA_GCC_LIBS).
(cpp$(exeext)): Likewise.
gcc/cp:
* Make-lang.in (g++$(exeext)): Add $(EXTRA_GCC_LIBS).
gcc/fortran:
* Make-lang.in (gfortran$(exeext)): Add $(EXTRA_GCC_LIBS).
gcc/go:
* Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
gcc/java:
* Make-lang.in ($(XGCJ)$(exeext)): Add $(EXTRA_GCC_LIBS).
From-SVN: r177559
Richard Guenther [Mon, 8 Aug 2011 11:40:08 +0000 (11:40 +0000)]
tree-vrp.c (extract_range_from_unary_expr_1): New function, split out from ...
2011-08-08 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_unary_expr_1): New function,
split out from ...
(extract_range_from_unary_expr): ... here. Handle BIT_NOT_EXPR
by composition.
From-SVN: r177558
Mikael Pettersson [Mon, 8 Aug 2011 09:59:02 +0000 (11:59 +0200)]
re PR tree-optimization/50005 (ipa-inline-analysis.c:1876:41: error: comparison between signed an d unsigned integer expressions)
2011-08-08 Mikael Pettersson <mikpe@it.uu.se>
PR tree-optimization/50005
* ipa-inline-analysis (remap_predicate): Add cast to
silence signed/unsigned comparison warning.
From-SVN: r177557
Richard Sandiford [Mon, 8 Aug 2011 09:27:40 +0000 (09:27 +0000)]
modulo-sched.c (get_sched_window): Use a table for the debug output.
gcc/
* modulo-sched.c (get_sched_window): Use a table for the debug output.
Print the current ii.
(sms_schedule_by_order): Reduce whitespace in dump line.
From-SVN: r177556
Richard Sandiford [Mon, 8 Aug 2011 09:26:54 +0000 (09:26 +0000)]
modulo-sched.c (get_sched_window): Use just one loop for predecessors and one loop for successors.
gcc/
* modulo-sched.c (get_sched_window): Use just one loop for predecessors
and one loop for successors. Fix upper bound of memory range.
From-SVN: r177555
GCC Administrator [Mon, 8 Aug 2011 00:19:29 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r177554
Janus Weil [Sun, 7 Aug 2011 20:59:16 +0000 (22:59 +0200)]
re PR fortran/49638 ([OOP] length parameter is ignored when overriding type bound character functions with constant length.)
2011-08-07 Janus Weil <janus@gcc.gnu.org>
Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/49638
* dependency.c (are_identical_variables): For dummy arguments only
check for equal names, not equal symbols.
* interface.c (gfc_check_typebound_override): Add checking for rank
and character length.
2011-08-07 Janus Weil <janus@gcc.gnu.org>
PR fortran/49638
* gfortran.dg/typebound_override_1.f90: New.
Co-Authored-By: Thomas Koenig <tkoenig@gcc.gnu.org>
From-SVN: r177550
Eric Botcazou [Sun, 7 Aug 2011 16:47:14 +0000 (16:47 +0000)]
gigi.h (enumerate_modes): Fix formatting.
* gcc-interface/gigi.h (enumerate_modes): Fix formatting.
* gcc-interface/trans.c (Subprogram_Body_to_gnu): Revert latest change.
From-SVN: r177548
Jonathan Wakely [Sun, 7 Aug 2011 12:25:48 +0000 (12:25 +0000)]
alloc_traits.h: Fix doxygen @headername.
2011-08-07 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/alloc_traits.h: Fix doxygen @headername.
From-SVN: r177546