OSDN Git Service

pf3gnuchains/gcc-fork.git
9 years agoupdate copyright
amodra [Thu, 28 Jul 2011 08:25:26 +0000 (08:25 +0000)]
update copyright

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176863 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/49687
gjl [Thu, 28 Jul 2011 08:03:07 +0000 (08:03 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176862 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
amodra [Thu, 28 Jul 2011 07:44:24 +0000 (07:44 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176861 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
uros [Thu, 28 Jul 2011 07:18:49 +0000 (07:18 +0000)]
* config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176860 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
jakub [Thu, 28 Jul 2011 06:35:38 +0000 (06:35 +0000)]
* gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
the builtin isn't optimized away.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176859 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176856 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-27 Tobias Burnus <burnus@net-b.de>
burnus [Wed, 27 Jul 2011 22:33:00 +0000 (22:33 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176852 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR middle-end/49875
aldyh [Wed, 27 Jul 2011 19:51:04 +0000 (19:51 +0000)]
   PR middle-end/49875
        * c-c++-common/cxxbitfields-4.c: Check for smaller than long
        moves.
        * c-c++-common/cxxbitfields-5.c: Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176848 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-27 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Wed, 27 Jul 2011 19:33:51 +0000 (19:33 +0000)]
2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176847 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * lib/target-supports.exp (check_effective_target_mmap): Use
uweigand [Wed, 27 Jul 2011 19:01:23 +0000 (19:01 +0000)]
* lib/target-supports.exp (check_effective_target_mmap): Use
check_function_available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176846 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPropagate the source location of a template's function_decl to the
jyasskin [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.  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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176845 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/49866
jakub [Wed, 27 Jul 2011 18:19:40 +0000 (18:19 +0000)]
PR target/49866
* gcc.target/i386/pr49866.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176842 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd BMI testcases.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176840 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR49471: canonicalize_loop_ivs should not generate unsigned types.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176838 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR45450: disable legality check after an openscop read
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176837 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR47691: do not abort compilation when code generation fails
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176836 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/49313
gjl [Wed, 27 Jul 2011 16:39:13 +0000 (16:39 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176835 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_expand_move): Do not explicitly check
uros [Wed, 27 Jul 2011 16:21:18 +0000 (16:21 +0000)]
* config/i386/i386.c (ix86_expand_move): Do not explicitly check
the mode of symbolic_opreand RTXes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176834 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/predicates.md (x86_64_movabs_operand): Reject
uros [Wed, 27 Jul 2011 16:16:42 +0000 (16:16 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176833 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.target/i386/avx-os-support.h: New.
uros [Wed, 27 Jul 2011 15:39:58 +0000 (15:39 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176829 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_option_override_internal): Allow -mabi
ktietz [Wed, 27 Jul 2011 15:33:50 +0000 (15:33 +0000)]
    * 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176828 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-27 Kai Tietz <ktietz@redhat.com>
ktietz [Wed, 27 Jul 2011 14:59:40 +0000 (14:59 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176827 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * params.h (ALLOW_STORE_DATA_RACES): New.
aldyh [Wed, 27 Jul 2011 13:22:09 +0000 (13:22 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176824 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Daniel Carrera <dcarrera@gmail.com>
dcarrera [Wed, 27 Jul 2011 10:10:06 +0000 (10:10 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176822 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
jakub [Wed, 27 Jul 2011 09:36:25 +0000 (09:36 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176819 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-27 Kai Tietz <ktietz@redhat.com>
ktietz [Wed, 27 Jul 2011 09:21:06 +0000 (09:21 +0000)]
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176818 138bc75d-0d04-0410-961f-82ee72b054a4

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

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176816 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoCall simplify_gen_subreg for PIC with mode of x.
hjl [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176812 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.c (output_macinfo_op): Ensure fd->filename points
jakub [Tue, 26 Jul 2011 21:12:39 +0000 (21:12 +0000)]
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176811 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Tue, 26 Jul 2011 20:00:31 +0000 (20:00 +0000)]
/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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176809 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR47046: correct evolution_function_is_affine_p
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176805 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAvoid use of lang_hooks.types.type_for_size.
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176804 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd testcase for PR47593
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176803 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR47653: do not handle loops using wrapping semantics in graphite
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176802 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix PR48805: Do not instantiate ADDR_EXPRs
spop [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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176801 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac: Set have_compiler based on whether gcc directory
ian [Tue, 26 Jul 2011 18:44:11 +0000 (18:44 +0000)]
* configure.ac: Set have_compiler based on whether gcc directory
exists, rather than on whether gcc is in configdirs.
* configure: Rebuild.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176800 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/47369
uros [Tue, 26 Jul 2011 18:03:54 +0000 (18:03 +0000)]
PR target/47369
PR target/49853
* config/i386/i386.c (ix86_expand_move): Call convert_to_mode
if legitimize_tls_address returned operand in wrong mode. Allow
SImode and DImode symbolic operand for PIC.  Call convert_to_mode
if legitimize_pic_address returned operand in wrong mode.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176798 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 26 Jul 2011 17:21:21 +0000 (17:21 +0000)]
2011-07-26  Martin Jambor  <mjambor@suse.cz>

* tree-sra.c (tree_non_mode_aligned_mem_p): Strip conversions and
return false for invariants.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176797 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove an extra line.
hjl [Tue, 26 Jul 2011 17:07:51 +0000 (17:07 +0000)]
Remove an extra line.

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

* testsuite/demangle-expected: Remove an extra line.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176796 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.md (add->lea splitter): Implement using SWI
uros [Tue, 26 Jul 2011 16:04:53 +0000 (16:04 +0000)]
* config/i386/i386.md (add->lea splitter): Implement using SWI
mode iterator.  Change operand 2 predicate to <nonmemory_operand>.
(add->lea zext splitter): Change operand 2 predicate to
x86_64_nonmemory_operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176795 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 26 Jul 2011 15:44:50 +0000 (15:44 +0000)]
2011-07-26  Richard Guenther  <rguenther@suse.de>

* predict.c (maybe_hot_frequency_p): Make sure a zero entry-block
frequency makes everything hot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176794 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * cp-demangle.c (d_print_init): Initialize pack_index field.
ian [Tue, 26 Jul 2011 14:28:23 +0000 (14:28 +0000)]
* cp-demangle.c (d_print_init): Initialize pack_index field.
(d_print_comp): Check for NULL template argument.
* testsuite/demangle-expected: Add test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176791 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Richard Guenther <rguenther@suse.de>
rguenth [Tue, 26 Jul 2011 12:37:00 +0000 (12:37 +0000)]
2011-07-26  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49840
* tree-vrp.c (range_fits_type_p): Properly handle full
double-int precision.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176790 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Martin Jambor <mjambor@suse.cz>
jamborm [Tue, 26 Jul 2011 12:26:58 +0000 (12:26 +0000)]
2011-07-26  Martin Jambor  <mjambor@suse.cz>

PR bootstrap/49786
* ipa-cp.c (update_profiling_info): Avoid overflow when updating
counts.
(update_specialized_profile): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176789 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/47381
uros [Tue, 26 Jul 2011 12:00:33 +0000 (12:00 +0000)]
PR target/47381
PR target/49832
PR target/49833
* config/i386/i386.md (i): Change SImode attribute to "e".
(g): Change SImode attribute to "rme".
(di): Change SImode attribute to "nF".
(general_operand): Change SImode attribute to x86_64_general_operand.
(general_szext_operand): Change SImode attribute to
x86_64_szext_general_operand.
(immediate_operand): Change SImode attribute to
x86_64_immediate_operand.
(nonmemory_operand): Change SImode attribute to
x86_64_nonmemory_operand.
(*movdi_internal_rex64): Remove mode from pic_32bit_operand check.
(*movsi_internal): Ditto.  Use "e" constraint in alternative 2.
(*lea_1): Use SWI48 mode iterator.
(*lea_1_zext): New insn pattern.
(testsi_ccno_1): Use x86_64_nonmemory_operand predicate for operand 2.
(*bt<mode>): Ditto.
(*add<mode>1): Use x86_64_general_operand predicate for operand 2.
Update operand constraints.
(addsi_1_zext): Ditto.
(*add<mode>2): Ditto.
(*addsi_3_zext): Ditto.
(*subsi_1_zext): Ditto.
(*subsi_2_zext): Ditto.
(*subsi_3_zext): Ditto.
(*addsi3_carry_zext): Ditto.
(*<plusminus_insn>si3_zext_cc_overflow): Ditto.
(*mulsi3_1_zext): Ditto.
(*andsi_1): Ditto.
(*andsi_1_zext): Ditto.
(*andsi_2_zext): Ditto.
(*<any_or:code>si_1_zext): Ditto.
(*<any_or:code>si_2_zext): Ditto.
(*test<mode>_1): Use <general_operand> predicate for operand 1.
(*and<mode>_2): Ditto.
(mov<mode>cc): Use  <general_operand> predicate for operands 1 and 2.
(add->lea splitter): Check operand modes in insn constraint.  Extend
operands less than SImode wide to SImode.
(add->lea zext splitter): Do not extend input operands to DImode.
(*lea_general_1): Handle only QImode and HImode operands.
(*lea_general_2): Ditto.
(*lea_general_3): Ditto.
(*lea_general_1_zext): Remove.
(*lea_general_2_zext): Ditto.
(*lea_general_3_zext): Ditto.
(*lea_general_4): Check operand modes in insn constraint.  Extend
operands less than SImode wide to SImode.
(ashift->lea splitter): Ditto.
* config/i386/i386.c (ix86_print_operand_address): Print address
registers with 'q' modifier on 64bit targets.
* config/i386/predicates.md (pic_32bit_opreand): Define as special
predicate.  Reject non-SI and non-DI modes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176788 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-26 Tobias Burnus <burnus@net-b.de>
burnus [Tue, 26 Jul 2011 07:30:37 +0000 (07:30 +0000)]
2011-07-26  Tobias Burnus  <burnus@net-b.de>

        * trans-array.c (CAF_TOKEN_FIELD): New macro constant.
        (gfc_conv_descriptor_token): New function.
        * trans-array.h (gfc_conv_descriptor_token): New prototype.
        * trans-types.c (gfc_get_array_descriptor_base): For coarrays
        with -fcoarray=lib, append "void *token" to the array descriptor.
        (gfc_array_descriptor_base_caf): New static variable.
        * trans-expr.c (gfc_conv_procedure_call): Handle token and
        * offset
        when passing a descriptor coarray to a nondescriptor dummy.

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

        * gfortran.dg/coarray_lib_token_2.f90: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176784 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc.dg/vect/vect-70.c: Reduce the data size to fit
irar [Tue, 26 Jul 2011 07:00:45 +0000 (07:00 +0000)]
* gcc.dg/vect/vect-70.c: Reduce the data size to fit
SPU local store.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176783 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Andrew Pinski <apinski@cavium.com>
pinskia [Tue, 26 Jul 2011 05:28:45 +0000 (05:28 +0000)]
2011-07-25  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/49671
* tree-inline.c (remap_gimple_op_r): Copy TREE_THIS_VOLATILE and
TREE_THIS_NOTRAP into the inner most MEM_REF.
Always copy TREE_THIS_VOLATILE.
* tree-sra.c (ptr_parm_has_direct_uses): Check that the lhs, rhs and
arguments are not volatile references.

2011-07-25  Andrew Pinski  <apinski@cavium.com>

PR tree-opt/49671
* gcc.dg/tree-ssa/pr49671-1.c: New testcase.
* gcc.dg/tree-ssa/pr49671-2.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176782 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Benjamin Kosnik <bkoz@redhat.com>
bkoz [Tue, 26 Jul 2011 04:21:57 +0000 (04:21 +0000)]
2011-07-25  Benjamin Kosnik  <bkoz@redhat.com>

* include/std/array (at): Remove constexpr when -fno-exceptions.
* testsuite/23_containers/array/at_neg.cc: Test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176780 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
rth [Tue, 26 Jul 2011 00:57:55 +0000 (00:57 +0000)]
    * insn-notes.def (NOTE_INSN_CFA_RESTORE_STATE): Remove.
        * final.c (final_scan_insn): Don't test for it.
        (rest_of_clean_state): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176779 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 26 Jul 2011 00:18:37 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176778 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/49841
rth [Mon, 25 Jul 2011 22:53:25 +0000 (22:53 +0000)]
PR debug/49841
* config/rs6000/rs6000.c (rs6000_frame_related): Return the insn.
(emit_frame_save): Likewise.
(rs6000_emit_prologue): Move the FRAME_RELATED_EXPR from the save
insn onto a dummy blockage insn after the join label.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176773 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Generate remember/restore_state.
rth [Mon, 25 Jul 2011 22:41:17 +0000 (22:41 +0000)]
dwarf2cfi: Generate remember/restore_state.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176772 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Add debug_cfi_row.
rth [Mon, 25 Jul 2011 22:35:13 +0000 (22:35 +0000)]
dwarf2cfi: Add debug_cfi_row.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176771 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * genattr.c (write_upcase, gen_attr <enum definition writing>):
amylaar [Mon, 25 Jul 2011 21:32:56 +0000 (21:32 +0000)]
    * genattr.c (write_upcase, gen_attr <enum definition writing>):
        Move to ...
        * genattr-common.c ... here.
        (main): Call gen_attr.
        * optc-gen.awk: Make generated program include insn-attr-common.h .
        * Makefile.in (oprions.o): Depend on insn-attr-common.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176769 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 25 Jul 2011 17:50:13 +0000 (17:50 +0000)]
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR bootstrap/49845
* parser.c (cp_parser_perform_range_for_lookup): Always assign *being
and *end before returning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176765 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
aesok [Mon, 25 Jul 2011 17:46:07 +0000 (17:46 +0000)]
* config/m32c/m32c.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/m32c/m32c-protos.h (m32c_print_operand_punct_valid_p,
m32c_print_operand, m32c_print_operand_address): Remove.
* config/m32c/m32c.c (m32c_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(m32c_print_operand, m32c_print_operand_address): Make static.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176763 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove parm name from declaration
dodji [Mon, 25 Jul 2011 17:18:10 +0000 (17:18 +0000)]
Remove parm name from declaration

gcc/c-family

* c-common.h (set_underlying_type): Remove parm name from
declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176762 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 25 Jul 2011 17:08:48 +0000 (17:08 +0000)]
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>
    Nathan Ridge  <zeratul976@hotmail.com>

PR libstdc++/49836
* include/bits/stl_vector.h (vector<>::_M_emplace_back_aux):
Declare.
(vector<>::push_back(const value_type&)): Use it.
* include/bits/vector.tcc: Define.
(vector<>::emplace_back(_Args&&...)): Use it.
* testsuite/util/testsuite_tr1.h (CopyConsOnlyType, MoveConsOnlyType):
Add.
* testsuite/23_containers/vector/modifiers/push_back/49836.cc: New.
* testsuite/23_containers/deque/modifiers/push_back/49836.cc:
Likewise.
* testsuite/23_containers/deque/modifiers/push_front/49836.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
Adjust dg-error line number.
* testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_1_neg.cc: Likewise.
* testsuite/23_containers/vector/requirements/dr438/
constructor_2_neg.cc: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176761 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc:
ro [Mon, 25 Jul 2011 16:44:22 +0000 (16:44 +0000)]
gcc:
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document mmap.

gcc/testsuite:
* lib/target-supports.exp (check_effective_target_mmap): New proc.

* gcc.c-torture/execute/loop-2f.c: Remove #ifdef __unix__.
* gcc.c-torture/execute/loop-2g.c: Likewise.
* gcc.c-torture/execute/loop-2f.x: Load target-supports.exp.
Require mmap support.
* gcc.c-torture/execute/loop-2g.x: Likewise.
* gcc.dg/20030711-1.c: Replace dg-do target list by mmap.
(MAP_ANON): Provide default.
* gcc.dg/20050826-1.c: Likewise.
* gcc.target/i386/pr36533.c: Likewise.
* gcc.dg/vect/pr49038.c: Remove dg-do run.
Use dg-require-effective-target mmap.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176760 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
aesok [Mon, 25 Jul 2011 16:35:38 +0000 (16:35 +0000)]
* config/mmix/mmix.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS,
PRINT_OPERAND_PUNCT_VALID_P): Remove macro.
* config/mmix/mmix-protos.h (mmix_print_operand_punct_valid_p,
mmix_print_operand, mmix_print_operand_address): Remove.
* config/mmix/mmix.c (mmix_print_operand_punct_valid_p): Make static.
Change return type to bool. Change argument type to bool.
(mmix_print_operand, mmix_print_operand_address): Make static.
(mmix_intval, mmix_output_condition): Change 'x' argument type
to const_rtx.
(TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS,
TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176759 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/49347
ro [Mon, 25 Jul 2011 15:56:27 +0000 (15:56 +0000)]
PR c++/49347
* inclhack.def (solaris_posix_spawn_restrict): New fix.
* fixincl.x: Regenerate.
* tests/base/spawn.h: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176758 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/39386
gjl [Mon, 25 Jul 2011 15:41:55 +0000 (15:41 +0000)]
PR target/39386
* config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as
shift counter for x << x and x >> x shifts.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176756 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR libgomp/45351
ro [Mon, 25 Jul 2011 15:39:52 +0000 (15:39 +0000)]
PR libgomp/45351
* config/osf/sem.h: New file.
* configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176755 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Mon, 25 Jul 2011 15:29:13 +0000 (15:29 +0000)]
/cp
2011-07-25  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/49838
* parser.c (cp_parser_perform_range_for_lookup): Early return if
error_operand_p (range).

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

PR c++/49838
* g++.dg/cpp0x/range-for19.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176754 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc/testsuite:
ro [Mon, 25 Jul 2011 15:25:32 +0000 (15:25 +0000)]
gcc/testsuite:
PR testsuite/49753
* g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options.

Revert:
2011-07-15  Jakub Jelinek  <jakub@redhat.com>

PR testsuite/49753
* g++.dg/torture/pr49309.C: Remove.

libmudflap:
Revert:
2011-07-15  Jakub Jelinek  <jakub@redhat.com>

PR testsuite/49753
PR tree-optimization/49309
* testsuite/libmudflap.c++/pass68-frag.cxx: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176752 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/47124
ro [Mon, 25 Jul 2011 14:58:18 +0000 (14:58 +0000)]
PR target/47124
* config.gcc: Reject *-*-solaris2 configuration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176751 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 25 Jul 2011 14:51:47 +0000 (14:51 +0000)]
gcc/
PR tree-optimization/49809
* tree-ssa-phiopt.c (cond_if_else_store_replacement): Use
gimple_get_lhs instead of gimple_assign_lhs.

gcc/testsuite/
PR tree-optimization/49809
* gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New
test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176750 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * system.h [__cplusplus]: Wrap C function declarations in extern "C".
ro [Mon, 25 Jul 2011 14:26:58 +0000 (14:26 +0000)]
* system.h [__cplusplus]: Wrap C function declarations in extern "C".
-This line, and those below, will be ignored--

M    ChangeLog
M    system.h

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176748 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago gcc:
ro [Mon, 25 Jul 2011 14:24:59 +0000 (14:24 +0000)]
gcc:
* system.h [__cplusplus]: Wrap C function declarations in extern "C".

include:
* xregex.h (regoff_t): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176747 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 14:15:02 +0000 (14:15 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49822
* tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify
more.  Make sure to preserve stmts with side-effects.  Properly
handle virtual defs, follow a longer def chain.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176745 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agobehalf of romain.geissler@gmail.com. Fix plugin file installation
chrbr [Mon, 25 Jul 2011 11:15:12 +0000 (11:15 +0000)]
behalf of romain.geissler@gmail.com. Fix plugin file installation

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176741 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
ebotcazou [Mon, 25 Jul 2011 10:40:10 +0000 (10:40 +0000)]
* ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of
original nodes if we are dealing with virtual clones.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176739 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * common/config/c6x/c6x-common.c: New file.
bernds [Mon, 25 Jul 2011 10:37:07 +0000 (10:37 +0000)]
* common/config/c6x/c6x-common.c: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176738 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Roman Zhuykov <zhroma@ispras.ru>
amonakov [Mon, 25 Jul 2011 09:43:01 +0000 (09:43 +0000)]
2011-07-25  Roman Zhuykov  <zhroma@ispras.ru>

* tree-flow.h (tree_ssa_loop_version): Remove unused declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176737 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 08:30:46 +0000 (08:30 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/49715
* tree-vrp.c: Include expr.h and optabs.h.
(range_fits_type_): New function.
(simplify_float_conversion_using_ranges): Likewise.
(simplify_stmt_using_ranges): Call it.
* Makefile.in (tree-vrp.o): Add $(EXPR_H) and $(OPTABS_H) dependencies.
* optabs.c (can_float_p): Export.
* optabs.h (can_float_p): Declare.

* gcc.target/i386/pr49715-1.c: New testcase.
* gcc.target/i386/pr49715-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176735 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-25 Richard Guenther <rguenther@suse.de>
rguenth [Mon, 25 Jul 2011 08:29:01 +0000 (08:29 +0000)]
2011-07-25  Richard Guenther  <rguenther@suse.de>

* tree-vrp.c (num_vr_values, values_propagated): New global vars.
(get_value_range): For out-of-range SSA names or names created
after propagation return a read-only varying range.
(dump_all_value_ranges): Adjust.
(vrp_initialize): Likewise.
(vrp_finalize): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176734 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/49823
jason [Mon, 25 Jul 2011 05:03:50 +0000 (05:03 +0000)]
PR c++/49823
* parser.c (cp_parser_qualifying_entity): Handle templates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176732 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/49831
rth [Mon, 25 Jul 2011 03:35:05 +0000 (03:35 +0000)]
PR debug/49831
        * dwarf2cfi.c (connect_traces): Allow unvisited traces.  Skip
        them entirely.

Constant pools are emitted in such a way as to be indistinguishable
from regular instructions, and these constant pools are, naturally,
not reachable as code.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176730 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/49825
rth [Mon, 25 Jul 2011 03:26:35 +0000 (03:26 +0000)]
PR debug/49825
        * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier.
        (dwarf2out_notice_stack_adjust): Use args_size from call_insn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176729 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/49827
rth [Mon, 25 Jul 2011 03:18:13 +0000 (03:18 +0000)]
PR debug/49827
        * dwarf2cfi.c (create_trace_edges): Handle sequences properly.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176728 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Reset args_size properly across abnormal edges.
rth [Mon, 25 Jul 2011 03:10:42 +0000 (03:10 +0000)]
dwarf2cfi: Reset args_size properly across abnormal edges.

        * dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
        Zero args_size for abnormal edges.  Adjust all callers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176727 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR debug/49825
rth [Mon, 25 Jul 2011 03:05:06 +0000 (03:05 +0000)]
PR debug/49825

Test case gcc.c-torture/compile/pr49474.c, among others.

        * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176726 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove the unused demangle_flag in collect2.c.
hjl [Mon, 25 Jul 2011 02:08:44 +0000 (02:08 +0000)]
Remove the unused demangle_flag in collect2.c.

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

PR bootstrap/49835
* collect2.c (demangle_flag): Removed.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176725 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 25 Jul 2011 00:18:53 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176724 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-24 Sandra Loosemore <sandra@codesourcery.com>
sandra [Sun, 24 Jul 2011 23:22:41 +0000 (23:22 +0000)]
2011-07-24  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* configure.ac (demangler_in_ld): Default to yes.
* configure: Regenerated.
* collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't
mess with COLLECT_NO_DEMANGLE, and just pass --demangle and
--no-demangle options straight through to ld.  When
HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a
way that has the intended effect on Windows.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176720 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-24 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Sun, 24 Jul 2011 19:47:04 +0000 (19:47 +0000)]
2011-07-24  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt,
_M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176718 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2011-07-24 Fran├žois Dumont <francois.cppdevs@free.fr>
fdumont [Sun, 24 Jul 2011 19:20:26 +0000 (19:20 +0000)]
2011-07-24  Fran├žois Dumont  <francois.cppdevs@free.fr>

        * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use
        __builtin_floor rather than __builtin_ceil to compute next resize
        value.
        * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
        New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176717 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
ebotcazou [Sun, 24 Jul 2011 13:14:17 +0000 (13:14 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the
subprogram has copy-in copy-out parameters, try to promote the mode of
the return type if it is passed in registers.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176714 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
ebotcazou [Sun, 24 Jul 2011 12:50:41 +0000 (12:50 +0000)]
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
left operand as addressable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176713 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/gigi.h (build_function_stub): Remove.
ebotcazou [Sun, 24 Jul 2011 12:45:44 +0000 (12:45 +0000)]
* gcc-interface/gigi.h (build_function_stub): Remove.
(build_return_expr): Likewise.
(convert_vms_descriptor): Declare.
* gcc-interface/utils.c (convert_vms_descriptor): Make global.
(build_function_stub): Move to...
* gcc-interface/utils2.c (build_return_expr): Move to...
* gcc-interface/trans.c (build_function_stub): ...here.
(build_return_expr): ...here.
(Subprogram_Body_to_gnu): Add local variable for language_function.
Disconnect the parameter attributes cache, if any, once done with it.
Call end_subprog_body only after setting the end_locus.
Build the stub associated with the function, if any, at the very end.
(gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local
variables and streamline control flow.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176712 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 24 Jul 2011 00:18:49 +0000 (00:18 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176711 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Generate and connect traces.
rth [Sat, 23 Jul 2011 20:49:33 +0000 (20:49 +0000)]
dwarf2cfi: Generate and connect traces.

This kinda-sorta corresponds to Bernd's 007-dw2cfi patch.  Certainly
the same concepts of splitting the instruction stream into extended
basic blocks is the same.  This patch does a bit better job with the
documentation.  Also, I'm a bit more explicit about matching things
up with the similar code from the regular CFG routines.

What's missing at this point is any attempt to use DW_CFA_remember_state.
I've deferred that for the moment because it's easy to test the state
change code across epilogues, whereas the shrink-wrapping code is not
in this tree and section switching is difficult to force.

        * dwarf2cfi.c: Include basic-block.h.
        (dw_label_info): Remove.
        (trace_work_list, trace_index): New.
        (remember_row, emit_cfa_remember): Remove.
        (dw_trace_info_hash, dw_trace_info_eq): New.
        (get_trace_index, get_trace_info): New.
        (save_point_p): New.
        (free_cfi_row): Remove.
        (add_cfi): Do not emit DW_CFA_remember_state.
        (cfa_row_equal_p): New.
        (barrier_args_size): Remove.
        (compute_barrier_args_size_1, compute_barrier_args_size): Remove.
        (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size.
        (maybe_record_trace_start, create_trace_edges, scan_trace): New.
        (dwarf2out_cfi_begin_epilogue): Remove.
        (dwarf2out_frame_debug_restore_state): Remove.
        (connect_traces, create_pseudo_cfg): New.
        (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces.
        * Makefile.in (dwarf2cfi.o): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176705 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Introduce dw_trace_info.
rth [Sat, 23 Jul 2011 20:36:36 +0000 (20:36 +0000)]
dwarf2cfi: Introduce dw_trace_info.

This patch only introduces the structure definition and adjusts
the existing routines to use the new cur_trace global to access
the variables that were moved into the structure.

        * dwarf2cfi.c (dw_trace_info): New.
        (dw_label_info): New.
        (cie_return_save): New.
        (cur_trace): New.
        (queued_args_size): Rename from args_size.  Update all users.
        (cfa_store, cfa_temp, regs_saved_in_regs): Remove.
        (def_cfa_1): Use cur_trace instead of cfa_*.
        (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise.
        (clobbers_queued_reg_save, reg_saved_in): Likewise.
        (dwarf2out_frame_debug_expr): Likewise.
        (create_cie_data): Split out from ...
        (execute_dwarf2_frame): ... here.  Initialize cur_trace.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176704 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Allocate reg_saved_in_data in the heap.
rth [Sat, 23 Jul 2011 20:27:32 +0000 (20:27 +0000)]
dwarf2cfi: Allocate reg_saved_in_data in the heap.

        * dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc.
        Update all users to match.
        (execute_dwarf2_frame): Free reg_saved_in_data.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176703 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Convert queued_reg_save to a VEC.
rth [Sat, 23 Jul 2011 20:25:47 +0000 (20:25 +0000)]
dwarf2cfi: Convert queued_reg_save to a VEC.

Also, allocate it in the heap instead of garbage collected.

        * dwarf2cfi.c (queued_reg_save): Reorder for packing.  Don't GTY.
        (queued_reg_saves): Don't GTY.  Change to a VEC.
        (queue_reg_save): Update to match.
        (dwarf2out_flush_queued_reg_saves): Likewise.
        (clobbers_queued_reg_save): Likewise.
        (reg_saved_in): Likewise.
        (execute_dwarf2_frame): Free queued_reg_saves.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176702 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Remove dw_cfi_row_ref typedef.
rth [Sat, 23 Jul 2011 20:19:22 +0000 (20:19 +0000)]
dwarf2cfi: Remove dw_cfi_row_ref typedef.

        * dwarf2cfi.c (dw_cfi_row_ref): Remove.  Update all users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176701 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Implement change_cfi_row.
rth [Sat, 23 Jul 2011 20:17:54 +0000 (20:17 +0000)]
dwarf2cfi: Implement change_cfi_row.

Add a generic function to adjust cfi state from one row to another.
Use this to implement text section switching.  This will also be
usable for arbitrary changes around a cfg for shrink-wrapping.

        * dwarf2cfi.c (add_cfi_args_size): Split out from...
        (dwarf2out_args_size): ... here.
        (add_cfi_restore): Split out from ...
        (dwarf2out_frame_debug_cfa_restore): ... here.
        (def_cfa_0): Split out from ...
        (def_cfa_1): ... here.
        (cfi_oprnd_equal_p, cfi_equal_p): New.
        (change_cfi_row): New.
        (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index.
        (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note.
        (output_cfis): Remove.
        * dwarf2out.c (output_fde): Simplify output_cfi loop.
        (dwarf2out_switch_text_section): Don't call output_cfis.
        (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New.
        * dwarf2out.h: Update decls.
        (enum dw_val_class): Add dw_val_class_none.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176700 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Populate CUR_ROW->REG_SAVE.
rth [Sat, 23 Jul 2011 20:06:42 +0000 (20:06 +0000)]
dwarf2cfi: Populate CUR_ROW->REG_SAVE.

To be actually used by a subsequent patch.

        * dwarf2cfi.c (update_row_reg_save): New.
        (dwarf2out_frame_debug_cfa_expression): Use it.
        (dwarf2out_frame_debug_cfa_restore): Likewise.
        (reg_save): Likewise.  Do not emit DW_CFA_same_value.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176699 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agodwarf2cfi: Rename cfi_insn to add_cfi_insn.
rth [Sat, 23 Jul 2011 20:00:43 +0000 (20:00 +0000)]
dwarf2cfi: Rename cfi_insn to add_cfi_insn.

Make it consistent with add_cfi_vec.

        * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn.  Update all users.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176698 138bc75d-0d04-0410-961f-82ee72b054a4