[gcc-7] 175/354: * Update to SVN 20170503 (r247549) from the gcc-7-branch.
Ximin Luo
infinity0 at debian.org
Thu Nov 23 15:50:48 UTC 2017
This is an automated email from the git hooks/post-receive script.
infinity0 pushed a commit to branch master
in repository gcc-7.
commit 9e7a20efb422593422ea39024c1d279619f569fb
Author: doko <doko at 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca>
Date: Wed May 3 14:56:29 2017 +0000
* Update to SVN 20170503 (r247549) from the gcc-7-branch.
git-svn-id: svn+ssh://svn.debian.org/svn/gcccvs/branches/sid/gcc-7@9433 6ca36cf4-e1d1-0310-8c6f-e303bb2178ca
---
debian/changelog | 4 +-
debian/patches/svn-updates.diff | 248 +++++++++++++++++++++++++++++++++++++++-
2 files changed, 245 insertions(+), 7 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 15dd29f..7c32c35 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,13 +1,13 @@
gcc-7 (7.1.0-3) UNRELEASED; urgency=medium
- * Update to SVN 20170503 (r247542) from the gcc-7-branch.
+ * Update to SVN 20170503 (r247549) from the gcc-7-branch.
* Fix gdc build on sparc.
* Update the gdc-cross-install-location patch for GCC 7.
* Bump libgphobos soname.
* dpkg-buildflags stopped fiddling around with spec files; remove
the code removing and warning about dpkg's specs.
- -- Matthias Klose <doko at debian.org> Wed, 03 May 2017 13:13:20 +0200
+ -- Matthias Klose <doko at debian.org> Wed, 03 May 2017 16:51:15 +0200
gcc-7 (7.1.0-2) experimental; urgency=medium
diff --git a/debian/patches/svn-updates.diff b/debian/patches/svn-updates.diff
index 82b8d0d..10ba368 100644
--- a/debian/patches/svn-updates.diff
+++ b/debian/patches/svn-updates.diff
@@ -1,10 +1,10 @@
-# DP: updates from the 7 branch upto 20170503 (r247542).
+# DP: updates from the 7 branch upto 20170503 (r247549).
last_update()
{
cat > ${dir}LAST_UPDATED <EOF
-Wed May 3 12:38:57 CEST 2017
-Wed May 3 10:38:57 UTC 2017 (revision 247542)
+Wed May 3 16:50:11 CEST 2017
+Wed May 3 14:50:11 UTC 2017 (revision 247549)
EOF
}
@@ -56,11 +56,161 @@ Index: gcc/DATESTAMP
@@ -1 +1 @@
-20170502
+20170503
+Index: gcc/tree-chrec.c
+===================================================================
+--- a/src/gcc/tree-chrec.c (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/tree-chrec.c (.../branches/gcc-7-branch)
+@@ -149,7 +149,12 @@
+
+ /* This function should never be called for chrecs of loops that
+ do not belong to the same loop nest. */
+- gcc_assert (loop0 == loop1);
++ if (loop0 != loop1)
++ {
++ /* It still can happen if we are not in loop-closed SSA form. */
++ gcc_assert (! loops_state_satisfies_p (LOOP_CLOSED_SSA));
++ return chrec_dont_know;
++ }
+
+ if (code == PLUS_EXPR || code == POINTER_PLUS_EXPR)
+ {
+@@ -211,7 +216,12 @@
+ chrec_fold_multiply (type, CHREC_LEFT (poly0), poly1),
+ CHREC_RIGHT (poly0));
+
+- gcc_assert (loop0 == loop1);
++ if (loop0 != loop1)
++ {
++ /* It still can happen if we are not in loop-closed SSA form. */
++ gcc_assert (! loops_state_satisfies_p (LOOP_CLOSED_SSA));
++ return chrec_dont_know;
++ }
+
+ /* poly0 and poly1 are two polynomials in the same variable,
+ {a, +, b}_x * {c, +, d}_x -> {a*c, +, a*d + b*c + b*d, +, 2*b*d}_x. */
+Index: gcc/tree-ssa-sccvn.c
+===================================================================
+--- a/src/gcc/tree-ssa-sccvn.c (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/tree-ssa-sccvn.c (.../branches/gcc-7-branch)
+@@ -2916,14 +2916,11 @@
+ the other. */
+
+ static bool
+-cond_stmts_equal_p (gcond *cond1, gcond *cond2, bool *inverted_p)
++cond_stmts_equal_p (gcond *cond1, tree lhs1, tree rhs1,
++ gcond *cond2, tree lhs2, tree rhs2, bool *inverted_p)
+ {
+ enum tree_code code1 = gimple_cond_code (cond1);
+ enum tree_code code2 = gimple_cond_code (cond2);
+- tree lhs1 = gimple_cond_lhs (cond1);
+- tree lhs2 = gimple_cond_lhs (cond2);
+- tree rhs1 = gimple_cond_rhs (cond1);
+- tree rhs2 = gimple_cond_rhs (cond2);
+
+ *inverted_p = false;
+ if (code1 == code2)
+@@ -2941,10 +2938,6 @@
+ else
+ return false;
+
+- lhs1 = vn_valueize (lhs1);
+- rhs1 = vn_valueize (rhs1);
+- lhs2 = vn_valueize (lhs2);
+- rhs2 = vn_valueize (rhs2);
+ return ((expressions_equal_p (lhs1, lhs2)
+ && expressions_equal_p (rhs1, rhs2))
+ || (commutative_tree_code (code1)
+@@ -3002,7 +2995,10 @@
+ return false;
+ bool inverted_p;
+ if (! cond_stmts_equal_p (as_a <gcond *> (last1),
+- as_a <gcond *> (last2), &inverted_p))
++ vp1->cclhs, vp1->ccrhs,
++ as_a <gcond *> (last2),
++ vp2->cclhs, vp2->ccrhs,
++ &inverted_p))
+ return false;
+
+ /* Get at true/false controlled edges into the PHI. */
+@@ -3081,6 +3077,16 @@
+ vp1.type = TREE_TYPE (gimple_phi_result (phi));
+ vp1.phiargs = shared_lookup_phiargs;
+ vp1.block = gimple_bb (phi);
++ /* Extract values of the controlling condition. */
++ vp1.cclhs = NULL_TREE;
++ vp1.ccrhs = NULL_TREE;
++ basic_block idom1 = get_immediate_dominator (CDI_DOMINATORS, vp1.block);
++ if (EDGE_COUNT (idom1->succs) == 2)
++ if (gcond *last1 = dyn_cast <gcond *> (last_stmt (idom1)))
++ {
++ vp1.cclhs = vn_valueize (gimple_cond_lhs (last1));
++ vp1.ccrhs = vn_valueize (gimple_cond_rhs (last1));
++ }
+ vp1.hashcode = vn_phi_compute_hash (&vp1);
+ slot = current_info->phis->find_slot_with_hash (&vp1, vp1.hashcode,
+ NO_INSERT);
+@@ -3117,6 +3123,16 @@
+ vp1->type = TREE_TYPE (gimple_phi_result (phi));
+ vp1->phiargs = args;
+ vp1->block = gimple_bb (phi);
++ /* Extract values of the controlling condition. */
++ vp1->cclhs = NULL_TREE;
++ vp1->ccrhs = NULL_TREE;
++ basic_block idom1 = get_immediate_dominator (CDI_DOMINATORS, vp1->block);
++ if (EDGE_COUNT (idom1->succs) == 2)
++ if (gcond *last1 = dyn_cast <gcond *> (last_stmt (idom1)))
++ {
++ vp1->cclhs = vn_valueize (gimple_cond_lhs (last1));
++ vp1->ccrhs = vn_valueize (gimple_cond_rhs (last1));
++ }
+ vp1->result = result;
+ vp1->hashcode = vn_phi_compute_hash (vp1);
+
+Index: gcc/tree-ssa-sccvn.h
+===================================================================
+--- a/src/gcc/tree-ssa-sccvn.h (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/tree-ssa-sccvn.h (.../branches/gcc-7-branch)
+@@ -67,6 +67,9 @@
+ hashval_t hashcode;
+ vec<tree> phiargs;
+ basic_block block;
++ /* Controlling condition lhs/rhs. */
++ tree cclhs;
++ tree ccrhs;
+ tree type;
+ tree result;
+ } *vn_phi_t;
Index: gcc/ChangeLog
===================================================================
--- a/src/gcc/ChangeLog (.../tags/gcc_7_1_0_release)
+++ b/src/gcc/ChangeLog (.../branches/gcc-7-branch)
-@@ -1,3 +1,21 @@
+@@ -1,3 +1,47 @@
++2017-05-03 Richard Biener <rguenther at suse.de>
++
++ Backport from mainline
++ 2017-04-20 Richard Biener <rguenther at suse.de>
++
++ PR tree-optimization/80453
++ * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
++ * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
++ from the conditions.
++ (vn_phi_eq): Pass them down.
++ (vn_phi_lookup): Record them.
++ (vn_phi_insert): Likewise.
++
++ 2017-04-25 Richard Biener <rguenther at suse.de>
++
++ PR tree-optimization/80492
++ * alias.c (compare_base_decls): Handle registers with asm
++ specification conservatively.
++
++ 2017-04-27 Richard Biener <rguenther at suse.de>
++
++ PR middle-end/80539
++ * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
++ being in loop-closed SSA form conservatively.
++ (chrec_fold_multiply_poly_poly): Likewise.
++
+2017-05-02 Uros Bizjak <ubizjak at gmail.com>
+
+ Backport from mainline
@@ -97,11 +247,76 @@ Index: gcc/testsuite/gcc.dg/pr80468.c
+ __attribute__ ((__vector_size__ (4 * sizeof (unsigned)))) __int128 b; /* { dg-error "is not supported on this target" } */
+ 0 != b;
+}
+Index: gcc/testsuite/gcc.dg/torture/pr80539.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/torture/pr80539.c (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.dg/torture/pr80539.c (.../branches/gcc-7-branch)
+@@ -0,0 +1,22 @@
++/* { dg-do compile } */
++
++signed char a, b;
++void fn1()
++{
++ signed char c, e;
++ short d;
++ if (0) {
++ for (; d;) {
++l1:
++ for (c = 7; a; c++)
++ ;
++ e = 6;
++ for (; b; e++)
++ ;
++ }
++ c -= e;
++ }
++ if (d == 7)
++ goto l1;
++ a = c;
++}
+Index: gcc/testsuite/gcc.dg/pr80492.c
+===================================================================
+--- a/src/gcc/testsuite/gcc.dg/pr80492.c (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/testsuite/gcc.dg/pr80492.c (.../branches/gcc-7-branch)
+@@ -0,0 +1,20 @@
++/* { dg-do compile } */
++/* { dg-options "-w -O2 -fdump-tree-optimized" } */
++
++static __inline__ __attribute__((__always_inline__))
++void syscall_7 (int val)
++{
++ register int reg __asm ("4") = val;
++ __asm __volatile__ ("/* Some Code %0 */" :: "r" (reg));
++}
++
++void do_syscalls (void)
++{
++ for (int s = 0; s < 2; s++)
++ {
++ syscall_7 (0);
++ syscall_7 (1);
++ }
++}
++
++/* { dg-final { scan-tree-dump-times "reg = " 4 "optimized" } } */
Index: gcc/testsuite/ChangeLog
===================================================================
--- a/src/gcc/testsuite/ChangeLog (.../tags/gcc_7_1_0_release)
+++ b/src/gcc/testsuite/ChangeLog (.../branches/gcc-7-branch)
-@@ -1,3 +1,11 @@
+@@ -1,3 +1,24 @@
++2017-05-03 Richard Biener <rguenther at suse.de>
++
++ Backport from mainline
++ 2017-04-25 Richard Biener <rguenther at suse.de>
++
++ PR tree-optimization/80492
++ * gcc.dg/pr80492.c: New testcase.
++
++ 2017-04-27 Richard Biener <rguenther at suse.de>
++
++ PR middle-end/80539
++ * gcc.dg/torture/pr80539.c: New testcase.
++
+2017-05-03 Jakub Jelinek <jakub at redhat.com>
+
+ Backported from mainline
@@ -113,6 +328,29 @@ Index: gcc/testsuite/ChangeLog
2017-05-02 Release Manager
* GCC 7.1.0 released.
+Index: gcc/alias.c
+===================================================================
+--- a/src/gcc/alias.c (.../tags/gcc_7_1_0_release)
++++ b/src/gcc/alias.c (.../branches/gcc-7-branch)
+@@ -2046,6 +2046,18 @@
+ if (base1 == base2)
+ return 1;
+
++ /* If we have two register decls with register specification we
++ cannot decide unless their assembler name is the same. */
++ if (DECL_REGISTER (base1)
++ && DECL_REGISTER (base2)
++ && DECL_ASSEMBLER_NAME_SET_P (base1)
++ && DECL_ASSEMBLER_NAME_SET_P (base2))
++ {
++ if (DECL_ASSEMBLER_NAME (base1) == DECL_ASSEMBLER_NAME (base2))
++ return 1;
++ return -1;
++ }
++
+ /* Declarations of non-automatic variables may have aliases. All other
+ decls are unique. */
+ if (!decl_in_symtab_p (base1)
Index: gcc/po/es.po
===================================================================
--- a/src/gcc/po/es.po (.../tags/gcc_7_1_0_release)
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/gcc-7.git
More information about the Reproducible-commits
mailing list