diff --git a/gcc/passes.def b/gcc/passes.def
index cdddb87302f..1fc867fae51 100644
--- a/gcc/passes.def
+++ b/gcc/passes.def
@@ -94,6 +94,7 @@ along with GCC; see the file COPYING3.  If not see
 	  NEXT_PASS (pass_phiprop);
 	  NEXT_PASS (pass_fre, true /* may_iterate */);
 	  NEXT_PASS (pass_early_vrp);
+	  NEXT_PASS (pass_sccopy);
 	  NEXT_PASS (pass_merge_phi);
           NEXT_PASS (pass_dse);
 	  NEXT_PASS (pass_cd_dce, false /* update_address_taken_p */, true /* remove_unused_locals */);
@@ -104,7 +105,6 @@ along with GCC; see the file COPYING3.  If not see
 	  NEXT_PASS (pass_tail_recursion);
 	  NEXT_PASS (pass_if_to_switch);
 	  NEXT_PASS (pass_convert_switch);
-	  NEXT_PASS (pass_sccopy);
 	  NEXT_PASS (pass_profile);
 	  NEXT_PASS (pass_local_pure_const);
 	  NEXT_PASS (pass_modref);
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c b/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
index 762d6720143..ff84ba8db13 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/dse-points-to.c
@@ -1,5 +1,5 @@
 /* { dg-do compile } */
-/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fno-tree-vrp -fdump-tree-dse1-details" } */
+/* { dg-options "-O2 -fno-tree-ccp -fno-tree-forwprop -fno-tree-fre -fno-tree-vrp -fdisable-tree-sccopy1 -fdump-tree-dse1-details" } */
 
 int
 f ()
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c b/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
index 8eacb518777..37e57a8996c 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/pr45397.c
@@ -18,12 +18,10 @@ int foo_mul (const unsigned char *tmp, int i, int val)
 
 /* All cases should end up using min/max for the saturated operations and
    have no control flow.  */
-/* EVRP leaves copies in the IL which confuses phiopt1 so we have
-   to rely on phiopt2 instead.  */
 /* { dg-final { scan-tree-dump-not " & 255;" "evrp" } } */
-/* { dg-final { scan-tree-dump-times "MAX_EXPR" 3 "phiopt1" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "MIN_EXPR" 3 "phiopt1" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-not "if " "phiopt1" { xfail *-*-* } } } */
+/* { dg-final { scan-tree-dump-times "MAX_EXPR" 3 "phiopt1"  } } */
+/* { dg-final { scan-tree-dump-times "MIN_EXPR" 3 "phiopt1"  } } */
+/* { dg-final { scan-tree-dump-not "if " "phiopt1" } } */
 /* { dg-final { scan-tree-dump-times "MAX_EXPR" 3 "phiopt2" } } */
 /* { dg-final { scan-tree-dump-times "MIN_EXPR" 3 "phiopt2" } } */
 /* { dg-final { scan-tree-dump-not "if " "phiopt2" } } */
diff --git a/gcc/testsuite/gcc.dg/ubsan/pr81981.c b/gcc/testsuite/gcc.dg/ubsan/pr81981.c
index d201efb3f65..8aac5ae9725 100644
--- a/gcc/testsuite/gcc.dg/ubsan/pr81981.c
+++ b/gcc/testsuite/gcc.dg/ubsan/pr81981.c
@@ -16,6 +16,6 @@ foo (int i)
       u[0] = i;
     }
 
-  v = u[0];		/* { dg-warning "may be used uninitialized" "" { xfail *-*-* } } */
-  return t[0];		/* { dg-warning "may be used uninitialized" } */
+  v = u[0];		/* { dg-warning "may be used uninitialized" } */
+  return t[0];		/* { dg-warning "may be used uninitialized" "" { xfail *-*-* } } */
 }
