[libc-commits] [libc] 09ceb47 - [libc][rpc] Land helpers from D148943

Jon Chesterfield via libc-commits libc-commits at lists.llvm.org
Thu May 4 12:54:07 PDT 2023


Author: Jon Chesterfield
Date: 2023-05-04T20:53:55+01:00
New Revision: 09ceb4729f1ca8781718d41b7876b68820baadba

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

LOG: [libc][rpc] Land helpers from D148943

Added: 
    

Modified: 
    libc/src/__support/RPC/rpc_util.h

Removed: 
    


################################################################################
diff  --git a/libc/src/__support/RPC/rpc_util.h b/libc/src/__support/RPC/rpc_util.h
index 53a993292fb3..22c5c1d216c8 100644
--- a/libc/src/__support/RPC/rpc_util.h
+++ b/libc/src/__support/RPC/rpc_util.h
@@ -26,6 +26,16 @@ LIBC_INLINE void sleep_briefly() {
 #endif
 }
 
+/// Get the first active thread inside the lane.
+LIBC_INLINE uint64_t get_first_lane_id(uint64_t lane_mask) {
+  return __builtin_ffsl(lane_mask) - 1;
+}
+
+/// Conditional that is only true for a single thread in a lane.
+LIBC_INLINE bool is_first_lane(uint64_t lane_mask) {
+  return gpu::get_lane_id() == get_first_lane_id(lane_mask);
+}
+
 } // namespace rpc
 } // namespace __llvm_libc
 


        


More information about the libc-commits mailing list