Hi, Test gcc.dg/tree-ssa/pr71347 failed on some targets if the two memory references are re-written into different forms by IVOPT. This could be because of various reasons, for example, auto-increment addressing mode. Since the address expressions are of different form, DOM fails to eliminate the redundant load at the moment. I think DOM should be improved to handle address expressions appearing in different forms (at least for simple cases). For now, I will XFAIL this test indicating a possible enhancement.
Test checked on affected targets. Is it OK? Thanks, bin gcc/testsuite/ChangeLog 2016-06-20 Bin Cheng <bin.ch...@arm.com> PR tree-optimization/71347 * gcc.dg/tree-ssa/pr71347.c: XFAIL on ia64, arm, m68k and sparc.
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c index c8f87a9..428e41b 100644 --- a/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c +++ b/gcc/testsuite/gcc.dg/tree-ssa/pr71347.c @@ -14,4 +14,4 @@ void foo (void) } /* Load of X[i - i] can be omitted by reusing X[i] in previous iteration. */ -/* { dg-final { scan-tree-dump-not ".* = MEM.*;" "optimized"} } */ +/* { dg-final { scan-tree-dump-not ".* = MEM.*;" "optimized" { xfail { ia64-*-* arm*-*-* m68k*-*-* sparc*-*-* } } } } */