Skip to content

Instantly share code, notes, and snippets.

@MaskRay

MaskRay/a.ll Secret

Last active Feb 6, 2021
Embed
What would you like to do?
D95617 bug with -gsplit-dwarf -flto=thin
; ModuleID = 'spinlock.pic.o'
source_filename = "internal/spinlock.cc"
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
target triple = "x86_64-unknown-linux-gnu"
%"struct.absl::base_internal::SpinLockWaitTransition" = type { i32, i32, i8 }
%"struct.std::__1::atomic" = type { %"struct.std::__1::__atomic_base" }
%"struct.std::__1::__atomic_base" = type { %"struct.std::__1::__cxx_atomic_impl" }
%"struct.std::__1::__cxx_atomic_impl" = type { %"struct.std::__1::__cxx_atomic_base_impl" }
%"struct.std::__1::__cxx_atomic_base_impl" = type { i64 ()* }
%"struct.absl::base_internal::ThreadIdentity" = type { %"struct.absl::base_internal::PerThreadSynch", %"struct.absl::base_internal::ThreadIdentity::SchedulerState", [32 x i8], %"struct.absl::base_internal::ThreadIdentity::WaiterState", %"struct.std::__1::atomic.13"*, %"struct.std::__1::atomic.13", %"struct.std::__1::atomic.13", %"struct.std::__1::atomic.18", %"struct.absl::base_internal::ThreadIdentity"* }
%"struct.absl::base_internal::PerThreadSynch" = type { %"struct.absl::base_internal::PerThreadSynch"*, %"struct.absl::base_internal::PerThreadSynch"*, i8, i8, i8, i8, i8, i32, %"struct.std::__1::atomic.5", %"struct.absl::SynchWaitParams"*, i64, i64, %"struct.absl::SynchLocksHeld"* }
%"struct.std::__1::atomic.5" = type { %"struct.std::__1::__atomic_base.6" }
%"struct.std::__1::__atomic_base.6" = type { %"struct.std::__1::__cxx_atomic_impl.7" }
%"struct.std::__1::__cxx_atomic_impl.7" = type { %"struct.std::__1::__cxx_atomic_base_impl.8" }
%"struct.std::__1::__cxx_atomic_base_impl.8" = type { i32 }
%"struct.absl::SynchWaitParams" = type opaque
%"struct.absl::SynchLocksHeld" = type opaque
%"struct.absl::base_internal::ThreadIdentity::SchedulerState" = type <{ %"struct.std::__1::atomic.9", i32, %"struct.std::__1::atomic.13", i32, i32, i8, [7 x i8] }>
%"struct.std::__1::atomic.9" = type { %"struct.std::__1::__atomic_base.10" }
%"struct.std::__1::__atomic_base.10" = type { %"struct.std::__1::__cxx_atomic_impl.11" }
%"struct.std::__1::__cxx_atomic_impl.11" = type { %"struct.std::__1::__cxx_atomic_base_impl.12" }
%"struct.std::__1::__cxx_atomic_base_impl.12" = type { %"class.base::scheduling::Schedulable"* }
%"class.base::scheduling::Schedulable" = type opaque
%"struct.absl::base_internal::ThreadIdentity::WaiterState" = type { [128 x i8] }
%"struct.std::__1::atomic.13" = type { %"struct.std::__1::__atomic_base.14" }
%"struct.std::__1::__atomic_base.14" = type { %"struct.std::__1::__atomic_base.15" }
%"struct.std::__1::__atomic_base.15" = type { %"struct.std::__1::__cxx_atomic_impl.16" }
%"struct.std::__1::__cxx_atomic_impl.16" = type { %"struct.std::__1::__cxx_atomic_base_impl.17" }
%"struct.std::__1::__cxx_atomic_base_impl.17" = type { i32 }
%"struct.std::__1::atomic.18" = type { %"struct.std::__1::__atomic_base.19" }
%"struct.std::__1::__atomic_base.19" = type { %"struct.std::__1::__cxx_atomic_impl.20" }
%"struct.std::__1::__cxx_atomic_impl.20" = type { %"struct.std::__1::__cxx_atomic_base_impl.21" }
%"struct.std::__1::__cxx_atomic_base_impl.21" = type { i8 }
%"class.absl::base_internal::SpinLock" = type { %"struct.std::__1::atomic.0" }
%"struct.std::__1::atomic.0" = type { %"struct.std::__1::__atomic_base.1" }
%"struct.std::__1::__atomic_base.1" = type { %"struct.std::__1::__atomic_base.2" }
%"struct.std::__1::__atomic_base.2" = type { %"struct.std::__1::__cxx_atomic_impl.3" }
%"struct.std::__1::__cxx_atomic_impl.3" = type { %"struct.std::__1::__cxx_atomic_base_impl.4" }
%"struct.std::__1::__cxx_atomic_base_impl.4" = type { i32 }
%class.anon = type { i8 }
%"class.absl::base_internal::SchedulingHelper" = type <{ i32, i8, [3 x i8] }>
$_ZN4absl13base_internal10AtomicHookIPFvPKvlEE13DummyFunctionES3_l = comdat any
$_ZN4absl13base_internal8SpinLock13kSpinLockHeldE = comdat any
$_ZN4absl13base_internal8SpinLock20kSpinLockCooperativeE = comdat any
$_ZN4absl13base_internal8SpinLock27kSpinLockDisabledSchedulingE = comdat any
$_ZN4absl13base_internal8SpinLock16kSpinLockSleeperE = comdat any
$_ZN4absl13base_internal8SpinLock13kWaitTimeMaskE = comdat any
@_ZN4absl13base_internal8SpinLock13kSpinLockHeldE = weak_odr local_unnamed_addr constant i32 1, comdat, align 4, !dbg !0
@_ZN4absl13base_internal8SpinLock20kSpinLockCooperativeE = weak_odr local_unnamed_addr constant i32 2, comdat, align 4, !dbg !1293
@_ZN4absl13base_internal8SpinLock27kSpinLockDisabledSchedulingE = weak_odr local_unnamed_addr constant i32 4, comdat, align 4, !dbg !1295
@_ZN4absl13base_internal8SpinLock16kSpinLockSleeperE = weak_odr local_unnamed_addr constant i32 8, comdat, align 4, !dbg !1297
@_ZN4absl13base_internal8SpinLock13kWaitTimeMaskE = weak_odr local_unnamed_addr constant i32 -8, comdat, align 4, !dbg !1299
@_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count = internal global { { { i32 } } } zeroinitializer, align 4, !dbg !1073
@_ZZN4absl13base_internal8SpinLock8SpinLoopEvE19adaptive_spin_count = internal unnamed_addr global i32 0, align 4, !dbg !1096
@_ZN4absl13base_internalL19submit_profile_dataE = internal global { { { void (i8*, i64)* } }, void (i8*, i64)* } { { { void (i8*, i64)* } } { { void (i8*, i64)* } { void (i8*, i64)* @_ZN4absl13base_internal10AtomicHookIPFvPKvlEE13DummyFunctionES3_l } }, void (i8*, i64)* @_ZN4absl13base_internal10AtomicHookIPFvPKvlEE13DummyFunctionES3_l }, align 8, !dbg !1112
@.str = private unnamed_addr constant [8 x i8] c"success\00", align 1
@.str.2 = private unnamed_addr constant [25 x i8] c"./internal/atomic_hook.h\00", align 1
@__PRETTY_FUNCTION__._ZN4absl13base_internal10AtomicHookIPFvPKvlEE5StoreES5_ = private unnamed_addr constant [196 x i8] c"void absl::base_internal::AtomicHook<void (*)(const void *, long)>::Store(absl::base_internal::AtomicHook<type-parameter-0-0 (*)(type-parameter-0-1...)>::FnPtr) [T = void (*)(const void *, long)]\00", align 1
@.str.3 = private unnamed_addr constant [3 x i8] c"fn\00", align 1
@__PRETTY_FUNCTION__._ZN4absl13base_internal10AtomicHookIPFvPKvlEE7DoStoreES5_ = private unnamed_addr constant [198 x i8] c"bool absl::base_internal::AtomicHook<void (*)(const void *, long)>::DoStore(absl::base_internal::AtomicHook<type-parameter-0-0 (*)(type-parameter-0-1...)>::FnPtr) [T = void (*)(const void *, long)]\00", align 1
@.str.4 = private unnamed_addr constant [21 x i8] c"./absl/b/call_once.h\00", align 1
@.str.5 = private unnamed_addr constant [41 x i8] c"Unexpected value for control word: 0x%lx\00", align 1
@"_ZZN4absl13base_internal12CallOnceImplIZNS0_8SpinLock8SpinLoopEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_E5trans" = internal constant [3 x %"struct.absl::base_internal::SpinLockWaitTransition"] [%"struct.absl::base_internal::SpinLockWaitTransition" { i32 0, i32 1707250555, i8 1 }, %"struct.absl::base_internal::SpinLockWaitTransition" { i32 1707250555, i32 94570706, i8 0 }, %"struct.absl::base_internal::SpinLockWaitTransition" { i32 221, i32 221, i8 1 }], align 16, !dbg !1301
@_ZN4absl13base_internal12_GLOBAL__N_118cycle_clock_sourceE.llvm.3813935268175738080 = external hidden unnamed_addr global %"struct.std::__1::atomic", align 8, !dbg !1432
@_ZN4absl13base_internalL18init_num_cpus_onceE.llvm.6697759406150871507 = external hidden global { { { i32 } } }, align 4, !dbg !1437
@_ZN4absl13base_internalL8num_cpusE.llvm.6697759406150871507 = external hidden unnamed_addr global i32, align 4, !dbg !1440
@_ZN4absl13base_internal19thread_identity_ptrE = external protected thread_local local_unnamed_addr global %"struct.absl::base_internal::ThreadIdentity"*, align 8, !dbg !1442
@_ZN4absl13base_internal8SpinLockC1ENS0_14SchedulingModeE = unnamed_addr alias void (%"class.absl::base_internal::SpinLock"*, i32), void (%"class.absl::base_internal::SpinLock"*, i32)* @_ZN4absl13base_internal8SpinLockC2ENS0_14SchedulingModeE
; Function Attrs: nounwind uwtable mustprogress
define void @_ZN4absl13base_internal24RegisterSpinLockProfilerEPFvPKvlE(void (i8*, i64)* %0) local_unnamed_addr #0 !dbg !1400 {
call void @llvm.dbg.value(metadata void (i8*, i64)* %0, metadata !1407, metadata !DIExpression()), !dbg !1456
call void @llvm.dbg.value(metadata void (i8*, i64)* %0, metadata !1457, metadata !DIExpression()) #10, !dbg !1463
call void @llvm.dbg.value(metadata void (i8*, i64)* %0, metadata !1465, metadata !DIExpression()) #10, !dbg !1472
%2 = icmp eq void (i8*, i64)* %0, null, !dbg !1474
br i1 %2, label %3, label %4, !dbg !1474
3: ; preds = %1
tail call void @__assert_fail(i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str.3, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.2, i64 0, i64 0), i32 158, i8* getelementptr inbounds ([198 x i8], [198 x i8]* @__PRETTY_FUNCTION__._ZN4absl13base_internal10AtomicHookIPFvPKvlEE7DoStoreES5_, i64 0, i64 0)) #10, !dbg !1474
tail call void @llvm.ubsantrap(i8 1) #11, !dbg !1474, !nosanitize !1018
unreachable, !dbg !1474, !nosanitize !1018
4: ; preds = %1
%5 = load void (i8*, i64)*, void (i8*, i64)** getelementptr inbounds ({ { { void (i8*, i64)* } }, void (i8*, i64)* }, { { { void (i8*, i64)* } }, void (i8*, i64)* }* @_ZN4absl13base_internalL19submit_profile_dataE, i64 0, i32 1), align 8, !dbg !1475
call void @llvm.dbg.value(metadata void (i8*, i64)* %5, metadata !1469, metadata !DIExpression()) #10, !dbg !1472
call void @llvm.dbg.value(metadata void (i8*, i64)** undef, metadata !1476, metadata !DIExpression()) #10, !dbg !1484
call void @llvm.dbg.value(metadata void (i8*, i64)* %0, metadata !1481, metadata !DIExpression()) #10, !dbg !1484
call void @llvm.dbg.value(metadata i32 4, metadata !1482, metadata !DIExpression()) #10, !dbg !1484
call void @llvm.dbg.value(metadata i32 2, metadata !1483, metadata !DIExpression()) #10, !dbg !1484
call void @llvm.dbg.value(metadata void (i8*, i64)** undef, metadata !1486, metadata !DIExpression()) #10, !dbg !1497
call void @llvm.dbg.value(metadata void (i8*, i64)* %0, metadata !1494, metadata !DIExpression()) #10, !dbg !1497
call void @llvm.dbg.value(metadata i32 4, metadata !1495, metadata !DIExpression()) #10, !dbg !1497
call void @llvm.dbg.value(metadata i32 2, metadata !1496, metadata !DIExpression()) #10, !dbg !1497
%6 = ptrtoint void (i8*, i64)* %5 to i64, !dbg !1499
%7 = ptrtoint void (i8*, i64)* %0 to i64, !dbg !1499
%8 = cmpxchg i64* bitcast ({ { { void (i8*, i64)* } }, void (i8*, i64)* }* @_ZN4absl13base_internalL19submit_profile_dataE to i64*), i64 %6, i64 %7 acq_rel acquire, !dbg !1499
%9 = extractvalue { i64, i1 } %8, 1, !dbg !1499
%10 = extractvalue { i64, i1 } %8, 0, !dbg !1499
%11 = inttoptr i64 %10 to void (i8*, i64)*, !dbg !1499
%12 = select i1 %9, void (i8*, i64)* %5, void (i8*, i64)* %11, !dbg !1499
call void @llvm.dbg.value(metadata i1 %9, metadata !1470, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #10, !dbg !1472
call void @llvm.dbg.value(metadata void (i8*, i64)* %12, metadata !1469, metadata !DIExpression()) #10, !dbg !1472
%13 = icmp eq void (i8*, i64)* %12, %0, !dbg !1500
call void @llvm.dbg.value(metadata i1 %13, metadata !1471, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #10, !dbg !1472
%14 = or i1 %9, %13, !dbg !1501
call void @llvm.dbg.value(metadata i1 %14, metadata !1462, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #10, !dbg !1463
br i1 %14, label %16, label %15, !dbg !1502
15: ; preds = %4
tail call void @__assert_fail(i8* getelementptr inbounds ([8 x i8], [8 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([25 x i8], [25 x i8]* @.str.2, i64 0, i64 0), i32 110, i8* getelementptr inbounds ([196 x i8], [196 x i8]* @__PRETTY_FUNCTION__._ZN4absl13base_internal10AtomicHookIPFvPKvlEE5StoreES5_, i64 0, i64 0)) #10, !dbg !1502
tail call void @llvm.ubsantrap(i8 1) #11, !dbg !1502, !nosanitize !1018
unreachable, !dbg !1502, !nosanitize !1018
16: ; preds = %4
ret void, !dbg !1503
}
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.declare(metadata, metadata, metadata) #1
; Function Attrs: nofree norecurse nounwind uwtable willreturn writeonly
define void @_ZN4absl13base_internal8SpinLockC2ENS0_14SchedulingModeE(%"class.absl::base_internal::SpinLock"* nocapture nonnull dereferenceable(4) %0, i32 %1) unnamed_addr #2 align 2 !dbg !1504 {
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1506, metadata !DIExpression()), !dbg !1508
call void @llvm.dbg.value(metadata i32 %1, metadata !1507, metadata !DIExpression()), !dbg !1508
call void @llvm.dbg.value(metadata i32 %1, metadata !1509, metadata !DIExpression()), !dbg !1512
%3 = icmp eq i32 %1, 1, !dbg !1514
%4 = select i1 %3, i32 2, i32 0, !dbg !1515
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1516, metadata !DIExpression()), !dbg !1520
call void @llvm.dbg.value(metadata i32 %4, metadata !1519, metadata !DIExpression()), !dbg !1520
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1522, metadata !DIExpression()), !dbg !1527
call void @llvm.dbg.value(metadata i32 %4, metadata !1525, metadata !DIExpression()), !dbg !1527
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1529, metadata !DIExpression()), !dbg !1534
call void @llvm.dbg.value(metadata i32 %4, metadata !1532, metadata !DIExpression()), !dbg !1534
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1536, metadata !DIExpression()), !dbg !1541
call void @llvm.dbg.value(metadata i32 %4, metadata !1539, metadata !DIExpression()), !dbg !1541
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1543, metadata !DIExpression()), !dbg !1548
call void @llvm.dbg.value(metadata i32 %4, metadata !1546, metadata !DIExpression()), !dbg !1548
%5 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1550
store i32 %4, i32* %5, align 4, !dbg !1550
ret void, !dbg !1551
}
; Function Attrs: nounwind uwtable mustprogress
define i32 @_ZN4absl13base_internal8SpinLock8SpinLoopEv(%"class.absl::base_internal::SpinLock"* nocapture nonnull readonly dereferenceable(4) %0) local_unnamed_addr #0 align 2 !dbg !1075 {
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1077, metadata !DIExpression()), !dbg !1552
call void @llvm.dbg.value(metadata %class.anon* undef, metadata !1553, metadata !DIExpression()) #10, !dbg !1562
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1560, metadata !DIExpression()) #10, !dbg !1562
call void @llvm.dbg.value(metadata i32 2, metadata !1564, metadata !DIExpression()) #10, !dbg !1569
call void @llvm.dbg.value(metadata i32 2, metadata !1034, metadata !DIExpression()) #10, !dbg !1571
%2 = load atomic i32, i32* getelementptr inbounds ({ { { i32 } } }, { { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count, i64 0, i32 0, i32 0, i32 0) acquire, align 4, !dbg !1573
call void @llvm.dbg.value(metadata i32 %2, metadata !1561, metadata !DIExpression()) #10, !dbg !1562
%3 = icmp eq i32 %2, 221, !dbg !1574
br i1 %3, label %5, label %4, !dbg !1576, !prof !1577
4: ; preds = %1
tail call fastcc void @"_ZN4absl13base_internal12CallOnceImplIZNS0_8SpinLock8SpinLoopEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_"() #10, !dbg !1578
br label %5, !dbg !1580
5: ; preds = %4, %1
%6 = load i32, i32* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE19adaptive_spin_count, align 4, !dbg !1581
call void @llvm.dbg.value(metadata i32 %6, metadata !1078, metadata !DIExpression()), !dbg !1552
%7 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
br label %8, !dbg !1582
8: ; preds = %8, %5
%9 = phi i32 [ %6, %5 ], [ %13, %8 ], !dbg !1552
call void @llvm.dbg.value(metadata i32 %9, metadata !1078, metadata !DIExpression()), !dbg !1552
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1567, metadata !DIExpression()), !dbg !1583
call void @llvm.dbg.value(metadata i32 0, metadata !1564, metadata !DIExpression()), !dbg !1583
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1033, metadata !DIExpression()), !dbg !1586
call void @llvm.dbg.value(metadata i32 0, metadata !1034, metadata !DIExpression()), !dbg !1586
%10 = load atomic i32, i32* %7 monotonic, align 4, !dbg !1588
call void @llvm.dbg.value(metadata i32 %10, metadata !1079, metadata !DIExpression()), !dbg !1552
%11 = and i32 %10, 1, !dbg !1589
%12 = icmp ne i32 %11, 0, !dbg !1590
%13 = add nsw i32 %9, -1
%14 = icmp sgt i32 %9, 1
%15 = and i1 %14, %12, !dbg !1591
call void @llvm.dbg.value(metadata i32 %13, metadata !1078, metadata !DIExpression()), !dbg !1552
br i1 %15, label %8, label %16, !dbg !1591, !llvm.loop !1592
16: ; preds = %8
ret i32 %10, !dbg !1595
}
; Function Attrs: cold nounwind optsize uwtable mustprogress
define void @_ZN4absl13base_internal8SpinLock8SlowLockEv(%"class.absl::base_internal::SpinLock"* nonnull dereferenceable(4) %0) local_unnamed_addr #3 align 2 !dbg !1596 {
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1598, metadata !DIExpression()), !dbg !1604
%2 = tail call i32 @_ZN4absl13base_internal8SpinLock8SpinLoopEv(%"class.absl::base_internal::SpinLock"* nonnull dereferenceable(4) %0), !dbg !1605
call void @llvm.dbg.value(metadata i32 %2, metadata !1599, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1606, metadata !DIExpression()), !dbg !1612
call void @llvm.dbg.value(metadata i32 %2, metadata !1609, metadata !DIExpression()), !dbg !1612
call void @llvm.dbg.value(metadata i32 0, metadata !1610, metadata !DIExpression()), !dbg !1612
%3 = and i32 %2, 1, !dbg !1614
%4 = icmp eq i32 %3, 0, !dbg !1616
br i1 %4, label %5, label %35, !dbg !1617
5: ; preds = %1
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1612
%6 = and i32 %2, 2, !dbg !1618
%7 = icmp eq i32 %6, 0, !dbg !1620
br i1 %7, label %8, label %24, !dbg !1621
8: ; preds = %5
%9 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1622
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %9, metadata !1626, metadata !DIExpression()), !dbg !1633
%10 = icmp eq %"struct.absl::base_internal::ThreadIdentity"* %9, null, !dbg !1634
br i1 %10, label %11, label %16, !dbg !1635
11: ; preds = %8
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1612
call void @llvm.dbg.value(metadata i32 %2, metadata !1609, metadata !DIExpression()), !dbg !1612
%12 = or i32 %2, 1, !dbg !1636
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 %12, metadata !1642, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 %12, metadata !1654, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1657
%13 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1659
%14 = cmpxchg i32* %13, i32 %2, i32 %12 acquire monotonic, !dbg !1660
%15 = extractvalue { i32, i1 } %14, 0
br label %35, !dbg !1660
16: ; preds = %8
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %9, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1666
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1666
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %9, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1668
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1668
%17 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %9, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1670
%18 = load atomic i32, i32* %17 monotonic, align 4, !dbg !1671
call void @llvm.dbg.value(metadata i32 %18, metadata !1627, metadata !DIExpression()), !dbg !1672
%19 = add nsw i32 %18, 1, !dbg !1673
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %9, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1680
call void @llvm.dbg.value(metadata i32 %19, metadata !1677, metadata !DIExpression()), !dbg !1680
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1680
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %9, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1690
call void @llvm.dbg.value(metadata i32 %19, metadata !1688, metadata !DIExpression()), !dbg !1690
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1690
store atomic i32 %19, i32* %17 monotonic, align 4, !dbg !1692
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1612
call void @llvm.dbg.value(metadata i32 %2, metadata !1609, metadata !DIExpression()), !dbg !1612
%20 = or i32 %2, 5, !dbg !1636
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 %12, metadata !1642, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 %12, metadata !1654, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1657
%21 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1659
%22 = cmpxchg i32* %21, i32 %2, i32 %20 acquire monotonic, !dbg !1660
%23 = extractvalue { i32, i1 } %22, 1, !dbg !1660
br i1 %23, label %35, label %29, !dbg !1660
24: ; preds = %5
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1612
call void @llvm.dbg.value(metadata i32 %2, metadata !1609, metadata !DIExpression()), !dbg !1612
%25 = or i32 %2, 1, !dbg !1636
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 %12, metadata !1642, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1645
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 %12, metadata !1654, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1657
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1657
%26 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1659
%27 = cmpxchg i32* %26, i32 %2, i32 %25 acquire monotonic, !dbg !1660
%28 = extractvalue { i32, i1 } %27, 0
br label %35, !dbg !1660
29: ; preds = %16
%30 = extractvalue { i32, i1 } %22, 0, !dbg !1660
call void @llvm.dbg.value(metadata i1 %10, metadata !1693, metadata !DIExpression(DW_OP_constu, 18446744073709551615, DW_OP_xor, DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)), !dbg !1698
%31 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1701
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %31, metadata !1696, metadata !DIExpression()), !dbg !1698
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %31, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1703
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1703
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %31, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1705
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1705
%32 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %31, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1707
%33 = load atomic i32, i32* %32 monotonic, align 4, !dbg !1708
call void @llvm.dbg.value(metadata i32 %33, metadata !1697, metadata !DIExpression()), !dbg !1698
%34 = add nsw i32 %33, -1, !dbg !1709
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %31, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1710
call void @llvm.dbg.value(metadata i32 %34, metadata !1677, metadata !DIExpression()), !dbg !1710
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1710
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %31, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1712
call void @llvm.dbg.value(metadata i32 %34, metadata !1688, metadata !DIExpression()), !dbg !1712
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1712
store atomic i32 %34, i32* %32 monotonic, align 4, !dbg !1714
br label %35
35: ; preds = %29, %24, %16, %11, %1
%36 = phi i32 [ %2, %1 ], [ %30, %29 ], [ %28, %24 ], [ %2, %16 ], [ %15, %11 ], !dbg !1612
call void @llvm.dbg.value(metadata i32 %36, metadata !1599, metadata !DIExpression()), !dbg !1604
%37 = and i32 %36, 1, !dbg !1715
%38 = icmp eq i32 %37, 0, !dbg !1717
br i1 %38, label %.loopexit, label %39, !dbg !1718
39: ; preds = %35
%40 = lshr i32 %36, 1, !dbg !1719
%41 = and i32 %40, 1, !dbg !1719
call void @llvm.dbg.value(metadata i32 %41, metadata !1600, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 0, metadata !1720, metadata !DIExpression()) #10, !dbg !1734
call void @llvm.dbg.value(metadata i32 0, metadata !1747, metadata !DIExpression()) #10, !dbg !1758
%42 = load atomic i64, i64* bitcast (%"struct.std::__1::atomic"* @_ZN4absl13base_internal12_GLOBAL__N_118cycle_clock_sourceE.llvm.3813935268175738080 to i64*) monotonic, align 8, !dbg !1760
%43 = icmp eq i64 %42, 0, !dbg !1761
br i1 %43, label %47, label %44, !dbg !1762
44: ; preds = %39
call void @llvm.dbg.value(metadata i32 2, metadata !1720, metadata !DIExpression()) #10, !dbg !1763
call void @llvm.dbg.value(metadata i32 2, metadata !1747, metadata !DIExpression()) #10, !dbg !1765
%45 = load atomic i64, i64* bitcast (%"struct.std::__1::atomic"* @_ZN4absl13base_internal12_GLOBAL__N_118cycle_clock_sourceE.llvm.3813935268175738080 to i64*) acquire, align 8, !dbg !1767
call void @llvm.dbg.value(metadata i64 %45, metadata !1745, metadata !DIExpression()) #10, !dbg !1768
%46 = icmp eq i64 %45, 0, !dbg !1769
br i1 %46, label %47, label %53, !dbg !1771
47: ; preds = %44, %39
%48 = tail call { i64, i64 } asm sideeffect "rdtsc", "={ax},={dx},~{dirflag},~{fpsr},~{flags}"() #10, !dbg !1772, !srcloc !1782
%49 = extractvalue { i64, i64 } %48, 0, !dbg !1772
%50 = extractvalue { i64, i64 } %48, 1, !dbg !1772
call void @llvm.dbg.value(metadata i64 %49, metadata !1778, metadata !DIExpression()) #10, !dbg !1783
call void @llvm.dbg.value(metadata i64 %50, metadata !1779, metadata !DIExpression()) #10, !dbg !1783
%51 = shl i64 %50, 32, !dbg !1784
%52 = or i64 %51, %49, !dbg !1785
br label %_ZN4absl13base_internal10CycleClock3NowEv.exit, !dbg !1786
53: ; preds = %44
%54 = inttoptr i64 %45 to i64 ()*, !dbg !1767
call void @llvm.dbg.value(metadata i64 ()* %54, metadata !1745, metadata !DIExpression()) #10, !dbg !1768
%55 = tail call i64 %54() #10, !dbg !1787
br label %_ZN4absl13base_internal10CycleClock3NowEv.exit, !dbg !1788
_ZN4absl13base_internal10CycleClock3NowEv.exit: ; preds = %47, %53
%56 = phi i64 [ %52, %47 ], [ %55, %53 ]
%57 = ashr i64 %56, 2, !dbg !1768
call void @llvm.dbg.value(metadata i64 %57, metadata !1601, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 0, metadata !1602, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 0, metadata !1603, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %36, metadata !1599, metadata !DIExpression()), !dbg !1604
%58 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, i32 0, i32 0, i32 0, i32 0, i32 0
%59 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0
br label %60, !dbg !1789
60: ; preds = %172, %_ZN4absl13base_internal10CycleClock3NowEv.exit
%61 = phi i32 [ 0, %_ZN4absl13base_internal10CycleClock3NowEv.exit ], [ %112, %172 ]
%62 = phi i32 [ 0, %_ZN4absl13base_internal10CycleClock3NowEv.exit ], [ %140, %172 ]
%63 = phi i32 [ %36, %_ZN4absl13base_internal10CycleClock3NowEv.exit ], [ %173, %172 ]
call void @llvm.dbg.value(metadata i32 %61, metadata !1603, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %62, metadata !1602, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %63, metadata !1599, metadata !DIExpression()), !dbg !1604
br label %64, !dbg !1789
64: ; preds = %104, %60
%65 = phi i32 [ %63, %60 ], [ %105, %104 ]
call void @llvm.dbg.value(metadata i32 %65, metadata !1599, metadata !DIExpression()), !dbg !1604
%66 = icmp ult i32 %65, 8, !dbg !1790
br i1 %66, label %67, label %.split.loop.exit12, !dbg !1793
67: ; preds = %64
%68 = or i32 %65, 8, !dbg !1794
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1797
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1797
call void @llvm.dbg.value(metadata i32 %68, metadata !1642, metadata !DIExpression()) #10, !dbg !1797
call void @llvm.dbg.value(metadata i32 0, metadata !1643, metadata !DIExpression()) #10, !dbg !1797
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1797
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1799
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1799
call void @llvm.dbg.value(metadata i32 %68, metadata !1654, metadata !DIExpression()), !dbg !1799
call void @llvm.dbg.value(metadata i32 0, metadata !1655, metadata !DIExpression()), !dbg !1799
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1799
%69 = cmpxchg i32* %58, i32 %65, i32 %68 monotonic monotonic, !dbg !1801
%70 = extractvalue { i32, i1 } %69, 1, !dbg !1801
br i1 %70, label %.split.loop.exit12, label %71, !dbg !1801
71: ; preds = %67
%72 = extractvalue { i32, i1 } %69, 0, !dbg !1801
call void @llvm.dbg.value(metadata i32 %72, metadata !1599, metadata !DIExpression()), !dbg !1604
%73 = and i32 %72, 1, !dbg !1802
%74 = icmp eq i32 %73, 0, !dbg !1804
br i1 %74, label %75, label %108, !dbg !1805
75: ; preds = %71
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1606, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 %72, metadata !1609, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 undef, metadata !1610, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1806
%76 = and i32 %72, 2, !dbg !1809
%77 = icmp eq i32 %76, 0, !dbg !1810
br i1 %77, label %78, label %93, !dbg !1811
78: ; preds = %75
%79 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1812
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %79, metadata !1626, metadata !DIExpression()), !dbg !1815
%80 = icmp eq %"struct.absl::base_internal::ThreadIdentity"* %79, null, !dbg !1816
br i1 %80, label %81, label %.thread, !dbg !1817
81: ; preds = %78
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 %72, metadata !1609, metadata !DIExpression()), !dbg !1806
%82 = or i32 %72, %62, !dbg !1818
%83 = or i32 %82, 1, !dbg !1818
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 %83, metadata !1642, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 %83, metadata !1654, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1821
%84 = cmpxchg i32* %58, i32 %72, i32 %83 acquire monotonic, !dbg !1823
%85 = extractvalue { i32, i1 } %84, 0
br label %104, !dbg !1823
.thread: ; preds = %78
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %79, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1824
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1824
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %79, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1826
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1826
%86 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %79, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1828
%87 = load atomic i32, i32* %86 monotonic, align 4, !dbg !1829
call void @llvm.dbg.value(metadata i32 %87, metadata !1627, metadata !DIExpression()), !dbg !1830
%88 = add nsw i32 %87, 1, !dbg !1831
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %79, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1832
call void @llvm.dbg.value(metadata i32 %88, metadata !1677, metadata !DIExpression()), !dbg !1832
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1832
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %79, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1834
call void @llvm.dbg.value(metadata i32 %88, metadata !1688, metadata !DIExpression()), !dbg !1834
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1834
store atomic i32 %88, i32* %86 monotonic, align 4, !dbg !1836
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 %72, metadata !1609, metadata !DIExpression()), !dbg !1806
%89 = or i32 %72, %62, !dbg !1818
%90 = or i32 %89, 5, !dbg !1818
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 %83, metadata !1642, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 %83, metadata !1654, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1821
%91 = cmpxchg i32* %58, i32 %72, i32 %90 acquire monotonic, !dbg !1823
%92 = extractvalue { i32, i1 } %91, 1, !dbg !1823
br i1 %92, label %104, label %98, !dbg !1823
93: ; preds = %75
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1806
call void @llvm.dbg.value(metadata i32 %72, metadata !1609, metadata !DIExpression()), !dbg !1806
%94 = or i32 %72, %62, !dbg !1818
%95 = or i32 %94, 1, !dbg !1818
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 %83, metadata !1642, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1819
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 %83, metadata !1654, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1821
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1821
%96 = cmpxchg i32* %58, i32 %72, i32 %95 acquire monotonic, !dbg !1823
%97 = extractvalue { i32, i1 } %96, 0
br label %104, !dbg !1823
98: ; preds = %.thread
%99 = extractvalue { i32, i1 } %91, 0, !dbg !1823
call void @llvm.dbg.value(metadata i1 %80, metadata !1693, metadata !DIExpression(DW_OP_constu, 18446744073709551615, DW_OP_xor, DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)), !dbg !1837
%100 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1839
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %100, metadata !1696, metadata !DIExpression()), !dbg !1837
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %100, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1841
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1841
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %100, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1843
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1843
%101 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %100, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1845
%102 = load atomic i32, i32* %101 monotonic, align 4, !dbg !1846
call void @llvm.dbg.value(metadata i32 %102, metadata !1697, metadata !DIExpression()), !dbg !1837
%103 = add nsw i32 %102, -1, !dbg !1847
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %100, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1848
call void @llvm.dbg.value(metadata i32 %103, metadata !1677, metadata !DIExpression()), !dbg !1848
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1848
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %100, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1850
call void @llvm.dbg.value(metadata i32 %103, metadata !1688, metadata !DIExpression()), !dbg !1850
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1850
store atomic i32 %103, i32* %101 monotonic, align 4, !dbg !1852
br label %104
104: ; preds = %81, %.thread, %108, %98, %93
%105 = phi i32 [ %72, %108 ], [ %99, %98 ], [ %97, %93 ], [ %72, %.thread ], [ %85, %81 ]
call void @llvm.dbg.value(metadata i32 %61, metadata !1603, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 undef, metadata !1602, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %105, metadata !1599, metadata !DIExpression()), !dbg !1604
%106 = and i32 %105, 1, !dbg !1853
%107 = icmp eq i32 %106, 0, !dbg !1854
br i1 %107, label %.loopexit, label %64, !dbg !1789, !llvm.loop !1855
108: ; preds = %71
%109 = icmp ult i32 %72, 8, !dbg !1857
br i1 %109, label %104, label %.split.loop.exit12.split.loop.exit21, !dbg !1859
.split.loop.exit12.split.loop.exit21: ; preds = %108
%110 = extractvalue { i32, i1 } %69, 0, !dbg !1801
br label %.split.loop.exit12, !dbg !1860
.split.loop.exit12: ; preds = %67, %64, %.split.loop.exit12.split.loop.exit21
%111 = phi i32 [ %110, %.split.loop.exit12.split.loop.exit21 ], [ %65, %64 ], [ %68, %67 ], !dbg !1604
call void @llvm.dbg.value(metadata i32 %111, metadata !1599, metadata !DIExpression()), !dbg !1604
%112 = add nuw nsw i32 %61, 1, !dbg !1860
call void @llvm.dbg.value(metadata i32 %112, metadata !1603, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* %59, metadata !1861, metadata !DIExpression()) #10, !dbg !1869
call void @llvm.dbg.value(metadata i32 %111, metadata !1866, metadata !DIExpression()) #10, !dbg !1869
call void @llvm.dbg.value(metadata i32 %112, metadata !1867, metadata !DIExpression()) #10, !dbg !1869
call void @llvm.dbg.value(metadata i32 %41, metadata !1868, metadata !DIExpression()) #10, !dbg !1869
tail call void @AbslInternalSpinLockDelay(%"struct.std::__1::atomic.0"* nonnull %59, i32 %111, i32 %112, i32 %41) #10, !dbg !1871
%113 = tail call i32 @_ZN4absl13base_internal8SpinLock8SpinLoopEv(%"class.absl::base_internal::SpinLock"* nonnull dereferenceable(4) %0), !dbg !1872
call void @llvm.dbg.value(metadata i32 %113, metadata !1599, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 0, metadata !1720, metadata !DIExpression()) #10, !dbg !1873
call void @llvm.dbg.value(metadata i32 0, metadata !1747, metadata !DIExpression()) #10, !dbg !1877
%114 = load atomic i64, i64* bitcast (%"struct.std::__1::atomic"* @_ZN4absl13base_internal12_GLOBAL__N_118cycle_clock_sourceE.llvm.3813935268175738080 to i64*) monotonic, align 8, !dbg !1879
%115 = icmp eq i64 %114, 0, !dbg !1880
br i1 %115, label %119, label %116, !dbg !1881
116: ; preds = %.split.loop.exit12
call void @llvm.dbg.value(metadata i32 2, metadata !1720, metadata !DIExpression()) #10, !dbg !1882
call void @llvm.dbg.value(metadata i32 2, metadata !1747, metadata !DIExpression()) #10, !dbg !1884
%117 = load atomic i64, i64* bitcast (%"struct.std::__1::atomic"* @_ZN4absl13base_internal12_GLOBAL__N_118cycle_clock_sourceE.llvm.3813935268175738080 to i64*) acquire, align 8, !dbg !1886
call void @llvm.dbg.value(metadata i64 %117, metadata !1745, metadata !DIExpression()) #10, !dbg !1887
%118 = icmp eq i64 %117, 0, !dbg !1888
br i1 %118, label %119, label %125, !dbg !1889
119: ; preds = %116, %.split.loop.exit12
%120 = tail call { i64, i64 } asm sideeffect "rdtsc", "={ax},={dx},~{dirflag},~{fpsr},~{flags}"() #10, !dbg !1890, !srcloc !1782
%121 = extractvalue { i64, i64 } %120, 0, !dbg !1890
%122 = extractvalue { i64, i64 } %120, 1, !dbg !1890
call void @llvm.dbg.value(metadata i64 %121, metadata !1778, metadata !DIExpression()) #10, !dbg !1892
call void @llvm.dbg.value(metadata i64 %122, metadata !1779, metadata !DIExpression()) #10, !dbg !1892
%123 = shl i64 %122, 32, !dbg !1893
%124 = or i64 %123, %121, !dbg !1894
br label %_ZN4absl13base_internal10CycleClock3NowEv.exit6, !dbg !1895
125: ; preds = %116
%126 = inttoptr i64 %117 to i64 ()*, !dbg !1886
call void @llvm.dbg.value(metadata i64 ()* %126, metadata !1745, metadata !DIExpression()) #10, !dbg !1887
%127 = tail call i64 %126() #10, !dbg !1896
br label %_ZN4absl13base_internal10CycleClock3NowEv.exit6, !dbg !1897
_ZN4absl13base_internal10CycleClock3NowEv.exit6: ; preds = %119, %125
%128 = phi i64 [ %124, %119 ], [ %127, %125 ]
%129 = ashr i64 %128, 2, !dbg !1887
call void @llvm.dbg.value(metadata i64 %57, metadata !1102, metadata !DIExpression()), !dbg !1898
call void @llvm.dbg.value(metadata i64 %129, metadata !1103, metadata !DIExpression()), !dbg !1898
%130 = sub nsw i64 %129, %57, !dbg !1900
%131 = ashr i64 %130, 7, !dbg !1901
call void @llvm.dbg.value(metadata i64 %131, metadata !1104, metadata !DIExpression()), !dbg !1898
%132 = icmp slt i64 %131, 536870911, !dbg !1902
%133 = select i1 %132, i64 %131, i64 536870911, !dbg !1902
%134 = trunc i64 %133 to i32, !dbg !1902
%135 = shl i32 %134, 3, !dbg !1902
call void @llvm.dbg.value(metadata i32 %135, metadata !1105, metadata !DIExpression()), !dbg !1898
switch i32 %135, label %136 [
i32 0, label %139
i32 8, label %137
], !dbg !1903
136: ; preds = %_ZN4absl13base_internal10CycleClock3NowEv.exit6
br label %137, !dbg !1904
137: ; preds = %136, %_ZN4absl13base_internal10CycleClock3NowEv.exit6
%138 = phi i32 [ %135, %136 ], [ 16, %_ZN4absl13base_internal10CycleClock3NowEv.exit6 ], !dbg !1898
br label %139
139: ; preds = %137, %_ZN4absl13base_internal10CycleClock3NowEv.exit6
%140 = phi i32 [ %138, %137 ], [ 8, %_ZN4absl13base_internal10CycleClock3NowEv.exit6 ], !dbg !1898
call void @llvm.dbg.value(metadata i32 %140, metadata !1602, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %113, metadata !1599, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1606, metadata !DIExpression()), !dbg !1905
call void @llvm.dbg.value(metadata i32 %113, metadata !1609, metadata !DIExpression()), !dbg !1905
call void @llvm.dbg.value(metadata i32 %140, metadata !1610, metadata !DIExpression()), !dbg !1905
%141 = and i32 %113, 1, !dbg !1907
%142 = icmp eq i32 %141, 0, !dbg !1908
br i1 %142, label %143, label %172, !dbg !1909
143: ; preds = %139
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1905
%144 = and i32 %113, 2, !dbg !1910
%145 = icmp eq i32 %144, 0, !dbg !1911
br i1 %145, label %146, label %161, !dbg !1912
146: ; preds = %143
%147 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1913
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %147, metadata !1626, metadata !DIExpression()), !dbg !1916
%148 = icmp eq %"struct.absl::base_internal::ThreadIdentity"* %147, null, !dbg !1917
br i1 %148, label %149, label %.thread8, !dbg !1918
149: ; preds = %146
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1905
call void @llvm.dbg.value(metadata i32 %113, metadata !1609, metadata !DIExpression()), !dbg !1905
%150 = or i32 %140, %113, !dbg !1919
%151 = or i32 %150, 1, !dbg !1919
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 %151, metadata !1642, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 %151, metadata !1654, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1922
%152 = cmpxchg i32* %58, i32 %113, i32 %151 acquire monotonic, !dbg !1924
%153 = extractvalue { i32, i1 } %152, 0
br label %172, !dbg !1924
.thread8: ; preds = %146
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %147, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1925
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1925
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %147, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1927
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1927
%154 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %147, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1929
%155 = load atomic i32, i32* %154 monotonic, align 4, !dbg !1930
call void @llvm.dbg.value(metadata i32 %155, metadata !1627, metadata !DIExpression()), !dbg !1931
%156 = add nsw i32 %155, 1, !dbg !1932
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %147, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1933
call void @llvm.dbg.value(metadata i32 %156, metadata !1677, metadata !DIExpression()), !dbg !1933
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1933
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %147, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1935
call void @llvm.dbg.value(metadata i32 %156, metadata !1688, metadata !DIExpression()), !dbg !1935
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1935
store atomic i32 %156, i32* %154 monotonic, align 4, !dbg !1937
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1905
call void @llvm.dbg.value(metadata i32 %113, metadata !1609, metadata !DIExpression()), !dbg !1905
%157 = or i32 %140, %113, !dbg !1919
%158 = or i32 %157, 5, !dbg !1919
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 %151, metadata !1642, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 %151, metadata !1654, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1922
%159 = cmpxchg i32* %58, i32 %113, i32 %158 acquire monotonic, !dbg !1924
%160 = extractvalue { i32, i1 } %159, 1, !dbg !1924
br i1 %160, label %172, label %166, !dbg !1924
161: ; preds = %143
call void @llvm.dbg.value(metadata i32 0, metadata !1611, metadata !DIExpression()), !dbg !1905
call void @llvm.dbg.value(metadata i32 %113, metadata !1609, metadata !DIExpression()), !dbg !1905
%162 = or i32 %140, %113, !dbg !1919
%163 = or i32 %162, 1, !dbg !1919
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1638, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32* undef, metadata !1641, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 %151, metadata !1642, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 2, metadata !1643, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata i32 0, metadata !1644, metadata !DIExpression()) #10, !dbg !1920
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1647, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 %151, metadata !1654, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 2, metadata !1655, metadata !DIExpression()), !dbg !1922
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !1922
%164 = cmpxchg i32* %58, i32 %113, i32 %163 acquire monotonic, !dbg !1924
%165 = extractvalue { i32, i1 } %164, 0
br label %172, !dbg !1924
166: ; preds = %.thread8
%167 = extractvalue { i32, i1 } %159, 0, !dbg !1924
call void @llvm.dbg.value(metadata i1 %148, metadata !1693, metadata !DIExpression(DW_OP_constu, 18446744073709551615, DW_OP_xor, DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)), !dbg !1938
%168 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !1940
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %168, metadata !1696, metadata !DIExpression()), !dbg !1938
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %168, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1942
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !1942
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %168, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1944
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !1944
%169 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %168, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !1946
%170 = load atomic i32, i32* %169 monotonic, align 4, !dbg !1947
call void @llvm.dbg.value(metadata i32 %170, metadata !1697, metadata !DIExpression()), !dbg !1938
%171 = add nsw i32 %170, -1, !dbg !1948
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %168, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1949
call void @llvm.dbg.value(metadata i32 %171, metadata !1677, metadata !DIExpression()), !dbg !1949
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !1949
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %168, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !1951
call void @llvm.dbg.value(metadata i32 %171, metadata !1688, metadata !DIExpression()), !dbg !1951
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !1951
store atomic i32 %171, i32* %169 monotonic, align 4, !dbg !1953
br label %172
172: ; preds = %149, %.thread8, %166, %161, %139
%173 = phi i32 [ %113, %139 ], [ %167, %166 ], [ %165, %161 ], [ %113, %.thread8 ], [ %153, %149 ], !dbg !1905
call void @llvm.dbg.value(metadata i32 %112, metadata !1603, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %140, metadata !1602, metadata !DIExpression()), !dbg !1604
call void @llvm.dbg.value(metadata i32 %173, metadata !1599, metadata !DIExpression()), !dbg !1604
%174 = and i32 %173, 1, !dbg !1853
%175 = icmp eq i32 %174, 0, !dbg !1854
br i1 %175, label %.loopexit, label %60, !dbg !1789, !llvm.loop !1855
.loopexit: ; preds = %172, %104, %35
ret void, !dbg !1954
}
; Function Attrs: norecurse nounwind readnone uwtable willreturn mustprogress
define i32 @_ZN4absl13base_internal8SpinLock16EncodeWaitCyclesEll(i64 %0, i64 %1) local_unnamed_addr #4 align 2 !dbg !1100 {
call void @llvm.dbg.value(metadata i64 %0, metadata !1102, metadata !DIExpression()), !dbg !1955
call void @llvm.dbg.value(metadata i64 %1, metadata !1103, metadata !DIExpression()), !dbg !1955
%3 = sub nsw i64 %1, %0, !dbg !1956
%4 = ashr i64 %3, 7, !dbg !1957
call void @llvm.dbg.value(metadata i64 %4, metadata !1104, metadata !DIExpression()), !dbg !1955
%5 = icmp slt i64 %4, 536870911, !dbg !1958
%6 = select i1 %5, i64 %4, i64 536870911, !dbg !1958
%7 = trunc i64 %6 to i32, !dbg !1958
%8 = shl i32 %7, 3, !dbg !1958
call void @llvm.dbg.value(metadata i32 %8, metadata !1105, metadata !DIExpression()), !dbg !1955
switch i32 %8, label %9 [
i32 0, label %12
i32 8, label %10
], !dbg !1959
9: ; preds = %2
br label %10, !dbg !1960
10: ; preds = %9, %2
%11 = phi i32 [ %8, %9 ], [ 16, %2 ], !dbg !1955
br label %12
12: ; preds = %10, %2
%13 = phi i32 [ %11, %10 ], [ 8, %2 ], !dbg !1955
ret i32 %13, !dbg !1961
}
; Function Attrs: cold nounwind optsize uwtable mustprogress
define void @_ZN4absl13base_internal8SpinLock10SlowUnlockEj(%"class.absl::base_internal::SpinLock"* nonnull dereferenceable(4) %0, i32 %1) local_unnamed_addr #3 align 2 !dbg !1962 {
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"* %0, metadata !1964, metadata !DIExpression()), !dbg !1970
call void @llvm.dbg.value(metadata i32 %1, metadata !1965, metadata !DIExpression()), !dbg !1970
%3 = getelementptr inbounds %"class.absl::base_internal::SpinLock", %"class.absl::base_internal::SpinLock"* %0, i64 0, i32 0, !dbg !1971
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* %3, metadata !1972, metadata !DIExpression()) #10, !dbg !1978
call void @llvm.dbg.value(metadata i1 false, metadata !1977, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #10, !dbg !1978
tail call void @AbslInternalSpinLockWake(%"struct.std::__1::atomic.0"* nonnull %3, i1 zeroext false) #10, !dbg !1980
%4 = and i32 %1, -8, !dbg !1981
%5 = icmp eq i32 %4, 8, !dbg !1982
br i1 %5, label %12, label %6, !dbg !1983
6: ; preds = %2
call void @llvm.dbg.value(metadata i32 %1, metadata !1984, metadata !DIExpression()), !dbg !1988
%7 = zext i32 %4 to i64, !dbg !1990
call void @llvm.dbg.value(metadata i64 %7, metadata !1987, metadata !DIExpression()), !dbg !1988
%8 = shl nuw nsw i64 %7, 4, !dbg !1991
call void @llvm.dbg.value(metadata i64 %8, metadata !1966, metadata !DIExpression()), !dbg !1992
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SpinLock"** undef, metadata !1993, metadata !DIExpression()) #10, !dbg !2010
call void @llvm.dbg.value(metadata i64* undef, metadata !2009, metadata !DIExpression()) #10, !dbg !2010
call void @llvm.dbg.value(metadata i32 2, metadata !2012, metadata !DIExpression()) #10, !dbg !2017
call void @llvm.dbg.value(metadata i32 2, metadata !1066, metadata !DIExpression()) #10, !dbg !2023
%9 = load atomic i64, i64* bitcast ({ { { void (i8*, i64)* } }, void (i8*, i64)* }* @_ZN4absl13base_internalL19submit_profile_dataE to i64*) acquire, align 8, !dbg !2025
%10 = inttoptr i64 %9 to void (i8*, i64)*, !dbg !2025
%11 = bitcast %"class.absl::base_internal::SpinLock"* %0 to i8*, !dbg !2026
tail call void %10(i8* nonnull %11, i64 %8) #10, !dbg !2027
br label %12, !dbg !2028
12: ; preds = %6, %2
ret void, !dbg !2029
}
; Function Attrs: norecurse nounwind readnone uwtable willreturn mustprogress
define i64 @_ZN4absl13base_internal8SpinLock16DecodeWaitCyclesEj(i32 %0) local_unnamed_addr #4 align 2 !dbg !1985 {
call void @llvm.dbg.value(metadata i32 %0, metadata !1984, metadata !DIExpression()), !dbg !2030
%2 = and i32 %0, -8, !dbg !2031
%3 = zext i32 %2 to i64, !dbg !2032
call void @llvm.dbg.value(metadata i64 %3, metadata !1987, metadata !DIExpression()), !dbg !2030
%4 = shl nuw nsw i64 %3, 4, !dbg !2033
ret i64 %4, !dbg !2034
}
; Function Attrs: nounwind uwtable willreturn mustprogress
define weak_odr void @_ZN4absl13base_internal10AtomicHookIPFvPKvlEE13DummyFunctionES3_l(i8* %0, i64 %1) #5 comdat align 2 !dbg !2035 {
call void @llvm.dbg.value(metadata i8* %0, metadata !2037, metadata !DIExpression()), !dbg !2039
call void @llvm.dbg.value(metadata i64 %1, metadata !2038, metadata !DIExpression()), !dbg !2039
ret void, !dbg !2040
}
declare !dbg !2041 void @AbslInternalSpinLockDelay(%"struct.std::__1::atomic.0"*, i32, i32, i32) local_unnamed_addr #6
declare !dbg !2044 void @AbslInternalSpinLockWake(%"struct.std::__1::atomic.0"*, i1 zeroext) local_unnamed_addr #6
; Function Attrs: nounwind
declare void @__assert_fail(i8*, i8*, i32, i8*) local_unnamed_addr #7
; Function Attrs: cold noreturn nounwind
declare void @llvm.ubsantrap(i8 immarg) #8
; Function Attrs: noinline nounwind uwtable
define internal fastcc void @"_ZN4absl13base_internal12CallOnceImplIZNS0_8SpinLock8SpinLoopEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_"() unnamed_addr #9 !dbg !1303 {
call void @llvm.dbg.declare(metadata [3 x i8]* undef, metadata !1322, metadata !DIExpression(DW_OP_LLVM_fragment, 40, 24)), !dbg !2045
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1310, metadata !DIExpression()), !dbg !2046
call void @llvm.dbg.value(metadata i32 0, metadata !1311, metadata !DIExpression()), !dbg !2046
call void @llvm.dbg.value(metadata %class.anon* undef, metadata !1312, metadata !DIExpression()), !dbg !2046
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1567, metadata !DIExpression()), !dbg !2047
call void @llvm.dbg.value(metadata i32 0, metadata !1564, metadata !DIExpression()), !dbg !2047
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1033, metadata !DIExpression()), !dbg !2049
call void @llvm.dbg.value(metadata i32 0, metadata !1034, metadata !DIExpression()), !dbg !2049
%1 = load atomic i32, i32* getelementptr inbounds ({ { { i32 } } }, { { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count, i64 0, i32 0, i32 0, i32 0) monotonic, align 4, !dbg !2051
call void @llvm.dbg.value(metadata i32 %1, metadata !1313, metadata !DIExpression()), !dbg !2052
switch i32 %1, label %2 [
i32 1707250555, label %4
i32 94570706, label %4
i32 221, label %4
i32 0, label %4
], !dbg !2053
2: ; preds = %0
%3 = zext i32 %1 to i64, !dbg !2054
tail call void (i32, i8*, i32, i8*, ...) @_ZN4absl20raw_logging_internal6RawLogENS_11LogSeverityEPKciS3_z(i32 3, i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.4, i64 0, i64 24), i32 164, i8* getelementptr inbounds ([41 x i8], [41 x i8]* @.str.5, i64 0, i64 0), i64 %3) #10, !dbg !2054
br label %4, !dbg !2055
4: ; preds = %2, %0, %0, %0, %0
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SchedulingHelper"* undef, metadata !2056, metadata !DIExpression()), !dbg !2061
call void @llvm.dbg.value(metadata i32 0, metadata !2059, metadata !DIExpression()), !dbg !2061
call void @llvm.dbg.value(metadata i32 0, metadata !1322, metadata !DIExpression(DW_OP_LLVM_fragment, 0, 32)), !dbg !2046
%5 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !2063
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %5, metadata !1626, metadata !DIExpression()), !dbg !2069
%6 = icmp eq %"struct.absl::base_internal::ThreadIdentity"* %5, null, !dbg !2070
br i1 %6, label %11, label %7, !dbg !2071
7: ; preds = %4
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %5, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2072
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !2072
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %5, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2074
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !2074
%8 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %5, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !2076
%9 = load atomic i32, i32* %8 monotonic, align 4, !dbg !2077
call void @llvm.dbg.value(metadata i32 %9, metadata !1627, metadata !DIExpression()), !dbg !2078
%10 = add nsw i32 %9, 1, !dbg !2079
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %5, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2080
call void @llvm.dbg.value(metadata i32 %10, metadata !1677, metadata !DIExpression()), !dbg !2080
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !2080
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %5, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2082
call void @llvm.dbg.value(metadata i32 %10, metadata !1688, metadata !DIExpression()), !dbg !2082
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !2082
store atomic i32 %10, i32* %8 monotonic, align 4, !dbg !2084
br label %11
11: ; preds = %7, %4
call void @llvm.dbg.value(metadata i1 %6, metadata !1322, metadata !DIExpression(DW_OP_constu, 18446744073709551615, DW_OP_xor, DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value, DW_OP_LLVM_fragment, 32, 8)), !dbg !2046
call void @llvm.dbg.value(metadata i32 0, metadata !1334, metadata !DIExpression()), !dbg !2046
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !2085, metadata !DIExpression()) #10, !dbg !2091
call void @llvm.dbg.value(metadata i32* undef, metadata !2088, metadata !DIExpression()) #10, !dbg !2091
call void @llvm.dbg.value(metadata i32 1707250555, metadata !2089, metadata !DIExpression()) #10, !dbg !2091
call void @llvm.dbg.value(metadata i32 0, metadata !2090, metadata !DIExpression()) #10, !dbg !2091
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1647, metadata !DIExpression()), !dbg !2094
call void @llvm.dbg.value(metadata i32* undef, metadata !1653, metadata !DIExpression()), !dbg !2094
call void @llvm.dbg.value(metadata i32 1707250555, metadata !1654, metadata !DIExpression()), !dbg !2094
call void @llvm.dbg.value(metadata i32 0, metadata !1655, metadata !DIExpression()), !dbg !2094
call void @llvm.dbg.value(metadata i32 0, metadata !1656, metadata !DIExpression()), !dbg !2094
%12 = cmpxchg i32* getelementptr inbounds ({ { { i32 } } }, { { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count, i64 0, i32 0, i32 0, i32 0), i32 0, i32 1707250555 monotonic monotonic, !dbg !2096
%13 = extractvalue { i32, i1 } %12, 1, !dbg !2096
br i1 %13, label %17, label %14, !dbg !2096
14: ; preds = %11
%15 = tail call i32 @_ZN4absl13base_internal12SpinLockWaitEPNSt3__16atomicIjEEiPKNS0_22SpinLockWaitTransitionENS0_14SchedulingModeE(%"struct.std::__1::atomic.0"* nonnull bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), i32 3, %"struct.absl::base_internal::SpinLockWaitTransition"* getelementptr inbounds ([3 x %"struct.absl::base_internal::SpinLockWaitTransition"], [3 x %"struct.absl::base_internal::SpinLockWaitTransition"]* @"_ZZN4absl13base_internal12CallOnceImplIZNS0_8SpinLock8SpinLoopEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_E5trans", i64 0, i64 0), i32 0) #10, !dbg !2097
%16 = icmp eq i32 %15, 0, !dbg !2098
br i1 %16, label %17, label %27, !dbg !2099
17: ; preds = %14, %11
call void @llvm.dbg.value(metadata %class.anon* undef, metadata !2100, metadata !DIExpression()) #10, !dbg !2109
call void @llvm.dbg.value(metadata %class.anon* undef, metadata !2112, metadata !DIExpression()) #10, !dbg !2119
call void @llvm.dbg.value(metadata %class.anon* undef, metadata !2121, metadata !DIExpression()) #10, !dbg !2133
call void @llvm.dbg.value(metadata %"struct.std::__1::__cxx_atomic_base_impl.21"* undef, metadata !2135, metadata !DIExpression()) #10, !dbg !2150
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZN4absl13base_internalL18init_num_cpus_onceE.llvm.6697759406150871507 to %"struct.std::__1::atomic.0"*), metadata !2146, metadata !DIExpression()) #10, !dbg !2150
call void @llvm.dbg.value(metadata i32 2, metadata !2153, metadata !DIExpression()) #10, !dbg !2157
call void @llvm.dbg.value(metadata i32 2, metadata !2159, metadata !DIExpression()) #10, !dbg !2163
%18 = load atomic i32, i32* getelementptr inbounds ({ { { i32 } } }, { { { i32 } } }* @_ZN4absl13base_internalL18init_num_cpus_onceE.llvm.6697759406150871507, i64 0, i32 0, i32 0, i32 0) acquire, align 4, !dbg !2165
call void @llvm.dbg.value(metadata i32 %18, metadata !2147, metadata !DIExpression()) #10, !dbg !2150
%19 = icmp eq i32 %18, 221, !dbg !2166
br i1 %19, label %_ZN4absl13base_internal7NumCPUsEv.exit, label %20, !dbg !2168, !prof !1577
20: ; preds = %17
tail call fastcc void @"_ZN4absl13base_internal12CallOnceImplIZNS0_7NumCPUsEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_.llvm.6697759406150871507"(%"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZN4absl13base_internalL18init_num_cpus_onceE.llvm.6697759406150871507 to %"struct.std::__1::atomic.0"*)) #10, !dbg !2169
br label %_ZN4absl13base_internal7NumCPUsEv.exit, !dbg !2171
_ZN4absl13base_internal7NumCPUsEv.exit: ; preds = %17, %20
%21 = load i32, i32* @_ZN4absl13base_internalL8num_cpusE.llvm.6697759406150871507, align 4, !dbg !2172
%22 = icmp sgt i32 %21, 1, !dbg !2173
%23 = select i1 %22, i32 1000, i32 1, !dbg !2174
store i32 %23, i32* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE19adaptive_spin_count, align 4, !dbg !2175
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !2176, metadata !DIExpression()), !dbg !2181
call void @llvm.dbg.value(metadata i32 221, metadata !2179, metadata !DIExpression()), !dbg !2181
call void @llvm.dbg.value(metadata i32 3, metadata !2180, metadata !DIExpression()), !dbg !2181
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !2183, metadata !DIExpression()), !dbg !2190
call void @llvm.dbg.value(metadata i32 221, metadata !2188, metadata !DIExpression()), !dbg !2190
call void @llvm.dbg.value(metadata i32 3, metadata !2189, metadata !DIExpression()), !dbg !2190
%24 = atomicrmw xchg i32* getelementptr inbounds ({ { { i32 } } }, { { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count, i64 0, i32 0, i32 0, i32 0), i32 221 release, !dbg !2192
call void @llvm.dbg.value(metadata i32 %24, metadata !1334, metadata !DIExpression()), !dbg !2046
%25 = icmp eq i32 %24, 94570706, !dbg !2193
br i1 %25, label %26, label %27, !dbg !2195
26: ; preds = %_ZN4absl13base_internal7NumCPUsEv.exit
call void @llvm.dbg.value(metadata %"struct.std::__1::atomic.0"* bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), metadata !1972, metadata !DIExpression()) #10, !dbg !2196
call void @llvm.dbg.value(metadata i1 true, metadata !1977, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)) #10, !dbg !2196
tail call void @AbslInternalSpinLockWake(%"struct.std::__1::atomic.0"* nonnull bitcast ({ { { i32 } } }* @_ZZN4absl13base_internal8SpinLock8SpinLoopEvE24init_adaptive_spin_count to %"struct.std::__1::atomic.0"*), i1 zeroext true) #10, !dbg !2199
br label %27, !dbg !2200
27: ; preds = %26, %_ZN4absl13base_internal7NumCPUsEv.exit, %14
call void @llvm.dbg.value(metadata %"class.absl::base_internal::SchedulingHelper"* undef, metadata !2201, metadata !DIExpression()), !dbg !2204
call void @llvm.dbg.value(metadata i1 %6, metadata !1693, metadata !DIExpression(DW_OP_LLVM_convert, 1, DW_ATE_unsigned, DW_OP_LLVM_convert, 8, DW_ATE_unsigned, DW_OP_stack_value)), !dbg !2206
br i1 %6, label %33, label %28, !dbg !2211
28: ; preds = %27
%29 = load %"struct.absl::base_internal::ThreadIdentity"*, %"struct.absl::base_internal::ThreadIdentity"** @_ZN4absl13base_internal19thread_identity_ptrE, align 8, !dbg !2212
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %29, metadata !1696, metadata !DIExpression()), !dbg !2206
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %29, metadata !1661, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2214
call void @llvm.dbg.value(metadata i32 0, metadata !1664, metadata !DIExpression()), !dbg !2214
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %29, metadata !1012, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2216
call void @llvm.dbg.value(metadata i32 0, metadata !1013, metadata !DIExpression()), !dbg !2216
%30 = getelementptr inbounds %"struct.absl::base_internal::ThreadIdentity", %"struct.absl::base_internal::ThreadIdentity"* %29, i64 0, i32 1, i32 2, i32 0, i32 0, i32 0, i32 0, i32 0, !dbg !2218
%31 = load atomic i32, i32* %30 monotonic, align 4, !dbg !2219
call void @llvm.dbg.value(metadata i32 %31, metadata !1697, metadata !DIExpression()), !dbg !2206
%32 = add nsw i32 %31, -1, !dbg !2220
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %29, metadata !1674, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2221
call void @llvm.dbg.value(metadata i32 %32, metadata !1677, metadata !DIExpression()), !dbg !2221
call void @llvm.dbg.value(metadata i32 0, metadata !1678, metadata !DIExpression()), !dbg !2221
call void @llvm.dbg.value(metadata %"struct.absl::base_internal::ThreadIdentity"* %29, metadata !1682, metadata !DIExpression(DW_OP_plus_uconst, 76, DW_OP_stack_value)), !dbg !2223
call void @llvm.dbg.value(metadata i32 %32, metadata !1688, metadata !DIExpression()), !dbg !2223
call void @llvm.dbg.value(metadata i32 0, metadata !1689, metadata !DIExpression()), !dbg !2223
store atomic i32 %32, i32* %30 monotonic, align 4, !dbg !2225
br label %33
33: ; preds = %28, %27
ret void, !dbg !2226
}
declare !dbg !2227 void @_ZN4absl20raw_logging_internal6RawLogENS_11LogSeverityEPKciS3_z(i32, i8*, i32, i8*, ...) local_unnamed_addr #6
declare !dbg !2232 i32 @_ZN4absl13base_internal12SpinLockWaitEPNSt3__16atomicIjEEiPKNS0_22SpinLockWaitTransitionENS0_14SchedulingModeE(%"struct.std::__1::atomic.0"*, i32, %"struct.absl::base_internal::SpinLockWaitTransition"*, i32) local_unnamed_addr #6
; Function Attrs: nofree nosync nounwind readnone speculatable willreturn
declare void @llvm.dbg.value(metadata, metadata, metadata) #1
; Function Attrs: noinline nounwind uwtable
declare hidden fastcc void @"_ZN4absl13base_internal12CallOnceImplIZNS0_7NumCPUsEvE3$_0JEEEvPNSt3__16atomicIjEENS0_14SchedulingModeEOT_DpOT0_.llvm.6697759406150871507"(%"struct.std::__1::atomic.0"*) unnamed_addr #9
attributes #0 = { nounwind uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #1 = { nofree nosync nounwind readnone speculatable willreturn }
attributes #2 = { nofree norecurse nounwind uwtable willreturn writeonly "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #3 = { cold nounwind optsize uwtable mustprogress "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #4 = { norecurse nounwind readnone uwtable willreturn mustprogress "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #5 = { nounwind uwtable willreturn mustprogress "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #6 = { "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #7 = { nounwind "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #8 = { cold noreturn nounwind }
attributes #9 = { noinline nounwind uwtable "disable-tail-calls"="false" "frame-pointer"="all" "less-precise-fpmad"="false" "min-legal-vector-width"="0" "no-infs-fp-math"="false" "no-jump-tables"="false" "no-nans-fp-math"="false" "no-signed-zeros-fp-math"="false" "no-trapping-math"="true" "prefer-vector-width"="128" "stack-protector-buffer-size"="8" "target-cpu"="x86-64" "target-features"="+aes,+cx16,+cx8,+fxsr,+mmx,+pclmul,+popcnt,+sse,+sse2,+sse3,+sse4.1,+sse4.2,+ssse3,+x87" "tune-cpu"="generic" "unsafe-fp-math"="false" "use-soft-float"="false" }
attributes #10 = { nounwind }
attributes #11 = { noreturn nounwind }
!llvm.dbg.cu = !{!2, !1445, !1446, !1447, !1448}
!llvm.linker.options = !{}
!llvm.module.flags = !{!1450, !1451, !1452, !1453, !1454}
!llvm.ident = !{!1455, !1455, !1455, !1455, !1455}
!0 = !DIGlobalVariableExpression(var: !1, expr: !DIExpression())
!1 = distinct !DIGlobalVariable(name: "kSpinLockHeld", linkageName: "_ZN4absl13base_internal8SpinLock13kSpinLockHeldE", scope: !2, file: !566, line: 161, type: !569, isLocal: false, isDefinition: true, declaration: !568)
!2 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus_14, file: !3, producer: "clang version (91e7a17133324ac4beaf6ed45c170436c2d91c98)", isOptimized: true, runtimeVersion: 0, splitDebugFilename: "dbg/bin/_objs/b/spinlock.pic.dwo", emissionKind: FullDebug, enums: !4, retainedTypes: !1004, globals: !1072, imports: !1348, nameTableKind: GNU)
!3 = !DIFile(filename: "internal/spinlock.cc", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "1914e538e54d1b5889ec18d2b5737c7f")
!4 = !{!5, !78, !772, !780, !982, !990, !997}
!5 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "State", scope: !7, file: !6, line: 122, baseType: !79, size: 32, elements: !979, identifier: "_ZTSN4absl13base_internal14PerThreadSynch5StateE")
!6 = !DIFile(filename: "./internal/thread_identity.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "94dcc7e91d3df0682d8d31e00075e469")
!7 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "PerThreadSynch", scope: !8, file: !6, line: 64, size: 512, flags: DIFlagTypePassByReference, elements: !10, identifier: "_ZTSN4absl13base_internal14PerThreadSynchE")
!8 = !DINamespace(name: "base_internal", scope: !9)
!9 = !DINamespace(name: "absl", scope: null)
!10 = !{!11, !14, !15, !17, !18, !20, !21, !22, !23, !24, !25, !174, !177, !181, !183, !186}
!11 = !DIDerivedType(tag: DW_TAG_member, name: "kLowZeroBits", scope: !7, file: !6, line: 70, baseType: !12, flags: DIFlagStaticMember, extraData: i32 8)
!12 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !13)
!13 = !DIBasicType(name: "int", size: 32, encoding: DW_ATE_signed)
!14 = !DIDerivedType(tag: DW_TAG_member, name: "kAlignment", scope: !7, file: !6, line: 71, baseType: !12, flags: DIFlagStaticMember, extraData: i32 256)
!15 = !DIDerivedType(tag: DW_TAG_member, name: "next", scope: !7, file: !6, line: 80, baseType: !16, size: 64)
!16 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64)
!17 = !DIDerivedType(tag: DW_TAG_member, name: "skip", scope: !7, file: !6, line: 81, baseType: !16, size: 64, offset: 64)
!18 = !DIDerivedType(tag: DW_TAG_member, name: "may_skip", scope: !7, file: !6, line: 84, baseType: !19, size: 8, offset: 128)
!19 = !DIBasicType(name: "bool", size: 8, encoding: DW_ATE_boolean)
!20 = !DIDerivedType(tag: DW_TAG_member, name: "wake", scope: !7, file: !6, line: 88, baseType: !19, size: 8, offset: 136)
!21 = !DIDerivedType(tag: DW_TAG_member, name: "cond_waiter", scope: !7, file: !6, line: 94, baseType: !19, size: 8, offset: 144)
!22 = !DIDerivedType(tag: DW_TAG_member, name: "maybe_unlocking", scope: !7, file: !6, line: 95, baseType: !19, size: 8, offset: 152)
!23 = !DIDerivedType(tag: DW_TAG_member, name: "suppress_fatal_errors", scope: !7, file: !6, line: 104, baseType: !19, size: 8, offset: 160)
!24 = !DIDerivedType(tag: DW_TAG_member, name: "priority", scope: !7, file: !6, line: 109, baseType: !13, size: 32, offset: 192)
!25 = !DIDerivedType(tag: DW_TAG_member, name: "state", scope: !7, file: !6, line: 126, baseType: !26, size: 32, offset: 224)
!26 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "atomic<absl::base_internal::PerThreadSynch::State>", scope: !28, file: !27, line: 1806, size: 32, flags: DIFlagTypePassByReference, elements: !30, templateParams: !49, identifier: "_ZTSNSt3__16atomicIN4absl13base_internal14PerThreadSynch5StateEEE")
!27 = !DIFile(filename: "toolchain/bin/../include/c++/v1/atomic", directory: "/proc/self/cwd")
!28 = !DINamespace(name: "__1", scope: !29, exportSymbols: true)
!29 = !DINamespace(name: "std", scope: null)
!30 = !{!31, !150, !154, !157, !162, !165, !171}
!31 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !26, baseType: !32, extraData: i32 0)
!32 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<absl::base_internal::PerThreadSynch::State, false>", scope: !28, file: !27, line: 1612, size: 32, flags: DIFlagTypePassByReference, elements: !33, templateParams: !148, identifier: "_ZTSNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EEE")
!33 = !{!34, !60, !62, !68, !73, !87, !91, !94, !97, !100, !103, !106, !109, !113, !116, !117, !118, !121, !124, !125, !126, !129, !132, !135, !138, !139, !140, !141, !144}
!34 = !DIDerivedType(tag: DW_TAG_member, name: "__a_", scope: !32, file: !27, line: 1614, baseType: !35, size: 32)
!35 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_impl<absl::base_internal::PerThreadSynch::State, std::__cxx_atomic_base_impl<absl::base_internal::PerThreadSynch::State> >", scope: !28, file: !27, line: 1514, size: 32, flags: DIFlagTypePassByValue, elements: !36, templateParams: !58, identifier: "_ZTSNSt3__117__cxx_atomic_implIN4absl13base_internal14PerThreadSynch5StateENS_22__cxx_atomic_base_implIS4_EEEE")
!36 = !{!37, !51, !55}
!37 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !35, baseType: !38, extraData: i32 0)
!38 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_base_impl<absl::base_internal::PerThreadSynch::State>", scope: !28, file: !27, line: 958, size: 32, flags: DIFlagTypePassByValue, elements: !39, templateParams: !49, identifier: "_ZTSNSt3__122__cxx_atomic_base_implIN4absl13base_internal14PerThreadSynch5StateEEE")
!39 = !{!40, !42, !46}
!40 = !DIDerivedType(tag: DW_TAG_member, name: "__a_value", scope: !38, file: !27, line: 968, baseType: !41, size: 32)
!41 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !5)
!42 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !38, file: !27, line: 962, type: !43, scopeLine: 962, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!43 = !DISubroutineType(types: !44)
!44 = !{null, !45}
!45 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !38, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!46 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !38, file: !27, line: 966, type: !47, scopeLine: 966, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!47 = !DISubroutineType(types: !48)
!48 = !{null, !45, !5}
!49 = !{!50}
!50 = !DITemplateTypeParameter(name: "_Tp", type: !5)
!51 = !DISubprogram(name: "__cxx_atomic_impl", scope: !35, file: !27, line: 1521, type: !52, scopeLine: 1521, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!52 = !DISubroutineType(types: !53)
!53 = !{null, !54}
!54 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !35, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!55 = !DISubprogram(name: "__cxx_atomic_impl", scope: !35, file: !27, line: 1522, type: !56, scopeLine: 1522, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!56 = !DISubroutineType(types: !57)
!57 = !{null, !54, !5}
!58 = !{!50, !59}
!59 = !DITemplateTypeParameter(name: "_Base", type: !38)
!60 = !DIDerivedType(tag: DW_TAG_member, name: "is_always_lock_free", scope: !32, file: !27, line: 1617, baseType: !61, flags: DIFlagStaticMember)
!61 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !19)
!62 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNVKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE12is_lock_freeEv", scope: !32, file: !27, line: 1621, type: !63, scopeLine: 1621, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!63 = !DISubroutineType(types: !64)
!64 = !{!19, !65}
!65 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !66, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!66 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !67)
!67 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !32)
!68 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE12is_lock_freeEv", scope: !32, file: !27, line: 1624, type: !69, scopeLine: 1624, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!69 = !DISubroutineType(types: !70)
!70 = !{!19, !71}
!71 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !72, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!72 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !32)
!73 = !DISubprogram(name: "store", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE5storeES4_NS_12memory_orderE", scope: !32, file: !27, line: 1627, type: !74, scopeLine: 1627, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!74 = !DISubroutineType(types: !75)
!75 = !{null, !76, !5, !77}
!76 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !67, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!77 = !DIDerivedType(tag: DW_TAG_typedef, name: "memory_order", scope: !28, file: !27, line: 668, baseType: !78)
!78 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "memory_order", scope: !28, file: !27, line: 661, baseType: !79, size: 32, elements: !80, identifier: "_ZTSNSt3__112memory_orderE")
!79 = !DIBasicType(name: "unsigned int", size: 32, encoding: DW_ATE_unsigned)
!80 = !{!81, !82, !83, !84, !85, !86}
!81 = !DIEnumerator(name: "memory_order_relaxed", value: 0, isUnsigned: true)
!82 = !DIEnumerator(name: "memory_order_consume", value: 1, isUnsigned: true)
!83 = !DIEnumerator(name: "memory_order_acquire", value: 2, isUnsigned: true)
!84 = !DIEnumerator(name: "memory_order_release", value: 3, isUnsigned: true)
!85 = !DIEnumerator(name: "memory_order_acq_rel", value: 4, isUnsigned: true)
!86 = !DIEnumerator(name: "memory_order_seq_cst", value: 5, isUnsigned: true)
!87 = !DISubprogram(name: "store", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE5storeES4_NS_12memory_orderE", scope: !32, file: !27, line: 1631, type: !88, scopeLine: 1631, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!88 = !DISubroutineType(types: !89)
!89 = !{null, !90, !5, !77}
!90 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !32, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!91 = !DISubprogram(name: "load", linkageName: "_ZNVKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE4loadENS_12memory_orderE", scope: !32, file: !27, line: 1635, type: !92, scopeLine: 1635, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!92 = !DISubroutineType(types: !93)
!93 = !{!5, !65, !77}
!94 = !DISubprogram(name: "load", linkageName: "_ZNKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE4loadENS_12memory_orderE", scope: !32, file: !27, line: 1639, type: !95, scopeLine: 1639, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!95 = !DISubroutineType(types: !96)
!96 = !{!5, !71, !77}
!97 = !DISubprogram(name: "operator absl::base_internal::PerThreadSynch::State", linkageName: "_ZNVKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EEcvS4_Ev", scope: !32, file: !27, line: 1643, type: !98, scopeLine: 1643, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!98 = !DISubroutineType(types: !99)
!99 = !{!5, !65}
!100 = !DISubprogram(name: "operator absl::base_internal::PerThreadSynch::State", linkageName: "_ZNKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EEcvS4_Ev", scope: !32, file: !27, line: 1645, type: !101, scopeLine: 1645, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!101 = !DISubroutineType(types: !102)
!102 = !{!5, !71}
!103 = !DISubprogram(name: "exchange", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE8exchangeES4_NS_12memory_orderE", scope: !32, file: !27, line: 1647, type: !104, scopeLine: 1647, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!104 = !DISubroutineType(types: !105)
!105 = !{!5, !76, !5, !77}
!106 = !DISubprogram(name: "exchange", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE8exchangeES4_NS_12memory_orderE", scope: !32, file: !27, line: 1650, type: !107, scopeLine: 1650, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!107 = !DISubroutineType(types: !108)
!108 = !{!5, !90, !5, !77}
!109 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderES7_", scope: !32, file: !27, line: 1653, type: !110, scopeLine: 1653, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!110 = !DISubroutineType(types: !111)
!111 = !{!19, !76, !112, !5, !77, !77}
!112 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !5, size: 64)
!113 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderES7_", scope: !32, file: !27, line: 1658, type: !114, scopeLine: 1658, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!114 = !DISubroutineType(types: !115)
!115 = !{!19, !90, !112, !5, !77, !77}
!116 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderES7_", scope: !32, file: !27, line: 1663, type: !110, scopeLine: 1663, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!117 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderES7_", scope: !32, file: !27, line: 1668, type: !114, scopeLine: 1668, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!118 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderE", scope: !32, file: !27, line: 1673, type: !119, scopeLine: 1673, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!119 = !DISubroutineType(types: !120)
!120 = !{!19, !76, !112, !5, !77}
!121 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderE", scope: !32, file: !27, line: 1677, type: !122, scopeLine: 1677, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!122 = !DISubroutineType(types: !123)
!123 = !{!19, !90, !112, !5, !77}
!124 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderE", scope: !32, file: !27, line: 1681, type: !119, scopeLine: 1681, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!125 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderE", scope: !32, file: !27, line: 1685, type: !122, scopeLine: 1685, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!126 = !DISubprogram(name: "wait", linkageName: "_ZNVKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE4waitES4_NS_12memory_orderE", scope: !32, file: !27, line: 1689, type: !127, scopeLine: 1689, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!127 = !DISubroutineType(types: !128)
!128 = !{null, !65, !5, !77}
!129 = !DISubprogram(name: "wait", linkageName: "_ZNKSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE4waitES4_NS_12memory_orderE", scope: !32, file: !27, line: 1691, type: !130, scopeLine: 1691, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!130 = !DISubroutineType(types: !131)
!131 = !{null, !71, !5, !77}
!132 = !DISubprogram(name: "notify_one", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE10notify_oneEv", scope: !32, file: !27, line: 1693, type: !133, scopeLine: 1693, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!133 = !DISubroutineType(types: !134)
!134 = !{null, !76}
!135 = !DISubprogram(name: "notify_one", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE10notify_oneEv", scope: !32, file: !27, line: 1695, type: !136, scopeLine: 1695, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!136 = !DISubroutineType(types: !137)
!137 = !{null, !90}
!138 = !DISubprogram(name: "notify_all", linkageName: "_ZNVSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE10notify_allEv", scope: !32, file: !27, line: 1697, type: !133, scopeLine: 1697, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!139 = !DISubprogram(name: "notify_all", linkageName: "_ZNSt3__113__atomic_baseIN4absl13base_internal14PerThreadSynch5StateELb0EE10notify_allEv", scope: !32, file: !27, line: 1699, type: !136, scopeLine: 1699, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!140 = !DISubprogram(name: "__atomic_base", scope: !32, file: !27, line: 1703, type: !136, scopeLine: 1703, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!141 = !DISubprogram(name: "__atomic_base", scope: !32, file: !27, line: 1706, type: !142, scopeLine: 1706, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!142 = !DISubroutineType(types: !143)
!143 = !{null, !90, !5}
!144 = !DISubprogram(name: "__atomic_base", scope: !32, file: !27, line: 1709, type: !145, scopeLine: 1709, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!145 = !DISubroutineType(types: !146)
!146 = !{null, !90, !147}
!147 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !72, size: 64)
!148 = !{!50, !149}
!149 = !DITemplateValueParameter(type: !19, value: i1 false)
!150 = !DISubprogram(name: "atomic", scope: !26, file: !27, line: 1813, type: !151, scopeLine: 1813, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!151 = !DISubroutineType(types: !152)
!152 = !{null, !153}
!153 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !26, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!154 = !DISubprogram(name: "atomic", scope: !26, file: !27, line: 1815, type: !155, scopeLine: 1815, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!155 = !DISubroutineType(types: !156)
!156 = !{null, !153, !5}
!157 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIN4absl13base_internal14PerThreadSynch5StateEEaSES4_", scope: !26, file: !27, line: 1818, type: !158, scopeLine: 1818, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!158 = !DISubroutineType(types: !159)
!159 = !{!5, !160, !5}
!160 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !161, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!161 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !26)
!162 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIN4absl13base_internal14PerThreadSynch5StateEEaSES4_", scope: !26, file: !27, line: 1821, type: !163, scopeLine: 1821, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!163 = !DISubroutineType(types: !164)
!164 = !{!5, !153, !5}
!165 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIN4absl13base_internal14PerThreadSynch5StateEEaSERKS5_", scope: !26, file: !27, line: 1824, type: !166, scopeLine: 1824, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!166 = !DISubroutineType(types: !167)
!167 = !{!168, !153, !169}
!168 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !26, size: 64)
!169 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !170, size: 64)
!170 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !26)
!171 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIN4absl13base_internal14PerThreadSynch5StateEEaSERKS5_", scope: !26, file: !27, line: 1825, type: !172, scopeLine: 1825, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!172 = !DISubroutineType(types: !173)
!173 = !{!168, !160, !169}
!174 = !DIDerivedType(tag: DW_TAG_member, name: "waitp", scope: !7, file: !6, line: 138, baseType: !175, size: 64, offset: 256)
!175 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !176, size: 64)
!176 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "SynchWaitParams", scope: !9, file: !6, line: 56, flags: DIFlagFwdDecl | DIFlagNonTrivial, identifier: "_ZTSN4absl15SynchWaitParamsE")
!177 = !DIDerivedType(tag: DW_TAG_member, name: "readers", scope: !7, file: !6, line: 140, baseType: !178, size: 64, offset: 320)
!178 = !DIDerivedType(tag: DW_TAG_typedef, name: "intptr_t", file: !179, line: 119, baseType: !180)
!179 = !DIFile(filename: "libc/include/stdint.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "2276b93f86af1d89a2ad1e9d25cc87bd")
!180 = !DIBasicType(name: "long int", size: 64, encoding: DW_ATE_signed)
!181 = !DIDerivedType(tag: DW_TAG_member, name: "next_priority_read_cycles", scope: !7, file: !6, line: 143, baseType: !182, size: 64, offset: 384)
!182 = !DIDerivedType(tag: DW_TAG_typedef, name: "int64_t", file: !179, line: 40, baseType: !180)
!183 = !DIDerivedType(tag: DW_TAG_member, name: "all_locks", scope: !7, file: !6, line: 147, baseType: !184, size: 64, offset: 448)
!184 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !185, size: 64)
!185 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "SynchLocksHeld", scope: !9, file: !6, line: 55, flags: DIFlagFwdDecl | DIFlagNonTrivial, identifier: "_ZTSN4absl14SynchLocksHeldE")
!186 = !DISubprogram(name: "thread_identity", linkageName: "_ZN4absl13base_internal14PerThreadSynch15thread_identityEv", scope: !7, file: !6, line: 76, type: !187, scopeLine: 76, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!187 = !DISubroutineType(types: !188)
!188 = !{!189, !978}
!189 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !190, size: 64)
!190 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "ThreadIdentity", scope: !8, file: !6, line: 152, size: 2304, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !191, identifier: "_ZTSN4absl13base_internal14ThreadIdentityE")
!191 = !{!192, !193, !831, !836, !843, !845, !846, !847, !977}
!192 = !DIDerivedType(tag: DW_TAG_member, name: "per_thread_synch", scope: !190, file: !6, line: 157, baseType: !7, size: 512)
!193 = !DIDerivedType(tag: DW_TAG_member, name: "scheduler_state", scope: !190, file: !6, line: 182, baseType: !194, size: 256, offset: 512)
!194 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "SchedulerState", scope: !190, file: !6, line: 160, size: 256, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !195, identifier: "_ZTSN4absl13base_internal14ThreadIdentity14SchedulerStateE")
!195 = !{!196, !368, !370, !558, !559, !560, !561, !826}
!196 = !DIDerivedType(tag: DW_TAG_member, name: "bound_schedulable", scope: !194, file: !6, line: 161, baseType: !197, size: 64)
!197 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "atomic<base::scheduling::Schedulable *>", scope: !28, file: !27, line: 1831, size: 64, flags: DIFlagTypePassByReference, elements: !198, templateParams: !221, identifier: "_ZTSNSt3__16atomicIPN4base10scheduling11SchedulableEEE")
!198 = !{!199, !310, !314, !317, !322, !325, !330, !333, !334, !335, !338, !341, !342, !343, !346, !349, !350, !351, !354, !357, !358, !359, !365}
!199 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !197, baseType: !200, extraData: i32 0)
!200 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<base::scheduling::Schedulable *, false>", scope: !28, file: !27, line: 1612, size: 64, flags: DIFlagTypePassByReference, elements: !201, templateParams: !309, identifier: "_ZTSNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EEE")
!201 = !{!202, !232, !233, !239, !244, !248, !252, !255, !258, !261, !264, !267, !270, !274, !277, !278, !279, !282, !285, !286, !287, !290, !293, !296, !299, !300, !301, !302, !305}
!202 = !DIDerivedType(tag: DW_TAG_member, name: "__a_", scope: !200, file: !27, line: 1614, baseType: !203, size: 64)
!203 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_impl<base::scheduling::Schedulable *, std::__cxx_atomic_base_impl<base::scheduling::Schedulable *> >", scope: !28, file: !27, line: 1514, size: 64, flags: DIFlagTypePassByValue, elements: !204, templateParams: !230, identifier: "_ZTSNSt3__117__cxx_atomic_implIPN4base10scheduling11SchedulableENS_22__cxx_atomic_base_implIS4_EEEE")
!204 = !{!205, !223, !227}
!205 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !203, baseType: !206, extraData: i32 0)
!206 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_base_impl<base::scheduling::Schedulable *>", scope: !28, file: !27, line: 958, size: 64, flags: DIFlagTypePassByValue, elements: !207, templateParams: !221, identifier: "_ZTSNSt3__122__cxx_atomic_base_implIPN4base10scheduling11SchedulableEEE")
!207 = !{!208, !214, !218}
!208 = !DIDerivedType(tag: DW_TAG_member, name: "__a_value", scope: !206, file: !27, line: 968, baseType: !209, size: 64)
!209 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !210)
!210 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !211, size: 64)
!211 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "Schedulable", scope: !212, file: !6, line: 47, flags: DIFlagFwdDecl | DIFlagNonTrivial, identifier: "_ZTSN4base10scheduling11SchedulableE")
!212 = !DINamespace(name: "scheduling", scope: !213)
!213 = !DINamespace(name: "base", scope: null)
!214 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !206, file: !27, line: 962, type: !215, scopeLine: 962, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!215 = !DISubroutineType(types: !216)
!216 = !{null, !217}
!217 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !206, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!218 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !206, file: !27, line: 966, type: !219, scopeLine: 966, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!219 = !DISubroutineType(types: !220)
!220 = !{null, !217, !210}
!221 = !{!222}
!222 = !DITemplateTypeParameter(name: "_Tp", type: !210)
!223 = !DISubprogram(name: "__cxx_atomic_impl", scope: !203, file: !27, line: 1521, type: !224, scopeLine: 1521, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!224 = !DISubroutineType(types: !225)
!225 = !{null, !226}
!226 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !203, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!227 = !DISubprogram(name: "__cxx_atomic_impl", scope: !203, file: !27, line: 1522, type: !228, scopeLine: 1522, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!228 = !DISubroutineType(types: !229)
!229 = !{null, !226, !210}
!230 = !{!222, !231}
!231 = !DITemplateTypeParameter(name: "_Base", type: !206)
!232 = !DIDerivedType(tag: DW_TAG_member, name: "is_always_lock_free", scope: !200, file: !27, line: 1617, baseType: !61, flags: DIFlagStaticMember)
!233 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNVKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE12is_lock_freeEv", scope: !200, file: !27, line: 1621, type: !234, scopeLine: 1621, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!234 = !DISubroutineType(types: !235)
!235 = !{!19, !236}
!236 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !237, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!237 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !238)
!238 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !200)
!239 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE12is_lock_freeEv", scope: !200, file: !27, line: 1624, type: !240, scopeLine: 1624, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!240 = !DISubroutineType(types: !241)
!241 = !{!19, !242}
!242 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !243, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!243 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !200)
!244 = !DISubprogram(name: "store", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE5storeES4_NS_12memory_orderE", scope: !200, file: !27, line: 1627, type: !245, scopeLine: 1627, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!245 = !DISubroutineType(types: !246)
!246 = !{null, !247, !210, !77}
!247 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !238, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!248 = !DISubprogram(name: "store", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE5storeES4_NS_12memory_orderE", scope: !200, file: !27, line: 1631, type: !249, scopeLine: 1631, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!249 = !DISubroutineType(types: !250)
!250 = !{null, !251, !210, !77}
!251 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !200, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!252 = !DISubprogram(name: "load", linkageName: "_ZNVKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE4loadENS_12memory_orderE", scope: !200, file: !27, line: 1635, type: !253, scopeLine: 1635, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!253 = !DISubroutineType(types: !254)
!254 = !{!210, !236, !77}
!255 = !DISubprogram(name: "load", linkageName: "_ZNKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE4loadENS_12memory_orderE", scope: !200, file: !27, line: 1639, type: !256, scopeLine: 1639, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!256 = !DISubroutineType(types: !257)
!257 = !{!210, !242, !77}
!258 = !DISubprogram(name: "operator base::scheduling::Schedulable *", linkageName: "_ZNVKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EEcvS4_Ev", scope: !200, file: !27, line: 1643, type: !259, scopeLine: 1643, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!259 = !DISubroutineType(types: !260)
!260 = !{!210, !236}
!261 = !DISubprogram(name: "operator base::scheduling::Schedulable *", linkageName: "_ZNKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EEcvS4_Ev", scope: !200, file: !27, line: 1645, type: !262, scopeLine: 1645, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!262 = !DISubroutineType(types: !263)
!263 = !{!210, !242}
!264 = !DISubprogram(name: "exchange", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE8exchangeES4_NS_12memory_orderE", scope: !200, file: !27, line: 1647, type: !265, scopeLine: 1647, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!265 = !DISubroutineType(types: !266)
!266 = !{!210, !247, !210, !77}
!267 = !DISubprogram(name: "exchange", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE8exchangeES4_NS_12memory_orderE", scope: !200, file: !27, line: 1650, type: !268, scopeLine: 1650, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!268 = !DISubroutineType(types: !269)
!269 = !{!210, !251, !210, !77}
!270 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderES7_", scope: !200, file: !27, line: 1653, type: !271, scopeLine: 1653, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!271 = !DISubroutineType(types: !272)
!272 = !{!19, !247, !273, !210, !77, !77}
!273 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !210, size: 64)
!274 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderES7_", scope: !200, file: !27, line: 1658, type: !275, scopeLine: 1658, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!275 = !DISubroutineType(types: !276)
!276 = !{!19, !251, !273, !210, !77, !77}
!277 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderES7_", scope: !200, file: !27, line: 1663, type: !271, scopeLine: 1663, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!278 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderES7_", scope: !200, file: !27, line: 1668, type: !275, scopeLine: 1668, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!279 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderE", scope: !200, file: !27, line: 1673, type: !280, scopeLine: 1673, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!280 = !DISubroutineType(types: !281)
!281 = !{!19, !247, !273, !210, !77}
!282 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE21compare_exchange_weakERS4_S4_NS_12memory_orderE", scope: !200, file: !27, line: 1677, type: !283, scopeLine: 1677, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!283 = !DISubroutineType(types: !284)
!284 = !{!19, !251, !273, !210, !77}
!285 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderE", scope: !200, file: !27, line: 1681, type: !280, scopeLine: 1681, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!286 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE23compare_exchange_strongERS4_S4_NS_12memory_orderE", scope: !200, file: !27, line: 1685, type: !283, scopeLine: 1685, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!287 = !DISubprogram(name: "wait", linkageName: "_ZNVKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE4waitES4_NS_12memory_orderE", scope: !200, file: !27, line: 1689, type: !288, scopeLine: 1689, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!288 = !DISubroutineType(types: !289)
!289 = !{null, !236, !210, !77}
!290 = !DISubprogram(name: "wait", linkageName: "_ZNKSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE4waitES4_NS_12memory_orderE", scope: !200, file: !27, line: 1691, type: !291, scopeLine: 1691, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!291 = !DISubroutineType(types: !292)
!292 = !{null, !242, !210, !77}
!293 = !DISubprogram(name: "notify_one", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE10notify_oneEv", scope: !200, file: !27, line: 1693, type: !294, scopeLine: 1693, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!294 = !DISubroutineType(types: !295)
!295 = !{null, !247}
!296 = !DISubprogram(name: "notify_one", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE10notify_oneEv", scope: !200, file: !27, line: 1695, type: !297, scopeLine: 1695, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!297 = !DISubroutineType(types: !298)
!298 = !{null, !251}
!299 = !DISubprogram(name: "notify_all", linkageName: "_ZNVSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE10notify_allEv", scope: !200, file: !27, line: 1697, type: !294, scopeLine: 1697, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!300 = !DISubprogram(name: "notify_all", linkageName: "_ZNSt3__113__atomic_baseIPN4base10scheduling11SchedulableELb0EE10notify_allEv", scope: !200, file: !27, line: 1699, type: !297, scopeLine: 1699, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!301 = !DISubprogram(name: "__atomic_base", scope: !200, file: !27, line: 1703, type: !297, scopeLine: 1703, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!302 = !DISubprogram(name: "__atomic_base", scope: !200, file: !27, line: 1706, type: !303, scopeLine: 1706, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!303 = !DISubroutineType(types: !304)
!304 = !{null, !251, !210}
!305 = !DISubprogram(name: "__atomic_base", scope: !200, file: !27, line: 1709, type: !306, scopeLine: 1709, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!306 = !DISubroutineType(types: !307)
!307 = !{null, !251, !308}
!308 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !243, size: 64)
!309 = !{!222, !149}
!310 = !DISubprogram(name: "atomic", scope: !197, file: !27, line: 1838, type: !311, scopeLine: 1838, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!311 = !DISubroutineType(types: !312)
!312 = !{null, !313}
!313 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !197, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!314 = !DISubprogram(name: "atomic", scope: !197, file: !27, line: 1840, type: !315, scopeLine: 1840, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!315 = !DISubroutineType(types: !316)
!316 = !{null, !313, !210}
!317 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEaSES4_", scope: !197, file: !27, line: 1843, type: !318, scopeLine: 1843, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!318 = !DISubroutineType(types: !319)
!319 = !{!210, !320, !210}
!320 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !321, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!321 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !197)
!322 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEaSES4_", scope: !197, file: !27, line: 1846, type: !323, scopeLine: 1846, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!323 = !DISubroutineType(types: !324)
!324 = !{!210, !313, !210}
!325 = !DISubprogram(name: "fetch_add", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEE9fetch_addElNS_12memory_orderE", scope: !197, file: !27, line: 1850, type: !326, scopeLine: 1850, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!326 = !DISubroutineType(types: !327)
!327 = !{!210, !320, !328, !77}
!328 = !DIDerivedType(tag: DW_TAG_typedef, name: "ptrdiff_t", file: !329, line: 35, baseType: !180)
!329 = !DIFile(filename: "toolchain/lib/clang/trunk/include/stddef.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "2499dd2361b915724b073282bea3a7bc")
!330 = !DISubprogram(name: "fetch_add", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEE9fetch_addElNS_12memory_orderE", scope: !197, file: !27, line: 1854, type: !331, scopeLine: 1854, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!331 = !DISubroutineType(types: !332)
!332 = !{!210, !313, !328, !77}
!333 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEE9fetch_subElNS_12memory_orderE", scope: !197, file: !27, line: 1857, type: !326, scopeLine: 1857, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!334 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEE9fetch_subElNS_12memory_orderE", scope: !197, file: !27, line: 1861, type: !331, scopeLine: 1861, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!335 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEppEi", scope: !197, file: !27, line: 1865, type: !336, scopeLine: 1865, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!336 = !DISubroutineType(types: !337)
!337 = !{!210, !320, !13}
!338 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEppEi", scope: !197, file: !27, line: 1867, type: !339, scopeLine: 1867, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!339 = !DISubroutineType(types: !340)
!340 = !{!210, !313, !13}
!341 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEmmEi", scope: !197, file: !27, line: 1869, type: !336, scopeLine: 1869, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!342 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEmmEi", scope: !197, file: !27, line: 1871, type: !339, scopeLine: 1871, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!343 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEppEv", scope: !197, file: !27, line: 1873, type: !344, scopeLine: 1873, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!344 = !DISubroutineType(types: !345)
!345 = !{!210, !320}
!346 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEppEv", scope: !197, file: !27, line: 1875, type: !347, scopeLine: 1875, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!347 = !DISubroutineType(types: !348)
!348 = !{!210, !313}
!349 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEmmEv", scope: !197, file: !27, line: 1877, type: !344, scopeLine: 1877, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!350 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEmmEv", scope: !197, file: !27, line: 1879, type: !347, scopeLine: 1879, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!351 = !DISubprogram(name: "operator+=", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEpLEl", scope: !197, file: !27, line: 1881, type: !352, scopeLine: 1881, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!352 = !DISubroutineType(types: !353)
!353 = !{!210, !320, !328}
!354 = !DISubprogram(name: "operator+=", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEpLEl", scope: !197, file: !27, line: 1883, type: !355, scopeLine: 1883, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!355 = !DISubroutineType(types: !356)
!356 = !{!210, !313, !328}
!357 = !DISubprogram(name: "operator-=", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEmIEl", scope: !197, file: !27, line: 1885, type: !352, scopeLine: 1885, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!358 = !DISubprogram(name: "operator-=", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEmIEl", scope: !197, file: !27, line: 1887, type: !355, scopeLine: 1887, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!359 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIPN4base10scheduling11SchedulableEEaSERKS5_", scope: !197, file: !27, line: 1889, type: !360, scopeLine: 1889, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!360 = !DISubroutineType(types: !361)
!361 = !{!362, !313, !363}
!362 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !197, size: 64)
!363 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !364, size: 64)
!364 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !197)
!365 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIPN4base10scheduling11SchedulableEEaSERKS5_", scope: !197, file: !27, line: 1890, type: !366, scopeLine: 1890, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!366 = !DISubroutineType(types: !367)
!367 = !{!362, !320, !363}
!368 = !DIDerivedType(tag: DW_TAG_member, name: "association_lock_word", scope: !194, file: !6, line: 164, baseType: !369, size: 32, offset: 64)
!369 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint32_t", file: !179, line: 51, baseType: !79)
!370 = !DIDerivedType(tag: DW_TAG_member, name: "scheduling_disabled_depth", scope: !194, file: !6, line: 165, baseType: !371, size: 32, offset: 96)
!371 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "atomic<int>", scope: !28, file: !27, line: 1806, size: 32, flags: DIFlagTypePassByReference, elements: !372, templateParams: !394, identifier: "_ZTSNSt3__16atomicIiEE")
!372 = !{!373, !534, !538, !541, !546, !549, !555}
!373 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !371, baseType: !374, extraData: i32 0)
!374 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<int, true>", scope: !28, file: !27, line: 1725, size: 32, flags: DIFlagTypePassByReference, elements: !375, templateParams: !532, identifier: "_ZTSNSt3__113__atomic_baseIiLb1EEE")
!375 = !{!376, !483, !487, !490, !495, !498, !499, !500, !501, !502, !503, !504, !505, !506, !509, !512, !513, !514, !517, !520, !521, !522, !523, !524, !525, !526, !527, !528, !529, !530, !531}
!376 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !374, baseType: !377, extraData: i32 0)
!377 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<int, false>", scope: !28, file: !27, line: 1612, size: 32, flags: DIFlagTypePassByReference, elements: !378, templateParams: !482, identifier: "_ZTSNSt3__113__atomic_baseIiLb0EEE")
!378 = !{!379, !405, !406, !412, !417, !421, !425, !428, !431, !434, !437, !440, !443, !447, !450, !451, !452, !455, !458, !459, !460, !463, !466, !469, !472, !473, !474, !475, !478}
!379 = !DIDerivedType(tag: DW_TAG_member, name: "__a_", scope: !377, file: !27, line: 1614, baseType: !380, size: 32)
!380 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_impl<int, std::__cxx_atomic_base_impl<int> >", scope: !28, file: !27, line: 1514, size: 32, flags: DIFlagTypePassByValue, elements: !381, templateParams: !403, identifier: "_ZTSNSt3__117__cxx_atomic_implIiNS_22__cxx_atomic_base_implIiEEEE")
!381 = !{!382, !396, !400}
!382 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !380, baseType: !383, extraData: i32 0)
!383 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_base_impl<int>", scope: !28, file: !27, line: 958, size: 32, flags: DIFlagTypePassByValue, elements: !384, templateParams: !394, identifier: "_ZTSNSt3__122__cxx_atomic_base_implIiEE")
!384 = !{!385, !387, !391}
!385 = !DIDerivedType(tag: DW_TAG_member, name: "__a_value", scope: !383, file: !27, line: 968, baseType: !386, size: 32)
!386 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !13)
!387 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !383, file: !27, line: 962, type: !388, scopeLine: 962, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!388 = !DISubroutineType(types: !389)
!389 = !{null, !390}
!390 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !383, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!391 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !383, file: !27, line: 966, type: !392, scopeLine: 966, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!392 = !DISubroutineType(types: !393)
!393 = !{null, !390, !13}
!394 = !{!395}
!395 = !DITemplateTypeParameter(name: "_Tp", type: !13)
!396 = !DISubprogram(name: "__cxx_atomic_impl", scope: !380, file: !27, line: 1521, type: !397, scopeLine: 1521, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!397 = !DISubroutineType(types: !398)
!398 = !{null, !399}
!399 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !380, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!400 = !DISubprogram(name: "__cxx_atomic_impl", scope: !380, file: !27, line: 1522, type: !401, scopeLine: 1522, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!401 = !DISubroutineType(types: !402)
!402 = !{null, !399, !13}
!403 = !{!395, !404}
!404 = !DITemplateTypeParameter(name: "_Base", type: !383)
!405 = !DIDerivedType(tag: DW_TAG_member, name: "is_always_lock_free", scope: !377, file: !27, line: 1617, baseType: !61, flags: DIFlagStaticMember)
!406 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNVKSt3__113__atomic_baseIiLb0EE12is_lock_freeEv", scope: !377, file: !27, line: 1621, type: !407, scopeLine: 1621, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!407 = !DISubroutineType(types: !408)
!408 = !{!19, !409}
!409 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !410, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!410 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !411)
!411 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !377)
!412 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNKSt3__113__atomic_baseIiLb0EE12is_lock_freeEv", scope: !377, file: !27, line: 1624, type: !413, scopeLine: 1624, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!413 = !DISubroutineType(types: !414)
!414 = !{!19, !415}
!415 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !416, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!416 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !377)
!417 = !DISubprogram(name: "store", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE5storeEiNS_12memory_orderE", scope: !377, file: !27, line: 1627, type: !418, scopeLine: 1627, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!418 = !DISubroutineType(types: !419)
!419 = !{null, !420, !13, !77}
!420 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !411, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!421 = !DISubprogram(name: "store", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE5storeEiNS_12memory_orderE", scope: !377, file: !27, line: 1631, type: !422, scopeLine: 1631, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!422 = !DISubroutineType(types: !423)
!423 = !{null, !424, !13, !77}
!424 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !377, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!425 = !DISubprogram(name: "load", linkageName: "_ZNVKSt3__113__atomic_baseIiLb0EE4loadENS_12memory_orderE", scope: !377, file: !27, line: 1635, type: !426, scopeLine: 1635, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!426 = !DISubroutineType(types: !427)
!427 = !{!13, !409, !77}
!428 = !DISubprogram(name: "load", linkageName: "_ZNKSt3__113__atomic_baseIiLb0EE4loadENS_12memory_orderE", scope: !377, file: !27, line: 1639, type: !429, scopeLine: 1639, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!429 = !DISubroutineType(types: !430)
!430 = !{!13, !415, !77}
!431 = !DISubprogram(name: "operator int", linkageName: "_ZNVKSt3__113__atomic_baseIiLb0EEcviEv", scope: !377, file: !27, line: 1643, type: !432, scopeLine: 1643, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!432 = !DISubroutineType(types: !433)
!433 = !{!13, !409}
!434 = !DISubprogram(name: "operator int", linkageName: "_ZNKSt3__113__atomic_baseIiLb0EEcviEv", scope: !377, file: !27, line: 1645, type: !435, scopeLine: 1645, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!435 = !DISubroutineType(types: !436)
!436 = !{!13, !415}
!437 = !DISubprogram(name: "exchange", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE8exchangeEiNS_12memory_orderE", scope: !377, file: !27, line: 1647, type: !438, scopeLine: 1647, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!438 = !DISubroutineType(types: !439)
!439 = !{!13, !420, !13, !77}
!440 = !DISubprogram(name: "exchange", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE8exchangeEiNS_12memory_orderE", scope: !377, file: !27, line: 1650, type: !441, scopeLine: 1650, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!441 = !DISubroutineType(types: !442)
!442 = !{!13, !424, !13, !77}
!443 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE21compare_exchange_weakERiiNS_12memory_orderES3_", scope: !377, file: !27, line: 1653, type: !444, scopeLine: 1653, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!444 = !DISubroutineType(types: !445)
!445 = !{!19, !420, !446, !13, !77, !77}
!446 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !13, size: 64)
!447 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE21compare_exchange_weakERiiNS_12memory_orderES3_", scope: !377, file: !27, line: 1658, type: !448, scopeLine: 1658, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!448 = !DISubroutineType(types: !449)
!449 = !{!19, !424, !446, !13, !77, !77}
!450 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE23compare_exchange_strongERiiNS_12memory_orderES3_", scope: !377, file: !27, line: 1663, type: !444, scopeLine: 1663, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!451 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE23compare_exchange_strongERiiNS_12memory_orderES3_", scope: !377, file: !27, line: 1668, type: !448, scopeLine: 1668, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!452 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE21compare_exchange_weakERiiNS_12memory_orderE", scope: !377, file: !27, line: 1673, type: !453, scopeLine: 1673, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!453 = !DISubroutineType(types: !454)
!454 = !{!19, !420, !446, !13, !77}
!455 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE21compare_exchange_weakERiiNS_12memory_orderE", scope: !377, file: !27, line: 1677, type: !456, scopeLine: 1677, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!456 = !DISubroutineType(types: !457)
!457 = !{!19, !424, !446, !13, !77}
!458 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE23compare_exchange_strongERiiNS_12memory_orderE", scope: !377, file: !27, line: 1681, type: !453, scopeLine: 1681, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!459 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE23compare_exchange_strongERiiNS_12memory_orderE", scope: !377, file: !27, line: 1685, type: !456, scopeLine: 1685, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!460 = !DISubprogram(name: "wait", linkageName: "_ZNVKSt3__113__atomic_baseIiLb0EE4waitEiNS_12memory_orderE", scope: !377, file: !27, line: 1689, type: !461, scopeLine: 1689, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!461 = !DISubroutineType(types: !462)
!462 = !{null, !409, !13, !77}
!463 = !DISubprogram(name: "wait", linkageName: "_ZNKSt3__113__atomic_baseIiLb0EE4waitEiNS_12memory_orderE", scope: !377, file: !27, line: 1691, type: !464, scopeLine: 1691, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!464 = !DISubroutineType(types: !465)
!465 = !{null, !415, !13, !77}
!466 = !DISubprogram(name: "notify_one", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE10notify_oneEv", scope: !377, file: !27, line: 1693, type: !467, scopeLine: 1693, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!467 = !DISubroutineType(types: !468)
!468 = !{null, !420}
!469 = !DISubprogram(name: "notify_one", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE10notify_oneEv", scope: !377, file: !27, line: 1695, type: !470, scopeLine: 1695, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!470 = !DISubroutineType(types: !471)
!471 = !{null, !424}
!472 = !DISubprogram(name: "notify_all", linkageName: "_ZNVSt3__113__atomic_baseIiLb0EE10notify_allEv", scope: !377, file: !27, line: 1697, type: !467, scopeLine: 1697, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!473 = !DISubprogram(name: "notify_all", linkageName: "_ZNSt3__113__atomic_baseIiLb0EE10notify_allEv", scope: !377, file: !27, line: 1699, type: !470, scopeLine: 1699, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!474 = !DISubprogram(name: "__atomic_base", scope: !377, file: !27, line: 1703, type: !470, scopeLine: 1703, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!475 = !DISubprogram(name: "__atomic_base", scope: !377, file: !27, line: 1706, type: !476, scopeLine: 1706, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!476 = !DISubroutineType(types: !477)
!477 = !{null, !424, !13}
!478 = !DISubprogram(name: "__atomic_base", scope: !377, file: !27, line: 1709, type: !479, scopeLine: 1709, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!479 = !DISubroutineType(types: !480)
!480 = !{null, !424, !481}
!481 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !416, size: 64)
!482 = !{!395, !149}
!483 = !DISubprogram(name: "__atomic_base", scope: !374, file: !27, line: 1730, type: !484, scopeLine: 1730, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!484 = !DISubroutineType(types: !485)
!485 = !{null, !486}
!486 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !374, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!487 = !DISubprogram(name: "__atomic_base", scope: !374, file: !27, line: 1732, type: !488, scopeLine: 1732, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!488 = !DISubroutineType(types: !489)
!489 = !{null, !486, !13}
!490 = !DISubprogram(name: "fetch_add", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EE9fetch_addEiNS_12memory_orderE", scope: !374, file: !27, line: 1735, type: !491, scopeLine: 1735, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!491 = !DISubroutineType(types: !492)
!492 = !{!13, !493, !13, !77}
!493 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !494, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!494 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !374)
!495 = !DISubprogram(name: "fetch_add", linkageName: "_ZNSt3__113__atomic_baseIiLb1EE9fetch_addEiNS_12memory_orderE", scope: !374, file: !27, line: 1738, type: !496, scopeLine: 1738, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!496 = !DISubroutineType(types: !497)
!497 = !{!13, !486, !13, !77}
!498 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EE9fetch_subEiNS_12memory_orderE", scope: !374, file: !27, line: 1741, type: !491, scopeLine: 1741, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!499 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNSt3__113__atomic_baseIiLb1EE9fetch_subEiNS_12memory_orderE", scope: !374, file: !27, line: 1744, type: !496, scopeLine: 1744, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!500 = !DISubprogram(name: "fetch_and", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EE9fetch_andEiNS_12memory_orderE", scope: !374, file: !27, line: 1747, type: !491, scopeLine: 1747, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!501 = !DISubprogram(name: "fetch_and", linkageName: "_ZNSt3__113__atomic_baseIiLb1EE9fetch_andEiNS_12memory_orderE", scope: !374, file: !27, line: 1750, type: !496, scopeLine: 1750, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!502 = !DISubprogram(name: "fetch_or", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EE8fetch_orEiNS_12memory_orderE", scope: !374, file: !27, line: 1753, type: !491, scopeLine: 1753, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!503 = !DISubprogram(name: "fetch_or", linkageName: "_ZNSt3__113__atomic_baseIiLb1EE8fetch_orEiNS_12memory_orderE", scope: !374, file: !27, line: 1756, type: !496, scopeLine: 1756, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!504 = !DISubprogram(name: "fetch_xor", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EE9fetch_xorEiNS_12memory_orderE", scope: !374, file: !27, line: 1759, type: !491, scopeLine: 1759, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!505 = !DISubprogram(name: "fetch_xor", linkageName: "_ZNSt3__113__atomic_baseIiLb1EE9fetch_xorEiNS_12memory_orderE", scope: !374, file: !27, line: 1762, type: !496, scopeLine: 1762, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!506 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEppEi", scope: !374, file: !27, line: 1766, type: !507, scopeLine: 1766, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!507 = !DISubroutineType(types: !508)
!508 = !{!13, !493, !13}
!509 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEppEi", scope: !374, file: !27, line: 1768, type: !510, scopeLine: 1768, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!510 = !DISubroutineType(types: !511)
!511 = !{!13, !486, !13}
!512 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEmmEi", scope: !374, file: !27, line: 1770, type: !507, scopeLine: 1770, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!513 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEmmEi", scope: !374, file: !27, line: 1772, type: !510, scopeLine: 1772, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!514 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEppEv", scope: !374, file: !27, line: 1774, type: !515, scopeLine: 1774, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!515 = !DISubroutineType(types: !516)
!516 = !{!13, !493}
!517 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEppEv", scope: !374, file: !27, line: 1776, type: !518, scopeLine: 1776, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!518 = !DISubroutineType(types: !519)
!519 = !{!13, !486}
!520 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEmmEv", scope: !374, file: !27, line: 1778, type: !515, scopeLine: 1778, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!521 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEmmEv", scope: !374, file: !27, line: 1780, type: !518, scopeLine: 1780, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!522 = !DISubprogram(name: "operator+=", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEpLEi", scope: !374, file: !27, line: 1782, type: !507, scopeLine: 1782, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!523 = !DISubprogram(name: "operator+=", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEpLEi", scope: !374, file: !27, line: 1784, type: !510, scopeLine: 1784, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!524 = !DISubprogram(name: "operator-=", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEmIEi", scope: !374, file: !27, line: 1786, type: !507, scopeLine: 1786, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!525 = !DISubprogram(name: "operator-=", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEmIEi", scope: !374, file: !27, line: 1788, type: !510, scopeLine: 1788, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!526 = !DISubprogram(name: "operator&=", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEaNEi", scope: !374, file: !27, line: 1790, type: !507, scopeLine: 1790, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!527 = !DISubprogram(name: "operator&=", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEaNEi", scope: !374, file: !27, line: 1792, type: !510, scopeLine: 1792, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!528 = !DISubprogram(name: "operator|=", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEoREi", scope: !374, file: !27, line: 1794, type: !507, scopeLine: 1794, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!529 = !DISubprogram(name: "operator|=", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEoREi", scope: !374, file: !27, line: 1796, type: !510, scopeLine: 1796, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!530 = !DISubprogram(name: "operator^=", linkageName: "_ZNVSt3__113__atomic_baseIiLb1EEeOEi", scope: !374, file: !27, line: 1798, type: !507, scopeLine: 1798, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!531 = !DISubprogram(name: "operator^=", linkageName: "_ZNSt3__113__atomic_baseIiLb1EEeOEi", scope: !374, file: !27, line: 1800, type: !510, scopeLine: 1800, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!532 = !{!395, !533}
!533 = !DITemplateValueParameter(type: !19, value: i1 true)
!534 = !DISubprogram(name: "atomic", scope: !371, file: !27, line: 1813, type: !535, scopeLine: 1813, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!535 = !DISubroutineType(types: !536)
!536 = !{null, !537}
!537 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !371, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!538 = !DISubprogram(name: "atomic", scope: !371, file: !27, line: 1815, type: !539, scopeLine: 1815, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!539 = !DISubroutineType(types: !540)
!540 = !{null, !537, !13}
!541 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIiEaSEi", scope: !371, file: !27, line: 1818, type: !542, scopeLine: 1818, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!542 = !DISubroutineType(types: !543)
!543 = !{!13, !544, !13}
!544 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !545, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!545 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !371)
!546 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIiEaSEi", scope: !371, file: !27, line: 1821, type: !547, scopeLine: 1821, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!547 = !DISubroutineType(types: !548)
!548 = !{!13, !537, !13}
!549 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIiEaSERKS1_", scope: !371, file: !27, line: 1824, type: !550, scopeLine: 1824, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!550 = !DISubroutineType(types: !551)
!551 = !{!552, !537, !553}
!552 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !371, size: 64)
!553 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !554, size: 64)
!554 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !371)
!555 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIiEaSERKS1_", scope: !371, file: !27, line: 1825, type: !556, scopeLine: 1825, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!556 = !DISubroutineType(types: !557)
!557 = !{!552, !544, !553}
!558 = !DIDerivedType(tag: DW_TAG_member, name: "potentially_blocking_depth", scope: !194, file: !6, line: 166, baseType: !13, size: 32, offset: 128)
!559 = !DIDerivedType(tag: DW_TAG_member, name: "schedule_next_state", scope: !194, file: !6, line: 167, baseType: !369, size: 32, offset: 160)
!560 = !DIDerivedType(tag: DW_TAG_member, name: "waking_designated_waker", scope: !194, file: !6, line: 173, baseType: !19, size: 8, offset: 192)
!561 = !DISubprogram(name: "association_lock", linkageName: "_ZN4absl13base_internal14ThreadIdentity14SchedulerState16association_lockEv", scope: !194, file: !6, line: 175, type: !562, scopeLine: 175, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!562 = !DISubroutineType(types: !563)
!563 = !{!564, !825}
!564 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !565, size: 64)
!565 = distinct !DICompositeType(tag: DW_TAG_class_type, name: "SpinLock", scope: !8, file: !566, line: 57, size: 32, flags: DIFlagTypePassByReference | DIFlagNonTrivial, elements: !567, identifier: "_ZTSN4absl13base_internal8SpinLockE")
!566 = !DIFile(filename: "./internal/spinlock.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "78b03d4c0fb31dd356f7614a43d610a6")
!567 = !{!568, !570, !571, !572, !573, !574, !765, !769, !777, !784, !785, !786, !789, !790, !795, !798, !803, !806, !809, !810, !813, !816, !817, !821}
!568 = !DIDerivedType(tag: DW_TAG_member, name: "kSpinLockHeld", scope: !565, file: !566, line: 161, baseType: !569, flags: DIFlagStaticMember, extraData: i32 1)
!569 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !369)
!570 = !DIDerivedType(tag: DW_TAG_member, name: "kSpinLockCooperative", scope: !565, file: !566, line: 162, baseType: !569, flags: DIFlagStaticMember, extraData: i32 2)
!571 = !DIDerivedType(tag: DW_TAG_member, name: "kSpinLockDisabledScheduling", scope: !565, file: !566, line: 163, baseType: !569, flags: DIFlagStaticMember, extraData: i32 4)
!572 = !DIDerivedType(tag: DW_TAG_member, name: "kSpinLockSleeper", scope: !565, file: !566, line: 164, baseType: !569, flags: DIFlagStaticMember, extraData: i32 8)
!573 = !DIDerivedType(tag: DW_TAG_member, name: "kWaitTimeMask", scope: !565, file: !566, line: 166, baseType: !569, flags: DIFlagStaticMember, extraData: i32 -8)
!574 = !DIDerivedType(tag: DW_TAG_member, name: "lockword_", scope: !565, file: !566, line: 185, baseType: !575, size: 32)
!575 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "atomic<unsigned int>", scope: !28, file: !27, line: 1806, size: 32, flags: DIFlagTypePassByReference, elements: !576, templateParams: !598, identifier: "_ZTSNSt3__16atomicIjEE")
!576 = !{!577, !741, !745, !748, !753, !756, !762}
!577 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !575, baseType: !578, extraData: i32 0)
!578 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<unsigned int, true>", scope: !28, file: !27, line: 1725, size: 32, flags: DIFlagTypePassByReference, elements: !579, templateParams: !740, identifier: "_ZTSNSt3__113__atomic_baseIjLb1EEE")
!579 = !{!580, !687, !691, !694, !699, !702, !703, !704, !705, !706, !707, !708, !709, !710, !713, !716, !717, !718, !721, !724, !725, !726, !729, !732, !733, !734, !735, !736, !737, !738, !739}
!580 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !578, baseType: !581, extraData: i32 0)
!581 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<unsigned int, false>", scope: !28, file: !27, line: 1612, size: 32, flags: DIFlagTypePassByReference, elements: !582, templateParams: !686, identifier: "_ZTSNSt3__113__atomic_baseIjLb0EEE")
!582 = !{!583, !609, !610, !616, !621, !625, !629, !632, !635, !638, !641, !644, !647, !651, !654, !655, !656, !659, !662, !663, !664, !667, !670, !673, !676, !677, !678, !679, !682}
!583 = !DIDerivedType(tag: DW_TAG_member, name: "__a_", scope: !581, file: !27, line: 1614, baseType: !584, size: 32)
!584 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_impl<unsigned int, std::__cxx_atomic_base_impl<unsigned int> >", scope: !28, file: !27, line: 1514, size: 32, flags: DIFlagTypePassByValue, elements: !585, templateParams: !607, identifier: "_ZTSNSt3__117__cxx_atomic_implIjNS_22__cxx_atomic_base_implIjEEEE")
!585 = !{!586, !600, !604}
!586 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !584, baseType: !587, extraData: i32 0)
!587 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_base_impl<unsigned int>", scope: !28, file: !27, line: 958, size: 32, flags: DIFlagTypePassByValue, elements: !588, templateParams: !598, identifier: "_ZTSNSt3__122__cxx_atomic_base_implIjEE")
!588 = !{!589, !591, !595}
!589 = !DIDerivedType(tag: DW_TAG_member, name: "__a_value", scope: !587, file: !27, line: 968, baseType: !590, size: 32)
!590 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !79)
!591 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !587, file: !27, line: 962, type: !592, scopeLine: 962, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!592 = !DISubroutineType(types: !593)
!593 = !{null, !594}
!594 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !587, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!595 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !587, file: !27, line: 966, type: !596, scopeLine: 966, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!596 = !DISubroutineType(types: !597)
!597 = !{null, !594, !79}
!598 = !{!599}
!599 = !DITemplateTypeParameter(name: "_Tp", type: !79)
!600 = !DISubprogram(name: "__cxx_atomic_impl", scope: !584, file: !27, line: 1521, type: !601, scopeLine: 1521, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!601 = !DISubroutineType(types: !602)
!602 = !{null, !603}
!603 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !584, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!604 = !DISubprogram(name: "__cxx_atomic_impl", scope: !584, file: !27, line: 1522, type: !605, scopeLine: 1522, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!605 = !DISubroutineType(types: !606)
!606 = !{null, !603, !79}
!607 = !{!599, !608}
!608 = !DITemplateTypeParameter(name: "_Base", type: !587)
!609 = !DIDerivedType(tag: DW_TAG_member, name: "is_always_lock_free", scope: !581, file: !27, line: 1617, baseType: !61, flags: DIFlagStaticMember)
!610 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNVKSt3__113__atomic_baseIjLb0EE12is_lock_freeEv", scope: !581, file: !27, line: 1621, type: !611, scopeLine: 1621, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!611 = !DISubroutineType(types: !612)
!612 = !{!19, !613}
!613 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !614, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!614 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !615)
!615 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !581)
!616 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNKSt3__113__atomic_baseIjLb0EE12is_lock_freeEv", scope: !581, file: !27, line: 1624, type: !617, scopeLine: 1624, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!617 = !DISubroutineType(types: !618)
!618 = !{!19, !619}
!619 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !620, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!620 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !581)
!621 = !DISubprogram(name: "store", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE5storeEjNS_12memory_orderE", scope: !581, file: !27, line: 1627, type: !622, scopeLine: 1627, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!622 = !DISubroutineType(types: !623)
!623 = !{null, !624, !79, !77}
!624 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !615, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!625 = !DISubprogram(name: "store", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE5storeEjNS_12memory_orderE", scope: !581, file: !27, line: 1631, type: !626, scopeLine: 1631, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!626 = !DISubroutineType(types: !627)
!627 = !{null, !628, !79, !77}
!628 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !581, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!629 = !DISubprogram(name: "load", linkageName: "_ZNVKSt3__113__atomic_baseIjLb0EE4loadENS_12memory_orderE", scope: !581, file: !27, line: 1635, type: !630, scopeLine: 1635, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!630 = !DISubroutineType(types: !631)
!631 = !{!79, !613, !77}
!632 = !DISubprogram(name: "load", linkageName: "_ZNKSt3__113__atomic_baseIjLb0EE4loadENS_12memory_orderE", scope: !581, file: !27, line: 1639, type: !633, scopeLine: 1639, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!633 = !DISubroutineType(types: !634)
!634 = !{!79, !619, !77}
!635 = !DISubprogram(name: "operator unsigned int", linkageName: "_ZNVKSt3__113__atomic_baseIjLb0EEcvjEv", scope: !581, file: !27, line: 1643, type: !636, scopeLine: 1643, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!636 = !DISubroutineType(types: !637)
!637 = !{!79, !613}
!638 = !DISubprogram(name: "operator unsigned int", linkageName: "_ZNKSt3__113__atomic_baseIjLb0EEcvjEv", scope: !581, file: !27, line: 1645, type: !639, scopeLine: 1645, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!639 = !DISubroutineType(types: !640)
!640 = !{!79, !619}
!641 = !DISubprogram(name: "exchange", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE8exchangeEjNS_12memory_orderE", scope: !581, file: !27, line: 1647, type: !642, scopeLine: 1647, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!642 = !DISubroutineType(types: !643)
!643 = !{!79, !624, !79, !77}
!644 = !DISubprogram(name: "exchange", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE8exchangeEjNS_12memory_orderE", scope: !581, file: !27, line: 1650, type: !645, scopeLine: 1650, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!645 = !DISubroutineType(types: !646)
!646 = !{!79, !628, !79, !77}
!647 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE21compare_exchange_weakERjjNS_12memory_orderES3_", scope: !581, file: !27, line: 1653, type: !648, scopeLine: 1653, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!648 = !DISubroutineType(types: !649)
!649 = !{!19, !624, !650, !79, !77, !77}
!650 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !79, size: 64)
!651 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE21compare_exchange_weakERjjNS_12memory_orderES3_", scope: !581, file: !27, line: 1658, type: !652, scopeLine: 1658, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!652 = !DISubroutineType(types: !653)
!653 = !{!19, !628, !650, !79, !77, !77}
!654 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE23compare_exchange_strongERjjNS_12memory_orderES3_", scope: !581, file: !27, line: 1663, type: !648, scopeLine: 1663, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!655 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE23compare_exchange_strongERjjNS_12memory_orderES3_", scope: !581, file: !27, line: 1668, type: !652, scopeLine: 1668, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!656 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE21compare_exchange_weakERjjNS_12memory_orderE", scope: !581, file: !27, line: 1673, type: !657, scopeLine: 1673, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!657 = !DISubroutineType(types: !658)
!658 = !{!19, !624, !650, !79, !77}
!659 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE21compare_exchange_weakERjjNS_12memory_orderE", scope: !581, file: !27, line: 1677, type: !660, scopeLine: 1677, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!660 = !DISubroutineType(types: !661)
!661 = !{!19, !628, !650, !79, !77}
!662 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE23compare_exchange_strongERjjNS_12memory_orderE", scope: !581, file: !27, line: 1681, type: !657, scopeLine: 1681, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!663 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE23compare_exchange_strongERjjNS_12memory_orderE", scope: !581, file: !27, line: 1685, type: !660, scopeLine: 1685, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!664 = !DISubprogram(name: "wait", linkageName: "_ZNVKSt3__113__atomic_baseIjLb0EE4waitEjNS_12memory_orderE", scope: !581, file: !27, line: 1689, type: !665, scopeLine: 1689, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!665 = !DISubroutineType(types: !666)
!666 = !{null, !613, !79, !77}
!667 = !DISubprogram(name: "wait", linkageName: "_ZNKSt3__113__atomic_baseIjLb0EE4waitEjNS_12memory_orderE", scope: !581, file: !27, line: 1691, type: !668, scopeLine: 1691, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!668 = !DISubroutineType(types: !669)
!669 = !{null, !619, !79, !77}
!670 = !DISubprogram(name: "notify_one", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE10notify_oneEv", scope: !581, file: !27, line: 1693, type: !671, scopeLine: 1693, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!671 = !DISubroutineType(types: !672)
!672 = !{null, !624}
!673 = !DISubprogram(name: "notify_one", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE10notify_oneEv", scope: !581, file: !27, line: 1695, type: !674, scopeLine: 1695, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!674 = !DISubroutineType(types: !675)
!675 = !{null, !628}
!676 = !DISubprogram(name: "notify_all", linkageName: "_ZNVSt3__113__atomic_baseIjLb0EE10notify_allEv", scope: !581, file: !27, line: 1697, type: !671, scopeLine: 1697, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!677 = !DISubprogram(name: "notify_all", linkageName: "_ZNSt3__113__atomic_baseIjLb0EE10notify_allEv", scope: !581, file: !27, line: 1699, type: !674, scopeLine: 1699, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!678 = !DISubprogram(name: "__atomic_base", scope: !581, file: !27, line: 1703, type: !674, scopeLine: 1703, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!679 = !DISubprogram(name: "__atomic_base", scope: !581, file: !27, line: 1706, type: !680, scopeLine: 1706, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!680 = !DISubroutineType(types: !681)
!681 = !{null, !628, !79}
!682 = !DISubprogram(name: "__atomic_base", scope: !581, file: !27, line: 1709, type: !683, scopeLine: 1709, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!683 = !DISubroutineType(types: !684)
!684 = !{null, !628, !685}
!685 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !620, size: 64)
!686 = !{!599, !149}
!687 = !DISubprogram(name: "__atomic_base", scope: !578, file: !27, line: 1730, type: !688, scopeLine: 1730, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!688 = !DISubroutineType(types: !689)
!689 = !{null, !690}
!690 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !578, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!691 = !DISubprogram(name: "__atomic_base", scope: !578, file: !27, line: 1732, type: !692, scopeLine: 1732, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!692 = !DISubroutineType(types: !693)
!693 = !{null, !690, !79}
!694 = !DISubprogram(name: "fetch_add", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EE9fetch_addEjNS_12memory_orderE", scope: !578, file: !27, line: 1735, type: !695, scopeLine: 1735, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!695 = !DISubroutineType(types: !696)
!696 = !{!79, !697, !79, !77}
!697 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !698, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!698 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !578)
!699 = !DISubprogram(name: "fetch_add", linkageName: "_ZNSt3__113__atomic_baseIjLb1EE9fetch_addEjNS_12memory_orderE", scope: !578, file: !27, line: 1738, type: !700, scopeLine: 1738, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!700 = !DISubroutineType(types: !701)
!701 = !{!79, !690, !79, !77}
!702 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EE9fetch_subEjNS_12memory_orderE", scope: !578, file: !27, line: 1741, type: !695, scopeLine: 1741, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!703 = !DISubprogram(name: "fetch_sub", linkageName: "_ZNSt3__113__atomic_baseIjLb1EE9fetch_subEjNS_12memory_orderE", scope: !578, file: !27, line: 1744, type: !700, scopeLine: 1744, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!704 = !DISubprogram(name: "fetch_and", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EE9fetch_andEjNS_12memory_orderE", scope: !578, file: !27, line: 1747, type: !695, scopeLine: 1747, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!705 = !DISubprogram(name: "fetch_and", linkageName: "_ZNSt3__113__atomic_baseIjLb1EE9fetch_andEjNS_12memory_orderE", scope: !578, file: !27, line: 1750, type: !700, scopeLine: 1750, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!706 = !DISubprogram(name: "fetch_or", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EE8fetch_orEjNS_12memory_orderE", scope: !578, file: !27, line: 1753, type: !695, scopeLine: 1753, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!707 = !DISubprogram(name: "fetch_or", linkageName: "_ZNSt3__113__atomic_baseIjLb1EE8fetch_orEjNS_12memory_orderE", scope: !578, file: !27, line: 1756, type: !700, scopeLine: 1756, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!708 = !DISubprogram(name: "fetch_xor", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EE9fetch_xorEjNS_12memory_orderE", scope: !578, file: !27, line: 1759, type: !695, scopeLine: 1759, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!709 = !DISubprogram(name: "fetch_xor", linkageName: "_ZNSt3__113__atomic_baseIjLb1EE9fetch_xorEjNS_12memory_orderE", scope: !578, file: !27, line: 1762, type: !700, scopeLine: 1762, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!710 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEppEi", scope: !578, file: !27, line: 1766, type: !711, scopeLine: 1766, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!711 = !DISubroutineType(types: !712)
!712 = !{!79, !697, !13}
!713 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEppEi", scope: !578, file: !27, line: 1768, type: !714, scopeLine: 1768, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!714 = !DISubroutineType(types: !715)
!715 = !{!79, !690, !13}
!716 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEmmEi", scope: !578, file: !27, line: 1770, type: !711, scopeLine: 1770, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!717 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEmmEi", scope: !578, file: !27, line: 1772, type: !714, scopeLine: 1772, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!718 = !DISubprogram(name: "operator++", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEppEv", scope: !578, file: !27, line: 1774, type: !719, scopeLine: 1774, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!719 = !DISubroutineType(types: !720)
!720 = !{!79, !697}
!721 = !DISubprogram(name: "operator++", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEppEv", scope: !578, file: !27, line: 1776, type: !722, scopeLine: 1776, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!722 = !DISubroutineType(types: !723)
!723 = !{!79, !690}
!724 = !DISubprogram(name: "operator--", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEmmEv", scope: !578, file: !27, line: 1778, type: !719, scopeLine: 1778, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!725 = !DISubprogram(name: "operator--", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEmmEv", scope: !578, file: !27, line: 1780, type: !722, scopeLine: 1780, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!726 = !DISubprogram(name: "operator+=", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEpLEj", scope: !578, file: !27, line: 1782, type: !727, scopeLine: 1782, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!727 = !DISubroutineType(types: !728)
!728 = !{!79, !697, !79}
!729 = !DISubprogram(name: "operator+=", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEpLEj", scope: !578, file: !27, line: 1784, type: !730, scopeLine: 1784, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!730 = !DISubroutineType(types: !731)
!731 = !{!79, !690, !79}
!732 = !DISubprogram(name: "operator-=", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEmIEj", scope: !578, file: !27, line: 1786, type: !727, scopeLine: 1786, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!733 = !DISubprogram(name: "operator-=", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEmIEj", scope: !578, file: !27, line: 1788, type: !730, scopeLine: 1788, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!734 = !DISubprogram(name: "operator&=", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEaNEj", scope: !578, file: !27, line: 1790, type: !727, scopeLine: 1790, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!735 = !DISubprogram(name: "operator&=", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEaNEj", scope: !578, file: !27, line: 1792, type: !730, scopeLine: 1792, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!736 = !DISubprogram(name: "operator|=", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEoREj", scope: !578, file: !27, line: 1794, type: !727, scopeLine: 1794, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!737 = !DISubprogram(name: "operator|=", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEoREj", scope: !578, file: !27, line: 1796, type: !730, scopeLine: 1796, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!738 = !DISubprogram(name: "operator^=", linkageName: "_ZNVSt3__113__atomic_baseIjLb1EEeOEj", scope: !578, file: !27, line: 1798, type: !727, scopeLine: 1798, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!739 = !DISubprogram(name: "operator^=", linkageName: "_ZNSt3__113__atomic_baseIjLb1EEeOEj", scope: !578, file: !27, line: 1800, type: !730, scopeLine: 1800, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!740 = !{!599, !533}
!741 = !DISubprogram(name: "atomic", scope: !575, file: !27, line: 1813, type: !742, scopeLine: 1813, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!742 = !DISubroutineType(types: !743)
!743 = !{null, !744}
!744 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !575, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!745 = !DISubprogram(name: "atomic", scope: !575, file: !27, line: 1815, type: !746, scopeLine: 1815, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!746 = !DISubroutineType(types: !747)
!747 = !{null, !744, !79}
!748 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIjEaSEj", scope: !575, file: !27, line: 1818, type: !749, scopeLine: 1818, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!749 = !DISubroutineType(types: !750)
!750 = !{!79, !751, !79}
!751 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !752, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!752 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !575)
!753 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIjEaSEj", scope: !575, file: !27, line: 1821, type: !754, scopeLine: 1821, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!754 = !DISubroutineType(types: !755)
!755 = !{!79, !744, !79}
!756 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIjEaSERKS1_", scope: !575, file: !27, line: 1824, type: !757, scopeLine: 1824, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!757 = !DISubroutineType(types: !758)
!758 = !{!759, !744, !760}
!759 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !575, size: 64)
!760 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !761, size: 64)
!761 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !575)
!762 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIjEaSERKS1_", scope: !575, file: !27, line: 1825, type: !763, scopeLine: 1825, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!763 = !DISubroutineType(types: !764)
!764 = !{!759, !751, !760}
!765 = !DISubprogram(name: "SpinLock", scope: !565, file: !566, line: 59, type: !766, scopeLine: 59, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!766 = !DISubroutineType(types: !767)
!767 = !{null, !768}
!768 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !565, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!769 = !DISubprogram(name: "SpinLock", scope: !565, file: !566, line: 65, type: !770, scopeLine: 65, flags: DIFlagPublic | DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!770 = !DISubroutineType(types: !771)
!771 = !{null, !768, !772}
!772 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "SchedulingMode", scope: !8, file: !773, line: 49, baseType: !79, size: 32, elements: !774, identifier: "_ZTSN4absl13base_internal14SchedulingModeE")
!773 = !DIFile(filename: "internal/scheduling_mode.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "e70cae15ea2c13061e9e402c635cfb40")
!774 = !{!775, !776}
!775 = !DIEnumerator(name: "SCHEDULE_KERNEL_ONLY", value: 0, isUnsigned: true)
!776 = !DIEnumerator(name: "SCHEDULE_COOPERATIVE_AND_KERNEL", value: 1, isUnsigned: true)
!777 = !DISubprogram(name: "SpinLock", scope: !565, file: !566, line: 68, type: !778, scopeLine: 68, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!778 = !DISubroutineType(types: !779)
!779 = !{null, !768, !780, !772}
!780 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "ConstInitType", scope: !9, file: !781, line: 75, baseType: !79, size: 32, elements: !782, identifier: "_ZTSN4absl13ConstInitTypeE")
!781 = !DIFile(filename: "absl/b/const_init.h", directory: "/proc/self/cwd", checksumkind: CSK_MD5, checksum: "72a063c5f0747b5033d809ad67d19690")
!782 = !{!783}
!783 = !DIEnumerator(name: "kConstInit", value: 0, isUnsigned: true)
!784 = !DISubprogram(name: "~SpinLock", scope: !565, file: !566, line: 77, type: !766, scopeLine: 77, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!785 = !DISubprogram(name: "Lock", linkageName: "_ZN4absl13base_internal8SpinLock4LockEv", scope: !565, file: !566, line: 81, type: !766, scopeLine: 81, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!786 = !DISubprogram(name: "TryLock", linkageName: "_ZN4absl13base_internal8SpinLock7TryLockEv", scope: !565, file: !566, line: 93, type: !787, scopeLine: 93, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!787 = !DISubroutineType(types: !788)
!788 = !{!19, !768}
!789 = !DISubprogram(name: "Unlock", linkageName: "_ZN4absl13base_internal8SpinLock6UnlockEv", scope: !565, file: !566, line: 103, type: !766, scopeLine: 103, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!790 = !DISubprogram(name: "IsHeld", linkageName: "_ZNK4absl13base_internal8SpinLock6IsHeldEv", scope: !565, file: !566, line: 124, type: !791, scopeLine: 124, flags: DIFlagPublic | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!791 = !DISubroutineType(types: !792)
!792 = !{!19, !793}
!793 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !794, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!794 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !565)
!795 = !DISubprogram(name: "EncodeWaitCycles", linkageName: "_ZN4absl13base_internal8SpinLock16EncodeWaitCyclesEll", scope: !565, file: !566, line: 133, type: !796, scopeLine: 133, flags: DIFlagProtected | DIFlagPrototyped | DIFlagStaticMember, spFlags: DISPFlagOptimized)
!796 = !DISubroutineType(types: !797)
!797 = !{!369, !182, !182}
!798 = !DISubprogram(name: "DecodeWaitCycles", linkageName: "_ZN4absl13base_internal8SpinLock16DecodeWaitCyclesEj", scope: !565, file: !566, line: 137, type: !799, scopeLine: 137, flags: DIFlagProtected | DIFlagPrototyped | DIFlagStaticMember, spFlags: DISPFlagOptimized)
!799 = !DISubroutineType(types: !800)
!800 = !{!801, !369}
!801 = !DIDerivedType(tag: DW_TAG_typedef, name: "uint64_t", file: !179, line: 55, baseType: !802)
!802 = !DIBasicType(name: "long unsigned int", size: 64, encoding: DW_ATE_unsigned)
!803 = !DISubprogram(name: "IsCooperative", linkageName: "_ZN4absl13base_internal8SpinLock13IsCooperativeENS0_14SchedulingModeE", scope: !565, file: !566, line: 170, type: !804, scopeLine: 170, flags: DIFlagPrototyped | DIFlagStaticMember, spFlags: DISPFlagOptimized)
!804 = !DISubroutineType(types: !805)
!805 = !{!19, !772}
!806 = !DISubprogram(name: "TryLockInternal", linkageName: "_ZN4absl13base_internal8SpinLock15TryLockInternalEjj", scope: !565, file: !566, line: 175, type: !807, scopeLine: 175, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!807 = !DISubroutineType(types: !808)
!808 = !{!369, !768, !369, !369}
!809 = !DISubprogram(name: "SlowLock", linkageName: "_ZN4absl13base_internal8SpinLock8SlowLockEv", scope: !565, file: !566, line: 176, type: !766, scopeLine: 176, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!810 = !DISubprogram(name: "SlowUnlock", linkageName: "_ZN4absl13base_internal8SpinLock10SlowUnlockEj", scope: !565, file: !566, line: 177, type: !811, scopeLine: 177, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!811 = !DISubroutineType(types: !812)
!812 = !{null, !768, !369}
!813 = !DISubprogram(name: "SpinLoop", linkageName: "_ZN4absl13base_internal8SpinLock8SpinLoopEv", scope: !565, file: !566, line: 178, type: !814, scopeLine: 178, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!814 = !DISubroutineType(types: !815)
!815 = !{!369, !768}
!816 = !DISubprogram(name: "TryLockImpl", linkageName: "_ZN4absl13base_internal8SpinLock11TryLockImplEv", scope: !565, file: !566, line: 180, type: !787, scopeLine: 180, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!817 = !DISubprogram(name: "SpinLock", scope: !565, file: !566, line: 187, type: !818, scopeLine: 187, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!818 = !DISubroutineType(types: !819)
!819 = !{null, !768, !820}
!820 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !794, size: 64)
!821 = !DISubprogram(name: "operator=", linkageName: "_ZN4absl13base_internal8SpinLockaSERKS1_", scope: !565, file: !566, line: 188, type: !822, scopeLine: 188, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!822 = !DISubroutineType(types: !823)
!823 = !{!824, !768, !820}
!824 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !565, size: 64)
!825 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !194, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!826 = !DISubprogram(name: "get_bound_schedulable", linkageName: "_ZNK4absl13base_internal14ThreadIdentity14SchedulerState21get_bound_schedulableEv", scope: !194, file: !6, line: 179, type: !827, scopeLine: 179, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!827 = !DISubroutineType(types: !828)
!828 = !{!210, !829}
!829 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !830, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!830 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !194)
!831 = !DIDerivedType(tag: DW_TAG_member, name: "padding", scope: !190, file: !6, line: 186, baseType: !832, size: 256, offset: 768)
!832 = !DICompositeType(tag: DW_TAG_array_type, baseType: !833, size: 256, elements: !834)
!833 = !DIBasicType(name: "char", size: 8, encoding: DW_ATE_unsigned_char)
!834 = !{!835}
!835 = !DISubrange(count: 32)
!836 = !DIDerivedType(tag: DW_TAG_member, name: "waiter_state", scope: !190, file: !6, line: 192, baseType: !837, size: 1024, offset: 1024)
!837 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "WaiterState", scope: !190, file: !6, line: 190, size: 1024, flags: DIFlagTypePassByValue, elements: !838, identifier: "_ZTSN4absl13base_internal14ThreadIdentity11WaiterStateE")
!838 = !{!839}
!839 = !DIDerivedType(tag: DW_TAG_member, name: "data", scope: !837, file: !6, line: 191, baseType: !840, size: 1024)
!840 = !DICompositeType(tag: DW_TAG_array_type, baseType: !833, size: 1024, elements: !841)
!841 = !{!842}
!842 = !DISubrange(count: 128)
!843 = !DIDerivedType(tag: DW_TAG_member, name: "blocked_count_ptr", scope: !190, file: !6, line: 195, baseType: !844, size: 64, offset: 2048)
!844 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !371, size: 64)
!845 = !DIDerivedType(tag: DW_TAG_member, name: "ticker", scope: !190, file: !6, line: 200, baseType: !371, size: 32, offset: 2112)
!846 = !DIDerivedType(tag: DW_TAG_member, name: "wait_start", scope: !190, file: !6, line: 201, baseType: !371, size: 32, offset: 2144)
!847 = !DIDerivedType(tag: DW_TAG_member, name: "is_idle", scope: !190, file: !6, line: 202, baseType: !848, size: 8, offset: 2176)
!848 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "atomic<bool>", scope: !28, file: !27, line: 1806, size: 8, flags: DIFlagTypePassByReference, elements: !849, templateParams: !868, identifier: "_ZTSNSt3__16atomicIbEE")
!849 = !{!850, !953, !957, !960, !965, !968, !974}
!850 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !848, baseType: !851, extraData: i32 0)
!851 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__atomic_base<bool, false>", scope: !28, file: !27, line: 1612, size: 8, flags: DIFlagTypePassByReference, elements: !852, templateParams: !952, identifier: "_ZTSNSt3__113__atomic_baseIbLb0EEE")
!852 = !{!853, !879, !880, !886, !891, !895, !899, !902, !905, !906, !907, !910, !913, !917, !920, !921, !922, !925, !928, !929, !930, !933, !936, !939, !942, !943, !944, !945, !948}
!853 = !DIDerivedType(tag: DW_TAG_member, name: "__a_", scope: !851, file: !27, line: 1614, baseType: !854, size: 8)
!854 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_impl<bool, std::__cxx_atomic_base_impl<bool> >", scope: !28, file: !27, line: 1514, size: 8, flags: DIFlagTypePassByValue, elements: !855, templateParams: !877, identifier: "_ZTSNSt3__117__cxx_atomic_implIbNS_22__cxx_atomic_base_implIbEEEE")
!855 = !{!856, !870, !874}
!856 = !DIDerivedType(tag: DW_TAG_inheritance, scope: !854, baseType: !857, extraData: i32 0)
!857 = distinct !DICompositeType(tag: DW_TAG_structure_type, name: "__cxx_atomic_base_impl<bool>", scope: !28, file: !27, line: 958, size: 8, flags: DIFlagTypePassByValue, elements: !858, templateParams: !868, identifier: "_ZTSNSt3__122__cxx_atomic_base_implIbEE")
!858 = !{!859, !861, !865}
!859 = !DIDerivedType(tag: DW_TAG_member, name: "__a_value", scope: !857, file: !27, line: 968, baseType: !860, size: 8)
!860 = !DIDerivedType(tag: DW_TAG_atomic_type, baseType: !19)
!861 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !857, file: !27, line: 962, type: !862, scopeLine: 962, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!862 = !DISubroutineType(types: !863)
!863 = !{null, !864}
!864 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !857, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!865 = !DISubprogram(name: "__cxx_atomic_base_impl", scope: !857, file: !27, line: 966, type: !866, scopeLine: 966, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!866 = !DISubroutineType(types: !867)
!867 = !{null, !864, !19}
!868 = !{!869}
!869 = !DITemplateTypeParameter(name: "_Tp", type: !19)
!870 = !DISubprogram(name: "__cxx_atomic_impl", scope: !854, file: !27, line: 1521, type: !871, scopeLine: 1521, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!871 = !DISubroutineType(types: !872)
!872 = !{null, !873}
!873 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !854, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!874 = !DISubprogram(name: "__cxx_atomic_impl", scope: !854, file: !27, line: 1522, type: !875, scopeLine: 1522, flags: DIFlagExplicit | DIFlagPrototyped, spFlags: DISPFlagOptimized)
!875 = !DISubroutineType(types: !876)
!876 = !{null, !873, !19}
!877 = !{!869, !878}
!878 = !DITemplateTypeParameter(name: "_Base", type: !857)
!879 = !DIDerivedType(tag: DW_TAG_member, name: "is_always_lock_free", scope: !851, file: !27, line: 1617, baseType: !61, flags: DIFlagStaticMember)
!880 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNVKSt3__113__atomic_baseIbLb0EE12is_lock_freeEv", scope: !851, file: !27, line: 1621, type: !881, scopeLine: 1621, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!881 = !DISubroutineType(types: !882)
!882 = !{!19, !883}
!883 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !884, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!884 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !885)
!885 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !851)
!886 = !DISubprogram(name: "is_lock_free", linkageName: "_ZNKSt3__113__atomic_baseIbLb0EE12is_lock_freeEv", scope: !851, file: !27, line: 1624, type: !887, scopeLine: 1624, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!887 = !DISubroutineType(types: !888)
!888 = !{!19, !889}
!889 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !890, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!890 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !851)
!891 = !DISubprogram(name: "store", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE5storeEbNS_12memory_orderE", scope: !851, file: !27, line: 1627, type: !892, scopeLine: 1627, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!892 = !DISubroutineType(types: !893)
!893 = !{null, !894, !19, !77}
!894 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !885, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!895 = !DISubprogram(name: "store", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE5storeEbNS_12memory_orderE", scope: !851, file: !27, line: 1631, type: !896, scopeLine: 1631, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!896 = !DISubroutineType(types: !897)
!897 = !{null, !898, !19, !77}
!898 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !851, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!899 = !DISubprogram(name: "load", linkageName: "_ZNVKSt3__113__atomic_baseIbLb0EE4loadENS_12memory_orderE", scope: !851, file: !27, line: 1635, type: !900, scopeLine: 1635, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!900 = !DISubroutineType(types: !901)
!901 = !{!19, !883, !77}
!902 = !DISubprogram(name: "load", linkageName: "_ZNKSt3__113__atomic_baseIbLb0EE4loadENS_12memory_orderE", scope: !851, file: !27, line: 1639, type: !903, scopeLine: 1639, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!903 = !DISubroutineType(types: !904)
!904 = !{!19, !889, !77}
!905 = !DISubprogram(name: "operator bool", linkageName: "_ZNVKSt3__113__atomic_baseIbLb0EEcvbEv", scope: !851, file: !27, line: 1643, type: !881, scopeLine: 1643, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!906 = !DISubprogram(name: "operator bool", linkageName: "_ZNKSt3__113__atomic_baseIbLb0EEcvbEv", scope: !851, file: !27, line: 1645, type: !887, scopeLine: 1645, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!907 = !DISubprogram(name: "exchange", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE8exchangeEbNS_12memory_orderE", scope: !851, file: !27, line: 1647, type: !908, scopeLine: 1647, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!908 = !DISubroutineType(types: !909)
!909 = !{!19, !894, !19, !77}
!910 = !DISubprogram(name: "exchange", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE8exchangeEbNS_12memory_orderE", scope: !851, file: !27, line: 1650, type: !911, scopeLine: 1650, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!911 = !DISubroutineType(types: !912)
!912 = !{!19, !898, !19, !77}
!913 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE21compare_exchange_weakERbbNS_12memory_orderES3_", scope: !851, file: !27, line: 1653, type: !914, scopeLine: 1653, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!914 = !DISubroutineType(types: !915)
!915 = !{!19, !894, !916, !19, !77, !77}
!916 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !19, size: 64)
!917 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE21compare_exchange_weakERbbNS_12memory_orderES3_", scope: !851, file: !27, line: 1658, type: !918, scopeLine: 1658, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!918 = !DISubroutineType(types: !919)
!919 = !{!19, !898, !916, !19, !77, !77}
!920 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE23compare_exchange_strongERbbNS_12memory_orderES3_", scope: !851, file: !27, line: 1663, type: !914, scopeLine: 1663, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!921 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE23compare_exchange_strongERbbNS_12memory_orderES3_", scope: !851, file: !27, line: 1668, type: !918, scopeLine: 1668, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!922 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE21compare_exchange_weakERbbNS_12memory_orderE", scope: !851, file: !27, line: 1673, type: !923, scopeLine: 1673, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!923 = !DISubroutineType(types: !924)
!924 = !{!19, !894, !916, !19, !77}
!925 = !DISubprogram(name: "compare_exchange_weak", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE21compare_exchange_weakERbbNS_12memory_orderE", scope: !851, file: !27, line: 1677, type: !926, scopeLine: 1677, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!926 = !DISubroutineType(types: !927)
!927 = !{!19, !898, !916, !19, !77}
!928 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE23compare_exchange_strongERbbNS_12memory_orderE", scope: !851, file: !27, line: 1681, type: !923, scopeLine: 1681, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!929 = !DISubprogram(name: "compare_exchange_strong", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE23compare_exchange_strongERbbNS_12memory_orderE", scope: !851, file: !27, line: 1685, type: !926, scopeLine: 1685, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!930 = !DISubprogram(name: "wait", linkageName: "_ZNVKSt3__113__atomic_baseIbLb0EE4waitEbNS_12memory_orderE", scope: !851, file: !27, line: 1689, type: !931, scopeLine: 1689, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!931 = !DISubroutineType(types: !932)
!932 = !{null, !883, !19, !77}
!933 = !DISubprogram(name: "wait", linkageName: "_ZNKSt3__113__atomic_baseIbLb0EE4waitEbNS_12memory_orderE", scope: !851, file: !27, line: 1691, type: !934, scopeLine: 1691, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!934 = !DISubroutineType(types: !935)
!935 = !{null, !889, !19, !77}
!936 = !DISubprogram(name: "notify_one", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE10notify_oneEv", scope: !851, file: !27, line: 1693, type: !937, scopeLine: 1693, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!937 = !DISubroutineType(types: !938)
!938 = !{null, !894}
!939 = !DISubprogram(name: "notify_one", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE10notify_oneEv", scope: !851, file: !27, line: 1695, type: !940, scopeLine: 1695, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!940 = !DISubroutineType(types: !941)
!941 = !{null, !898}
!942 = !DISubprogram(name: "notify_all", linkageName: "_ZNVSt3__113__atomic_baseIbLb0EE10notify_allEv", scope: !851, file: !27, line: 1697, type: !937, scopeLine: 1697, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!943 = !DISubprogram(name: "notify_all", linkageName: "_ZNSt3__113__atomic_baseIbLb0EE10notify_allEv", scope: !851, file: !27, line: 1699, type: !940, scopeLine: 1699, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!944 = !DISubprogram(name: "__atomic_base", scope: !851, file: !27, line: 1703, type: !940, scopeLine: 1703, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!945 = !DISubprogram(name: "__atomic_base", scope: !851, file: !27, line: 1706, type: !946, scopeLine: 1706, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!946 = !DISubroutineType(types: !947)
!947 = !{null, !898, !19}
!948 = !DISubprogram(name: "__atomic_base", scope: !851, file: !27, line: 1709, type: !949, scopeLine: 1709, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!949 = !DISubroutineType(types: !950)
!950 = !{null, !898, !951}
!951 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !890, size: 64)
!952 = !{!869, !149}
!953 = !DISubprogram(name: "atomic", scope: !848, file: !27, line: 1813, type: !954, scopeLine: 1813, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!954 = !DISubroutineType(types: !955)
!955 = !{null, !956}
!956 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !848, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!957 = !DISubprogram(name: "atomic", scope: !848, file: !27, line: 1815, type: !958, scopeLine: 1815, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!958 = !DISubroutineType(types: !959)
!959 = !{null, !956, !19}
!960 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIbEaSEb", scope: !848, file: !27, line: 1818, type: !961, scopeLine: 1818, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!961 = !DISubroutineType(types: !962)
!962 = !{!19, !963, !19}
!963 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !964, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!964 = !DIDerivedType(tag: DW_TAG_volatile_type, baseType: !848)
!965 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIbEaSEb", scope: !848, file: !27, line: 1821, type: !966, scopeLine: 1821, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized)
!966 = !DISubroutineType(types: !967)
!967 = !{!19, !956, !19}
!968 = !DISubprogram(name: "operator=", linkageName: "_ZNSt3__16atomicIbEaSERKS1_", scope: !848, file: !27, line: 1824, type: !969, scopeLine: 1824, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!969 = !DISubroutineType(types: !970)
!970 = !{!971, !956, !972}
!971 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !848, size: 64)
!972 = !DIDerivedType(tag: DW_TAG_reference_type, baseType: !973, size: 64)
!973 = !DIDerivedType(tag: DW_TAG_const_type, baseType: !848)
!974 = !DISubprogram(name: "operator=", linkageName: "_ZNVSt3__16atomicIbEaSERKS1_", scope: !848, file: !27, line: 1825, type: !975, scopeLine: 1825, flags: DIFlagPrototyped, spFlags: DISPFlagOptimized | DISPFlagDeleted)
!975 = !DISubroutineType(types: !976)
!976 = !{!971, !963, !972}
!977 = !DIDerivedType(tag: DW_TAG_member, name: "next", scope: !190, file: !6, line: 204, baseType: !189, size: 64, offset: 2240)
!978 = !DIDerivedType(tag: DW_TAG_pointer_type, baseType: !7, size: 64, flags: DIFlagArtificial | DIFlagObjectPointer)
!979 = !{!980, !981}
!980 = !DIEnumerator(name: "kAvailable", value: 0, isUnsigned: true)
!981 = !DIEnumerator(name: "kQueued", value: 1, isUnsigned: true)
!982 = distinct !DICompositeType(tag: DW_TAG_enumeration_type, name: "__legacy_memory_order", scope: !28, file: !27, line: 630, baseType: !79, size: 32, elements: !983, identifier: "_ZTSNSt3__121__legacy_memory_orderE")
!983 = !{!984, !985, !986, !987, !988, !989}
!984 = !DIEnumerator(name: "__mo_relaxed", value: 0, isUnsigned: true)
!985 = !DIEnumerator(name: "__mo_consume", value: 1, isUnsigned: true)
!986 = !DIEnumerator(name: "__mo_acquire", value: 2, isUnsigned: true)
!987 = !DIEnumerator(name: "__mo_release", value: 3, isUnsigned: true)
!988 = !DIEnumerator(name: "__mo_acq_rel", value: 4, isUnsigned: true)
!989 = !DIEnumerator(name: "__mo_seq_cst", value: 5, isUnsigned: true)
!990 = !DICompositeType(tag: DW_TAG_enumeration_type, scope: !8, file: