Skip to content

Revert "[libc] Implement barriers for pthreads" #151014

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jul 28, 2025

Conversation

uzairnawaz
Copy link
Contributor

Reverts #148948

@uzairnawaz uzairnawaz requested a review from sribee8 July 28, 2025 18:36
@llvmbot llvmbot added the libc label Jul 28, 2025
@llvmbot
Copy link
Member

llvmbot commented Jul 28, 2025

@llvm/pr-subscribers-libc

Author: Uzair Nawaz (uzairnawaz)

Changes

Reverts llvm/llvm-project#148948


Patch is 27.69 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/151014.diff

25 Files Affected:

  • (modified) libc/config/linux/x86_64/entrypoints.txt (-3)
  • (modified) libc/hdr/CMakeLists.txt (-9)
  • (removed) libc/hdr/pthread_macros.h (-22)
  • (modified) libc/hdr/types/CMakeLists.txt (-16)
  • (removed) libc/hdr/types/pthread_barrier_t.h (-22)
  • (removed) libc/hdr/types/pthread_barrierattr_t.h (-22)
  • (modified) libc/include/CMakeLists.txt (-2)
  • (modified) libc/include/llvm-libc-macros/pthread-macros.h (-2)
  • (modified) libc/include/llvm-libc-types/CMakeLists.txt (-3)
  • (removed) libc/include/llvm-libc-types/__barrier_type.h (-21)
  • (removed) libc/include/llvm-libc-types/pthread_barrier_t.h (-15)
  • (removed) libc/include/llvm-libc-types/pthread_barrierattr_t.h (-16)
  • (modified) libc/include/pthread.yaml (-22)
  • (modified) libc/src/__support/threads/linux/CMakeLists.txt (-11)
  • (removed) libc/src/__support/threads/linux/barrier.cpp (-85)
  • (removed) libc/src/__support/threads/linux/barrier.h (-50)
  • (modified) libc/src/pthread/CMakeLists.txt (-34)
  • (removed) libc/src/pthread/pthread_barrier_destroy.cpp (-22)
  • (removed) libc/src/pthread/pthread_barrier_destroy.h (-21)
  • (removed) libc/src/pthread/pthread_barrier_init.cpp (-26)
  • (removed) libc/src/pthread/pthread_barrier_init.h (-24)
  • (removed) libc/src/pthread/pthread_barrier_wait.cpp (-22)
  • (removed) libc/src/pthread/pthread_barrier_wait.h (-21)
  • (modified) libc/test/integration/src/pthread/CMakeLists.txt (-17)
  • (removed) libc/test/integration/src/pthread/pthread_barrier_test.cpp (-117)
diff --git a/libc/config/linux/x86_64/entrypoints.txt b/libc/config/linux/x86_64/entrypoints.txt
index 83d58186415ec..4315bb060f79a 100644
--- a/libc/config/linux/x86_64/entrypoints.txt
+++ b/libc/config/linux/x86_64/entrypoints.txt
@@ -1050,9 +1050,6 @@ if(LLVM_LIBC_FULL_BUILD)
     libc.src.pthread.pthread_join
     libc.src.pthread.pthread_key_create
     libc.src.pthread.pthread_key_delete
-    libc.src.pthread.pthread_barrier_init
-    libc.src.pthread.pthread_barrier_wait
-    libc.src.pthread.pthread_barrier_destroy
     libc.src.pthread.pthread_mutex_destroy
     libc.src.pthread.pthread_mutex_init
     libc.src.pthread.pthread_mutex_lock
diff --git a/libc/hdr/CMakeLists.txt b/libc/hdr/CMakeLists.txt
index f3f01c1ed0e30..5fc25d0ca5689 100644
--- a/libc/hdr/CMakeLists.txt
+++ b/libc/hdr/CMakeLists.txt
@@ -72,15 +72,6 @@ add_proxy_header_library(
     libc.include.fenv
 )
 
-add_proxy_header_library(
-  pthread_macros
-  HDRS
-    pthread_macros.h
-  FULL_BUILD_DEPENDS
-    libc.include.llvm-libc-macros.pthread_macros
-    libc.include.pthread
-)
-
 add_proxy_header_library(
   sched_macros
   HDRS
diff --git a/libc/hdr/pthread_macros.h b/libc/hdr/pthread_macros.h
deleted file mode 100644
index f913015abd31c..0000000000000
--- a/libc/hdr/pthread_macros.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- Definition of macros from pthread.h -------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_HDR_PTHREAD_MACROS_H
-#define LLVM_LIBC_HDR_PTHREAD_MACROS_H
-
-#ifdef LIBC_FULL_BUILD
-
-#include "include/llvm-libc-macros/pthread-macros.h"
-
-#else // Overlay mode
-
-#include <pthread.h>
-
-#endif // LLVM_LIBC_FULL_BUILD
-
-#endif // LLVM_LIBC_HDR_PTHREAD_MACROS_H
diff --git a/libc/hdr/types/CMakeLists.txt b/libc/hdr/types/CMakeLists.txt
index 1c1f242e84341..c21236307a91d 100644
--- a/libc/hdr/types/CMakeLists.txt
+++ b/libc/hdr/types/CMakeLists.txt
@@ -241,22 +241,6 @@ add_proxy_header_library(
     libc.include.llvm-libc-types.pid_t
 )
 
-add_proxy_header_library(
-  pthread_barrier_t
-  HDRS
-    pthread_barrier_t.h
-  FULL_BUILD_DEPENDS
-    libc.include.llvm-libc-types.pthread_barrier_t
-)
-
-add_proxy_header_library(
-  pthread_barrierattr_t
-  HDRS
-    pthread_barrierattr_t.h
-  FULL_BUILD_DEPENDS
-    libc.include.llvm-libc-types.pthread_barrierattr_t
-)
-
 add_proxy_header_library(
   atexithandler_t
   HDRS
diff --git a/libc/hdr/types/pthread_barrier_t.h b/libc/hdr/types/pthread_barrier_t.h
deleted file mode 100644
index 57bcdfc6a9901..0000000000000
--- a/libc/hdr/types/pthread_barrier_t.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- Definition of macros from pthread_barrier_t.h ---------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIER_T_H
-#define LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIER_T_H
-
-#ifdef LIBC_FULL_BUILD
-
-#include "include/llvm-libc-types/pthread_barrier_t.h"
-
-#else // Overlay mode
-
-#error "Cannot overlay pthread_barrier_t"
-
-#endif // LLVM_LIBC_FULL_BUILD
-
-#endif // LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIER_T_H
diff --git a/libc/hdr/types/pthread_barrierattr_t.h b/libc/hdr/types/pthread_barrierattr_t.h
deleted file mode 100644
index d9d14c12e4de6..0000000000000
--- a/libc/hdr/types/pthread_barrierattr_t.h
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- Definition of macros from pthread_barrierattr_t.h -----------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIERATTR_T_H
-#define LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIERATTR_T_H
-
-#ifdef LIBC_FULL_BUILD
-
-#include "include/llvm-libc-types/pthread_barrierattr_t.h"
-
-#else // Overlay mode
-
-#error "Cannot overlay pthread_barrierattr_t"
-
-#endif // LLVM_LIBC_FULL_BUILD
-
-#endif // LLVM_LIBC_HDR_TYPES_PTHREAD_BARRIERATTR_T_H
diff --git a/libc/include/CMakeLists.txt b/libc/include/CMakeLists.txt
index 74fcea0f15e2f..120f3850b5cee 100644
--- a/libc/include/CMakeLists.txt
+++ b/libc/include/CMakeLists.txt
@@ -392,8 +392,6 @@ add_header_macro(
     .llvm-libc-types.pthread_attr_t
     .llvm-libc-types.pthread_condattr_t
     .llvm-libc-types.pthread_key_t
-    .llvm-libc-types.pthread_barrier_t
-    .llvm-libc-types.pthread_barrierattr_t
     .llvm-libc-types.pthread_mutex_t
     .llvm-libc-types.pthread_mutexattr_t
     .llvm-libc-types.pthread_once_t
diff --git a/libc/include/llvm-libc-macros/pthread-macros.h b/libc/include/llvm-libc-macros/pthread-macros.h
index ce467b7cc4d07..fcc6ef925e3f4 100644
--- a/libc/include/llvm-libc-macros/pthread-macros.h
+++ b/libc/include/llvm-libc-macros/pthread-macros.h
@@ -22,8 +22,6 @@
 #define PTHREAD_MUTEX_STALLED 0
 #define PTHREAD_MUTEX_ROBUST 1
 
-#define PTHREAD_BARRIER_SERIAL_THREAD -1
-
 #define PTHREAD_ONCE_INIT {0}
 
 #define PTHREAD_PROCESS_PRIVATE 0
diff --git a/libc/include/llvm-libc-types/CMakeLists.txt b/libc/include/llvm-libc-types/CMakeLists.txt
index fcc331aee47c7..4ccdde619a39e 100644
--- a/libc/include/llvm-libc-types/CMakeLists.txt
+++ b/libc/include/llvm-libc-types/CMakeLists.txt
@@ -10,7 +10,6 @@ add_header(__exec_envp_t HDR __exec_envp_t.h)
 add_header(__futex_word HDR __futex_word.h)
 add_header(pid_t HDR pid_t.h)
 add_header(__mutex_type HDR __mutex_type.h DEPENDS .__futex_word .pid_t)
-add_header(__barrier_type HDR __barrier_type.h)
 add_header(__pthread_once_func_t HDR __pthread_once_func_t.h)
 add_header(__pthread_start_t HDR __pthread_start_t.h)
 add_header(__pthread_tss_dtor_t HDR __pthread_tss_dtor_t.h)
@@ -54,8 +53,6 @@ add_header(pthread_condattr_t HDR pthread_condattr_t.h DEPENDS .clockid_t)
 add_header(pthread_key_t HDR pthread_key_t.h)
 add_header(pthread_mutex_t HDR pthread_mutex_t.h DEPENDS .__futex_word .__mutex_type)
 add_header(pthread_mutexattr_t HDR pthread_mutexattr_t.h)
-add_header(pthread_barrier_t HDR pthread_barrier_t.h)
-add_header(pthread_barrierattr_t HDR pthread_barrierattr_t.h)
 add_header(pthread_once_t HDR pthread_once_t.h DEPENDS .__futex_word)
 add_header(pthread_rwlock_t HDR pthread_rwlock_t.h DEPENDS .__futex_word .pid_t)
 add_header(pthread_rwlockattr_t HDR pthread_rwlockattr_t.h)
diff --git a/libc/include/llvm-libc-types/__barrier_type.h b/libc/include/llvm-libc-types/__barrier_type.h
deleted file mode 100644
index 59712619e917d..0000000000000
--- a/libc/include/llvm-libc-types/__barrier_type.h
+++ /dev/null
@@ -1,21 +0,0 @@
-//===-- Definition of __barrier_type type ---------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TYPES__BARRIER_TYPE_H
-#define LLVM_LIBC_TYPES__BARRIER_TYPE_H
-
-typedef struct __attribute__((aligned(8 /* alignof (Barrier) */))) {
-  unsigned expected;
-  unsigned waiting;
-  bool blocking;
-  char entering[24 /* sizeof (CndVar) */];
-  char exiting[24 /* sizeof (CndVar) */];
-  char mutex[24 /* sizeof (Mutex) */];
-} __barrier_type;
-
-#endif // LLVM_LIBC_TYPES__BARRIER_TYPE_H
diff --git a/libc/include/llvm-libc-types/pthread_barrier_t.h b/libc/include/llvm-libc-types/pthread_barrier_t.h
deleted file mode 100644
index 3a3d4706d43e6..0000000000000
--- a/libc/include/llvm-libc-types/pthread_barrier_t.h
+++ /dev/null
@@ -1,15 +0,0 @@
-//===-- Definition of pthread_barrier_t type --------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TYPES_PTHREAD_BARRIER_T_H
-#define LLVM_LIBC_TYPES_PTHREAD_BARRIER_T_H
-
-#include "include/llvm-libc-types/__barrier_type.h"
-typedef __barrier_type pthread_barrier_t;
-
-#endif // LLVM_LIBC_TYPES_PTHREAD_BARRIER_T_H
diff --git a/libc/include/llvm-libc-types/pthread_barrierattr_t.h b/libc/include/llvm-libc-types/pthread_barrierattr_t.h
deleted file mode 100644
index 064be5bfb6721..0000000000000
--- a/libc/include/llvm-libc-types/pthread_barrierattr_t.h
+++ /dev/null
@@ -1,16 +0,0 @@
-//===-- Definition of pthread_barrierattr_t type --------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_TYPES_PTHREAD_BARRIERATTR_T_H
-#define LLVM_LIBC_TYPES_PTHREAD_BARRIERATTR_T_H
-
-typedef struct {
-  bool pshared;
-} pthread_barrierattr_t;
-
-#endif // LLVM_LIBC_TYPES_PTHREAD_BARRIERATTR_T_H
diff --git a/libc/include/pthread.yaml b/libc/include/pthread.yaml
index 8afce2098adde..5b27e68d2f2d8 100644
--- a/libc/include/pthread.yaml
+++ b/libc/include/pthread.yaml
@@ -6,8 +6,6 @@ types:
   - type_name: pthread_once_t
   - type_name: pthread_mutex_t
   - type_name: pthread_mutexattr_t
-  - type_name: pthread_barrier_t
-  - type_name: pthread_barrierattr_t
   - type_name: pthread_key_t
   - type_name: pthread_condattr_t
   - type_name: __pthread_tss_dtor_t
@@ -279,26 +277,6 @@ functions:
     arguments:
       - type: pthread_mutexattr_t *__restrict
       - type: int
-  - name: pthread_barrier_init
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: pthread_barrier_t *__restrict
-      - type: const pthread_barrierattr_t *__restrict
-      - type: int
-  - name: pthread_barrier_wait
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: pthread_barrier_t *
-  - name: pthread_barrier_destroy
-    standards:
-      - POSIX
-    return_type: int
-    arguments:
-      - type: pthread_barrier_t *
   - name: pthread_once
     standards:
       - POSIX
diff --git a/libc/src/__support/threads/linux/CMakeLists.txt b/libc/src/__support/threads/linux/CMakeLists.txt
index 14aaad214f43a..cbb788645a139 100644
--- a/libc/src/__support/threads/linux/CMakeLists.txt
+++ b/libc/src/__support/threads/linux/CMakeLists.txt
@@ -124,14 +124,3 @@ add_object_library(
     libc.src.__support.threads.linux.raw_mutex
     libc.src.__support.CPP.mutex
 )
-
-add_object_library(
-  barrier
-  HDRS
-    barrier.h
-  SRCS
-    barrier.cpp
-  DEPENDS
-    libc.src.__support.threads.CndVar
-    libc.src.__support.threads.mutex
-)
diff --git a/libc/src/__support/threads/linux/barrier.cpp b/libc/src/__support/threads/linux/barrier.cpp
deleted file mode 100644
index cf7207b53094b..0000000000000
--- a/libc/src/__support/threads/linux/barrier.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-//===-- Implementation of Barrier class ------------- ---------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "src/__support/threads/linux/barrier.h"
-#include "hdr/errno_macros.h"
-#include "src/__support/threads/CndVar.h"
-#include "src/__support/threads/mutex.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-int Barrier::init(Barrier *b,
-                  [[maybe_unused]] const pthread_barrierattr_t *attr,
-                  unsigned count) {
-  LIBC_ASSERT(attr == nullptr); // TODO implement barrierattr
-  if (count == 0)
-    return EINVAL;
-
-  b->expected = count;
-  b->waiting = 0;
-  b->blocking = true;
-
-  int err;
-  err = CndVar::init(&b->entering);
-  if (err != 0)
-    return err;
-
-  err = CndVar::init(&b->exiting);
-  if (err != 0)
-    return err;
-
-  auto mutex_err = Mutex::init(&b->m, false, false, false, false);
-  if (mutex_err != MutexError::NONE)
-    return EAGAIN;
-
-  return 0;
-}
-
-int Barrier::wait() {
-  m.lock();
-
-  // if the barrier is emptying out threads, wait until it finishes
-  while (!blocking)
-    entering.wait(&m);
-  waiting++;
-
-  if (waiting < expected) {
-    // block threads until waiting = expected
-    while (blocking)
-      exiting.wait(&m);
-  } else {
-    // this is the last thread to call wait(), so lets wake everyone up
-    blocking = false;
-    exiting.broadcast();
-  }
-  waiting--;
-
-  if (waiting == 0) {
-    // all threads have exited the barrier, let's let the ones waiting to enter
-    // continue
-    blocking = true;
-    entering.broadcast();
-    m.unlock();
-
-    // POSIX dictates that the barrier should return a special value to just one
-    // thread, so we can arbitrarily choose this thread
-    return PTHREAD_BARRIER_SERIAL_THREAD;
-  }
-  m.unlock();
-
-  return 0;
-}
-
-int Barrier::destroy(Barrier *b) {
-  CndVar::destroy(&b->entering);
-  CndVar::destroy(&b->exiting);
-  Mutex::destroy(&b->m);
-  return 0;
-}
-
-} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/__support/threads/linux/barrier.h b/libc/src/__support/threads/linux/barrier.h
deleted file mode 100644
index f0655bfc52a10..0000000000000
--- a/libc/src/__support/threads/linux/barrier.h
+++ /dev/null
@@ -1,50 +0,0 @@
-//===-- A platform independent abstraction layer for barriers --*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC___SUPPORT_SRC_THREADS_LINUX_BARRIER_H
-#define LLVM_LIBC___SUPPORT_SRC_THREADS_LINUX_BARRIER_H
-
-#include "hdr/pthread_macros.h"
-#include "include/llvm-libc-types/pthread_barrier_t.h"
-#include "include/llvm-libc-types/pthread_barrierattr_t.h"
-#include "src/__support/threads/CndVar.h"
-#include "src/__support/threads/mutex.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-// NOTE: if the size of this class changes, you must ensure that the size of
-// pthread_barrier_t (found in include/llvm-libc/types/pthread_barrier_t.h) is
-// the same size
-class Barrier {
-private:
-  unsigned expected;
-  unsigned waiting;
-  bool blocking;
-  CndVar entering;
-  CndVar exiting;
-  Mutex m;
-
-public:
-  static int init(Barrier *b, const pthread_barrierattr_t *attr,
-                  unsigned count);
-  static int destroy(Barrier *b);
-  int wait();
-};
-
-static_assert(
-    sizeof(Barrier) == sizeof(pthread_barrier_t),
-    "The public pthread_barrier_t type cannot accommodate the internal "
-    "barrier type.");
-
-static_assert(alignof(Barrier) == alignof(pthread_barrier_t),
-              "The public pthread_barrier_t type has a different alignment "
-              "than the internal barrier type.");
-
-} // namespace LIBC_NAMESPACE_DECL
-
-#endif // LLVM_LIBC___SUPPORT_SRC_THREADS_LINUX_BARRIER_H
diff --git a/libc/src/pthread/CMakeLists.txt b/libc/src/pthread/CMakeLists.txt
index fe31e6a915e7b..c5db6fa910db7 100644
--- a/libc/src/pthread/CMakeLists.txt
+++ b/libc/src/pthread/CMakeLists.txt
@@ -272,40 +272,6 @@ add_entrypoint_object(
     libc.src.errno.errno
 )
 
-add_entrypoint_object(
-  pthread_barrier_init
-  SRCS
-    pthread_barrier_init.cpp
-  HDRS
-    pthread_barrier_init.h
-  DEPENDS
-    libc.src.errno.errno
-    libc.include.pthread
-    libc.src.__support.threads.linux.barrier
-)
-
-add_entrypoint_object(
-  pthread_barrier_destroy
-  SRCS
-    pthread_barrier_destroy.cpp
-  HDRS
-    pthread_barrier_destroy.h
-  DEPENDS
-    libc.include.pthread
-    libc.src.__support.threads.linux.barrier
-)
-
-add_entrypoint_object(
-  pthread_barrier_wait
-  SRCS
-    pthread_barrier_wait.cpp
-  HDRS
-    pthread_barrier_wait.h
-  DEPENDS
-    libc.include.pthread
-    libc.src.__support.threads.linux.barrier
-)
-
 add_entrypoint_object(
   pthread_mutex_init
   SRCS
diff --git a/libc/src/pthread/pthread_barrier_destroy.cpp b/libc/src/pthread/pthread_barrier_destroy.cpp
deleted file mode 100644
index 82de8f2741862..0000000000000
--- a/libc/src/pthread/pthread_barrier_destroy.cpp
+++ /dev/null
@@ -1,22 +0,0 @@
-//===-- Implementation of the pthread_barrier_destroy function ------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "pthread_barrier_destroy.h"
-
-#include "hdr/types/pthread_barrier_t.h"
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
-#include "src/__support/threads/linux/barrier.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-LLVM_LIBC_FUNCTION(int, pthread_barrier_destroy, (pthread_barrier_t * b)) {
-  return Barrier::destroy(reinterpret_cast<Barrier *>(b));
-}
-
-} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_barrier_destroy.h b/libc/src/pthread/pthread_barrier_destroy.h
deleted file mode 100644
index e27552ce7e5ae..0000000000000
--- a/libc/src/pthread/pthread_barrier_destroy.h
+++ /dev/null
@@ -1,21 +0,0 @@
-//===-- Implementation header for pthread_barrier_destroy --------*- C++-*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_SRC_PTHREAD_PTHREAD_BARRIER_DESTROY_H
-#define LLVM_LIBC_SRC_PTHREAD_PTHREAD_BARRIER_DESTROY_H
-
-#include "hdr/types/pthread_barrier_t.h"
-#include "src/__support/macros/config.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-int pthread_barrier_destroy(pthread_barrier_t *b);
-
-} // namespace LIBC_NAMESPACE_DECL
-
-#endif // LLVM_LIBC_SRC_PTHREAD_PTHREAD_BARRIER_DESTROY_H
diff --git a/libc/src/pthread/pthread_barrier_init.cpp b/libc/src/pthread/pthread_barrier_init.cpp
deleted file mode 100644
index 2e92238a49243..0000000000000
--- a/libc/src/pthread/pthread_barrier_init.cpp
+++ /dev/null
@@ -1,26 +0,0 @@
-//===-- Implementation of the pthread_barrier_init function ---------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#include "pthread_barrier_init.h"
-
-#include "hdr/types/pthread_barrier_t.h"
-#include "hdr/types/pthread_barrierattr_t.h"
-#include "src/__support/common.h"
-#include "src/__support/macros/config.h"
-#include "src/__support/threads/linux/barrier.h"
-
-namespace LIBC_NAMESPACE_DECL {
-
-LLVM_LIBC_FUNCTION(int, pthread_barrier_init,
-                   (pthread_barrier_t * b,
-                    const pthread_barrierattr_t *__restrict attr,
-                    unsigned count)) {
-  return Barrier::init(reinterpret_cast<Barrier *>(b), attr, count);
-}
-
-} // namespace LIBC_NAMESPACE_DECL
diff --git a/libc/src/pthread/pthread_barrier_init.h b/libc/src/pthread/pthread_barrier_init.h
deleted file mode 100644
index bb17f3f5664da..0000000000000
--- a/libc/src/pthread/pthread_barrier_init.h
+++ /dev/null
@@ -1,24 +0,0 @@
-//===-- Implementation header for pthread_barrier_init ----------*- C++ -*-===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: A...
[truncated]

@uzairnawaz uzairnawaz merged commit a4a0832 into main Jul 28, 2025
19 of 21 checks passed
@uzairnawaz uzairnawaz deleted the revert-148948-pthread-barrier branch July 28, 2025 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants