gcc.git
13 years agore PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)
Kaz Kojima [Sun, 31 Jul 2011 23:01:14 +0000 (23:01 +0000)]
re PR target/49880 (SuperH: ICE when -m4 is used with -mdiv=call-div1)

PR target/49880
* config/sh/sh.md (udivsi3_i1): Enable for TARGET_DIVIDE_CALL_DIV1.
(divsi3_i1): Likewise.

From-SVN: r176990

13 years ago* de.po: Update.
Joseph Myers [Sun, 31 Jul 2011 21:46:20 +0000 (22:46 +0100)]
* de.po: Update.

From-SVN: r176988

13 years agore PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>)
Paolo Carlini [Sun, 31 Jul 2011 20:28:45 +0000 (20:28 +0000)]
re PR libstdc++/49925 ([C++0x] ADL bug mixing boost::shared_ptr and std::make_shared<>)

2011-07-31  Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/49925
* include/bits/shared_ptr.h (make_shared): Qualify allocate_shared
with std::.
* include/bits/shared_ptr_base.h (__make_shared): Likewise.

From-SVN: r176985

13 years agore PR tree-optimization/49749 (Reassociation rank algorithm does not include all...
Bill Schmidt [Sun, 31 Jul 2011 18:58:06 +0000 (18:58 +0000)]
re PR tree-optimization/49749 (Reassociation rank algorithm does not include all non-NULL operands)

2011-07-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR tree-optimization/49749
* tree-ssa-reassoc.c (get_rank): New forward declaration.
(PHI_LOOP_BIAS): New macro.
(phi_rank): New function.
(loop_carried_phi): Likewise.
(propagate_rank): Likewise.
(get_rank): Add calls to phi_rank and propagate_rank.

From-SVN: r176984

13 years agoCheck TARGET_LP64 for SIZE_TYPE/PTRDIFF_TYPE.
H.J. Lu [Sun, 31 Jul 2011 18:10:41 +0000 (18:10 +0000)]
Check TARGET_LP64 for SIZE_TYPE/PTRDIFF_TYPE.

2011-07-31  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/x86-64.h (SIZE_TYPE): Check TARGET_LP64 instead
of TARGET_64BIT.
(PTRDIFF_TYPE): Likewise.

From-SVN: r176981

13 years agore PR target/49920 (unable to find a register to spill in class ‘DIREG’)
Uros Bizjak [Sun, 31 Jul 2011 17:50:08 +0000 (19:50 +0200)]
re PR target/49920 (unable to find a register to spill in class ‘DIREG’)

PR target/49920
* config/i386/i386.md (strset): Do not expand strset_singleop
when %eax or $edi are fixed.
(*strsetdi_rex_1): Disable when %eax or %edi are fixed.
(*strsetsi_1): Ditto.
(*strsethi_1): Ditto.
(*strsetqi_1): Ditto.
(*rep_stosdi_rex64): Disable when %eax, %ecx or %edi are fixed.
(*rep_stossi): Ditto.
(*rep_stosqi): Ditto.
(cmpstrnsi): Also fail when %ecx is fixed.
(*cmpstrnqi_nz_1): Disable when %ecx, %esi or %edi are fixed.
(*cmpstrnqi_1): Ditto.
(*strlenqi_1): Ditto.
(*strmovdi_rex_1): Disable when %esi or %edi are fixed.
(*strmovsi_1): Ditto.
(*strmovhi_1): Ditto.
(*strmovqi_1): Ditto.
(*rep_movdi_rex64): Disable when %ecx, %esi or %edi are fixed.
(*rep_movsi): Ditto.
(*rep_movqi): Ditto.

testsuite/ChangeLog:

PR target/49920
* gcc.target/i386/pr49920.c: New test.

From-SVN: r176979

13 years ago20050314-1.c: Dump and cleanup lim1 pass only.
Uros Bizjak [Sun, 31 Jul 2011 17:33:29 +0000 (19:33 +0200)]
20050314-1.c: Dump and cleanup lim1 pass only.

* gcc.dg/tree-ssa/20050314-1.c: Dump and cleanup lim1 pass only.
* gcc.dg/tree-ssa/pr23109.c: Ditto.
* gcc.dg/tree-ssa/loop-7.c: Ditto.
* gcc.dg/tree-ssa/loop-32.c: Ditto.
* gcc.dg/tree-ssa/loop-33.c: Ditto.
* gcc.dg/tree-ssa/loop-34.c: Ditto.
* gcc.dg/tree-ssa/loop-35.c: Ditto.
* gcc.dg/tree-ssa/restrict-3.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-2.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-1.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-3.c: Ditto.
* gcc.dg/tree-ssa/ssa-lim-6.c: Ditto.
* gcc.dg/tree-ssa/structopt-1.c: Ditto.
* g++.dg/tree-ssa/pr33615.C: Ditto.
* g++.dg/tree-ssa/restrict1.C: Ditto.
* c-c++-common/restrict-2.c: Ditto.
* gfortran.dg/pr32921.f: Ditto.
* gcc.dg/tree-ssa/ssa-dse-10.c: Dump and cleanup dse1 pass only.
* gcc.dg/fold-compare-2.c: Dump and cleanup vrp1 pass only.
* gcc.dg/tree-ssa/vrp47.c: Ditto.
* gcc.dg/tree-ssa/pr25501.c: Dump and cleanup mergephi1 pass only.
* gcc.dg/tree-ssa/pr15349.c: Dump and cleanup mergephi2 pass only.
* gcc.dg/tree-ssa/tailrecursion-1.c: Dump and cleanup tailr1 pass only.
* gcc.dg/tree-ssa/tailrecursion-2.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-3.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-4.c: Ditto.
* gcc.dg/tree-ssa/tailrecursion-6.c: Ditto.

From-SVN: r176978

13 years agogcc-dg.exp (cleanup-dump): Also remove .exe.
Uros Bizjak [Sun, 31 Jul 2011 17:28:13 +0000 (19:28 +0200)]
gcc-dg.exp (cleanup-dump): Also remove .exe.

* lib/gcc-dg.exp (cleanup-dump): Also remove .exe. and
.exe.ltrans[0-9]*. dump files.

From-SVN: r176977

13 years agoAuthor: Mikael Pettersson <mikpe@it.uu.se>
Mikael Pettersson [Sun, 31 Jul 2011 15:00:58 +0000 (17:00 +0200)]
Author: Mikael Pettersson <mikpe@it.uu.se>

PR target/47908
* gcc/config/m68k/m68k.c (m68k_override_options_after_change): New function.
Disable instruction scheduling for non-ColdFire targets.
(TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.

From-SVN: r176975

13 years agoMove the creation of anti-dep edge
Revital Eres [Sun, 31 Jul 2011 10:37:35 +0000 (10:37 +0000)]
Move the creation of anti-dep edge

From-SVN: r176972

13 years agore PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings...
Janus Weil [Sun, 31 Jul 2011 10:25:07 +0000 (12:25 +0200)]
re PR fortran/49112 ([OOP] Missing type-bound procedure, "duplicate save" warnings and internal compiler error)

2011-07-31  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49112
* resolve.c (resolve_structure_cons): Don't do the full dt resolution,
only call 'resolve_fl_derived0'.
(resolve_typebound_procedures): Resolve typebound procedures of
parent type.
(resolve_fl_derived0): New function, which does a part of the work
for 'resolve_fl_derived'.
(resolve_fl_derived): Call 'resolve_fl_derived0' and do some additional
things.

2011-07-31  Janus Weil  <janus@gcc.gnu.org>

PR fortran/49112
* gfortran.dg/abstract_type_6.f03: Modified.
* gfortran.dg/typebound_proc_24.f03: New.

From-SVN: r176971

13 years agoSMS: Misc. fixes
Revital Eres [Sun, 31 Jul 2011 10:21:01 +0000 (10:21 +0000)]
SMS: Misc. fixes

From-SVN: r176970

13 years agore PR middle-end/43513 (The stack pointer is adjusted twice)
Tom de Vries [Sun, 31 Jul 2011 10:05:07 +0000 (10:05 +0000)]
re PR middle-end/43513 (The stack pointer is adjusted twice)

2011-07-31  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43513
* tree-ssa-loop-ivopts.c (may_be_unaligned_p): Use max of
get_object_alignment and TYPE_ALIGN.

From-SVN: r176969

13 years agore PR middle-end/43513 (The stack pointer is adjusted twice)
Tom de Vries [Sun, 31 Jul 2011 10:02:12 +0000 (10:02 +0000)]
re PR middle-end/43513 (The stack pointer is adjusted twice)

2011-07-31  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43513
* testsuite/libmudflap.c/fail31-frag.c: Adapt testcase to prevent
folding of alloca.

From-SVN: r176968

13 years agoDaily bump.
GCC Administrator [Sun, 31 Jul 2011 00:17:46 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r176967

13 years agore PR testsuite/49917 (g++.dg/init/for1.C wrong?)
Paolo Carlini [Sat, 30 Jul 2011 20:29:29 +0000 (20:29 +0000)]
re PR testsuite/49917 (g++.dg/init/for1.C wrong?)

2011-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

PR testsuite/49917
* g++.dg/init/for1.C: Fix.

From-SVN: r176962

13 years agore PR fortran/48876 (ICE when initializing character variable with zero-length string)
Thomas Koenig [Sat, 30 Jul 2011 18:17:55 +0000 (18:17 +0000)]
re PR fortran/48876 (ICE when initializing character variable with zero-length string)

2011-07-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48876
* expr.c (gfc_simplify_expr):  If end of a string is less
than zero, set it to zero.

2011-07-30  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/48876
* gfortran.dg/string_5.f90:  New test.

From-SVN: r176961

13 years agore PR middle-end/43513 (The stack pointer is adjusted twice)
Tom de Vries [Sat, 30 Jul 2011 12:37:47 +0000 (12:37 +0000)]
re PR middle-end/43513 (The stack pointer is adjusted twice)

2011-07-30  Tom de Vries  <tom@codesourcery.com>

PR middle-end/43513
* tree-ssa-dce.c (ref_may_be_aliased): Add assert.
(propagate_necessity): Handle WITH_SIZE_EXPR call arg.

From-SVN: r176959

13 years agore PR c++/49867 ([C++0x] ICE on lambda inside switch with case labels in the lambda)
Jason Merrill [Sat, 30 Jul 2011 06:22:06 +0000 (02:22 -0400)]
re PR c++/49867 ([C++0x] ICE on lambda inside switch with case labels in the lambda)

PR c++/49867
* parser.c (cp_parser_lambda_expression): Also clear in_statement
and in_switch_statement_p.
(cp_parser_class_specifier): Likewise.

From-SVN: r176958

13 years agobuild_hacking.xml: Markup imagedata changes.
Benjamin Kosnik [Sat, 30 Jul 2011 02:13:34 +0000 (02:13 +0000)]
build_hacking.xml: Markup imagedata changes.

2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>

* doc/xml/manual/build_hacking.xml: Markup imagedata changes.
* doc/xml/manual/policy_data_structures.xml: Same.

* doc/xml/class.txml: Remove biblioid.
* doc/xml/manual/allocator.xml: Same.
* doc/xml/manual/ctype.xml: Same.
* doc/xml/manual/codecvt.xml: Same.
* doc/xml/manual/backwards_compatibility.xml: Same.
* doc/xml/manual/abi.xml: Same.
* doc/xml/manual/shared_ptr.xml: Same.
* doc/xml/manual/using_exceptions.xml: Same.
* doc/xml/manual/messages.xml: Same.

From-SVN: r176957

13 years agoDaily bump.
GCC Administrator [Sat, 30 Jul 2011 00:18:28 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176956

13 years agoDocbook conversion of existing ext/pb_ds documentation.
Benjamin Kosnik [Fri, 29 Jul 2011 22:31:30 +0000 (22:31 +0000)]
Docbook conversion of existing ext/pb_ds documentation.

2011-07-29  Benjamin Kosnik  <bkoz@redhat.com>

Docbook conversion of existing ext/pb_ds documentation.
* doc/Makefile.am (xml_sources_manual): Add
policy_data_structures.xml and
test_policy_data_structures.xml.
(stamp-html-copy): Remove special-case for ext/pb_ds directory.
(XSLTPROC_FLAGS): Split into XSLT_FLAGS and XSLT_PARAM, use.
* doc/Makefile.in: Regenerate.
* doc/xml/manual/policy_data_structures.xml: New, adapted from
  previous html-only instance in doc/html/ext/pb_ds.
* doc/xml/manual/test_policy_data_structures.xml: New, same as above.

* doc/xml/spine.xml: Update copyright.
* doc/xml/manual/spine.xml: Same.
* doc/xml/manual/extensions.xml: Adjust set, chapter, sections.
* doc/xml/manual/bitmap_allocator.xml: Same.
* doc/xml/manual/mt_allocator.xml: Same.

Populate image directory.
* doc/xml/images/(pbds_balls_and_bins.png,
pbds_binary_priority_queue_random_int_push_timing_test_local.pdf,
pbds_binary_priority_queue_random_int_push_timing_test_local.png,
pbds_binary_priority_queue_random_int_push_timing_test_local.svg,
pbds_cc_hash_random_int_find_timing_test_local.pdf,
pbds_cc_hash_random_int_find_timing_test_local.png,
pbds_cc_hash_random_int_find_timing_test_local.svg,
pbds_cc_hash_random_int_subscript_timing_test_find_local.pdf,
pbds_cc_hash_random_int_subscript_timing_test_find_local.png,
pbds_cc_hash_random_int_subscript_timing_test_find_local.svg,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.pdf,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.png,
pbds_cc_hash_random_int_subscript_timing_test_insert_local.svg,
pbds_container_tag_hierarchy.pdf,
pbds_container_tag_hierarchy.png,
pbds_container_tag_hierarchy.svg,
pbds_different_underlying_dss_1.png,
pbds_different_underlying_dss_2.png,
pbds_embedded_lists_1.png, pbds_embedded_lists_2.png,
pbds_embedded_lists_3.png, pbds_exception_hierarchy.pdf,
pbds_exception_hierarchy.png, pbds_exception_hierarchy.svg,
pbds_gp_hash_random_int_find_timing_test_local.pdf,
pbds_gp_hash_random_int_find_timing_test_local.png,
pbds_gp_hash_random_int_find_timing_test_local.svg,
pbds_gp_hash_random_int_subscript_timing_test_find_local.pdf,
pbds_gp_hash_random_int_subscript_timing_test_find_local.png,
pbds_gp_hash_random_int_subscript_timing_test_find_local.svg,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.pdf,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.png,
pbds_gp_hash_random_int_subscript_timing_test_insert_local.svg,
pbds_hash_policy_cd.png,
pbds_hash_random_int_erase_mem_usage_test_local.pdf,
pbds_hash_random_int_erase_mem_usage_test_local.png,
pbds_hash_random_int_erase_mem_usage_test_local.svg,
pbds_hash_ranged_hash_range_hashing_fns.png,
pbds_hash_range_hashing_seq_diagram2.png,
pbds_hash_range_hashing_seq_diagram.png,
pbds_hash_zlob_random_int_find_timing_test_local.pdf,
pbds_hash_zlob_random_int_find_timing_test_local.png,
pbds_hash_zlob_random_int_find_timing_test_local.svg,
pbds_insert_resize_sequence_diagram1.png,
pbds_insert_resize_sequence_diagram2.png,
pbds_insert_resize_sequence_diagram3.png,
pbds_invalidation_guarantee_erase.png,
pbds_invalidation_tag_hierarchy.pdf,
pbds_invalidation_tag_hierarchy.png,
pbds_invalidation_tag_hierarchy.svg, pbds_list_update.png,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.pdf,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.png,
pbds_multimap_text_find_timing_test_large_s2p_hash_local.svg,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.pdf,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.png,
pbds_multimap_text_find_timing_test_large_s2p_tree_local.svg,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.pdf,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.png,
pbds_multimap_text_find_timing_test_small_s2p_hash_local.svg,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.pdf,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.png,
pbds_multimap_text_find_timing_test_small_s2p_tree_local.svg,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.pdf,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
pbds_multimap_text_insert_mem_usage_test_large_s2p_hash_local.svg,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.pdf,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
pbds_multimap_text_insert_mem_usage_test_large_s2p_tree_local.svg,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.pdf,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
pbds_multimap_text_insert_mem_usage_test_small_s2p_hash_local.svg,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.pdf,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
pbds_multimap_text_insert_mem_usage_test_small_s2p_tree_local.svg,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.pdf,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.png,
pbds_multimap_text_insert_timing_test_large_s2p_hash_local.svg,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.pdf,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.png,
pbds_multimap_text_insert_timing_test_large_s2p_tree_local.svg,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.pdf,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.png,
pbds_multimap_text_insert_timing_test_small_s2p_hash_local.svg,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.pdf,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.png,
pbds_multimap_text_insert_timing_test_small_s2p_tree_local.svg,
pbds_node_invariants.png,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.pdf,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.png,
pbds_pairing_priority_queue_text_push_pop_timing_test_local.svg,
pbds_pairing_priority_queue_text_push_timing_test_local.pdf,
pbds_pairing_priority_queue_text_push_timing_test_local.png,
pbds_pairing_priority_queue_text_push_timing_test_local.svg,
pbds_pat_trie.png, pbds_point_iterator_hierarchy.png,
pbds_point_iterators_range_ops_1.png,
pbds_point_iterators_range_ops_2.png,
pbds_priority_queue_different_underlying_dss.png,
pbds_priority_queue_random_int_push_pop_timing_test_local.pdf,
pbds_priority_queue_random_int_push_pop_timing_test_local.png,
pbds_priority_queue_random_int_push_pop_timing_test_local.svg,
pbds_priority_queue_random_int_push_timing_test_local.pdf,
pbds_priority_queue_random_int_push_timing_test_local.png,
pbds_priority_queue_random_int_push_timing_test_local.svg,
pbds_priority_queue_tag_hierarchy.pdf,
pbds_priority_queue_tag_hierarchy.png,
pbds_priority_queue_tag_hierarchy.svg,
pbds_priority_queue_text_join_timing_test_local.pdf,
pbds_priority_queue_text_join_timing_test_local.png,
pbds_priority_queue_text_join_timing_test_local.svg,
pbds_priority_queue_text_modify_down_timing_test_local.pdf,
pbds_priority_queue_text_modify_down_timing_test_local.png,
pbds_priority_queue_text_modify_down_timing_test_local.svg,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.pdf,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
pbds_priority_queue_text_modify_down_timing_test_pairing_thin_local.svg,
pbds_priority_queue_text_modify_up_timing_test_local.pdf,
pbds_priority_queue_text_modify_up_timing_test_local.png,
pbds_priority_queue_text_modify_up_timing_test_local.svg,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.pdf,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
pbds_priority_queue_text_modify_up_timing_test_pairing_thin_local.svg,
pbds_priority_queue_text_pop_mem_usage_test_local.pdf,
pbds_priority_queue_text_pop_mem_usage_test_local.png,
pbds_priority_queue_text_pop_mem_usage_test_local.svg,
pbds_priority_queue_text_push_pop_timing_test_local.pdf,
pbds_priority_queue_text_push_pop_timing_test_local.png,
pbds_priority_queue_text_push_pop_timing_test_local.svg,
pbds_priority_queue_text_push_timing_test_local.pdf,
pbds_priority_queue_text_push_timing_test_local.png,
pbds_priority_queue_text_push_timing_test_local.svg,
pbds_rationale_null_node_updator.png,
pbds_resize_policy_cd.png, pbds_restoring_node_invariants.png,
pbds_simple_list.png,
pbds_text_find_timing_test_hash_local.pdf,
pbds_text_find_timing_test_hash_local.png,
pbds_text_find_timing_test_hash_local.svg,
pbds_text_find_timing_test_tree_like_local.pdf,
pbds_text_find_timing_test_tree_like_local.png,
pbds_text_find_timing_test_tree_like_local.svg,
pbds_tree_node_invalidations.png,
pbds_tree_node_invariants.png,
pbds_tree_node_updator_policy_cd.png,
pbds_tree_order_statistics_timing_test_local.pdf,
pbds_tree_order_statistics_timing_test_local.png,
pbds_tree_order_statistics_timing_test_local.svg,
pbds_tree_split_join_timing_test_local.pdf,
pbds_tree_split_join_timing_test_local.png,
pbds_tree_split_join_timing_test_local.svg,
pbds_tree_text_insert_timing_test_node_tree_local.pdf,
pbds_tree_text_insert_timing_test_node_tree_local.png,
pbds_tree_text_insert_timing_test_node_tree_local.svg,
pbds_tree_text_insert_timing_test_pat_trie_local.pdf,
pbds_tree_text_insert_timing_test_pat_trie_local.png,
pbds_tree_text_insert_timing_test_pat_trie_local.svg,
pbds_tree_text_insert_timing_test_vector_tree_local.pdf,
pbds_tree_text_insert_timing_test_vector_tree_local.png,
pbds_tree_text_insert_timing_test_vector_tree_local.svg,
pbds_tree_text_lor_find_timing_test_local.pdf,
pbds_tree_text_lor_find_timing_test_local.png,
pbds_tree_text_lor_find_timing_test_local.svg,
pbds_trie_node_updator_policy_cd.png,
pbds_update_seq_diagram.png): Add.

* doc/html/ext/pb_ds: Remove.
* doc/html/ext/pb_ds/(acks.html, assoc_container_tag_cd.png,
assoc_container_tag_cd.svg, assoc_container_traits.html,
assoc_design.html, assoc_examples.html,
associative_container_tag.html, assoc_performance_tests.html,
assoc_regression_tests.html, assoc_tests.html,
balls_and_bins.png, basic_hash_table.html,
basic_hash_tag.html, basic_invalidation_guarantee.html,
basic_tree_assoc_container_const_node_iterator.html,
basic_tree.html, basic_tree_tag.html, binary_heap_tag.html,
binary_priority_queue_random_int_push_timing_test_gcc.png,
binary_priority_queue_random_int_push_timing_test_local.png,
binary_priority_queue_random_int_push_timing_test_msvc.png,
binomial_heap_tag.html,
ccgp_hash_random_int_subscript_timing_test_insert_gcc.png,
ccgp_hash_random_int_subscript_timing_test_insert_local.png,
ccgp_hash_random_int_subscript_timing_test_insert_msvc.png,
cc_hash_max_collision_check_resize_trigger.html,
cc_hash_random_int_find_timing_test_gcc.png,
cc_hash_random_int_find_timing_test_local.png,
cc_hash_random_int_find_timing_test_msvc.png,
cc_hash_random_int_subscript_timing_test_find_gcc.png,
cc_hash_random_int_subscript_timing_test_find_local.png,
cc_hash_random_int_subscript_timing_test_find_msvc.png,
cc_hash_random_int_subscript_timing_test_insert_gcc.png,
cc_hash_random_int_subscript_timing_test_insert_local.png,
cc_hash_random_int_subscript_timing_test_insert_msvc.png,
cc_hash_table.html, cc_hash_tag.html, checked_by_tidy.gif
concepts.html, contact.html, container_base.html,
container_cd.png, container_cd.svg, container_tag.html,
counter_lu_policy.html, design.html,
different_underlying_dss.png, direct_mask_range_hashing.html,
direct_mod_range_hashing.html, disclaimer.html, ds_gen.html,
embedded_lists_1.png, embedded_lists_2.png,
embedded_lists_3.png, examples.html, exceptions.html,
gp_hash_random_int_find_timing_test_gcc.png,
gp_hash_random_int_find_timing_test_local.png,
gp_hash_random_int_find_timing_test_msvc.png,
gp_hash_random_int_subscript_timing_test_find_gcc.png,
gp_hash_random_int_subscript_timing_test_find_local.png,
gp_hash_random_int_subscript_timing_test_find_msvc.png,
gp_hash_random_int_subscript_timing_test_insert_gcc.png,
gp_hash_random_int_subscript_timing_test_insert_local.png,
gp_hash_random_int_subscript_timing_test_insert_msvc.png,
gp_hash_table.html, gp_hash_tag.html,
hash_based_containers.html, hash_exponential_size_policy.html,
hash_load_check_resize_trigger.html, hash_policy_cd.png,
hash_prime_size_policy.html,
hash_random_int_erase_mem_usage_test_gcc.png,
hash_random_int_erase_mem_usage_test.html,
hash_random_int_erase_mem_usage_test_local.png,
hash_random_int_erase_mem_usage_test_msvc.png,
hash_random_int_find_find_timing_test.html,
hash_random_int_subscript_find_timing_test.html,
hash_random_int_subscript_insert_timing_test.html,
hash_ranged_hash_range_hashing_fns.png,
hash_range_hashing_seq_diagram2.png,
hash_range_hashing_seq_diagram.png,
hash_standard_resize_policy.html,
hash_text_find_find_timing_test.html,
hash_zlob_random_int_find_find_timing_test.html,
hash_zlob_random_int_find_timing_test_gcc.png,
hash_zlob_random_int_find_timing_test_local.png,
hash_zlob_random_int_find_timing_test_msvc.png, index.html,
insert_error.html, insert_resize_sequence_diagram1.png,
insert_resize_sequence_diagram2.png,
insert_resize_sequence_diagram3.png, interface.html,
introduction.html, invalidation_guarantee_cd.png,
invalidation_guarantee_erase.png, join_error.html,
linear_probe_fn.html, list_update.html, list_update_tag.html,
lu_based_containers.html, lu.png, misc.html, motivation.html,
move_to_front_lu_policy.html,
multimap_text_find_timing_test_large.html,
multimap_text_find_timing_test_large_s2p_hash_gcc.png,
multimap_text_find_timing_test_large_s2p_hash_local.png,
multimap_text_find_timing_test_large_s2p_hash_msvc.png,
multimap_text_find_timing_test_large_s2p_tree_gcc.png,
multimap_text_find_timing_test_large_s2p_tree_local.png,
multimap_text_find_timing_test_large_s2p_tree_msvc.png,
multimap_text_find_timing_test_small.html,
multimap_text_find_timing_test_small_s2p_hash_gcc.png,
multimap_text_find_timing_test_small_s2p_hash_local.png,
multimap_text_find_timing_test_small_s2p_hash_msvc.png,
multimap_text_find_timing_test_small_s2p_tree_gcc.png,
multimap_text_find_timing_test_small_s2p_tree_local.png,
multimap_text_find_timing_test_small_s2p_tree_msvc.png,
multimap_text_insert_mem_usage_test_large.html,
multimap_text_insert_mem_usage_test_large_s2p_hash_gcc.png,
multimap_text_insert_mem_usage_test_large_s2p_hash_local.png,
multimap_text_insert_mem_usage_test_large_s2p_hash_msvc.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_gcc.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_local.png,
multimap_text_insert_mem_usage_test_large_s2p_tree_msvc.png,
multimap_text_insert_mem_usage_test_small.html,
multimap_text_insert_mem_usage_test_small_s2p_hash_gcc.png,
multimap_text_insert_mem_usage_test_small_s2p_hash_local.png,
multimap_text_insert_mem_usage_test_small_s2p_hash_msvc.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_gcc.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_local.png,
multimap_text_insert_mem_usage_test_small_s2p_tree_msvc.png,
multimap_text_insert_timing_test_large.html,
multimap_text_insert_timing_test_large_s2p_hash_gcc.png,
multimap_text_insert_timing_test_large_s2p_hash_local.png,
multimap_text_insert_timing_test_large_s2p_hash_msvc.png,
multimap_text_insert_timing_test_large_s2p_tree_gcc.png,
multimap_text_insert_timing_test_large_s2p_tree_local.png,
multimap_text_insert_timing_test_large_s2p_tree_msvc.png,
multimap_text_insert_timing_test_small.html,
multimap_text_insert_timing_test_small_s2p_hash_gcc.png,
multimap_text_insert_timing_test_small_s2p_hash_local.png,
multimap_text_insert_timing_test_small_s2p_hash_msvc.png,
multimap_text_insert_timing_test_small_s2p_tree_gcc.png,
multimap_text_insert_timing_test_small_s2p_tree_local.png,
multimap_text_insert_timing_test_small_s2p_tree_msvc.png,
node_invariant_invalidations.png, node_invariants.png,
null_hash_fn.html, null_lu_metadata.html,
null_mapped_type.html, null_probe_fn.html,
null_tree_node_update.html, null_trie_node_update.html,
ov_tree_tag.html, pairing_heap_tag.html,
pairing_priority_queue_text_push_pop_timing_test_gcc.png,
pairing_priority_queue_text_push_pop_timing_test_local.png,
pairing_priority_queue_text_push_pop_timing_test_msvc.png,
pairing_priority_queue_text_push_timing_test_gcc.png,
pairing_priority_queue_text_push_timing_test_local.png,
pairing_priority_queue_text_push_timing_test_msvc.png,
pat_trie.png, pat_trie_tag.html,
point_invalidation_guarantee.html, point_iterators_cd.png,
point_iterators_range_ops_1.png,
point_iterators_range_ops_2.png, pq_container_traits.html,
pq_design.html, pq_different_underlying_dss.png,
pq_examples.html, pq_performance_tests.html,
pq_regression_tests.html, pq_tests.html, prerequisites.html,
priority_queue.html,
priority_queue_random_int_push_pop_timing_test_gcc.png,
priority_queue_random_int_push_pop_timing_test.html,
priority_queue_random_int_push_pop_timing_test_local.png,
priority_queue_random_int_push_pop_timing_test_msvc.png,
priority_queue_random_int_push_timing_test_gcc.png,
priority_queue_random_int_push_timing_test.html,
priority_queue_random_int_push_timing_test_local.png,
priority_queue_random_int_push_timing_test_msvc.png,
priority_queue_tag_cd.png, priority_queue_tag_cd.svg,
priority_queue_tag.html,
priority_queue_text_join_timing_test_gcc.png,
priority_queue_text_join_timing_test.html,
priority_queue_text_join_timing_test_local.png,
priority_queue_text_join_timing_test_msvc.png,
priority_queue_text_modify_down_timing_test_gcc.png,
priority_queue_text_modify_down_timing_test.html,
priority_queue_text_modify_down_timing_test_local.png,
priority_queue_text_modify_down_timing_test_msvc.png,
priority_queue_text_modify_down_timing_test_pairing_thin_gcc.png,
priority_queue_text_modify_down_timing_test_pairing_thin_local.png,
priority_queue_text_modify_down_timing_test_pairing_thin_msvc.png,
priority_queue_text_modify_up_timing_test_gcc.png,
priority_queue_text_modify_up_timing_test.html,
priority_queue_text_modify_up_timing_test_local.png,
priority_queue_text_modify_up_timing_test_msvc.png,
priority_queue_text_modify_up_timing_test_pairing_thin_gcc.png,
priority_queue_text_modify_up_timing_test_pairing_thin_local.png,
priority_queue_text_modify_up_timing_test_pairing_thin_msvc.png,
priority_queue_text_pop_mem_usage_test_gcc.png,
priority_queue_text_pop_mem_usage_test.html,
priority_queue_text_pop_mem_usage_test_local.png,
priority_queue_text_pop_mem_usage_test_msvc.png,
priority_queue_text_push_pop_timing_test_gcc.png,
priority_queue_text_push_pop_timing_test.html,
priority_queue_text_push_pop_timing_test_local.png,
priority_queue_text_push_pop_timing_test_msvc.png,
priority_queue_text_push_timing_test_gcc.png,
priority_queue_text_push_timing_test.html,
priority_queue_text_push_timing_test_local.png,
priority_queue_text_push_timing_test_msvc.png,
PythonPoweredSmall.gif quadratic_probe_fn.html,
random_int_find_find_timing_test_tree_gcc.png,
random_int_find_find_timing_test_tree_local.png,
random_int_find_find_timing_test_tree_msvc.png,
range_invalidation_guarantee.html,
rationale_null_node_updator.png, rb_tree_tag.html,
rc_binomial_heap_tag.html, references.html, resize_error.html,
resize_policy_cd.png, restoring_node_invariants.png,
sample_probe_fn.html, sample_ranged_hash_fn.html,
sample_ranged_probe_fn.html, sample_range_hashing.html,
sample_resize_policy.html, sample_resize_trigger.html,
sample_size_policy.html, sample_tree_node_update.html,
sample_trie_access_traits.html, sample_trie_node_update.html,
sample_update_policy.html, simple_list.png,
splay_tree_tag.html, tests.html,
text_find_timing_test_hash_gcc.png,
text_find_timing_test_hash_local.png,
text_find_timing_test_hash_msvc.png,
text_find_timing_test_tree_like_gcc.png,
text_find_timing_test_tree_like_local.png,
text_find_timing_test_tree_like_msvc.png, thin_heap_tag.html,
tree_based_containers.html, tree.html,
tree_node_iterator.html, tree_node_updator_policy_cd.png,
tree_order_statistics_node_update.html,
tree_order_statistics_timing_test_gcc.png,
tree_order_statistics_timing_test.html,
tree_order_statistics_timing_test_local.png,
tree_order_statistics_timing_test_msvc.png,
tree_random_int_find_find_timing_test.html,
tree_split_join_timing_test_gcc.png,
tree_split_join_timing_test.html,
tree_split_join_timing_test_local.png,
tree_split_join_timing_test_msvc.png, tree_tag.html,
tree_text_find_find_timing_test.html,
tree_text_insert_timing_test.html,
tree_text_insert_timing_test_node_tree_gcc.png,
tree_text_insert_timing_test_node_tree_local.png,
tree_text_insert_timing_test_node_tree_msvc.png,
tree_text_insert_timing_test_pat_trie_gcc.png,
tree_text_insert_timing_test_pat_trie_local.png,
tree_text_insert_timing_test_pat_trie_msvc.png,
tree_text_insert_timing_test_vector_tree_gcc.png,
tree_text_insert_timing_test_vector_tree_local.png,
tree_text_insert_timing_test_vector_tree_msvc.png,
tree_text_lor_find_find_timing_test.html,
tree_text_lor_find_timing_test_gcc.png,
tree_text_lor_find_timing_test_local.png,
tree_text_lor_find_timing_test_msvc.png,
trie_based_containers.html, trie_const_node_iterator.html,
trie.html, trie_node_iterator.html,
trie_node_updator_policy_cd.png,
trie_order_statistics_node_update.html,
trie_prefix_search_node_update.html,
trie_string_access_traits.html, trie_tag.html,
trivial_iterator_tag.html, tutorial.html,
update_policy_cd.png, update_seq_diagram.png): Remove.

From-SVN: r176952

13 years agodriver-native.c [__sgi__]: Include <invent.h>, <sys/sbd.h>.
Rainer Orth [Fri, 29 Jul 2011 18:19:29 +0000 (18:19 +0000)]
driver-native.c [__sgi__]: Include <invent.h>, <sys/sbd.h>.

* config/mips/driver-native.c [__sgi__]: Include <invent.h>,
<sys/sbd.h>.
(cpu_types): New array.
(cputype): New function.
(host_detect_local_cpu): Only define buf, f if !__sgi__.
Use scaninvent instead of /proc/cpuinfo if __sgi__.
* config.host: Also use driver-native.o, mips/x-native on
mips-sgi-irix*.
* config/mips/iris6.h [__mips__] (host_detect_local_cpu):
Declare.
(EXTRA_SPEC_FUNCTIONS, MARCH_MTUNE_NATIVE_SPECS): Define.
(DRIVER_SELF_SPECS): Add MARCH_MTUNE_NATIVE_SPECS.

From-SVN: r176947

13 years agore PR middle-end/49897 (nesting lastprivate gives incorrect result)
Jakub Jelinek [Fri, 29 Jul 2011 17:45:42 +0000 (19:45 +0200)]
re PR middle-end/49897 (nesting lastprivate gives incorrect result)

PR middle-end/49897
PR middle-end/49898
* omp-low.c (use_pointer_for_field): If disallowing copy-in/out
in nested parallel and outer is a gimple_reg, mark it as addressable
and set its bit in task_shared_vars bitmap too.

* testsuite/libgomp.c/pr49897-1.c: New test.
* testsuite/libgomp.c/pr49897-2.c: New test.
* testsuite/libgomp.c/pr49898-1.c: New test.
* testsuite/libgomp.c/pr49898-2.c: New test.

From-SVN: r176945

13 years agopredicates.md (tp_or_register_operand): Remove predicate.
Uros Bizjak [Fri, 29 Jul 2011 15:58:58 +0000 (17:58 +0200)]
predicates.md (tp_or_register_operand): Remove predicate.

* config/i386/predicates.md (tp_or_register_operand): Remove predicate.

From-SVN: r176930

13 years agodriver-alpha.c (IMPLVER_EV4_FAMILY, [...]): Define.
Rainer Orth [Fri, 29 Jul 2011 15:34:33 +0000 (15:34 +0000)]
driver-alpha.c (IMPLVER_EV4_FAMILY, [...]): Define.

* config/alpha/driver-alpha.c (IMPLVER_EV4_FAMILY,
IMPLVER_EV5_FAMILY, IMPLVER_EV6_FAMILY, IMPLVER_EV7_FAMILY): Define.
(AMASK_BWX, AMASK_FIX, AMASK_CIX, AMASK_MVI, AMASK_PRECISE,
AMASK_LOCKPFTCHOK): Define.
(host_detect_local_cpu): Remove buf, f, cpu_names.
Define cpu_types, implver, amask.
Use __builtin_alpha_implver, __builtin_alpha_amask to determine
native CPU.
* config.host: Also use driver-alpha.o, alpha/x-alpha on
alpha*-dec-osf*.
* config/alpha/osf5.h [__alpha__ || __alpha]
(host_detect_local_cpu): Declare.
(EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS)
(DRIVER_SELF_SPECS): Define.

From-SVN: r176926

13 years ago* function.c: Remove unwanted commit.
Uros Bizjak [Fri, 29 Jul 2011 13:51:16 +0000 (15:51 +0200)]
* function.c: Remove unwanted commit.

From-SVN: r176925

13 years agore PR target/47715 ([x32] TLS doesn't work)
Uros Bizjak [Fri, 29 Jul 2011 13:48:40 +0000 (15:48 +0200)]
re PR target/47715 ([x32] TLS doesn't work)

PR target/47715
* config/i386/i386.md (*load_tp_x32): New.
(*load_tp_x32_zext): Ditto.
(*add_tp_x32): Ditto.
(*add_tp_x32_zext): Ditto.
(*load_tp_<mode>): Disable for TARGET_X32 targets.
(*add_tp_<mode>): Ditto.
* config/i386/i386.c (get_thread_pointer): Load thread pointer in
ptr_mode and convert to Pmode if needed.

From-SVN: r176924

13 years agore PR target/49687 ([avr] Missed optimization for widening MUL)
Georg-Johann Lay [Fri, 29 Jul 2011 11:27:39 +0000 (11:27 +0000)]
re PR target/49687 ([avr] Missed optimization for widening MUL)

PR target/49687
* config/avr/avr.md (mulsi3, *mulsi3, mulu<mode>si3,
muls<mode>si3, mulohisi3, mulhisi3, umulhisi3, usmulhisi3,
*<any_extend:extend_prefix><any_extend2:extend_prefix>mul<QIHI:mode><QIHI2:mode>si3):
Add X to register footprint: Clobber r26/r27.

From-SVN: r176923

13 years agobuiltins.c (fold_builtin_signbit): Build the comparison with a proper type.
Richard Guenther [Fri, 29 Jul 2011 09:57:03 +0000 (09:57 +0000)]
builtins.c (fold_builtin_signbit): Build the comparison with a proper type.

2011-07-29  Richard Guenther  <rguenther@suse.de>

* builtins.c (fold_builtin_signbit): Build the comparison
with a proper type.

From-SVN: r176922

13 years agore PR middle-end/49893 (-O3 generates wrong code for volatile)
Richard Guenther [Fri, 29 Jul 2011 09:54:23 +0000 (09:54 +0000)]
re PR middle-end/49893 (-O3 generates wrong code for volatile)

2011-07-29  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49893
* tree-predcom.c (suitable_reference_p): Volatile references
are not suitable.

From-SVN: r176921

13 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Fri, 29 Jul 2011 09:33:54 +0000 (09:33 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

PR target/49313
* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
(__ctzsi2): Result for 0 may be undefined.
(__ctzhi2): Result for 0 may be undefined.
(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
(__popcountsi2): Ditto. And don't clobber r26.
(__popcountdi2): Ditto. And don't clobber r27.
* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
(parityhi2): New expand.
(paritysi2): New expand.
(popcounthi2): New expand.
(popcountsi2): New expand.
(clzhi2): New expand.
(clzsi2): New expand.
(ctzhi2): New expand.
(ctzsi2): New expand.
(ffshi2): New expand.
(ffssi2): New expand.
(copysignsf3): New insn.
(bswapsi2): New expand.
(*parityhi2.libgcc): New insn.
(*parityqihi2.libgcc): New insn.
(*paritysihi2.libgcc): New insn.
(*popcounthi2.libgcc): New insn.
(*popcountsi2.libgcc): New insn.
(*popcountqi2.libgcc): New insn.
(*popcountqihi2.libgcc): New insn-and-split.
(*clzhi2.libgcc): New insn.
(*clzsihi2.libgcc): New insn.
(*ctzhi2.libgcc): New insn.
(*ctzsihi2.libgcc): New insn.
(*ffshi2.libgcc): New insn.
(*ffssihi2.libgcc): New insn.
(*bswapsi2.libgcc): New insn.

From-SVN: r176920

13 years agore PR tree-optimization/47407 (gcc.dg/tree-ssa/pr42585.c FAILs on Tru64 UNIX V5.1B)
Rainer Orth [Fri, 29 Jul 2011 09:29:10 +0000 (09:29 +0000)]
re PR tree-optimization/47407 (gcc.dg/tree-ssa/pr42585.c FAILs on Tru64 UNIX V5.1B)

PR tree-optimization/47407
* gcc.dg/tree-ssa/pr42585.c: XFAIL scan-tree-dump-times on
alpha*-dec-osf*.
Sort target list.

From-SVN: r176919

13 years agotree-vrp.c (get_value_range): Only set parameter default definitions to varying,...
Richard Guenther [Fri, 29 Jul 2011 09:24:23 +0000 (09:24 +0000)]
tree-vrp.c (get_value_range): Only set parameter default definitions to varying, leave others at undefined.

2011-07-29  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (get_value_range): Only set parameter default
definitions to varying, leave others at undefined.
(extract_range_from_binary_expr): Fix undefined handling.
(vrp_visit_phi_node): Handle merged undefined state.

* gcc.dg/uninit-suppress.c: Also disable VRP.
* gcc.dg/uninit-suppress_2.c: Likewise.

From-SVN: r176918

13 years agore PR c++/49808 (GCC adds an address-of somewhere!)
Jason Merrill [Fri, 29 Jul 2011 07:10:21 +0000 (03:10 -0400)]
re PR c++/49808 (GCC adds an address-of somewhere!)

PR c++/49808
* pt.c (tsubst) [TEMPLATE_PARM_INDEX]: Call convert_from_reference.
(convert_nontype_argument, tsubst_template_arg): Handle its output.

From-SVN: r176916

13 years agoAdd a testcase for PR rtl-optimization/47958.
H.J. Lu [Fri, 29 Jul 2011 05:17:36 +0000 (05:17 +0000)]
Add a testcase for PR rtl-optimization/47958.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

PR rtl-optimization/47958
* gcc.dg/torture/pr47958-1.c: New.

From-SVN: r176914

13 years agoAdd x32 support to config/i386/morestack.S.
H.J. Lu [Fri, 29 Jul 2011 04:09:17 +0000 (04:09 +0000)]
Add x32 support to config/i386/morestack.S.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New.
Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary
for x86-64.  Properly check __x86_64__ and __LP64__.

From-SVN: r176912

13 years agore PR rtl-optimization/49799 (gcc arm generates illegal sbfx instruction)
Wei Guozhi [Fri, 29 Jul 2011 01:27:29 +0000 (01:27 +0000)]
re PR rtl-optimization/49799 (gcc arm generates illegal sbfx instruction)

PR rtl-optimization/49799

* combine.c (make_compound_operation): Check if the bit field is valid
before change it to bit field extraction.

* gcc.dg/pr49799.c: New test case.

From-SVN: r176911

13 years agoDaily bump.
GCC Administrator [Fri, 29 Jul 2011 00:18:32 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176910

13 years agore PR rtl-optimization/49891 (ICE in redirect_jump_1)
Bernd Schmidt [Thu, 28 Jul 2011 22:47:21 +0000 (22:47 +0000)]
re PR rtl-optimization/49891 (ICE in redirect_jump_1)

PR rtl-optimization/49891
* cfgrtl.c (force_nonfallthru_and_redirect): Set JUMP_LABEL for
newly created returnjumps.

From-SVN: r176905

13 years agoexpr.c (expand_expr_addr_expr_1): Detect a user request for a local frame in a naked...
DJ Delorie [Thu, 28 Jul 2011 22:26:23 +0000 (18:26 -0400)]
expr.c (expand_expr_addr_expr_1): Detect a user request for a local frame in a naked function...

* expr.c (expand_expr_addr_expr_1): Detect a user request for a
local frame in a naked function, and produce a suitable error for
that specific case.

From-SVN: r176904

13 years agom32c.c (m32c_secondary_reload_class): Allow PSI registers to be reloaded in HI classe...
DJ Delorie [Thu, 28 Jul 2011 22:07:39 +0000 (18:07 -0400)]
m32c.c (m32c_secondary_reload_class): Allow PSI registers to be reloaded in HI classes when the target is HI.

* config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
registers to be reloaded in HI classes when the target is HI.

From-SVN: r176903

13 years agoReplace v1, v2, lb, ub with bound_one, bound_two
Sebastian Pop [Thu, 28 Jul 2011 21:57:20 +0000 (21:57 +0000)]
Replace v1, v2, lb, ub with bound_one, bound_two

2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

* graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
bound_one, bound_two.

From-SVN: r176902

13 years agoFix PR48648: Handle CLAST assignments.
Sebastian Pop [Thu, 28 Jul 2011 21:57:10 +0000 (21:57 +0000)]
Fix PR48648: Handle CLAST assignments.

The CLAST produced by CLooG-ISL contains an assignment and GCC chokes
on it.  The exact CLAST contains an assignment followed by an if:

scat_1 = max(0,ceild(T_4-7,8));
if (scat_1 <= min(1,floord(T_4-1,8))) {
  S7(scat_1);
}

This is equivalent to a loop that iterates only once, and so CLooG
generates an assignment followed by an if instead of a loop.  This is
an important optimization that was improved in ISL, that allows
if-conversion: imagine GCC having to figure out that a loop like the
following actually iterates only once, and can be converted to an if:

for (scat_1 = max(0,ceild(T_4-7,8)); scat_1 <= min(1,floord(T_4-1,8)); scat_1++)
  S7(scat_1);

This patch implements the translation of CLAST assignments.
Bootstrapped and tested on amd64-linux.

2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/48648
* graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle
CLAST assignments.
(translate_clast): Same.
(translate_clast_assignment): New.

* gcc.dg/graphite/id-pr48648.c: New.

From-SVN: r176901

13 years agoFix PR49876: Continue code generation with integer_zero_node on gloog_error
Sebastian Pop [Thu, 28 Jul 2011 21:57:00 +0000 (21:57 +0000)]
Fix PR49876: Continue code generation with integer_zero_node on gloog_error

When setting gloog_error, graphite should continue code generation
without early returns, as otherwise the SSA representation would not
be complete.  So set the new expression to integer_zero_node, that
would not require more SSA updates, and continue code generation as
nothing happened.

Regstrapped on amd64-linux.

2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/49876
* sese.c (rename_uses): Do not return false on gloog_error: set
the new_expr to integer_zero_node and continue code generation.
(graphite_copy_stmts_from_block): Remove early exit on gloog_error.

From-SVN: r176900

13 years agore PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
Paolo Carlini [Thu, 28 Jul 2011 20:59:11 +0000 (20:59 +0000)]
re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)

2011-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/49813
        * semantics.c (potential_constant_expression_1):  Handle FMA_EXPR.

Checking this in for Paolo.

From-SVN: r176899

13 years agoline-map.h (struct line_maps): Remove unused field last_listed.
Gabriel Charette [Thu, 28 Jul 2011 20:57:20 +0000 (20:57 +0000)]
line-map.h (struct line_maps): Remove unused field last_listed.

* include/line-map.h (struct line_maps):
Remove unused field last_listed. Update all users.

From-SVN: r176898

13 years agore PR fortran/31067 (MINLOC should sometimes be inlined (gas_dyn is sooooo sloooow))
Jakub Jelinek [Thu, 28 Jul 2011 20:56:50 +0000 (22:56 +0200)]
re PR fortran/31067 (MINLOC should sometimes be inlined (gas_dyn is sooooo sloooow))

PR fortran/31067
* frontend-passes.c (optimize_minmaxloc): New function.
(optimize_expr): Call it.

* gfortran.dg/maxloc_2.f90: New test.
* gfortran.dg/maxloc_3.f90: New test.
* gfortran.dg/minloc_1.f90: New test.
* gfortran.dg/minloc_2.f90: New test.
* gfortran.dg/minloc_3.f90: New test.
* gfortran.dg/minmaxloc_7.f90: New test.

From-SVN: r176897

13 years agoUse long long for 64bit int.
H.J. Lu [Thu, 28 Jul 2011 20:36:39 +0000 (20:36 +0000)]
Use long long for 64bit int.

2010-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64
version.
(_FP_WS_TYPE): Likewise.
(_FP_I_TYPE): Likewise.

From-SVN: r176894

13 years agoCheck ia32 instead of ilp32 for ia32 tests.
H.J. Lu [Thu, 28 Jul 2011 20:35:32 +0000 (20:35 +0000)]
Check ia32 instead of ilp32 for ia32 tests.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
for ia32 instead of ilp32.

* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
* testsuite/libgomp.c/atomic-6.c: Likewise.

From-SVN: r176893

13 years agore PR debug/49846 (entryval: missing DW_TAG_GNU_call_site_parameter for stack-passed...
Jakub Jelinek [Thu, 28 Jul 2011 20:35:12 +0000 (22:35 +0200)]
re PR debug/49846 (entryval: missing DW_TAG_GNU_call_site_parameter for stack-passed `double' parameter)

PR debug/49846
* var-tracking.c (prepare_call_arguments): For non-MODE_INT stack
arguments also check if they aren't initialized with a MODE_INT
mode of the same size.

From-SVN: r176892

13 years agoexpr.c (get_bit_range): Handle *MEM_REF's.
Aldy Hernandez [Thu, 28 Jul 2011 19:48:48 +0000 (19:48 +0000)]
expr.c (get_bit_range): Handle *MEM_REF's.

        * expr.c (get_bit_range): Handle *MEM_REF's.

From-SVN: r176891

13 years agortlanal.c (tablejump_p): False for returns.
Bernd Schmidt [Thu, 28 Jul 2011 18:45:20 +0000 (18:45 +0000)]
rtlanal.c (tablejump_p): False for returns.

* rtlanal.c (tablejump_p): False for returns.
* reorg.c (first_active_target_insn): New static function.
(find_end_label): Set JUMP_LABEL for a new returnjump.
(optimize_skip, get_jump_flags, rare_destination,
mostly_true_jump, get_branch_condition,
steal_delay_list_from_target, own_thread_p,
fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
fill_eager_delay_slots, relax_delay_slots, make_return_insns,
dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
* jump.c (delete_related_insns): Likewise.
(jump_to_label_p): New function.
(redirect_target): New static function.
(redirect_exp_1): Use it.  Adjust to handle ret_rtx in JUMP_LABELS.
(redirect_jump_1): Assert that the new label is nonnull.
(redirect_jump): Likewise.
(redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
* ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
exit block.
(dead_or_predicable): Change NEW_DEST arg to DEST_EDGE.  All callers
changed.  Ensure that the right label is passed to redirect_jump.
* function.c (emit_return_into_block,
thread_prologue_and_epilogue_insns): Ensure new returnjumps have
ret_rtx in their JUMP_LABEL.
* print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
* emit-rtl.c (skip_consecutive_labels): Allow the caller to
pass ret_rtx as label.
* cfglayout.c (fixup_reorder_chain): Use
force_nonfallthru_and_redirect rather than force_nonfallthru.
(duplicate_insn_chain): Copy JUMP_LABELs for returns.
* rtl.h (ANY_RETURN_P): New macro.
(jump_to_label_p): Declare.
* resource.c (find_dead_or_set_registers): Handle ret_rtx in
JUMP_LABELs.
(mark_target_live_regs): Likewise.
* basic-block.h (force_nonfallthru_and_redirect): Declare.
* cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
* config/alpha/alpha.c (alpha_tablejump_addr_vec,
alpha_tablejump_best_label): Remove functions.
* config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
alpha_tablejump_best_label): Remove declarations.
* config/sh/sh.c (barrier_align, split_branches): Adjust for
ret_rtx in JUMP_LABELs.
* config/arm/arm.c (is_jump_table): Likewise.

From-SVN: r176881

13 years agopredicates.md (pic_32bit_opreand): Do not define as special predicate.
Uros Bizjak [Thu, 28 Jul 2011 16:40:21 +0000 (18:40 +0200)]
predicates.md (pic_32bit_opreand): Do not define as special predicate.

* config/i386/predicates.md (pic_32bit_opreand): Do not define as
special predicate.  Remove explicit mode checks.

From-SVN: r176879

13 years agodwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize DW_AT_data_member_location...
Jakub Jelinek [Thu, 28 Jul 2011 16:23:20 +0000 (18:23 +0200)]
dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize DW_AT_data_member_location containing just...

* dwarf2out.c (resolve_addr): For -gdwarf-2 don't
optimize DW_AT_data_member_location containing just
DW_OP_plus_uconst.

From-SVN: r176878

13 years agore PR debug/49871 (-gdwarf-3 creates invalid DWARF3 with DW_AT_data_member_location...
Jakub Jelinek [Thu, 28 Jul 2011 16:21:08 +0000 (18:21 +0200)]
re PR debug/49871 (-gdwarf-3 creates invalid DWARF3 with DW_AT_data_member_location attribute)

PR debug/49871
* dwarf2out.c (size_of_die, value_format, output_die): Use
DW_FORM_udata instead of DW_FORM_data[48] for
dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.

* gcc.dg/debug/dwarf2/pr49871.c: New test.

From-SVN: r176876

13 years ago* ChangeLog: Remove mess.
Uros Bizjak [Thu, 28 Jul 2011 15:15:47 +0000 (17:15 +0200)]
* ChangeLog: Remove mess.

From-SVN: r176874

13 years agoUpdate length attribute on *tls_global_dynamic_64.
H.J. Lu [Thu, 28 Jul 2011 14:54:02 +0000 (14:54 +0000)]
Update length attribute on *tls_global_dynamic_64.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.md (*tls_global_dynamic_64): Update length
attribute.

From-SVN: r176873

13 years agore PR target/47715 ([x32] TLS doesn't work)
Uros Bizjak [Thu, 28 Jul 2011 14:42:45 +0000 (16:42 +0200)]
re PR target/47715 ([x32] TLS doesn't work)

PR target/47715
* config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
tls_symbolic_operand check.  Update code sequence for TARGET_X32.
(tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
(tls_dynamic_gnu2_64): Ditto.
(*tls_dynamic_gnu2_lea_64): Ditto.
(*tls_dynamic_gnu2_call_64): Ditto.
(*tls_dynamic_gnu2_combine_64): Ditto.

From-SVN: r176872

13 years agoSet need_64bit_hwint to yes for x86 targets.
H.J. Lu [Thu, 28 Jul 2011 14:29:38 +0000 (14:29 +0000)]
Set need_64bit_hwint to yes for x86 targets.

gcc/

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* config.gcc: Set need_64bit_hwint to yes for x86 targets.

libcpp/

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

* configure.ac: Set need_64bit_hwint to yes for x86 targets.
* configure: Regenerated.

From-SVN: r176871

13 years agoinit.c (__gnat_error_handler): Cast reason to int.
Rainer Orth [Thu, 28 Jul 2011 13:40:51 +0000 (13:40 +0000)]
init.c (__gnat_error_handler): Cast reason to int.

* init.c (__gnat_error_handler): Cast reason to int.
(__gnat_install_handler): Explain sa_sigaction use.

From-SVN: r176870

13 years agoOnly expand strlen to Pmode.
H.J. Lu [Thu, 28 Jul 2011 12:32:23 +0000 (12:32 +0000)]
Only expand strlen to Pmode.

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

PR target/47364
* config/i386/i386.md (strlen<mode>): Replace SWI48x with P.

From-SVN: r176868

13 years agovfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints.
Ramana Radhakrishnan [Thu, 28 Jul 2011 12:02:17 +0000 (12:02 +0000)]
vfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints.

2011-07-28  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
before the core constraints. Adjust attributes.
(*thumb2_movdf_vfp"): Likewise.

From-SVN: r176867

13 years agotree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.
Kai Tietz [Thu, 28 Jul 2011 10:41:51 +0000 (12:41 +0200)]
tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.

2011-07-28  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (simplify_stmt_using_ranges): Remove
        TRUTH_NOT_EXPR case.
        (simplify_truth_ops_using_ranges): Likewise.
        (build_assert_expr_for): Likewise.
        (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
        and handle BIT_NOT_EXPR for truth-operation.

From-SVN: r176866

13 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Thu, 28 Jul 2011 10:29:17 +0000 (10:29 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

PR target/49313
Undo r176835 from trunk
2011-07-27  Georg-Johann Lay

From-SVN: r176865

13 years agoupdate copyright
Alan Modra [Thu, 28 Jul 2011 08:25:26 +0000 (17:55 +0930)]
update copyright

From-SVN: r176863

13 years agore PR target/49687 ([avr] Missed optimization for widening MUL)
Georg-Johann Lay [Thu, 28 Jul 2011 08:03:07 +0000 (08:03 +0000)]
re PR target/49687 ([avr] Missed optimization for widening MUL)

PR target/49687
* config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
Add _muluhisi3, _mulshisi3, _usmulhisi3.
* config/avr/libgcc.S (__mulsi3): Rewrite.
(__mulhisi3): Rewrite.
(__umulhisi3): Rewrite.
(__usmulhisi3): New.
(__muluhisi3): New.
(__mulshisi3): New.
(__mulohisi3): New.
(__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
declare.
* config/avr/predicates.md (pseudo_register_operand): Rewrite.
(pseudo_register_or_const_int_operand): New.
(combine_pseudo_register_operand): New.
(u16_operand): New.
(s16_operand): New.
(o16_operand): New.
* config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
* config/avr/avr.md (QIHI, QIHI2): New mode iterators.
(any_extend, any_extend2): New code iterators.
(extend_prefix): New code attribute.
(mulsi3): Rewrite. Turn insn to expander.
(mulhisi3): Ditto.
(umulhisi3): Ditto.
(usmulhisi3): New expander.
(*mulsi3): New insn-and-split.
(mulu<mode>si3): New insn-and-split.
(muls<mode>si3): New insn-and-split.
(mulohisi3): New insn-and-split.
(*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
*usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
*sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
*ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
insn-and-split.
(*mulsi3_call): Rewrite.
(*mulhisi3_call): Rewrite.
(*umulhisi3_call): Rewrite.
(*usmulhisi3_call): New insn.
(*muluhisi3_call): New insn.
(*mulshisi3_call): New insn.
(*mulohisi3_call): New insn.
(extendqihi2): Use combine_pseudo_register_operand as predicate
for operand 1.
(extendqisi2): Ditto.
(zero_extendqihi2): Ditto.
(zero_extendqisi2): Ditto.
(zero_extendhisi2): Ditto.
(extendhisi2): Ditto. Don't early-clobber operand 0.

From-SVN: r176862

13 years agolinux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped...
Alan Modra [Thu, 28 Jul 2011 07:44:24 +0000 (17:14 +0930)]
linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub.

* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
in a plt call stub.  Do restore r2 if stopped on bctrl.

From-SVN: r176861

13 years agoi386.c (add->lea splitter): Add SWI mode to PLUS RTX.
Uros Bizjak [Thu, 28 Jul 2011 07:18:49 +0000 (09:18 +0200)]
i386.c (add->lea splitter): Add SWI mode to PLUS RTX.

* config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.

From-SVN: r176860

13 years agoi386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized away.
Jakub Jelinek [Thu, 28 Jul 2011 06:35:38 +0000 (08:35 +0200)]
i386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized away.

* gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
the builtin isn't optimized away.

From-SVN: r176859

13 years agoDaily bump.
GCC Administrator [Thu, 28 Jul 2011 00:18:04 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176856

13 years agore PR fortran/45586 (ICE non-trivial conversion at assignment)
Tobias Burnus [Wed, 27 Jul 2011 22:33:00 +0000 (00:33 +0200)]
re PR fortran/45586 (ICE non-trivial conversion at assignment)

2011-07-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45586
        * trans-types.c (gfc_get_derived_type): Ensure that pointer
        component types are marked as nonrestricted.

2011-07-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45586
        * gfortran.dg/lto/pr45586-2_0.f90: New.

From-SVN: r176852

13 years agore PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c)
Aldy Hernandez [Wed, 27 Jul 2011 19:51:04 +0000 (19:51 +0000)]
re PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c)

       PR middle-end/49875
        * c-c++-common/cxxbitfields-4.c: Check for smaller than long
        moves.
        * c-c++-common/cxxbitfields-5.c: Same.

From-SVN: r176848

13 years agore PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
Paolo Carlini [Wed, 27 Jul 2011 19:33:51 +0000 (19:33 +0000)]
re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)

2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49813
* include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.

From-SVN: r176847

13 years agotarget-supports.exp (check_effective_target_mmap): Use check_function_available.
Ulrich Weigand [Wed, 27 Jul 2011 19:01:23 +0000 (19:01 +0000)]
target-supports.exp (check_effective_target_mmap): Use check_function_available.

* lib/target-supports.exp (check_effective_target_mmap): Use
check_function_available.

From-SVN: r176846

13 years agoPropagate the source location of a template's function_decl to the template_decl...
Jeffrey Yasskin [Wed, 27 Jul 2011 18:38:48 +0000 (18:38 +0000)]
Propagate the source location of a template's function_decl to the template_decl built out of it.

Propagate the source location of a template's function_decl to the
template_decl built out of it.  Without this, specializations
generated before the template was defined get the location of the
closing ')' instead of the location of the template's name, which can
produce inconsistent locations between translation units, which makes
gold's ODR checker unhappy.

* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
location to the new template_decl.
* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.

From-SVN: r176845

13 years agore PR target/49866 (-mcmodel=large tail call fails to assemble)
Jakub Jelinek [Wed, 27 Jul 2011 18:19:40 +0000 (20:19 +0200)]
re PR target/49866 (-mcmodel=large tail call fails to assemble)

PR target/49866
* gcc.target/i386/pr49866.c: New test.

From-SVN: r176842

13 years agoAdd BMI testcases.
Yukhin Kirill [Wed, 27 Jul 2011 17:45:41 +0000 (17:45 +0000)]
Add BMI testcases.

2011-07-27  Yukhin Kirill  <kirill.yukhin@intel.com>

* gcc.target/i386/i386.exp (check_effective_target_bmi): New.
* gcc.target/i386/bmi-andn-1.c: New test.
* gcc.target/i386/bmi-andn-1a.c: Likewise.
* gcc.target/i386/bmi-andn-2.c: Likewise.
* gcc.target/i386/bmi-andn-2a.c: Likewise.
* gcc.target/i386/bmi-bextr-1.c: Likewise.
* gcc.target/i386/bmi-bextr-1a.c: Likewise.
* gcc.target/i386/bmi-bextr-2.c: Likewise.
* gcc.target/i386/bmi-bextr-2a.c: Likewise.
* gcc.target/i386/bmi-blsi-1.c: Likewise.
* gcc.target/i386/bmi-blsi-1a.c: Likewise.
* gcc.target/i386/bmi-blsi-2.c: Likewise.
* gcc.target/i386/bmi-blsi-2a.c: Likewise.
* gcc.target/i386/bmi-blsmsk-1.c: Likewise.
* gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
* gcc.target/i386/bmi-blsmsk-2.c: Likewise.
* gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
* gcc.target/i386/bmi-blsr-1.c: Likewise.
* gcc.target/i386/bmi-blsr-1a.c: Likewise.
* gcc.target/i386/bmi-blsr-2.c: Likewise.
* gcc.target/i386/bmi-blsr-2a.c: Likewise.
* gcc.target/i386/bmi-tzcnt-1.c: Likewise.
* gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
* gcc.target/i386/bmi-tzcnt-2.c: Likewise.
* gcc.target/i386/bmi-tzcnt-2a.c: Likewise.

From-SVN: r176840

13 years agoFix PR49471: canonicalize_loop_ivs should not generate unsigned types.
Sebastian Pop [Wed, 27 Jul 2011 16:53:09 +0000 (16:53 +0000)]
Fix PR49471: canonicalize_loop_ivs should not generate unsigned types.

2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

PR tree-optimization/49471
* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
iv only when the largest type is unsigned.  Do not call
lang_hooks.types.type_for_size.

* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.

From-SVN: r176838

13 years agoPR45450: disable legality check after an openscop read
Sebastian Pop [Wed, 27 Jul 2011 16:53:02 +0000 (16:53 +0000)]
PR45450: disable legality check after an openscop read

2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/45450
* graphite-poly.c (apply_poly_transforms): Disable legality check
after an openscop read.

From-SVN: r176837

13 years agoFix PR47691: do not abort compilation when code generation fails
Sebastian Pop [Wed, 27 Jul 2011 16:52:52 +0000 (16:52 +0000)]
Fix PR47691: do not abort compilation when code generation fails

2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/47691
* graphite-clast-to-gimple.c (translate_clast_user): Update use of
copy_bb_and_scalar_dependences.
* sese.c (rename_uses): Do not call gcc_assert.  Set gloog_error.
(graphite_copy_stmts_from_block): Update call to rename_uses.
(copy_bb_and_scalar_dependences): Update call to
graphite_copy_stmts_from_block.
* sese.h (copy_bb_and_scalar_dependences): Update declaration.

* gfortran.dg/graphite/id-pr47691.f: New.

From-SVN: r176836

13 years agore PR target/49313 (Inefficient libgcc implementations for avr)
Georg-Johann Lay [Wed, 27 Jul 2011 16:39:13 +0000 (16:39 +0000)]
re PR target/49313 (Inefficient libgcc implementations for avr)

PR target/49313
* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
(__ctzsi2): Result for 0 may be undefined.
(__ctzhi2): Result for 0 may be undefined.
(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
(__popcountsi2): Ditto. And don't clobber r26.
(__popcountdi2): Ditto. And don't clobber r27.
* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
(parityhi2): New expand.
(paritysi2): New expand.
(popcounthi2): New expand.
(popcountsi2): New expand.
(clzhi2): New expand.
(clzsi2): New expand.
(ctzhi2): New expand.
(ctzsi2): New expand.
(ffshi2): New expand.
(ffssi2): New expand.
(copysignsf3): New insn.
(bswapsi2): New expand.
(*parityhi2.libgcc): New insn.
(*parityqihi2.libgcc): New insn.
(*paritysihi2.libgcc): New insn.
(*popcounthi2.libgcc): New insn.
(*popcountsi2.libgcc): New insn.
(*popcountqi2.libgcc): New insn.
(*popcountqihi2.libgcc): New insn-and-split.
(*clzhi2.libgcc): New insn.
(*clzsihi2.libgcc): New insn.
(*ctzhi2.libgcc): New insn.
(*ctzsihi2.libgcc): New insn.
(*ffshi2.libgcc): New insn.
(*ffssihi2.libgcc): New insn.
(*bswapsi2.libgcc): New insn.

From-SVN: r176835

13 years agoi386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes.
Uros Bizjak [Wed, 27 Jul 2011 16:21:18 +0000 (18:21 +0200)]
i386.c (ix86_expand_move): Do not explicitly check the mode of symbolic_opreand RTXes.

* config/i386/i386.c (ix86_expand_move): Do not explicitly check
the mode of symbolic_opreand RTXes.

From-SVN: r176834

13 years agopredicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands.
Uros Bizjak [Wed, 27 Jul 2011 16:16:42 +0000 (18:16 +0200)]
predicates.md (x86_64_movabs_operand): Reject pic32_bit_operand operands.

* config/i386/predicates.md (x86_64_movabs_operand): Reject
pic32_bit_operand operands.
* config/i386/i386.c (ix86_expand_move): Check x86_64_movabs_operand
in DImode.

From-SVN: r176833

13 years agoavx-os-support.h: New.
Uros Bizjak [Wed, 27 Jul 2011 15:39:58 +0000 (17:39 +0200)]
avx-os-support.h: New.

* gcc.target/i386/avx-os-support.h: New.
* gcc.target/i386/avx-check.h: Include avx-os-support.h
(main): Check avx_os_support before the test is run.
* gcc.target/i386/aes-avx-check.h: Ditto.
* gcc.target/i386/pclmul-avx-check.h: Ditto.

From-SVN: r176829

13 years agoi386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too.
Kai Tietz [Wed, 27 Jul 2011 15:33:50 +0000 (17:33 +0200)]
i386.c (ix86_option_override_internal): Allow -mabi for 32-bit, too.

        * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
        for 32-bit, too.
        (ix86_handle_abi_attribute): Allow function attributes
        ms_abi/sysv_abi in 32-bit mode, too.
        * doc/extend.texi: Adjust attribute documentation.

        * gcc.target/i386/aggregate-ret3.c: New test.
        * gcc.target/i386/aggregate-ret4.c: New test.

From-SVN: r176828

13 years agogimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling.
Kai Tietz [Wed, 27 Jul 2011 14:59:40 +0000 (16:59 +0200)]
gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR expression handling.

2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * gimple-fold.c (or_comparisons_1): Remove TRUTH_AND/OR
        expression handling.
        (and_var_with_comparison_1): Likewise.

From-SVN: r176827

13 years agoparams.h (ALLOW_STORE_DATA_RACES): New.
Aldy Hernandez [Wed, 27 Jul 2011 13:22:09 +0000 (13:22 +0000)]
params.h (ALLOW_STORE_DATA_RACES): New.

* params.h (ALLOW_STORE_DATA_RACES): New.
* params.def (PARAM_ALLOW_STORE_DATA_RACES): New.
* Makefile.in (expr.o): Depend on PARAMS_H.
* machmode.h (get_best_mode): Add argument.
* fold-const.c (optimize_bit_field_compare): Add argument to
get_best_mode.
(fold_truthop): Same.
* ifcvt.c (noce_emit_move_insn): Add argument to store_bit_field.
* expr.c (emit_group_store): Same.
(copy_blkmode_from_reg): Same.
(write_complex_part): Same.
(optimize_bitfield_assignment_op): Add argument.
Add argument to get_best_mode.
(get_bit_range): New.
(expand_assignment): Calculate maxbits and pass it down
accordingly.
(store_field): New argument.
(expand_expr_real_2): New argument to store_field.
Include params.h.
* expr.h (store_bit_field): New argument.
* stor-layout.c (get_best_mode): Restrict mode expansion by taking
into account maxbits.
* calls.c (store_unaligned_arguments_into_pseudos): New argument
to store_bit_field.
* expmed.c (store_bit_field_1): New argument.  Use it.
(store_bit_field): Same.
(store_fixed_bit_field): Same.
(store_split_bit_field): Same.
(extract_bit_field_1): Pass new argument to get_best_mode.
(extract_bit_field): Same.
* stmt.c (store_bit_field): Pass new argument to store_bit_field.
* doc/invoke.texi: Document parameter allow-store-data-races.

From-SVN: r176824

13 years agore PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already allocated...
Daniel Carrera [Wed, 27 Jul 2011 10:10:06 +0000 (10:10 +0000)]
re PR fortran/49755 (ALLOCATE with STAT= produces invalid code for already allocated vars)

2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

PR fortran/49755
* trans.c (gfc_allocate_using_malloc): Change function signature.
Return nothing. New parameter "pointer". Eliminate temorary variables.
(gfc_allocate_using_lib): Ditto.
(gfc_allocate_allocatable): Ditto. Update call to gfc_allocate_using_lib
and gfc_allocate_using_malloc. Do not free and then reallocate a
variable that is already allocated.
(gfc_likely): New function. Basedon gfc_unlikely.
* trans-array.c (gfc_array_init_size): New parameter "descriptor_block".
Instructions to modify the array descriptor are stored in this block
while other instructions continue to be stored in "pblock".
(gfc_array_allocate): Update call to gfc_array_init_size. Move the
descriptor_block so that the array descriptor is only updated if
the array was allocated successfully.
Update calls to gfc_allocate_allocatable and gfc_allocate_using_malloc.
* trans.h (gfc_allocate_allocatable): Change function signature.
Function now returns void.
(gfc_allocate_using_lib): Ditto, and new function parameter.
(gfc_allocate_using_malloc): Ditto.
* trans-openmp.c (gfc_omp_clause_default_ctor,
gfc_omp_clause_copy_ctor,gfc_trans_omp_array_reduction): Replace a call
to gfc_allocate_allocatable with gfc_allocate_using_malloc.
* trans-stmt.c (gfc_trans_allocate): Update function calls for
gfc_allocate_allocatable and gfc_allocate_using_malloc.

2011-07-26  Daniel Carrera  <dcarrera@gmail.com>

PR fortran/49755
* gfortran.dg/multiple_allocation_1.f90: Fix test. Allocating an
allocated array should *not* change its size.
* gfortran.dg/multiple_allocation_3.f90: New test.

From-SVN: r176822

13 years agodwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy...
Jakub Jelinek [Wed, 27 Jul 2011 09:36:25 +0000 (11:36 +0200)]
dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.

* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.

From-SVN: r176819

13 years agotree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new...
Kai Tietz [Wed, 27 Jul 2011 09:21:06 +0000 (11:21 +0200)]
tree-vrp.c (extract_range_from_binary_expr): Remove TRUTH-binary cases and add new bitwise-cases.

2011-07-27  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (extract_range_from_binary_expr): Remove
        TRUTH-binary cases and add new bitwise-cases.
        (extract_range_from_assignment): Likewise.
        (register_edge_assert_for_1): Likeiwise.
        (register_edge_assert_for): Likewise.
        (simplify_truth_ops_using_ranges): Likewise.
        (simplify_stmt_using_ranges): Likewise.

From-SVN: r176818

13 years agoDaily bump.
GCC Administrator [Wed, 27 Jul 2011 00:18:47 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r176816

13 years agoCall simplify_gen_subreg for PIC with mode of x.
H.J. Lu [Tue, 26 Jul 2011 21:43:57 +0000 (21:43 +0000)]
Call simplify_gen_subreg for PIC with mode of x.

2011-07-26  H.J. Lu  <hongjiu.lu@intel.com>

PR target/47372
* config/i386/i386.c (ix86_delegitimize_address): Call
simplify_gen_subreg for PIC with mode of x only if modes of
x and orig_x are different.

From-SVN: r176812

13 years agodwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy...
Jakub Jelinek [Tue, 26 Jul 2011 21:12:39 +0000 (23:12 +0200)]
dwarf2out.c (output_macinfo_op): Ensure fd->filename points to GC allocated copy of the string.

* dwarf2out.c (output_macinfo_op): Ensure fd->filename points
to GC allocated copy of the string.
(dwarf2out_finish): Emit .debug_macinfo or .debug_macro sections
before .debug_line, not after it.

From-SVN: r176811

13 years agore PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics...
Paolo Carlini [Tue, 26 Jul 2011 20:00:31 +0000 (20:00 +0000)]
re PR c++/49776 ([C++0x]ICE in build_data_member_initialization, at cp/semantics.c:5499)

/cp
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49776
* typeck.c (cp_build_modify_expr): Check digest_init return value
for error_mark_node.

/testsuite
2011-07-26  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49776
* g++.dg/cpp0x/constexpr-49776.C: New.

From-SVN: r176809

13 years agoFix PR47046: correct evolution_function_is_affine_p
Sebastian Pop [Tue, 26 Jul 2011 18:48:49 +0000 (18:48 +0000)]
Fix PR47046: correct evolution_function_is_affine_p

"Bug 47046 - gcc.target/i386/sse4_1-movntdqa.c ICEs with -fgraphite-identity"

The problem here is that we are left with the following code to be
translated in the new representation following the transform that
Graphite has chosen:

        D.2709_14 = j_33 * i_32;
        D.2710_15 = D.2709_14 * i_32;
        D.2711_16 = D.2710_15 * sign_34;
        *D.2708_13 = D.2711_16;

In this particular case we have a nonlinear expression "i * i" for
which we have to generate code following the new graphite_iv variables.

The patch fixes the function that detects whether we are passing non
linear stuff to graphite: evolution_function_is_affine_p.  It seems
like for the moment evolution_function_is_affine_p is testing whether
an evolution function is affine only in the innermost loop, without
looking recursively at what happens in outer loops.

The chrec for this case is: {0, +, {0, +, {1, +, 2}_1}_1}_2 and we are
testing whether the evolution is affine only for the loop_2, which is
true as we have {0, +, blah}_2 with blah invariant in loop_2.

The patch adds the recursive call to evolution_function_is_affine_p.

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/47046
* tree-chrec.h (evolution_function_is_affine_p): Recursively call
evolution_function_is_affine_p on CHREC_RIGHT.

* gcc.dg/graphite/id-pr47046.c: New.

From-SVN: r176805

13 years agoAvoid use of lang_hooks.types.type_for_size.
Sebastian Pop [Tue, 26 Jul 2011 18:48:33 +0000 (18:48 +0000)]
Avoid use of lang_hooks.types.type_for_size.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

* tree-data-ref.c (max_stmt_executions_tree): Do not call
lang_hooks.types.type_for_size.

From-SVN: r176804

13 years agoAdd testcase for PR47593
Sebastian Pop [Tue, 26 Jul 2011 18:48:20 +0000 (18:48 +0000)]
Add testcase for PR47593

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/47653
* gcc.dg/graphite/run-id-pr47593.c: New.

From-SVN: r176803

13 years agoFix PR47653: do not handle loops using wrapping semantics in graphite
Sebastian Pop [Tue, 26 Jul 2011 18:48:08 +0000 (18:48 +0000)]
Fix PR47653: do not handle loops using wrapping semantics in graphite

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/47653
* graphite-scop-detection.c (graphite_can_represent_loop): Discard
loops using wrapping semantics.

* gcc.dg/graphite/run-id-pr47653.c: New.
* gcc.dg/graphite/interchange-3.c: Do not use unsigned types for
induction variables.
* gcc.dg/graphite/scop-16.c: Same.
* gcc.dg/graphite/scop-17.c: Same.
* gcc.dg/graphite/scop-21.c: Same.

From-SVN: r176802

13 years agoFix PR48805: Do not instantiate ADDR_EXPRs
Sebastian Pop [Tue, 26 Jul 2011 18:47:44 +0000 (18:47 +0000)]
Fix PR48805: Do not instantiate ADDR_EXPRs

With this patch we avoid instantiating ADDR_EXPR: it makes no sense
to translate &b[i] into &b[{0, +, 1}_1].

Bootstrapped and tested on amd64-linux.

2011-07-26  Sebastian Pop  <sebastian.pop@amd.com>

PR middle-end/48805
* tree-scalar-evolution.c (instantiate_scev_r): Return
chrec_dont_know for ADDR_EXPR.

* gcc.dg/graphite/id-pr48805.c: New.

From-SVN: r176801