Jason Merrill [Sat, 25 Jul 2015 06:54:57 +0000 (02:54 -0400)]
re PR c++/64989 (constant-initialization of self-referencing array)
PR c++/64989
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.
From-SVN: r226207
Jeff Law [Sat, 25 Jul 2015 05:45:42 +0000 (23:45 -0600)]
revert: re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)
Revert:
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS. */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r226206
David Edelsohn [Sat, 25 Jul 2015 01:28:21 +0000 (01:28 +0000)]
Revert:
2015-07-23 Alexandre Oliva <aoliva@redhat.com>
From-SVN: r226202
GCC Administrator [Sat, 25 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226199
Ian Lance Taylor [Sat, 25 Jul 2015 00:01:04 +0000 (00:01 +0000)]
syscall: Add ioctl consts from if_tun.h
During the gccgo build define constants from
some header files are processed by mksysinfo.sh and
added to syscall.go. In some cases the constants
are based on macros which are not processed
correctly by mksysinfo.sh. This adds the support
to generate the correct values for the TUN* constants
from linux/if_tun.h.
Fixes golang/go#11707
Reviewed-on: https://go-review.googlesource.com/12491
From-SVN: r226196
Uros Bizjak [Fri, 24 Jul 2015 22:21:54 +0000 (00:21 +0200)]
i386.c (ix86_va_start): Remove unneeded !TARGET_64BIT check.
* config/i386/i386.c (ix86_va_start): Remove
unneeded !TARGET_64BIT check.
(ix86_gimplify_va_arg): Ditto.
From-SVN: r226195
Tom de Vries [Fri, 24 Jul 2015 20:55:31 +0000 (20:55 +0000)]
Enable reductions without fassociative-math in graphite
2015-07-24 Tom de Vries <tom@codesourcery.com>
* graphite-sese-to-poly.c (build_poly_scop): Always call
rewrite_commutative_reductions_out_of_ssa.
From-SVN: r226194
Tom de Vries [Fri, 24 Jul 2015 20:55:22 +0000 (20:55 +0000)]
Don't allow unsafe reductions in graphite
2015-07-24 Tom de Vries <tom@codesourcery.com>
* graphite-sese-to-poly.c (is_reduction_operation_p): Limit
flag_associative_math to FLOAT_TYPE_P. Honour
TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
* gcc.dg/graphite/block-1.c: Xfail scan.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/uns-block-1.c: New test.
* gcc.dg/graphite/uns-interchange-12.c: New test.
* gcc.dg/graphite/uns-interchange-14.c: New test.
* gcc.dg/graphite/uns-interchange-15.c: New test.
* gcc.dg/graphite/uns-interchange-9.c: New test.
* gcc.dg/graphite/uns-interchange-mvt.c: New test.
From-SVN: r226193
Manuel López-Ibáñez [Fri, 24 Jul 2015 20:20:13 +0000 (20:20 +0000)]
re PR c++/64079 (%+D in diagnostics breaks pragma GCC diagnostic)
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
and "%qD" in warning_at instead of "%q+D" in warning.
/testsuite
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* c-c++-common/Wunused-function-1.c: New.
From-SVN: r226191
Uros Bizjak [Fri, 24 Jul 2015 19:03:45 +0000 (21:03 +0200)]
i386.c (ix86_call_abi_override): Call ix86_function_abi.
* config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
(ix86_function_abi): Cleanup.
From-SVN: r226187
Ian Lance Taylor [Fri, 24 Jul 2015 18:51:13 +0000 (18:51 +0000)]
compiler: Don't parse malformed receiver/parameters.
Fixes golang/go#11576.
Reviewed-on: https://go-review.googlesource.com/12157
From-SVN: r226185
Ian Lance Taylor [Fri, 24 Jul 2015 18:28:40 +0000 (18:28 +0000)]
compiler: Disallow rune literals with '\X'.
http://golang.org/ref/spec#Rune_literals states that rune literals
encoded as hex bytes must begin with lowercase '\x'.
Fixes golang/go#11575.
Reviewed-on: https://go-review.googlesource.com/12158
From-SVN: r226184
Jeff Law [Fri, 24 Jul 2015 18:20:44 +0000 (12:20 -0600)]
re PR other/66259 (Combined gcc and binutils build from git-master fails, with gas/as-new not existing)
PR other/66259
* config-ml.in: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise
boehm-gc/
PR other/66259
* Makefile.direct: Reflects renaming of configure.in to configure.ac
* Makefile.dist: Likewise
* version.h: Likewise
* doc/README: Likewise
config/
PR other/66259
* gettext.m4: Reflects renaming of configure.in to configure.ac
* po.m4: Likewise
* stdint.m4: Likewise
* tcl.m4: Likewise
gcc/
PR other/66259
* acinclude.m4: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise
* doc/install.texi: Likewise
* doc/tm.texi: Likewise
* doc/tm.texi.in: Likewise
gcc/ada/
PR other/66259
* prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
* gcc-interface/Makefile.in: Likewise
intl/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
libjava/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
libjava/classpath
PR other/66259
* INSTALL: Reflects renaming of configure.in to configure.ac
* ltconfig: Likewise
* missing: Likewise
* m4/ac_prog_javac.m4: Likewise
* m4/ac_prog/javac_works.m4: Likewise
* resource/META-INF/mimetypes.default: Likewise
libjava/libltdl
PR other/66259
* THREADS: Reflects renaming of configure.in to configure.ac
liboffloadmic/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
From-SVN: r226183
Ian Lance Taylor [Fri, 24 Jul 2015 17:22:03 +0000 (17:22 +0000)]
compiler: Don't make temporaries for constant expressions.
Fixes golang/go#11039.
Reviewed-on: https://go-review.googlesource.com/10645
From-SVN: r226180
Kyrylo Tkachov [Fri, 24 Jul 2015 16:46:04 +0000 (16:46 +0000)]
[obvious] Use std::swap instead of manually swapping in a few more places
* alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
manually swapping values.
* cse.c (fold_rtx): Likewise.
* lra-eliminations.c (form_sum): Likewise.
From-SVN: r226179
Joseph Myers [Fri, 24 Jul 2015 16:44:23 +0000 (17:44 +0100)]
* nl.po: Update.
From-SVN: r226177
Joseph Myers [Fri, 24 Jul 2015 16:41:44 +0000 (17:41 +0100)]
be.po, [...]: Update.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
zh_TW.po: Update.
* uk.po: New file.
From-SVN: r226175
Jonathan Wakely [Fri, 24 Jul 2015 16:30:04 +0000 (17:30 +0100)]
* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
(_M_load_and_test_until): Whitespace.
(_M_load_and_test): Value-initialize the unused durations.
(_M_load_when_equal): Add missing return value.
From-SVN: r226174
Uros Bizjak [Fri, 24 Jul 2015 16:25:56 +0000 (18:25 +0200)]
re PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md)
PR target/64003
* config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
* config/i386/i386.md (maybe_prefix_bnd): New attribute.
(*jcc_1, *jcc_2, jump, simple_return_internal)
(simple_return_pop_internal): Set attribute maybe_prefix_bnd.
Set length_nobnd attribute instead of length attribute.
(indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
(length_nobnd): Remove attribute.
(length): Remove length_nobnd processing.
From-SVN: r226173
Nathan Sidwell [Fri, 24 Jul 2015 16:13:04 +0000 (16:13 +0000)]
gimplify.c (omp_default_clause): New function.
* gimplify.c (omp_default_clause): New function. Reorganize flow
for clarity. Broken out of ...
(omp_notice_variable): ... here.
From-SVN: r226170
Gary Funck [Fri, 24 Jul 2015 16:10:39 +0000 (16:10 +0000)]
re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary)
2015-07-24 Gary Funck <gary@intrepid.com>
PR middle-end/66984
* fold-const.c (fold_binary_loc): Call fold_convert on arguments to
fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
From-SVN: r226168
Tom de Vries [Fri, 24 Jul 2015 15:00:59 +0000 (15:00 +0000)]
Add transform_to_exit_first_loop_alt dump success message
2015-07-24 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
alternative exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
From-SVN: r226164
Mikael Morin [Fri, 24 Jul 2015 14:44:59 +0000 (14:44 +0000)]
Fix gfortran.dg/class_to_type_4.f90 deallocation code misordering failure
PR fortran/64986
gcc/fortran/
* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
code at the beginning of the block.
From-SVN: r226162
Cesar Philippidis [Fri, 24 Jul 2015 14:38:43 +0000 (07:38 -0700)]
re PR libgomp/66714 (ICE in loc_list_from_tree with -g)
PR 66714
gcc/
* tree-cfg.c (struct replace_decls_d): New struct.
(replace_block_vars_by_duplicates_1): New function.
(replace_block_vars_by_duplicates): Use it to replace the decls
in the value exprs by duplicates.
libgomp/
* testsuite/libgomp.c/pr66714.c: New test.
From-SVN: r226160
Szabolcs Nagy [Fri, 24 Jul 2015 14:30:41 +0000 (14:30 +0000)]
[AArch64] elf toolchain does not pass -shared linker option
2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
-shared, -symbolic, -rdynamic.
From-SVN: r226159
Szabolcs Nagy [Fri, 24 Jul 2015 14:27:55 +0000 (14:27 +0000)]
[AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARM
2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/65711
* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
-dynamic-linker within %{!static %{!shared, and -rdynamic within
%{!static.
From-SVN: r226158
Ilya Enkovich [Fri, 24 Jul 2015 13:15:49 +0000 (13:15 +0000)]
re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator[], at vec.h:714)
gcc/
PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.
gcc/testsuite/
PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.
From-SVN: r226155
Richard Biener [Fri, 24 Jul 2015 12:39:08 +0000 (12:39 +0000)]
genmatch.c (struct dt_node): Add statistic fields.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (struct dt_node): Add statistic fields.
(dt_node::analyze): New method.
(decision_tree::gen_gimple): Call analyze on the root node
and print statistics to stderr.
(decision_tree::gen_generic): Likewise.
From-SVN: r226154
Richard Biener [Fri, 24 Jul 2015 12:36:00 +0000 (12:36 +0000)]
fold-const.c (fold_binary_loc): Move simplifying of comparisons against the highest or lowest possible integer ...
2015-07-24 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move simplifying of comparisons
against the highest or lowest possible integer ...
* match.pd: ... as patterns here.
From-SVN: r226153
Richard Biener [Fri, 24 Jul 2015 12:35:22 +0000 (12:35 +0000)]
genmatch.c (struct capture_info): Add same_as field.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (struct capture_info): Add same_as field.
(capture_info::capture_info): Initialize same_as.
(capture_info::walk_match): Compute same_as.
(capture_info::walk_result): Compute stuff for the leader.
(capture_info::walk_c_expr): Likewise.
(dt_simplify::gen_1): Only look at leaders when deciding
to force no side-effects or emit side-effects of omitted operands.
From-SVN: r226152
H.J. Lu [Fri, 24 Jul 2015 12:08:00 +0000 (12:08 +0000)]
Add a testcase for PR bootstrap/66978
PR bootstrap/66978
* gcc.target/i386/pr66978.c: New test.
From-SVN: r226150
Andreas Krebbel [Fri, 24 Jul 2015 11:29:50 +0000 (11:29 +0000)]
S/390: Fix cfi for GPR 2 FPR saves
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
reg note to the GPR -> FPR save instructions.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/gpr2fprsavecfi.c: New test.
From-SVN: r226149
Andreas Krebbel [Fri, 24 Jul 2015 11:28:06 +0000 (11:28 +0000)]
[PATCH] S/390: Improve risbg usage
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_rtx_costs): Make risbg patterns
cheaper.
(s390_expand_insv): Don't generate risbg pattern for constant zero
sources.
* config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
splitters.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: New test.
* gcc.target/s390/insv-2.c: New test.
* gcc.target/s390/insv-3.c: New test.
From-SVN: r226148
Dominik Vogt [Fri, 24 Jul 2015 11:25:01 +0000 (11:25 +0000)]
[PATCH 4/4] S390 -march=native related fixes
gcc/ChangeLog
* config/s390/s390.c (s390_reorg): Clean up handling of processors with
-mtune=
(s390_issue_rate): Likewise.
(s390_sched_reorder): Likewise.
(s390_sched_variable_issue): Likewise.
(s390_loop_unroll_adjust): Likewise.
(s390_option_override): Likewise.
From-SVN: r226147
Dominik Vogt [Fri, 24 Jul 2015 11:23:53 +0000 (11:23 +0000)]
[PATCH 3/4] S390 -march=native related fixes
gcc/ChangeLog
* config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
processor capabilities with -march=native.
* config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
(DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
(S390_TARGET_BITS_STRING): Macro to simplify specs.
From-SVN: r226146
Dominik Vogt [Fri, 24 Jul 2015 11:22:32 +0000 (11:22 +0000)]
[PATCH 2/4] S390 -march=native related fixes
gcc/ChangeLog
* config/s390/s390.c (s390_issue_rate): Handle PROCESSOR_2094_Z9_EC.
(s390_option_override): Likewise.
(s390_adjust_priority): Likewise.
From-SVN: r226145
Dominik Vogt [Fri, 24 Jul 2015 11:19:59 +0000 (11:19 +0000)]
S390 -march=native related fixes
gcc/ChangeLog:
* config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS when
cross compiling.
From-SVN: r226144
Richard Biener [Fri, 24 Jul 2015 10:31:21 +0000 (10:31 +0000)]
fold-const.c (maybe_canonicalize_comparison_1): Move A code CST canonicalization ...
2015-07-24 Richard Biener <rguenther@suse.de>
* fold-const.c (maybe_canonicalize_comparison_1): Move
A code CST canonicalization ...
* match.pd: ... to a pattern here.
cp/
* init.c (build_vec_init): Build iterator bound in the same
type as the iterator.
From-SVN: r226143
Tom de Vries [Fri, 24 Jul 2015 10:14:34 +0000 (10:14 +0000)]
Remove xfail in autopar/uns-outer-4.c
2015-07-24 Tom de Vries <tom@codesourcery.com>
* gcc.dg/autopar/uns-outer-4.c: Remove loopfn xfail.
From-SVN: r226142
Jiong Wang [Fri, 24 Jul 2015 09:06:53 +0000 (09:06 +0000)]
[AArch64] Revert REG_ALLOC_ORDER/HONOR_REG_ALLOC_ORDER
2015-07-24 Jiong Wang <jiong.wang@arm.com>
Revert:
2015-07-22 Jiong Wang <jiong.wang@arm.com>
PR target/63521
* config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
(HONOR_REG_ALLOC_ORDER): Define.
From-SVN: r226141
Richard Biener [Fri, 24 Jul 2015 08:31:07 +0000 (08:31 +0000)]
genmatch.c (add_operator): Allow SSA_NAME as predicate.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (add_operator): Allow SSA_NAME as predicate.
* fold-const.c (fold_comparison): Move parameter does not
alias &local simplification ...
* match.pd: ... as a pattern here.
From-SVN: r226140
Richard Biener [Fri, 24 Jul 2015 08:25:41 +0000 (08:25 +0000)]
gimple-fold.c (replace_stmt_with_simplification): Special-case valueizing call operands.
2015-07-24 Richard Biener <rguenther@suse.de>
* gimple-fold.c (replace_stmt_with_simplification): Special-case
valueizing call operands.
* gimple-match-head.c (maybe_push_res_to_seq): Take
number of call arguments from ops array.
(do_valueize): New function.
(gimple_simplify): Return true if valueization changed
any operand even if the result didn't simplify further.
From-SVN: r226139
Michael Haubenwallner [Fri, 24 Jul 2015 07:05:19 +0000 (07:05 +0000)]
libstdc++-v3/fragment.am (AM_CPPFLAGS): Add CPPFLAGS
2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
* fragment.am (AM_CPPFLAGS): Add CPPFLAGS.
* Makefile.in: Regenerate.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Regenerate.
* libsupc++/Makefile.in: Regenerate.
* po/Makefile.in: Regenerate.
* python/Makefile.in: Regenerate.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.in: Regenerate.
* src/filesystem/Makefile.in: Regenerate.
* testsuite/Makefile.in: Regenerate.
From-SVN: r226138
Naveen H.S [Fri, 24 Jul 2015 04:50:41 +0000 (04:50 +0000)]
re PR middle-end/25530 ((unsigned / 2)*2 is not changed into unsigned &~1)
PR middle-end/25530
2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
gcc/testsuite/ChangeLog:
* gcc.dg/pr25530.c: New test.
gcc/ChangeLog:
* match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
From-SVN: r226137
Naveen H.S [Fri, 24 Jul 2015 04:47:48 +0000 (04:47 +0000)]
re PR middle-end/25529 ((unsigned * 2)/2 is not changed into unsigned &0x7FFFFFFF)
PR middle-end/25529
2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
gcc/testsuite/ChangeLog:
* gcc.dg/pr25529.c: New test.
gcc/ChangeLog:
* match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
From-SVN: r226136
Kugan Vivekanandarajah [Fri, 24 Jul 2015 01:43:22 +0000 (01:43 +0000)]
reg_equal_test.c: New test.
gcc/testsuite/ChangeLog:
2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* gcc.target/arm/reg_equal_test.c: New test.
gcc/ChangeLog:
2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
instruction.
From-SVN: r226135
Kugan Vivekanandarajah [Fri, 24 Jul 2015 01:38:19 +0000 (01:38 +0000)]
cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor clean up.
gcc/ChangeLog:
2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
* cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
clean up.
From-SVN: r226134
GCC Administrator [Fri, 24 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226132
Uros Bizjak [Thu, 23 Jul 2015 21:49:34 +0000 (23:49 +0200)]
i386.c (ix86_build_builtin_va_list_64): Rename from ix86_build_builtin_va_list_abi.
* config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
targets here.
(ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
ms_va_list_type_node initialization.
From-SVN: r226127
David Malcolm [Thu, 23 Jul 2015 21:19:07 +0000 (21:19 +0000)]
jit: supply MULTILIB_DEFAULTS as arguments when invoking driver
gcc/jit/ChangeLog:
* jit-playback.c (invoke_driver): Convert local "argvec"
to an auto_argvec, so that it owns copies of the strings,
rather than borrows them, updating ADD_ARG to use xstrdup
and special-casing the NULL terminator to avoid
xstrdup (NULL). Call add_multilib_driver_arguments at the front
of the arguments.
(MULTILIB_DEFAULTS): Provide a default definition.
(multilib_defaults_raw): New constant array.
(gcc::jit::playback::context::add_multilib_driver_arguments): New
method.
* jit-playback.h
(gcc::jit::playback::context::add_multilib_driver_arguments): New
method.
* docs/internals/test-hello-world.exe.log.txt: Update.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r226126
Jeff Law [Thu, 23 Jul 2015 20:42:15 +0000 (14:42 -0600)]
re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS. */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r226125
Ian Lance Taylor [Thu, 23 Jul 2015 19:57:22 +0000 (19:57 +0000)]
compiler: Make empty interface types for vars during parse time.
When making the type for a variable with an empty interface type,
the parser makes an interface type with a NULL method set and relies
on later passes to correct this.
For sink variables, which are ignored in later passes, the interface
method table is never finalized and a compile time assertion is issued.
Instead, the initial type generated by the parser should be the empty
interface type.
Fixes golang/go#11579.
Reviewed-on: https://go-review.googlesource.com/12049
From-SVN: r226123
Ian Lance Taylor [Thu, 23 Jul 2015 19:33:26 +0000 (19:33 +0000)]
compiler: Check for errors in the underlying types of unary expressions.
Fixes golang/go#11592.
Reviewed-on: https://go-review.googlesource.com/12044
From-SVN: r226122
Bernd Edlinger [Thu, 23 Jul 2015 19:01:03 +0000 (19:01 +0000)]
tree-pass.h (get_current_pass_name): Removed.
2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
* tree-pass.h (get_current_pass_name): Removed.
From-SVN: r226121
Marek Polacek [Thu, 23 Jul 2015 18:57:25 +0000 (18:57 +0000)]
re PR c++/66572 (Bogus Wlogical-op warning for operands coming from template instantiations)
PR c++/66572
* pt.c (tsubst_copy_and_build): Add warn_logical_op sentinel.
* g++.dg/warn/Wlogical-op-2.C: New test.
From-SVN: r226120
Bernd Schmidt [Thu, 23 Jul 2015 18:05:51 +0000 (18:05 +0000)]
* MAINTAINERS: Update my email address.
From-SVN: r226118
DJ Delorie [Thu, 23 Jul 2015 17:57:34 +0000 (13:57 -0400)]
functional_hash.h: Add specializations for __intN types.
* include/bits/functional_hash.h: Add specializations for __intN
types.
* include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds):
Guard against values that might exceed size_t's precision.
From-SVN: r226117
Marek Polacek [Thu, 23 Jul 2015 17:14:31 +0000 (17:14 +0000)]
c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
* c-ubsan.c (ubsan_instrument_division): Use unshare_expr throughout.
(ubsan_instrument_shift): Likewise.
From-SVN: r226116
Alexandre Oliva [Thu, 23 Jul 2015 15:34:49 +0000 (15:34 +0000)]
[PR64164] Drop copyrename, use coalescible partition as base when optimizing.
for gcc/ChangeLog
PR rtl-optimization/64164
* Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
* tree-ssa-copyrename.c: Removed.
* opts.c (default_options_table): Drop -ftree-copyrename. Add
-ftree-coalesce-vars.
* passes.def: Drop all occurrences of pass_rename_ssa_copies.
* common.opt (ftree-copyrename): Ignore.
(ftree-coalesce-inlined-vars): Likewise.
* doc/invoke.texi: Remove the ignored options above.
* gimple-expr.h (gimple_can_coalesce_p): Move declaration
* tree-ssa-coalesce.h: ... here.
* tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
headers required by it.
* gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
across variables when flag_tree_coalesce_vars. Check register
use and promoted modes to allow coalescing. Moved to
tree-ssa-coalesce.c.
* tree-ssa-live.c (struct tree_int_map_hasher): Move along
with its member functions to tree-ssa-coalesce.c.
(var_map_base_init): Likewise. Renamed to
compute_samebase_partition_bases.
(partition_view_normal): Drop want_bases parameter.
(partition_view_bitmap): Likewise.
* tree-ssa-live.h: Adjust declarations.
* tree-ssa-coalesce.c: Include explow.h.
(build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
default defs at the entry point.
(dump_part_var_map): New.
(compute_optimized_partition_bases): New, called by...
(coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
of compute_samebase_partition_bases. Adjust.
* alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
* cfgexpand.c (leader_merge): New.
(get_rtl_for_parm_ssa_default_def): New.
(set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
(expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
redundant MEM attr setting.
(expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
from...
(expand_one_stack_var): ... this. New wrapper to check and
skip already expanded SSA partitions.
(record_alignment_for_reg_var): New, factored out of...
(expand_one_var): ... this.
(expand_one_ssa_partition): New.
(adjust_one_expanded_partition_var): New.
(expand_one_register_var): Check and skip already expanded SSA
partitions.
(expand_used_vars): Don't create DECLs for anonymous SSA
names. Expand all SSA partitions, then adjust all SSA names.
(pass::execute): Replace the loops that set
SA.partition_to_pseudo from partition leaders and cleared
DECL_RTL for multi-location variables, and that which used to
rename vars and set attrs, with one that clears DECL_RTL and
checks that PARMs and RESULTs default_defs match DECL_RTL.
* cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
* emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
* explow.c (promote_ssa_mode): New.
* explow.h (promote_ssa_mode): Declare.
* expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
* function.c: Include cfgexpand.h.
(use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
(use_register_for_parm_decl): Wrapper for the above to
special-case the result_ptr.
(rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
(split_complex_args): Take assign_parm_data_all argument.
Pass it to rtl_for_parm. Set up rtl and context for split
args.
(assign_parms_augmented_arg_list): Adjust.
(maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
multiple locations. Recognize split complex args.
(assign_parm_adjust_stack_rtl): Add all and parm arguments,
for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
(assign_parm_setup_block): Prefer SSA-assigned location.
(assign_parm_setup_reg): Likewise. Use entry_parm for equiv
if stack_parm is NULL.
(assign_parm_setup_stack): Prefer SSA-assigned location.
(assign_parms): Maybe reset DECL_RTL of params. Adjust stack
rtl before testing for pointer bounds. Special-case result_ptr.
(expand_function_start): Maybe reset DECL_RTL of result.
Prefer SSA-assigned location for result and static chain.
Factor out DECL_RESULT and SET_DECL_RTL.
* tree-outof-ssa.c (insert_value_copy_on_edge): Handle
anonymous SSA names. Use promote_ssa_mode.
(get_temp_reg): Likewise.
(remove_ssa_form): Adjust.
* stor-layout.c (layout_decl): Don't set mem attributes of
non-MEMs.
* var-tracking.c (dataflow_set_clear_at_call): Take call_insn
and get its reg_usage for reg invalidation.
(compute_bb_dataflow): Pass it insn.
(emit_notes_in_bb): Likewise.
for gcc/testsuite/ChangeLog
* gcc.dg/guality/pr54200.c: Add -fno-tree-coalesce-vars.
* gcc.dg/ssp-1.c: Make counter a register.
* gcc.dg/ssp-2.c: Likewise.
* gcc.dg/torture/parm-coalesce.c: New.
From-SVN: r226113
Segher Boessenkool [Thu, 23 Jul 2015 14:37:57 +0000 (16:37 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
PR target/66217
* config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
prototype.
* config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
(rs6000_emit_2insn_and): Handle dot forms.
* config/rs6000/rs6000.md (and<mode>3): Adjust.
(*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
(*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
From-SVN: r226112
Richard Biener [Thu, 23 Jul 2015 14:31:44 +0000 (14:31 +0000)]
generic-match-head.c: Include cgraph.h.
2015-07-23 Richard Biener <rguenther@suse.de>
* generic-match-head.c: Include cgraph.h.
* gimple-match-head.c: Likewise.
* tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
SSA names.
* fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
* match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
pattern.
From-SVN: r226111
Marek Polacek [Thu, 23 Jul 2015 13:54:06 +0000 (13:54 +0000)]
re PR sanitizer/66908 (Uninitialized variable when compiled with UBsan)
PR sanitizer/66908
* c-ubsan.c: Include gimplify.h.
(ubsan_instrument_division): Unshare OP0 and OP1.
(ubsan_instrument_shift): Likewise.
* c-c++-common/ubsan/pr66908.c: New test.
From-SVN: r226110
Richard Biener [Thu, 23 Jul 2015 13:33:43 +0000 (13:33 +0000)]
gimple-fold.c (fold_gimple_cond): Do not require folding results to pass valid_gimple_rhs_p.
2015-07-23 Richard Biener <rguenther@suse.de>
* gimple-fold.c (fold_gimple_cond): Do not require folding
results to pass valid_gimple_rhs_p.
* tree-cfg.h (fold_cond_expr_cond): Remove.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
(make_edges): Do not call it.
* tree-inline.c (tree_function_versioning): Likewise.
From-SVN: r226109
Tom de Vries [Thu, 23 Jul 2015 12:17:52 +0000 (12:17 +0000)]
Check TYPE_OVERFLOW_WRAPS for parloops reductions
2015-07-23 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gather_scalar_reductions): Add arg to call to
vect_force_simple_reduction.
* tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
(vect_is_simple_reduction_1): Add and handle
need_wrapping_integral_overflow parameter.
(vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
need_wrapping_integral_overflow parameter.
(vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
* tree-vectorizer.h (vect_force_simple_reduction): Add parameter to decl.
* gcc.dg/autopar/outer-4.c: Add xfail.
* gcc.dg/autopar/outer-5.c: Same.
* gcc.dg/autopar/outer-6.c: Same.
* gcc.dg/autopar/reduc-2.c: Same.
* gcc.dg/autopar/reduc-2char.c: Same.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c: Same.
* gcc.dg/autopar/uns-outer-4.c: New test.
* gcc.dg/autopar/uns-outer-5.c: New test.
* gcc.dg/autopar/uns-outer-6.c: New test.
From-SVN: r226107
Richard Biener [Thu, 23 Jul 2015 11:19:26 +0000 (11:19 +0000)]
re PR tree-optimization/66952 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2015-07-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/66952
* gcc.dg/torture/pr66952.c: Use signed char.
From-SVN: r226104
Yuri Rumyantsev [Thu, 23 Jul 2015 11:13:00 +0000 (11:13 +0000)]
PR tree-optimization/66926,66951
gcc/
PR tree-optimization/66926,66951
* tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
INNER_LOOP and fix up condition for renaming virtual operands.
gcc/testsuite/
PR tree-optimization/66926,66951
* gcc.dg/vect/pr66951.c: New test.
From-SVN: r226103
Paolo Carlini [Thu, 23 Jul 2015 10:11:48 +0000 (10:11 +0000)]
re PR c++/52987 (bogus expected ; before for undeclared type)
/cp
2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52987
* parser.c (cp_parser_simple_declaration): Robustify check avoiding
redundant error messages.
/testsuite
2015-07-23 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/52987
* g++.dg/parse/error57.C: New.
* g++.dg/expr/string-2.C: Update.
From-SVN: r226097
Kyrylo Tkachov [Thu, 23 Jul 2015 09:21:27 +0000 (09:21 +0000)]
[combine][obvious] Use std::swap in try_combine
* combine.c (try_combine): Use std::swap instead of manually
swapping.
From-SVN: r226094
Prachi Godbole [Thu, 23 Jul 2015 07:58:20 +0000 (07:58 +0000)]
I6400 scheduling.
gcc/
* config/mips/i6400.md: New file.
* config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
(mips64r6): Likewise.
(i6400): Define.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
(mips_issue_rate): Add support for i6400.
(mips_multipass_dfa_lookahead): Likewise.
* config/mips/mips.h (TUNE_I6400): Define.
* config/mips/mips.md: Include i6400.md.
(processor): Add i6400.
* doc/invoke.texi (-march=@var{arch}): Add i6400.
From-SVN: r226090
Richard Biener [Thu, 23 Jul 2015 07:29:53 +0000 (07:29 +0000)]
re PR middle-end/66916 (FAIL: gcc.target/arm/pr43920-2.c object-size text <= 54)
2015-07-23 Richard Biener <rguenther@suse.de>
PR middle-end/66916
* match.pd: Guard widen and sign-change comparison simplification
with single_use.
From-SVN: r226089
Richard Biener [Thu, 23 Jul 2015 07:23:23 +0000 (07:23 +0000)]
re PR middle-end/66945 (ICE in generic_simplify (generic-match.c:24790))
2015-07-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/66945
* tree-ssa-propagate.c (substitute_and_fold_dom_walker
::before_dom_children): Force the propagators idea of
non-executable edges to materialize, not what the folder
chooses.
* gcc.dg/torture/pr66945.c: New testcase.
From-SVN: r226088
Richard Biener [Thu, 23 Jul 2015 07:22:06 +0000 (07:22 +0000)]
gimple.h (gimple_cond_make_false): Use 0 != 0.
2015-07-23 Richard Biener <rguenther@suse.de>
* gimple.h (gimple_cond_make_false): Use 0 != 0.
(gimple_cond_make_true): Use 1 != 0.
From-SVN: r226087
DJ Delorie [Thu, 23 Jul 2015 03:32:47 +0000 (23:32 -0400)]
t-msp430 (MULTILIB_DIRNAMES): Remove trailing slashes.
* config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
slashes.
* config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
(ashrhi3): Likewise.
(lshrhi3): Likewise.
(movhi): Take advantage of zero-extend to load small constants.
(movpsi): Likewise.
(and<mode>3): Likewise.
(zero_extendqihi2): Likewise.
(zero_extendqisi2): New.
* config/msp430/constraints.md (N,O): New.
* config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
From-SVN: r226085
GCC Administrator [Thu, 23 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226084
Uros Bizjak [Wed, 22 Jul 2015 18:01:33 +0000 (20:01 +0200)]
re PR target/66954 (function multiversioning fails for target "aes")
libgcc/ChangeLog:
PR target/66954
* config/i386/cpuinfo.c (enum processor_features): Add FEATURE_AES.
(get_available_features): Handle FEATURE_AES.
gcc/ChangeLog:
PR target/66954
* config/i386/i386.c (get_builtin_code_for_version): Add P_AES
to enum feature_priority and feature_list.
(fold_builtin_cpu): Add F_AES to enum processor_features
and isa_names_table.
gcc/testsuite/ChangeLog:
PR target/66954
* g++.dg/ext/mv24.C: New test.
From-SVN: r226081
Maxim Blumenthal [Wed, 22 Jul 2015 17:19:31 +0000 (17:19 +0000)]
re PR libgomp/66950 (FAIL: libgomp.fortran/examples-4/simd-7.f90 -O0 execution test)
2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
PR libgomp/66950
* testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
(fib_ref): New function.
(fib): Correct corner cases in the recursion.
(main): Replace the non-simd loop with fib_ref call.
* testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
subroutine.
(fibonacci): Lower the parameter N to 30. Correct accordingly check
for the last array element value. Replace the non-simd loop with
fib_ref call. Remove redundant b_ref array. Remove the comparison
of the last array element with according Fibonacci sequence element.
(fib): Correct corner cases in the recursion.
From-SVN: r226080
Marek Polacek [Wed, 22 Jul 2015 16:44:45 +0000 (16:44 +0000)]
unpack.c: Use dg-additional-options rather than dg-options.
* gcc.dg/vmx/unpack.c: Use dg-additional-options rather than
dg-options.
From-SVN: r226078
Ilya Enkovich [Wed, 22 Jul 2015 16:24:28 +0000 (16:24 +0000)]
re PR driver/66737 (ld: warning: -z bndplt ignored)
PR driver/66737
* config/i386/linux-common.h (MPX_SPEC): Use linker option
for 64bit target only.
From-SVN: r226076
Bernd Schmidt [Wed, 22 Jul 2015 15:30:14 +0000 (15:30 +0000)]
* config/nvptx/nvptx.c: Expand some comments.
From-SVN: r226075
Mikael Morin [Wed, 22 Jul 2015 15:26:52 +0000 (15:26 +0000)]
Fix r225926's iso_varying_string ICE regression
PR fortran/61831
PR fortran/66929
gcc/fortran/
* trans-array.c (gfc_get_proc_ifc_for_expr): Use esym as procedure
symbol if available.
gcc/testsuite/
* gfortran.dg/generic_30.f90: New.
From-SVN: r226074
James Greenhalgh [Wed, 22 Jul 2015 14:15:26 +0000 (14:15 +0000)]
[Patch ARM/AArch64 obvious] Fix typo: Rename insn_reservation cortex_53_advsimd to cortex_a53_advsimd
gcc/
* config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
(cortex_a53_advsimd): ...This.
From-SVN: r226069
Richard Biener [Wed, 22 Jul 2015 13:18:47 +0000 (13:18 +0000)]
genmatch.c (expr::gen_transform): Clarify error message and display location.
2015-07-22 Richard Biener <rguenther@suse.de>
* genmatch.c (expr::gen_transform): Clarify error message
and display location.
From-SVN: r226068
Richard Biener [Wed, 22 Jul 2015 13:16:50 +0000 (13:16 +0000)]
genmatch.c (struct operand): Add location member.
2015-07-22 Richard Biener <rguenther@suse.de>
* genmatch.c (struct operand): Add location member.
(predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
constructors.
(struct simplify): Remove match_location and result_location
members.
(elsehwere): Adjust.
From-SVN: r226067
Prachi Godbole [Wed, 22 Jul 2015 12:46:09 +0000 (12:46 +0000)]
Add scheduling for M51xx core family.
gcc/
* config/mips/m5100.md: New file.
* config/mips/mips-cpus.def (m5100, m5101): Define.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
-march=m5101 to -mips32r5.
(MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
(MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
!-msoft-float.
* config/mips/mips.md: Include m5100.md.
(processor): Add m5100.
* doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
From-SVN: r226066
Robert Suchanek [Wed, 22 Jul 2015 12:45:51 +0000 (12:45 +0000)]
Add -march=interaptiv.
gcc/
* config/mips/mips-cpus.def (interaptiv): Define.
* config/mips/mips-tables.opt: Regenerate.
* config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
-mips32r2.
(BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
* doc/invoke.texi (-march=@var{arch}): Add interaptiv.
From-SVN: r226065
Jiong Wang [Wed, 22 Jul 2015 11:41:10 +0000 (11:41 +0000)]
[AArch64] PR target/63521 Define REG_ALLOC_ORDER
2015-07-22 Jiong Wang <jiong.wang@arm.com>
gcc/
PR target/63521
* config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
(HONOR_REG_ALLOC_ORDER): Define.
From-SVN: r226064
Chung-Lin Tang [Wed, 22 Jul 2015 11:39:30 +0000 (11:39 +0000)]
linux-atomic.c (<asm/unistd.h>): Remove #include.
2015-07-22 Chung-Lin Tang <cltang@codesourcery.com>
libgcc/
* config/nios2/linux-atomic.c (<asm/unistd.h>): Remove #include.
(EFAULT,EBUSY,ENOSYS): Delete unused #defines.
From-SVN: r226063
Richard Biener [Wed, 22 Jul 2015 11:31:50 +0000 (11:31 +0000)]
re PR tree-optimization/66952 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2015-07-22 Richard Biener <rguenther@suse.de>
PR tree-optimization/66952
* tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
blocks we end up executing unconditionally reset all SSA
info such as range and alignment.
* tree-ssanames.h (reset_flow_sensitive_info): Declare.
* tree-ssanames.c (reset_flow_sensitive_info): New function.
* gcc.dg/torture/pr66952.c: New testcase.
From-SVN: r226062
Charles Baylis [Wed, 22 Jul 2015 10:56:40 +0000 (10:56 +0000)]
aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix typo in attribute.
2015-07-22 Charles Baylis <charles.baylis@linaro.org>
* config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
typo in attribute.
From-SVN: r226061
Richard Biener [Wed, 22 Jul 2015 10:48:11 +0000 (10:48 +0000)]
genmatch.c (parser::parse_result): Properly handle match with result operands and conditions.
2015-07-22 Richard Biener <rguenther@suse.de>
* genmatch.c (parser::parse_result): Properly handle
match with result operands and conditions.
From-SVN: r226060
Charles Baylis [Wed, 22 Jul 2015 10:44:16 +0000 (10:44 +0000)]
re PR target/63870 ([Aarch64] [ARM] Errors in use of NEON intrinsics are reported incorrectly)
gcc/ChangeLog:
2015-07-22 Charles Baylis <charles.baylis@linaro.org>
PR target/63870
* config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
Add qualifier_struct_load_store_lane_index.
(aarch64_types_loadstruct_lane_qualifiers): Use
qualifier_struct_load_store_lane_index for lane index argument for
last argument.
(aarch64_types_storestruct_lane_qualifiers): Ditto.
(builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_args): Add new argument describing mode of
builtin. Check lane bounds for arguments with
SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Emit error for incorrect lane indices
if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
(aarch64_simd_expand_builtin): Handle arguments with
qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
aarch64_simd_expand_args.
* config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
vst[234]_lane with BUILTIN_VALLDIF.
* config/aarch64/aarch64-simd.md:
(aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
endianness reversal on lane index.
(aarch64_vec_load_lanesci_lane<mode>): Ditto.
(aarch64_vec_load_lanesxi_lane<mode>): Ditto.
(vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
(vec_store_lanesci_lane<mode>): Ditto.
(vec_store_lanesxi_lane<mode>): Ditto.
(aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
reversal of lane index.
(aarch64_ld3_lane<mode>): Ditto.
(aarch64_ld4_lane<mode>): Ditto.
(aarch64_st2_lane<mode>): Ditto.
(aarch64_st3_lane<mode>): Ditto.
(aarch64_st4_lane<mode>): Ditto.
* config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
to qmode. Add new mode parameter. Update uses.
(__LD3_LANE_FUNC): Ditto.
(__LD4_LANE_FUNC): Ditto.
(__ST2_LANE_FUNC): Ditto.
(__ST3_LANE_FUNC): Ditto.
(__ST4_LANE_FUNC): Ditto.
gcc/testsuite/ChangeLog:
2015-07-22 Charles Baylis <charles.baylis@linaro.org>
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld2q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld3q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vld4q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst2q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst3q_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4_lane_u8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_f64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_p8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_s8_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u16_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u32_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u64_indices_1.c: New
test.
* gcc.target/aarch64/advsimd-intrinsics/vst4q_lane_u8_indices_1.c: New
test.
From-SVN: r226059
Jonathan Wakely [Wed, 22 Jul 2015 09:00:16 +0000 (10:00 +0100)]
invoke.texi (Language Independent Options): Rename node to Diagnostic Message Formatting Options.
* doc/invoke.texi (Language Independent Options): Rename node to
Diagnostic Message Formatting Options.
From-SVN: r226058
GCC Administrator [Wed, 22 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226057
Paolo Carlini [Tue, 21 Jul 2015 20:51:28 +0000 (20:51 +0000)]
decl.c (grokdeclarator): For an erroneous template parameter propagate error_mark_node as type.
/cp
2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (grokdeclarator): For an erroneous template parameter
propagate error_mark_node as type.
/testsuite
2015-07-21 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/template/crash81.C: Update.
From-SVN: r226054
Vladimir Makarov [Tue, 21 Jul 2015 19:54:23 +0000 (19:54 +0000)]
re PR ipa/66424 (wrong code at -O2 and -O3 on x86_64-linux-gnu in 32-bit mode)
2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
PR ipa/66424.
* lra-remat.c (operand_to_remat): Prevent using insns with input
subregs processed separately by IRA.
2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
PR ipa/66424.
* gcc.target/i386/pr66424.c: New.
From-SVN: r226053
Andrew MacLeod [Tue, 21 Jul 2015 19:15:13 +0000 (19:15 +0000)]
ssa-iterators.h (has_zero_uses, [...]): Implement as straight loops.
2015-07-21 Andrew MacLeod <amacleod@redhat.com>
* ssa-iterators.h (has_zero_uses, has_single_use): Implement as
straight loops.
(single_imm_use): Check for iterator node.
(num_imm_uses): Likewise.
* tree-ssa-operands.c (has_zero_uses_1): Delete.
(single_imm_use_1): Check for iterator node.
From-SVN: r226051
Mike Frysinger [Tue, 21 Jul 2015 18:33:35 +0000 (18:33 +0000)]
configure.ac: Add check for new options in isl-0.15.
* configure.ac: Add check for new options in isl-0.15.
* config.in, configure: Rebuilt.
* graphite-blocking.c: Include <isl/constraint.h>
* graphite-interchange.c, graphite-poly.c: Likewise.
* graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
<isl/union_set.h>.
* graphite-dependences.c: Include <isl/constraint.h>.
(max_number_of_out_dimensions): Returns isl_stat.
(extend_schedule_1): Likewise
(extend_schedule): Corresponding changes.
* graphite-optimize-isl.c: Include <isl/constraint.h> and
<isl/union_set.h>.
(getSingleMap): Change return type of isl_stat.
(optimize_isl): Conditionally use
isl_options_set_schedule_serialize_sccs.
* graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
Co-Authored-By: Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
From-SVN: r226050
Georg-Johann Lay [Tue, 21 Jul 2015 17:25:48 +0000 (17:25 +0000)]
re PR target/66956 ([avr] Using 32*32=64 multiplicatiion (umulsidi3) for 32=32*32 without MUL.)
PR target/66956
* config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
(<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
From-SVN: r226046
Alex Velenko [Tue, 21 Jul 2015 14:29:08 +0000 (14:29 +0000)]
thumb-bitfld1.c (foo): Add explicit return type.
2015-07-21 Alex Velenko <Alex.Velenko@arm.com>
* gcc.target/arm/thumb-bitfld1.c (foo): Add explicit return type.
From-SVN: r226043
Richard Biener [Tue, 21 Jul 2015 14:03:57 +0000 (14:03 +0000)]
re PR tree-optimization/66948 (Performance regression in bit manipulation code)
2015-07-21 Richard Biener <rguenther@suse.de>
PR tree-optimization/66948
* genmatch.c (capture_info::walk_match): Also recurse to
captures. Properly compute expr state from captures of
captures.
* match.pd: Add single-use guards to
(X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
From-SVN: r226041