platform/upstream/gcc.git
8 years ago[ARM] PR target/65932: stop changing signedness in PROMOTE_MODE
Jim Wilson [Thu, 4 Feb 2016 09:50:12 +0000 (09:50 +0000)]
[ARM] PR target/65932: stop changing signedness in PROMOTE_MODE

2016-02-04  Jim Wilson  <jim.wilson@linaro.org>

PR target/65932
PR target/67714
* config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
HImode.

From-SVN: r233130

8 years agoarm-c.c (arm_reset_previous_fndecl): Style fix and typo.
Christian Bruel [Thu, 4 Feb 2016 09:06:32 +0000 (10:06 +0100)]
arm-c.c (arm_reset_previous_fndecl): Style fix and typo.

2016-02-04  Christian Bruel  <christian.bruel@st.com>

* config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
* config/arm/arm.c (arm_set_current_function): Likewise.

From-SVN: r233129

8 years agore PR target/69454 (ix86_expand_prologue internal compiler error: Segmentation fault)
Jakub Jelinek [Thu, 4 Feb 2016 09:02:01 +0000 (10:02 +0100)]
re PR target/69454 (ix86_expand_prologue internal compiler error: Segmentation fault)

PR target/69454
* config/i386/i386.c (convert_scalars_to_vector): Remove
stack alignment fixes.
(ix86_option_override_internal): Disable TARGET_STV if stack
might not be aligned enough.
(ix86_minimum_alignment): Assert that TARGET_STV is false.

* gcc.target/i386/pr69454-1.c: New test.
* gcc.target/i386/pr69454-2.c: New test.

From-SVN: r233128

8 years agoDisable auto prefetcher for -march=znver1.
Victoria Stepanyan [Thu, 4 Feb 2016 07:52:08 +0000 (07:52 +0000)]
Disable auto prefetcher for -march=znver1.

2016-02-04  Victoria Stepanyan  <victoria.stepanyan@amd.com>

        * gcc/config/i386/x86-tune.def: Disable default prefetching
        for -march=znver1.

From-SVN: r233127

8 years agoPR c++/69251 - [6 Regression] ICE in unify_array_domain on a flexible array
Martin Sebor [Thu, 4 Feb 2016 04:50:42 +0000 (21:50 -0700)]
PR c++/69251 - [6 Regression] ICE in unify_array_domain on a flexible array

PR c++/69251 - [6 Regression] ICE in unify_array_domain on a flexible array
               member
PR c++/69253 - [6 Regression] ICE in cxx_incomplete_type_diagnostic initializing
               a flexible array member with empty string
PR c++/69290 - [6 Regression] ICE on invalid initialization of a flexible array
               member
PR c++/69277 - [6 Regression] ICE mangling a flexible array member
PR c++/69349 - template substitution error for flexible array members

gcc/testsuite/ChangeLog:
2016-02-03  Martin Sebor  <msebor@redhat.com>

PR c++/69251
PR c++/69253
PR c++/69290
PR c++/69277
PR c++/69349
* g++.dg/ext/flexarray-mangle-2.C: New test.
* g++.dg/ext/flexarray-mangle.C: New test.
* g++.dg/ext/flexarray-subst.C: New test.
* g++.dg/ext/flexary11.C: New test.
* g++.dg/ext/flexary12.C: New test.
* g++.dg/ext/flexary13.C: New test.
* g++.dg/ext/flexary14.C: New test.
* g++.dg/other/dump-ada-spec-2.C: Adjust.

gcc/cp/ChangeLog:
2016-02-03  Martain Sebor  <msebor@redhat.com>

PR c++/69251
PR c++/69253
PR c++/69290
PR c++/69277
PR c++/69349
* class.c (walk_subobject_offsets): Avoid testing the upper bound
of a flexible array member for equality to null.
(find_flexarrays): Remove spurious whitespace introduced in r231665.
(diagnose_flexarrays): Avoid checking the upper bound of arrays.
(check_flexarrays): Same.
* decl.c (compute_array_index_type): Avoid special case for flexible
array members.
(grokdeclarator): Avoid calling compute_array_index_type for flexible
array members.
* error.c (dump_type_suffix): Revert changes introduced in r231665
and rendered unnecessary by the changes above.
* pt.c (tsubst):  Same.
* tree.c (build_ctor_subob_ref): Handle flexible array members.
* typeck2.c (digest_init_r): Revert changes introduced in r231665.
(process_init_constructor_array): Same.
(process_init_constructor_record): Same.

From-SVN: r233126

8 years agoDefine check_union_passing6 only for CHECK_FLOAT128
H.J. Lu [Thu, 4 Feb 2016 01:46:17 +0000 (01:46 +0000)]
Define check_union_passing6 only for CHECK_FLOAT128

* gcc.target/i386/iamcu/test_passing_unions.c (check_union_passing6):
Define only if CHECK_FLOAT128 is defined.
(main): Properly initialize u5.

From-SVN: r233124

8 years agore PR target/69461 (ICE in lra_set_insn_recog_data, at lra.c:964)
Michael Meissner [Thu, 4 Feb 2016 00:39:34 +0000 (00:39 +0000)]
re PR target/69461 (ICE in lra_set_insn_recog_data, at lra.c:964)

2016-02-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
    Vladimir Makarov  <vmakarov@redhat.com>

PR target/69461
* config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
in validating fused toc addresses.

Co-Authored-By: Vladimir Makarov <vmakarov@redhat.com>
From-SVN: r233120

8 years agoDaily bump.
GCC Administrator [Thu, 4 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233119

8 years agore PR c/69627 (Conditional jump or move depends on uninitialised value(s) in (anonymo...
Jakub Jelinek [Wed, 3 Feb 2016 22:40:22 +0000 (23:40 +0100)]
re PR c/69627 (Conditional jump or move depends on uninitialised value(s) in (anonymous namespace)::layout::get_state_at_point)

PR c/69627
* diagnostic-show-locus.c (layout::get_state_at_point): Don't read
range->m_caret fields if range->m_show_caret_p is false.

* gcc.dg/pr69627.c: New test.

From-SVN: r233114

8 years agore PR target/69644 (ICE with -O on __sync_bool_compare_and_swap with short in extract...
Jakub Jelinek [Wed, 3 Feb 2016 22:38:56 +0000 (23:38 +0100)]
re PR target/69644 (ICE with -O on __sync_bool_compare_and_swap with short in extract_insn, at recog.c:2286)

PR target/69644
* config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
Force oldval into register if it does not satisfy reg_or_short_operand
predicate.  Fix up formatting.

* gcc.dg/pr69644.c: New test.

From-SVN: r233113

8 years agocompat.exp (compat-get-options-main): Add dg-timeout-factor support for struct-layout...
Mike Stump [Wed, 3 Feb 2016 22:23:57 +0000 (22:23 +0000)]
compat.exp (compat-get-options-main): Add dg-timeout-factor support for struct-layout-1.exp.

* lib/compat.exp (compat-get-options-main): Add dg-timeout-factor
support for struct-layout-1.exp.

From-SVN: r233112

8 years agore PR bootstrap/69611 (Bootstrap broken on PowerPC FreeBSD, IEEE 128-bit floating...
Andreas Tobler [Wed, 3 Feb 2016 22:15:21 +0000 (23:15 +0100)]
re PR bootstrap/69611 (Bootstrap broken on PowerPC FreeBSD, IEEE 128-bit floating point support.)

2016-02-03  Andreas Tobler  <andreast@gcc.gnu.org>

    PR bootstrap/69611
    * config/rs6000/sfp-machine.h: Guard __sfp_exceptions with
    __FLOAT128__ to compile only for __float128 capable targets.

From-SVN: r233111

8 years agolibgo: Update to go1.6rc1.
Ian Lance Taylor [Wed, 3 Feb 2016 21:58:02 +0000 (21:58 +0000)]
libgo: Update to go1.6rc1.

    Reviewed-on: https://go-review.googlesource.com/19200

From-SVN: r233110

8 years agoAdd the new IA MCU test
H.J. Lu [Wed, 3 Feb 2016 20:17:24 +0000 (12:17 -0800)]
Add the new IA MCU test

From-SVN: r233109

8 years agoFix PR c++/69056 (argument pack deduction failure during overload resolution)
Patrick Palka [Wed, 3 Feb 2016 20:14:43 +0000 (20:14 +0000)]
Fix PR c++/69056 (argument pack deduction failure during overload resolution)

gcc/cp/ChangeLog:

PR c++/69056
* pt.c (try_one_overload): Handle comparing argument packs so
that there is no conflict if we deduced more arguments of an
argument pack than were explicitly specified.

gcc/testsuite/ChangeLog:

PR c++/69056
g++.dg/cpp0x/pr69056.C: New test.

From-SVN: r233108

8 years agore PR target/69461 (ICE in lra_set_insn_recog_data, at lra.c:964)
Vladimir Makarov [Wed, 3 Feb 2016 17:58:34 +0000 (17:58 +0000)]
re PR target/69461 (ICE in lra_set_insn_recog_data, at lra.c:964)

2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
    Alexandre Oliva  <aoliva@redhat.com>

PR target/69461
* lra-constraints.c (simplify_operand_subreg): Check additionally
address validity after potential reloading.
(process_address_1): Check insns validity.  In case of failure do
nothing.

2016-02-03  Vladimir Makarov  <vmakarov@redhat.com>
    Alexandre Oliva  <aoliva@redhat.com>

PR target/69461
* gcc.target/powerpc/pr69461.c: New.

Co-Authored-By: Alexandre Oliva <aoliva@redhat.com>
From-SVN: r233107

8 years agotsan-dg.exp (tsan_init): Move check if tsan executable works from here ...
Uros Bizjak [Wed, 3 Feb 2016 17:01:01 +0000 (18:01 +0100)]
tsan-dg.exp (tsan_init): Move check if tsan executable works from here ...

* lib/tsan-dg.exp (tsan_init): Move check if tsan executable
works from here ...
(check_effective_target_fsanitize_thread): ... to here.  Do not
specify additional compile flags for the test source.
* lib/asan-dg.exp (check_effective_target_fsanitize_address): Do not
specify additional compile flags for the test source.

From-SVN: r233106

8 years agore PR target/69118 (Wrong condition in avx512f_maskcmp<mode>3)
Kirill Yukhin [Wed, 3 Feb 2016 13:44:50 +0000 (13:44 +0000)]
re PR target/69118 (Wrong condition in avx512f_maskcmp<mode>3)

PR target/69118

gcc/
* config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
Fix target.

From-SVN: r233103

8 years agoFix the ccmp_1.c test back to use '0' as regular expressions don't work correctly.
Wilco Dijkstra [Wed, 3 Feb 2016 12:18:19 +0000 (12:18 +0000)]
Fix the ccmp_1.c test back to use '0' as regular expressions don't work correctly.

Fix the ccmp_1.c test back to use '0' as regular expressions don't work
correctly. '0' is right due to compare with zero now printing as
'CMP w0, 0' rather than 'CMP w0, wzr'.

2016-02-03  Wilco Dijkstra  <wdijkstr@arm.com>

gcc/testsuite/
* gcc.target/aarch64/ccmp_1.c: Fix test issue.

From-SVN: r233102

8 years agore PR fortran/67451 ([F08] ICE with sourced allocation from coarray.)
Andre Vehreschild [Wed, 3 Feb 2016 10:39:09 +0000 (11:39 +0100)]
re PR fortran/67451 ([F08] ICE with sourced allocation from coarray.)

gcc/testsuite/ChangeLog:

2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/67451
PR fortran/69418
* gfortran.dg/coarray_allocate_2.f08: New test.
* gfortran.dg/coarray_allocate_3.f08: New test.
* gfortran.dg/coarray_allocate_4.f08: New test.

gcc/fortran/ChangeLog:

2016-02-03  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/67451
PR fortran/69418
* trans-expr.c (gfc_copy_class_to_class): For coarrays just the
pointer is passed.  Take it as is without trying to deref the
_data component.
* trans-stmt.c (gfc_trans_allocate): Take care of coarrays as
argument to source=-expression.

From-SVN: r233101

8 years ago[Testsuite] Fix scan-tree-dump failures with vect_multiple_sizes
Alan Lawrence [Wed, 3 Feb 2016 10:33:03 +0000 (10:33 +0000)]
[Testsuite] Fix scan-tree-dump failures with vect_multiple_sizes

* gcc.dg/vect/vect-outer-1-big-array.c: Drop vect_multiple_sizes;
use same scan-tree-dump-times on all platforms.
* gcc.dg/vect/vect-outer-1.c: Likewise.
* gcc.dg/vect/vect-outer-1a-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-1a.c: Likewise.
* gcc.dg/vect/vect-outer-1b-big-array.c: Likewise.
* gcc.dg/vect/vect-outer-1b.c: Likewise.
* gcc.dg/vect/vect-outer-2b.c: Likewise.
* gcc.dg/vect/vect-outer-3b.c: Likewise.
* gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise.

From-SVN: r233100

8 years agocompiler, runtime: mark stub methods, ignore them in runtime.Caller.
Ian Lance Taylor [Wed, 3 Feb 2016 06:54:41 +0000 (06:54 +0000)]
compiler, runtime: mark stub methods, ignore them in runtime.Caller.

    This fixes the long-standing bug in which the testing package misreports
    the file/line of an error.

    Reviewed-on: https://go-review.googlesource.com/19179

From-SVN: r233098

8 years agocompiler: Unpack method names when sorting them.
Ian Lance Taylor [Wed, 3 Feb 2016 05:27:16 +0000 (05:27 +0000)]
compiler: Unpack method names when sorting them.

    Reviewed-on: https://go-review.googlesource.com/19177

From-SVN: r233097

8 years agoDaily bump.
GCC Administrator [Wed, 3 Feb 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233096

8 years agoThis testcase fails on 32-bit powerpc-linux with
Segher Boessenkool [Tue, 2 Feb 2016 20:38:06 +0000 (21:38 +0100)]
This testcase fails on 32-bit powerpc-linux with

vector-compare-4.c

This testcase fails on 32-bit powerpc-linux with

Excess errors:
/home/segher/src/gcc/gcc/testsuite/c-c++-common/vector-compare-4.c:31:1: warning: GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee

Fix this as in vector-compare-2.c .

testsuite/
* c-c++-common/vector-compare-4.c: Prune "non-standard ABI extension"
warning.

From-SVN: r233093

8 years agowide-int.cc (canonize_uhwi): New function.
Jakub Jelinek [Tue, 2 Feb 2016 19:44:16 +0000 (20:44 +0100)]
wide-int.cc (canonize_uhwi): New function.

* wide-int.cc (canonize_uhwi): New function.
(wi::divmod_internal): Use it.

From-SVN: r233092

8 years agoAdd IA MCU tests for passing/returning of empty structures/unions
H.J. Lu [Tue, 2 Feb 2016 19:22:04 +0000 (11:22 -0800)]
Add IA MCU tests for passing/returning of empty structures/unions

* gcc.target/i386/iamcu/test_empty_structs_and_unions.c: New test.

From-SVN: r233090

8 years agogimplify.c (omp_notice_variable): Add usage check.
James Norris [Tue, 2 Feb 2016 19:17:37 +0000 (19:17 +0000)]
gimplify.c (omp_notice_variable): Add usage check.

gcc/
* gimplify.c (omp_notice_variable): Add usage check.

gcc/testsuite/
* c-c++-common/goacc/routine-5.c: Add tests.

From-SVN: r233089

8 years agonvptx: do not use alternative spelling of unsigned comparisons
Alexander Monakov [Tue, 2 Feb 2016 18:24:25 +0000 (21:24 +0300)]
nvptx: do not use alternative spelling of unsigned comparisons

gcc/ChangeLog:
* config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
        like LE, GE, LT, GT when emitting relational operator.

gcc/testsuite/ChangeLog:
* gcc.target/nvptx/unsigned-cmp.c: New test.

From-SVN: r233088

8 years agolibgomp: fix target-31.c testcase
Alexander Monakov [Tue, 2 Feb 2016 18:18:43 +0000 (21:18 +0300)]
libgomp: fix target-31.c testcase

* testsuite/libgomp.c/target-31.c: Fix testcase.

From-SVN: r233087

8 years agolibgomp: fix teams-3/4 testcases
Alexander Monakov [Tue, 2 Feb 2016 18:15:58 +0000 (21:15 +0300)]
libgomp: fix teams-3/4 testcases

* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
clause.
* testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
* testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
reduction and map clauses.
* testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.

From-SVN: r233086

8 years agoImprove TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS target hook.
Wilco Dijkstra [Tue, 2 Feb 2016 17:12:56 +0000 (17:12 +0000)]
Improve TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS target hook.

Improve TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS target hook.  It turns out there
is another case where the register allocator uses the union of register classes
without checking that the cost of the resulting register class is lower than
both (see https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01765.html ).  This
happens when the cost of the best and alternative class are both lower than the
memory cost.  In this case we typically end up with ALL_REGS as the allocno
class, which almost invariably results in bad allocations with many redundant
int<->FP moves (which are expensive on various cores).  AArch64 is affected by
this significantly due to supporting many scalar integer operations in SIMD.

Currently the TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook forces the class to
GENERAL_REGS if the allocno class is ALL_REGS and the register has an integer
mode.  This is bad if the best class happens to be FP_REGS.  To handle this
case as well, an extra argument is needed in the hook to pass the best class.
If the allocno class is ALL_REGS, but the best class isn't, we use the best
class instead (rather than using the mode to force to GENERAL_REGS or FP_REGS).

Previously this might happen:

r79: preferred FP_REGS, alternative GENERAL_REGS, allocno GENERAL_REGS
     a1 (r79,l0) best GENERAL_REGS, allocno GENERAL_REGS

a1(r79,l0) costs: CALLER_SAVE_REGS:5000,5000 GENERAL_REGS:5000,5000
                  FP_LO_REGS:0,0 FP_REGS:0,0 ALL_REGS:10000,10000 MEM:9000,9000

The proposed allocno is ALL_REGS (despite having the highest cost!) and is then
forced by the hook to GENERAL_REGS because r79 has integer mode.  However
FP_REGS has the lowest cost.  After this patch the choice is as follows:

r79: preferred FP_REGS, alternative GENERAL_REGS, allocno FP_REGS
     a1 (r79,l0) best FP_REGS, allocno FP_REGS

As a result it is now no longer a requirement to use register move costs that
are larger than the memory move cost.  So it will be feasible to use realistic
costs for both without a huge penalty.

2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
        * ira-costs.c (find_costs_and_classes): Add extra argument.
        * target.def (ira_change_pseudo_allocno_class): Add parameter.
        * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
        * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
        * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
        Add best_class parameter, and return it if not ALL_REGS.
        * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
        Add parameter.
        * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
        Update target hook.

From-SVN: r233084

8 years agoThis patch adds support for the TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook.
Wilco Dijkstra [Tue, 2 Feb 2016 17:03:05 +0000 (17:03 +0000)]
This patch adds support for the TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook.
When the cost of GENERAL_REGS and FP_REGS is identical, the register allocator
always uses ALL_REGS even when it has a much higher cost. The hook changes the
class to either FP_REGS or GENERAL_REGS depending on the mode of the register.
This results in better register allocation overall, fewer spills and reduced
codesize - particularly in SPEC2006 gamess.

2016-02-02  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
* config/aarch64/aarch64.c
(TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
(aarch64_ira_change_pseudo_allocno_class): New function.

    gcc/testsuite/
* gcc.target/aarch64/scalar_shift_1.c
(test_corners_sisd_di): Improve force to SIMD register.
(test_corners_sisd_si): Likewise.
* gcc.target/aarch64/vect-ld1r-compile-fp.c:
Remove scan-assembler check for ldr.

From-SVN: r233083

8 years ago* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
James Norris [Tue, 2 Feb 2016 16:22:26 +0000 (16:22 +0000)]
* testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.

From-SVN: r233082

8 years agore PR target/67032 (Geode optimizations incorrectly return -NaN)
Uros Bizjak [Tue, 2 Feb 2016 16:07:24 +0000 (17:07 +0100)]
re PR target/67032 (Geode optimizations incorrectly return -NaN)

PR target/67032
* config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.

From-SVN: r233079

8 years agoavr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1.
Senthil Kumar Selvaraj [Tue, 2 Feb 2016 16:01:45 +0000 (16:01 +0000)]
avr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1.

* config/avr/avr.c (avr_option_override): Set
PARAM_ALLOW_STORE_DATA_RACES to 1.

From-SVN: r233078

8 years agoMAINTAINERS (Write After Approval): Add myself
Claudiu Zissulescu [Tue, 2 Feb 2016 15:24:22 +0000 (16:24 +0100)]
MAINTAINERS (Write After Approval): Add myself

2016-02-02  Claudiu Zissulescu  <claziss@synopsys.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r233077

8 years agore PR tree-optimization/69595 (Bogus -Warray-bound warning due to missed optimization)
Richard Biener [Tue, 2 Feb 2016 15:19:32 +0000 (15:19 +0000)]
re PR tree-optimization/69595 (Bogus -Warray-bound warning due to missed optimization)

2016-02-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69595
* match.pd: Add range test simplifications to true/false.

* gcc.dg/Warray-bounds-17.c: New testcase.

From-SVN: r233076

8 years agoMerge BUILT_IN_GOACC_HOST_DATA into BUILT_IN_GOACC_DATA_START
Thomas Schwinge [Tue, 2 Feb 2016 13:53:55 +0000 (14:53 +0100)]
Merge BUILT_IN_GOACC_HOST_DATA into BUILT_IN_GOACC_DATA_START

gcc/
* omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
* omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
instead.
libgomp/
* libgomp.map (GOACC_2.0): Remove GOACC_host_data.
* oacc-parallel.c (GOACC_host_data): Remove function definition.

From-SVN: r233074

8 years agolibgomp: Skip hsa offloading for OpenACC test cases
Thomas Schwinge [Tue, 2 Feb 2016 12:48:41 +0000 (13:48 +0100)]
libgomp: Skip hsa offloading for OpenACC test cases

libgomp/
* testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
cases.

From-SVN: r233073

8 years agolibgomp: Use HSA_RUNTIME_LIB, HSA_KMT_LIB in the testsuite
Thomas Schwinge [Tue, 2 Feb 2016 12:48:31 +0000 (13:48 +0100)]
libgomp: Use HSA_RUNTIME_LIB, HSA_KMT_LIB in the testsuite

libgomp/
* plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
variables.
* testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
(hsa_kmt_lib): Set variables.
* testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
always_ld_library_path.
* Makefile.in: Regenerate.
* configure: Likewise.
* testsuite/Makefile.in: Likewise.

From-SVN: r233072

8 years agolibgomp: For hsa offloading, compilation is all handled by the target compiler
Thomas Schwinge [Tue, 2 Feb 2016 12:48:21 +0000 (13:48 +0100)]
libgomp: For hsa offloading, compilation is all handled by the target compiler

libgomp/
* plugin/configfrag.ac (offload_additional_options)
(offload_additional_lib_paths): Don't amend for hsa offloading.
* configure: Regenerate.

From-SVN: r233071

8 years agolibgomp: Don't configure for offloading target if we don't build the corresponding...
Thomas Schwinge [Tue, 2 Feb 2016 12:48:04 +0000 (13:48 +0100)]
libgomp: Don't configure for offloading target if we don't build the corresponding plugin

libgomp/
* plugin/configfrag.ac: Don't configure for offloading target if
we don't build the corresponding plugin.
* configure: Regenerate.

From-SVN: r233070

8 years agore PR tree-optimization/69606 (wrong code at -Os and above on x86_64-linux-gnu)
Richard Biener [Tue, 2 Feb 2016 12:39:36 +0000 (12:39 +0000)]
re PR tree-optimization/69606 (wrong code at -Os and above on x86_64-linux-gnu)

2016-02-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69606
* tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
info on the result before moving a stmt.

* gcc.dg/torture/pr69606.c: New testcase.

From-SVN: r233069

8 years agore PR middle-end/68542 (10% 481.wrf performance regression)
Yuri Rumyantsev [Tue, 2 Feb 2016 09:46:26 +0000 (09:46 +0000)]
re PR middle-end/68542 (10% 481.wrf performance regression)

gcc/

2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR middle-end/68542
* config/i386/i386.c (ix86_expand_branch): Add support for conditional
branch with vector comparison.
* config/i386/sse.md (VI48_AVX): New mode iterator.
(define_expand "cbranch<mode>4): Add support for conditional branch
with vector comparison.
* tree-vect-loop.c (optimize_mask_stores): New function.
* tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
has_mask_store field of vect_info.
* tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
vectorized loops having masked stores after vec_info destroy.
* tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
correspondent macros.
(optimize_mask_stores): Add prototype.

gcc/testsuite

2016-02-02  Yuri Rumyantsev  <ysrumyan@gmail.com>

PR middle-end/68542
* gcc.dg/vect/vect-mask-store-move-1.c: New test.
* gcc.target/i386/avx2-vect-mask-store-move1.c: New test.

From-SVN: r233068

8 years ago[RS6000] lqarx and stqcx. registers
Alan Modra [Tue, 2 Feb 2016 01:29:17 +0000 (11:59 +1030)]
[RS6000] lqarx and stqcx. registers

lqarx RT and stqcx. RS are valid only with even numbered gprs.  The
predicate to enforce this happens to allow a loophole, closed by this
patch.

PR target/69548
gcc/
* config/rs6000/predicates.md (quad_int_reg_operand): Don't
allow subregs.
gcc/testsuite/
* gcc.target/powerpc/pr69548.c: New test.

From-SVN: r233065

8 years agoDaily bump.
GCC Administrator [Tue, 2 Feb 2016 00:16:14 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233064

8 years ago[RS6000] ABI_V4 init of toc section
Alan Modra [Tue, 2 Feb 2016 00:01:16 +0000 (10:31 +1030)]
[RS6000] ABI_V4 init of toc section

Since 4c4a180d lto has turned off flag_pic when linking a fixed
position executable.  So flag_pic is zero in rs6000_file_start.
However, when we get to actually emitting code, flag_pic may be on
again.  This results in undefined references to ".LCTOC1".

PR target/68662
* config/rs6000/rs6000.c (need_toc_init): New var, set it
whenever toc_label_name used.
(rs6000_file_start): Don't set up toc section here,
(rs6000_output_function_epilogue): do so here instead,
(rs6000_xcoff_file_start): and here.
* config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
(load_toc_aix_di): Likewise.

From-SVN: r233061

8 years agore PR rtl-optimization/69592 (Compile-time and memory-use hog in combine)
Jakub Jelinek [Mon, 1 Feb 2016 22:39:31 +0000 (23:39 +0100)]
re PR rtl-optimization/69592 (Compile-time and memory-use hog in combine)

PR rtl-optimization/69592
* rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
(cached_nonzero_bits): Use it instead of ARITHMETIC_P.
(num_sign_bit_copies_binary_arith_p): New inline function.
(cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.

* gcc.dg/pr69592.c: New test.

From-SVN: r233059

8 years agore PR preprocessor/69543 (_Pragma does not apply within macro)
Jakub Jelinek [Mon, 1 Feb 2016 22:36:07 +0000 (23:36 +0100)]
re PR preprocessor/69543 (_Pragma does not apply within macro)

PR preprocessor/69543
PR c/69558
* c-pragma.c (handle_pragma_diagnostic): Pass input_location
instead of loc to control_warning_option.

* gcc.dg/pr69543.c: New test.
* gcc.dg/pr69558.c: New test.

From-SVN: r233058

8 years ago* Add PR number.
Uros Bizjak [Mon, 1 Feb 2016 22:25:31 +0000 (23:25 +0100)]
* Add PR number.

From-SVN: r233057

8 years agoanon5.C (dg-opetions): Use -gdwarf-2 instead of -g.
Uros Bizjak [Mon, 1 Feb 2016 22:20:47 +0000 (23:20 +0100)]
anon5.C (dg-opetions): Use -gdwarf-2 instead of -g.

* g++.dg/other/anon5.C (dg-opetions): Use -gdwarf-2 instead of -g.

From-SVN: r233056

8 years agoFix PR # in last change
Jeff Law [Mon, 1 Feb 2016 22:05:58 +0000 (15:05 -0700)]
Fix PR # in last change

From-SVN: r233054

8 years agore PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)
Jeff Law [Mon, 1 Feb 2016 22:03:57 +0000 (15:03 -0700)]
re PR testsuite/68580 (FAIL: c-c++-common/tsan/pr65400-1.c -O0 execution test)

PR tree-optimization/68580
* params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
* tree-ssa-threadbackward.c
(fsm_find_control_statement_thread_paths): Do not try to walk
through large PHI nodes.

From-SVN: r233053

8 years agoifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremente...
Jakub Jelinek [Mon, 1 Feb 2016 20:37:49 +0000 (21:37 +0100)]
ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremented above limit...

* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
when count is incremented above limit, don't analyze further
insns afterwards.

From-SVN: r233050

8 years agoRemove duplicate copy of the test body inadvertently inserted by patch.
Martin Sebor [Mon, 1 Feb 2016 19:38:53 +0000 (19:38 +0000)]
Remove duplicate copy of the test body inadvertently inserted by patch.

From-SVN: r233045

8 years agoomp-low.c (oacc_parse_default_dims): Avoid -Wsign-compare warning...
Jakub Jelinek [Mon, 1 Feb 2016 19:14:59 +0000 (20:14 +0100)]
omp-low.c (oacc_parse_default_dims): Avoid -Wsign-compare warning...

* omp-low.c (oacc_parse_default_dims): Avoid
-Wsign-compare warning, make sure value fits into int
rather than just unsigned int.

From-SVN: r233044

8 years agore PR tree-optimization/67921 ("internal compiler error: in build_polynomial_chrec...
Bin Cheng [Mon, 1 Feb 2016 17:17:47 +0000 (17:17 +0000)]
re PR tree-optimization/67921 ("internal compiler error: in build_polynomial_chrec, at tree-chrec.h:147" when using -fsanitize=undefined)

PR tree-optimization/67921
* fold-const.c (split_tree): New parameters.  Convert pointer
type variable part to proper type before negating.
(fold_binary_loc): Pass new arguments to split_tree.

gcc/testsuite/ChangeLog
PR tree-optimization/67921
* c-c++-common/ubsan/pr67921.c: New test.

From-SVN: r233042

8 years agonvptx.c (PTX_GANG_DEFAULT): New.
Nathan Sidwell [Mon, 1 Feb 2016 16:20:13 +0000 (16:20 +0000)]
nvptx.c (PTX_GANG_DEFAULT): New.

gcc/
* config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
(nvptx_goacc_validate_dims): Extend to handle global defaults.
* target.def (OACC_VALIDATE_DIMS): Extend documentation.
* doc/tm.texti: Rebuilt.
* doc/invoke.texi (fopenacc-dim): Document.
* lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
(append_compiler_options): Likewise.
* omp-low.c (oacc_default_dims, oacc_min_dims): New.
(oacc_parse_default_dims): New.
(oacc_validate_dims): Add USED arg.  Select non-unity default when
possible.
(oacc_loop_fixed_partitions): Return mask of used partitions.
(oacc_loop_auto_partitions): Emit dump info.
(oacc_loop_partition): Return mask of used partitions.
(execute_oacc_device_lower): Parse default dimension arg.  Adjust
loop partitioning and validation calls.

gcc/c-family/
* c.opt (fopenacc-dim=): New option.

gcc/fortran/
* lang.opt (fopenacc-dim=): New option.

libgomp/
* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
* testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.

From-SVN: r233041

8 years agore PR tree-optimization/69556 (forwprop4/match.pd undoing work from recip)
Richard Biener [Mon, 1 Feb 2016 15:40:23 +0000 (15:40 +0000)]
re PR tree-optimization/69556 (forwprop4/match.pd undoing work from recip)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR middle-end/69556
* match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.

* gcc.dg/tree-ssa/recip-8.c: New testcase.

From-SVN: r233040

8 years agore PR tree-optimization/69574 (gcc ICE at -O2 and -O3 on x86_64-linux-gnu in hide_evo...
Richard Biener [Mon, 1 Feb 2016 15:38:08 +0000 (15:38 +0000)]
re PR tree-optimization/69574 (gcc ICE at -O2 and -O3 on x86_64-linux-gnu in hide_evolution_in_other_loops_than_loop)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69574
* tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
of asserting return chrec_dont_know.

* gcc.dg/torture/pr69574.c: New testcase.

From-SVN: r233039

8 years agoMissing copyright for mem-stats header files.
Martin Liska [Mon, 1 Feb 2016 13:57:09 +0000 (14:57 +0100)]
Missing copyright for mem-stats header files.

* mem-stats-traits.h: Add copyright header.
* mem-stats.h: Likewise.

From-SVN: r233037

8 years agore PR tree-optimization/69579 (gcc ICE at -O3 and __sigsetjmp with “tree check: expec...
Richard Biener [Mon, 1 Feb 2016 12:39:04 +0000 (12:39 +0000)]
re PR tree-optimization/69579 (gcc ICE at -O3 and __sigsetjmp with “tree check: expected ssa_name, have integer_cst in compute_optimized_partition_bases”)

2016-02-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69579
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
Do not propagate through abnormal PHI results.

* gcc.dg/setjmp-6.c: New testcase.

From-SVN: r233036

8 years agoDon't define guard macros when doing #include_next in math.h and stdlib.h
Bernd Edlinger [Mon, 1 Feb 2016 11:13:40 +0000 (11:13 +0000)]
Don't define guard macros when doing #include_next in math.h and stdlib.h

2016-02-01  Bernd Edlinger  <bernd.edlinger@hotmail.de>

PR libstdc++/69581
* include/c_compatibility/math.h: Move header guards.
* include/c_compatibility/stdlib.h: Likewise.

From-SVN: r233035

8 years ago* postreload.c (reload_cse_simplify): Remove dead code.
Eric Botcazou [Mon, 1 Feb 2016 11:04:22 +0000 (11:04 +0000)]
* postreload.c (reload_cse_simplify): Remove dead code.

From-SVN: r233034

8 years agore PR rtl-optimization/69570 (if-conversion bug on i?86)
Jakub Jelinek [Mon, 1 Feb 2016 08:47:27 +0000 (09:47 +0100)]
re PR rtl-optimization/69570 (if-conversion bug on i?86)

PR rtl-optimization/69570
* ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
if there is more than one set, not if there is a single set.

* g++.dg/opt/pr69570.C: New test.

From-SVN: r233033

8 years agore PR rtl-optimization/69535 (wrong code with -O -fno-tree-bit-ccp -fno-tree-reassoc...
Richard Henderson [Mon, 1 Feb 2016 07:32:01 +0000 (23:32 -0800)]
re PR rtl-optimization/69535 (wrong code with -O -fno-tree-bit-ccp -fno-tree-reassoc due to use of uninitialised value)

PR rtl-opt/69535

  * combine.c (make_compound_operation): When looking through a
  subreg, make sure to re-extend to the width of the outer mode.

From-SVN: r233032

8 years agore PR testsuite/69584 (FAIL: gcc.dg/pr67964.c (test for excess errors))
John David Anglin [Mon, 1 Feb 2016 01:12:23 +0000 (01:12 +0000)]
re PR testsuite/69584 (FAIL: gcc.dg/pr67964.c (test for excess errors))

PR testsuite/69584
* gcc.dg/tree-ssa/sra-17.c: Fix regexps to work on hpux.
* gcc.dg/tree-ssa/sra-18.c: Likewise.

From-SVN: r233030

8 years agore PR target/68741 (FAIL: tr1/8_c_compatibility/cstdio/functions.cc (test for excess...
John David Anglin [Mon, 1 Feb 2016 00:54:22 +0000 (00:54 +0000)]
re PR target/68741 (FAIL: tr1/8_c_compatibility/cstdio/functions.cc (test for excess errors))

PR target/68741
* inclhack.def (hpux_vsscanf): New fix.
* fixincl.x: Regenerated.
* tests/base/stdio.h [HPUX_VSSCANF_CHECK]: New test.

From-SVN: r233029

8 years agore PR debug/68244 (FAIL: g++.dg/parse/parens3.C -std=gnu++98 (internal compiler...
John David Anglin [Mon, 1 Feb 2016 00:38:17 +0000 (00:38 +0000)]
re PR debug/68244 (FAIL: g++.dg/parse/parens3.C  -std=gnu++98 (internal compiler error))

PR debug/68244
* g++.dg/parse/parens3.C: Use register "4" on hppa.

From-SVN: r233028

8 years agovector-5.c: Add -fno-common option on hppa*-*-hpux*.
John David Anglin [Mon, 1 Feb 2016 00:27:44 +0000 (00:27 +0000)]
vector-5.c: Add -fno-common option on hppa*-*-hpux*.

* gcc.dg/tree-ssa/vector-5.c: Add -fno-common option on hppa*-*-hpux*.

From-SVN: r233027

8 years agoDaily bump.
GCC Administrator [Mon, 1 Feb 2016 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233026

8 years agoRegenerate .pot files.
Joseph Myers [Sun, 31 Jan 2016 15:54:00 +0000 (15:54 +0000)]
Regenerate .pot files.

gcc/po:
* gcc.pot: Regenerate.

libcpp/po:
* cpplib.pot: Regenerate.

From-SVN: r233023

8 years ago* fi.po: Update.
Joseph Myers [Sun, 31 Jan 2016 15:48:42 +0000 (15:48 +0000)]
* fi.po: Update.

From-SVN: r233021

8 years agore PR c++/68763 (ICE: in verify_unstripped_args, at cp/pt.c:1132)
Jakub Jelinek [Sun, 31 Jan 2016 14:53:26 +0000 (15:53 +0100)]
re PR c++/68763 (ICE: in verify_unstripped_args, at cp/pt.c:1132)

PR c++/68763

* tree.c (strip_typedefs) [FUNCTION_TYPE]: Avoid building a new
function type if nothing is changing.

Co-Authored-By: Jason Merrill <jason@redhat.com>
From-SVN: r233020

8 years agore PR c++/69009 (ICE in instantiate_decl, at cp/pt.c:21511)
Jason Merrill [Sun, 31 Jan 2016 11:53:04 +0000 (06:53 -0500)]
re PR c++/69009 (ICE in instantiate_decl, at cp/pt.c:21511)

PR c++/69009

* pt.c (partial_specialization_p, impartial_args): New.
(instantiate_decl): Call impartial_args.

From-SVN: r233019

8 years agoFix abi-tag16.C.
Jason Merrill [Sun, 31 Jan 2016 11:52:56 +0000 (06:52 -0500)]
Fix abi-tag16.C.

* mangle.c (maybe_check_abi_tags): New.
(write_guarded_var_name): Call it.
(mangle_ref_init_variable): Call check_abi_tags.

From-SVN: r233018

8 years agoFix abi-tag17.C.
Jason Merrill [Sun, 31 Jan 2016 11:52:48 +0000 (06:52 -0500)]
Fix abi-tag17.C.

* pt.c (lookup_template_class_1): Don't share TYPE_ATTRIBUTES
between template and instantiation.

From-SVN: r233017

8 years agore PR fortran/67564 (Segfault on sourced allocattion statement with class(*) arrays)
Paul Thomas [Sun, 31 Jan 2016 10:22:05 +0000 (10:22 +0000)]
re PR fortran/67564 (Segfault on sourced allocattion statement with class(*) arrays)

2016-01-31  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* trans-expr.c (gfc_conv_procedure_call): For the vtable copy
subroutines, add a string length argument, when the actual
argument is an unlimited polymorphic class object.

2016-01-31  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67564
* gfortran.dg/allocate_with_source_17.f03: New test.

From-SVN: r233016

8 years agoDaily bump.
GCC Administrator [Sun, 31 Jan 2016 00:16:15 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233015

8 years agore PR middle-end/69546 (wrong code with -O and simple int128 arithmetics)
Jakub Jelinek [Sat, 30 Jan 2016 18:04:13 +0000 (19:04 +0100)]
re PR middle-end/69546 (wrong code with -O and simple int128 arithmetics)

PR tree-optimization/69546
* wide-int.cc (wi::divmod_internal): For unsigned division
where both operands fit into uhwi, if o1 is 1 and o0 has
msb set, if divident_prec is larger than bits per hwi,
clear another quotient word and return 2 instead of 1.
Similarly for remainder with msb in HWI set, if dividend_prec
is larger than bits per hwi.

* gcc.dg/torture/pr69546.c: New test.

From-SVN: r233012

8 years agore PR fortran/69566 ([OOP] Failure of SELECT TYPE with unlimited polymorphic function...
Paul Thomas [Sat, 30 Jan 2016 17:44:56 +0000 (17:44 +0000)]
re PR fortran/69566 ([OOP] Failure of SELECT TYPE with unlimited polymorphic function result)

2016-01-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69566
* trans-expr.c (gfc_conv_procedure_call): Correct expression
for 'ulim_copy', which was missing a test for 'comp'.

2016-01-30  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/69566
* gfortran.dg/unlimited_polymorphic_25.f03: New test.

From-SVN: r233011

8 years agoPR r++/68490 - error initializing a structure with a flexible array membe
Martin Sebor [Sat, 30 Jan 2016 17:30:32 +0000 (17:30 +0000)]
PR r++/68490 - error initializing a structure with a flexible array membe

gcc/testsuite/ChangeLog:
2016-01-30  Martin Sebor  <msebor@redhat.com>

        PR c++/68490
        * g++.dg/ext/flexary10.C: New test.

From-SVN: r233010

8 years agore PR fortran/66707 (Endless compilation on wrong usage of common)
Dominique d'Humieres [Sat, 30 Jan 2016 14:07:19 +0000 (15:07 +0100)]
re PR fortran/66707 (Endless compilation on wrong usage of common)

2016-01-30  Dominique d'Humieres  <dominiq@lps.ens.fr>

PR fortran/66707
gfortran.dg/common_23.f90: New test.

From-SVN: r233008

8 years agore PR target/65546 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c)
Bill Schmidt [Sat, 30 Jan 2016 01:18:43 +0000 (01:18 +0000)]
re PR target/65546 (FAIL: gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c)

2016-01-29  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR target/65546
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31a.c: Correct
condition being checked, and disable it when the target supports
misaligned loads and stores.

From-SVN: r233006

8 years agoDaily bump.
GCC Administrator [Sat, 30 Jan 2016 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r233005

8 years ago[hsa] Atomic assess memory model fixes
Martin Jambor [Fri, 29 Jan 2016 22:53:28 +0000 (23:53 +0100)]
[hsa] Atomic assess memory model fixes

2016-01-29  Martin Jambor  <mjambor@suse.cz>

* hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
Use short lowercase names.
(get_memory_order): Mask with MEMMODEL_BASE_MASK.  Support
MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
acq_rel one.  Protect warning agains segfaults if
get_memory_order_name returns NULL.
(gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
with release semantics.  Do not warn if get_memory_order already did.
(gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
semantics.  Fix check for relaxed or acquire semantics.  Do not warn
if get_memory_order already did.

From-SVN: r233000

8 years agore PR debug/69518 (Flag -g causes "error: type variant has different TYPE_VFIELD")
Jakub Jelinek [Fri, 29 Jan 2016 20:37:25 +0000 (21:37 +0100)]
re PR debug/69518 (Flag -g causes "error: type variant has different TYPE_VFIELD")

PR debug/69518
* c-decl.c (finish_struct): Clear C_TYPE_INCOMPLETE_VARS in
all type variants, not just TYPE_MAIN_VARIANT.

* gcc.dg/torture/pr69518.c: New test.

From-SVN: r232998

8 years agodocument that isl-0.16 is supported
Sebastian Pop [Fri, 29 Jan 2016 20:26:04 +0000 (20:26 +0000)]
document that isl-0.16 is supported

* config/isl.m4: Add comments about isl-0.16.
* configure: Regenerate.

gcc/
* doc/install.texi: Document that isl-0.16 is supported.

From-SVN: r232997

8 years agore PR target/69299 (-mavx performance degradation with r232088)
Vladimir Makarov [Fri, 29 Jan 2016 18:47:17 +0000 (18:47 +0000)]
re PR target/69299 (-mavx performance degradation with r232088)

2016-01-29  Vladimir Makarov  <vmakarov@redhat.com>

PR target/69299
* config/i386/constraints.md (Bm): Describe as special memory
constraint.
* doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
* genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* genpreds.c (struct constraint_data): Add is_special_memory.
(have_special_memory_constraints, special_memory_start): New
static vars.
(special_memory_end): Ditto.
(add_constraint): Add new arg is_special_memory.  Add code to
process its true value.  Update have_special_memory_constraints.
(process_define_constraint): Pass the new arg.
(process_define_register_constraint): Ditto.
(choose_enum_order): Process special memory.
(write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
function insn_extra_special_memory_constraint.
(main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* gensupport.c (process_rtx): Process
DEFINE_SPECIAL_MEMORY_CONSTRAINT.
* ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
* ira-lives.c (single_reg_class): Use
insn_extra_special_memory_constraint.
* ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
* lra-constraints.c (process_alt_operands): Ditto.
(curr_insn_transform): Use insn_extra_special_memory_constraint.
* recog.c (asm_operand_ok, preprocess_constraints): Process
CT_SPECIAL_MEMORY.
* reload.c (find_reloads): Ditto.
* rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
* stmt.c (parse_input_constraint): Use
insn_extra_special_memory_constraint.

From-SVN: r232993

8 years agoRevert revsion 229087 changes in lra-spills.c
H.J. Lu [Fri, 29 Jan 2016 18:03:42 +0000 (18:03 +0000)]
Revert revsion 229087 changes in lra-spills.c

r229087, which caused PR 69530, was supposed to fix PR 67609.  r229458
has made r229087 unnecessary.

gcc/

PR target/69530
* lra-splill.c (lra_final_code_change): Revert r229087 by
removing all sub-registers.

gcc/testsuite/

PR target/69530
* gcc.target/i386/pr69530.c: New test.

From-SVN: r232991

8 years agore PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck...
Steve Ellcey [Fri, 29 Jan 2016 16:31:18 +0000 (16:31 +0000)]
re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck-zero-division)

PR target/65604
* gcc.target/mips/div-delay.c: New test.

From-SVN: r232986

8 years agore PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck...
Steve Ellcey [Fri, 29 Jan 2016 16:29:58 +0000 (16:29 +0000)]
re PR target/65604 (MIPS -fno-delayed-branch generates incorrect code with -mcheck-zero-division)

PR target/65604
* config/mips/mips.c (mips_output_division): Check flag_delayed_branch.

From-SVN: r232985

8 years agore PR target/69551 (Wrong code with single element vector insert)
Jakub Jelinek [Fri, 29 Jan 2016 14:14:56 +0000 (15:14 +0100)]
re PR target/69551 (Wrong code with single element vector insert)

PR target/69551
* config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
SSE1, copy target into the temporary reg first before recursing
on it.

* gcc.target/i386/pr69551.c: New test.

From-SVN: r232982

8 years agore PR target/66137 (ICE with -ffixed-ebp)
Jakub Jelinek [Fri, 29 Jan 2016 14:07:40 +0000 (15:07 +0100)]
re PR target/66137 (ICE with -ffixed-ebp)

PR target/66137
* gcc.target/i386/pr66137.c: New test.

From-SVN: r232981

8 years agop5600-bonding.c (dg-options): Force the test to be always built for p5600.
Andrew Bennett [Fri, 29 Jan 2016 13:54:53 +0000 (13:54 +0000)]
p5600-bonding.c (dg-options): Force the test to be always built for p5600.

testsuite/
2016-01-29  Andrew Bennett  <andrew.bennett@imgtec.com>

       * gcc.target/mips/p5600-bonding.c (dg-options): Force the test to be
       always built for p5600.
       * gcc.target/mips/mips.exp (mips-dg-options): Add support for the
       isa=p5600 dg-option.

From-SVN: r232980

8 years agoUse vm in sse2_cvtps2pd<mask_name>
H.J. Lu [Fri, 29 Jan 2016 13:03:51 +0000 (13:03 +0000)]
Use vm in sse2_cvtps2pd<mask_name>

sse2_cvtps2pd<mask_name> has

(define_insn "sse2_cvtps2pd<mask_name>"
  [(set (match_operand:V2DF 0 "register_operand" "=v")
        (float_extend:V2DF
          (vec_select:V2SF
            (match_operand:V4SF 1 "vector_operand" "vBm")
            (parallel [(const_int 0) (const_int 1)]))))]

The memory operand size is 8 bytes (2 floats).  We should use vm instead
of vBm.

* config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
with vm.

From-SVN: r232979

8 years agoAdd myself as a hsa maintainer
Martin Jambor [Fri, 29 Jan 2016 12:47:56 +0000 (13:47 +0100)]
Add myself as a hsa maintainer

2016-01-29  Martin Jambor  <mjambor@suse.cz>

* MAINTAINERS (hsa maintainers): Add myself.

From-SVN: r232978

8 years agoTest __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__
Jonathan Wakely [Fri, 29 Jan 2016 12:29:42 +0000 (12:29 +0000)]
Test __cplusplus instead of __GXX_EXPERIMENTAL_CXX0X__

* ginclude/stdarg.h: Test __cplusplus instead of
__GXX_EXPERIMENTAL_CXX0X__.

From-SVN: r232977

8 years agore PR middle-end/69547 (no-op array initializer emits an empty loop)
Richard Biener [Fri, 29 Jan 2016 11:21:19 +0000 (11:21 +0000)]
re PR middle-end/69547 (no-op array initializer emits an empty loop)

2016-01-29  Richard Biener  <rguenther@suse.de>

PR tree-optimization/69547
* tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
Do not mark clobbers necessary.
(mark_all_reaching_defs_necessary_1): Likewise.

* g++.dg/tree-ssa/pr69547.C: New testcase.

From-SVN: r232976