[PATCH] D79504: [Clang] Wrong return type of atomic_is_lock_free
kamlesh kumar via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed May 6 18:46:11 PDT 2020
kamleshbhalui updated this revision to Diff 262518.
kamleshbhalui added a comment.
Addressed @rsmith concerns.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79504/new/
https://reviews.llvm.org/D79504
Files:
clang/include/clang/Basic/Builtins.def
clang/test/CodeGen/atomic-ops.c
clang/test/CodeGen/big-atomic-ops.c
Index: clang/test/CodeGen/big-atomic-ops.c
===================================================================
--- clang/test/CodeGen/big-atomic-ops.c
+++ clang/test/CodeGen/big-atomic-ops.c
@@ -198,20 +198,20 @@
int lock_free(struct Incomplete *incomplete) {
// CHECK: @lock_free
- // CHECK: call i32 @__atomic_is_lock_free(i64 3, i8* null)
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i64 3, i8* null)
__c11_atomic_is_lock_free(3);
- // CHECK: call i32 @__atomic_is_lock_free(i64 16, i8* {{.*}}@sixteen{{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i64 16, i8* {{.*}}@sixteen{{.*}})
__atomic_is_lock_free(16, &sixteen);
- // CHECK: call i32 @__atomic_is_lock_free(i64 17, i8* {{.*}}@seventeen{{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i64 17, i8* {{.*}}@seventeen{{.*}})
__atomic_is_lock_free(17, &seventeen);
- // CHECK: call i32 @__atomic_is_lock_free(i64 4, {{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i64 4, {{.*}})
__atomic_is_lock_free(4, incomplete);
char cs[20];
- // CHECK: call i32 @__atomic_is_lock_free(i64 4, {{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i64 4, {{.*}})
__atomic_is_lock_free(4, cs+1);
// CHECK-NOT: call
Index: clang/test/CodeGen/atomic-ops.c
===================================================================
--- clang/test/CodeGen/atomic-ops.c
+++ clang/test/CodeGen/atomic-ops.c
@@ -343,20 +343,20 @@
int lock_free(struct Incomplete *incomplete) {
// CHECK-LABEL: @lock_free
- // CHECK: call i32 @__atomic_is_lock_free(i32 3, i8* null)
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i32 3, i8* null)
__c11_atomic_is_lock_free(3);
- // CHECK: call i32 @__atomic_is_lock_free(i32 16, i8* {{.*}}@sixteen{{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i32 16, i8* {{.*}}@sixteen{{.*}})
__atomic_is_lock_free(16, &sixteen);
- // CHECK: call i32 @__atomic_is_lock_free(i32 17, i8* {{.*}}@seventeen{{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i32 17, i8* {{.*}}@seventeen{{.*}})
__atomic_is_lock_free(17, &seventeen);
- // CHECK: call i32 @__atomic_is_lock_free(i32 4, {{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i32 4, {{.*}})
__atomic_is_lock_free(4, incomplete);
char cs[20];
- // CHECK: call i32 @__atomic_is_lock_free(i32 4, {{.*}})
+ // CHECK: call zeroext i1 @__atomic_is_lock_free(i32 4, {{.*}})
__atomic_is_lock_free(4, cs+1);
// CHECK-NOT: call
Index: clang/include/clang/Basic/Builtins.def
===================================================================
--- clang/include/clang/Basic/Builtins.def
+++ clang/include/clang/Basic/Builtins.def
@@ -724,7 +724,7 @@
ATOMIC_BUILTIN(__c11_atomic_fetch_min, "v.", "t")
BUILTIN(__c11_atomic_thread_fence, "vi", "n")
BUILTIN(__c11_atomic_signal_fence, "vi", "n")
-BUILTIN(__c11_atomic_is_lock_free, "iz", "n")
+BUILTIN(__c11_atomic_is_lock_free, "bz", "n")
// GNU atomic builtins.
ATOMIC_BUILTIN(__atomic_load, "v.", "t")
@@ -753,8 +753,8 @@
BUILTIN(__atomic_clear, "vvD*i", "n")
BUILTIN(__atomic_thread_fence, "vi", "n")
BUILTIN(__atomic_signal_fence, "vi", "n")
-BUILTIN(__atomic_always_lock_free, "izvCD*", "n")
-BUILTIN(__atomic_is_lock_free, "izvCD*", "n")
+BUILTIN(__atomic_always_lock_free, "bzvCD*", "n")
+BUILTIN(__atomic_is_lock_free, "bzvCD*", "n")
// OpenCL 2.0 atomic builtins.
ATOMIC_BUILTIN(__opencl_atomic_init, "v.", "t")
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79504.262518.patch
Type: text/x-patch
Size: 3436 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20200507/02814217/attachment.bin>
More information about the cfe-commits
mailing list