gcc/
2009-02-12 Paolo Bonzini <bonzini@gnu.org>
PR target/39152
* config/i386/i386.md: Replace simplify_replace_rtx with
replace_rtx in the new peephole2.
gcc/testsuite/
2009-02-12 H.J. Lu <hongjiu.lu@intel.com>
PR target/39152
* gfortran.dg/pr39152.f: New.
From-SVN: r144126
* config/rs6000/rs6000.md (allocate_stack): Use _stack form of
patterns when updating the back chain. Missed in the 2009-02-10
change.
From-SVN: r144120
PR middle-end/39154
* gimplify.c (omp_notice_variable): If adding GOVD_SEEN
bit to variable length decl's flags, add it also to its
pointer replacement variable.
* testsuite/libgomp.c/pr39154.c: New test.
From-SVN: r144111
PR target/39118
* config/i386/i386.md (UNSPEC_MEMORY_BLOCKAGE): New constant.
(memory_blockage): New expander.
(*memory_blockage): New insn pattern.
* config/i386/i386.c (ix86_expand_prologue): Use memory_blockage
instead of general blockage at the end of function prologue when
frame pointer is used to access red zone area. Do not emit blockage
when profiling, it is emitted in generic code.
(ix86_expand_epilogue): Emit memory_blockage at the beginning of
function epilogue when frame pointer is used to access red zone area.
From-SVN: r144100
gcc:
2009-02-06 Paolo Bonzini <bonzini@gnu.org>
* config/i386/i386.md: Add two new peephole2 to avoid mov followed
by arithmetic with memory operands.
* config/i386/predicates.md (commutative_operator): New.
gcc/testsuite:
2009-02-06 Paolo Bonzini <bonzini@gnu.org>
* gcc.target/i386/pr38824.c: New testcase.
From-SVN: r144098
* alias.h (record_alias_subset): Declare.
* alias.c (record_alias_subset): Make global.
ada/
* gcc-interface/decl.c (enum alias_set_op): New enumeration.
(copy_alias_set): Rename into...
(relate_alias_sets): ...this. Add third parameter OP. Retrieve the
underlying array of unconstrained arrays for the new type as well.
If the old and new alias sets don't conflict, make one a subset of
the other as per the OP parameter.
(gnat_to_gnu_entity): Adjust calls to copy_alias_set.
<E_Record_Type>: Do not copy the alias set for derived types.
For all types, make the alias set of derived types a superset of
that of their parent type.
(make_aligning_type): Adjust calls to copy_alias_set.
(make_packable_type): Likewise.
* gcc-interface/trans.c (gnat_to_gnu)<N_Validate_Unchecked_Conversion>:
Check for alias set conflict instead of strict equality to issue the
warning.
From-SVN: r144084
PR target/39118
* config/i386/i386.c (expand_prologue): Emit blockage at the end
of function prologue when frame pointer is used to access
red zone area.
From-SVN: r144063
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