diff --git a/flang/test/Driver/optimization-remark.f90 b/flang/test/Driver/optimization-remark.f90 index 90e310d36c807..92b3bd8ba2081 100644 --- a/flang/test/Driver/optimization-remark.f90 +++ b/flang/test/Driver/optimization-remark.f90 @@ -19,6 +19,7 @@ ! RUN: %flang %s -O2 -Rpass=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=PASS-REGEX-LOOP-ONLY ! Check valid -Rpass-missed regex +! UNSUPPORTED: target=riscv{{.*}} ! RUN: %flang %s -O2 -Rpass-missed=loop -S %{output} 2>&1 | FileCheck %s --check-prefix=MISSED-REGEX-LOOP-ONLY ! Check valid -Rpass-analysis regex @@ -40,24 +41,24 @@ ! With plain -Rpass, -Rpass-missed or -Rpass-analysis, we expect remarks related to 2 opportunities (loop vectorisation / loop delete and load hoisting). ! Once we start filtering, this is reduced to 1 one of the loop passes. -! PASS-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: hoisting load [-Rpass=licm] -! PASS-REGEX-LOOP-ONLY: optimization-remark.f90:79:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete] +! PASS-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:78:7: remark: hoisting load [-Rpass=licm] +! PASS-REGEX-LOOP-ONLY: optimization-remark.f90:80:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete] -! MISSED-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:77:7: remark: failed to hoist load with loop-invariant address because load is conditionally executed [-Rpass-missed=licm] -! MISSED-REGEX-LOOP-ONLY: optimization-remark.f90:72:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize] +! MISSED-REGEX-LOOP-ONLY-NOT: optimization-remark.f90:78:7: remark: failed to hoist load with loop-invariant address because load is conditionally executed [-Rpass-missed=licm] +! MISSED-REGEX-LOOP-ONLY: optimization-remark.f90:73:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize] -! ANALYSIS-REGEX-LOOP-ONLY: optimization-remark.f90:74:7: remark: loop not vectorized: unsafe dependent memory operations in loop +! ANALYSIS-REGEX-LOOP-ONLY: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop ! ANALYSIS-REGEX-LOOP-ONLY-NOT: remark: {{.*}}: IR instruction count changed from {{[0-9]+}} to {{[0-9]+}}; Delta: {{-?[0-9]+}} [-Rpass-analysis=size-info] -! PASS: optimization-remark.f90:79:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete] +! PASS: optimization-remark.f90:80:5: remark: Loop deleted because it is invariant [-Rpass=loop-delete] -! MISSED: optimization-remark.f90:73:7: remark: failed to hoist load with loop-invariant address -! MISSED: optimization-remark.f90:72:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize] -! MISSED-NOT: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop. Use #pragma clang loop distribute(enable) to allow loop distribution to attempt to isolate the offending operations into a separate loop +! MISSED: optimization-remark.f90:74:7: remark: failed to hoist load with loop-invariant address +! MISSED: optimization-remark.f90:73:4: remark: loop not vectorized [-Rpass-missed=loop-vectorize] +! MISSED-NOT: optimization-remark.f90:76:7: remark: loop not vectorized: unsafe dependent memory operations in loop. Use #pragma clang loop distribute(enable) to allow loop distribution to attempt to isolate the offending operations into a separate loop ! MISSED-NOT: Unknown data dependence. Memory location is the same as accessed at optimization-remark.f90:78:7 [-Rpass-analysis=loop-vectorize] -! ANALYSIS: optimization-remark.f90:74:7: remark: loop not vectorized: unsafe dependent memory operations in loop. +! ANALYSIS: optimization-remark.f90:75:7: remark: loop not vectorized: unsafe dependent memory operations in loop. ! ANALYSIS: remark: {{.*}} instructions in function [-Rpass-analysis=asm-printer] subroutine swap_real(a1, a2)