2009-02-10 Richard Guenther <rguenther@suse.de>
PR middle-end/39127
* gimplify.c (gimple_regimplify_operands): Always look if
we need to create a temporary.
From-SVN: r144061
2009-02-10 Richard Guenther <rguenther@suse.de>
PR tree-optimization/39132
* tree-loop-distribution.c (todo): New global var.
(generate_memset_zero): Trigger TODO_rebuild_alias.
(tree_loop_distribution): Return todo.
* gcc.dg/torture/pr39132.c: New testcase.
From-SVN: r144060
gcc/
2009-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR target/39119
* config/i386/i386.c (x86_64_reg_class): Remove X86_64_AVX_CLASS.
(x86_64_reg_class_name): Removed.
(classify_argument): Return 0 if bytes > 32. Return 0 if the
first one isn't X86_64_SSE_CLASS or any other ones aren't
X86_64_SSEUP_CLASS when size > 16bytes. Don't turn
X86_64_SSEUP_CLASS into X86_64_SSE_CLASS if the preceded one
is X86_64_SSEUP_CLASS. Set AVX modes to 1 X86_64_SSE_CLASS
and 3 X86_64_SSEUP_CLASS.
(construct_container): Remove X86_64_AVX_CLASS. Handle 4
registers with 1 X86_64_SSE_CLASS and 3 X86_64_SSEUP_CLASS.
gcc/testsuite/
2009-02-10 H.J. Lu <hongjiu.lu@intel.com>
PR target/39119
* gcc.target/x86_64/abi/avx/abi-avx.exp: New.
* gcc.target/x86_64/abi/avx/args.h: Likewise.
* gcc.target/x86_64/abi/avx/asm-support.S: Likewise.
* gcc.target/x86_64/abi/avx/avx-check.h: Likewise.
* gcc.target/x86_64/abi/avx/test_m256_returning.c: Likewise.
* gcc.target/x86_64/abi/avx/test_passing_m256.c: Likewise.
* gcc.target/x86_64/abi/avx/test_passing_structs.c: Likewise.
* gcc.target/x86_64/abi/avx/test_passing_unions.c: Likewise.
From-SVN: r144058
* config/rs6000/rs6000.md (allocate_stack): Always use an update
form instruction to update the stack back chain word, even if the
user has disabled the generation of update instructions.
(movdi_<mode>_update_stack): New.
(movsi_update_stack): Likewise.
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Likewise,
always use an update form instruction to update the stack back
chain word.
From-SVN: r144047
2009-02-09 Jack Howarth <howarth@bromo.med.uc.edu>
PR testsuite/33300
* libstdc++-v3/testsuite/27_io/ios_base/storage/2.cc: Skip
on darwin for lp64.
From-SVN: r144043
2009-02-09 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/38953
* graphite.c (if_region_set_false_region): After moving a region
in the false branch of a condition, remove the empty dummy basic block.
(gloog): Remove wrong fix for PR38953.
From-SVN: r144042
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate.
(copy_alias_set): Assert that arrays have the same aliasing settings.
(substitute_in_type) <ARRAY_TYPE>: Copy TYPE_NONALIASED_COMPONENT.
From-SVN: r144038
PR middle-end/38981
* tree-ssa-coalesce.c (add_coalesce): Cap the costs of coalesce pairs
at MUST_COALESCE_COST-1 instead of MUST_COALESCE_COST.
From-SVN: r144032
2009-02-09 Richard Guenther <rguenther@suse.de>
PR middle-end/35202
* convert.c (convert_to_real): Disable (float)fn((double)x)
to fnf(x) conversion if errno differences may occur and
-fmath-errno is set.
From-SVN: r144030
Revert:
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
Make case self-contained.
<ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.
From-SVN: r144028
* tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <VIEW_CONVERT_EXPR>:
Make case self-contained.
<ARRAY_REF>: Test TYPE_NONALIASED_COMPONENT flag.
ada/
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_String_Literal_Subtype>:
Set TYPE_NONALIASED_COMPONENT on the array type.
From-SVN: r144021
2009-02-06 Benjamin Kosnik <bkoz@redhat.com>
* include/std/thread (thread::id): Move definition inside thread.
Use native_handle_type. Remove this_thread::get_id friend.
Change __thread_data_ptr to __shared_base_ptr.
(thread:🆔:id(native_handle_type): Make public. Still explicit.
Use native_handle_type. Change _M_thread_id to _M_thread.
(thread::__thread_data_base): Rename to _Impl_base. Use id, change
_M_thread_handle to _M_id.
(thread::__thread_data): Rename to _Impl.
Fixup for renames.
(thread::_M_make_thread_data): Return derived type.
(thread::hardware_concurrency): Add definition for default case.
(thread::get_id): Now can define inline.
(thread): Change _M_thread_data to _M_data.
(this_thread::get_id): Now can define inline.
* src/thread.cc (__thread_proxy): Rename to
execute_native_thread_routine.
Fixup for other renames.
* testsuite/30_threads/thread/cons/assign_neg.cc: New.
* testsuite/30_threads/thread/cons/copy_neg.cc: New.
* testsuite/30_threads/thread/algorithm: Move to..
* testsuite/30_threads/thread/swap: ...this.
* testsuite/30_threads/thread/member/hardware_concurrency.cc: Add.
* testsuite/30_threads/thread/id/operators.cc: New.
From-SVN: r144007
PR c/35434
* c-common.c (handle_alias_attribute): Disallow attribute for
anything not a FUNCTION_DECL or VAR_DECL.
testsuite:
* gcc.dg/attr-alias-4.c: New test.
From-SVN: r143998
PR c/36432
* c-decl.c (grokdeclarator): Don't treat [] declarators in fields
as indicating flexible array members unless the field itself is
being declarared as the incomplete array.
testsuite:
* gcc.dg/c90-flex-array-2.c, gcc.dg/c99-flex-array-6.c: New tests.
From-SVN: r143989
2009-02-06 Richard Guenther <rguenther@suse.de>
PR middle-end/38977
* tree-cfg.c (need_fake_edge_p): Force a fake edge for
fork because we may expand it as __gcov_fork.
From-SVN: r143982
2009-02-06 Paolo Bonzini <bonzini@gnu.org>
PR tree-optimization/35659
* tree-ssa-sccvn.c (vn_constant_eq, vn_reference_eq, vn_nary_op_eq
vn_phi_eq): Shortcut if hashcode does not match.
(vn_reference_op_compute_hash): Do not call iterative_hash_expr for
NULL operands.
* tree-ssa-pre.c (pre_expr_hash): Look at hashcode if available,
and avoid iterative_hash_expr.
(FOR_EACH_VALUE_ID_IN_SET): New.
(value_id_compare): Remove.
(sorted_array_from_bitmap_set): Use FOR_EACH_VALUE_ID_IN_SET to
sort expressions by value id.
From-SVN: r143980
2009-02-05 Chris Fairles <cfairles@gcc.gnu.org>
* include/std/tuple (_Head_base<>::_Head_base(_UHead&&)): Formatting.
(_Head_base<>::__swap_impl): Rename to _M_swap_impl.
(_Tuple_impl<>::__swap_impl): Likewise and make protected to avoid
exposing it in public std::tuple interface.
From-SVN: r143979
PR c++/39106
* cgraphunit.c (cgraph_function_versioning): Clear also DECL_VIRTUAL_P
on the copied decl.
* g++.dg/opt/thunk3.C: New test.
From-SVN: r143973
2009-02-05 Daniel Berlin <dberlin@dberlin.org>
Richard Guenther <rguenther@suse.de>
PR tree-optimization/39100
* tree-ssa-structalias.c (do_ds_constraint): Actually do what the
comment says and add edges.
Co-Authored-By: Richard Guenther <rguenther@suse.de>
From-SVN: r143951