[llvm] r299791 - De-flake a test that is failing due to coroutine spill insertion non-determinism

Reid Kleckner via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 7 11:02:53 PDT 2017


Author: rnk
Date: Fri Apr  7 13:02:53 2017
New Revision: 299791

URL: http://llvm.org/viewvc/llvm-project?rev=299791&view=rev
Log:
De-flake a test that is failing due to coroutine spill insertion non-determinism

Modified:
    llvm/trunk/test/Transforms/Coroutines/coro-spill-after-phi.ll

Modified: llvm/trunk/test/Transforms/Coroutines/coro-spill-after-phi.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/Coroutines/coro-spill-after-phi.ll?rev=299791&r1=299790&r2=299791&view=diff
==============================================================================
--- llvm/trunk/test/Transforms/Coroutines/coro-spill-after-phi.ll (original)
+++ llvm/trunk/test/Transforms/Coroutines/coro-spill-after-phi.ll Fri Apr  7 13:02:53 2017
@@ -38,10 +38,12 @@ suspend:
 ; CHECK: store void (%f.Frame*)* @f.destroy, void (%f.Frame*)** %destroy.addr
 ; CHECK: %phi1 = select i1 %n, i32 0, i32 2
 ; CHECK: %phi2 = select i1 %n, i32 1, i32 3
-; CHECK: %phi2.spill.addr = getelementptr inbounds %f.Frame, %f.Frame* %FramePtr, i32 0, i32 5
-; CHECK: store i32 %phi2, i32* %phi2.spill.addr
-; CHECK: %phi1.spill.addr = getelementptr inbounds %f.Frame, %f.Frame* %FramePtr, i32 0, i32 4
-; CHECK: store i32 %phi1, i32* %phi1.spill.addr
+; FIXME: The ordering of these spills is non-determinstic. Remove -DAG and the
+; (4|5) regex when that's fixed.
+; CHECK-DAG: %phi2.spill.addr = getelementptr inbounds %f.Frame, %f.Frame* %FramePtr, i32 0, i32 {{(4|5)}}
+; CHECK-DAG: store i32 %phi2, i32* %phi2.spill.addr
+; CHECK-DAG: %phi1.spill.addr = getelementptr inbounds %f.Frame, %f.Frame* %FramePtr, i32 0, i32 {{(4|5)}}
+; CHECK-DAG: store i32 %phi1, i32* %phi1.spill.addr
 ; CHECK: ret i8* %hdl
 
 declare i8* @llvm.coro.free(token, i8*)




More information about the llvm-commits mailing list