Author: Xun Li Date: 2020-10-12T15:29:07-07:00 New Revision: d80ecdf27faf2c45a4264064ddfd5c4524dadce4
URL: https://github.com/llvm/llvm-project/commit/d80ecdf27faf2c45a4264064ddfd5c4524dadce4 DIFF: https://github.com/llvm/llvm-project/commit/d80ecdf27faf2c45a4264064ddfd5c4524dadce4.diff LOG: [Coroutine] Rename coro-semmetric-transfer.cpp and possibly fix test failure Some tests start to fail after https://reviews.llvm.org/D89066. It's because the size of pointers are different on different targets. Limit the target in the command so there is no confusion. Also noticed I had typo in the test name. Adding disable-llvm-passes option to make the test more stable as well. Differential Revision: https://reviews.llvm.org/D89269 Added: clang/test/CodeGenCoroutines/coro-symmetric-transfer.cpp Modified: Removed: clang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp ################################################################################ diff --git a/clang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp b/clang/test/CodeGenCoroutines/coro-symmetric-transfer.cpp similarity index 58% rename from clang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp rename to clang/test/CodeGenCoroutines/coro-symmetric-transfer.cpp index 9833f14b273d..4f841a918bcf 100644 --- a/clang/test/CodeGenCoroutines/coro-semmetric-transfer.cpp +++ b/clang/test/CodeGenCoroutines/coro-symmetric-transfer.cpp @@ -1,4 +1,4 @@ -// RUN: %clang -std=c++14 -fcoroutines-ts -emit-llvm -S -O1 %s -o - | FileCheck %s +// RUN: %clang_cc1 -triple x86_64-unknown-linux-gnu -fcoroutines-ts -std=c++14 -O1 -emit-llvm %s -o - -disable-llvm-passes | FileCheck %s #include "Inputs/coroutine.h" @@ -48,6 +48,10 @@ detached_task foo() { co_return; } -// check that the lifetime of the coroutine handle used to obtain the address ended right away. -// CHECK: %{{.*}} = call i8* @{{.*address.*}}(%"struct.std::experimental::coroutines_v1::coroutine_handle.0"* nonnull %{{.*}}) -// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* nonnull %{{.*}}) +// check that the lifetime of the coroutine handle used to obtain the address is contained within single basic block. +// CHECK-LABEL: final.suspend: +// CHECK: %[[PTR1:.+]] = bitcast %"struct.std::experimental::coroutines_v1::coroutine_handle.0"* %[[ADDR_TMP:.+]] to i8* +// CHECK-NEXT: call void @llvm.lifetime.start.p0i8(i64 8, i8* %[[PTR1]]) +// CHECK: call i8* @{{.*address.*}}(%"struct.std::experimental::coroutines_v1::coroutine_handle.0"* %[[ADDR_TMP]]) +// CHECK-NEXT: %[[PTR2:.+]] = bitcast %"struct.std::experimental::coroutines_v1::coroutine_handle.0"* %[[ADDR_TMP]] to i8* +// CHECK-NEXT: call void @llvm.lifetime.end.p0i8(i64 8, i8* %[[PTR2]]) _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits