[llvm] ca4d2c3 - Revert "[NFC] [Coroutines] Add a test for icmp use of coro.suspend to prevent musttail call converting"

Chuanqi Xu via llvm-commits llvm-commits at lists.llvm.org
Mon Dec 27 03:07:00 PST 2021


Author: Chuanqi Xu
Date: 2021-12-27T19:05:22+08:00
New Revision: ca4d2c368d1a139c18942ac5581d1aab7e1d4b67

URL: https://github.com/llvm/llvm-project/commit/ca4d2c368d1a139c18942ac5581d1aab7e1d4b67
DIFF: https://github.com/llvm/llvm-project/commit/ca4d2c368d1a139c18942ac5581d1aab7e1d4b67.diff

LOG: Revert "[NFC] [Coroutines] Add a test for icmp use of coro.suspend to prevent musttail call converting"

This reverts commit 21aa4d5d5ef947d824c50a22d15fb93d7df0b711.

The test added is not proper. It would be passed all the time since it
is in the ramp function.

Added: 
    

Modified: 
    

Removed: 
    llvm/test/Transforms/Coroutines/coro-split-musttail4.ll


################################################################################
diff  --git a/llvm/test/Transforms/Coroutines/coro-split-musttail4.ll b/llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
deleted file mode 100644
index 4cba73c5e6ff6..0000000000000
--- a/llvm/test/Transforms/Coroutines/coro-split-musttail4.ll
+++ /dev/null
@@ -1,58 +0,0 @@
-; Tests that coro-split will convert a call before coro.suspend to a musttail call
-; while the user of the coro.suspend is a icmpinst.
-; RUN: opt < %s -passes='cgscc(coro-split),simplifycfg,early-cse' -S | FileCheck %s
-
-define void @fakeresume1(i8*)  {
-entry:
-  ret void;
-}
-
-define void @f() #0 {
-entry:
-  %id = call token @llvm.coro.id(i32 0, i8* null, i8* null, i8* null)
-  %alloc = call i8* @malloc(i64 16) #3
-  %vFrame = call noalias nonnull i8* @llvm.coro.begin(token %id, i8* %alloc)
-
-  %save = call token @llvm.coro.save(i8* null)
-  call fastcc void @fakeresume1(i8* null)
-
-  %suspend = call i8 @llvm.coro.suspend(token %save, i1 false)
-  %switch = icmp ult i8 %suspend, 2
-  br i1 %switch, label %cleanup, label %coro.end
-
-cleanup:
-  %free.handle = call i8* @llvm.coro.free(token %id, i8* %vFrame)
-  %.not = icmp eq i8* %free.handle, null
-  br i1 %.not, label %coro.end, label %coro.free
-
-coro.free:
-  call void @delete(i8* nonnull %free.handle) #2
-  br label %coro.end
-
-coro.end:
-  call i1 @llvm.coro.end(i8* null, i1 false)
-  ret void
-}
-
-; FIXME: The fakerresume here should be musttail call.
-; CHECK-LABEL: @f.resume(
-; CHECK-NOT: musttail call fastcc void @fakeresume1(
-
-
-declare token @llvm.coro.id(i32, i8* readnone, i8* nocapture readonly, i8*) #1
-declare i1 @llvm.coro.alloc(token) #2
-declare i64 @llvm.coro.size.i64() #3
-declare i8* @llvm.coro.begin(token, i8* writeonly) #2
-declare token @llvm.coro.save(i8*) #2
-declare i8* @llvm.coro.frame() #3
-declare i8 @llvm.coro.suspend(token, i1) #2
-declare i8* @llvm.coro.free(token, i8* nocapture readonly) #1
-declare i1 @llvm.coro.end(i8*, i1) #2
-declare i8* @llvm.coro.subfn.addr(i8* nocapture readonly, i8) #1
-declare i8* @malloc(i64)
-declare void @delete(i8* nonnull) #2
-
-attributes #0 = { "coroutine.presplit"="1" }
-attributes #1 = { argmemonly nounwind readonly }
-attributes #2 = { nounwind }
-attributes #3 = { nounwind readnone }
\ No newline at end of file


        


More information about the llvm-commits mailing list