platform/upstream/gcc.git
13 years agoDaily bump.
GCC Administrator [Sun, 14 Aug 2011 00:18:35 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r177741

13 years agore PR c++/50059 ([C++0x] Broken error message with __builtin_remquo & constexpr)
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

13 years agodecl.c (grok_reference_init): Handle constexpr here.
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

13 years agoFix bug in vtable initialization
David Li [Sat, 13 Aug 2011 05:13:57 +0000 (05:13 +0000)]
Fix bug in vtable initialization

From-SVN: r177731

13 years agoDaily bump.
GCC Administrator [Sat, 13 Aug 2011 00:19:09 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r177728

13 years agore PR c++/50034 (Overload selection failure within class template)
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

13 years agore PR rtl-optimization/49994 (ICE: in maybe_record_trace_start, at dwarf2cfi.c:2234...
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

13 years agoFix changelog
Richard Sandiford [Fri, 12 Aug 2011 20:28:18 +0000 (20:28 +0000)]
Fix changelog

From-SVN: r177720

13 years agore PR bootstrap/50047 (Revision 177670 failed to bootstrap)
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

13 years agoFix PR target/48328 part 1
Ramana Radhakrishnan [Fri, 12 Aug 2011 16:58:09 +0000 (16:58 +0000)]
Fix PR target/48328 part 1

From-SVN: r177705

13 years agodata-streamer.h (streamer_write_zero): Rename from output_zero.
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

13 years agobuiltins.c (expand_builtin_memcmp): Do not use cmpstrnsi pattern.
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

13 years agomd5.c (md5_read_ctx): Handle mis-aligned resbuf pointer.
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

13 years agocmath (fmod(_Tp, _Up)): Add.
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

13 years agobuiltins.def (BUILT_IN_ICEIL{,F,L}, [...]): New builtin definitions.
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

13 years agotree-vrp.c (extract_range_from_unary_expr_1): Implement -X as 0 - X.
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

13 years agocall.c (build_over_call): Instead of memcpy use an assignment of two MEM_REFs.
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

13 years agoinstall c-tree.h as a plugin header
Romain Geissler [Fri, 12 Aug 2011 08:19:27 +0000 (08:19 +0000)]
install c-tree.h as a plugin header

From-SVN: r177690

13 years agoarm.c (get_label_padding): New function.
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

13 years agoDaily bump.
GCC Administrator [Fri, 12 Aug 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r177688

13 years agore PR target/49781 ([x32] Unnecessary lea in x32 mode)
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

13 years agofuture: constexpr functions are implicitly inline.
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

13 years agoplugin.def: Add event for finish_decl.
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

13 years agotree-ssa-sccvn.c (vn_reference_lookup_3): Avoid redundant lookups, make looking throu...
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

13 years ago* Makefile.in (install-unwind_h): Remove destination file first.
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

13 years agore PR bootstrap/50018 (fixup_args_size_notes ICE breaks m68k-linux bootstrap)
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

13 years agolto-cgraph.c (input_node): Use DECL_BUILT_IN.
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

13 years agore PR middle-end/50040 (missed warning: ‘x.y’ is used uninitialized in this function)
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

13 years ago* gcc.dg/graphite/run-id-pr47593.c: Remove -m32.
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

13 years agorx.md (movsicc): Allow register to register transfers.
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

13 years agoRemove bogus ChangeLog edits.
Diego Novillo [Thu, 11 Aug 2011 12:06:17 +0000 (08:06 -0400)]
Remove bogus ChangeLog edits.

From-SVN: r177662

13 years agotree-streamer-out.c (lto_output_ts_decl_with_vis_tree_pointers): Call stream_write_tr...
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

13 years agosel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump.
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

13 years agosel-sched-ir.c (invalidate_av_set): Remove the assert.
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

13 years agosel-sched-ir.c (has_dependence_note_reg_use): Call ds_full_merge only if producer...
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

13 years agosched-deps.c (sched_get_condition_with_rev): Rename to ...
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

13 years agosel-sched-ir.c (get_seqno_of_a_pred): Rename to get_seqno_for_a_jump.
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

13 years agosel-sched-ir.c (invalidate_av_set): Remove the assert.
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

13 years agosel-sched-ir.h (register_unavailable_p): Declare.
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

13 years agosel-sched.c (verify_target_availability): Fix usage of hard_regno_nregs.
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

13 years agosel-sched-ir.c (init_global_and_expr_for_insn): Forbid copying of recognized by canno...
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

13 years agosel-sched-ir.c (merge_expr_data): Take maximum spec.
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

13 years agolto.c (uniquify_nodes): Use main variant's BINFO too.
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

13 years agomd.texi (define_bypass): Say that the instruction names can be filename-style globs.
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

13 years agore PR target/49687 ([avr] Missed optimization for widening MUL)
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

13 years agore PR tree-optimization/50039 (Segfault in vect_operation_fits_smaller_type())
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

13 years agoDaily bump.
GCC Administrator [Thu, 11 Aug 2011 00:18:36 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r177642

13 years agoInitialize src3 with random value.
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

13 years agotree.h (can_trust_pointer_alignment): Remove.
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

13 years agoc-typeck.c (scalar_to_vector): New function.
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

13 years agotree.h (get_pointer_alignment): Remove max-align argument.
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

13 years agotm.texi.in (CLASS_MAX_NREGS): Fix typo.
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

13 years agore PR target/29560 ([avr] Poor optimization for byte shifts)
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

13 years agore PR tree-optimization/49937 (g++.dg/tree-ssa/fwprop-align.C)
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

13 years agore PR bootstrap/49907 (lto-plugin -Wall in stage1)
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

13 years agore PR libstdc++/1773 (__cplusplus defined to 1, should be 199711L)
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

13 years agojcf-dump.c (print_constant): Cast first frexp arg.
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

13 years agoi386.md (lround<X87MODEF:mode><SWI248x:mode>2): Do not force operands[0] into a register.
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

13 years agoDaily bump.
GCC Administrator [Wed, 10 Aug 2011 00:17:57 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r177610

13 years agoi386.c (ix86_emit_i387_round): New function.
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

13 years agosync.c: Move to ../libgcc.
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

13 years agommix.h (REGISTER_MOVE_COST): Remove macro.
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

13 years agore PR rtl-optimization/50026 (Revision 177575 caused many test failures)
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

13 years agoconfig.host (ia64*-*-linux*): Move ia64/t-glibc after t-libunwind.
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

13 years agotree-vrp.c (zero_nonzero_bits_from_vr): Also return precise information for ranges...
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

13 years ago* gfortran.dg/scratch_1.f90: Skip on spu-*-*.
Ulrich Weigand [Tue, 9 Aug 2011 13:45:25 +0000 (13:45 +0000)]
* gfortran.dg/scratch_1.f90: Skip on spu-*-*.

From-SVN: r177595

13 years ago* gcc.dg/pr49948.c: Require pthread effective target.
Ulrich Weigand [Tue, 9 Aug 2011 13:41:30 +0000 (13:41 +0000)]
* gcc.dg/pr49948.c: Require pthread effective target.

From-SVN: r177594

13 years ago* gcc.dg/lto/20110201-1_0.c: Provide dummy sqrt.
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

13 years ago* ChangeLog: Fix fma entry.
Uros Bizjak [Tue, 9 Aug 2011 12:48:52 +0000 (14:48 +0200)]
* ChangeLog: Fix fma entry.

From-SVN: r177590

13 years agoi386.c: Remove traling spaces.
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

13 years ago* config/rx/rx.md: Disable extender peepholes at -O3.
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

13 years agosse-22a.c: New test.
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

13 years agore PR target/49781 ([x32] Unnecessary lea in x32 mode)
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

13 years agommix.h (REG_OK_FOR_BASE_P, [...]): Remove.
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

13 years agore PR tree-optimization/50014 (Assertion failed in vect_get_vec_def_for_stmt_copy)
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

13 years agoDaily bump.
GCC Administrator [Tue, 9 Aug 2011 00:18:10 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r177579

13 years agore PR middle-end/49990 (Regression: Bootstrap failure for x86_64-*-mingw32 in libfortran)
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

13 years agore PR middle-end/49990 (Regression: Bootstrap failure for x86_64-*-mingw32 in libfortran)
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

13 years agore PR middle-end/49923 (__attribute__((packed)) on ARM is sometimes dropped)
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

13 years agorebase
Diego Novillo [Mon, 8 Aug 2011 16:49:34 +0000 (12:49 -0400)]
rebase

From-SVN: r177571

13 years agoAdd a testcase for PR target/49781.
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

13 years agoconfigure.ac (THREADS): Remove posix95.
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

13 years agore PR c++/50020 ([C++0x] internal compiler error range for in templated class)
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

13 years agore PR target/49781 ([x32] Unnecessary lea in x32 mode)
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

13 years agore PR c++/50011 ([C++0x] warning: narrowing conversion of 'i' from 'short unsigned...
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

13 years agoFix Dwarf unwind library for UNITS_PER_WORD > sizeof (void *)
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

13 years ago* Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).
Rainer Orth [Mon, 8 Aug 2011 12:36:51 +0000 (12:36 +0000)]
* Makefile.in (gengtype$(exeext)): Add $(LDFLAGS).

From-SVN: r177562

13 years agoNew files from last commit.
Rainer Orth [Mon, 8 Aug 2011 12:15:42 +0000 (12:15 +0000)]
New files from last commit.

From-SVN: r177561

13 years agoinvoke.texi (DEC Alpha Options, -mcpu): native support isn't Linux/GNU-specific.
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

13 years agodriver-sparc.c: New file.
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

13 years agotree-vrp.c (extract_range_from_unary_expr_1): New function, split out from ...
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

13 years agore PR tree-optimization/50005 (ipa-inline-analysis.c:1876:41: error: comparison betwe...
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

13 years agomodulo-sched.c (get_sched_window): Use a table for the debug output.
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

13 years agomodulo-sched.c (get_sched_window): Use just one loop for predecessors and one loop...
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

13 years agoDaily bump.
GCC Administrator [Mon, 8 Aug 2011 00:19:29 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r177554

13 years agore PR fortran/49638 ([OOP] length parameter is ignored when overriding type bound...
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

13 years agogigi.h (enumerate_modes): Fix formatting.
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

13 years agoalloc_traits.h: Fix doxygen @headername.
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

13 years agore PR fortran/49638 ([OOP] length parameter is ignored when overriding type bound...
Janus Weil [Sun, 7 Aug 2011 10:12:09 +0000 (12:12 +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>

PR fortran/49638
* dependency.h (gfc_is_same_range,gfc_are_identical_variables): Remove
two prototypes.
* dependency.c (gfc_are_identical_variables,are_identical_variables):
Renamed the former to the latter and made static.
(gfc_dep_compare_expr): Renamed 'gfc_are_identical_variables', handle
commutativity of multiplication.
(gfc_is_same_range,is_same_range): Renamed the former to the latter,
made static and removed argument 'def'.
(check_section_vs_section): Renamed 'gfc_is_same_range'.
* gfortran.h (gfc_check_typebound_override): New prototype.
* interface.c (gfc_check_typebound_override): Moved here from ...
* resolve.c (check_typebound_override): ... here (and renamed).
(resolve_typebound_procedure): Renamed 'check_typebound_override'.

From-SVN: r177545

13 years ago* gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.
Eric Botcazou [Sun, 7 Aug 2011 08:44:06 +0000 (08:44 +0000)]
* gcc-interface/Makefile.in (raise-gcc.o): Fix previous change.

From-SVN: r177544